{"version":3,"file":"shared-lib.CaDAmV52.mjs","names":["l$2","n","e","a","l","c","s","i","r","o","v","b","w$1","$","m","S","h","x$1","d","y$1","A","T","E","g","f","x","R","N","B","V","z","U","K","O","j","H","ee","te","ue","F","G","se","_","de","fe","pe","Q$1","ye","me","ve","R$1","T$1","U$1","V$1","ae","re","ne","Y$1","I","le","Z$1","k","p","t","u","w","y","C","Ze","Xe","D","Qe","Ye","Ke","et","tt","at","J","ot","rt","L","M","lt","dt","ct","ut","ft","vt","Et","Ft","Rt","Pt","Mt","Bt","Vt","jt","Wt","Ht","_t","zt","qt","Ut","P","Q","W","X","Y","pt","ht","Z","gt","bt","kt","$t","Ct","mt","Qt","Xt","Zt","e.default","q","containerStyles","emptyStateStyle","Icon","useMemo","lowercaseIconKeyPairs","iconKeys","defaultEvents","a","Icon","useRef","useState","HouseFactory","React","defaultEvents","addPropertyOverrides","Phosphor","cycleOrder","serializationHash","variantClassNames","transition1","Transition","React.useContext","React.useMemo","humanReadableVariantMap","Variants","React.Fragment","getProps","createLayoutDependency","useRef","React.useId","className","SVG","Image1","RichText","S","t","o","c","n","e","b","r","l","i","a","u","s","d","a","u","n","o","t","e","r","c","s","l","p","t","e","i","c","f","b","s","n","r","o","create","t","id","s","shallow","s","useCallback","useState","isFramerEditorHost","rt","_cachedMockDecision","useContext","useState","useEffect","useLayoutEffect","isEditableTarget","getActiveRegistration","registrations","i","e","listenerInstalled","useRef","nextRegistrationId","e","useRef","p","v","i","m","id","c","_","priceData","subscribers","getServerSnapshot","useSyncExternalStore","useMemo","useCallback","useMemo","useRef","useCallback","v","m","useContext","e","s","n","a","b","i","className","useMemo","useState","e","s","e","r","useRef","useState","useMemo","useCallback","i","p","t","Fragment","_Fragment","e","o","t","n","r","e","o","c","u","t","n","e","r","i","o","s","a","l","c","u","d","p","t","t","e","i","n","s","a","E","e","n","o","t","r","r","u","e","a","n","e","t","n","i","s","r","c","a","l","o","u","f","h","n","a","e","i","s","c","v","r","d","u","p","g","y","h","j","A","t","l","m","b","o","k","f","e","i","a","n","o","t","r","l","s","n","t","e","i","r","a","c","o","isDigit","f","d","u","l","p","I","i","e","n","t","d","m","a","r","f","h","w","b","v","y","I","s","o","c","p","N","l","u","E","L","r","a","e","i","o","p","s","t","n","l","d","w","c","h","O","u","L","f","v","A","b","R","j","y","D","m","F","N","I","T","g","E","U","C","S","B","s","c","e","t","a","n","r","p","o","f","l","y","u","t","o","r","e","n","a","s","i","o","a","e","f","n","i","l","r","t","u","s","r","m","t","e","n","o","s","l","c","u","i","p","f","a","d","w","y","s","e","t","o","i","n","c","l","r","t","s","r","i","o","a","n","e","g","w","i","e","t","o","s","e","s","t","n","u","o","i","r","a","c","p","h","d","n","i","getFieldDef","o","t","V","e","n","C","$","p","v","y","s","i","r","L","f","I","F","_","S","j","Y","a","X","c","l","u","J","G","H","x","M","d","m","T","E","h","g","N","O","b","Q","R","D","A","U","k","W","q","B","w","K","P","z","Z","F","a","_","e","te","ne","le","e","o","F","t","n","s","Headers","r","i","a","fetch","f","u","d","h","e","t","i","u","h","r","s","l","d","n","o","p","y","r.Headers","a","c","g","useMemo","useCallback","v","useRef","u","n","r","t","e","i","t","e","n","i","s","r","o","c","a","v","E","d","f","T","h","u","Ot","M","wt","Tt","C","k","_","p","S","g","tt","et","nt","ot","st","D","ct","l","q","j","y","at","G","St","Dt","At","B","Y","I","z","x","xt","Z","yt","It","it","Nt","Lt","Jt","Kt","Yt","ae","Gt","ue","fe","e","m","n","__0$","t","r","u","w","o","b","g","q","D","O","V","I","c","a","L","N","ne","e","$","u","se","l","p","b","C","f","R","A","ye","te","j","F","re","ie","De","Te","W","Oe","v","Ce","xe","t","ae","$e","q","O","I","P","k","H","o","z","m","J","we","Ve","je","L","U","r","oe","a","i","n","s","x","ce","_e","h","Ge","d","g","N","c","w","pe","K","ue","Ne","V","D","qe","M","B","T","be","Q","ke","le","fe","Ae","Ie","y","Se","Re","Ee","E","ge","He","S","G","he","Y","_","Le","de","ze","X","Je","Be","Fe","We","Pe","Ue","Me","useSWR","id","shouldUsePreviewStorefrontMock","useMemo","v","shouldUsePreviewStorefrontMock","buildOptimisticCartLine","useMemo","useCallback","l","existing","useCallback","i","c","e","k","v","React","v","s","t","c","m","w","fb","e","buttons","i","useMemo","k","useState","useRef","useCallback","o","mode","ct","_Fragment","n","VariantButton","direction","VariantDropdown","useId","ColorSwatch","ImageSwatch","fonts","css","className","mask","Base","MotionSVG","SVG","svg","getProps","Icon","className","mask","Base","MotionSVG","SVG","svg","getProps","Icon","className","addPropertyOverrides","cycleOrder","serializationHash","variantClassNames","transition1","transformTemplate1","t","Transition","React.useContext","React.useMemo","humanReadableVariantMap","Variants","React.Fragment","getProps","createLayoutDependency","useRef","React.useId","className","RichText","Minus","Plus","SVG","getProps","Icon","className","addPropertyOverrides","X","enabledGestures","serializationHash","variantClassNames","transition1","transformTemplate1","t","Transition","React.useContext","React.useMemo","Variants","React.Fragment","getProps","createLayoutDependency","useRef","React.useId","className","useMemo","useRef","useCallback","a","b","c","m","g","useRef","useMemo","c","useCallback","useCallback","useCallback","getServerSnapshot","useSyncExternalStore","useMemo","useCallback","v","s","p","m","o","fb","c","i","instance","useRef","useState","useMemo","useCallback","s","shouldUsePreviewStorefrontMock","n","e","v","x","useMemo","useState","useId","useRef","id","t","s","v","useCallback","l","activeMarket","e","_Fragment","animation","n","i","id","controls","useRef","React.useCallback","useMemo","v","addPropertyOverrides","cycleOrder","serializationHash","variantClassNames","transition1","Transition","React.useContext","React.useMemo","humanReadableVariantMap","Variants","React.Fragment","getProps","createLayoutDependency","useRef","React.useId","sharedStyle.className","className","RichText","sharedStyle.css","sharedStyle.fonts","PurchaseButton","serializationHash","variantClassNames","transition1","matchVariant","Transition","React.useContext","React.useMemo","Variants","React.Fragment","useStateVariable","React.useState","getProps","createLayoutDependency","useRef","React.useId","className","Close","Butter_ShoppableVideoTapFonts","FCPurchaseButton","ItemModalAccordionItem","serializationHash","variantClassNames","transition1","matchVariant","Transition","React.useContext","React.useMemo","Variants","React.Fragment","React.useState","getProps","createLayoutDependency","useRef","React.useId","sharedStyle.className","className","RichText","sharedStyle.css","sharedStyle.fonts","f","t","a","b","i","j","x","useRef","s","useState","React","useCallback","v","e","y","_Fragment","metadata","siteMetadata","__FramerMetadata__","Cursor","ItemModal","serializationHash","variantClassNames","animation","animation1","getProps","useRef","React.useId","React.useMemo","metadataProvider","sharedStyle.className","React.useContext","className","_Fragment","RichText","React.Fragment","sharedStyle.css","sharedStyle.fonts","__FramerMetadata__","__FramerMetadata__","__FramerMetadata__","useSyncExternalStore","Component","_Fragment","maskImage","maskMode","maskRepeat","maskPosition","maskSize","SVG","getProps","Icon","className","getProps","className","Framer","Text","t","React.useContext","React.useMemo","React.Fragment","useRef","React.useId","className"],"sources":["https:/ga.jspm.io/npm:react-dom@18.2.0/server.browser.js","https:/framerusercontent.com/modules/DyldKav0OOAWR3bCAlhK/8c3l9FzyOlGpbPncYhfc/nullstate.js","https:/framer.com/m/framer/icon-nullstate.js@0.7.0","https:/framerusercontent.com/modules/Qc8yuHkQmGO0kFiSWbkX/rVmMAFttOHuuiwSg6KjZ/House.js","https:/framer.com/m/phosphor-icons/House.js@0.0.57","https:/framerusercontent.com/modules/Ma20hU0GGRxLxZphbywl/OSpwWF91FHPVFyQJjMHt/utils.js","https:/framerusercontent.com/modules/tYScH7LTqUtz5KUaUAYP/p8dptk4UIND8hbFWz9V7/Phosphor.js","https:/framerusercontent.com/modules/xV8GcwrY0uBl6Xn7Qpwr/91CnRGxjQMeefN9Cjbjc/dLzfFO0pa.js","https:/esm.sh/zustand@5.0.8/X-ZXJlYWN0/es2022/vanilla.mjs","https:/esm.sh/zustand@5.0.8/X-ZXJlYWN0/es2022/react.mjs","https:/esm.sh/zustand@5.0.8/X-ZXJlYWN0/es2022/zustand.mjs","https:/esm.sh/zustand@5.0.8?external=react","https:/esm.sh/zustand@5.0.8/X-ZXJlYWN0/es2022/vanilla/shallow.mjs","https:/esm.sh/zustand@5.0.8/X-ZXJlYWN0/es2022/react/shallow.mjs","https:/esm.sh/zustand@5.0.8/X-ZXJlYWN0/es2022/shallow.mjs","https:/esm.sh/zustand@5.0.8/shallow?external=react","https:/framerusercontent.com/modules/t8dxLyFCxQ0drD5zahgE/q1UnvTfMSsnMEJEDyeGA/marketStorage.js","https:/framerusercontent.com/modules/xYDZCCqEBzGd7zfHzUX5/cLuhs5H2O0tFIwBfaQKt/useLocalState.js","https:/framerusercontent.com/modules/kgLjYSffJmCJgAIPKmrP/qVc3gazAmhvymgUrriOF/Butter_ShoppableVideoTap.js","https:/framerusercontent.com/modules/FmcSlgUtRS55W3otl8f9/DktpLeyyDbjosM33g22i/IsBrowser.js","https:/framerusercontent.com/modules/l1TDihqFjeGOPDLsIBcI/yfAc381iHmmc9JAbWNUV/galleryScopeContext.js","https:/framerusercontent.com/modules/j2qEcII88drs2KeGfHi8/hvfuVJDUWJHAYuOenasd/galleryKeyboardNav.js","https:/framerusercontent.com/modules/MfRQphgphv6bO4d4QBJd/ZllghG03yvXVL17aH7ku/mediaVideoKeyboard.js","https:/framerusercontent.com/modules/mVbaWBbLWV8KgrAjqZgm/z1h10vx7UfFAMex4ETyU/log.js","https:/framerusercontent.com/modules/tsTYZLkfU0gaKAKn6B4i/SwJHeUDPJkJI1pVE764t/fcDataMediaFormat.js","https:/framerusercontent.com/modules/u4cSQPeOxFZJ30D78T0u/OH103m2xIQZsbXU9KlH0/fcDataParser.js","https:/framerusercontent.com/modules/OHIwt1qG9Zpsss9ixdnD/RiFMcHk7ibJbauW4SIl0/bixgrowAffiliateUrl.js","https:/framerusercontent.com/modules/yXt2ErvWdbc9E71wHprv/Y5C4Kq4hInoaUvtml0x5/useUrlState.js","https:/framerusercontent.com/modules/eLwRT2vfwMYWF72CGlDl/j5W86LKlNG8al8V55AN2/useProductImages.js","https:/framerusercontent.com/modules/7Tw82MXZ6dqcsMjL6yRE/gpQ9gIFynZl5n9h9bpMJ/useCartLineContext.js","https:/framerusercontent.com/modules/8ERbaYyWZ6OgzrTgjfSL/J1hBgCGaDRO9x7CY6SK5/fcDataMediaManifest.js","https:/framerusercontent.com/modules/48OJjxBqfzuC2IPAybFX/in7dvD1rli4hr245fBE0/shopifyImageUrl.js","https:/framerusercontent.com/modules/DOytKkFNPVSqGH0Rwh1B/64ZNa2NmFC0TbEkMOnaV/mediaBackgroundClick.js","https:/framerusercontent.com/modules/IaCtXF1ZesaQ7iv3U5Gr/wGiuiv1uBHqHDwdnLuWS/useFocusRing.js","https:/framerusercontent.com/modules/c99QkZUnhCwVRT53XqBV/fNwPNoYi2AjpctF2UmDd/useReducedMotion.js","https:/framerusercontent.com/modules/zwJngOdM9Nix1jLULzyB/1b5nN9Y0VJPzvD89LLH8/Butter_ProductMediaVariantActive.js","https:/ga.jspm.io/npm:graphql@16.7.1/_/7892746f.js","https:/ga.jspm.io/npm:graphql@16.7.1/jsutils/inspect.mjs","https:/ga.jspm.io/npm:graphql@16.7.1/_/7dea71b4.js","https:/ga.jspm.io/npm:graphql@16.7.1/_/cdbc8e30.js","https:/ga.jspm.io/npm:graphql@16.7.1/_/be682a22.js","https:/ga.jspm.io/npm:graphql@16.7.1/language/kinds.mjs","https:/ga.jspm.io/npm:graphql@16.7.1/_/c83a270e.js","https:/ga.jspm.io/npm:graphql@16.7.1/_/e1a6e691.js","https:/ga.jspm.io/npm:graphql@16.7.1/_/8890d1df.js","https:/ga.jspm.io/npm:graphql@16.7.1/language/visitor.mjs","https:/ga.jspm.io/npm:graphql@16.7.1/language/printer.mjs","https:/ga.jspm.io/npm:graphql@16.7.1/_/1c63e742.js","https:/ga.jspm.io/npm:graphql@16.7.1/_/c8837240.js","https:/ga.jspm.io/npm:graphql@16.7.1/_/c857c0af.js","https:/ga.jspm.io/npm:graphql@16.7.1/_/ebd60186.js","https:/ga.jspm.io/npm:graphql@16.7.1/_/6a2aa4f2.js","https:/ga.jspm.io/npm:graphql@16.7.1/_/5664b464.js","https:/ga.jspm.io/npm:graphql@16.7.1/_/7a8ad326.js","https:/ga.jspm.io/npm:graphql@16.7.1/_/8bd869b7.js","https:/ga.jspm.io/npm:graphql@16.7.1/execution/collectFields.mjs","https:/ga.jspm.io/npm:graphql@16.7.1/_/09c5bd0b.js","https:/ga.jspm.io/npm:graphql@16.7.1/language/source.mjs","https:/ga.jspm.io/npm:graphql@16.7.1/_/da4c7d10.js","https:/ga.jspm.io/npm:graphql@16.7.1/_/5c7fa0d9.js","https:/ga.jspm.io/npm:graphql@16.7.1/_/473b4d8a.js","https:/ga.jspm.io/npm:graphql@16.7.1/language/index.mjs","https:/ga.jspm.io/npm:graphql@16.7.1/_/671612cd.js","https:/ga.jspm.io/npm:graphql@16.7.1/utilities/buildClientSchema.mjs","https:/ga.jspm.io/npm:graphql@16.7.1/_/772e88a0.js","https:/ga.jspm.io/npm:graphql@16.7.1/utilities/printSchema.mjs","https:/ga.jspm.io/npm:graphql@16.7.1/utilities/index.mjs","https:/ga.jspm.io/npm:graphql@16.7.1/index.mjs","https:/ga.jspm.io/npm:cross-fetch@3.1.8/dist/browser-ponyfill.js","https:/ga.jspm.io/npm:graphql-request@6.1.0/build/esm/index.js","https:/framerusercontent.com/modules/bZHyHZNwdgWilbU7lpRL/khGjDdfv6Q4ct3tXNVGJ/shopify.js","https:/framerusercontent.com/modules/vVBwckC7u10j9jUmDxXI/Fqima0ybfCi6bdQLdRWG/CartService.js","https:/framerusercontent.com/modules/GZDQTGICwWUzAHOMYgBg/FcYAezwAfnY61t3NIJKA/cartOptimistic.js","https:/framerusercontent.com/modules/G9C9Smzal651QjViNdCG/Zkampd7WodsNZoAb94Ql/EmptyState.js","https:/framerusercontent.com/modules/oNgVmb8M8wf4m3aot3fR/zccqZ60HmBrvTm79Qx2L/useSelectedVariant.js","https:/esm.sh/dequal@2.0.3/es2022/lite.mjs","https:/esm.sh/dequal@^2.0.3/lite?target=es2022","https:/esm.sh/swr@2.3.7/X-ZXJlYWN0/es2022/dist/_internal/constants.mjs","https:/esm.sh/swr@2.3.7/X-ZXJlYWN0/es2022/_internal.mjs","https:/esm.sh/use-sync-external-store@1.6.0/X-ZXJlYWN0/es2022/shim/index.mjs","https:/esm.sh/use-sync-external-store@^1.4.0/shim/index?external=react&target=es2022","https:/esm.sh/swr@2.3.7/X-ZXJlYWN0/es2022/swr.mjs","https:/esm.sh/swr@2.3.7?external=react","https:/framerusercontent.com/modules/jCTYWVpNjMolQ4AznaGa/w8w3xU6zh6YwIaNsN0sm/useRemoteState.js","https:/framerusercontent.com/modules/4mS98dhppVkB72s7aW4Q/Kdm2PWssF0QNmZ3uUYUN/ProductsService.js","https:/framerusercontent.com/modules/GmuMNZuvTFaDnzFFN9sI/Vcac48UxP24yz1GRfGGr/IsBrowser.js","https:/framerusercontent.com/modules/uuL7sMMqlBVftWrI2cOb/gigdxQVfikfeYGgV9wiM/useDynamicData.js","https:/framerusercontent.com/modules/yQT0QcL1a38xf2xvyfye/v0wDi08aR9blqt8R57vx/useCart.js","https:/framerusercontent.com/modules/t7N6rlZCblxDaOdlHre2/teb3wI1OUsxqf6XAwdAF/useCartModal.js","https:/framerusercontent.com/modules/jF9fkcHYJkUsIOV0Ar1E/PFLCXtuND1o8evAGfKxE/locales.js","https:/framerusercontent.com/modules/oiGsOJmAveg7cKvbFZt7/U6z4RVaD1rQukDPTR7e2/utmParams.js","https:/framerusercontent.com/modules/v7VmD5MWrkfBivA5RO5R/0UxkpiMoLoGSEEOfODCg/Fb_pixel.js","https:/framerusercontent.com/modules/jKpyquHXGdtIjNY6JlpC/cQkDEESdyNy4kXfK7ymQ/priceSource.js","https:/framerusercontent.com/modules/WlEThP6hqxPRuGJlw1Os/SeBeGgXRBNvA2rsey4jL/elementCloning.js","https:/framerusercontent.com/modules/aX6QtS01fqAPlvWJyU2T/rTc4HLli07wqJGioRBQ4/itemId.js","https:/framerusercontent.com/modules/tXeZTnY9XDOBJ7M6Ww91/3i3LV0nwzgBOWvNyGlj5/useVariantContext.js","https:/framerusercontent.com/modules/t0MHx76YQepJtn0J9PUH/SDjmxgbHiUiDZOo5tFia/layoutControlGroup.js","https:/framerusercontent.com/modules/yyv2Lz1sagbCMJb7N2xY/8zFOaAHLZ1vrsFUTsbjG/Butter_ProductVariantSelector.js","https:/framerusercontent.com/modules/zbtLyemUX3dkjbfFdh9Z/lPjvFIjgFqlj83wa7vg9/VPSAKxccK.js","https:/framerusercontent.com/modules/sPPEJJGDR4eUvdon1Bel/f3XESni8XlI3ypQ6Exdb/HbzxRJMyi.js","https:/framerusercontent.com/modules/XWlg8k1reSGaD8FxxtNM/bBmqMkWmu9cdiWRo7WqL/KgtuTnV_8.js","https:/framerusercontent.com/modules/qoT1qP0Uu3F5OEwypVmI/Sq1EJDhfkyXQQct3a5ID/J6X_yT9v_.js","https:/framerusercontent.com/modules/wbL0GysLpUpZOLelXsKU/7IhRlKXIvqCTv7OUjGRe/q95pf4lLL.js","https:/framerusercontent.com/modules/7SIzcytkvWhvCeo5LVmQ/2mwuw77eFqZ499LvPzE2/QsKhzMg4b.js","https:/framerusercontent.com/modules/mGo1MvlgIgDKPWtRqY9E/S3qhcTdL3nZcBbw2xTwB/useQuantity.js","https:/framerusercontent.com/modules/hIQ2b6PVgoJAyiF51ie5/pHFb6XqR0ab7X3QUDm2f/marketData.js","https:/framerusercontent.com/modules/dxekZZB4kZ58H13Ob7ez/vjKg5EPQFaj0q7VTwIpc/marketParser.js","https:/framerusercontent.com/modules/bPdHoyg1ebdv9zfOZp93/GHDzABoRReV72mKixIcK/autoLocation.js","https:/framerusercontent.com/modules/vDx3Q7rUVSfwg92tdx6X/QUghOffOkyAVceCDZdY8/useMarkets.js","https:/framerusercontent.com/modules/y7RZQs6YDDAKlcW0mucz/TsK9JhdPw065nnMdn3lU/useMiniCartModal.js","https:/framerusercontent.com/modules/6fHTXvgmjeY8htknOLCM/gZzs3HKi1CzIoI4VBUnk/useNotifyOverlay.js","https:/framerusercontent.com/modules/qnuk5aZ6x3XlkU8Sr5HV/Vufbs5uIeRzpzzy9VUkY/useSellingPlans.js","https:/framerusercontent.com/modules/rb8og0w9SSSyZs8gNZuB/yjteVSM4038rR9OCWwz1/useRecentlyViewed.js","https:/framerusercontent.com/modules/oPVBZREiZcp0A8d38vIN/6mcMMREUoAx3G1ggUmI3/useProductAttributes.js","https:/framerusercontent.com/modules/fbyvMnKO8yM8VtytFxdl/HnzwYQnZtD4SFVhvGKnw/useToast.js","https:/framerusercontent.com/modules/9CvLYVlSjZ0KIrPvDTZ2/bTIjo0Ee6fXTNUPsXyNt/readBorderRadius.js","https:/framerusercontent.com/modules/Sjrt4itg6tMf9nAdiVML/Oc3iXosQ2TZ5JOsY147i/useMergedFocusRadius.js","https:/framerusercontent.com/modules/bSS21waP0kZYgwKMEhQ1/5hDUnT0imcaGziySgm5z/crossSellVariantAvailability.js","https:/framerusercontent.com/modules/da2d6NIWuAfZ6ceWI23D/A30KLNBQjxg0v9y6ngbl/initialize.js","https:/framerusercontent.com/modules/gcHCDMWOsDvLgd7ZXwPi/FZnNhTkrB7NSjcPG0yms/Butter_ProductPurchaseButton.js","https:/framerusercontent.com/modules/VTUDdizacRHpwbkOamr7/AykinQJbgwl92LvMGZwu/constants.js","https:/framerusercontent.com/modules/D4TWeLfcxT6Tysr2BlYg/iZjmqdxVx1EOiM3k1FaW/useOnNavigationTargetChange.js","https:/framerusercontent.com/modules/ExNgrA7EJTKUPpH6vIlN/eiOrSJ2Ab5M9jPCvVwUz/useConstant.js","https:/framerusercontent.com/modules/D2Lz5CmnNVPZFFiZXalt/QaCzPbriZBfXWZIIycFI/colorFromToken.js","https:/framerusercontent.com/modules/3mKFSGQqKHV82uOV1eBc/5fbRLvOpxZC0JOXugvwm/isMotionValue.js","https:/framerusercontent.com/modules/xDiQsqBGXzmMsv7AlEVy/uhunpMiNsbXxzjlXsg1y/useUniqueClassName.js","https:/framerusercontent.com/modules/ETACN5BJyFTSo0VVDJfu/NHRqowOiXkF9UwOzczF7/variantUtils.js","https:/framerusercontent.com/modules/eMBrwoqQK7h6mEeGQUH8/GuplvPJVjmxpk9zqOTcb/isBrowser.js","https:/framerusercontent.com/modules/v9AWX2URmiYsHf7GbctE/XxKAZ9KlhWqf5x1JMyyF/useOnChange.js","https:/framerusercontent.com/modules/kNDwabfjDEb3vUxkQlZS/fSIr3AOAYbGlfSPgXpYu/useAutoMotionValue.js","https:/framerusercontent.com/modules/cuQH4dmpDnV8YK1mSgQX/KqRXqunFjE6ufhpc7ZRu/useFontControls.js","https:/framerusercontent.com/modules/afBE9Yx1W6bY5q32qPxe/m3q7puE2tbo1S2C0s0CT/useRenderTarget.js","https:/framerusercontent.com/modules/zGkoP8tPDCkoBzMdt5uq/0zFSjxIYliHxrQQnryFX/useControlledState.js","https:/framerusercontent.com/modules/5SM58HxZHxjjv7aLMOgQ/WXz9i6mVki0bBCrKdqB3/propUtils.js","https:/framerusercontent.com/modules/G4IfyjvwmaeSBpdb4TWu/OIjZRBmWDcIE2B6qgG1j/index.js","https:/framer.com/m/framer/default-utils.js@^0.45.0","https:/framerusercontent.com/modules/NQ9LlTfXzHTRhTTi6qMI/5u9VoSaQM7qxLI2scUcH/Loading.js","https:/framerusercontent.com/modules/4aDVDO5CU17fZbWNieji/YtRzDdjHGYFoTrxhLgpM/Butter_ProductVariantRequirement.js","https:/framerusercontent.com/modules/3aU0iWSrT7RQP2qjF8A5/TAz2tFjGKJddrZ8rfeoq/Bb9Q1WYR9.js","https:/framerusercontent.com/modules/xSoXSvKc5lAnWlmq9F30/f77cSj2mcxOeyx6AKlGP/tmZW16Ab4.js","https:/framerusercontent.com/modules/uRpCdTLggXLK4ARqBT5i/KWsYcVtmf4muSGUMMcs6/UnsogWI8Z.js","https:/framerusercontent.com/modules/8pZT4TVJukiFRL6esKLh/YsNEPnMm91InOKuItkEB/WY1RXYlZX.js","https:/framerusercontent.com/modules/C45tuoUDEvQsFpvjKrX4/S0NN6a2CLIeYd2FicEZY/Butter_ShoppableVideo.js","https:/framerusercontent.com/modules/7e3uBbQ0TdWlZDvZXo7Z/LmsORDF3nTlpcIXZWejT/siteMetadata.js","https:/framerusercontent.com/modules/TBKGrk4rnCvGa8lD37eh/F9oOMZ79enwqPM5iOUkJ/rQGvODKHR.js","https:/framerusercontent.com/modules/l1lNdr4zaaF93twfAKLi/S4xBVUc7YgWL8XWPL37Y/rQGvODKHR.js","https:/framerusercontent.com/modules/h4H6Ov1w5wZr6up9Y3JI/oT0TEmPcJlnN9qO0gOjM/snippets.js","https:/framerusercontent.com/modules/7cPhjQw0EGNBHRZlzbhH/4hSO1fMoujYmMhk8FjXZ/NotFoundPage.js","https:/framer.com/m/framer/SitesNotFoundPage.js@1.4.0","https:/framerusercontent.com/modules/gHq0X0Tq3Bov414yjLXK/MareZLDFu3yAaERz5qaC/Click.js","https:/framerusercontent.com/modules/Fsj5Q1wuxJqcJKikrUcr/DWPTg36TPcxWwMyIKjQB/L33Hu7YVx.js","https:/framerusercontent.com/modules/OW7AYQ4a6z9WWvElhH6S/qf8XQgO3ASsbBnwlgbKi/XCOJBBdvI.js","https:/framerusercontent.com/modules/kr6mBIQPAjMiv35rQa3A/JqQCEBMftp0u8SBv29R5/PX9hIOIVM.js"],"sourcesContent":["import*as e from\"react\";var n=\"default\"in e?e.default:e;var a={};var o=n;function l$2(e){for(var n=\"https://reactjs.org/docs/error-decoder.html?invariant=\"+e,a=1;a<arguments.length;a++)n+=\"&args[]=\"+encodeURIComponent(arguments[a]);return\"Minified React error #\"+e+\"; visit \"+n+\" for the full message or use the non-minified dev environment for full errors and additional helpful warnings.\"}var l=Object.prototype.hasOwnProperty,i=/^[:A-Z_a-z\\u00C0-\\u00D6\\u00D8-\\u00F6\\u00F8-\\u02FF\\u0370-\\u037D\\u037F-\\u1FFF\\u200C-\\u200D\\u2070-\\u218F\\u2C00-\\u2FEF\\u3001-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFFD][:A-Z_a-z\\u00C0-\\u00D6\\u00D8-\\u00F6\\u00F8-\\u02FF\\u0370-\\u037D\\u037F-\\u1FFF\\u200C-\\u200D\\u2070-\\u218F\\u2C00-\\u2FEF\\u3001-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFFD\\-.0-9\\u00B7\\u0300-\\u036F\\u203F-\\u2040]*$/,s={},c={};function ja$1(e){if(l.call(c,e))return!0;if(l.call(s,e))return!1;if(i.test(e))return c[e]=!0;s[e]=!0;return!1}function r(e,n,a,o,l,i,s){this.acceptsBooleans=2===n||3===n||4===n;this.attributeName=o;this.attributeNamespace=l;this.mustUseProperty=a;this.propertyName=e;this.type=n;this.sanitizeURL=i;this.removeEmptyString=s}var d={};\"children dangerouslySetInnerHTML defaultValue defaultChecked innerHTML suppressContentEditableWarning suppressHydrationWarning style\".split(\" \").forEach((function(e){d[e]=new r(e,0,!1,e,null,!1,!1)}));[[\"acceptCharset\",\"accept-charset\"],[\"className\",\"class\"],[\"htmlFor\",\"for\"],[\"httpEquiv\",\"http-equiv\"]].forEach((function(e){var n=e[0];d[n]=new r(n,1,!1,e[1],null,!1,!1)}));[\"contentEditable\",\"draggable\",\"spellCheck\",\"value\"].forEach((function(e){d[e]=new r(e,2,!1,e.toLowerCase(),null,!1,!1)}));[\"autoReverse\",\"externalResourcesRequired\",\"focusable\",\"preserveAlpha\"].forEach((function(e){d[e]=new r(e,2,!1,e,null,!1,!1)}));\"allowFullScreen async autoFocus autoPlay controls default defer disabled disablePictureInPicture disableRemotePlayback formNoValidate hidden loop noModule noValidate open playsInline readOnly required reversed scoped seamless itemScope\".split(\" \").forEach((function(e){d[e]=new r(e,3,!1,e.toLowerCase(),null,!1,!1)}));[\"checked\",\"multiple\",\"muted\",\"selected\"].forEach((function(e){d[e]=new r(e,3,!0,e,null,!1,!1)}));[\"capture\",\"download\"].forEach((function(e){d[e]=new r(e,4,!1,e,null,!1,!1)}));[\"cols\",\"rows\",\"size\",\"span\"].forEach((function(e){d[e]=new r(e,6,!1,e,null,!1,!1)}));[\"rowSpan\",\"start\"].forEach((function(e){d[e]=new r(e,5,!1,e.toLowerCase(),null,!1,!1)}));var f=/[\\-:]([a-z])/g;function la$1(e){return e[1].toUpperCase()}\"accent-height alignment-baseline arabic-form baseline-shift cap-height clip-path clip-rule color-interpolation color-interpolation-filters color-profile color-rendering dominant-baseline enable-background fill-opacity fill-rule flood-color flood-opacity font-family font-size font-size-adjust font-stretch font-style font-variant font-weight glyph-name glyph-orientation-horizontal glyph-orientation-vertical horiz-adv-x horiz-origin-x image-rendering letter-spacing lighting-color marker-end marker-mid marker-start overline-position overline-thickness paint-order panose-1 pointer-events rendering-intent shape-rendering stop-color stop-opacity strikethrough-position strikethrough-thickness stroke-dasharray stroke-dashoffset stroke-linecap stroke-linejoin stroke-miterlimit stroke-opacity stroke-width text-anchor text-decoration text-rendering underline-position underline-thickness unicode-bidi unicode-range units-per-em v-alphabetic v-hanging v-ideographic v-mathematical vector-effect vert-adv-y vert-origin-x vert-origin-y word-spacing writing-mode xmlns:xlink x-height\".split(\" \").forEach((function(e){var n=e.replace(f,la$1);d[n]=new r(n,1,!1,e,null,!1,!1)}));\"xlink:actuate xlink:arcrole xlink:role xlink:show xlink:title xlink:type\".split(\" \").forEach((function(e){var n=e.replace(f,la$1);d[n]=new r(n,1,!1,e,\"http://www.w3.org/1999/xlink\",!1,!1)}));[\"xml:base\",\"xml:lang\",\"xml:space\"].forEach((function(e){var n=e.replace(f,la$1);d[n]=new r(n,1,!1,e,\"http://www.w3.org/XML/1998/namespace\",!1,!1)}));[\"tabIndex\",\"crossOrigin\"].forEach((function(e){d[e]=new r(e,1,!1,e.toLowerCase(),null,!1,!1)}));d.xlinkHref=new r(\"xlinkHref\",1,!1,\"xlink:href\",\"http://www.w3.org/1999/xlink\",!0,!1);[\"src\",\"href\",\"action\",\"formAction\"].forEach((function(e){d[e]=new r(e,1,!1,e.toLowerCase(),null,!0,!0)}));var h={animationIterationCount:!0,aspectRatio:!0,borderImageOutset:!0,borderImageSlice:!0,borderImageWidth:!0,boxFlex:!0,boxFlexGroup:!0,boxOrdinalGroup:!0,columnCount:!0,columns:!0,flex:!0,flexGrow:!0,flexPositive:!0,flexShrink:!0,flexNegative:!0,flexOrder:!0,gridArea:!0,gridRow:!0,gridRowEnd:!0,gridRowSpan:!0,gridRowStart:!0,gridColumn:!0,gridColumnEnd:!0,gridColumnSpan:!0,gridColumnStart:!0,fontWeight:!0,lineClamp:!0,lineHeight:!0,opacity:!0,order:!0,orphans:!0,tabSize:!0,widows:!0,zIndex:!0,zoom:!0,fillOpacity:!0,floodOpacity:!0,stopOpacity:!0,strokeDasharray:!0,strokeDashoffset:!0,strokeMiterlimit:!0,strokeOpacity:!0,strokeWidth:!0},g=[\"Webkit\",\"ms\",\"Moz\",\"O\"];Object.keys(h).forEach((function(e){g.forEach((function(n){n=n+e.charAt(0).toUpperCase()+e.substring(1);h[n]=h[e]}))}));var b=/[\"'&<>]/;function v(e){if(\"boolean\"===typeof e||\"number\"===typeof e)return\"\"+e;e=\"\"+e;var n=b.exec(e);if(n){var a,o=\"\",l=0;for(a=n.index;a<e.length;a++){switch(e.charCodeAt(a)){case 34:n=\"&quot;\";break;case 38:n=\"&amp;\";break;case 39:n=\"&#x27;\";break;case 60:n=\"&lt;\";break;case 62:n=\"&gt;\";break;default:continue}l!==a&&(o+=e.substring(l,a));l=a+1;o+=n}e=l!==a?o+e.substring(l,a):o}return e}var m=/([A-Z])/g,S=/^ms-/,x=Array.isArray;function w$1(e,n){return{insertionMode:e,selectedValue:n}}function ra$1(e,n,a){switch(n){case\"select\":return w$1(1,null!=a.value?a.value:a.defaultValue);case\"svg\":return w$1(2,null);case\"math\":return w$1(3,null);case\"foreignObject\":return w$1(1,null);case\"table\":return w$1(4,null);case\"thead\":case\"tbody\":case\"tfoot\":return w$1(5,null);case\"colgroup\":return w$1(7,null);case\"tr\":return w$1(6,null)}return 4<=e.insertionMode||0===e.insertionMode?w$1(1,null):e}var $=new Map;function ta$1(e,n,a){if(\"object\"!==typeof a)throw Error(l$2(62));n=!0;for(var o in a)if(l.call(a,o)){var i=a[o];if(null!=i&&\"boolean\"!==typeof i&&\"\"!==i){if(0===o.indexOf(\"--\")){var s=v(o);i=v((\"\"+i).trim())}else{s=o;var c=$.get(s);void 0!==c||(c=v(s.replace(m,\"-$1\").toLowerCase().replace(S,\"-ms-\")),$.set(s,c)),s=c;i=\"number\"===typeof i?0===i||l.call(h,o)?\"\"+i:i+\"px\":v((\"\"+i).trim())}n?(n=!1,e.push(' style=\"',s,\":\",i)):e.push(\";\",s,\":\",i)}}n||e.push('\"')}function x$1(e,n,a,o){switch(a){case\"style\":ta$1(e,n,o);return;case\"defaultValue\":case\"defaultChecked\":case\"innerHTML\":case\"suppressContentEditableWarning\":case\"suppressHydrationWarning\":return}if(!(2<a.length)||\"o\"!==a[0]&&\"O\"!==a[0]||\"n\"!==a[1]&&\"N\"!==a[1])if(n=d.hasOwnProperty(a)?d[a]:null,null!==n){switch(typeof o){case\"function\":case\"symbol\":return;case\"boolean\":if(!n.acceptsBooleans)return}a=n.attributeName;switch(n.type){case 3:o&&e.push(\" \",a,'=\"\"');break;case 4:!0===o?e.push(\" \",a,'=\"\"'):!1!==o&&e.push(\" \",a,'=\"',v(o),'\"');break;case 5:isNaN(o)||e.push(\" \",a,'=\"',v(o),'\"');break;case 6:!isNaN(o)&&1<=o&&e.push(\" \",a,'=\"',v(o),'\"');break;default:n.sanitizeURL&&(o=\"\"+o),e.push(\" \",a,'=\"',v(o),'\"')}}else if(ja$1(a)){switch(typeof o){case\"function\":case\"symbol\":return;case\"boolean\":if(n=a.toLowerCase().slice(0,5),\"data-\"!==n&&\"aria-\"!==n)return}e.push(\" \",a,'=\"',v(o),'\"')}}function y$1(e,n,a){if(null!=n){if(null!=a)throw Error(l$2(60));if(\"object\"!==typeof n||!(\"__html\"in n))throw Error(l$2(61));n=n.__html;null!==n&&void 0!==n&&e.push(\"\"+n)}}function ua$1(e){var n=\"\";o.Children.forEach(e,(function(e){null!=e&&(n+=e)}));return n}function va$1(e,n,a,o){e.push(A(a));var i,s=a=null;for(i in n)if(l.call(n,i)){var c=n[i];if(null!=c)switch(i){case\"children\":a=c;break;case\"dangerouslySetInnerHTML\":s=c;break;default:x$1(e,o,i,c)}}e.push(\">\");y$1(e,s,a);return\"string\"===typeof a?(e.push(v(a)),null):a}var E=/^[a-zA-Z][a-zA-Z:_\\.\\-\\d]*$/,T=new Map;function A(e){var n=T.get(e);if(void 0===n){if(!E.test(e))throw Error(l$2(65,e));n=\"<\"+e;T.set(e,n)}return n}function ya$1(e,n,a,o,i){switch(n){case\"select\":e.push(A(\"select\"));var s=null,c=null;for(g in a)if(l.call(a,g)){var d=a[g];if(null!=d)switch(g){case\"children\":s=d;break;case\"dangerouslySetInnerHTML\":c=d;break;case\"defaultValue\":case\"value\":break;default:x$1(e,o,g,d)}}e.push(\">\");y$1(e,c,s);return s;case\"option\":c=i.selectedValue;e.push(A(\"option\"));var f=d=null,h=null;var g=null;for(s in a)if(l.call(a,s)){var b=a[s];if(null!=b)switch(s){case\"children\":d=b;break;case\"selected\":h=b;break;case\"dangerouslySetInnerHTML\":g=b;break;case\"value\":f=b;default:x$1(e,o,s,b)}}if(null!=c)if(a=null!==f?\"\"+f:ua$1(d),x(c)){for(o=0;o<c.length;o++)if(\"\"+c[o]===a){e.push(' selected=\"\"');break}}else\"\"+c===a&&e.push(' selected=\"\"');else h&&e.push(' selected=\"\"');e.push(\">\");y$1(e,g,d);return d;case\"textarea\":e.push(A(\"textarea\"));g=c=s=null;for(d in a)if(l.call(a,d)&&(f=a[d],null!=f))switch(d){case\"children\":g=f;break;case\"value\":s=f;break;case\"defaultValue\":c=f;break;case\"dangerouslySetInnerHTML\":throw Error(l$2(91));default:x$1(e,o,d,f)}null===s&&null!==c&&(s=c);e.push(\">\");if(null!=g){if(null!=s)throw Error(l$2(92));if(x(g)&&1<g.length)throw Error(l$2(93));s=\"\"+g}\"string\"===typeof s&&\"\\n\"===s[0]&&e.push(\"\\n\");null!==s&&e.push(v(\"\"+s));return null;case\"input\":e.push(A(\"input\"));f=g=d=s=null;for(c in a)if(l.call(a,c)&&(h=a[c],null!=h))switch(c){case\"children\":case\"dangerouslySetInnerHTML\":throw Error(l$2(399,\"input\"));case\"defaultChecked\":f=h;break;case\"defaultValue\":d=h;break;case\"checked\":g=h;break;case\"value\":s=h;break;default:x$1(e,o,c,h)}null!==g?x$1(e,o,\"checked\",g):null!==f&&x$1(e,o,\"checked\",f);null!==s?x$1(e,o,\"value\",s):null!==d&&x$1(e,o,\"value\",d);e.push(\"/>\");return null;case\"menuitem\":e.push(A(\"menuitem\"));for(var m in a)if(l.call(a,m)&&(s=a[m],null!=s))switch(m){case\"children\":case\"dangerouslySetInnerHTML\":throw Error(l$2(400));default:x$1(e,o,m,s)}e.push(\">\");return null;case\"title\":e.push(A(\"title\"));s=null;for(b in a)if(l.call(a,b)&&(c=a[b],null!=c))switch(b){case\"children\":s=c;break;case\"dangerouslySetInnerHTML\":throw Error(l$2(434));default:x$1(e,o,b,c)}e.push(\">\");return s;case\"listing\":case\"pre\":e.push(A(n));c=s=null;for(f in a)if(l.call(a,f)&&(d=a[f],null!=d))switch(f){case\"children\":s=d;break;case\"dangerouslySetInnerHTML\":c=d;break;default:x$1(e,o,f,d)}e.push(\">\");if(null!=c){if(null!=s)throw Error(l$2(60));if(\"object\"!==typeof c||!(\"__html\"in c))throw Error(l$2(61));a=c.__html;null!==a&&void 0!==a&&(\"string\"===typeof a&&0<a.length&&\"\\n\"===a[0]?e.push(\"\\n\",a):e.push(\"\"+a))}\"string\"===typeof s&&\"\\n\"===s[0]&&e.push(\"\\n\");return s;case\"area\":case\"base\":case\"br\":case\"col\":case\"embed\":case\"hr\":case\"img\":case\"keygen\":case\"link\":case\"meta\":case\"param\":case\"source\":case\"track\":case\"wbr\":e.push(A(n));for(var S in a)if(l.call(a,S)&&(s=a[S],null!=s))switch(S){case\"children\":case\"dangerouslySetInnerHTML\":throw Error(l$2(399,n));default:x$1(e,o,S,s)}e.push(\"/>\");return null;case\"annotation-xml\":case\"color-profile\":case\"font-face\":case\"font-face-src\":case\"font-face-uri\":case\"font-face-format\":case\"font-face-name\":case\"missing-glyph\":return va$1(e,a,n,o);case\"html\":return 0===i.insertionMode&&e.push(\"<!DOCTYPE html>\"),va$1(e,a,n,o);default:if(-1===n.indexOf(\"-\")&&\"string\"!==typeof a.is)return va$1(e,a,n,o);e.push(A(n));c=s=null;for(h in a)if(l.call(a,h)&&(d=a[h],null!=d))switch(h){case\"children\":s=d;break;case\"dangerouslySetInnerHTML\":c=d;break;case\"style\":ta$1(e,o,d);break;case\"suppressContentEditableWarning\":case\"suppressHydrationWarning\":break;default:ja$1(h)&&\"function\"!==typeof d&&\"symbol\"!==typeof d&&e.push(\" \",h,'=\"',v(d),'\"')}e.push(\">\");y$1(e,c,s);return s}}function za$1(e,n,a){e.push('\\x3c!--$?--\\x3e<template id=\"');if(null===a)throw Error(l$2(395));e.push(a);return e.push('\"></template>')}function Aa$1(e,n,a,o){switch(a.insertionMode){case 0:case 1:return e.push('<div hidden id=\"'),e.push(n.segmentPrefix),n=o.toString(16),e.push(n),e.push('\">');case 2:return e.push('<svg aria-hidden=\"true\" style=\"display:none\" id=\"'),e.push(n.segmentPrefix),n=o.toString(16),e.push(n),e.push('\">');case 3:return e.push('<math aria-hidden=\"true\" style=\"display:none\" id=\"'),e.push(n.segmentPrefix),n=o.toString(16),e.push(n),e.push('\">');case 4:return e.push('<table hidden id=\"'),e.push(n.segmentPrefix),n=o.toString(16),e.push(n),e.push('\">');case 5:return e.push('<table hidden><tbody id=\"'),e.push(n.segmentPrefix),n=o.toString(16),e.push(n),e.push('\">');case 6:return e.push('<table hidden><tr id=\"'),e.push(n.segmentPrefix),n=o.toString(16),e.push(n),e.push('\">');case 7:return e.push('<table hidden><colgroup id=\"'),e.push(n.segmentPrefix),n=o.toString(16),e.push(n),e.push('\">');default:throw Error(l$2(397))}}function Ba$1(e,n){switch(n.insertionMode){case 0:case 1:return e.push(\"</div>\");case 2:return e.push(\"</svg>\");case 3:return e.push(\"</math>\");case 4:return e.push(\"</table>\");case 5:return e.push(\"</tbody></table>\");case 6:return e.push(\"</tr></table>\");case 7:return e.push(\"</colgroup></table>\");default:throw Error(l$2(397))}}var R=/[<\\u2028\\u2029]/g;function Da$1(e){return JSON.stringify(e).replace(R,(function(e){switch(e){case\"<\":return\"\\\\u003c\";case\"\\u2028\":return\"\\\\u2028\";case\"\\u2029\":return\"\\\\u2029\";default:throw Error(\"escapeJSStringsForInstructionScripts encountered a match it does not know how to replace. this means the match regex and the replacement characters are no longer in sync. This is a bug in React\")}}))}function Ea$1(e,n){n=void 0===n?\"\":n;return{bootstrapChunks:[],startInlineScript:\"<script>\",placeholderPrefix:n+\"P:\",segmentPrefix:n+\"S:\",boundaryPrefix:n+\"B:\",idPrefix:n,nextSuspenseID:0,sentCompleteSegmentFunction:!1,sentCompleteBoundaryFunction:!1,sentClientRenderFunction:!1,generateStaticMarkup:e}}function Fa$1(e,n,a,o){if(a.generateStaticMarkup)return e.push(v(n)),!1;\"\"===n?e=o:(o&&e.push(\"\\x3c!-- --\\x3e\"),e.push(v(n)),e=!0);return e}var _=Object.assign,I=Symbol.for(\"react.element\"),B=Symbol.for(\"react.portal\"),N=Symbol.for(\"react.fragment\"),z=Symbol.for(\"react.strict_mode\"),V=Symbol.for(\"react.profiler\"),j=Symbol.for(\"react.provider\"),O=Symbol.for(\"react.context\"),H=Symbol.for(\"react.forward_ref\"),U=Symbol.for(\"react.suspense\"),K=Symbol.for(\"react.suspense_list\"),ee=Symbol.for(\"react.memo\"),te=Symbol.for(\"react.lazy\"),ne=Symbol.for(\"react.scope\"),re=Symbol.for(\"react.debug_trace_mode\"),ae=Symbol.for(\"react.legacy_hidden\"),oe=Symbol.for(\"react.default_value\"),le=Symbol.iterator;function Xa$1(e){if(null==e)return null;if(\"function\"===typeof e)return e.displayName||e.name||null;if(\"string\"===typeof e)return e;switch(e){case N:return\"Fragment\";case B:return\"Portal\";case V:return\"Profiler\";case z:return\"StrictMode\";case U:return\"Suspense\";case K:return\"SuspenseList\"}if(\"object\"===typeof e)switch(e.$$typeof){case O:return(e.displayName||\"Context\")+\".Consumer\";case j:return(e._context.displayName||\"Context\")+\".Provider\";case H:var n=e.render;e=e.displayName;e||(e=n.displayName||n.name||\"\",e=\"\"!==e?\"ForwardRef(\"+e+\")\":\"ForwardRef\");return e;case ee:return n=e.displayName||null,null!==n?n:Xa$1(e.type)||\"Memo\";case te:n=e._payload;e=e._init;try{return Xa$1(e(n))}catch(e){}}return null}var ue={};function Za$1(e,n){e=e.contextTypes;if(!e)return ue;var a,o={};for(a in e)o[a]=n[a];return o}var ie=null;function F(e,n){if(e!==n){e.context._currentValue2=e.parentValue;e=e.parent;var a=n.parent;if(null===e){if(null!==a)throw Error(l$2(401))}else{if(null===a)throw Error(l$2(401));F(e,a)}n.context._currentValue2=n.value}}function $a$1(e){e.context._currentValue2=e.parentValue;e=e.parent;null!==e&&$a$1(e)}function ab$1(e){var n=e.parent;null!==n&&ab$1(n);e.context._currentValue2=e.value}function bb$1(e,n){e.context._currentValue2=e.parentValue;e=e.parent;if(null===e)throw Error(l$2(402));e.depth===n.depth?F(e,n):bb$1(e,n)}function cb$1(e,n){var a=n.parent;if(null===a)throw Error(l$2(402));e.depth===a.depth?F(e,a):cb$1(e,a);n.context._currentValue2=n.value}function G(e){var n=ie;n!==e&&(null===n?ab$1(e):null===e?$a$1(n):n.depth===e.depth?F(n,e):n.depth>e.depth?bb$1(n,e):cb$1(n,e),ie=e)}var se={isMounted:function(){return!1},enqueueSetState:function(e,n){e=e._reactInternals;null!==e.queue&&e.queue.push(n)},enqueueReplaceState:function(e,n){e=e._reactInternals;e.replace=!0;e.queue=[n]},enqueueForceUpdate:function(){}};function eb$1(e,n,a,o){var l=void 0!==e.state?e.state:null;e.updater=se;e.props=a;e.state=l;var i={queue:[],replace:!1};e._reactInternals=i;var s=n.contextType;e.context=\"object\"===typeof s&&null!==s?s._currentValue2:o;s=n.getDerivedStateFromProps;\"function\"===typeof s&&(s=s(a,l),l=null===s||void 0===s?l:_({},l,s),e.state=l);if(\"function\"!==typeof n.getDerivedStateFromProps&&\"function\"!==typeof e.getSnapshotBeforeUpdate&&(\"function\"===typeof e.UNSAFE_componentWillMount||\"function\"===typeof e.componentWillMount))if(n=e.state,\"function\"===typeof e.componentWillMount&&e.componentWillMount(),\"function\"===typeof e.UNSAFE_componentWillMount&&e.UNSAFE_componentWillMount(),n!==e.state&&se.enqueueReplaceState(e,e.state,null),null!==i.queue&&0<i.queue.length)if(n=i.queue,s=i.replace,i.queue=null,i.replace=!1,s&&1===n.length)e.state=n[0];else{i=s?n[0]:e.state;l=!0;for(s=s?1:0;s<n.length;s++){var c=n[s];c=\"function\"===typeof c?c.call(e,i,a,o):c;null!=c&&(l?(l=!1,i=_({},i,c)):_(i,c))}e.state=i}else i.queue=null}var ce={id:1,overflow:\"\"};function gb$1(e,n,a){var o=e.id;e=e.overflow;var l=32-de(o)-1;o&=~(1<<l);a+=1;var i=32-de(n)+l;if(30<i){var s=l-l%5;i=(o&(1<<s)-1).toString(32);o>>=s;l-=s;return{id:1<<32-de(n)+l|a<<l|o,overflow:i+e}}return{id:1<<i|a<<l|o,overflow:e}}var de=Math.clz32?Math.clz32:hb$1,fe=Math.log,pe=Math.LN2;function hb$1(e){e>>>=0;return 0===e?32:31-(fe(e)/pe|0)|0}function kb$1(e,n){return e===n&&(0!==e||1/e===1/n)||e!==e&&n!==n}var he=\"function\"===typeof Object.is?Object.is:kb$1,ge=null,be=null,me=null,ye=null,ve=!1,ke=!1,we=0,Se=null,xe=0;function Q$1(){if(null===ge)throw Error(l$2(321));return ge}function pb$1(){if(0<xe)throw Error(l$2(312));return{memoizedState:null,queue:null,next:null}}function qb$1(){null===ye?null===me?(ve=!1,me=ye=pb$1()):(ve=!0,ye=me):null===ye.next?(ve=!1,ye=ye.next=pb$1()):(ve=!0,ye=ye.next);return ye}function rb$1(){be=ge=null;ke=!1;me=null;xe=0;ye=Se=null}function sb$1(e,n){return\"function\"===typeof n?n(e):n}function tb$1(e,n,a){ge=Q$1();ye=qb$1();if(ve){var o=ye.queue;n=o.dispatch;if(null!==Se&&(a=Se.get(o),void 0!==a)){Se.delete(o);o=ye.memoizedState;do{o=e(o,a.action),a=a.next}while(null!==a);ye.memoizedState=o;return[o,n]}return[ye.memoizedState,n]}e=e===sb$1?\"function\"===typeof n?n():n:void 0!==a?a(n):n;ye.memoizedState=e;e=ye.queue={last:null,dispatch:null};e=e.dispatch=ub$1.bind(null,ge,e);return[ye.memoizedState,e]}function vb$1(e,n){ge=Q$1();ye=qb$1();n=void 0===n?null:n;if(null!==ye){var a=ye.memoizedState;if(null!==a&&null!==n){var o=a[1];e:if(null===o)o=!1;else{for(var l=0;l<o.length&&l<n.length;l++)if(!he(n[l],o[l])){o=!1;break e}o=!0}if(o)return a[0]}}e=e();ye.memoizedState=[e,n];return e}function ub$1(e,n,a){if(25<=xe)throw Error(l$2(301));if(e===ge)if(ke=!0,e={action:a,next:null},null===Se&&(Se=new Map),a=Se.get(n),void 0===a)Se.set(n,e);else{for(n=a;null!==n.next;)n=n.next;n.next=e}}function wb$1(){throw Error(l$2(394))}function R$1(){}var $e={readContext:function(e){return e._currentValue2},useContext:function(e){Q$1();return e._currentValue2},useMemo:vb$1,useReducer:tb$1,useRef:function(e){ge=Q$1();ye=qb$1();var n=ye.memoizedState;return null===n?(e={current:e},ye.memoizedState=e):n},useState:function(e){return tb$1(sb$1,e)},useInsertionEffect:R$1,useLayoutEffect:function(){},useCallback:function(e,n){return vb$1((function(){return e}),n)},useImperativeHandle:R$1,useEffect:R$1,useDebugValue:R$1,useDeferredValue:function(e){Q$1();return e},useTransition:function(){Q$1();return[!1,wb$1]},useId:function(){var e=be.treeContext;var n=e.overflow;e=e.id;e=(e&~(1<<32-de(e)-1)).toString(32)+n;var a=Ce;if(null===a)throw Error(l$2(404));n=we++;e=\":\"+a.idPrefix+\"R\"+e;0<n&&(e+=\"H\"+n.toString(32));return e+\":\"},useMutableSource:function(e,n){Q$1();return n(e._source)},useSyncExternalStore:function(e,n,a){if(void 0===a)throw Error(l$2(407));return a()}},Ce=null,Ee=o.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED.ReactCurrentDispatcher;function zb$1(e){console.error(e);return null}function T$1(){}function Ab$1(e,n,a,o,l,i,s,c,d){var f=[],h=new Set;n={destination:null,responseState:n,progressiveChunkSize:void 0===o?12800:o,status:0,fatalError:null,nextSegmentId:0,allPendingTasks:0,pendingRootTasks:0,completedRootSegment:null,abortableTasks:h,pingedTasks:f,clientRenderedBoundaries:[],completedBoundaries:[],partialBoundaries:[],onError:void 0===l?zb$1:l,onAllReady:void 0===i?T$1:i,onShellReady:void 0===s?T$1:s,onShellError:void 0===c?T$1:c,onFatalError:void 0===d?T$1:d};a=U$1(n,0,null,a,!1,!1);a.parentFlushed=!0;e=Bb$1(n,e,null,a,h,ue,null,ce);f.push(e);return n}function Bb$1(e,n,a,o,l,i,s,c){e.allPendingTasks++;null===a?e.pendingRootTasks++:a.pendingTasks++;var d={node:n,ping:function(){var n=e.pingedTasks;n.push(d);1===n.length&&Cb$1(e)},blockedBoundary:a,blockedSegment:o,abortSet:l,legacyContext:i,context:s,treeContext:c};l.add(d);return d}function U$1(e,n,a,o,l,i){return{status:0,id:-1,index:n,parentFlushed:!1,chunks:[],children:[],formatContext:o,boundary:a,lastPushedText:l,textEmbedded:i}}function V$1(e,n){e=e.onError(n);if(null!=e&&\"string\"!==typeof e)throw Error('onError returned something with a type other than \"string\". onError should return a string and may return null or undefined but must not return anything else. It received something of type \"'+typeof e+'\" instead');return e}function W$1(e,n){var a=e.onShellError;a(n);a=e.onFatalError;a(n);null!==e.destination?(e.status=2,e.destination.destroy(n)):(e.status=1,e.fatalError=n)}function Db$1(e,n,a,o,l){ge={};be=n;we=0;for(e=a(o,l);ke;)ke=!1,we=0,xe+=1,ye=null,e=a(o,l);rb$1();return e}function Eb$1(e,n,a,o){var l=a.render(),i=o.childContextTypes;if(null!==i&&void 0!==i){var s=n.legacyContext;if(\"function\"!==typeof a.getChildContext)o=s;else{a=a.getChildContext();for(var c in a)if(!(c in i))throw Error(l$2(108,Xa$1(o)||\"Unknown\",c));o=_({},s,a)}n.legacyContext=o;X$1(e,n,l);n.legacyContext=s}else X$1(e,n,l)}function Fb(e,n){if(e&&e.defaultProps){n=_({},n);e=e.defaultProps;for(var a in e)void 0===n[a]&&(n[a]=e[a]);return n}return n}function Gb$1(e,n,a,o,l){if(\"function\"===typeof a)if(a.prototype&&a.prototype.isReactComponent){l=Za$1(a,n.legacyContext);var i=a.contextType;i=new a(o,\"object\"===typeof i&&null!==i?i._currentValue2:l);eb$1(i,a,o,l);Eb$1(e,n,i,a)}else{i=Za$1(a,n.legacyContext);l=Db$1(e,n,a,o,i);var s=0!==we;if(\"object\"===typeof l&&null!==l&&\"function\"===typeof l.render&&void 0===l.$$typeof)eb$1(l,a,o,i),Eb$1(e,n,l,a);else if(s){o=n.treeContext;n.treeContext=gb$1(o,1,0);try{X$1(e,n,l)}finally{n.treeContext=o}}else X$1(e,n,l)}else{if(\"string\"!==typeof a){switch(a){case ae:case re:case z:case V:case N:X$1(e,n,o.children);return;case K:X$1(e,n,o.children);return;case ne:throw Error(l$2(343));case U:e:{a=n.blockedBoundary;l=n.blockedSegment;i=o.fallback;o=o.children;s=new Set;var c={id:null,rootSegmentID:-1,parentFlushed:!1,pendingTasks:0,forceClientRender:!1,completedSegments:[],byteSize:0,fallbackAbortableTasks:s,errorDigest:null},d=U$1(e,l.chunks.length,c,l.formatContext,!1,!1);l.children.push(d);l.lastPushedText=!1;var f=U$1(e,0,null,l.formatContext,!1,!1);f.parentFlushed=!0;n.blockedBoundary=c;n.blockedSegment=f;try{if(Hb$1(e,n,o),e.responseState.generateStaticMarkup||f.lastPushedText&&f.textEmbedded&&f.chunks.push(\"\\x3c!-- --\\x3e\"),f.status=1,Y$1(c,f),0===c.pendingTasks)break e}catch(n){f.status=4,c.forceClientRender=!0,c.errorDigest=V$1(e,n)}finally{n.blockedBoundary=a,n.blockedSegment=l}n=Bb$1(e,i,a,d,s,n.legacyContext,n.context,n.treeContext);e.pingedTasks.push(n)}return}if(\"object\"===typeof a&&null!==a)switch(a.$$typeof){case H:o=Db$1(e,n,a.render,o,l);if(0!==we){a=n.treeContext;n.treeContext=gb$1(a,1,0);try{X$1(e,n,o)}finally{n.treeContext=a}}else X$1(e,n,o);return;case ee:a=a.type;o=Fb(a,o);Gb$1(e,n,a,o,l);return;case j:l=o.children;a=a._context;o=o.value;i=a._currentValue2;a._currentValue2=o;s=ie;ie=o={parent:s,depth:null===s?0:s.depth+1,context:a,parentValue:i,value:o};n.context=o;X$1(e,n,l);e=ie;if(null===e)throw Error(l$2(403));o=e.parentValue;e.context._currentValue2=o===oe?e.context._defaultValue:o;e=ie=e.parent;n.context=e;return;case O:o=o.children;o=o(a._currentValue2);X$1(e,n,o);return;case te:l=a._init;a=l(a._payload);o=Fb(a,o);Gb$1(e,n,a,o,void 0);return}throw Error(l$2(130,null==a?a:typeof a,\"\"))}l=n.blockedSegment;i=ya$1(l.chunks,a,o,e.responseState,l.formatContext);l.lastPushedText=!1;s=l.formatContext;l.formatContext=ra$1(s,a,o);Hb$1(e,n,i);l.formatContext=s;switch(a){case\"area\":case\"base\":case\"br\":case\"col\":case\"embed\":case\"hr\":case\"img\":case\"input\":case\"keygen\":case\"link\":case\"meta\":case\"param\":case\"source\":case\"track\":case\"wbr\":break;default:l.chunks.push(\"</\",a,\">\")}l.lastPushedText=!1}}function X$1(e,n,a){n.node=a;if(\"object\"===typeof a&&null!==a){switch(a.$$typeof){case I:Gb$1(e,n,a.type,a.props,a.ref);return;case B:throw Error(l$2(257));case te:var o=a._init;a=o(a._payload);X$1(e,n,a);return}if(x(a)){Ib$1(e,n,a);return}null===a||\"object\"!==typeof a?o=null:(o=le&&a[le]||a[\"@@iterator\"],o=\"function\"===typeof o?o:null);if(o&&(o=o.call(a))){a=o.next();if(!a.done){var l=[];do{l.push(a.value),a=o.next()}while(!a.done);Ib$1(e,n,l)}return}e=Object.prototype.toString.call(a);throw Error(l$2(31,\"[object Object]\"===e?\"object with keys {\"+Object.keys(a).join(\", \")+\"}\":e))}\"string\"===typeof a?(o=n.blockedSegment,o.lastPushedText=Fa$1(n.blockedSegment.chunks,a,e.responseState,o.lastPushedText)):\"number\"===typeof a&&(o=n.blockedSegment,o.lastPushedText=Fa$1(n.blockedSegment.chunks,\"\"+a,e.responseState,o.lastPushedText))}function Ib$1(e,n,a){for(var o=a.length,l=0;l<o;l++){var i=n.treeContext;n.treeContext=gb$1(i,o,l);try{Hb$1(e,n,a[l])}finally{n.treeContext=i}}}function Hb$1(e,n,a){var o=n.blockedSegment.formatContext,l=n.legacyContext,i=n.context;try{return X$1(e,n,a)}catch(d){if(rb$1(),\"object\"!==typeof d||null===d||\"function\"!==typeof d.then)throw n.blockedSegment.formatContext=o,n.legacyContext=l,n.context=i,G(i),d;a=d;var s=n.blockedSegment,c=U$1(e,s.chunks.length,null,s.formatContext,s.lastPushedText,!0);s.children.push(c);s.lastPushedText=!1;e=Bb$1(e,n.node,n.blockedBoundary,c,n.abortSet,n.legacyContext,n.context,n.treeContext).ping;a.then(e,e);n.blockedSegment.formatContext=o;n.legacyContext=l;n.context=i;G(i)}}function Jb$1(e){var n=e.blockedBoundary;e=e.blockedSegment;e.status=3;Kb$1(this,n,e)}function Lb$1(e,n,a){var o=e.blockedBoundary;e.blockedSegment.status=3;null===o?(n.allPendingTasks--,2!==n.status&&(n.status=2,null!==n.destination&&n.destination.push(null))):(o.pendingTasks--,o.forceClientRender||(o.forceClientRender=!0,e=void 0===a?Error(l$2(432)):a,o.errorDigest=n.onError(e),o.parentFlushed&&n.clientRenderedBoundaries.push(o)),o.fallbackAbortableTasks.forEach((function(e){return Lb$1(e,n,a)})),o.fallbackAbortableTasks.clear(),n.allPendingTasks--,0===n.allPendingTasks&&(o=n.onAllReady,o()))}function Y$1(e,n){if(0===n.chunks.length&&1===n.children.length&&null===n.children[0].boundary){var a=n.children[0];a.id=n.id;a.parentFlushed=!0;1===a.status&&Y$1(e,a)}else e.completedSegments.push(n)}function Kb$1(e,n,a){if(null===n){if(a.parentFlushed){if(null!==e.completedRootSegment)throw Error(l$2(389));e.completedRootSegment=a}e.pendingRootTasks--;0===e.pendingRootTasks&&(e.onShellError=T$1,n=e.onShellReady,n())}else n.pendingTasks--,n.forceClientRender||(0===n.pendingTasks?(a.parentFlushed&&1===a.status&&Y$1(n,a),n.parentFlushed&&e.completedBoundaries.push(n),n.fallbackAbortableTasks.forEach(Jb$1,e),n.fallbackAbortableTasks.clear()):a.parentFlushed&&1===a.status&&(Y$1(n,a),1===n.completedSegments.length&&n.parentFlushed&&e.partialBoundaries.push(n)));e.allPendingTasks--;0===e.allPendingTasks&&(e=e.onAllReady,e())}function Cb$1(e){if(2!==e.status){var n=ie,a=Ee.current;Ee.current=$e;var o=Ce;Ce=e.responseState;try{var l,i=e.pingedTasks;for(l=0;l<i.length;l++){var s=i[l];var c=e,d=s.blockedSegment;if(0===d.status){G(s.context);try{X$1(c,s,s.node),c.responseState.generateStaticMarkup||d.lastPushedText&&d.textEmbedded&&d.chunks.push(\"\\x3c!-- --\\x3e\"),s.abortSet.delete(s),d.status=1,Kb$1(c,s.blockedBoundary,d)}catch(e){if(rb$1(),\"object\"===typeof e&&null!==e&&\"function\"===typeof e.then){var f=s.ping;e.then(f,f)}else{s.abortSet.delete(s);d.status=4;var h=s.blockedBoundary,g=e,b=V$1(c,g);null===h?W$1(c,g):(h.pendingTasks--,h.forceClientRender||(h.forceClientRender=!0,h.errorDigest=b,h.parentFlushed&&c.clientRenderedBoundaries.push(h)));c.allPendingTasks--;if(0===c.allPendingTasks){var m=c.onAllReady;m()}}}}}i.splice(0,l);null!==e.destination&&Mb$1(e,e.destination)}catch(n){V$1(e,n),W$1(e,n)}finally{Ce=o,Ee.current=a,a===$e&&G(n)}}}function Z$1(e,n,a){a.parentFlushed=!0;switch(a.status){case 0:var o=a.id=e.nextSegmentId++;a.lastPushedText=!1;a.textEmbedded=!1;e=e.responseState;n.push('<template id=\"');n.push(e.placeholderPrefix);e=o.toString(16);n.push(e);return n.push('\"></template>');case 1:a.status=2;var l=!0;o=a.chunks;var i=0;a=a.children;for(var s=0;s<a.length;s++){for(l=a[s];i<l.index;i++)n.push(o[i]);l=Nb$1(e,n,l)}for(;i<o.length-1;i++)n.push(o[i]);i<o.length&&(l=n.push(o[i]));return l;default:throw Error(l$2(390))}}function Nb$1(e,n,a){var o=a.boundary;if(null===o)return Z$1(e,n,a);o.parentFlushed=!0;if(o.forceClientRender)return e.responseState.generateStaticMarkup||(o=o.errorDigest,n.push(\"\\x3c!--$!--\\x3e\"),n.push(\"<template\"),o&&(n.push(' data-dgst=\"'),o=v(o),n.push(o),n.push('\"')),n.push(\"></template>\")),Z$1(e,n,a),e=!!e.responseState.generateStaticMarkup||n.push(\"\\x3c!--/$--\\x3e\"),e;if(0<o.pendingTasks){o.rootSegmentID=e.nextSegmentId++;0<o.completedSegments.length&&e.partialBoundaries.push(o);var l=e.responseState;var i=l.nextSuspenseID++;l=l.boundaryPrefix+i.toString(16);o=o.id=l;za$1(n,e.responseState,o);Z$1(e,n,a);return n.push(\"\\x3c!--/$--\\x3e\")}if(o.byteSize>e.progressiveChunkSize)return o.rootSegmentID=e.nextSegmentId++,e.completedBoundaries.push(o),za$1(n,e.responseState,o.id),Z$1(e,n,a),n.push(\"\\x3c!--/$--\\x3e\");e.responseState.generateStaticMarkup||n.push(\"\\x3c!--$--\\x3e\");a=o.completedSegments;if(1!==a.length)throw Error(l$2(391));Nb$1(e,n,a[0]);e=!!e.responseState.generateStaticMarkup||n.push(\"\\x3c!--/$--\\x3e\");return e}function Ob$1(e,n,a){Aa$1(n,e.responseState,a.formatContext,a.id);Nb$1(e,n,a);return Ba$1(n,a.formatContext)}function Pb$1(e,n,a){for(var o=a.completedSegments,l=0;l<o.length;l++)Qb$1(e,n,a,o[l]);o.length=0;e=e.responseState;o=a.id;a=a.rootSegmentID;n.push(e.startInlineScript);e.sentCompleteBoundaryFunction?n.push('$RC(\"'):(e.sentCompleteBoundaryFunction=!0,n.push('function $RC(a,b){a=document.getElementById(a);b=document.getElementById(b);b.parentNode.removeChild(b);if(a){a=a.previousSibling;var f=a.parentNode,c=a.nextSibling,e=0;do{if(c&&8===c.nodeType){var d=c.data;if(\"/$\"===d)if(0===e)break;else e--;else\"$\"!==d&&\"$?\"!==d&&\"$!\"!==d||e++}d=c.nextSibling;f.removeChild(c);c=d}while(c);for(;b.firstChild;)f.insertBefore(b.firstChild,c);a.data=\"$\";a._reactRetry&&a._reactRetry()}};$RC(\"'));if(null===o)throw Error(l$2(395));a=a.toString(16);n.push(o);n.push('\",\"');n.push(e.segmentPrefix);n.push(a);return n.push('\")<\\/script>')}function Qb$1(e,n,a,o){if(2===o.status)return!0;var l=o.id;if(-1===l){if(-1===(o.id=a.rootSegmentID))throw Error(l$2(392));return Ob$1(e,n,o)}Ob$1(e,n,o);e=e.responseState;n.push(e.startInlineScript);e.sentCompleteSegmentFunction?n.push('$RS(\"'):(e.sentCompleteSegmentFunction=!0,n.push('function $RS(a,b){a=document.getElementById(a);b=document.getElementById(b);for(a.parentNode.removeChild(a);a.firstChild;)b.parentNode.insertBefore(a.firstChild,b);b.parentNode.removeChild(b)};$RS(\"'));n.push(e.segmentPrefix);l=l.toString(16);n.push(l);n.push('\",\"');n.push(e.placeholderPrefix);n.push(l);return n.push('\")<\\/script>')}function Mb$1(e,n){try{var a=e.completedRootSegment;if(null!==a&&0===e.pendingRootTasks){Nb$1(e,n,a);e.completedRootSegment=null;var o=e.responseState.bootstrapChunks;for(a=0;a<o.length-1;a++)n.push(o[a]);a<o.length&&n.push(o[a])}var l,i=e.clientRenderedBoundaries;for(l=0;l<i.length;l++){var s=i[l];o=n;var c=e.responseState,d=s.id,f=s.errorDigest,h=s.errorMessage,g=s.errorComponentStack;o.push(c.startInlineScript);c.sentClientRenderFunction?o.push('$RX(\"'):(c.sentClientRenderFunction=!0,o.push('function $RX(b,c,d,e){var a=document.getElementById(b);a&&(b=a.previousSibling,b.data=\"$!\",a=a.dataset,c&&(a.dgst=c),d&&(a.msg=d),e&&(a.stck=e),b._reactRetry&&b._reactRetry())};$RX(\"'));if(null===d)throw Error(l$2(395));o.push(d);o.push('\"');if(f||h||g){o.push(\",\");var b=Da$1(f||\"\");o.push(b)}if(h||g){o.push(\",\");var m=Da$1(h||\"\");o.push(m)}if(g){o.push(\",\");var S=Da$1(g);o.push(S)}if(!o.push(\")<\\/script>\")){e.destination=null;l++;i.splice(0,l);return}}i.splice(0,l);var x=e.completedBoundaries;for(l=0;l<x.length;l++)if(!Pb$1(e,n,x[l])){e.destination=null;l++;x.splice(0,l);return}x.splice(0,l);var $=e.partialBoundaries;for(l=0;l<$.length;l++){var E=$[l];e:{i=e;s=n;var T=E.completedSegments;for(c=0;c<T.length;c++)if(!Qb$1(i,s,E,T[c])){c++;T.splice(0,c);var R=!1;break e}T.splice(0,c);R=!0}if(!R){e.destination=null;l++;$.splice(0,l);return}}$.splice(0,l);var _=e.completedBoundaries;for(l=0;l<_.length;l++)if(!Pb$1(e,n,_[l])){e.destination=null;l++;_.splice(0,l);return}_.splice(0,l)}finally{0===e.allPendingTasks&&0===e.pingedTasks.length&&0===e.clientRenderedBoundaries.length&&0===e.completedBoundaries.length&&n.push(null)}}function Rb$1(e,n){try{var a=e.abortableTasks;a.forEach((function(a){return Lb$1(a,e,n)}));a.clear();null!==e.destination&&Mb$1(e,e.destination)}catch(n){V$1(e,n),W$1(e,n)}}function Sb$1(){}function Tb$1(e,n,a,o){var l=!1,i=null,s=\"\",c={push:function(e){null!==e&&(s+=e);return!0},destroy:function(e){l=!0;i=e}},d=!1;e=Ab$1(e,Ea$1(a,n?n.identifierPrefix:void 0),{insertionMode:1,selectedValue:null},Infinity,Sb$1,void 0,(function(){d=!0}),void 0,void 0);Cb$1(e);Rb$1(e,o);if(1===e.status)e.status=2,c.destroy(e.fatalError);else if(2!==e.status&&null===e.destination){e.destination=c;try{Mb$1(e,c)}catch(n){V$1(e,n),W$1(e,n)}}if(l)throw i;if(!d)throw Error(l$2(426));return s}a.renderToNodeStream=function(){throw Error(l$2(207))};a.renderToStaticMarkup=function(e,n){return Tb$1(e,n,!0,'The server used \"renderToStaticMarkup\" which does not support Suspense. If you intended to have the server wait for the suspended component please switch to \"renderToReadableStream\" which supports Suspense on the server')};a.renderToStaticNodeStream=function(){throw Error(l$2(208))};a.renderToString=function(e,n){return Tb$1(e,n,!1,'The server used \"renderToString\" which does not support Suspense. If you intended for this Suspense boundary to render the fallback content on the server consider throwing an Error somewhere within the Suspense boundary. If you intended to have the server wait for the suspended component please switch to \"renderToReadableStream\" which supports Suspense on the server')};a.version=\"18.2.0\";var Fe=\"default\"in e?e.default:e;var Te={};var Re=Fe;function k(e){for(var n=\"https://reactjs.org/docs/error-decoder.html?invariant=\"+e,a=1;a<arguments.length;a++)n+=\"&args[]=\"+encodeURIComponent(arguments[a]);return\"Minified React error #\"+e+\"; visit \"+n+\" for the full message or use the non-minified dev environment for full errors and additional helpful warnings.\"}var Pe=null,_e=0;function p(e,n){if(0!==n.length)if(512<n.length)0<_e&&(e.enqueue(new Uint8Array(Pe.buffer,0,_e)),Pe=new Uint8Array(512),_e=0),e.enqueue(n);else{var a=Pe.length-_e;a<n.length&&(0===a?e.enqueue(Pe):(Pe.set(n.subarray(0,a),_e),e.enqueue(Pe),n=n.subarray(a)),Pe=new Uint8Array(512),_e=0);Pe.set(n,_e);_e+=n.length}}function t(e,n){p(e,n);return!0}function ba(e){Pe&&0<_e&&(e.enqueue(new Uint8Array(Pe.buffer,0,_e)),Pe=null,_e=0)}var Me=new TextEncoder;function u(e){return Me.encode(e)}function w(e){return Me.encode(e)}function da(e,n){\"function\"===typeof e.error?e.error(n):e.close()}var Ie=Object.prototype.hasOwnProperty,De=/^[:A-Z_a-z\\u00C0-\\u00D6\\u00D8-\\u00F6\\u00F8-\\u02FF\\u0370-\\u037D\\u037F-\\u1FFF\\u200C-\\u200D\\u2070-\\u218F\\u2C00-\\u2FEF\\u3001-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFFD][:A-Z_a-z\\u00C0-\\u00D6\\u00D8-\\u00F6\\u00F8-\\u02FF\\u0370-\\u037D\\u037F-\\u1FFF\\u200C-\\u200D\\u2070-\\u218F\\u2C00-\\u2FEF\\u3001-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFFD\\-.0-9\\u00B7\\u0300-\\u036F\\u203F-\\u2040]*$/,Be={},Ne={};function ia(e){if(Ie.call(Ne,e))return!0;if(Ie.call(Be,e))return!1;if(De.test(e))return Ne[e]=!0;Be[e]=!0;return!1}function y(e,n,a,o,l,i,s){this.acceptsBooleans=2===n||3===n||4===n;this.attributeName=o;this.attributeNamespace=l;this.mustUseProperty=a;this.propertyName=e;this.type=n;this.sanitizeURL=i;this.removeEmptyString=s}var ze={};\"children dangerouslySetInnerHTML defaultValue defaultChecked innerHTML suppressContentEditableWarning suppressHydrationWarning style\".split(\" \").forEach((function(e){ze[e]=new y(e,0,!1,e,null,!1,!1)}));[[\"acceptCharset\",\"accept-charset\"],[\"className\",\"class\"],[\"htmlFor\",\"for\"],[\"httpEquiv\",\"http-equiv\"]].forEach((function(e){var n=e[0];ze[n]=new y(n,1,!1,e[1],null,!1,!1)}));[\"contentEditable\",\"draggable\",\"spellCheck\",\"value\"].forEach((function(e){ze[e]=new y(e,2,!1,e.toLowerCase(),null,!1,!1)}));[\"autoReverse\",\"externalResourcesRequired\",\"focusable\",\"preserveAlpha\"].forEach((function(e){ze[e]=new y(e,2,!1,e,null,!1,!1)}));\"allowFullScreen async autoFocus autoPlay controls default defer disabled disablePictureInPicture disableRemotePlayback formNoValidate hidden loop noModule noValidate open playsInline readOnly required reversed scoped seamless itemScope\".split(\" \").forEach((function(e){ze[e]=new y(e,3,!1,e.toLowerCase(),null,!1,!1)}));[\"checked\",\"multiple\",\"muted\",\"selected\"].forEach((function(e){ze[e]=new y(e,3,!0,e,null,!1,!1)}));[\"capture\",\"download\"].forEach((function(e){ze[e]=new y(e,4,!1,e,null,!1,!1)}));[\"cols\",\"rows\",\"size\",\"span\"].forEach((function(e){ze[e]=new y(e,6,!1,e,null,!1,!1)}));[\"rowSpan\",\"start\"].forEach((function(e){ze[e]=new y(e,5,!1,e.toLowerCase(),null,!1,!1)}));var Ve=/[\\-:]([a-z])/g;function ka(e){return e[1].toUpperCase()}\"accent-height alignment-baseline arabic-form baseline-shift cap-height clip-path clip-rule color-interpolation color-interpolation-filters color-profile color-rendering dominant-baseline enable-background fill-opacity fill-rule flood-color flood-opacity font-family font-size font-size-adjust font-stretch font-style font-variant font-weight glyph-name glyph-orientation-horizontal glyph-orientation-vertical horiz-adv-x horiz-origin-x image-rendering letter-spacing lighting-color marker-end marker-mid marker-start overline-position overline-thickness paint-order panose-1 pointer-events rendering-intent shape-rendering stop-color stop-opacity strikethrough-position strikethrough-thickness stroke-dasharray stroke-dashoffset stroke-linecap stroke-linejoin stroke-miterlimit stroke-opacity stroke-width text-anchor text-decoration text-rendering underline-position underline-thickness unicode-bidi unicode-range units-per-em v-alphabetic v-hanging v-ideographic v-mathematical vector-effect vert-adv-y vert-origin-x vert-origin-y word-spacing writing-mode xmlns:xlink x-height\".split(\" \").forEach((function(e){var n=e.replace(Ve,ka);ze[n]=new y(n,1,!1,e,null,!1,!1)}));\"xlink:actuate xlink:arcrole xlink:role xlink:show xlink:title xlink:type\".split(\" \").forEach((function(e){var n=e.replace(Ve,ka);ze[n]=new y(n,1,!1,e,\"http://www.w3.org/1999/xlink\",!1,!1)}));[\"xml:base\",\"xml:lang\",\"xml:space\"].forEach((function(e){var n=e.replace(Ve,ka);ze[n]=new y(n,1,!1,e,\"http://www.w3.org/XML/1998/namespace\",!1,!1)}));[\"tabIndex\",\"crossOrigin\"].forEach((function(e){ze[e]=new y(e,1,!1,e.toLowerCase(),null,!1,!1)}));ze.xlinkHref=new y(\"xlinkHref\",1,!1,\"xlink:href\",\"http://www.w3.org/1999/xlink\",!0,!1);[\"src\",\"href\",\"action\",\"formAction\"].forEach((function(e){ze[e]=new y(e,1,!1,e.toLowerCase(),null,!0,!0)}));var Ae={animationIterationCount:!0,aspectRatio:!0,borderImageOutset:!0,borderImageSlice:!0,borderImageWidth:!0,boxFlex:!0,boxFlexGroup:!0,boxOrdinalGroup:!0,columnCount:!0,columns:!0,flex:!0,flexGrow:!0,flexPositive:!0,flexShrink:!0,flexNegative:!0,flexOrder:!0,gridArea:!0,gridRow:!0,gridRowEnd:!0,gridRowSpan:!0,gridRowStart:!0,gridColumn:!0,gridColumnEnd:!0,gridColumnSpan:!0,gridColumnStart:!0,fontWeight:!0,lineClamp:!0,lineHeight:!0,opacity:!0,order:!0,orphans:!0,tabSize:!0,widows:!0,zIndex:!0,zoom:!0,fillOpacity:!0,floodOpacity:!0,stopOpacity:!0,strokeDasharray:!0,strokeDashoffset:!0,strokeMiterlimit:!0,strokeOpacity:!0,strokeWidth:!0},Le=[\"Webkit\",\"ms\",\"Moz\",\"O\"];Object.keys(Ae).forEach((function(e){Le.forEach((function(n){n=n+e.charAt(0).toUpperCase()+e.substring(1);Ae[n]=Ae[e]}))}));var je=/[\"'&<>]/;function C(e){if(\"boolean\"===typeof e||\"number\"===typeof e)return\"\"+e;e=\"\"+e;var n=je.exec(e);if(n){var a,o=\"\",l=0;for(a=n.index;a<e.length;a++){switch(e.charCodeAt(a)){case 34:n=\"&quot;\";break;case 38:n=\"&amp;\";break;case 39:n=\"&#x27;\";break;case 60:n=\"&lt;\";break;case 62:n=\"&gt;\";break;default:continue}l!==a&&(o+=e.substring(l,a));l=a+1;o+=n}e=l!==a?o+e.substring(l,a):o}return e}var Oe=/([A-Z])/g,qe=/^ms-/,We=Array.isArray,He=w(\"<script>\"),Ue=w(\"<\\/script>\"),Ze=w('<script src=\"'),Xe=w('<script type=\"module\" src=\"'),Je=w('\" async=\"\"><\\/script>'),Ge=/(<\\/|<)(s)(cript)/gi;function ya(e,n,a,o){return n+(\"s\"===a?\"\\\\u0073\":\"\\\\u0053\")+o}function za(e,n,a,o,l){e=void 0===e?\"\":e;n=void 0===n?He:w('<script nonce=\"'+C(n)+'\">');var i=[];void 0!==a&&i.push(n,u((\"\"+a).replace(Ge,ya)),Ue);if(void 0!==o)for(a=0;a<o.length;a++)i.push(Ze,u(C(o[a])),Je);if(void 0!==l)for(o=0;o<l.length;o++)i.push(Xe,u(C(l[o])),Je);return{bootstrapChunks:i,startInlineScript:n,placeholderPrefix:w(e+\"P:\"),segmentPrefix:w(e+\"S:\"),boundaryPrefix:e+\"B:\",idPrefix:e,nextSuspenseID:0,sentCompleteSegmentFunction:!1,sentCompleteBoundaryFunction:!1,sentClientRenderFunction:!1}}function D(e,n){return{insertionMode:e,selectedValue:n}}function Aa(e){return D(\"http://www.w3.org/2000/svg\"===e?2:\"http://www.w3.org/1998/Math/MathML\"===e?3:0,null)}function Ba(e,n,a){switch(n){case\"select\":return D(1,null!=a.value?a.value:a.defaultValue);case\"svg\":return D(2,null);case\"math\":return D(3,null);case\"foreignObject\":return D(1,null);case\"table\":return D(4,null);case\"thead\":case\"tbody\":case\"tfoot\":return D(5,null);case\"colgroup\":return D(7,null);case\"tr\":return D(6,null)}return 4<=e.insertionMode||0===e.insertionMode?D(1,null):e}var Qe=w(\"\\x3c!-- --\\x3e\");function Da(e,n,a,o){if(\"\"===n)return o;o&&e.push(Qe);e.push(u(C(n)));return!0}var Ye=new Map,Ke=w(' style=\"'),et=w(\":\"),tt=w(\";\");function Ia(e,n,a){if(\"object\"!==typeof a)throw Error(k(62));n=!0;for(var o in a)if(Ie.call(a,o)){var l=a[o];if(null!=l&&\"boolean\"!==typeof l&&\"\"!==l){if(0===o.indexOf(\"--\")){var i=u(C(o));l=u(C((\"\"+l).trim()))}else{i=o;var s=Ye.get(i);void 0!==s||(s=w(C(i.replace(Oe,\"-$1\").toLowerCase().replace(qe,\"-ms-\"))),Ye.set(i,s)),i=s;l=\"number\"===typeof l?0===l||Ie.call(Ae,o)?u(\"\"+l):u(l+\"px\"):u(C((\"\"+l).trim()))}n?(n=!1,e.push(Ke,i,et,l)):e.push(tt,i,et,l)}}n||e.push(at)}var nt=w(\" \"),rt=w('=\"'),at=w('\"'),ot=w('=\"\"');function J(e,n,a,o){switch(a){case\"style\":Ia(e,n,o);return;case\"defaultValue\":case\"defaultChecked\":case\"innerHTML\":case\"suppressContentEditableWarning\":case\"suppressHydrationWarning\":return}if(!(2<a.length)||\"o\"!==a[0]&&\"O\"!==a[0]||\"n\"!==a[1]&&\"N\"!==a[1])if(n=ze.hasOwnProperty(a)?ze[a]:null,null!==n){switch(typeof o){case\"function\":case\"symbol\":return;case\"boolean\":if(!n.acceptsBooleans)return}a=u(n.attributeName);switch(n.type){case 3:o&&e.push(nt,a,ot);break;case 4:!0===o?e.push(nt,a,ot):!1!==o&&e.push(nt,a,rt,u(C(o)),at);break;case 5:isNaN(o)||e.push(nt,a,rt,u(C(o)),at);break;case 6:!isNaN(o)&&1<=o&&e.push(nt,a,rt,u(C(o)),at);break;default:n.sanitizeURL&&(o=\"\"+o),e.push(nt,a,rt,u(C(o)),at)}}else if(ia(a)){switch(typeof o){case\"function\":case\"symbol\":return;case\"boolean\":if(n=a.toLowerCase().slice(0,5),\"data-\"!==n&&\"aria-\"!==n)return}e.push(nt,u(a),rt,u(C(o)),at)}}var lt=w(\">\"),ut=w(\"/>\");function L(e,n,a){if(null!=n){if(null!=a)throw Error(k(60));if(\"object\"!==typeof n||!(\"__html\"in n))throw Error(k(61));n=n.__html;null!==n&&void 0!==n&&e.push(u(\"\"+n))}}function La(e){var n=\"\";Re.Children.forEach(e,(function(e){null!=e&&(n+=e)}));return n}var it=w(' selected=\"\"');function Na(e,n,a,o){e.push(M(a));var l,i=a=null;for(l in n)if(Ie.call(n,l)){var s=n[l];if(null!=s)switch(l){case\"children\":a=s;break;case\"dangerouslySetInnerHTML\":i=s;break;default:J(e,o,l,s)}}e.push(lt);L(e,i,a);return\"string\"===typeof a?(e.push(u(C(a))),null):a}var st=w(\"\\n\"),ct=/^[a-zA-Z][a-zA-Z:_\\.\\-\\d]*$/,dt=new Map;function M(e){var n=dt.get(e);if(void 0===n){if(!ct.test(e))throw Error(k(65,e));n=w(\"<\"+e);dt.set(e,n)}return n}var ft=w(\"<!DOCTYPE html>\");function Sa(e,n,a,o,l){switch(n){case\"select\":e.push(M(\"select\"));var i=null,s=null;for(h in a)if(Ie.call(a,h)){var c=a[h];if(null!=c)switch(h){case\"children\":i=c;break;case\"dangerouslySetInnerHTML\":s=c;break;case\"defaultValue\":case\"value\":break;default:J(e,o,h,c)}}e.push(lt);L(e,s,i);return i;case\"option\":s=l.selectedValue;e.push(M(\"option\"));var d=c=null,f=null;var h=null;for(i in a)if(Ie.call(a,i)){var g=a[i];if(null!=g)switch(i){case\"children\":c=g;break;case\"selected\":f=g;break;case\"dangerouslySetInnerHTML\":h=g;break;case\"value\":d=g;default:J(e,o,i,g)}}if(null!=s)if(a=null!==d?\"\"+d:La(c),We(s)){for(o=0;o<s.length;o++)if(\"\"+s[o]===a){e.push(it);break}}else\"\"+s===a&&e.push(it);else f&&e.push(it);e.push(lt);L(e,h,c);return c;case\"textarea\":e.push(M(\"textarea\"));h=s=i=null;for(c in a)if(Ie.call(a,c)&&(d=a[c],null!=d))switch(c){case\"children\":h=d;break;case\"value\":i=d;break;case\"defaultValue\":s=d;break;case\"dangerouslySetInnerHTML\":throw Error(k(91));default:J(e,o,c,d)}null===i&&null!==s&&(i=s);e.push(lt);if(null!=h){if(null!=i)throw Error(k(92));if(We(h)&&1<h.length)throw Error(k(93));i=\"\"+h}\"string\"===typeof i&&\"\\n\"===i[0]&&e.push(st);null!==i&&e.push(u(C(\"\"+i)));return null;case\"input\":e.push(M(\"input\"));d=h=c=i=null;for(s in a)if(Ie.call(a,s)&&(f=a[s],null!=f))switch(s){case\"children\":case\"dangerouslySetInnerHTML\":throw Error(k(399,\"input\"));case\"defaultChecked\":d=f;break;case\"defaultValue\":c=f;break;case\"checked\":h=f;break;case\"value\":i=f;break;default:J(e,o,s,f)}null!==h?J(e,o,\"checked\",h):null!==d&&J(e,o,\"checked\",d);null!==i?J(e,o,\"value\",i):null!==c&&J(e,o,\"value\",c);e.push(ut);return null;case\"menuitem\":e.push(M(\"menuitem\"));for(var b in a)if(Ie.call(a,b)&&(i=a[b],null!=i))switch(b){case\"children\":case\"dangerouslySetInnerHTML\":throw Error(k(400));default:J(e,o,b,i)}e.push(lt);return null;case\"title\":e.push(M(\"title\"));i=null;for(g in a)if(Ie.call(a,g)&&(s=a[g],null!=s))switch(g){case\"children\":i=s;break;case\"dangerouslySetInnerHTML\":throw Error(k(434));default:J(e,o,g,s)}e.push(lt);return i;case\"listing\":case\"pre\":e.push(M(n));s=i=null;for(d in a)if(Ie.call(a,d)&&(c=a[d],null!=c))switch(d){case\"children\":i=c;break;case\"dangerouslySetInnerHTML\":s=c;break;default:J(e,o,d,c)}e.push(lt);if(null!=s){if(null!=i)throw Error(k(60));if(\"object\"!==typeof s||!(\"__html\"in s))throw Error(k(61));a=s.__html;null!==a&&void 0!==a&&(\"string\"===typeof a&&0<a.length&&\"\\n\"===a[0]?e.push(st,u(a)):e.push(u(\"\"+a)))}\"string\"===typeof i&&\"\\n\"===i[0]&&e.push(st);return i;case\"area\":case\"base\":case\"br\":case\"col\":case\"embed\":case\"hr\":case\"img\":case\"keygen\":case\"link\":case\"meta\":case\"param\":case\"source\":case\"track\":case\"wbr\":e.push(M(n));for(var m in a)if(Ie.call(a,m)&&(i=a[m],null!=i))switch(m){case\"children\":case\"dangerouslySetInnerHTML\":throw Error(k(399,n));default:J(e,o,m,i)}e.push(ut);return null;case\"annotation-xml\":case\"color-profile\":case\"font-face\":case\"font-face-src\":case\"font-face-uri\":case\"font-face-format\":case\"font-face-name\":case\"missing-glyph\":return Na(e,a,n,o);case\"html\":return 0===l.insertionMode&&e.push(ft),Na(e,a,n,o);default:if(-1===n.indexOf(\"-\")&&\"string\"!==typeof a.is)return Na(e,a,n,o);e.push(M(n));s=i=null;for(f in a)if(Ie.call(a,f)&&(c=a[f],null!=c))switch(f){case\"children\":i=c;break;case\"dangerouslySetInnerHTML\":s=c;break;case\"style\":Ia(e,o,c);break;case\"suppressContentEditableWarning\":case\"suppressHydrationWarning\":break;default:ia(f)&&\"function\"!==typeof c&&\"symbol\"!==typeof c&&e.push(nt,u(f),rt,u(C(c)),at)}e.push(lt);L(e,s,i);return i}}var pt=w(\"</\"),ht=w(\">\"),gt=w('<template id=\"'),bt=w('\"></template>'),mt=w(\"\\x3c!--$--\\x3e\"),yt=w('\\x3c!--$?--\\x3e<template id=\"'),vt=w('\"></template>'),kt=w(\"\\x3c!--$!--\\x3e\"),wt=w(\"\\x3c!--/$--\\x3e\"),St=w(\"<template\"),xt=w('\"'),$t=w(' data-dgst=\"');w(' data-msg=\"');w(' data-stck=\"');var Ct=w(\"></template>\");function fb(e,n,a){p(e,yt);if(null===a)throw Error(k(395));p(e,a);return t(e,vt)}var Et=w('<div hidden id=\"'),Ft=w('\">'),Tt=w(\"</div>\"),Rt=w('<svg aria-hidden=\"true\" style=\"display:none\" id=\"'),Pt=w('\">'),_t=w(\"</svg>\"),Mt=w('<math aria-hidden=\"true\" style=\"display:none\" id=\"'),It=w('\">'),Dt=w(\"</math>\"),Bt=w('<table hidden id=\"'),Nt=w('\">'),zt=w(\"</table>\"),Vt=w('<table hidden><tbody id=\"'),At=w('\">'),Lt=w(\"</tbody></table>\"),jt=w('<table hidden><tr id=\"'),Ot=w('\">'),qt=w(\"</tr></table>\"),Wt=w('<table hidden><colgroup id=\"'),Ht=w('\">'),Ut=w(\"</colgroup></table>\");function Bb(e,n,a,o){switch(a.insertionMode){case 0:case 1:return p(e,Et),p(e,n.segmentPrefix),p(e,u(o.toString(16))),t(e,Ft);case 2:return p(e,Rt),p(e,n.segmentPrefix),p(e,u(o.toString(16))),t(e,Pt);case 3:return p(e,Mt),p(e,n.segmentPrefix),p(e,u(o.toString(16))),t(e,It);case 4:return p(e,Bt),p(e,n.segmentPrefix),p(e,u(o.toString(16))),t(e,Nt);case 5:return p(e,Vt),p(e,n.segmentPrefix),p(e,u(o.toString(16))),t(e,At);case 6:return p(e,jt),p(e,n.segmentPrefix),p(e,u(o.toString(16))),t(e,Ot);case 7:return p(e,Wt),p(e,n.segmentPrefix),p(e,u(o.toString(16))),t(e,Ht);default:throw Error(k(397))}}function Cb(e,n){switch(n.insertionMode){case 0:case 1:return t(e,Tt);case 2:return t(e,_t);case 3:return t(e,Dt);case 4:return t(e,zt);case 5:return t(e,Lt);case 6:return t(e,qt);case 7:return t(e,Ut);default:throw Error(k(397))}}var Zt=w('function $RS(a,b){a=document.getElementById(a);b=document.getElementById(b);for(a.parentNode.removeChild(a);a.firstChild;)b.parentNode.insertBefore(a.firstChild,b);b.parentNode.removeChild(b)};$RS(\"'),Xt=w('$RS(\"'),Jt=w('\",\"'),Gt=w('\")<\\/script>'),Qt=w('function $RC(a,b){a=document.getElementById(a);b=document.getElementById(b);b.parentNode.removeChild(b);if(a){a=a.previousSibling;var f=a.parentNode,c=a.nextSibling,e=0;do{if(c&&8===c.nodeType){var d=c.data;if(\"/$\"===d)if(0===e)break;else e--;else\"$\"!==d&&\"$?\"!==d&&\"$!\"!==d||e++}d=c.nextSibling;f.removeChild(c);c=d}while(c);for(;b.firstChild;)f.insertBefore(b.firstChild,c);a.data=\"$\";a._reactRetry&&a._reactRetry()}};$RC(\"'),Yt=w('$RC(\"'),Kt=w('\",\"'),en=w('\")<\\/script>'),tn=w('function $RX(b,c,d,e){var a=document.getElementById(b);a&&(b=a.previousSibling,b.data=\"$!\",a=a.dataset,c&&(a.dgst=c),d&&(a.msg=d),e&&(a.stck=e),b._reactRetry&&b._reactRetry())};$RX(\"'),nn=w('$RX(\"'),rn=w('\"'),an=w(\")<\\/script>\"),on=w(\",\"),ln=/[<\\u2028\\u2029]/g;function Sb(e){return JSON.stringify(e).replace(ln,(function(e){switch(e){case\"<\":return\"\\\\u003c\";case\"\\u2028\":return\"\\\\u2028\";case\"\\u2029\":return\"\\\\u2029\";default:throw Error(\"escapeJSStringsForInstructionScripts encountered a match it does not know how to replace. this means the match regex and the replacement characters are no longer in sync. This is a bug in React\")}}))}var un=Object.assign,sn=Symbol.for(\"react.element\"),cn=Symbol.for(\"react.portal\"),dn=Symbol.for(\"react.fragment\"),fn=Symbol.for(\"react.strict_mode\"),pn=Symbol.for(\"react.profiler\"),hn=Symbol.for(\"react.provider\"),gn=Symbol.for(\"react.context\"),bn=Symbol.for(\"react.forward_ref\"),mn=Symbol.for(\"react.suspense\"),yn=Symbol.for(\"react.suspense_list\"),vn=Symbol.for(\"react.memo\"),kn=Symbol.for(\"react.lazy\"),wn=Symbol.for(\"react.scope\"),Sn=Symbol.for(\"react.debug_trace_mode\"),xn=Symbol.for(\"react.legacy_hidden\"),$n=Symbol.for(\"react.default_value\"),Cn=Symbol.iterator;function jc(e){if(null==e)return null;if(\"function\"===typeof e)return e.displayName||e.name||null;if(\"string\"===typeof e)return e;switch(e){case dn:return\"Fragment\";case cn:return\"Portal\";case pn:return\"Profiler\";case fn:return\"StrictMode\";case mn:return\"Suspense\";case yn:return\"SuspenseList\"}if(\"object\"===typeof e)switch(e.$$typeof){case gn:return(e.displayName||\"Context\")+\".Consumer\";case hn:return(e._context.displayName||\"Context\")+\".Provider\";case bn:var n=e.render;e=e.displayName;e||(e=n.displayName||n.name||\"\",e=\"\"!==e?\"ForwardRef(\"+e+\")\":\"ForwardRef\");return e;case vn:return n=e.displayName||null,null!==n?n:jc(e.type)||\"Memo\";case kn:n=e._payload;e=e._init;try{return jc(e(n))}catch(e){}}return null}var En={};function lc(e,n){e=e.contextTypes;if(!e)return En;var a,o={};for(a in e)o[a]=n[a];return o}var Fn=null;function P(e,n){if(e!==n){e.context._currentValue=e.parentValue;e=e.parent;var a=n.parent;if(null===e){if(null!==a)throw Error(k(401))}else{if(null===a)throw Error(k(401));P(e,a)}n.context._currentValue=n.value}}function mc(e){e.context._currentValue=e.parentValue;e=e.parent;null!==e&&mc(e)}function nc(e){var n=e.parent;null!==n&&nc(n);e.context._currentValue=e.value}function oc(e,n){e.context._currentValue=e.parentValue;e=e.parent;if(null===e)throw Error(k(402));e.depth===n.depth?P(e,n):oc(e,n)}function pc(e,n){var a=n.parent;if(null===a)throw Error(k(402));e.depth===a.depth?P(e,a):pc(e,a);n.context._currentValue=n.value}function Q(e){var n=Fn;n!==e&&(null===n?nc(e):null===e?mc(n):n.depth===e.depth?P(n,e):n.depth>e.depth?oc(n,e):pc(n,e),Fn=e)}var Tn={isMounted:function(){return!1},enqueueSetState:function(e,n){e=e._reactInternals;null!==e.queue&&e.queue.push(n)},enqueueReplaceState:function(e,n){e=e._reactInternals;e.replace=!0;e.queue=[n]},enqueueForceUpdate:function(){}};function rc(e,n,a,o){var l=void 0!==e.state?e.state:null;e.updater=Tn;e.props=a;e.state=l;var i={queue:[],replace:!1};e._reactInternals=i;var s=n.contextType;e.context=\"object\"===typeof s&&null!==s?s._currentValue:o;s=n.getDerivedStateFromProps;\"function\"===typeof s&&(s=s(a,l),l=null===s||void 0===s?l:un({},l,s),e.state=l);if(\"function\"!==typeof n.getDerivedStateFromProps&&\"function\"!==typeof e.getSnapshotBeforeUpdate&&(\"function\"===typeof e.UNSAFE_componentWillMount||\"function\"===typeof e.componentWillMount))if(n=e.state,\"function\"===typeof e.componentWillMount&&e.componentWillMount(),\"function\"===typeof e.UNSAFE_componentWillMount&&e.UNSAFE_componentWillMount(),n!==e.state&&Tn.enqueueReplaceState(e,e.state,null),null!==i.queue&&0<i.queue.length)if(n=i.queue,s=i.replace,i.queue=null,i.replace=!1,s&&1===n.length)e.state=n[0];else{i=s?n[0]:e.state;l=!0;for(s=s?1:0;s<n.length;s++){var c=n[s];c=\"function\"===typeof c?c.call(e,i,a,o):c;null!=c&&(l?(l=!1,i=un({},i,c)):un(i,c))}e.state=i}else i.queue=null}var Rn={id:1,overflow:\"\"};function tc(e,n,a){var o=e.id;e=e.overflow;var l=32-Pn(o)-1;o&=~(1<<l);a+=1;var i=32-Pn(n)+l;if(30<i){var s=l-l%5;i=(o&(1<<s)-1).toString(32);o>>=s;l-=s;return{id:1<<32-Pn(n)+l|a<<l|o,overflow:i+e}}return{id:1<<i|a<<l|o,overflow:e}}var Pn=Math.clz32?Math.clz32:vc,_n=Math.log,Mn=Math.LN2;function vc(e){e>>>=0;return 0===e?32:31-(_n(e)/Mn|0)|0}function yc(e,n){return e===n&&(0!==e||1/e===1/n)||e!==e&&n!==n}var In=\"function\"===typeof Object.is?Object.is:yc,Dn=null,Bn=null,Nn=null,zn=null,Vn=!1,An=!1,Ln=0,jn=null,On=0;function W(){if(null===Dn)throw Error(k(321));return Dn}function Ec(){if(0<On)throw Error(k(312));return{memoizedState:null,queue:null,next:null}}function Fc(){null===zn?null===Nn?(Vn=!1,Nn=zn=Ec()):(Vn=!0,zn=Nn):null===zn.next?(Vn=!1,zn=zn.next=Ec()):(Vn=!0,zn=zn.next);return zn}function Gc(){Bn=Dn=null;An=!1;Nn=null;On=0;zn=jn=null}function Hc(e,n){return\"function\"===typeof n?n(e):n}function Ic(e,n,a){Dn=W();zn=Fc();if(Vn){var o=zn.queue;n=o.dispatch;if(null!==jn&&(a=jn.get(o),void 0!==a)){jn.delete(o);o=zn.memoizedState;do{o=e(o,a.action),a=a.next}while(null!==a);zn.memoizedState=o;return[o,n]}return[zn.memoizedState,n]}e=e===Hc?\"function\"===typeof n?n():n:void 0!==a?a(n):n;zn.memoizedState=e;e=zn.queue={last:null,dispatch:null};e=e.dispatch=Jc.bind(null,Dn,e);return[zn.memoizedState,e]}function Kc(e,n){Dn=W();zn=Fc();n=void 0===n?null:n;if(null!==zn){var a=zn.memoizedState;if(null!==a&&null!==n){var o=a[1];e:if(null===o)o=!1;else{for(var l=0;l<o.length&&l<n.length;l++)if(!In(n[l],o[l])){o=!1;break e}o=!0}if(o)return a[0]}}e=e();zn.memoizedState=[e,n];return e}function Jc(e,n,a){if(25<=On)throw Error(k(301));if(e===Dn)if(An=!0,e={action:a,next:null},null===jn&&(jn=new Map),a=jn.get(n),void 0===a)jn.set(n,e);else{for(n=a;null!==n.next;)n=n.next;n.next=e}}function Lc(){throw Error(k(394))}function Mc(){}var qn={readContext:function(e){return e._currentValue},useContext:function(e){W();return e._currentValue},useMemo:Kc,useReducer:Ic,useRef:function(e){Dn=W();zn=Fc();var n=zn.memoizedState;return null===n?(e={current:e},zn.memoizedState=e):n},useState:function(e){return Ic(Hc,e)},useInsertionEffect:Mc,useLayoutEffect:function(){},useCallback:function(e,n){return Kc((function(){return e}),n)},useImperativeHandle:Mc,useEffect:Mc,useDebugValue:Mc,useDeferredValue:function(e){W();return e},useTransition:function(){W();return[!1,Lc]},useId:function(){var e=Bn.treeContext;var n=e.overflow;e=e.id;e=(e&~(1<<32-Pn(e)-1)).toString(32)+n;var a=Wn;if(null===a)throw Error(k(404));n=Ln++;e=\":\"+a.idPrefix+\"R\"+e;0<n&&(e+=\"H\"+n.toString(32));return e+\":\"},useMutableSource:function(e,n){W();return n(e._source)},useSyncExternalStore:function(e,n,a){if(void 0===a)throw Error(k(407));return a()}},Wn=null,Hn=Re.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED.ReactCurrentDispatcher;function Qc(e){console.error(e);return null}function X(){}function Rc(e,n,a,o,l,i,s,c,d){var f=[],h=new Set;n={destination:null,responseState:n,progressiveChunkSize:void 0===o?12800:o,status:0,fatalError:null,nextSegmentId:0,allPendingTasks:0,pendingRootTasks:0,completedRootSegment:null,abortableTasks:h,pingedTasks:f,clientRenderedBoundaries:[],completedBoundaries:[],partialBoundaries:[],onError:void 0===l?Qc:l,onAllReady:void 0===i?X:i,onShellReady:void 0===s?X:s,onShellError:void 0===c?X:c,onFatalError:void 0===d?X:d};a=Sc(n,0,null,a,!1,!1);a.parentFlushed=!0;e=Tc(n,e,null,a,h,En,null,Rn);f.push(e);return n}function Tc(e,n,a,o,l,i,s,c){e.allPendingTasks++;null===a?e.pendingRootTasks++:a.pendingTasks++;var d={node:n,ping:function(){var n=e.pingedTasks;n.push(d);1===n.length&&Uc(e)},blockedBoundary:a,blockedSegment:o,abortSet:l,legacyContext:i,context:s,treeContext:c};l.add(d);return d}function Sc(e,n,a,o,l,i){return{status:0,id:-1,index:n,parentFlushed:!1,chunks:[],children:[],formatContext:o,boundary:a,lastPushedText:l,textEmbedded:i}}function Y(e,n){e=e.onError(n);if(null!=e&&\"string\"!==typeof e)throw Error('onError returned something with a type other than \"string\". onError should return a string and may return null or undefined but must not return anything else. It received something of type \"'+typeof e+'\" instead');return e}function Vc(e,n){var a=e.onShellError;a(n);a=e.onFatalError;a(n);null!==e.destination?(e.status=2,da(e.destination,n)):(e.status=1,e.fatalError=n)}function Wc(e,n,a,o,l){Dn={};Bn=n;Ln=0;for(e=a(o,l);An;)An=!1,Ln=0,On+=1,zn=null,e=a(o,l);Gc();return e}function Xc(e,n,a,o){var l=a.render(),i=o.childContextTypes;if(null!==i&&void 0!==i){var s=n.legacyContext;if(\"function\"!==typeof a.getChildContext)o=s;else{a=a.getChildContext();for(var c in a)if(!(c in i))throw Error(k(108,jc(o)||\"Unknown\",c));o=un({},s,a)}n.legacyContext=o;Z(e,n,l);n.legacyContext=s}else Z(e,n,l)}function Yc(e,n){if(e&&e.defaultProps){n=un({},n);e=e.defaultProps;for(var a in e)void 0===n[a]&&(n[a]=e[a]);return n}return n}function Zc(e,n,a,o,l){if(\"function\"===typeof a)if(a.prototype&&a.prototype.isReactComponent){l=lc(a,n.legacyContext);var i=a.contextType;i=new a(o,\"object\"===typeof i&&null!==i?i._currentValue:l);rc(i,a,o,l);Xc(e,n,i,a)}else{i=lc(a,n.legacyContext);l=Wc(e,n,a,o,i);var s=0!==Ln;if(\"object\"===typeof l&&null!==l&&\"function\"===typeof l.render&&void 0===l.$$typeof)rc(l,a,o,i),Xc(e,n,l,a);else if(s){o=n.treeContext;n.treeContext=tc(o,1,0);try{Z(e,n,l)}finally{n.treeContext=o}}else Z(e,n,l)}else{if(\"string\"!==typeof a){switch(a){case xn:case Sn:case fn:case pn:case dn:Z(e,n,o.children);return;case yn:Z(e,n,o.children);return;case wn:throw Error(k(343));case mn:e:{a=n.blockedBoundary;l=n.blockedSegment;i=o.fallback;o=o.children;s=new Set;var c={id:null,rootSegmentID:-1,parentFlushed:!1,pendingTasks:0,forceClientRender:!1,completedSegments:[],byteSize:0,fallbackAbortableTasks:s,errorDigest:null},d=Sc(e,l.chunks.length,c,l.formatContext,!1,!1);l.children.push(d);l.lastPushedText=!1;var f=Sc(e,0,null,l.formatContext,!1,!1);f.parentFlushed=!0;n.blockedBoundary=c;n.blockedSegment=f;try{if($c(e,n,o),f.lastPushedText&&f.textEmbedded&&f.chunks.push(Qe),f.status=1,ad(c,f),0===c.pendingTasks)break e}catch(n){f.status=4,c.forceClientRender=!0,c.errorDigest=Y(e,n)}finally{n.blockedBoundary=a,n.blockedSegment=l}n=Tc(e,i,a,d,s,n.legacyContext,n.context,n.treeContext);e.pingedTasks.push(n)}return}if(\"object\"===typeof a&&null!==a)switch(a.$$typeof){case bn:o=Wc(e,n,a.render,o,l);if(0!==Ln){a=n.treeContext;n.treeContext=tc(a,1,0);try{Z(e,n,o)}finally{n.treeContext=a}}else Z(e,n,o);return;case vn:a=a.type;o=Yc(a,o);Zc(e,n,a,o,l);return;case hn:l=o.children;a=a._context;o=o.value;i=a._currentValue;a._currentValue=o;s=Fn;Fn=o={parent:s,depth:null===s?0:s.depth+1,context:a,parentValue:i,value:o};n.context=o;Z(e,n,l);e=Fn;if(null===e)throw Error(k(403));o=e.parentValue;e.context._currentValue=o===$n?e.context._defaultValue:o;e=Fn=e.parent;n.context=e;return;case gn:o=o.children;o=o(a._currentValue);Z(e,n,o);return;case kn:l=a._init;a=l(a._payload);o=Yc(a,o);Zc(e,n,a,o,void 0);return}throw Error(k(130,null==a?a:typeof a,\"\"))}l=n.blockedSegment;i=Sa(l.chunks,a,o,e.responseState,l.formatContext);l.lastPushedText=!1;s=l.formatContext;l.formatContext=Ba(s,a,o);$c(e,n,i);l.formatContext=s;switch(a){case\"area\":case\"base\":case\"br\":case\"col\":case\"embed\":case\"hr\":case\"img\":case\"input\":case\"keygen\":case\"link\":case\"meta\":case\"param\":case\"source\":case\"track\":case\"wbr\":break;default:l.chunks.push(pt,u(a),ht)}l.lastPushedText=!1}}function Z(e,n,a){n.node=a;if(\"object\"===typeof a&&null!==a){switch(a.$$typeof){case sn:Zc(e,n,a.type,a.props,a.ref);return;case cn:throw Error(k(257));case kn:var o=a._init;a=o(a._payload);Z(e,n,a);return}if(We(a)){bd(e,n,a);return}null===a||\"object\"!==typeof a?o=null:(o=Cn&&a[Cn]||a[\"@@iterator\"],o=\"function\"===typeof o?o:null);if(o&&(o=o.call(a))){a=o.next();if(!a.done){var l=[];do{l.push(a.value),a=o.next()}while(!a.done);bd(e,n,l)}return}e=Object.prototype.toString.call(a);throw Error(k(31,\"[object Object]\"===e?\"object with keys {\"+Object.keys(a).join(\", \")+\"}\":e))}\"string\"===typeof a?(o=n.blockedSegment,o.lastPushedText=Da(n.blockedSegment.chunks,a,e.responseState,o.lastPushedText)):\"number\"===typeof a&&(o=n.blockedSegment,o.lastPushedText=Da(n.blockedSegment.chunks,\"\"+a,e.responseState,o.lastPushedText))}function bd(e,n,a){for(var o=a.length,l=0;l<o;l++){var i=n.treeContext;n.treeContext=tc(i,o,l);try{$c(e,n,a[l])}finally{n.treeContext=i}}}function $c(e,n,a){var o=n.blockedSegment.formatContext,l=n.legacyContext,i=n.context;try{return Z(e,n,a)}catch(d){if(Gc(),\"object\"!==typeof d||null===d||\"function\"!==typeof d.then)throw n.blockedSegment.formatContext=o,n.legacyContext=l,n.context=i,Q(i),d;a=d;var s=n.blockedSegment,c=Sc(e,s.chunks.length,null,s.formatContext,s.lastPushedText,!0);s.children.push(c);s.lastPushedText=!1;e=Tc(e,n.node,n.blockedBoundary,c,n.abortSet,n.legacyContext,n.context,n.treeContext).ping;a.then(e,e);n.blockedSegment.formatContext=o;n.legacyContext=l;n.context=i;Q(i)}}function cd(e){var n=e.blockedBoundary;e=e.blockedSegment;e.status=3;dd(this,n,e)}function ed(e,n,a){var o=e.blockedBoundary;e.blockedSegment.status=3;null===o?(n.allPendingTasks--,2!==n.status&&(n.status=2,null!==n.destination&&n.destination.close())):(o.pendingTasks--,o.forceClientRender||(o.forceClientRender=!0,e=void 0===a?Error(k(432)):a,o.errorDigest=n.onError(e),o.parentFlushed&&n.clientRenderedBoundaries.push(o)),o.fallbackAbortableTasks.forEach((function(e){return ed(e,n,a)})),o.fallbackAbortableTasks.clear(),n.allPendingTasks--,0===n.allPendingTasks&&(o=n.onAllReady,o()))}function ad(e,n){if(0===n.chunks.length&&1===n.children.length&&null===n.children[0].boundary){var a=n.children[0];a.id=n.id;a.parentFlushed=!0;1===a.status&&ad(e,a)}else e.completedSegments.push(n)}function dd(e,n,a){if(null===n){if(a.parentFlushed){if(null!==e.completedRootSegment)throw Error(k(389));e.completedRootSegment=a}e.pendingRootTasks--;0===e.pendingRootTasks&&(e.onShellError=X,n=e.onShellReady,n())}else n.pendingTasks--,n.forceClientRender||(0===n.pendingTasks?(a.parentFlushed&&1===a.status&&ad(n,a),n.parentFlushed&&e.completedBoundaries.push(n),n.fallbackAbortableTasks.forEach(cd,e),n.fallbackAbortableTasks.clear()):a.parentFlushed&&1===a.status&&(ad(n,a),1===n.completedSegments.length&&n.parentFlushed&&e.partialBoundaries.push(n)));e.allPendingTasks--;0===e.allPendingTasks&&(e=e.onAllReady,e())}function Uc(e){if(2!==e.status){var n=Fn,a=Hn.current;Hn.current=qn;var o=Wn;Wn=e.responseState;try{var l,i=e.pingedTasks;for(l=0;l<i.length;l++){var s=i[l];var c=e,d=s.blockedSegment;if(0===d.status){Q(s.context);try{Z(c,s,s.node),d.lastPushedText&&d.textEmbedded&&d.chunks.push(Qe),s.abortSet.delete(s),d.status=1,dd(c,s.blockedBoundary,d)}catch(e){if(Gc(),\"object\"===typeof e&&null!==e&&\"function\"===typeof e.then){var f=s.ping;e.then(f,f)}else{s.abortSet.delete(s);d.status=4;var h=s.blockedBoundary,g=e,b=Y(c,g);null===h?Vc(c,g):(h.pendingTasks--,h.forceClientRender||(h.forceClientRender=!0,h.errorDigest=b,h.parentFlushed&&c.clientRenderedBoundaries.push(h)));c.allPendingTasks--;if(0===c.allPendingTasks){var m=c.onAllReady;m()}}}}}i.splice(0,l);null!==e.destination&&fd(e,e.destination)}catch(n){Y(e,n),Vc(e,n)}finally{Wn=o,Hn.current=a,a===qn&&Q(n)}}}function gd(e,n,a){a.parentFlushed=!0;switch(a.status){case 0:var o=a.id=e.nextSegmentId++;a.lastPushedText=!1;a.textEmbedded=!1;e=e.responseState;p(n,gt);p(n,e.placeholderPrefix);e=u(o.toString(16));p(n,e);return t(n,bt);case 1:a.status=2;var l=!0;o=a.chunks;var i=0;a=a.children;for(var s=0;s<a.length;s++){for(l=a[s];i<l.index;i++)p(n,o[i]);l=hd(e,n,l)}for(;i<o.length-1;i++)p(n,o[i]);i<o.length&&(l=t(n,o[i]));return l;default:throw Error(k(390))}}function hd(e,n,a){var o=a.boundary;if(null===o)return gd(e,n,a);o.parentFlushed=!0;if(o.forceClientRender)o=o.errorDigest,t(n,kt),p(n,St),o&&(p(n,$t),p(n,u(C(o))),p(n,xt)),t(n,Ct),gd(e,n,a);else if(0<o.pendingTasks){o.rootSegmentID=e.nextSegmentId++;0<o.completedSegments.length&&e.partialBoundaries.push(o);var l=e.responseState;var i=l.nextSuspenseID++;l=w(l.boundaryPrefix+i.toString(16));o=o.id=l;fb(n,e.responseState,o);gd(e,n,a)}else if(o.byteSize>e.progressiveChunkSize)o.rootSegmentID=e.nextSegmentId++,e.completedBoundaries.push(o),fb(n,e.responseState,o.id),gd(e,n,a);else{t(n,mt);a=o.completedSegments;if(1!==a.length)throw Error(k(391));hd(e,n,a[0])}return t(n,wt)}function id(e,n,a){Bb(n,e.responseState,a.formatContext,a.id);hd(e,n,a);return Cb(n,a.formatContext)}function jd(e,n,a){for(var o=a.completedSegments,l=0;l<o.length;l++)kd(e,n,a,o[l]);o.length=0;e=e.responseState;o=a.id;a=a.rootSegmentID;p(n,e.startInlineScript);e.sentCompleteBoundaryFunction?p(n,Yt):(e.sentCompleteBoundaryFunction=!0,p(n,Qt));if(null===o)throw Error(k(395));a=u(a.toString(16));p(n,o);p(n,Kt);p(n,e.segmentPrefix);p(n,a);return t(n,en)}function kd(e,n,a,o){if(2===o.status)return!0;var l=o.id;if(-1===l){if(-1===(o.id=a.rootSegmentID))throw Error(k(392));return id(e,n,o)}id(e,n,o);e=e.responseState;p(n,e.startInlineScript);e.sentCompleteSegmentFunction?p(n,Xt):(e.sentCompleteSegmentFunction=!0,p(n,Zt));p(n,e.segmentPrefix);l=u(l.toString(16));p(n,l);p(n,Jt);p(n,e.placeholderPrefix);p(n,l);return t(n,Gt)}function fd(e,n){Pe=new Uint8Array(512);_e=0;try{var a=e.completedRootSegment;if(null!==a&&0===e.pendingRootTasks){hd(e,n,a);e.completedRootSegment=null;var o=e.responseState.bootstrapChunks;for(a=0;a<o.length-1;a++)p(n,o[a]);a<o.length&&t(n,o[a])}var l,i=e.clientRenderedBoundaries;for(l=0;l<i.length;l++){var s=i[l];o=n;var c=e.responseState,d=s.id,f=s.errorDigest,h=s.errorMessage,g=s.errorComponentStack;p(o,c.startInlineScript);c.sentClientRenderFunction?p(o,nn):(c.sentClientRenderFunction=!0,p(o,tn));if(null===d)throw Error(k(395));p(o,d);p(o,rn);(f||h||g)&&(p(o,on),p(o,u(Sb(f||\"\"))));(h||g)&&(p(o,on),p(o,u(Sb(h||\"\"))));g&&(p(o,on),p(o,u(Sb(g))));if(!t(o,an)){e.destination=null;l++;i.splice(0,l);return}}i.splice(0,l);var b=e.completedBoundaries;for(l=0;l<b.length;l++)if(!jd(e,n,b[l])){e.destination=null;l++;b.splice(0,l);return}b.splice(0,l);ba(n);Pe=new Uint8Array(512);_e=0;var m=e.partialBoundaries;for(l=0;l<m.length;l++){var S=m[l];e:{i=e;s=n;var x=S.completedSegments;for(c=0;c<x.length;c++)if(!kd(i,s,S,x[c])){c++;x.splice(0,c);var $=!1;break e}x.splice(0,c);$=!0}if(!$){e.destination=null;l++;m.splice(0,l);return}}m.splice(0,l);var E=e.completedBoundaries;for(l=0;l<E.length;l++)if(!jd(e,n,E[l])){e.destination=null;l++;E.splice(0,l);return}E.splice(0,l)}finally{ba(n),0===e.allPendingTasks&&0===e.pingedTasks.length&&0===e.clientRenderedBoundaries.length&&0===e.completedBoundaries.length&&n.close()}}function ld(e,n){try{var a=e.abortableTasks;a.forEach((function(a){return ed(a,e,n)}));a.clear();null!==e.destination&&fd(e,e.destination)}catch(n){Y(e,n),Vc(e,n)}}Te.renderToReadableStream=function(e,n){return new Promise((function(a,o){var l,i,s=new Promise((function(e,n){i=e;l=n})),c=Rc(e,za(n?n.identifierPrefix:void 0,n?n.nonce:void 0,n?n.bootstrapScriptContent:void 0,n?n.bootstrapScripts:void 0,n?n.bootstrapModules:void 0),Aa(n?n.namespaceURI:void 0),n?n.progressiveChunkSize:void 0,n?n.onError:void 0,i,(function(){var e=new ReadableStream({type:\"bytes\",pull:function(e){if(1===c.status)c.status=2,da(e,c.fatalError);else if(2!==c.status&&null===c.destination){c.destination=e;try{fd(c,e)}catch(e){Y(c,e),Vc(c,e)}}},cancel:function(){ld(c)}},{highWaterMark:0});e.allReady=s;a(e)}),(function(e){s.catch((function(){}));o(e)}),l);if(n&&n.signal){var d=n.signal,q=function(){ld(c,d.reason);d.removeEventListener(\"abort\",q)};d.addEventListener(\"abort\",q)}Uc(c)}))};Te.version=\"18.2.0\";var Un={};var Zn,Xn;Zn=a;Xn=Te;Un.version=Zn.version;Un.renderToString=Zn.renderToString;Un.renderToStaticMarkup=Zn.renderToStaticMarkup;Un.renderToNodeStream=Zn.renderToNodeStream;Un.renderToStaticNodeStream=Zn.renderToStaticNodeStream;Un.renderToReadableStream=Xn.renderToReadableStream;const Jn=Un.version,Gn=Un.renderToString,Qn=Un.renderToStaticMarkup,Yn=Un.renderToNodeStream,Kn=Un.renderToStaticNodeStream,er=Un.renderToReadableStream;export{Un as default,Yn as renderToNodeStream,er as renderToReadableStream,Qn as renderToStaticMarkup,Kn as renderToStaticNodeStream,Gn as renderToString,Jn as version};\n\n//# sourceMappingURL=server.browser.js.map","import { jsx as _jsx } from \"react/jsx-runtime\";\nimport * as React from \"react\";\nexport const containerStyles = {\n    width: \"100%\",\n    height: \"100%\",\n    display: \"flex\",\n    justifyContent: \"center\",\n    alignItems: \"center\"\n};\nconst nullIconStyle = {\n    minWidth: \"10px\",\n    minHeight: \"10px\",\n    maxWidth: \"20px\",\n    maxHeight: \"20px\",\n    width: \"60%\",\n    height: \"60%\"\n};\nconst emptyStateStyle = {\n    ...containerStyles,\n    borderRadius: 6,\n    background: \"rgba(149, 149, 149, 0.1)\",\n    border: \"1px dashed rgba(149, 149, 149, 0.15)\",\n    color: \"#a5a5a5\",\n    flexDirection: \"column\"\n};\nexport const NullState = /*#__PURE__*/ React.forwardRef((_, ref)=>{\n    return(/*#__PURE__*/ _jsx(\"div\", {\n        style: emptyStateStyle,\n        ref: ref\n    }));\n}) /*\n\n<svg\n                xmlns=\"http://www.w3.org/2000/svg\"\n                viewBox=\"0 0 30 30\"\n                style={nullIconStyle}\n            >\n                <path\n                    d=\"M 12.857 0 C 19.958 0 25.714 5.756 25.714 12.857 C 25.714 19.958 19.958 25.714 12.857 25.714 C 5.756 25.714 0 19.958 0 12.857 C 0 5.756 5.756 0 12.857 0 Z\"\n                    fill=\"#FFFFFF\"\n                ></path>\n                <path\n                    d=\"M 20.357 20.357 L 27.857 27.857\"\n                    fill=\"transparent\"\n                    strokeWidth=\"4.28\"\n                    stroke=\"#FFFFFF\"\n                    strokeLinecap=\"round\"\n                ></path>\n                <g transform=\"translate(9.643 6.429)\">\n                    <path\n                        d=\"M 3.214 12.857 L 3.214 12.857\"\n                        fill=\"transparent\"\n                        strokeWidth=\"3.75\"\n                        stroke=\"currentColor\"\n                        strokeLinecap=\"round\"\n                    ></path>\n                    <path\n                        d=\"M 0 3.214 C 0 1.004 1.843 0 3.214 0 C 4.586 0 6.429 0.603 6.429 3.214 C 6.429 5.826 3.214 5.913 3.214 7.232 C 3.214 8.552 3.214 8.571 3.214 8.571\"\n                        fill=\"transparent\"\n                        strokeWidth=\"3.22\"\n                        stroke=\"currentColor\"\n                        strokeLinecap=\"round\"\n                        strokeLinejoin=\"round\"\n                    ></path>\n                </g>\n            </svg>\n            */ ;\n\nexport const __FramerMetadata__ = {\"exports\":{\"containerStyles\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"NullState\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}}}}\n//# sourceMappingURL=./nullstate.map","/*\n * nullstate (framer/icon-nullstate@0.7.0)\n *\n * Learn More: https://www.framer.com/asset-urls\n */\n\nexport * from \"https://framerusercontent.com/modules/DyldKav0OOAWR3bCAlhK/8c3l9FzyOlGpbPncYhfc/nullstate.js\"\n","let Component;\nlet IconInner;\nvar Icon = (React) => {\n  if (!Component) {\n    Component = /* @__PURE__ */ new Map([\n      [\n        \"bold\",\n        /* @__PURE__ */ React.createElement(React.Fragment, null, /* @__PURE__ */ React.createElement(\"path\", { d: \"M222.14,105.85l-80-80a20,20,0,0,0-28.28,0l-80,80A19.86,19.86,0,0,0,28,120v96a12,12,0,0,0,12,12h64a12,12,0,0,0,12-12V164h24v52a12,12,0,0,0,12,12h64a12,12,0,0,0,12-12V120A19.86,19.86,0,0,0,222.14,105.85ZM204,204H164V152a12,12,0,0,0-12-12H104a12,12,0,0,0-12,12v52H52V121.65l76-76,76,76Z\" }))\n      ],\n      [\n        \"duotone\",\n        /* @__PURE__ */ React.createElement(React.Fragment, null, /* @__PURE__ */ React.createElement(\n          \"path\",\n          {\n            d: \"M216,120v96H152V152H104v64H40V120a8,8,0,0,1,2.34-5.66l80-80a8,8,0,0,1,11.32,0l80,80A8,8,0,0,1,216,120Z\",\n            opacity: \"0.2\"\n          }\n        ), /* @__PURE__ */ React.createElement(\"path\", { d: \"M219.31,108.68l-80-80a16,16,0,0,0-22.62,0l-80,80A15.87,15.87,0,0,0,32,120v96a8,8,0,0,0,8,8h64a8,8,0,0,0,8-8V160h32v56a8,8,0,0,0,8,8h64a8,8,0,0,0,8-8V120A15.87,15.87,0,0,0,219.31,108.68ZM208,208H160V152a8,8,0,0,0-8-8H104a8,8,0,0,0-8,8v56H48V120l80-80,80,80Z\" }))\n      ],\n      [\n        \"fill\",\n        /* @__PURE__ */ React.createElement(React.Fragment, null, /* @__PURE__ */ React.createElement(\"path\", { d: \"M224,120v96a8,8,0,0,1-8,8H160a8,8,0,0,1-8-8V164a4,4,0,0,0-4-4H108a4,4,0,0,0-4,4v52a8,8,0,0,1-8,8H40a8,8,0,0,1-8-8V120a16,16,0,0,1,4.69-11.31l80-80a16,16,0,0,1,22.62,0l80,80A16,16,0,0,1,224,120Z\" }))\n      ],\n      [\n        \"light\",\n        /* @__PURE__ */ React.createElement(React.Fragment, null, /* @__PURE__ */ React.createElement(\"path\", { d: \"M217.9,110.1l-80-80a14,14,0,0,0-19.8,0l-80,80A13.92,13.92,0,0,0,34,120v96a6,6,0,0,0,6,6h64a6,6,0,0,0,6-6V158h36v58a6,6,0,0,0,6,6h64a6,6,0,0,0,6-6V120A13.92,13.92,0,0,0,217.9,110.1ZM210,210H158V152a6,6,0,0,0-6-6H104a6,6,0,0,0-6,6v58H46V120a2,2,0,0,1,.58-1.42l80-80a2,2,0,0,1,2.84,0l80,80A2,2,0,0,1,210,120Z\" }))\n      ],\n      [\n        \"regular\",\n        /* @__PURE__ */ React.createElement(React.Fragment, null, /* @__PURE__ */ React.createElement(\"path\", { d: \"M219.31,108.68l-80-80a16,16,0,0,0-22.62,0l-80,80A15.87,15.87,0,0,0,32,120v96a8,8,0,0,0,8,8h64a8,8,0,0,0,8-8V160h32v56a8,8,0,0,0,8,8h64a8,8,0,0,0,8-8V120A15.87,15.87,0,0,0,219.31,108.68ZM208,208H160V152a8,8,0,0,0-8-8H104a8,8,0,0,0-8,8v56H48V120l80-80,80,80Z\" }))\n      ],\n      [\n        \"thin\",\n        /* @__PURE__ */ React.createElement(React.Fragment, null, /* @__PURE__ */ React.createElement(\"path\", { d: \"M216.49,111.51l-80-80a12,12,0,0,0-17,0l-80,80A12,12,0,0,0,36,120v96a4,4,0,0,0,4,4h64a4,4,0,0,0,4-4V156h40v60a4,4,0,0,0,4,4h64a4,4,0,0,0,4-4V120A12,12,0,0,0,216.49,111.51ZM212,212H156V152a4,4,0,0,0-4-4H104a4,4,0,0,0-4,4v60H44V120a4,4,0,0,1,1.17-2.83l80-80a4,4,0,0,1,5.66,0l80,80A4,4,0,0,1,212,120Z\" }))\n      ]\n    ]);\n    IconInner = React.forwardRef((props, ref) => /* @__PURE__ */ React.createElement(\"g\", { ref, ...props }, Component.get(props.weight)));\n  }\n  return IconInner;\n};\nconst __FramerMetadata__ = {\n  exports: {\n    default: {\n      type: \"reactComponent\",\n      slots: [],\n      annotations: { framerContractVersion: \"1\" }\n    },\n    __FramerMetadata__: { type: \"variable\" }\n  }\n};\nvar House_default = Icon;\nexport {\n  __FramerMetadata__,\n  House_default as default\n};\n","/*\n * House (phosphor-icons/House@0.0.57)\n *\n * Learn More: https://www.framer.com/asset-urls\n */\n\nexport * from \"https://framerusercontent.com/modules/Qc8yuHkQmGO0kFiSWbkX/rVmMAFttOHuuiwSg6KjZ/House.js\"\nexport { default } from \"https://framerusercontent.com/modules/Qc8yuHkQmGO0kFiSWbkX/rVmMAFttOHuuiwSg6KjZ/House.js\"\n","import{useMemo}from\"react\";import{ControlType}from\"framer\";/*\n ** ICON UTILS\n ** Pull as much re-usable logic into here as possible\n ** This will make it easier to replace in all icon components\n */ export const containerStyles={width:\"100%\",height:\"100%\",display:\"flex\",justifyContent:\"center\",alignItems:\"center\"};export const defaultEvents={onClick:{type:ControlType.EventHandler},onMouseDown:{type:ControlType.EventHandler},onMouseUp:{type:ControlType.EventHandler},onMouseEnter:{type:ControlType.EventHandler},onMouseLeave:{type:ControlType.EventHandler}};const findByArray=(arr,search)=>arr.find(a=>a.toLowerCase().includes(search));export function getIconSelection(iconKeys,selectByList,iconSearch=\"\",iconSelection,lowercaseIconKeyPairs){// gotta get the exact match first THEN find\n// have a set and try to access ?\nif(selectByList)return iconSelection;if(iconSearch==null||(iconSearch===null||iconSearch===void 0?void 0:iconSearch.length)===0)return null;const iconSearchTerm=iconSearch.toLowerCase().replace(/-|\\s/g,\"\");var _iconSearchTerm;// check for exact match, otherwise use .find\nconst searchResult=(_iconSearchTerm=lowercaseIconKeyPairs[iconSearchTerm])!==null&&_iconSearchTerm!==void 0?_iconSearchTerm:findByArray(iconKeys,iconSearchTerm);return searchResult;}export function useIconSelection(iconKeys,selectByList,iconSearch=\"\",iconSelection,lowercaseIconKeyPairs){// Clean search term\nconst iconSearchResult=useMemo(()=>{if(iconSearch==null||(iconSearch===null||iconSearch===void 0?void 0:iconSearch.length)===0)return null;const iconSearchTerm=iconSearch.toLowerCase().replace(/-|\\s/g,\"\");var _iconSearchTerm;// check for exact match, otherwise use .find\nconst searchResult=(_iconSearchTerm=lowercaseIconKeyPairs[iconSearchTerm])!==null&&_iconSearchTerm!==void 0?_iconSearchTerm:findByArray(iconKeys,iconSearchTerm);return searchResult;},[iconSelection,iconSearch]);const name=selectByList?iconSelection:iconSearchResult;return name;}\nexport const __FramerMetadata__ = {\"exports\":{\"getIconSelection\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"containerStyles\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"useIconSelection\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"defaultEvents\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./utils.map","import{jsx as _jsx}from\"react/jsx-runtime\";import*as React from\"react\";import{useState,useEffect,useRef}from\"react\";import{addPropertyControls,ControlType,RenderTarget}from\"framer\";import{motion}from\"framer-motion\";import{NullState}from\"https://framer.com/m/framer/icon-nullstate.js@0.7.0\";import HouseFactory from\"https://framer.com/m/phosphor-icons/House.js@0.0.57\";import{defaultEvents,useIconSelection}from\"https://framerusercontent.com/modules/Ma20hU0GGRxLxZphbywl/OSpwWF91FHPVFyQJjMHt/utils.js\";const iconKeys=[\"Acorn\",\"AddressBook\",\"AddressBookTabs\",\"AirTrafficControl\",\"Airplane\",\"AirplaneInFlight\",\"AirplaneLanding\",\"AirplaneTakeoff\",\"AirplaneTaxiing\",\"AirplaneTilt\",\"Airplay\",\"Alarm\",\"Alien\",\"AlignBottom\",\"AlignBottomSimple\",\"AlignCenterVertical\",\"AlignLeft\",\"AlignLeftSimple\",\"AlignRight\",\"AlignRightSimple\",\"AlignTop\",\"AlignTopSimple\",\"AmazonLogo\",\"Ambulance\",\"Anchor\",\"AnchorSimple\",\"AndroidLogo\",\"Angle\",\"AngularLogo\",\"Aperture\",\"AppStoreLogo\",\"AppWindow\",\"AppleLogo\",\"ApplePodcastsLogo\",\"ApproximateEquals\",\"Archive\",\"ArchiveBox\",\"ArchiveTray\",\"Armchair\",\"ArrowArcLeft\",\"ArrowArcRight\",\"ArrowBendDownLeft\",\"ArrowBendDownRight\",\"ArrowBendLeftDown\",\"ArrowBendLeftUp\",\"ArrowBendRightDown\",\"ArrowBendRightUp\",\"ArrowBendUpLeft\",\"ArrowBendUpRight\",\"ArrowCircleDown\",\"ArrowCircleDownLeft\",\"ArrowCircleDownRight\",\"ArrowCircleLeft\",\"ArrowCircleRight\",\"ArrowCircleUp\",\"ArrowCircleUpLeft\",\"ArrowCircleUpRight\",\"ArrowClockwise\",\"ArrowDown\",\"ArrowDownLeft\",\"ArrowDownRight\",\"ArrowElbowDownLeft\",\"ArrowElbowDownRight\",\"ArrowElbowLeft\",\"ArrowElbowLeftDown\",\"ArrowElbowLeftUp\",\"ArrowElbowRight\",\"ArrowElbowRightDown\",\"ArrowElbowRightUp\",\"ArrowElbowUpLeft\",\"ArrowElbowUpRight\",\"ArrowFatDown\",\"ArrowFatLeft\",\"ArrowFatLineDown\",\"ArrowFatLineLeft\",\"ArrowFatLineRight\",\"ArrowFatLineUp\",\"ArrowFatLinesDown\",\"ArrowFatLinesLeft\",\"ArrowFatLinesRight\",\"ArrowFatLinesUp\",\"ArrowFatRight\",\"ArrowFatUp\",\"ArrowLeft\",\"ArrowLineDown\",\"ArrowLineDownLeft\",\"ArrowLineDownRight\",\"ArrowLineLeft\",\"ArrowLineRight\",\"ArrowLineUp\",\"ArrowLineUpLeft\",\"ArrowLineUpRight\",\"ArrowRight\",\"ArrowSquareDown\",\"ArrowSquareDownLeft\",\"ArrowSquareDownRight\",\"ArrowSquareIn\",\"ArrowSquareLeft\",\"ArrowSquareOut\",\"ArrowSquareRight\",\"ArrowSquareUp\",\"ArrowSquareUpLeft\",\"ArrowSquareUpRight\",\"ArrowUDownLeft\",\"ArrowUDownRight\",\"ArrowULeftDown\",\"ArrowULeftUp\",\"ArrowURightDown\",\"ArrowURightUp\",\"ArrowUUpLeft\",\"ArrowUUpRight\",\"ArrowUp\",\"ArrowUpLeft\",\"ArrowUpRight\",\"ArrowsClockwise\",\"ArrowsDownUp\",\"ArrowsHorizontal\",\"ArrowsIn\",\"ArrowsInCardinal\",\"ArrowsInLineVertical\",\"ArrowsInSimple\",\"ArrowsLeftRight\",\"ArrowsMerge\",\"ArrowsOut\",\"ArrowsOutCardinal\",\"ArrowsOutSimple\",\"ArrowsSplit\",\"ArrowsVertical\",\"Article\",\"ArticleMedium\",\"ArticleNyTimes\",\"Asclepius\",\"Asterisk\",\"AsteriskSimple\",\"At\",\"Atom\",\"Avocado\",\"Axe\",\"Baby\",\"BabyCarriage\",\"Backpack\",\"Backspace\",\"Bag\",\"BagSimple\",\"Balloon\",\"Bandaids\",\"Bank\",\"Barbell\",\"Barcode\",\"Barn\",\"Barricade\",\"Baseball\",\"BaseballCap\",\"BaseballHelmet\",\"Basket\",\"Basketball\",\"Bathtub\",\"BatteryCharging\",\"BatteryEmpty\",\"BatteryFull\",\"BatteryHigh\",\"BatteryLow\",\"BatteryMedium\",\"BatteryPlus\",\"BatteryPlusVertical\",\"BatteryVerticalEmpty\",\"BatteryVerticalFull\",\"BatteryVerticalHigh\",\"BatteryVerticalLow\",\"BatteryWarning\",\"BeachBall\",\"Beanie\",\"Bed\",\"BeerBottle\",\"BeerStein\",\"BehanceLogo\",\"Bell\",\"BellRinging\",\"BellSimple\",\"BellSimpleRinging\",\"BellSimpleSlash\",\"BellSimpleZ\",\"BellSlash\",\"BellZ\",\"Belt\",\"BezierCurve\",\"Bicycle\",\"Binary\",\"Binoculars\",\"Biohazard\",\"Bird\",\"Blueprint\",\"Bluetooth\",\"BluetoothConnected\",\"BluetoothSlash\",\"BluetoothX\",\"Boat\",\"Bomb\",\"Bone\",\"Book\",\"BookBookmark\",\"BookOpen\",\"BookOpenText\",\"BookOpenUser\",\"BookUser\",\"Bookmark\",\"BookmarkSimple\",\"Bookmarks\",\"BookmarksSimple\",\"Books\",\"Boot\",\"Boules\",\"BoundingBox\",\"BowlFood\",\"BowlSteam\",\"BowlingBall\",\"BoxArrowDown\",\"BoxArrowUp\",\"BoxingGlove\",\"BracketsAngle\",\"BracketsCurly\",\"BracketsRound\",\"BracketsSquare\",\"Brain\",\"Brandy\",\"Bread\",\"Bridge\",\"Briefcase\",\"BriefcaseMetal\",\"Broadcast\",\"Broom\",\"Browser\",\"Browsers\",\"Bug\",\"BugBeetle\",\"BugDroid\",\"Building\",\"BuildingApartment\",\"BuildingOffice\",\"Buildings\",\"Bulldozer\",\"Bus\",\"Butterfly\",\"CableCar\",\"Cactus\",\"Cake\",\"Calculator\",\"Calendar\",\"CalendarBlank\",\"CalendarCheck\",\"CalendarDot\",\"CalendarDots\",\"CalendarHeart\",\"CalendarMinus\",\"CalendarPlus\",\"CalendarSlash\",\"CalendarStar\",\"CalendarX\",\"CallBell\",\"Camera\",\"CameraPlus\",\"CameraRotate\",\"CameraSlash\",\"Campfire\",\"Car\",\"CarBattery\",\"CarProfile\",\"CarSimple\",\"Cardholder\",\"Cards\",\"CardsThree\",\"CaretCircleDoubleUp\",\"CaretCircleDown\",\"CaretCircleLeft\",\"CaretCircleRight\",\"CaretCircleUp\",\"CaretCircleUpDown\",\"CaretDoubleDown\",\"CaretDoubleLeft\",\"CaretDoubleRight\",\"CaretDoubleUp\",\"CaretDown\",\"CaretLeft\",\"CaretLineDown\",\"CaretLineLeft\",\"CaretLineRight\",\"CaretLineUp\",\"CaretRight\",\"CaretUp\",\"CaretUpDown\",\"Carrot\",\"CashRegister\",\"CassetteTape\",\"CastleTurret\",\"Cat\",\"CellSignalFull\",\"CellSignalHigh\",\"CellSignalLow\",\"CellSignalMedium\",\"CellSignalNone\",\"CellSignalSlash\",\"CellSignalX\",\"CellTower\",\"Certificate\",\"Chair\",\"Chalkboard\",\"ChalkboardSimple\",\"ChalkboardTeacher\",\"Champagne\",\"ChargingStation\",\"ChartBar\",\"ChartBarHorizontal\",\"ChartDonut\",\"ChartLine\",\"ChartLineDown\",\"ChartLineUp\",\"ChartPie\",\"ChartPieSlice\",\"ChartPolar\",\"ChartScatter\",\"Chat\",\"ChatCentered\",\"ChatCenteredDots\",\"ChatCenteredSlash\",\"ChatCenteredText\",\"ChatCircle\",\"ChatCircleDots\",\"ChatCircleSlash\",\"ChatCircleText\",\"ChatDots\",\"ChatSlash\",\"ChatTeardrop\",\"ChatTeardropDots\",\"ChatTeardropSlash\",\"ChatTeardropText\",\"ChatText\",\"Chats\",\"ChatsCircle\",\"ChatsTeardrop\",\"Check\",\"CheckCircle\",\"CheckFat\",\"CheckSquare\",\"CheckSquareOffset\",\"Checkerboard\",\"Checks\",\"Cheers\",\"Cheese\",\"ChefHat\",\"Cherries\",\"Church\",\"Cigarette\",\"CigaretteSlash\",\"Circle\",\"CircleDashed\",\"CircleHalf\",\"CircleHalfTilt\",\"CircleNotch\",\"CirclesFour\",\"CirclesThree\",\"CirclesThreePlus\",\"Circuitry\",\"City\",\"Clipboard\",\"ClipboardText\",\"Clock\",\"ClockAfternoon\",\"ClockClockwise\",\"ClockCountdown\",\"ClockUser\",\"ClosedCaptioning\",\"Cloud\",\"CloudArrowDown\",\"CloudArrowUp\",\"CloudCheck\",\"CloudFog\",\"CloudLightning\",\"CloudMoon\",\"CloudRain\",\"CloudSlash\",\"CloudSnow\",\"CloudSun\",\"CloudWarning\",\"CloudX\",\"Clover\",\"Club\",\"CoatHanger\",\"CodaLogo\",\"Code\",\"CodeBlock\",\"CodeSimple\",\"CodepenLogo\",\"CodesandboxLogo\",\"Coffee\",\"CoffeeBean\",\"Coin\",\"CoinVertical\",\"Coins\",\"Columns\",\"ColumnsPlusLeft\",\"ColumnsPlusRight\",\"Command\",\"Compass\",\"CompassRose\",\"CompassTool\",\"ComputerTower\",\"Confetti\",\"ContactlessPayment\",\"Control\",\"Cookie\",\"CookingPot\",\"Copy\",\"CopySimple\",\"Copyleft\",\"Copyright\",\"CornersIn\",\"CornersOut\",\"Couch\",\"CourtBasketball\",\"Cow\",\"CowboyHat\",\"Cpu\",\"Crane\",\"CraneTower\",\"CreditCard\",\"Cricket\",\"Crop\",\"Cross\",\"Crosshair\",\"CrosshairSimple\",\"Crown\",\"CrownCross\",\"CrownSimple\",\"Cube\",\"CubeFocus\",\"CubeTransparent\",\"CurrencyBtc\",\"CurrencyCircleDollar\",\"CurrencyCny\",\"CurrencyDollar\",\"CurrencyDollarSimple\",\"CurrencyEth\",\"CurrencyEur\",\"CurrencyGbp\",\"CurrencyInr\",\"CurrencyJpy\",\"CurrencyKrw\",\"CurrencyKzt\",\"CurrencyNgn\",\"CurrencyRub\",\"Cursor\",\"CursorClick\",\"CursorText\",\"Cylinder\",\"Database\",\"Desk\",\"Desktop\",\"DesktopTower\",\"Detective\",\"DevToLogo\",\"DeviceMobile\",\"DeviceMobileCamera\",\"DeviceMobileSlash\",\"DeviceMobileSpeaker\",\"DeviceRotate\",\"DeviceTablet\",\"DeviceTabletCamera\",\"DeviceTabletSpeaker\",\"Devices\",\"Diamond\",\"DiamondsFour\",\"DiceFive\",\"DiceFour\",\"DiceOne\",\"DiceSix\",\"DiceThree\",\"DiceTwo\",\"Disc\",\"DiscoBall\",\"DiscordLogo\",\"Divide\",\"Dna\",\"Dog\",\"Door\",\"DoorOpen\",\"Dot\",\"DotOutline\",\"DotsNine\",\"DotsSix\",\"DotsSixVertical\",\"DotsThree\",\"DotsThreeCircle\",\"DotsThreeOutline\",\"DotsThreeVertical\",\"Download\",\"DownloadSimple\",\"Dress\",\"Dresser\",\"DribbbleLogo\",\"Drone\",\"Drop\",\"DropHalf\",\"DropHalfBottom\",\"DropSimple\",\"DropSlash\",\"DropboxLogo\",\"Ear\",\"EarSlash\",\"Egg\",\"EggCrack\",\"Eject\",\"EjectSimple\",\"Elevator\",\"Empty\",\"Engine\",\"Envelope\",\"EnvelopeOpen\",\"EnvelopeSimple\",\"EnvelopeSimpleOpen\",\"Equalizer\",\"Equals\",\"Eraser\",\"EscalatorDown\",\"EscalatorUp\",\"Exam\",\"ExclamationMark\",\"Exclude\",\"ExcludeSquare\",\"Export\",\"Eye\",\"EyeClosed\",\"EyeSlash\",\"Eyedropper\",\"EyedropperSample\",\"Eyeglasses\",\"Eyes\",\"FaceMask\",\"FacebookLogo\",\"Factory\",\"Faders\",\"FadersHorizontal\",\"FalloutShelter\",\"Fan\",\"Farm\",\"FastForward\",\"FastForwardCircle\",\"Feather\",\"FediverseLogo\",\"FigmaLogo\",\"File\",\"FileArchive\",\"FileArrowDown\",\"FileArrowUp\",\"FileAudio\",\"FileC\",\"FileCloud\",\"FileCode\",\"FileCpp\",\"FileCss\",\"FileCsv\",\"FileDashed\",\"FileDoc\",\"FileHtml\",\"FileImage\",\"FileIni\",\"FileJpg\",\"FileJs\",\"FileJsx\",\"FileLock\",\"FileMagnifyingGlass\",\"FileMd\",\"FileMinus\",\"FilePdf\",\"FilePlus\",\"FilePng\",\"FilePpt\",\"FilePy\",\"FileRs\",\"FileSql\",\"FileSvg\",\"FileText\",\"FileTs\",\"FileTsx\",\"FileTxt\",\"FileVideo\",\"FileVue\",\"FileX\",\"FileXls\",\"FileZip\",\"Files\",\"FilmReel\",\"FilmScript\",\"FilmSlate\",\"FilmStrip\",\"Fingerprint\",\"FingerprintSimple\",\"FinnTheHuman\",\"Fire\",\"FireExtinguisher\",\"FireSimple\",\"FireTruck\",\"FirstAid\",\"FirstAidKit\",\"Fish\",\"FishSimple\",\"Flag\",\"FlagBanner\",\"FlagBannerFold\",\"FlagCheckered\",\"FlagPennant\",\"Flame\",\"Flashlight\",\"Flask\",\"FlipHorizontal\",\"FlipVertical\",\"FloppyDisk\",\"FloppyDiskBack\",\"FlowArrow\",\"Flower\",\"FlowerLotus\",\"FlowerTulip\",\"FlyingSaucer\",\"Folder\",\"FolderDashed\",\"FolderLock\",\"FolderMinus\",\"FolderNotch\",\"FolderNotchMinus\",\"FolderNotchOpen\",\"FolderNotchPlus\",\"FolderOpen\",\"FolderPlus\",\"FolderSimple\",\"FolderSimpleDashed\",\"FolderSimpleLock\",\"FolderSimpleMinus\",\"FolderSimplePlus\",\"FolderSimpleStar\",\"FolderSimpleUser\",\"FolderStar\",\"FolderUser\",\"Folders\",\"Football\",\"FootballHelmet\",\"Footprints\",\"ForkKnife\",\"FourK\",\"FrameCorners\",\"FramerLogo\",\"Function\",\"Funnel\",\"FunnelSimple\",\"FunnelSimpleX\",\"FunnelX\",\"GameController\",\"Garage\",\"GasCan\",\"GasPump\",\"Gauge\",\"Gavel\",\"Gear\",\"GearFine\",\"GearSix\",\"GenderFemale\",\"GenderIntersex\",\"GenderMale\",\"GenderNeuter\",\"GenderNonbinary\",\"GenderTransgender\",\"Ghost\",\"Gif\",\"Gift\",\"GitBranch\",\"GitCommit\",\"GitDiff\",\"GitFork\",\"GitMerge\",\"GitPullRequest\",\"GithubLogo\",\"GitlabLogo\",\"GitlabLogoSimple\",\"Globe\",\"GlobeHemisphereEast\",\"GlobeHemisphereWest\",\"GlobeSimple\",\"GlobeSimpleX\",\"GlobeStand\",\"GlobeX\",\"Goggles\",\"Golf\",\"GoodreadsLogo\",\"GoogleCardboardLogo\",\"GoogleChromeLogo\",\"GoogleDriveLogo\",\"GoogleLogo\",\"GooglePhotosLogo\",\"GooglePlayLogo\",\"GooglePodcastsLogo\",\"Gps\",\"GpsFix\",\"GpsSlash\",\"Gradient\",\"GraduationCap\",\"Grains\",\"GrainsSlash\",\"Graph\",\"GraphicsCard\",\"GreaterThan\",\"GreaterThanOrEqual\",\"GridFour\",\"GridNine\",\"Guitar\",\"HairDryer\",\"Hamburger\",\"Hammer\",\"Hand\",\"HandArrowDown\",\"HandArrowUp\",\"HandCoins\",\"HandDeposit\",\"HandEye\",\"HandFist\",\"HandGrabbing\",\"HandHeart\",\"HandPalm\",\"HandPeace\",\"HandPointing\",\"HandSoap\",\"HandSwipeLeft\",\"HandSwipeRight\",\"HandTap\",\"HandWaving\",\"HandWithdraw\",\"Handbag\",\"HandbagSimple\",\"HandsClapping\",\"HandsPraying\",\"Handshake\",\"HardDrive\",\"HardDrives\",\"HardHat\",\"Hash\",\"HashStraight\",\"HeadCircuit\",\"Headlights\",\"Headphones\",\"Headset\",\"Heart\",\"HeartBreak\",\"HeartHalf\",\"HeartStraight\",\"HeartStraightBreak\",\"Heartbeat\",\"Hexagon\",\"HighDefinition\",\"HighHeel\",\"Highlighter\",\"HighlighterCircle\",\"Hockey\",\"Hoodie\",\"Horse\",\"Hospital\",\"Hourglass\",\"HourglassHigh\",\"HourglassLow\",\"HourglassMedium\",\"HourglassSimple\",\"HourglassSimpleHigh\",\"HourglassSimpleLow\",\"House\",\"HouseLine\",\"HouseSimple\",\"Hurricane\",\"IceCream\",\"IdentificationBadge\",\"IdentificationCard\",\"Image\",\"ImageBroken\",\"ImageSquare\",\"Images\",\"ImagesSquare\",\"Infinity\",\"Info\",\"InstagramLogo\",\"Intersect\",\"IntersectSquare\",\"IntersectThree\",\"Intersection\",\"Invoice\",\"Island\",\"Jar\",\"JarLabel\",\"Jeep\",\"Joystick\",\"Kanban\",\"Key\",\"KeyReturn\",\"Keyboard\",\"Keyhole\",\"Knife\",\"Ladder\",\"LadderSimple\",\"Lamp\",\"LampPendant\",\"Laptop\",\"Lasso\",\"LastfmLogo\",\"Layout\",\"Leaf\",\"Lectern\",\"Lego\",\"LegoSmiley\",\"LessThan\",\"LessThanOrEqual\",\"LetterCircleH\",\"LetterCircleP\",\"LetterCircleV\",\"Lifebuoy\",\"Lightbulb\",\"LightbulbFilament\",\"Lighthouse\",\"Lightning\",\"LightningA\",\"LightningSlash\",\"LineSegment\",\"LineSegments\",\"LineVertical\",\"Link\",\"LinkBreak\",\"LinkSimple\",\"LinkSimpleBreak\",\"LinkSimpleHorizontal\",\"LinkedinLogo\",\"LinktreeLogo\",\"LinuxLogo\",\"List\",\"ListBullets\",\"ListChecks\",\"ListDashes\",\"ListHeart\",\"ListMagnifyingGlass\",\"ListNumbers\",\"ListPlus\",\"ListStar\",\"Lock\",\"LockKey\",\"LockKeyOpen\",\"LockLaminated\",\"LockLaminatedOpen\",\"LockOpen\",\"LockSimple\",\"LockSimpleOpen\",\"Lockers\",\"Log\",\"MagicWand\",\"Magnet\",\"MagnetStraight\",\"MagnifyingGlass\",\"MagnifyingGlassMinus\",\"MagnifyingGlassPlus\",\"Mailbox\",\"MapPin\",\"MapPinArea\",\"MapPinLine\",\"MapPinPlus\",\"MapPinSimple\",\"MapPinSimpleArea\",\"MapPinSimpleLine\",\"MapTrifold\",\"MarkdownLogo\",\"MarkerCircle\",\"Martini\",\"MaskHappy\",\"MaskSad\",\"MastodonLogo\",\"MathOperations\",\"MatrixLogo\",\"Medal\",\"MedalMilitary\",\"MediumLogo\",\"Megaphone\",\"MegaphoneSimple\",\"MemberOf\",\"Memory\",\"MessengerLogo\",\"MetaLogo\",\"Meteor\",\"Metronome\",\"Microphone\",\"MicrophoneSlash\",\"MicrophoneStage\",\"Microscope\",\"MicrosoftExcelLogo\",\"MicrosoftOutlookLogo\",\"MicrosoftTeamsLogo\",\"MicrosoftWordLogo\",\"Minus\",\"MinusCircle\",\"MinusSquare\",\"Money\",\"MoneyWavy\",\"Monitor\",\"MonitorArrowUp\",\"MonitorPlay\",\"Moon\",\"MoonStars\",\"Moped\",\"MopedFront\",\"Mosque\",\"Motorcycle\",\"Mountains\",\"Mouse\",\"MouseLeftClick\",\"MouseMiddleClick\",\"MouseRightClick\",\"MouseScroll\",\"MouseSimple\",\"MusicNote\",\"MusicNoteSimple\",\"MusicNotes\",\"MusicNotesMinus\",\"MusicNotesPlus\",\"MusicNotesSimple\",\"NavigationArrow\",\"Needle\",\"Network\",\"NetworkSlash\",\"NetworkX\",\"Newspaper\",\"NewspaperClipping\",\"NotEquals\",\"NotMemberOf\",\"NotSubsetOf\",\"NotSupersetOf\",\"Notches\",\"Note\",\"NoteBlank\",\"NotePencil\",\"Notebook\",\"Notepad\",\"Notification\",\"NotionLogo\",\"NuclearPlant\",\"NumberCircleEight\",\"NumberCircleFive\",\"NumberCircleFour\",\"NumberCircleNine\",\"NumberCircleOne\",\"NumberCircleSeven\",\"NumberCircleSix\",\"NumberCircleThree\",\"NumberCircleTwo\",\"NumberCircleZero\",\"NumberEight\",\"NumberFive\",\"NumberFour\",\"NumberNine\",\"NumberOne\",\"NumberSeven\",\"NumberSix\",\"NumberSquareEight\",\"NumberSquareFive\",\"NumberSquareFour\",\"NumberSquareNine\",\"NumberSquareOne\",\"NumberSquareSeven\",\"NumberSquareSix\",\"NumberSquareThree\",\"NumberSquareTwo\",\"NumberSquareZero\",\"NumberThree\",\"NumberTwo\",\"NumberZero\",\"Numpad\",\"Nut\",\"NyTimesLogo\",\"Octagon\",\"OfficeChair\",\"Onigiri\",\"OpenAiLogo\",\"Option\",\"Orange\",\"OrangeSlice\",\"Oven\",\"Package\",\"PaintBrush\",\"PaintBrushBroad\",\"PaintBrushHousehold\",\"PaintBucket\",\"PaintRoller\",\"Palette\",\"Panorama\",\"Pants\",\"PaperPlane\",\"PaperPlaneRight\",\"PaperPlaneTilt\",\"Paperclip\",\"PaperclipHorizontal\",\"Parachute\",\"Paragraph\",\"Parallelogram\",\"Park\",\"Password\",\"Path\",\"PatreonLogo\",\"Pause\",\"PauseCircle\",\"PawPrint\",\"PaypalLogo\",\"Peace\",\"Pen\",\"PenNib\",\"PenNibStraight\",\"Pencil\",\"PencilCircle\",\"PencilLine\",\"PencilRuler\",\"PencilSimple\",\"PencilSimpleLine\",\"PencilSimpleSlash\",\"PencilSlash\",\"Pentagon\",\"Pentagram\",\"Pepper\",\"Percent\",\"Person\",\"PersonArmsSpread\",\"PersonSimple\",\"PersonSimpleBike\",\"PersonSimpleCircle\",\"PersonSimpleHike\",\"PersonSimpleRun\",\"PersonSimpleSki\",\"PersonSimpleSwim\",\"PersonSimpleTaiChi\",\"PersonSimpleThrow\",\"PersonSimpleWalk\",\"Perspective\",\"Phone\",\"PhoneCall\",\"PhoneDisconnect\",\"PhoneIncoming\",\"PhoneList\",\"PhoneOutgoing\",\"PhonePause\",\"PhonePlus\",\"PhoneSlash\",\"PhoneTransfer\",\"PhoneX\",\"PhosphorLogo\",\"Pi\",\"PianoKeys\",\"PicnicTable\",\"PictureInPicture\",\"PiggyBank\",\"Pill\",\"PingPong\",\"PintGlass\",\"PinterestLogo\",\"Pinwheel\",\"Pipe\",\"PipeWrench\",\"PixLogo\",\"Pizza\",\"Placeholder\",\"Planet\",\"Plant\",\"Play\",\"PlayCircle\",\"PlayPause\",\"Playlist\",\"Plug\",\"PlugCharging\",\"Plugs\",\"PlugsConnected\",\"Plus\",\"PlusCircle\",\"PlusMinus\",\"PlusSquare\",\"PokerChip\",\"PoliceCar\",\"Polygon\",\"Popcorn\",\"Popsicle\",\"PottedPlant\",\"Power\",\"Prescription\",\"Presentation\",\"PresentationChart\",\"Printer\",\"Prohibit\",\"ProhibitInset\",\"ProjectorScreen\",\"ProjectorScreenChart\",\"Pulse\",\"PushPin\",\"PushPinSimple\",\"PushPinSimpleSlash\",\"PushPinSlash\",\"PuzzlePiece\",\"QrCode\",\"Question\",\"QuestionMark\",\"Queue\",\"Quotes\",\"Rabbit\",\"Racquet\",\"Radical\",\"Radio\",\"RadioButton\",\"Radioactive\",\"Rainbow\",\"RainbowCloud\",\"Ranking\",\"ReadCvLogo\",\"Receipt\",\"ReceiptX\",\"Record\",\"Rectangle\",\"RectangleDashed\",\"Recycle\",\"RedditLogo\",\"Repeat\",\"RepeatOnce\",\"ReplitLogo\",\"Resize\",\"Rewind\",\"RewindCircle\",\"RoadHorizon\",\"Robot\",\"Rocket\",\"RocketLaunch\",\"Rows\",\"RowsPlusBottom\",\"RowsPlusTop\",\"Rss\",\"RssSimple\",\"Rug\",\"Ruler\",\"Sailboat\",\"Scales\",\"Scan\",\"ScanSmiley\",\"Scissors\",\"Scooter\",\"Screencast\",\"Screwdriver\",\"Scribble\",\"ScribbleLoop\",\"Scroll\",\"Seal\",\"SealCheck\",\"SealPercent\",\"SealQuestion\",\"SealWarning\",\"Seat\",\"Seatbelt\",\"SecurityCamera\",\"Selection\",\"SelectionAll\",\"SelectionBackground\",\"SelectionForeground\",\"SelectionInverse\",\"SelectionPlus\",\"SelectionSlash\",\"Shapes\",\"Share\",\"ShareFat\",\"ShareNetwork\",\"Shield\",\"ShieldCheck\",\"ShieldCheckered\",\"ShieldChevron\",\"ShieldPlus\",\"ShieldSlash\",\"ShieldStar\",\"ShieldWarning\",\"ShippingContainer\",\"ShirtFolded\",\"ShootingStar\",\"ShoppingBag\",\"ShoppingBagOpen\",\"ShoppingCart\",\"ShoppingCartSimple\",\"Shovel\",\"Shower\",\"Shrimp\",\"Shuffle\",\"ShuffleAngular\",\"ShuffleSimple\",\"Sidebar\",\"SidebarSimple\",\"Sigma\",\"SignIn\",\"SignOut\",\"Signature\",\"Signpost\",\"SimCard\",\"Siren\",\"SketchLogo\",\"SkipBack\",\"SkipBackCircle\",\"SkipForward\",\"SkipForwardCircle\",\"Skull\",\"SkypeLogo\",\"SlackLogo\",\"Sliders\",\"SlidersHorizontal\",\"Slideshow\",\"Smiley\",\"SmileyAngry\",\"SmileyBlank\",\"SmileyMeh\",\"SmileyMelting\",\"SmileyNervous\",\"SmileySad\",\"SmileySticker\",\"SmileyWink\",\"SmileyXEyes\",\"SnapchatLogo\",\"Sneaker\",\"SneakerMove\",\"Snowflake\",\"SoccerBall\",\"Sock\",\"SolarPanel\",\"SolarRoof\",\"SortAscending\",\"SortDescending\",\"SoundcloudLogo\",\"Spade\",\"Sparkle\",\"SpeakerHifi\",\"SpeakerHigh\",\"SpeakerLow\",\"SpeakerNone\",\"SpeakerSimpleHigh\",\"SpeakerSimpleLow\",\"SpeakerSimpleNone\",\"SpeakerSimpleSlash\",\"SpeakerSimpleX\",\"SpeakerSlash\",\"SpeakerX\",\"Speedometer\",\"Sphere\",\"Spinner\",\"SpinnerBall\",\"SpinnerGap\",\"Spiral\",\"SplitHorizontal\",\"SplitVertical\",\"SpotifyLogo\",\"SprayBottle\",\"Square\",\"SquareHalf\",\"SquareHalfBottom\",\"SquareLogo\",\"SquareSplitVertical\",\"SquaresFour\",\"Stack\",\"StackMinus\",\"StackOverflowLogo\",\"StackPlus\",\"StackSimple\",\"Stairs\",\"Stamp\",\"StandardDefinition\",\"Star\",\"StarAndCrescent\",\"StarFour\",\"StarHalf\",\"StarOfDavid\",\"SteamLogo\",\"SteeringWheel\",\"Steps\",\"Stethoscope\",\"Sticker\",\"Stool\",\"Stop\",\"StopCircle\",\"Storefront\",\"Strategy\",\"StripeLogo\",\"Student\",\"SubsetOf\",\"SubsetProperOf\",\"Subtitles\",\"SubtitlesSlash\",\"Subtract\",\"SubtractSquare\",\"Subway\",\"Suitcase\",\"SuitcaseRolling\",\"SuitcaseSimple\",\"Sun\",\"SunDim\",\"SunHorizon\",\"Sunglasses\",\"SupersetOf\",\"SupersetProperOf\",\"Swap\",\"Swatches\",\"SwimmingPool\",\"Sword\",\"Synagogue\",\"Syringe\",\"TShirt\",\"Table\",\"Tabs\",\"Tag\",\"TagChevron\",\"TagSimple\",\"Target\",\"Taxi\",\"TeaBag\",\"TelegramLogo\",\"Television\",\"TelevisionSimple\",\"TennisBall\",\"Tent\",\"Terminal\",\"TerminalWindow\",\"TestTube\",\"TextAUnderline\",\"TextAa\",\"TextAlignCenter\",\"TextAlignJustify\",\"TextAlignLeft\",\"TextAlignRight\",\"TextB\",\"TextColumns\",\"TextH\",\"TextHFive\",\"TextHFour\",\"TextHOne\",\"TextHSix\",\"TextHThree\",\"TextHTwo\",\"TextIndent\",\"TextItalic\",\"TextOutdent\",\"TextStrikethrough\",\"TextSubscript\",\"TextSuperscript\",\"TextT\",\"TextTSlash\",\"TextUnderline\",\"Textbox\",\"Thermometer\",\"ThermometerCold\",\"ThermometerHot\",\"ThermometerSimple\",\"ThreadsLogo\",\"ThreeD\",\"ThumbsDown\",\"ThumbsUp\",\"Ticket\",\"TidalLogo\",\"TiktokLogo\",\"Tilde\",\"Timer\",\"TipJar\",\"Tipi\",\"Tire\",\"ToggleLeft\",\"ToggleRight\",\"Toilet\",\"ToiletPaper\",\"Toolbox\",\"Tooth\",\"Tornado\",\"Tote\",\"ToteSimple\",\"Towel\",\"Tractor\",\"Trademark\",\"TrademarkRegistered\",\"TrafficCone\",\"TrafficSign\",\"TrafficSignal\",\"Train\",\"TrainRegional\",\"TrainSimple\",\"Tram\",\"Translate\",\"Trash\",\"TrashSimple\",\"Tray\",\"TrayArrowDown\",\"TrayArrowUp\",\"TreasureChest\",\"Tree\",\"TreeEvergreen\",\"TreePalm\",\"TreeStructure\",\"TreeView\",\"TrendDown\",\"TrendUp\",\"Triangle\",\"TriangleDashed\",\"Trolley\",\"TrolleySuitcase\",\"Trophy\",\"Truck\",\"TruckTrailer\",\"TumblrLogo\",\"TwitchLogo\",\"TwitterLogo\",\"Umbrella\",\"UmbrellaSimple\",\"Union\",\"Unite\",\"UniteSquare\",\"Upload\",\"UploadSimple\",\"Usb\",\"User\",\"UserCheck\",\"UserCircle\",\"UserCircleCheck\",\"UserCircleDashed\",\"UserCircleGear\",\"UserCircleMinus\",\"UserCirclePlus\",\"UserFocus\",\"UserGear\",\"UserList\",\"UserMinus\",\"UserPlus\",\"UserRectangle\",\"UserSound\",\"UserSquare\",\"UserSwitch\",\"Users\",\"UsersFour\",\"UsersThree\",\"Van\",\"Vault\",\"VectorThree\",\"VectorTwo\",\"Vibrate\",\"Video\",\"VideoCamera\",\"VideoCameraSlash\",\"VideoConference\",\"Vignette\",\"VinylRecord\",\"VirtualReality\",\"Virus\",\"Visor\",\"Voicemail\",\"Volleyball\",\"Wall\",\"Wallet\",\"Warehouse\",\"Warning\",\"WarningCircle\",\"WarningDiamond\",\"WarningOctagon\",\"WashingMachine\",\"Watch\",\"WaveSawtooth\",\"WaveSine\",\"WaveSquare\",\"WaveTriangle\",\"Waveform\",\"WaveformSlash\",\"Waves\",\"Webcam\",\"WebcamSlash\",\"WebhooksLogo\",\"WechatLogo\",\"WhatsappLogo\",\"Wheelchair\",\"WheelchairMotion\",\"WifiHigh\",\"WifiLow\",\"WifiMedium\",\"WifiNone\",\"WifiSlash\",\"WifiX\",\"Wind\",\"Windmill\",\"WindowsLogo\",\"Wine\",\"Wrench\",\"X\",\"XCircle\",\"XLogo\",\"XSquare\",\"Yarn\",\"YinYang\",\"YoutubeLogo\"];const moduleBaseUrl=\"https://framer.com/m/phosphor-icons/\";const weightOptions=[\"thin\",\"light\",\"regular\",\"bold\",\"fill\",\"duotone\"];const lowercaseIconKeyPairs=iconKeys.reduce((res,key)=>{res[key.toLowerCase()]=key;return res;},{});/**\n * PHOSPHOR\n *\n * @framerSupportedLayoutWidth fixed\n * @framerSupportedLayoutHeight fixed\n *\n * @framerIntrinsicWidth 24\n * @framerIntrinsicHeight 24\n */export function Icon(props){const{color,selectByList,iconSearch,iconSelection,onClick,onMouseDown,onMouseUp,onMouseEnter,onMouseLeave,weight,mirrored}=props;const isMounted=useRef(false);const iconKey=useIconSelection(iconKeys,selectByList,iconSearch,iconSelection,lowercaseIconKeyPairs);const[SelectedIcon,setSelectedIcon]=useState(iconKey===\"Home\"?HouseFactory(React):null);async function importModule(){// Get the selected module\ntry{const version=\"0.0.57\";const iconModuleUrl=`${moduleBaseUrl}${iconKey}.js@${version}`;const module=await import(/* webpackIgnore: true */iconModuleUrl);if(isMounted.current)setSelectedIcon(module.default(React));}catch(err){if(isMounted.current)setSelectedIcon(null);}}useEffect(()=>{isMounted.current=true;importModule();return()=>{isMounted.current=false;};},[iconKey]);const isOnCanvas=RenderTarget.current()===RenderTarget.canvas;const emptyState=isOnCanvas?/*#__PURE__*/_jsx(NullState,{}):null;return /*#__PURE__*/_jsx(motion.div,{style:{display:\"contents\"},onClick,onMouseEnter,onMouseLeave,onMouseDown,onMouseUp,children:SelectedIcon?/*#__PURE__*/_jsx(\"svg\",{xmlns:\"http://www.w3.org/2000/svg\",viewBox:\"0 0 256 256\",style:{userSelect:\"none\",width:\"100%\",height:\"100%\",display:\"inline-block\",fill:color,color,flexShrink:0,transform:mirrored?\"scale(-1, 1)\":undefined},focusable:\"false\",color:color,children:/*#__PURE__*/_jsx(SelectedIcon,{color:color,weight:weight})}):emptyState});}Icon.displayName=\"Phosphor\";Icon.defaultProps={width:24,height:24,iconSelection:\"House\",iconSearch:\"House\",color:\"#66F\",selectByList:true,weight:\"regular\",mirrored:false};addPropertyControls(Icon,{selectByList:{type:ControlType.Boolean,title:\"Select\",enabledTitle:\"List\",disabledTitle:\"Search\",defaultValue:Icon.defaultProps.selectByList},iconSelection:{type:ControlType.Enum,options:iconKeys,defaultValue:Icon.defaultProps.iconSelection,title:\"Name\",hidden:({selectByList})=>!selectByList,description:\"Find every icon name on the [Phosphor site](https://phosphoricons.com/)\"},iconSearch:{type:ControlType.String,title:\"Name\",placeholder:\"Menu, Wifi, Box…\",hidden:({selectByList})=>selectByList},color:{type:ControlType.Color,title:\"Color\",defaultValue:Icon.defaultProps.color},weight:{type:ControlType.Enum,title:\"Weight\",optionTitles:weightOptions.map(piece=>piece.charAt(0).toUpperCase()+piece.slice(1)),options:weightOptions,defaultValue:Icon.defaultProps.weight},mirrored:{type:ControlType.Boolean,enabledTitle:\"Yes\",disabledTitle:\"No\",defaultValue:Icon.defaultProps.mirrored},...defaultEvents});\nexport const __FramerMetadata__ = {\"exports\":{\"IconProps\":{\"type\":\"tsType\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"Icon\":{\"type\":\"reactComponent\",\"name\":\"Icon\",\"slots\":[],\"annotations\":{\"framerIntrinsicWidth\":\"24\",\"framerSupportedLayoutWidth\":\"fixed\",\"framerContractVersion\":\"1\",\"framerSupportedLayoutHeight\":\"fixed\",\"framerIntrinsicHeight\":\"24\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./Phosphor.map","// Generated by Framer (8bbc62e)\nimport{jsx as _jsx,jsxs as _jsxs}from\"react/jsx-runtime\";import{addFonts,addPropertyControls,ComponentViewportProvider,ControlType,cx,getFonts,getLoadingLazyAtYPosition,Image as Image1,RichText,SmartComponentScopedContainer,SVG,useComponentViewport,useLocaleInfo,useVariantState,withCSS}from\"framer\";import{LayoutGroup,motion,MotionConfigContext}from\"framer-motion\";import*as React from\"react\";import{useRef}from\"react\";import{Icon as Phosphor}from\"https://framerusercontent.com/modules/tYScH7LTqUtz5KUaUAYP/p8dptk4UIND8hbFWz9V7/Phosphor.js\";const PhosphorFonts=getFonts(Phosphor);const cycleOrder=[\"uW3NzJkOp\",\"KsXLVbyoF\",\"ceUkNAG7z\",\"YGIVWm5jX\"];const serializationHash=\"framer-lBBCT\";const variantClassNames={ceUkNAG7z:\"framer-v-1qqcon6\",KsXLVbyoF:\"framer-v-18wr48\",uW3NzJkOp:\"framer-v-1b3p2pr\",YGIVWm5jX:\"framer-v-1c8bfdp\"};function addPropertyOverrides(overrides,...variants){const nextOverrides={};variants?.forEach(variant=>variant&&Object.assign(nextOverrides,overrides[variant]));return nextOverrides;}const transition1={bounce:.2,delay:0,duration:.4,type:\"spring\"};const Transition=({value,children})=>{const config=React.useContext(MotionConfigContext);const transition=value??config.transition;const contextValue=React.useMemo(()=>({...config,transition}),[JSON.stringify(transition)]);return /*#__PURE__*/_jsx(MotionConfigContext.Provider,{value:contextValue,children:children});};const humanReadableVariantMap={Cap:\"KsXLVbyoF\",Pause:\"uW3NzJkOp\",Play:\"YGIVWm5jX\",Tee:\"ceUkNAG7z\"};const Variants=motion.create(React.Fragment);const getProps=({height,id,width,...props})=>{return{...props,variant:humanReadableVariantMap[props.variant]??props.variant??\"uW3NzJkOp\"};};const createLayoutDependency=(props,variants)=>{if(props.layoutDependency)return variants.join(\"-\")+props.layoutDependency;return variants.join(\"-\");};const Component=/*#__PURE__*/React.forwardRef(function(props,ref){const fallbackRef=useRef(null);const refBinding=ref??fallbackRef;const defaultLayoutId=React.useId();const{activeLocale,setLocale}=useLocaleInfo();const componentViewport=useComponentViewport();const{style,className,layoutId,variant,...restProps}=getProps(props);const{baseVariant,classNames,clearLoadingGesture,gestureHandlers,gestureVariant,isLoading,setGestureState,setVariant,variants}=useVariantState({cycleOrder,defaultVariant:\"uW3NzJkOp\",ref:refBinding,variant,variantClassNames});const layoutDependency=createLayoutDependency(props,variants);const sharedStyleClassNames=[];const scopingClassNames=cx(serializationHash,...sharedStyleClassNames);const isDisplayed=()=>{if([\"KsXLVbyoF\",\"ceUkNAG7z\"].includes(baseVariant))return false;return true;};const isDisplayed1=()=>{if(baseVariant===\"YGIVWm5jX\")return true;return false;};const isDisplayed2=()=>{if(baseVariant===\"YGIVWm5jX\")return false;return true;};const isDisplayed3=()=>{if([\"KsXLVbyoF\",\"ceUkNAG7z\"].includes(baseVariant))return true;return false;};const isDisplayed4=()=>{if(baseVariant===\"ceUkNAG7z\")return false;return true;};const isDisplayed5=()=>{if(baseVariant===\"KsXLVbyoF\")return false;return true;};return /*#__PURE__*/_jsx(LayoutGroup,{id:layoutId??defaultLayoutId,children:/*#__PURE__*/_jsx(Variants,{animate:variants,initial:false,children:/*#__PURE__*/_jsx(Transition,{value:transition1,children:/*#__PURE__*/_jsxs(motion.div,{...restProps,...gestureHandlers,className:cx(scopingClassNames,\"framer-1b3p2pr\",className,classNames),\"data-framer-name\":\"Pause\",layoutDependency:layoutDependency,layoutId:\"uW3NzJkOp\",ref:refBinding,style:{...style},...addPropertyOverrides({ceUkNAG7z:{\"data-framer-name\":\"Tee\"},KsXLVbyoF:{\"data-framer-name\":\"Cap\"},YGIVWm5jX:{\"data-framer-name\":\"Play\"}},baseVariant,gestureVariant),children:[isDisplayed()&&/*#__PURE__*/_jsxs(motion.div,{className:\"framer-1rrxy2m\",\"data-framer-name\":\"Pause\",layoutDependency:layoutDependency,layoutId:\"jU95rrKvv\",style:{backdropFilter:\"blur(8px)\",backgroundColor:\"rgba(255, 255, 255, 0.32)\",borderBottomLeftRadius:24,borderBottomRightRadius:24,borderTopLeftRadius:24,borderTopRightRadius:24,WebkitBackdropFilter:\"blur(8px)\"},children:[isDisplayed1()&&/*#__PURE__*/_jsx(ComponentViewportProvider,{children:/*#__PURE__*/_jsx(SmartComponentScopedContainer,{className:\"framer-1ctc3e8-container\",\"data-framer-name\":\"Play\",isAuthoredByUser:true,isModuleExternal:true,layoutDependency:layoutDependency,layoutId:\"TxuRVst4u-container\",name:\"Play\",nodeId:\"TxuRVst4u\",rendersWithMotion:true,scopeId:\"dLzfFO0pa\",children:/*#__PURE__*/_jsx(Phosphor,{color:\"var(--token-2de60d55-30ed-45f4-87e6-158824b868d3, rgb(0, 0, 0))\",height:\"100%\",iconSearch:\"House\",iconSelection:\"Play\",id:\"TxuRVst4u\",layoutId:\"TxuRVst4u\",mirrored:false,name:\"Play\",selectByList:true,style:{height:\"100%\",width:\"100%\"},weight:\"fill\",width:\"100%\"})})}),isDisplayed2()&&/*#__PURE__*/_jsxs(SVG,{className:\"framer-1m4hyqf\",\"data-framer-name\":\"Pause\",layoutDependency:layoutDependency,layoutId:\"ayZ59Shyx\",requiresOverflowVisible:false,svg:'<svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" viewBox=\"0 0 9 12\" overflow=\"visible\"><g><path d=\"M 6 0 L 9 0 L 9 12 L 6 12 Z\" fill=\"var(--token-2de60d55-30ed-45f4-87e6-158824b868d3, rgb(0, 0, 0)) /* {&quot;name&quot;:&quot;Black&quot;} */\"></path><path d=\"M 0 0 L 3 0 L 3 12 L 0 12 Z\" fill=\"var(--token-2de60d55-30ed-45f4-87e6-158824b868d3, rgb(0, 0, 0)) /* {&quot;name&quot;:&quot;Black&quot;} */\"></path></g></svg>',withExternalLayout:true,children:[/*#__PURE__*/_jsx(SVG,{className:\"framer-17a3rre\",layoutDependency:layoutDependency,layoutId:\"c5q4j_j8l\",radius:0,requiresOverflowVisible:false,svg:'<svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" viewBox=\"0 0 3 12\" overflow=\"visible\"><path d=\"M 0 0 L 3 0 L 3 12 L 0 12 Z\" fill=\"var(--token-2de60d55-30ed-45f4-87e6-158824b868d3, rgb(0, 0, 0)) /* {&quot;name&quot;:&quot;Black&quot;} */\"></path></svg>',withExternalLayout:true}),/*#__PURE__*/_jsx(SVG,{className:\"framer-1iycnaf\",layoutDependency:layoutDependency,layoutId:\"g4P9SqAgj\",radius:0,requiresOverflowVisible:false,svg:'<svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" viewBox=\"0 0 3 12\" overflow=\"visible\"><path d=\"M 0 0 L 3 0 L 3 12 L 0 12 Z\" fill=\"var(--token-2de60d55-30ed-45f4-87e6-158824b868d3, rgb(0, 0, 0)) /* {&quot;name&quot;:&quot;Black&quot;} */\"></path></svg>',withExternalLayout:true})]})]}),isDisplayed3()&&/*#__PURE__*/_jsxs(motion.div,{className:\"framer-1uzf6xp\",\"data-framer-name\":\"Product\",layoutDependency:layoutDependency,layoutId:\"POJKkCUo1\",style:{backdropFilter:\"blur(8px)\",backgroundColor:\"rgba(255, 255, 255, 0.24)\",borderBottomLeftRadius:12,borderBottomRightRadius:12,borderTopLeftRadius:12,borderTopRightRadius:12,WebkitBackdropFilter:\"blur(8px)\"},children:[/*#__PURE__*/_jsxs(motion.div,{className:\"framer-oc22ir\",layoutDependency:layoutDependency,layoutId:\"cdJVj0wwj\",style:{backgroundColor:\"rgb(237, 237, 237)\",borderBottomLeftRadius:8,borderBottomRightRadius:8,borderTopLeftRadius:8,borderTopRightRadius:8},children:[isDisplayed4()&&/*#__PURE__*/_jsx(Image1,{background:{alt:\"\",fit:\"fill\",intrinsicHeight:400,intrinsicWidth:400,pixelHeight:400,pixelWidth:400,sizes:\"24px\",src:\"https://framerusercontent.com/images/fwnX9J5IztPDSjtfOX0UZIQPOs8.png?width=400&height=400\"},className:\"framer-3d2kom\",\"data-framer-name\":\"Hat\",layoutDependency:layoutDependency,layoutId:\"aRLMUpjv8\",...addPropertyOverrides({KsXLVbyoF:{background:{alt:\"\",fit:\"fill\",intrinsicHeight:400,intrinsicWidth:400,loading:getLoadingLazyAtYPosition((componentViewport?.y||0)+0+(((componentViewport?.height||56)-0-56)/2+0+0)+4+0),pixelHeight:400,pixelWidth:400,sizes:\"48px\",src:\"https://framerusercontent.com/images/fwnX9J5IztPDSjtfOX0UZIQPOs8.png?width=400&height=400\"}}},baseVariant,gestureVariant)}),isDisplayed5()&&/*#__PURE__*/_jsx(Image1,{background:{alt:\"\",fit:\"fit\",intrinsicHeight:400,intrinsicWidth:400,pixelHeight:400,pixelWidth:400,positionX:\"center\",positionY:\"center\",sizes:\"24px\",src:\"https://framerusercontent.com/images/4MlLMrQST1YG23luOM6s7kZCM.png?width=400&height=400\"},className:\"framer-b9qnjr\",\"data-framer-name\":\"Tee\",layoutDependency:layoutDependency,layoutId:\"BiTlAKGkE\",...addPropertyOverrides({ceUkNAG7z:{background:{alt:\"\",fit:\"fit\",intrinsicHeight:400,intrinsicWidth:400,loading:getLoadingLazyAtYPosition((componentViewport?.y||0)+0+(((componentViewport?.height||56)-0-56)/2+0+0)+4+0),pixelHeight:400,pixelWidth:400,positionX:\"center\",positionY:\"center\",sizes:\"48px\",src:\"https://framerusercontent.com/images/4MlLMrQST1YG23luOM6s7kZCM.png?width=400&height=400\"}}},baseVariant,gestureVariant)})]}),/*#__PURE__*/_jsxs(motion.div,{className:\"framer-1o6oq54\",layoutDependency:layoutDependency,layoutId:\"dzaj1YCQC\",children:[/*#__PURE__*/_jsx(RichText,{__fromCanvasComponent:true,children:/*#__PURE__*/_jsx(React.Fragment,{children:/*#__PURE__*/_jsx(motion.p,{dir:\"auto\",style:{\"--font-selector\":\"SW50ZXItQm9sZA==\",\"--framer-font-open-type-features\":\"'salt' on\",\"--framer-font-size\":\"11px\",\"--framer-font-weight\":\"700\",\"--framer-text-color\":\"var(--extracted-r6o4lv, var(--token-d35e5398-af28-4f97-8e2e-13717c50156f, rgb(255, 255, 255)))\"},children:\"Washed Cap\"})}),className:\"framer-1pzde99\",fonts:[\"Inter-Bold\"],layoutDependency:layoutDependency,layoutId:\"dkB8ROjpB\",style:{\"--extracted-r6o4lv\":\"var(--token-d35e5398-af28-4f97-8e2e-13717c50156f, rgb(255, 255, 255))\",\"--framer-link-text-color\":\"rgb(0, 153, 255)\",\"--framer-link-text-decoration\":\"underline\"},verticalAlignment:\"top\",withExternalLayout:true,...addPropertyOverrides({ceUkNAG7z:{children:/*#__PURE__*/_jsx(React.Fragment,{children:/*#__PURE__*/_jsx(motion.p,{dir:\"auto\",style:{\"--font-selector\":\"SW50ZXItQm9sZA==\",\"--framer-font-open-type-features\":\"'salt' on\",\"--framer-font-size\":\"11px\",\"--framer-font-weight\":\"700\",\"--framer-text-color\":\"var(--extracted-r6o4lv, var(--token-d35e5398-af28-4f97-8e2e-13717c50156f, rgb(255, 255, 255)))\"},children:\"Logo Tee\"})})}},baseVariant,gestureVariant)}),/*#__PURE__*/_jsx(RichText,{__fromCanvasComponent:true,children:/*#__PURE__*/_jsx(React.Fragment,{children:/*#__PURE__*/_jsx(motion.p,{dir:\"auto\",style:{\"--font-selector\":\"SW50ZXItU2VtaUJvbGQ=\",\"--framer-font-open-type-features\":\"'salt' on\",\"--framer-font-size\":\"10px\",\"--framer-font-weight\":\"600\",\"--framer-text-color\":\"var(--extracted-r6o4lv, var(--token-4e19dded-87db-4450-9718-b6c0402957cd, rgba(255, 255, 255, 0.4)))\"},children:\"$23\"})}),className:\"framer-uqb6c\",fonts:[\"Inter-SemiBold\"],layoutDependency:layoutDependency,layoutId:\"NZxxUeLRS\",style:{\"--extracted-r6o4lv\":\"var(--token-4e19dded-87db-4450-9718-b6c0402957cd, rgba(255, 255, 255, 0.4))\",\"--framer-link-text-color\":\"rgb(0, 153, 255)\",\"--framer-link-text-decoration\":\"underline\"},verticalAlignment:\"top\",withExternalLayout:true,...addPropertyOverrides({ceUkNAG7z:{children:/*#__PURE__*/_jsx(React.Fragment,{children:/*#__PURE__*/_jsx(motion.p,{dir:\"auto\",style:{\"--font-selector\":\"SW50ZXItU2VtaUJvbGQ=\",\"--framer-font-open-type-features\":\"'salt' on\",\"--framer-font-size\":\"10px\",\"--framer-font-weight\":\"600\",\"--framer-text-color\":\"var(--extracted-r6o4lv, var(--token-4e19dded-87db-4450-9718-b6c0402957cd, rgba(255, 255, 255, 0.4)))\"},children:\"$25\"})})}},baseVariant,gestureVariant)})]})]})]})})})});});const css=[\"@supports (aspect-ratio: 1) { body { --framer-aspect-ratio-supported: auto; } }\",\".framer-lBBCT.framer-58t8zb, .framer-lBBCT .framer-58t8zb { display: block; }\",\".framer-lBBCT.framer-1b3p2pr { align-content: flex-start; align-items: flex-start; display: flex; flex-direction: column; flex-wrap: nowrap; gap: 8px; height: min-content; justify-content: center; overflow: var(--overflow-clip-fallback, clip); padding: 0px; position: relative; width: min-content; }\",\".framer-lBBCT .framer-1rrxy2m { align-content: center; align-items: center; display: flex; flex: none; flex-direction: row; flex-wrap: nowrap; gap: 0px; height: 32px; justify-content: center; overflow: visible; padding: 0px; position: relative; width: 32px; }\",\".framer-lBBCT .framer-1ctc3e8-container { flex: none; height: 15px; position: relative; width: 14px; }\",\".framer-lBBCT .framer-1m4hyqf { height: 12px; position: relative; width: 9px; }\",\".framer-lBBCT .framer-17a3rre { height: 12px; left: 6px; position: absolute; top: 0px; width: 3px; }\",\".framer-lBBCT .framer-1iycnaf { height: 12px; left: 0px; position: absolute; top: 0px; width: 3px; }\",\".framer-lBBCT .framer-1uzf6xp { align-content: center; align-items: center; display: flex; flex: none; flex-direction: row; flex-wrap: nowrap; gap: 8px; height: min-content; justify-content: center; overflow: var(--overflow-clip-fallback, clip); padding: 4px 12px 4px 4px; position: relative; width: min-content; will-change: var(--framer-will-change-override, transform); }\",\".framer-lBBCT .framer-oc22ir { align-content: center; align-items: center; aspect-ratio: 1 / 1; display: flex; flex: none; flex-direction: row; flex-wrap: nowrap; gap: 0px; height: var(--framer-aspect-ratio-supported, 48px); justify-content: center; overflow: var(--overflow-clip-fallback, clip); padding: 0px; position: relative; width: 48px; will-change: var(--framer-will-change-override, transform); }\",\".framer-lBBCT .framer-3d2kom, .framer-lBBCT .framer-b9qnjr { flex: 1 0 0px; height: 100%; overflow: visible; position: relative; width: 1px; }\",\".framer-lBBCT .framer-1o6oq54 { align-content: flex-start; align-items: flex-start; display: flex; flex: none; flex-direction: column; flex-wrap: nowrap; gap: 2px; height: min-content; justify-content: center; overflow: visible; padding: 0px; position: relative; width: min-content; }\",\".framer-lBBCT .framer-1pzde99, .framer-lBBCT .framer-uqb6c { flex: none; height: auto; position: relative; white-space: pre; width: auto; }\"];/**\n * This is a generated Framer component.\n * @framerIntrinsicHeight 32\n * @framerIntrinsicWidth 32\n * @framerCanvasComponentVariantDetails {\"propertyName\":\"variant\",\"data\":{\"default\":{\"layout\":[\"auto\",\"auto\"]},\"KsXLVbyoF\":{\"layout\":[\"auto\",\"auto\"]},\"ceUkNAG7z\":{\"layout\":[\"auto\",\"auto\"]},\"YGIVWm5jX\":{\"layout\":[\"auto\",\"auto\"]}}}\n * @framerImmutableVariables true\n * @framerDisplayContentsDiv false\n * @framerAutoSizeImages true\n * @framerComponentViewportWidth true\n * @framerColorSyntax true\n */const FramerdLzfFO0pa=withCSS(Component,css,\"framer-lBBCT\");export default FramerdLzfFO0pa;FramerdLzfFO0pa.displayName=\"Cursor\";FramerdLzfFO0pa.defaultProps={height:32,width:32};addPropertyControls(FramerdLzfFO0pa,{variant:{options:[\"uW3NzJkOp\",\"KsXLVbyoF\",\"ceUkNAG7z\",\"YGIVWm5jX\"],optionTitles:[\"Pause\",\"Cap\",\"Tee\",\"Play\"],title:\"Variant\",type:ControlType.Enum}});addFonts(FramerdLzfFO0pa,[{explicitInter:true,fonts:[{cssFamilyName:\"Inter\",source:\"framer\",style:\"normal\",uiFamilyName:\"Inter\",unicodeRange:\"U+0460-052F, U+1C80-1C88, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F\",url:\"https://framerusercontent.com/assets/DpPBYI0sL4fYLgAkX8KXOPVt7c.woff2\",weight:\"700\"},{cssFamilyName:\"Inter\",source:\"framer\",style:\"normal\",uiFamilyName:\"Inter\",unicodeRange:\"U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116\",url:\"https://framerusercontent.com/assets/4RAEQdEOrcnDkhHiiCbJOw92Lk.woff2\",weight:\"700\"},{cssFamilyName:\"Inter\",source:\"framer\",style:\"normal\",uiFamilyName:\"Inter\",unicodeRange:\"U+1F00-1FFF\",url:\"https://framerusercontent.com/assets/1K3W8DizY3v4emK8Mb08YHxTbs.woff2\",weight:\"700\"},{cssFamilyName:\"Inter\",source:\"framer\",style:\"normal\",uiFamilyName:\"Inter\",unicodeRange:\"U+0370-03FF\",url:\"https://framerusercontent.com/assets/tUSCtfYVM1I1IchuyCwz9gDdQ.woff2\",weight:\"700\"},{cssFamilyName:\"Inter\",source:\"framer\",style:\"normal\",uiFamilyName:\"Inter\",unicodeRange:\"U+0100-024F, U+0259, U+1E00-1EFF, U+2020, U+20A0-20AB, U+20AD-20CF, U+2113, U+2C60-2C7F, U+A720-A7FF\",url:\"https://framerusercontent.com/assets/VgYFWiwsAC5OYxAycRXXvhze58.woff2\",weight:\"700\"},{cssFamilyName:\"Inter\",source:\"framer\",style:\"normal\",uiFamilyName:\"Inter\",unicodeRange:\"U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2070, U+2074-207E, U+2080-208E, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD\",url:\"https://framerusercontent.com/assets/syRNPWzAMIrcJ3wIlPIP43KjQs.woff2\",weight:\"700\"},{cssFamilyName:\"Inter\",source:\"framer\",style:\"normal\",uiFamilyName:\"Inter\",unicodeRange:\"U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+1EA0-1EF9, U+20AB\",url:\"https://framerusercontent.com/assets/GIryZETIX4IFypco5pYZONKhJIo.woff2\",weight:\"700\"},{cssFamilyName:\"Inter\",source:\"framer\",style:\"normal\",uiFamilyName:\"Inter\",unicodeRange:\"U+0460-052F, U+1C80-1C88, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F\",url:\"https://framerusercontent.com/assets/hyOgCu0Xnghbimh0pE8QTvtt2AU.woff2\",weight:\"600\"},{cssFamilyName:\"Inter\",source:\"framer\",style:\"normal\",uiFamilyName:\"Inter\",unicodeRange:\"U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116\",url:\"https://framerusercontent.com/assets/NeGmSOXrPBfEFIy5YZeHq17LEDA.woff2\",weight:\"600\"},{cssFamilyName:\"Inter\",source:\"framer\",style:\"normal\",uiFamilyName:\"Inter\",unicodeRange:\"U+1F00-1FFF\",url:\"https://framerusercontent.com/assets/oYaAX5himiTPYuN8vLWnqBbfD2s.woff2\",weight:\"600\"},{cssFamilyName:\"Inter\",source:\"framer\",style:\"normal\",uiFamilyName:\"Inter\",unicodeRange:\"U+0370-03FF\",url:\"https://framerusercontent.com/assets/lEJLP4R0yuCaMCjSXYHtJw72M.woff2\",weight:\"600\"},{cssFamilyName:\"Inter\",source:\"framer\",style:\"normal\",uiFamilyName:\"Inter\",unicodeRange:\"U+0100-024F, U+0259, U+1E00-1EFF, U+2020, U+20A0-20AB, U+20AD-20CF, U+2113, U+2C60-2C7F, U+A720-A7FF\",url:\"https://framerusercontent.com/assets/cRJyLNuTJR5jbyKzGi33wU9cqIQ.woff2\",weight:\"600\"},{cssFamilyName:\"Inter\",source:\"framer\",style:\"normal\",uiFamilyName:\"Inter\",unicodeRange:\"U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2070, U+2074-207E, U+2080-208E, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD\",url:\"https://framerusercontent.com/assets/yDtI2UI8XcEg1W2je9XPN3Noo.woff2\",weight:\"600\"},{cssFamilyName:\"Inter\",source:\"framer\",style:\"normal\",uiFamilyName:\"Inter\",unicodeRange:\"U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+1EA0-1EF9, U+20AB\",url:\"https://framerusercontent.com/assets/A0Wcc7NgXMjUuFdquHDrIZpzZw0.woff2\",weight:\"600\"}]},...PhosphorFonts],{supportsExplicitInterCodegen:true});\nexport const __FramerMetadata__ = {\"exports\":{\"default\":{\"type\":\"reactComponent\",\"name\":\"FramerdLzfFO0pa\",\"slots\":[],\"annotations\":{\"framerCanvasComponentVariantDetails\":\"{\\\"propertyName\\\":\\\"variant\\\",\\\"data\\\":{\\\"default\\\":{\\\"layout\\\":[\\\"auto\\\",\\\"auto\\\"]},\\\"KsXLVbyoF\\\":{\\\"layout\\\":[\\\"auto\\\",\\\"auto\\\"]},\\\"ceUkNAG7z\\\":{\\\"layout\\\":[\\\"auto\\\",\\\"auto\\\"]},\\\"YGIVWm5jX\\\":{\\\"layout\\\":[\\\"auto\\\",\\\"auto\\\"]}}}\",\"framerColorSyntax\":\"true\",\"framerDisplayContentsDiv\":\"false\",\"framerIntrinsicWidth\":\"32\",\"framerContractVersion\":\"1\",\"framerIntrinsicHeight\":\"32\",\"framerComponentViewportWidth\":\"true\",\"framerAutoSizeImages\":\"true\",\"framerImmutableVariables\":\"true\"}},\"Props\":{\"type\":\"tsType\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./dLzfFO0pa.map","/* esm.sh - zustand@5.0.8/vanilla */\nvar S=s=>{let t,o=new Set,c=(e,r)=>{let n=typeof e==\"function\"?e(t):e;if(!Object.is(n,t)){let b=t;t=r??(typeof n!=\"object\"||n===null)?n:Object.assign({},t,n),o.forEach(l=>l(t,b))}},i=()=>t,a={setState:c,getState:i,getInitialState:()=>u,subscribe:e=>(o.add(e),()=>o.delete(e))},u=t=s(c,i,a);return a},d=(s=>s?S(s):S);export{d as createStore};\n//# sourceMappingURL=vanilla.mjs.map","/* esm.sh - zustand@5.0.8/react */\nimport o from\"react\";import{createStore as c}from\"./vanilla.mjs\";var u=t=>t;function a(t,e=u){let n=o.useSyncExternalStore(t.subscribe,o.useCallback(()=>e(t.getState()),[t,e]),o.useCallback(()=>e(t.getInitialState()),[t,e]));return o.useDebugValue(n),n}var r=t=>{let e=c(t),n=s=>a(e,s);return Object.assign(n,e),n},l=(t=>t?r(t):r);export{l as create,a as useStore};\n//# sourceMappingURL=react.mjs.map","/* esm.sh - zustand@5.0.8 */\nexport*from\"./vanilla.mjs\";export*from\"./react.mjs\";\n//# sourceMappingURL=zustand.mjs.map","/* esm.sh - zustand@5.0.8 */\nimport \"/zustand@5.0.8/X-ZXJlYWN0/es2022/react.mjs\";\nimport \"/zustand@5.0.8/X-ZXJlYWN0/es2022/vanilla.mjs\";\nexport * from \"/zustand@5.0.8/X-ZXJlYWN0/es2022/zustand.mjs\";\n","/* esm.sh - zustand@5.0.8/vanilla/shallow */\nvar i=t=>Symbol.iterator in t,c=t=>\"entries\"in t,f=(t,e)=>{let s=t instanceof Map?t:new Map(t.entries()),n=e instanceof Map?e:new Map(e.entries());if(s.size!==n.size)return!1;for(let[r,o]of s)if(!n.has(r)||!Object.is(o,n.get(r)))return!1;return!0},b=(t,e)=>{let s=t[Symbol.iterator](),n=e[Symbol.iterator](),r=s.next(),o=n.next();for(;!r.done&&!o.done;){if(!Object.is(r.value,o.value))return!1;r=s.next(),o=n.next()}return!!r.done&&!!o.done};function p(t,e){return Object.is(t,e)?!0:typeof t!=\"object\"||t===null||typeof e!=\"object\"||e===null||Object.getPrototypeOf(t)!==Object.getPrototypeOf(e)?!1:i(t)&&i(e)?c(t)&&c(e)?f(t,e):b(t,e):f({entries:()=>Object.entries(t)},{entries:()=>Object.entries(e)})}export{p as shallow};\n//# sourceMappingURL=shallow.mjs.map","/* esm.sh - zustand@5.0.8/react/shallow */\nimport n from\"react\";import{shallow as u}from\"../vanilla/shallow.mjs\";function f(e){let r=n.useRef(void 0);return o=>{let t=e(o);return u(r.current,t)?r.current:r.current=t}}export{f as useShallow};\n//# sourceMappingURL=shallow.mjs.map","/* esm.sh - zustand@5.0.8/shallow */\nimport{shallow as r}from\"./vanilla/shallow.mjs\";import{useShallow as a}from\"./react/shallow.mjs\";export{r as shallow,a as useShallow};\n//# sourceMappingURL=shallow.mjs.map","/* esm.sh - zustand@5.0.8/shallow */\nimport \"/zustand@5.0.8/X-ZXJlYWN0/es2022/react/shallow.mjs\";\nimport \"/zustand@5.0.8/X-ZXJlYWN0/es2022/vanilla/shallow.mjs\";\nexport * from \"/zustand@5.0.8/X-ZXJlYWN0/es2022/shallow.mjs\";\n","/*\n * Framer Commerce - Markets v3\n *\n * localStorage adapter for the active market.\n *\n * Single source of truth for the `fc_active_market` storage key and its\n * read/write/validation shape. Imported by both `useLocalState` (synchronous\n * seed on module init) and `useMarkets` (async resolver + setMarket writes).\n */export const MARKET_STORAGE_KEY=\"fc_active_market\";function parseStoredMarket(raw){if(!raw)return null;try{const parsed=JSON.parse(raw);if(parsed&&typeof parsed.countryCode===\"string\"&&typeof parsed.currencyCode===\"string\"&&parsed.countryCode&&parsed.currencyCode){return{countryCode:parsed.countryCode,countryName:parsed.countryName??\"\",currencyCode:parsed.currencyCode,currencySymbol:parsed.currencySymbol??\"\"};}return null;}catch{return null;}}/**\n * Synchronous read used to seed the Zustand store before first render so\n * returning visitors don't flicker from the USD fallback to their real market.\n */export function readPersistedMarketSync(){if(typeof window===\"undefined\")return null;try{return parseStoredMarket(window.localStorage.getItem(MARKET_STORAGE_KEY));}catch{return null;}}/** Reader used by the async market resolver in useMarkets. */export function getMarketFromStorage(){return readPersistedMarketSync();}/** Persist the active market. Called from useMarkets.setMarket and the resolver. */export function saveMarketToStorage(market){if(typeof window===\"undefined\")return;try{const data={countryCode:market.countryCode,countryName:market.countryName,currencyCode:market.currencyCode,currencySymbol:market.currencySymbol};window.localStorage.setItem(MARKET_STORAGE_KEY,JSON.stringify(data));}catch{// localStorage may be full or disabled — non-fatal.\n}}\nexport const __FramerMetadata__ = {\"exports\":{\"StoredMarket\":{\"type\":\"tsType\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"MARKET_STORAGE_KEY\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"saveMarketToStorage\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"getMarketFromStorage\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"readPersistedMarketSync\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./marketStorage.map","// @ts-ignore - Packages are not installed locally, maybe should fix in the future.\nimport{create}from\"https://esm.sh/zustand@5.0.8?external=react\";// @ts-ignore - Packages are not installed locally, maybe should fix in the future.\nimport{shallow}from\"https://esm.sh/zustand@5.0.8/shallow?external=react\";import{readPersistedMarketSync}from\"https://framerusercontent.com/modules/t8dxLyFCxQ0drD5zahgE/q1UnvTfMSsnMEJEDyeGA/marketStorage.js\";/** Initial store state before `Butter_Toast` syncs; `ToastConfigSync` overwrites from instances. */export const DEFAULT_TOAST_CONFIG={events:{\"cart.add.success\":{enabled:false},\"cart.add.error\":{enabled:false},\"cart.remove.success\":{enabled:false},\"cart.remove.error\":{enabled:false},\"cart.update.success\":{enabled:false},\"cart.update.error\":{enabled:false},\"favorite.add.success\":{enabled:false},\"favorite.add.error\":{enabled:false},\"favorite.remove.success\":{enabled:false},\"favorite.remove.error\":{enabled:false}}};// ============================================================================\n// STORE IMPLEMENTATION\n// ============================================================================\n// Read the persisted market once on module init. Both `activeMarket` and\n// `marketLoading` derive from this single read so we don't hit localStorage\n// twice on store creation. Persisted writes/reads after init go through the\n// `marketStorage` helpers from useMarkets / setMarket.\nconst initialPersistedMarket=readPersistedMarketSync();const baseUseLocalState=create()((set,get)=>({// ==========================================================================\n    // VARIANT SELECTION SLICE (existing)\n    // ==========================================================================\n    variantOptionsByProductId:{},setOptionsForProduct:(productId,options)=>set(state=>({variantOptionsByProductId:{...state.variantOptionsByProductId,[productId]:options}})),updateSingleOptionForProduct:(productId,optionName,optionValue)=>{const previousOptions=get().variantOptionsByProductId[productId]??{};set(state=>({variantOptionsByProductId:{...state.variantOptionsByProductId,[productId]:{...previousOptions,[optionName]:optionValue}}}));},clearProductSelection:productId=>set(state=>{const next={...state.variantOptionsByProductId};delete next[productId];return{variantOptionsByProductId:next};}),// ==========================================================================\n    // QUANTITY SLICE\n    // ==========================================================================\n    quantityByKey:{},setQuantity:(key,quantity,maxQuantity)=>set(state=>({quantityByKey:{...state.quantityByKey,[key]:{quantity:Math.max(1,Math.min(quantity,maxQuantity)),maxQuantity}}})),incrementQuantity:key=>{const current=get().quantityByKey[key];if(!current)return;if(current.quantity<current.maxQuantity){set(state=>({quantityByKey:{...state.quantityByKey,[key]:{...current,quantity:current.quantity+1}}}));}},decrementQuantity:key=>{const current=get().quantityByKey[key];if(!current)return;if(current.quantity>1){set(state=>({quantityByKey:{...state.quantityByKey,[key]:{...current,quantity:current.quantity-1}}}));}},resetQuantity:key=>set(state=>{const next={...state.quantityByKey};delete next[key];return{quantityByKey:next};}),// ==========================================================================\n    // CART CACHE SLICE\n    // ==========================================================================\n    cartLineData:{},setCartLineData:(lineId,data)=>set(state=>({cartLineData:{...state.cartLineData,[lineId]:data}})),clearCartCache:()=>set({cartLineData:{}}),// ==========================================================================\n    // PENDING CART MUTATION SLICE\n    // ==========================================================================\n    pendingCartMutationCount:0,pendingCartLineIds:[],pendingCartLineCounts:{},startPendingCartMutation:(lineIds=[])=>set(state=>{const nextLineCounts={...state.pendingCartLineCounts};for(const lineId of lineIds){if(!lineId)continue;nextLineCounts[lineId]=(nextLineCounts[lineId]??0)+1;}return{pendingCartMutationCount:state.pendingCartMutationCount+1,pendingCartLineIds:Object.keys(nextLineCounts),pendingCartLineCounts:nextLineCounts};}),finishPendingCartMutation:(lineIds=[])=>set(state=>{const nextLineCounts={...state.pendingCartLineCounts};for(const lineId of lineIds){if(!lineId||!nextLineCounts[lineId])continue;if(nextLineCounts[lineId]<=1){delete nextLineCounts[lineId];}else{nextLineCounts[lineId]=nextLineCounts[lineId]-1;}}return{pendingCartMutationCount:Math.max(0,state.pendingCartMutationCount-1),pendingCartLineIds:Object.keys(nextLineCounts),pendingCartLineCounts:nextLineCounts};}),resetPendingCartMutations:()=>set({pendingCartMutationCount:0,pendingCartLineIds:[],pendingCartLineCounts:{}}),// ==========================================================================\n    // CART MODAL SLICE\n    // ==========================================================================\n    cartModalTrigger:0,triggerCartModal:()=>set(state=>({cartModalTrigger:state.cartModalTrigger+1})),// ==========================================================================\n    // MINI CART MODAL SLICE\n    // ==========================================================================\n    miniCartModalTrigger:0,triggerMiniCartModal:()=>set(state=>({miniCartModalTrigger:state.miniCartModalTrigger+1})),// ==========================================================================\n    // NOTIFY OVERLAY SLICE\n    // ==========================================================================\n    notifyOverlayTrigger:0,triggerNotifyOverlay:()=>set(state=>({notifyOverlayTrigger:state.notifyOverlayTrigger+1})),// ==========================================================================\n    // CART REFRESH SLICE\n    // ==========================================================================\n    cartRefreshTrigger:0,triggerCartRefresh:()=>set(state=>({cartRefreshTrigger:state.cartRefreshTrigger+1})),// ==========================================================================\n    // SELLING PLAN SLICE\n    // ==========================================================================\n    selectedPlanByProductId:{},setSelectedPlan:(productId,planId)=>set(state=>{if(!productId)return state;if(state.selectedPlanByProductId[productId]===planId)return state;return{selectedPlanByProductId:{...state.selectedPlanByProductId,[productId]:planId}};}),clearPlanSelection:productId=>set(state=>{const next={...state.selectedPlanByProductId};delete next[productId];return{selectedPlanByProductId:next};}),// ==========================================================================\n    // MARKET SLICE\n    // ==========================================================================\n    // Seeded synchronously from localStorage (see `initialPersistedMarket`\n    // above) so returning visitors render in their last-selected market on the\n    // first paint, instead of flashing the USD fallback while the async\n    // resolver in useMarkets runs. When no persisted market exists we keep\n    // `marketLoading: true` so price components can hold their render until\n    // the async resolver completes.\n    activeMarket:initialPersistedMarket,marketLoading:initialPersistedMarket===null,setActiveMarket:market=>set({activeMarket:market,marketLoading:false}),setMarketLoading:loading=>set({marketLoading:loading}),// ==========================================================================\n    // CROSS-SELL SLICE\n    // ==========================================================================\n    crossSellSelections:{},setCrossSellSelection:(productId,variantId,quantity,selected,optimisticLine,quantityMode,sellingPlanId)=>set(state=>{const trimmedPlan=String(sellingPlanId??\"\").trim();const entry={productId,variantId,quantity,selected,optimisticLine,quantityMode:quantityMode??\"Set\"};if(trimmedPlan){entry.sellingPlanId=trimmedPlan;}return{crossSellSelections:{...state.crossSellSelections,[productId]:entry}};}),removeCrossSellSelection:productId=>set(state=>{const next={...state.crossSellSelections};delete next[productId];return{crossSellSelections:next};}),// ==========================================================================\n    // GALLERY SLICE\n    // ==========================================================================\n    currentImageByProductId:{},visibleImageCountByProductId:{},currentSlideIndexByProductId:{},setCurrentImage:(productId,index)=>set(state=>({currentImageByProductId:{...state.currentImageByProductId,[productId]:index}})),setVisibleImageCount:(productId,count)=>set(state=>({visibleImageCountByProductId:{...state.visibleImageCountByProductId,[productId]:count}})),setCurrentSlideIndex:(productId,index)=>set(state=>({currentSlideIndexByProductId:{...state.currentSlideIndexByProductId,[productId]:index}})),visibleImageNumbersByProductId:{},setVisibleImageNumbers:(productId,numbers)=>set(state=>({visibleImageNumbersByProductId:{...state.visibleImageNumbersByProductId,[productId]:numbers}})),retainGalleryMediaByProductId:{},setRetainGalleryMediaOnVariantChange:(productId,retain)=>set(state=>{const next={...state.retainGalleryMediaByProductId};if(retain){next[productId]=true;}else{delete next[productId];}return{retainGalleryMediaByProductId:next};}),// ==========================================================================\n    // CART LINE FC DATA PRICE SLICE\n    // ==========================================================================\n    cartLineFCPrices:{},setCartLineFCPrice:(lineId,unitPrice)=>set(state=>({cartLineFCPrices:{...state.cartLineFCPrices,[lineId]:unitPrice}})),removeCartLineFCPrice:lineId=>set(state=>{const next={...state.cartLineFCPrices};delete next[lineId];return{cartLineFCPrices:next};}),// ==========================================================================\n    // ATTRIBUTE SLICE\n    // ==========================================================================\n    attributesByProductId:{},attributeErrorByProductId:{},attributeConfigByProductId:{},setAttribute:(productId,key,value)=>set(state=>({attributesByProductId:{...state.attributesByProductId,[productId]:{...state.attributesByProductId[productId]??{},[key]:value}}})),clearAttributes:productId=>set(state=>{const next={...state.attributesByProductId};delete next[productId];return{attributesByProductId:next};}),setAttributeError:(productId,hasError)=>set(state=>({attributeErrorByProductId:{...state.attributeErrorByProductId,[productId]:hasError}})),setAttributeConfig:(productId,config)=>set(state=>({attributeConfigByProductId:{...state.attributeConfigByProductId,[productId]:config}})),removeAttributeConfig:productId=>set(state=>{const next={...state.attributeConfigByProductId};delete next[productId];return{attributeConfigByProductId:next};}),// ==========================================================================\n    // CART ORDER NOTE SLICE\n    // ==========================================================================\n    cartOrderNote:\"\",cartOrderNoteError:false,cartOrderNoteConfig:null,setCartOrderNote:value=>set({cartOrderNote:value}),setCartOrderNoteError:hasError=>set({cartOrderNoteError:hasError}),setCartOrderNoteConfig:config=>set({cartOrderNoteConfig:config}),removeCartOrderNoteConfig:()=>set({cartOrderNoteConfig:null}),// ==========================================================================\n    // MODAL SLICE\n    // ==========================================================================\n    activeModalKey:null,modalVisibleByKey:{},registeredModals:{},setActiveModalKey:key=>set({activeModalKey:key}),showModal:key=>set(state=>({modalVisibleByKey:{...state.modalVisibleByKey,[key]:true}})),hideModal:key=>set(state=>({modalVisibleByKey:{...state.modalVisibleByKey,[key]:false}})),forceShowModal:key=>set(state=>({activeModalKey:key,modalVisibleByKey:{...state.modalVisibleByKey,[key]:true}})),closeActiveModal:()=>{const key=get().activeModalKey;if(key){// Only signal close — do NOT clear activeModalKey here.\n    // The modal component handles the full dismissal flow\n    // (localStorage, queue advancement) and clears activeModalKey itself.\n    set(state=>({modalVisibleByKey:{...state.modalVisibleByKey,[key]:false}}));}},registerModal:(key,order)=>set(state=>({registeredModals:{...state.registeredModals,[key]:order}})),unregisterModal:key=>set(state=>{const next={...state.registeredModals};delete next[key];return{registeredModals:next,activeModalKey:state.activeModalKey===key?null:state.activeModalKey};}),// ==========================================================================\n    // CAROUSEL SLICE\n    // ==========================================================================\n    carouselNavByKey:{},carouselMetricsByKey:{},carouselNavigateCmdByKey:{},carouselSeekCmdByKey:{},setCarouselNav:(key,nav)=>set(state=>({carouselNavByKey:{...state.carouselNavByKey,[key]:nav}})),setCarouselMetrics:(key,metrics)=>set(state=>({carouselMetricsByKey:{...state.carouselMetricsByKey,[key]:metrics}})),navigateCarousel:(key,targetIndex)=>set(state=>{const prev=state.carouselNavigateCmdByKey[key];return{carouselNavigateCmdByKey:{...state.carouselNavigateCmdByKey,[key]:{counter:(prev?.counter??0)+1,targetIndex}}};}),seekCarousel:(key,ratio,smooth)=>set(state=>{const prev=state.carouselSeekCmdByKey[key];return{carouselSeekCmdByKey:{...state.carouselSeekCmdByKey,[key]:{counter:(prev?.counter??0)+1,ratio,smooth}}};}),clearCarouselState:key=>set(state=>{const navNext={...state.carouselNavByKey};delete navNext[key];const metricsNext={...state.carouselMetricsByKey};delete metricsNext[key];const navCmdNext={...state.carouselNavigateCmdByKey};delete navCmdNext[key];const seekCmdNext={...state.carouselSeekCmdByKey};delete seekCmdNext[key];return{carouselNavByKey:navNext,carouselMetricsByKey:metricsNext,carouselNavigateCmdByKey:navCmdNext,carouselSeekCmdByKey:seekCmdNext};}),// ==========================================================================\n    // TOAST SLICE\n    // ==========================================================================\n    toastQueue:[],toastTrigger:0,showToast:toast=>{// If an eventKey is provided, gate on the config before queuing\n    if(toast.eventKey){const eventCfg=get().toastConfig.events[toast.eventKey];if(!eventCfg?.enabled)return;}set(state=>({toastQueue:[...state.toastQueue,{...toast,id:`toast-${Date.now()}-${Math.random().toString(36).slice(2,7)}`}],toastTrigger:state.toastTrigger+1}));},dismissToast:id=>set(state=>({toastQueue:state.toastQueue.filter(t=>t.id!==id)})),clearToasts:()=>set({toastQueue:[]}),// ==========================================================================\n    // TOAST CONFIG SLICE\n    // ==========================================================================\n    toastConfig:DEFAULT_TOAST_CONFIG,setToastConfig:config=>set({toastConfig:config}),// ==========================================================================\n    // SHOPPABLE VIDEO SLICE\n    // ==========================================================================\n    videoCurrentTime:0,videoIsPlaying:false,videoDuration:0,videoPlayIntent:0,setVideoCurrentTime:time=>set({videoCurrentTime:time}),setVideoIsPlaying:playing=>set({videoIsPlaying:playing}),setVideoDuration:duration=>set({videoDuration:duration}),requestVideoPlay:()=>set(s=>({videoPlayIntent:(s.videoPlayIntent??0)+1}))}));export const useLocalState=Object.assign(function(selector,equalityFunction){return baseUseLocalState(selector,equalityFunction??shallow);},{getState:()=>baseUseLocalState.getState()});\nexport const __FramerMetadata__ = {\"exports\":{\"MarketState\":{\"type\":\"tsType\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"CarouselNavState\":{\"type\":\"tsType\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"CrossSellEntry\":{\"type\":\"tsType\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"ShoppableVideoSlice\":{\"type\":\"tsType\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"DEFAULT_TOAST_CONFIG\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"CarouselMetrics\":{\"type\":\"tsType\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"ToastEventKey\":{\"type\":\"tsType\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"ToastConfig\":{\"type\":\"tsType\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"useLocalState\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"ToastMessage\":{\"type\":\"tsType\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"ToastEventConfig\":{\"type\":\"tsType\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./useLocalState.map","/*\n * Butter_ShoppableVideoTap\n * @butter-internal\n *\n * A clickable tap target that fires a tap event and resumes the shoppable\n * video (via the shared useLocalState store). Renders an optional connected\n * ComponentInstance; when nothing is connected it renders empty but stays\n * clickable (fills its frame).\n *\n * @framerSupportedLayoutWidth any\n * @framerSupportedLayoutHeight any\n */import{jsx as _jsx}from\"react/jsx-runtime\";import{useCallback}from\"react\";import{addPropertyControls,ControlType,RenderTarget}from\"framer\";import{useLocalState}from\"https://framerusercontent.com/modules/xYDZCCqEBzGd7zfHzUX5/cLuhs5H2O0tFIwBfaQKt/useLocalState.js\";export default function Butter_ShoppableVideoTap({content,onTap}){const isCanvas=RenderTarget.current()===RenderTarget.canvas;const requestVideoPlay=useLocalState(s=>s.requestVideoPlay);// Framer ComponentInstance props can arrive as a node or a single-item array.\nconst node=Array.isArray(content)?content[0]??null:content??null;const handlePointerDown=useCallback(()=>{onTap?.();if(!isCanvas)requestVideoPlay?.();},[onTap,requestVideoPlay,isCanvas]);return /*#__PURE__*/_jsx(\"div\",{onPointerDown:handlePointerDown,style:{width:\"100%\",height:\"100%\",cursor:\"pointer\",// Transparent but still hit-testable when empty.\nbackground:\"transparent\",display:\"flex\"},children:node});}addPropertyControls(Butter_ShoppableVideoTap,{content:{type:ControlType.ComponentInstance,title:\"Content\",description:\"Optional design to render. Leave empty for an invisible but clickable tap zone.\"},onTap:{type:ControlType.EventHandler,title:\"Tap\"}});\nexport const __FramerMetadata__ = {\"exports\":{\"default\":{\"type\":\"reactComponent\",\"name\":\"Butter_ShoppableVideoTap\",\"slots\":[],\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./Butter_ShoppableVideoTap.map","import{useState,useEffect}from\"react\";import{RenderTarget}from\"framer\";export function useIsBrowser(){const[isBrowser,setIsBrowser]=useState(false);useEffect(()=>{setIsBrowser(true);},[]);return isBrowser;}function isFramerEditorHost(){if(typeof window===\"undefined\")return false;return Boolean(window.location?.hostname?.includes(\"framercanvas.com\"));}/**\n * True when Framer is rendering the editor canvas (not Preview or published).\n * Uses strict enum equality — do not compare String(rt) to \"CANVAS\"; RenderTarget\n * values may not stringify reliably across Framer versions.\n */export function isFramerCanvas(renderTarget){try{const rt=renderTarget??RenderTarget.current();return rt===RenderTarget.canvas;}catch{return false;}}/**\n * True when disconnected-instance placeholders (purple EmptyState) should show.\n *\n * Framer documents `RenderTarget.preview` as **both** the in-editor Preview and the\n * **live published site** — so we cannot treat “preview” alone as an editor surface.\n *\n * - Canvas: always show placeholders when a slot is missing.\n * - Preview: only on Framer’s editor host (`framercanvas.com`), not on production URLs.\n *\n * @see https://www.framer.com/developers/components-reference#rendertarget\n */export function isFramerPlaceholderTarget(renderTarget){try{const rt=renderTarget??RenderTarget.current();if(rt===RenderTarget.canvas)return true;if(rt===RenderTarget.preview&&isFramerEditorHost())return true;return false;}catch{return false;}}let _cachedMockDecision=null;export function shouldUsePreviewStorefrontMock(){if(_cachedMockDecision!==null)return _cachedMockDecision;if(typeof window===\"undefined\")return false;const config=window.butterConfig;const result=isFramerEditorHost()&&(!config?.shopifyDomain||!config?.storefrontAccessToken);_cachedMockDecision=result;return result;}\nexport const __FramerMetadata__ = {\"exports\":{\"useIsBrowser\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"shouldUsePreviewStorefrontMock\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"isFramerPlaceholderTarget\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"isFramerCanvas\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./IsBrowser.map","/**\n * GalleryScopeContext\n *\n * Provides automatic gallery state isolation. When a parent component\n * (e.g., Butter_ProductImageGridContainer) wraps its children in this context,\n * all useProductImages consumers underneath will namespace their gallery\n * state so it doesn't collide with unscoped galleries (e.g., an overlay).\n *\n * In addition, media components resolve their own scope WITHOUT a wrapping\n * provider via `useResolvedGalleryScope`, which auto-detects when the component\n * is rendered inside a Framer native overlay/modal and isolates it from the\n * main page. No user-facing prop is involved — detection is fully automatic.\n */import{createContext,useContext,useEffect,useLayoutEffect,useState}from\"react\";const GalleryScopeContext=/*#__PURE__*/createContext(undefined);/**\n * Read the current gallery scope. Returns undefined when unscoped (default).\n */export function useGalleryScope(){return useContext(GalleryScopeContext);}export const GalleryScopeProvider=GalleryScopeContext.Provider;// ============================================================================\n// OVERLAY ISOLATION (auto-detected)\n// ============================================================================\n/** Scope applied to media components detected inside a Framer overlay. */export const OVERLAY_GALLERY_SCOPE=\"__overlay__\";// Max ancestors to walk when looking for the overlay layer.\nconst MAX_ANCESTOR_DEPTH=60;const OVERLAY_DETECTION_WINDOW_MS=1500;const useIsomorphicLayoutEffect=typeof window===\"undefined\"?useEffect:useLayoutEffect;/**\n * Detect whether an element is rendered inside a Framer native overlay/modal.\n *\n * Framer renders an overlay into a portal (`data-framer-portal-id`) whose layer\n * is `position: fixed`. We require BOTH signals, which distinguishes a real\n * overlay from:\n *   - main-page content        → no portal ancestor\n *   - inline portals (variants) → portal ancestor, but not fixed\n *   - fixed headers / banners   → fixed ancestor, but not in a portal\n *\n * Detection uses computed style only (no size/rect measurement), so the result\n * is stable regardless of the overlay's appear animation (scale / slide) or an\n * initial `display: none` mount — both of which make `getBoundingClientRect`\n * unreliable and previously caused inconsistent scoping between sibling media\n * components.\n */function isInsideOverlay(el){if(typeof window===\"undefined\"||!el||typeof el.closest!==\"function\")return false;// Must live inside a Framer portal (overlays render into one).\nif(!el.closest(\"[data-framer-portal-id]\"))return false;// ...and somewhere up the chain there must be a fixed overlay layer.\nlet node=el;let depth=0;while(node&&node!==document.body&&depth<MAX_ANCESTOR_DEPTH){if(window.getComputedStyle(node).position===\"fixed\")return true;node=node.parentElement;depth++;}return false;}/**\n * Resolve the gallery scope for a media component.\n *\n * Priority: wrapping provider context → auto-detected overlay → unscoped (main page).\n *\n * @param ref Ref to an element rendered by the component (used for DOM overlay\n *            detection). Must be attached in the main render path.\n */export function useResolvedGalleryScope(ref){const contextScope=useContext(GalleryScopeContext);const[autoScope,setAutoScope]=useState(undefined);useIsomorphicLayoutEffect(()=>{// A wrapping provider (e.g., GridContainer) takes precedence — skip detection.\nif(contextScope){setAutoScope(undefined);return;}let raf=0;const startedAt=performance.now();const detect=()=>{const next=isInsideOverlay(ref.current)?OVERLAY_GALLERY_SCOPE:undefined;setAutoScope(prev=>prev===next?prev:next);// Framer native overlays can attach their portal/fixed layer a few\n// frames after children mount during the first open. Keep checking\n// briefly so every media component converges to the same overlay\n// scope before the user interacts.\nif(next!==OVERLAY_GALLERY_SCOPE&&performance.now()-startedAt<OVERLAY_DETECTION_WINDOW_MS){raf=requestAnimationFrame(detect);}};// Detect now and for a short mount window, in case the overlay portal /\n// fixed layer attaches after the media children.\ndetect();return()=>cancelAnimationFrame(raf);},[contextScope,ref]);if(contextScope)return contextScope;return autoScope;}\nexport const __FramerMetadata__ = {\"exports\":{\"OVERLAY_GALLERY_SCOPE\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"useResolvedGalleryScope\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"useGalleryScope\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"GalleryScopeProvider\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./galleryScopeContext.map","import{useEffect,useRef}from\"react\";import{useLocalState}from\"https://framerusercontent.com/modules/xYDZCCqEBzGd7zfHzUX5/cLuhs5H2O0tFIwBfaQKt/useLocalState.js\";import{OVERLAY_GALLERY_SCOPE}from\"https://framerusercontent.com/modules/l1TDihqFjeGOPDLsIBcI/yfAc381iHmmc9JAbWNUV/galleryScopeContext.js\";const registrations=new Map;let listenerInstalled=false;let nextRegistrationId=0;function isEditableTarget(target){if(!(target instanceof HTMLElement))return false;return target.isContentEditable||Boolean(target.closest(\"input, textarea, select, [contenteditable='true']\"));}function parseGalleryKey(galleryKey){const separatorIndex=galleryKey.indexOf(\"::\");if(separatorIndex===-1){return{productId:galleryKey};}return{productId:galleryKey.slice(0,separatorIndex),galleryScope:galleryKey.slice(separatorIndex+2)};}function dispatchGalleryGoto(galleryKey,imageNumber){const{productId,galleryScope}=parseGalleryKey(galleryKey);if(!productId)return;window.dispatchEvent(new CustomEvent(\"fc:gallery:goto\",{detail:{productId,imageNumber,galleryScope:galleryScope||undefined}}));}function getActiveRegistration(){let best=null;for(const registration of registrations.values()){if(registration.navigableNumbers.length===0)continue;if(!best||registration.priority>best.priority){best=registration;}}return best;}function resolveCurrentIndex(numbers,registration,currentImageNumber){const directIndex=numbers.indexOf(currentImageNumber);if(directIndex!==-1){registration.lastKnownIndex=directIndex;return directIndex;}if(registration.lastKnownIndex>=0&&registration.lastKnownIndex<numbers.length){return registration.lastKnownIndex;}let nearestIndex=0;let nearestDelta=Infinity;for(let i=0;i<numbers.length;i++){const delta=Math.abs(numbers[i]-currentImageNumber);if(delta<nearestDelta){nearestDelta=delta;nearestIndex=i;}}registration.lastKnownIndex=nearestIndex;return nearestIndex;}function resolveNavigableNumbers(galleryKey,registration){const state=useLocalState.getState();const fromStore=state.visibleImageNumbersByProductId[galleryKey];// Static All / Slideshow publish the variant-filtered list to the store.\n// Prefer it so keyboard nav matches visible thumbnails exactly.\nif(fromStore&&fromStore.length>0){return fromStore;}return registration.navigableNumbers;}function handleGalleryKeyboard(e){if(e.key!==\"ArrowLeft\"&&e.key!==\"ArrowRight\")return;if(isEditableTarget(e.target))return;const registration=getActiveRegistration();if(!registration)return;const{galleryKey}=registration;const numbers=resolveNavigableNumbers(galleryKey,registration);if(numbers.length===0)return;// Overlay galleries must fully own arrow keys so Framer / other listeners\n// can't wrap the carousel or rewrite unscoped gallery state. Consume keys\n// even at the first/last image (hard stop) so native carousels can't loop.\n// Other scoped galleries (e.g. grid) still navigate below — only overlay\n// blocks propagation so the main-page carousel can't steal the keypress.\nconst{galleryScope}=parseGalleryKey(galleryKey);if(galleryScope===OVERLAY_GALLERY_SCOPE){e.preventDefault();e.stopImmediatePropagation();}if(numbers.length===1)return;const state=useLocalState.getState();const currentImageNumber=state.currentImageByProductId[galleryKey]??numbers[0];const currentIndex=resolveCurrentIndex(numbers,registration,currentImageNumber);const nextIndex=e.key===\"ArrowRight\"?Math.min(currentIndex+1,numbers.length-1):Math.max(currentIndex-1,0);registration.lastKnownIndex=nextIndex;if(nextIndex===currentIndex)return;const targetNumber=numbers[nextIndex];if(targetNumber==null)return;registration.setCurrentImageNumber(targetNumber);dispatchGalleryGoto(galleryKey,targetNumber);}function ensureGalleryKeyboardListener(){if(listenerInstalled||typeof document===\"undefined\")return;listenerInstalled=true;document.addEventListener(\"keydown\",handleGalleryKeyboard,true);}function removeGalleryKeyboardListenerIfIdle(){if(registrations.size>0||typeof document===\"undefined\")return;document.removeEventListener(\"keydown\",handleGalleryKeyboard,true);listenerInstalled=false;}export function useGalleryKeyboardNavigation({enabled,galleryKey,navigableNumbers,setCurrentImageNumber,priority=0}){const setCurrentImageNumberRef=useRef(setCurrentImageNumber);setCurrentImageNumberRef.current=setCurrentImageNumber;const navigableNumbersRef=useRef(navigableNumbers);navigableNumbersRef.current=navigableNumbers;const priorityRef=useRef(priority);priorityRef.current=priority;const registrationIdRef=useRef(null);useEffect(()=>{if(!enabled||!galleryKey)return;ensureGalleryKeyboardListener();const registrationId=++nextRegistrationId;registrationIdRef.current=registrationId;registrations.set(registrationId,{galleryKey,navigableNumbers:navigableNumbersRef.current,setCurrentImageNumber:imageNumber=>setCurrentImageNumberRef.current(imageNumber),priority:priorityRef.current,lastKnownIndex:0});return()=>{if(registrationIdRef.current!=null){registrations.delete(registrationIdRef.current);registrationIdRef.current=null;}removeGalleryKeyboardListenerIfIdle();};},[enabled,galleryKey]);useEffect(()=>{if(!enabled||registrationIdRef.current==null)return;const existing=registrations.get(registrationIdRef.current);if(!existing)return;existing.navigableNumbers=navigableNumbers;existing.priority=priority;existing.galleryKey=galleryKey;const state=useLocalState.getState();const numbers=resolveNavigableNumbers(galleryKey,existing);const currentImageNumber=state.currentImageByProductId[galleryKey]??numbers[0];const directIndex=numbers.indexOf(currentImageNumber);if(directIndex!==-1){existing.lastKnownIndex=directIndex;}},[enabled,galleryKey,navigableNumbers,priority]);}\nexport const __FramerMetadata__ = {\"exports\":{\"useGalleryKeyboardNavigation\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}","import{useEffect,useRef}from\"react\";const registrations=new Map;let listenerInstalled=false;let nextRegistrationId=0;function isEditableTarget(target){if(!(target instanceof HTMLElement))return false;return target.isContentEditable||Boolean(target.closest(\"input, textarea, select, button, [contenteditable='true']\"));}function isSpaceKey(e){return e.key===\" \"||e.code===\"Space\";}function getActiveRegistration(){let best=null;for(const registration of registrations.values()){if(!best||registration.priority>best.priority){best=registration;}}return best;}function handleMediaVideoSpacebar(e){if(!isSpaceKey(e))return;if(e.repeat)return;if(e.ctrlKey||e.metaKey||e.altKey)return;if(isEditableTarget(e.target))return;const registration=getActiveRegistration();if(!registration)return;e.preventDefault();e.stopImmediatePropagation();registration.togglePlayPause();}function ensureMediaVideoSpacebarListener(){if(listenerInstalled||typeof document===\"undefined\")return;listenerInstalled=true;document.addEventListener(\"keydown\",handleMediaVideoSpacebar,true);}function removeMediaVideoSpacebarListenerIfIdle(){if(registrations.size>0||typeof document===\"undefined\")return;document.removeEventListener(\"keydown\",handleMediaVideoSpacebar,true);listenerInstalled=false;}/**\n * Register a video for global spacebar play/pause when `enabled` is true.\n * Used by Variant Active (current video) and Slideshow (active slide video).\n */export function useMediaVideoSpacebar({enabled,togglePlayPause,priority=0}){const togglePlayPauseRef=useRef(togglePlayPause);togglePlayPauseRef.current=togglePlayPause;const priorityRef=useRef(priority);priorityRef.current=priority;const registrationIdRef=useRef(null);useEffect(()=>{if(!enabled)return;ensureMediaVideoSpacebarListener();const registrationId=++nextRegistrationId;registrationIdRef.current=registrationId;registrations.set(registrationId,{togglePlayPause:()=>togglePlayPauseRef.current(),priority:priorityRef.current});return()=>{if(registrationIdRef.current!=null){registrations.delete(registrationIdRef.current);registrationIdRef.current=null;}removeMediaVideoSpacebarListenerIfIdle();};},[enabled]);useEffect(()=>{if(!enabled||registrationIdRef.current==null)return;const existing=registrations.get(registrationIdRef.current);if(!existing)return;existing.togglePlayPause=()=>togglePlayPauseRef.current();existing.priority=priority;},[enabled,togglePlayPause,priority]);}\nexport const __FramerMetadata__ = {\"exports\":{\"useMediaVideoSpacebar\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./mediaVideoKeyboard.map","/**\n * Logging utility with URL-based debug mode\n * \n * Usage:\n *   import { log, warn, logError } from './utils/log';\n *   \n *   log('Filter applied', { field, value });  // Only logs when ?debug=true\n *   warn('Deprecated prop used');              // Only warns when ?debug=true\n *   logError('Failed to load', err);           // Always logs\n */// Cache debug state to avoid URL parsing on every call\nlet debugEnabled=null;const isDebugEnabled=()=>{if(debugEnabled!==null)return debugEnabled;if(typeof window===\"undefined\"){debugEnabled=false;return false;}try{const params=new URLSearchParams(window.location.search);debugEnabled=params.get(\"debug\")===\"true\";}catch{debugEnabled=false;}return debugEnabled;};// Reset cache on URL changes (for SPAs)\nif(typeof window!==\"undefined\"){window.addEventListener(\"popstate\",()=>{debugEnabled=null;});}/**\n * Debug log - only outputs when ?debug=true is in URL\n */export const log=(...args)=>{if(isDebugEnabled()){console.log(...args);}};/**\n * Warning log - only outputs when ?debug=true is in URL\n */export const warn=(...args)=>{if(isDebugEnabled()){console.warn(...args);}};/**\n * Error log - always outputs\n */export const logError=(...args)=>{console.error(...args);};/**\n * Force enable/disable debug mode programmatically\n * Useful for testing or admin tools\n */export const setDebugMode=enabled=>{debugEnabled=enabled;};/**\n * Check if debug mode is currently active\n */export const isDebug=()=>isDebugEnabled();\nexport const __FramerMetadata__ = {\"exports\":{\"log\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"logError\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"setDebugMode\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"isDebug\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"warn\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./log.map","/**\n * Shared FC Data media token formatting and parsing.\n * Used by ProductTransformService (export) and fcDataParser (import).\n *\n * REVISIT: Videos in MediaCatalog — requires `product.media` in sync GraphQL,\n * then catalog entries with type/kind and component updates (see docs § Future).\n *//** Separates entries inside `[MediaCatalog: ...]` (alt is sanitized to never contain `|`). */export const MEDIA_CATALOG_ENTRY_SEPARATOR=\" | \";/** Variant lines: `MEDIA_01` */export function formatVariantMediaRef(index){return`MEDIA_${String(index).padStart(2,\"0\")}`;}/** Catalog entries: `01` (context is MediaCatalog) */export function formatCatalogSlotRef(index){return String(index).padStart(2,\"0\");}/** 1-based slot from `MEDIA_01`, `IMG_02`, or catalog `01`. */export function getMediaSlotIndex(refToken){if(!refToken)return 0;const token=refToken.trim();const mediaMatch=token.match(/^(?:MEDIA|IMG)_(\\d+)$/i);if(mediaMatch)return parseInt(mediaMatch[1],10);const shortMatch=token.match(/^(\\d+)$/);if(shortMatch)return parseInt(shortMatch[1],10);return 0;}/**\n * Catalog entry: `01 https://cdn.../file.jpg Alt text here`\n */export function formatMediaCatalogEntry(index,url,alt){const tokens=[formatCatalogSlotRef(index)];const trimmedUrl=url.trim();const trimmedAlt=alt.trim();if(trimmedUrl)tokens.push(trimmedUrl);if(trimmedAlt)tokens.push(trimmedAlt);return tokens.join(\" \");}/** Inner body after `MediaCatalog:` (no surrounding brackets). */export function buildMediaCatalogSegmentBody(entries){return`MediaCatalog: ${entries.join(MEDIA_CATALOG_ENTRY_SEPARATOR)}`;}/**\n * Split catalog payload into per-slot entries.\n * Supports current ` | ` separator and legacy ` • ` / ` · ` between entries.\n */export function splitMediaCatalogEntries(content){const trimmed=content.trim();if(!trimmed)return[];if(trimmed.includes(MEDIA_CATALOG_ENTRY_SEPARATOR)){return trimmed.split(MEDIA_CATALOG_ENTRY_SEPARATOR).map(entry=>entry.trim()).filter(Boolean);}if(/[•·]/.test(trimmed)){return trimmed.split(/[•·]/).map(entry=>entry.trim()).filter(Boolean);}return[trimmed];}export function looksLikeCatalogMediaEntry(entry){const trimmed=entry.trim();if(!trimmed)return false;return/^(?:MEDIA|IMG)_\\d+(?:\\s|$)/i.test(trimmed)||/^\\d{2,}(?:\\s|$)/.test(trimmed);}export function parseCatalogMediaEntry(entry){if(!looksLikeCatalogMediaEntry(entry))return null;const[slotToken=\"\",urlToken=\"\",...altTokens]=entry.trim().split(/\\s+/);const index=getMediaSlotIndex(slotToken);if(!index)return null;return{ref:formatVariantMediaRef(index),index,url:urlToken||\"\",alt:altTokens.join(\" \")};}export function parseMediaCatalogContent(content){const catalog={};for(const entry of splitMediaCatalogEntries(content)){const parsed=parseCatalogMediaEntry(entry);if(!parsed)continue;catalog[parsed.index]=parsed;}return catalog;}\nexport const __FramerMetadata__ = {\"exports\":{\"formatVariantMediaRef\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"formatMediaCatalogEntry\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"buildMediaCatalogSegmentBody\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"getMediaSlotIndex\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"parseMediaCatalogContent\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"MEDIA_CATALOG_ENTRY_SEPARATOR\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"ParsedMediaCatalogSlot\":{\"type\":\"tsType\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"parseCatalogMediaEntry\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"formatCatalogSlotRef\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"splitMediaCatalogEntries\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"looksLikeCatalogMediaEntry\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./fcDataMediaFormat.map","/**\n * FC DATA PARSER\n *\n * Parses the \"FC Data\" CMS field format to extract product metadata.\n * Supports single-variant, single-option, and multi-option variants.\n * Image reference field is optional in variant entries.\n *\n * Single-variant format (no option definition):\n * [ID: 9914856374566]\n * [49725158490406 | IMG_01 | US-USD: 50.00/250.00 • CH-CHF: 41.00/205.00]\n * [Title: Football | Vendor: OFFSIDE | Type: Accessories | Created 2024-10-27]\n *\n * Single-option format:\n * [ID: 9914855915814][Size: XS, S, M, L, XL]\n * [XS | 49725156786470 | IMG_01 | US-USD: 250.00 • CH-CHF: 205.00]...\n * [Title: Product Name | Vendor: OFFSIDE | Type: Jerseys | Created 2024-12-24]\n *\n * Multi-option format:\n * [ID: 10103513383206][Logo: Muted, Bold][Color: Navy, Off White]\n * [Muted / Navy | 50441469559078 | IMG_01 | US-USD: 129.00 • CH-CHF: 106.00]...\n * [Title: Duffel Bag | Vendor: OFFSIDE | Type: Accessories | Created 2024-12-24]\n *\n * Variant entry WITHOUT image ref (bundles, some products):\n * [XS / S | 49549510115622 | US-USD: 375.00/800.00 • CH-CHF: 307.00/654.00]\n *\n * Price format: LOCALE-CURRENCY: price/comparePrice (e.g., US-USD: 200.00/250.00)\n * Also supports legacy format: CURRENCY: price/comparePrice (e.g., USD: 200.00/250.00)\n * Optional inventory token: QTY: quantityAvailable (e.g., QTY: 12)\n */import{warn}from\"https://framerusercontent.com/modules/mVbaWBbLWV8KgrAjqZgm/z1h10vx7UfFAMex4ETyU/log.js\";import{getMediaSlotIndex,parseMediaCatalogContent}from\"https://framerusercontent.com/modules/tsTYZLkfU0gaKAKn6B4i/SwJHeUDPJkJI1pVE764t/fcDataMediaFormat.js\";// ============================================================================\n// MAIN PARSER\n// ============================================================================\n/**\n * Parse an FC Data string into a structured object\n *\n * @param fcDataString - The raw FC Data string from CMS\n * @returns Parsed FC Data object or null if parsing fails\n */export function parseFCData(fcDataString){if(!fcDataString||typeof fcDataString!==\"string\"){warn(\"⚠️ FC Data Parser: Invalid input - expected non-empty string\");return null;}try{// Extract all bracketed segments: [content]\nconst segments=extractSegments(fcDataString);if(segments.length===0){warn(\"⚠️ FC Data Parser: No valid segments found in:\",fcDataString);return null;}const result={version:\"\",productId:\"\",variantCount:0,variantOptions:{},variants:[],metadata:{title:null,vendor:null,productType:null,collections:[],createdAt:null},sellingPlans:[],mediaCatalog:{},raw:fcDataString};for(const segment of segments){parseSegment(segment,result);}hydrateVariantMediaFromCatalog(result);// Validate required fields\nif(!result.productId){warn(\"⚠️ FC Data Parser: Missing product ID in:\",fcDataString);return null;}return result;}catch(error){warn(\"⚠️ FC Data Parser: Error parsing FC Data:\",error,\"Input:\",fcDataString);return null;}}// ============================================================================\n// SEGMENT PARSING\n// ============================================================================\n/**\n * Extract all [content] segments from the FC Data string\n */function extractSegments(fcDataString){const regex=/\\[([^\\]]+)\\]/g;const segments=[];let match;while((match=regex.exec(fcDataString))!==null){segments.push(match[1]);}return segments;}/**\n * Parse a single segment and update the result object\n */function parseSegment(segment,result){// Version segment: \"V2\"\nif(/^V\\d+$/i.test(segment)){result.version=segment.toUpperCase();return;}// Product ID segment: \"ID: 9914855915814 | 5 Variants\"\nif(segment.startsWith(\"ID:\")){parseProductIdSegment(segment,result);return;}// Selling plan group: \"SUBS: Seal Sub\"\nif(segment.startsWith(\"SUBS:\")){parseSellingPlanGroupSegment(segment,result);return;}// Selling plan entry: \"1 week sub • -10% • 10343219494\"\n// Format: Name • Discount • ID (uses bullet separators, NO pipe separators)\n// Must NOT contain pipe (|) to distinguish from variant entries\nif(segment.includes(\"•\")&&!segment.includes(\"|\")&&/\\d+$/.test(segment.trim())){parseSellingPlanEntrySegment(segment,result);return;}// Metadata segment: \"Title: Product | Vendor: OFFSIDE | Type: Jerseys | Collections: Sale | Created 2024-12-24\"\nif(segment.includes(\"Vendor:\")||segment.includes(\"Type:\")||segment.includes(\"Collections:\")||segment.includes(\"Title:\")||segment.includes(\"Created \")){parseMetadataSegment(segment,result);return;}// Media catalog: \"MediaCatalog: MEDIA_01 https://... alt • MEDIA_02 https://... alt2\"\nif(segment.startsWith(\"MediaCatalog:\")){parseMediaCatalogSegment(segment,result);return;}// Gallery manifest: \"Media: 01, 02 [poster], VID 03\" (read via parseMediaManifest on raw string)\nif(/^Media:\\s*/i.test(segment)){return;}// Video alt override: \"Video 1: Custom alt\" (read via parseVideoAltText on raw string)\nif(/^Video\\s+\\d+\\s*:/i.test(segment)){return;}// Variant option definition: \"Size: XS, S, M, L, XL\" or \"Color: Red, Blue\"\nif(segment.includes(\":\")&&!segment.includes(\"|\")){parseVariantOptionSegment(segment,result);return;}// Individual variant entry: \"XS | 49725156786470 | IMG_01\"\nif(segment.includes(\"|\")){parseVariantEntrySegment(segment,result);return;}}/**\n * Numeric Shopify product ID from `ID: 123` or `ID: gid://shopify/Product/123`.\n */function extractProductIdFromIdPart(idPart){const raw=idPart.replace(/^ID:\\s*/i,\"\").trim();if(!raw)return\"\";if(/^\\d+$/.test(raw))return raw;const gidMatch=raw.match(/Product\\/(\\d+)/i);if(gidMatch)return gidMatch[1];const longDigits=raw.match(/(\\d{8,})/);return longDigits?longDigits[1]:\"\";}/**\n * Parse product ID segment: \"ID: 9914855915814 | 5 Variants\"\n */function parseProductIdSegment(segment,result){const parts=segment.split(\"|\").map(p=>p.trim());const productId=parts[0]?extractProductIdFromIdPart(parts[0]):\"\";if(productId){result.productId=productId;}// Extract variant count\nif(parts[1]){const countMatch=parts[1].match(/(\\d+)\\s*Variants?/i);if(countMatch){result.variantCount=parseInt(countMatch[1],10);}}}/**\n * Parse selling plan group segment.\n * Old: \"SUBS: Seal Sub\"\n * New: \"SUBS: Subscribe & save | OPT: Subscribe & save | VAL: Delivers every month\"\n */function parseSellingPlanGroupSegment(segment,result){const withoutPrefix=segment.replace(/^SUBS:\\s*/,\"\");const parts=withoutPrefix.split(\"|\").map(p=>p.trim());const groupName=parts[0];if(!groupName)return;const group={name:groupName,plans:[]};for(const part of parts.slice(1)){const optMatch=part.match(/^OPT:\\s*(.+)/i);if(optMatch){group.optionName=optMatch[1].trim();continue;}const valMatch=part.match(/^VAL:\\s*(.+)/i);if(valMatch){group.optionValues=valMatch[1].split(\",\").map(v=>v.trim()).filter(Boolean);continue;}}result.sellingPlans.push(group);}/**\n * Parse selling plan entry segment (pattern-based, not positional).\n *\n * Old formats:\n *   \"1 week sub • -10% • 10343219494\"\n *   \"3 week sub • Fixed: 69.00 USD • 10343350566\"\n *   \"1 week sub • -10% • 10343219494 • 49725157605670,49725157638438\"\n *\n * New formats (recurring field, optional DESC):\n *   \"Ships every month • Fixed: 79.99 USD • recurring:false • 1817378979\"\n *   \"Ships every month • DESC: Billed monthly • Fixed: 79.99 USD • recurring:true • 1817378979\"\n *   \"Ships every month • -10% • recurring:true • 1817378979 • 49725157605670,49725157638438\"\n *\n * Fields are detected by prefix/shape rather than array position.\n */function parseSellingPlanEntrySegment(segment,result){const parts=segment.split(\"•\").map(p=>p.trim());if(parts.length<3)return;const planName=parts[0];// --- Plan ID: first purely-numeric part after the name ---\nlet planId;let planIdIndex=-1;for(let i=1;i<parts.length;i++){if(/^\\d+$/.test(parts[i])){planId=parts[i];planIdIndex=i;break;}}if(!planId)return;// --- Description (optional): \"DESC: Billed monthly\" ---\nlet description;for(let i=1;i<parts.length;i++){const m=parts[i].match(/^DESC:\\s*(.+)/i);if(m){description=m[1].trim();break;}}// --- Recurring (optional): \"recurring:true\" / \"recurring:false\" ---\nlet recurring;for(let i=1;i<parts.length;i++){const m=parts[i].match(/^recurring:(true|false)$/i);if(m){recurring=m[1].toLowerCase()===\"true\";break;}}// --- Discount: find the part matching a known discount shape ---\nlet discountType;let discountValue;let discountCurrency;for(let i=1;i<parts.length;i++){const p=parts[i];if(p===planId||p.startsWith(\"DESC:\")||/^recurring:/i.test(p))continue;if(p.startsWith(\"-\")&&p.endsWith(\"%\")){discountType=\"percentage\";discountValue=Math.abs(parseFloat(p.replace(\"%\",\"\")));break;}if(p.toLowerCase().startsWith(\"fixed:\")){const fm=p.match(/Fixed:\\s*([\\d.]+)\\s*(\\w+)/i);if(fm){discountType=\"fixed_price\";discountValue=parseFloat(fm[1]);discountCurrency=fm[2].toUpperCase();}break;}if(p.startsWith(\"-\")){const am=p.match(/-([\\d.]+)\\s*(\\w+)/);if(am){discountType=\"fixed_amount\";discountValue=parseFloat(am[1]);discountCurrency=am[2].toUpperCase();}break;}}if(!discountType||discountValue===undefined)return;const plan={id:planId,name:planName,discountType,discountValue};if(discountCurrency)plan.discountCurrency=discountCurrency;if(description)plan.description=description;if(recurring!==undefined)plan.recurring=recurring;// Variant IDs: the part immediately after the plan ID, if it starts with a digit\nif(planIdIndex+1<parts.length){const variantIdsPart=parts[planIdIndex+1].trim();if(variantIdsPart&&/^\\d/.test(variantIdsPart)){plan.variantIds=variantIdsPart.split(\",\").map(id=>id.trim()).filter(Boolean);}}if(result.sellingPlans.length===0){result.sellingPlans.push({name:\"Subscriptions\",plans:[]});}result.sellingPlans[result.sellingPlans.length-1].plans.push(plan);}/**\n * Parse metadata segment: \"Title: Product | Vendor: OFFSIDE | Type: Jerseys | Collections: Sale | Created 2024-12-24\"\n */function parseMetadataSegment(segment,result){const parts=segment.split(\"|\").map(p=>p.trim());for(const part of parts){// Title (for analytics)\nconst titleMatch=part.match(/^Title:\\s*(.+)/i);if(titleMatch){result.metadata.title=titleMatch[1].trim();continue;}// Vendor\nconst vendorMatch=part.match(/^Vendor:\\s*(.+)/i);if(vendorMatch){result.metadata.vendor=vendorMatch[1].trim();continue;}// Product Type\nconst typeMatch=part.match(/^Type:\\s*(.+)/i);if(typeMatch){result.metadata.productType=typeMatch[1].trim();continue;}// Collections\nconst collectionsMatch=part.match(/^Collections:\\s*(.+)/i);if(collectionsMatch){result.metadata.collections=collectionsMatch[1].split(\",\").map(c=>c.trim()).filter(Boolean);continue;}// Created date (YYYY-MM-DD format)\nconst createdMatch=part.match(/^Created\\s+(\\d{4}-\\d{2}-\\d{2})/i);if(createdMatch){result.metadata.createdAt=createdMatch[1];continue;}}}/**\n * Parse variant option segment: \"Size: XS, S, M, L, XL\" or \"Color: Navy, Off White\"\n */function parseVariantOptionSegment(segment,result){const colonIndex=segment.indexOf(\":\");if(colonIndex===-1)return;const optionName=segment.substring(0,colonIndex).trim();const valuesStr=segment.substring(colonIndex+1).trim();// Skip if this looks like metadata (Vendor, Type, Collections, Title, Created)\nconst metadataKeys=[\"vendor\",\"type\",\"collections\",\"id\",\"title\",\"created\",\"media\",\"mediacatalog\"];if(metadataKeys.includes(optionName.toLowerCase())){return;}const values=valuesStr.split(\",\").map(v=>v.trim()).filter(Boolean);if(values.length>0){result.variantOptions[optionName]=values;}}/**\n * Check if a string looks like price data (contains currency format).\n * Used to detect when image ref field is missing.\n */function looksLikePriceData(str){if(!str)return false;// Matches: \"US-USD: 250.00\" or \"USD: 19.99\" patterns\nreturn/^(?:[A-Z]{2}-)?[A-Z]{3}:\\s*[\\d.]+/.test(str);}/**\n * Check if a token carries variant inventory.\n */function looksLikeQuantityData(str){if(!str)return false;return/^QTY:\\s*\\d+$/i.test(str.trim());}function parseQuantityToken(token){if(!token||!looksLikeQuantityData(token))return undefined;const match=token.trim().match(/^QTY:\\s*(\\d+)$/i);if(!match)return undefined;const quantity=parseInt(match[1],10);return Number.isFinite(quantity)&&quantity>=0?quantity:undefined;}/**\n * Check if a token looks like a media reference (V3 `MEDIA_XX` or V2 `IMG_XX`).\n * The token may carry an embedded URL and alt text after whitespace.\n */function looksLikeMediaRef(str){if(!str)return false;return/^(?:MEDIA|IMG)_\\d+(?:\\s|$)/i.test(str.trim());}/**\n * Parse a media token into ref/url/alt.\n *\n * V3 format: \"MEDIA_01 https://cdn.shopify.com/.../file.jpg Black Front\"\n * V2 format: \"IMG_01\" (bare ref — url and alt come back as empty strings)\n *\n * Tokens are whitespace-delimited:\n * - First token: ref (MEDIA_XX or IMG_XX)\n * - Second token: URL (URLs do not contain whitespace)\n * - Remaining tokens: alt text (joined with single spaces)\n */function parseMediaToken(token){if(!token)return{ref:\"\",url:\"\",alt:\"\"};const[refToken=\"\",urlToken=\"\",...altTokens]=token.trim().split(/\\s+/);return{ref:refToken,url:urlToken,alt:altTokens.join(\" \")};}/**\n * Extract the media slot number from a ref (e.g., \"MEDIA_01\" → 1, \"IMG_15\" → 15).\n * Returns 0 when the ref is malformed or empty.\n */function getMediaIndexFromRef(ref){return getMediaSlotIndex(ref);}function parseMediaCatalogSegment(segment,result){const content=segment.replace(/^MediaCatalog:\\s*/i,\"\").trim();if(!content)return;result.mediaCatalog=parseMediaCatalogContent(content);}/**\n * Copy URL/alt from mediaCatalog onto variants that only carry a bare ref.\n * Inline variant tokens (legacy V3) keep their embedded url/alt when present.\n */function hydrateVariantMediaFromCatalog(result){const catalogKeys=Object.keys(result.mediaCatalog);if(catalogKeys.length===0)return;for(const variant of result.variants){if(!variant.imageRef)continue;const index=getMediaIndexFromRef(variant.imageRef);if(!index)continue;if(variant.mediaUrl?.trim())continue;const entry=result.mediaCatalog[index];if(!entry)continue;variant.mediaUrl=entry.url;variant.mediaAlt=entry.alt;}}/**\n * Whether gallery visibility should filter by the active variant selection.\n * Accepts `\"If Active Variant\"` (canonical) and `\"Active\"` (Variant Static control value).\n */export function isVariantMediaFilterActive(filterVariants){if(!filterVariants||filterVariants===\"Always\")return false;return true;}/** Case-insensitive option value lookup on a parsed variant. */function getVariantOptionValue(variant,optionName){const exact=variant.selectedOptions[optionName];if(exact!==undefined&&exact!==\"\")return exact;const normalized=optionName.toLowerCase().trim();for(const[key,value]of Object.entries(variant.selectedOptions)){if(key.toLowerCase().trim()===normalized)return value;}return undefined;}function variantMatchesSelectedOptions(variant,selectedEntries){return selectedEntries.every(([optionName,optionValue])=>{const variantValue=getVariantOptionValue(variant,optionName);return variantValue?.toLowerCase().trim()===optionValue.toLowerCase().trim();});}/**\n * Catalog slots referenced by variants that match all non-empty selected options\n * (supports partial selection, e.g. Color only on a multi-option product).\n */export function getCatalogSlotsForSelectedOptions(parsed,selectedOptions){const slots=new Set;const selectedEntries=Object.entries(selectedOptions).filter(([,value])=>value!=null&&String(value).trim()!==\"\");if(selectedEntries.length===0)return slots;for(const variant of parsed.variants){if(!variantMatchesSelectedOptions(variant,selectedEntries))continue;if(!variant.imageRef)continue;const slot=getMediaIndexFromRef(variant.imageRef);if(slot>=1)slots.add(slot);}return slots;}/**\n * Primary catalog slot for the current selection (variant `MEDIA_XX` / `IMG_XX`).\n * Used by gallery/slideshow to jump to the variant-mapped image.\n */export function getPrimaryCatalogSlotForSelectedOptions(fcData,selectedOptions){const parsed=parseFCData(fcData);if(!parsed)return 0;const slots=getCatalogSlotsForSelectedOptions(parsed,selectedOptions);if(slots.size>0){return Math.min(...slots);}const ref=getVariantImageRefBySelectedOptions(fcData,selectedOptions);if(!ref)return 0;return getMediaIndexFromRef(ref);}/**\n * Get resolved media for a slot from parsed FC Data (catalog first).\n */export function getMediaBySlotFromParsed(parsed,slot){if(!parsed||!slot||slot<1)return null;const catalogEntry=parsed.mediaCatalog[slot];if(catalogEntry){return{ref:catalogEntry.ref,index:slot,url:catalogEntry.url||\"\",alt:catalogEntry.alt||\"\"};}for(const variant of parsed.variants){if(!variant.imageRef)continue;if(getMediaIndexFromRef(variant.imageRef)!==slot)continue;return toVariantMedia(variant);}return null;}/**\n * Highest populated MEDIA/IMG slot index (catalog + variant refs).\n */export function getMaxMediaSlotFromParsed(parsed){let maxSlot=0;for(const key of Object.keys(parsed.mediaCatalog)){const index=parseInt(key,10);if(Number.isFinite(index)&&index>maxSlot)maxSlot=index;}for(const variant of parsed.variants){const index=getMediaIndexFromRef(variant.imageRef);if(index>maxSlot)maxSlot=index;}return maxSlot;}/**\n * Parse individual variant entry:\n *\n * Standard format (with image ref):\n *   \"XS | 49725156786470 | IMG_01 | US-USD: 250.00\"\n *   \"Muted / Navy | 50441469559078 | IMG_01 | US-USD: 129.00 • CH-CHF: 106.00\"\n *\n * Without image ref (bundles, some products):\n *   \"XS / S | 49549510115622 | US-USD: 375.00/800.00\"\n *   (No IMG_XX field - prices directly after variant ID)\n *\n * Single-variant products (no option definition):\n *   \"49725158490406 | IMG_01 | US-USD: 50.00/250.00\"\n *   \"49725158490406 | US-USD: 50.00/250.00\" (also possible without image ref)\n *\n * Price formats supported:\n * - New locale-currency: \"US-USD: 250.00\" or \"US-USD: 200.00/250.00\"\n * - Legacy currency-only: \"USD: 19.99\" or \"USD: 19.99/24.99\"\n */function parseVariantEntrySegment(segment,result){const rawParts=segment.split(\"|\").map(p=>p.trim());// Must have at least 2 parts\nif(rawParts.length<2)return;// Skip if this looks like product ID or metadata segment\nif(rawParts[0].includes(\":\"))return;const quantityAvailable=rawParts.map(part=>parseQuantityToken(part)).find(quantity=>quantity!==undefined);const parts=rawParts.filter(part=>!looksLikeQuantityData(part));// e.g. [\"Default Title\", \"QTY: 5\"] → [\"Default Title\"] after filter\nif(parts.length<2)return;const optionNames=Object.keys(result.variantOptions);// Detect single-variant products (no option definition)\n// Format: [variantId | ...] - parts[0] is numeric variant ID\nconst isSingleVariantNoOption=optionNames.length===0&&/^\\d+$/.test(parts[0]);let rawOptionValue;let variantId;let mediaToken=\"\";let pricesPart;if(isSingleVariantNoOption){// Single-variant product without option definition\nrawOptionValue=\"Default\";variantId=parts[0];// Check if parts[1] is prices (no media ref) or media ref\nif(looksLikePriceData(parts[1])){// Format: variantId | prices (no media ref)\nmediaToken=\"\";pricesPart=parts[1];}else{// Format: variantId | mediaToken | prices\nmediaToken=parts[1]||\"\";pricesPart=parts[2];}}else{// Has option value prefix\nrawOptionValue=parts[0];variantId=parts[1];// Check if parts[2] is prices (no media ref) or media ref\nif(looksLikePriceData(parts[2])){// Format: optionValue | variantId | prices (no media ref)\nmediaToken=\"\";pricesPart=parts[2];}else{// Format: optionValue | variantId | mediaToken | prices\nmediaToken=parts[2]||\"\";pricesPart=parts[3];}}// Parse the media token: \"MEDIA_01 https://... alt text\" or legacy \"IMG_01\"\nconst{ref:imageRef,url:mediaUrl,alt:mediaAlt}=mediaToken&&looksLikeMediaRef(mediaToken)?parseMediaToken(mediaToken):{ref:\"\",url:\"\",alt:\"\"};// Parse selectedOptions based on whether it's single or multi-option\nconst selectedOptions={};if(isSingleVariantNoOption){// Single variant - no options to select\nselectedOptions[\"Default\"]=\"Default\";}else if(optionNames.length>1&&rawOptionValue.includes(\" / \")){// Multi-option: split by \" / \" and map to option names in order\nconst values=rawOptionValue.split(\" / \").map(v=>v.trim());optionNames.forEach((name,index)=>{if(values[index]!==undefined){selectedOptions[name]=values[index];}});}else if(optionNames.length===1){// Single option: use entire value\nselectedOptions[optionNames[0]]=rawOptionValue;}else if(optionNames.length===0){// No option definitions but has non-numeric first part - use as option value\nselectedOptions[\"Option\"]=rawOptionValue;}else{// Multiple options defined but value doesn't contain \" / \"\n// This handles edge cases - use first option name\nselectedOptions[optionNames[0]]=rawOptionValue;}const variant={optionValue:rawOptionValue,selectedOptions,variantTitle:rawOptionValue,variantId,imageRef,mediaUrl,mediaAlt,prices:{}};if(quantityAvailable!==undefined){variant.quantityAvailable=quantityAvailable;}// Parse pricing data\n// New format: \"US-USD: 250.00 • CH-CHF: 205.00 • DE-EUR: 219.95\"\n// Legacy format: \"USD: 19.99/24.99 • EUR: 17.99/22.99\"\nif(pricesPart){const priceParts=pricesPart.split(\"•\").map(p=>p.trim()).filter(Boolean);for(const pricePart of priceParts){// Match both formats:\n// New: \"US-USD: 250.00\" or \"US-USD: 200.00/250.00\"\n// Legacy: \"USD: 19.99\" or \"USD: 19.99/24.99\"\nconst priceMatch=pricePart.match(/^(?:([A-Z]{2})-)?([A-Z]{3}):\\s*([\\d.]+)(?:\\/([\\d.]*))?$/);if(priceMatch){const[,locale,currency,priceStr,comparePriceStr]=priceMatch;const price=parseFloat(priceStr);const comparePrice=comparePriceStr&&comparePriceStr.length>0?parseFloat(comparePriceStr):null;if(!isNaN(price)){// Use locale-currency key for new format (e.g., \"US-USD\"), currency-only for legacy (e.g., \"USD\")\nconst priceKey=locale?`${locale}-${currency}`:currency;variant.prices[priceKey]={price,comparePrice:comparePrice!==null&&!isNaN(comparePrice)?comparePrice:null,locale:locale||undefined,currency};}}}}result.variants.push(variant);}// ============================================================================\n// SHARED HELPERS\n// ============================================================================\n/**\n * Normalize a Shopify variant ID by removing GID prefix if present\n * (e.g., \"gid://shopify/ProductVariant/49725156786470\" → \"49725156786470\")\n */export function normalizeVariantId(variantId){if(!variantId)return\"\";return variantId.includes(\"/\")?variantId.split(\"/\").pop()||variantId:variantId;}/**\n * Build the `{ optionName: value }` selection map for a variant by its id.\n * Returns `{}` when the variant isn't found in this FC Data (e.g. the id\n * belongs to a different product), so callers can safely use it as a fallback.\n *\n * @example getSelectedOptionsByVariantId(fcData, \"52622747009337\") → { Color: \"Blue\", Size: \"S/M\" }\n */export function getSelectedOptionsByVariantId(fcData,variantId){if(!fcData||!variantId)return{};const parsed=parseFCData(fcData);if(!parsed?.variants?.length)return{};const vid=normalizeVariantId(variantId);const variant=parsed.variants.find(v=>normalizeVariantId(v.variantId)===vid);if(!variant?.selectedOptions)return{};const out={};for(const[name,value]of Object.entries(variant.selectedOptions)){if(value!=null&&String(value).trim()!==\"\"){out[name]=String(value);}}return out;}/**\n * Parse the FC Data, find the variant whose id matches passed id, and build selectedOptions from FC Data (Color, Size, etc.).\n * Only if the cart merchandise doesn't already have real selectedOptions (empty or missing).\n */export function mergeMerchandiseWithMatchingFcVariant(merchandise,fcDataString,variantNumericId){if(!merchandise||!fcDataString?.trim()||!variantNumericId){return merchandise;}const parsed=parseFCData(fcDataString);if(!parsed?.variants?.length)return merchandise;const vid=normalizeVariantId(variantNumericId);const variant=parsed.variants.find(v=>normalizeVariantId(v.variantId)===vid);if(!variant?.selectedOptions)return merchandise;const fcOptions=Object.entries(variant.selectedOptions).map(([name,value])=>({name,value:String(value??\"\")}));const existing=merchandise.selectedOptions;const hasRealCartOptions=Array.isArray(existing)&&existing.some(o=>o?.name&&o?.value);if(hasRealCartOptions)return merchandise;const merged={...merchandise,selectedOptions:fcOptions};const variantTitle=fcOptions.map(o=>o.value).join(\" / \");if(variantTitle&&(!merged.title||merged.title===\"Default Title\")){merged.title=variantTitle;}if(merged.product&&typeof merged.product===\"object\"){merged.product={...merged.product};if(parsed.metadata.title&&!merged.product.title){merged.product.title=parsed.metadata.title;}if(parsed.metadata.vendor!=null&&merged.product.vendor==null){merged.product.vendor=parsed.metadata.vendor??undefined;}if(parsed.metadata.productType!=null&&merged.product.productType==null){merged.product.productType=parsed.metadata.productType??undefined;}}return merged;}/**\n * When the cart line has a selling plan id but no display name (common for\n * manual cross-sell + preview optimistic lines), fill the name from FC Data\n * `[SUBS: …]` blocks when the collection row includes matching FC Data.\n */export function enrichSellingPlanAllocationFromFcData(allocation,fcDataString){if(!allocation?.sellingPlan?.id||!fcDataString?.trim()){return allocation;}const existingName=String(allocation.sellingPlan.name??\"\").trim();if(existingName)return allocation;const parsed=parseFCData(fcDataString);if(!parsed)return allocation;const rawId=String(allocation.sellingPlan.id);const numericId=rawId.includes(\"/\")?rawId.split(\"/\").pop()||\"\":rawId;const plan=findSellingPlanById(parsed,numericId);if(!plan?.name)return allocation;return{...allocation,sellingPlan:{...allocation.sellingPlan,name:plan.name}};}// ============================================================================\n// SELLING PLAN HELPERS\n// ============================================================================\n/**\n * Find a selling plan by its numeric ID across all selling plan groups.\n * Useful for matching a cart line's selling plan GID back to FC Data.\n *\n * @param parsed - Parsed FC Data\n * @param planId - Numeric selling plan ID (e.g., \"10343219494\")\n * @returns The matching selling plan, or null if not found\n */export function findSellingPlanById(parsed,planId){for(const group of parsed.sellingPlans){const plan=group.plans.find(p=>p.id===planId);if(plan)return plan;}return null;}// ============================================================================\n// CONVENIENCE GETTERS (for fallback usage)\n// ============================================================================\n/**\n * Get product ID from FC Data string\n */export function getProductIdFromFCData(fcData){const parsed=parseFCData(fcData);return parsed?.productId||null;}/**\n * Get vendor from FC Data string\n */export function getVendorFromFCData(fcData){const parsed=parseFCData(fcData);return parsed?.metadata.vendor||null;}/**\n * Get product type from FC Data string\n */export function getProductTypeFromFCData(fcData){const parsed=parseFCData(fcData);return parsed?.metadata.productType||null;}/**\n * Get collections from FC Data string\n */export function getCollectionsFromFCData(fcData){const parsed=parseFCData(fcData);return parsed?.metadata.collections||[];}/**\n * Check if a product has a specific variant option value\n * (e.g., hasVariantValue(fcData, \"Size\", \"XL\") → true)\n */export function hasVariantValue(fcData,optionName,value){const values=getValuesForOption(fcData,optionName);const normalizedValue=value.toLowerCase().trim();return values.some(v=>v.toLowerCase().trim()===normalizedValue);}/**\n * Check if a product belongs to a specific collection\n */export function hasCollection(fcData,collectionName){const collections=getCollectionsFromFCData(fcData);const normalizedName=collectionName.toLowerCase().trim();return collections.some(c=>c.toLowerCase().trim()===normalizedName);}/**\n * Get variant by option value\n * (e.g., getVariantByOptionValue(fcData, \"XS\") → FCDataVariant)\n */export function getVariantByOptionValue(fcData,optionValue){const parsed=parseFCData(fcData);if(!parsed)return null;const normalizedValue=optionValue.toLowerCase().trim();return parsed.variants.find(v=>v.optionValue.toLowerCase().trim()===normalizedValue)||null;}/**\n * Get variant ID by option value\n * (e.g., getVariantIdByOptionValue(fcData, \"XS\") → \"49725156786470\")\n * Note: Reuses getVariantByOptionValue for DRY compliance\n */export function getVariantIdByOptionValue(fcData,optionValue){const variant=getVariantByOptionValue(fcData,optionValue);return variant?.variantId||null;}/**\n * Get first option name from FC Data\n * (e.g., getOptionName(fcData) → \"Size\")\n */export function getOptionName(fcData){const parsed=parseFCData(fcData);if(!parsed)return null;const names=Object.keys(parsed.variantOptions);return names[0]||null;}/**\n * Get option values from FC Data (first option only for single-option products)\n * (e.g., getOptionValues(fcData) → [\"XS\", \"S\", \"M\", \"L\", \"XL\"])\n */export function getOptionValues(fcData){const parsed=parseFCData(fcData);if(!parsed)return[];const names=Object.keys(parsed.variantOptions);return parsed.variantOptions[names[0]]||[];}/**\n * Get image ref for a variant by variant ID\n * (e.g., getVariantImageRef(fcData, \"49725156786470\") → \"IMG_01\")\n */export function getVariantImageRef(fcData,variantId){const parsed=parseFCData(fcData);if(!parsed)return null;const normalizedId=normalizeVariantId(variantId);const variant=parsed.variants.find(v=>v.variantId===normalizedId);return variant?.imageRef||null;}// ============================================================================\n// MULTI-OPTION HELPERS\n// ============================================================================\n/**\n * Get all option names from FC Data (e.g., [\"Size\"] or [\"Logo\", \"Color\"])\n */export function getAllOptionNames(fcData){const parsed=parseFCData(fcData);if(!parsed)return[];return Object.keys(parsed.variantOptions);}/**\n * Check if product has multiple variant options\n * @example isMultiOptionProduct(\"[Size: S][Color: Red]...\") → true\n */export function isMultiOptionProduct(fcData){const optionNames=getAllOptionNames(fcData);return optionNames.length>1;}/**\n * Get variant by selected options (supports multi-option)\n * @example getVariantBySelectedOptions(fcData, { Logo: \"Muted\", Color: \"Navy\" })\n */export function getVariantBySelectedOptions(fcData,selectedOptions){const parsed=parseFCData(fcData);if(!parsed)return null;return parsed.variants.find(v=>{// All provided options must match\nreturn Object.entries(selectedOptions).every(([name,value])=>{const variantValue=v.selectedOptions[name];if(!variantValue)return false;return variantValue.toLowerCase().trim()===value.toLowerCase().trim();});})||null;}/**\n * Get variant ID by selected options (supports multi-option)\n * @example getVariantIdBySelectedOptions(fcData, { Logo: \"Muted\", Color: \"Navy\" }) → \"50441469559078\"\n */export function getVariantIdBySelectedOptions(fcData,selectedOptions){const variant=getVariantBySelectedOptions(fcData,selectedOptions);return variant?.variantId||null;}/**\n * Get product title from FC Data metadata\n */export function getProductTitle(fcData){const parsed=parseFCData(fcData);return parsed?.metadata.title||null;}/**\n * Get product created date from FC Data metadata\n */export function getProductCreatedAt(fcData){const parsed=parseFCData(fcData);return parsed?.metadata.createdAt||null;}/**\n * Get values for a specific option (by option name)\n * @example getValuesForOption(fcData, \"Color\") → [\"Navy\", \"Off White\"]\n */export function getValuesForOption(fcData,optionName){const parsed=parseFCData(fcData);if(!parsed)return[];// Case-insensitive lookup\nconst normalizedName=optionName.toLowerCase().trim();for(const[key,values]of Object.entries(parsed.variantOptions)){if(key.toLowerCase().trim()===normalizedName){return values;}}return[];}/**\n * Get image ref for a variant by option value (single-option products only)\n * (e.g., getVariantImageRefByOption(fcData, \"XS\") → \"IMG_01\")\n * @deprecated Use getVariantImageRefBySelectedOptions for multi-option support\n */export function getVariantImageRefByOption(fcData,optionValue){const variant=getVariantByOptionValue(fcData,optionValue);return variant?.imageRef||null;}/**\n * Get image ref for a variant by selected options (supports multi-option variants)\n * Finds the variant that matches ALL provided selected options\n *\n * @example\n * // For multi-option: getVariantImageRefBySelectedOptions(fcData, { Logo: \"Muted\", Color: \"Navy\" }) → \"IMG_01\"\n * // For single-option: getVariantImageRefBySelectedOptions(fcData, { Size: \"XS\" }) → \"IMG_01\"\n */export function getVariantImageRefBySelectedOptions(fcData,selectedOptions){const parsed=parseFCData(fcData);if(!parsed)return null;const selectedEntries=Object.entries(selectedOptions).filter(([_,value])=>value);if(selectedEntries.length===0)return null;const matchingVariant=parsed.variants.find(variant=>variantMatchesSelectedOptions(variant,selectedEntries));return matchingVariant?.imageRef||null;}/**\n * Build an `FCDataVariantMedia` bundle from a parsed variant.\n * Returns null when the variant has no media ref.\n */function toVariantMedia(variant,catalog){if(!variant||!variant.imageRef)return null;const index=getMediaIndexFromRef(variant.imageRef);const catalogEntry=index&&catalog?catalog[index]:undefined;return{ref:variant.imageRef,index,url:variant.mediaUrl||catalogEntry?.url||\"\",alt:variant.mediaAlt||catalogEntry?.alt||\"\"};}/**\n * Get the resolved media bundle (ref + url + alt) for a variant by variant ID.\n *\n * @example\n * // V3: getVariantMediaByVariantId(fcData, \"49725156786470\")\n * //   → { ref: \"MEDIA_01\", index: 1, url: \"https://cdn.shopify.com/.../file.jpg\", alt: \"Black Front\" }\n * // V2: getVariantMediaByVariantId(fcData, \"49725156786470\")\n * //   → { ref: \"IMG_01\", index: 1, url: \"\", alt: \"\" }\n */export function getVariantMediaByVariantId(fcData,variantId){const parsed=parseFCData(fcData);if(!parsed)return null;const normalizedId=normalizeVariantId(variantId);const variant=parsed.variants.find(v=>v.variantId===normalizedId);return toVariantMedia(variant,parsed.mediaCatalog);}/**\n * Get the resolved media bundle (ref + url + alt) for a variant by selected options.\n * Supports multi-option variants — finds the variant that matches ALL provided options.\n *\n * @example\n * // Multi-option: getVariantMediaBySelectedOptions(fcData, { Logo: \"Muted\", Color: \"Navy\" })\n * //   → { ref: \"MEDIA_01\", index: 1, url: \"https://...\", alt: \"...\" }\n * // Single-option: getVariantMediaBySelectedOptions(fcData, { Size: \"XS\" })\n * //   → { ref: \"MEDIA_01\", index: 1, url: \"https://...\", alt: \"...\" }\n */export function getVariantMediaBySelectedOptions(fcData,selectedOptions){const parsed=parseFCData(fcData);if(!parsed)return null;const selectedEntries=Object.entries(selectedOptions).filter(([_,value])=>value);if(selectedEntries.length===0)return null;const matchingVariant=parsed.variants.find(variant=>variantMatchesSelectedOptions(variant,selectedEntries));return toVariantMedia(matchingVariant,parsed.mediaCatalog);}/**\n * Convert FC Data variants to ProductVariant format for hook compatibility\n * Supports both single-option and multi-option variants\n *\n * @example\n * // Single option: returns [{ selectedOptions: [{ name: \"Size\", value: \"XS\" }] }]\n * // Multi-option: returns [{ selectedOptions: [{ name: \"Logo\", value: \"Muted\" }, { name: \"Color\", value: \"Navy\" }] }]\n */export function fcDataToProductVariants(fcData){const parsed=parseFCData(fcData);if(!parsed)return[];return parsed.variants.map(v=>({id:`gid://shopify/ProductVariant/${v.variantId}`,// Use the parsed selectedOptions which supports multi-option\n    selectedOptions:Object.entries(v.selectedOptions).map(([name,value])=>({name,value})),availableForSale:true,quantityAvailable:v.quantityAvailable??1}));}// ============================================================================\n// FILTER FALLBACK HELPERS\n// ============================================================================\n/**\n * Get a value from FC Data for filter matching\n * This is the main function to use as a fallback in filter logic\n *\n * @param fcData - The FC Data string\n * @param filterType - The type of filter (e.g., 'vendor', 'product_type', 'collection', 'variant_Size')\n * @returns The value(s) to match against, or null if not found\n */export function getFCDataValueForFilter(fcData,filterType){const parsed=parseFCData(fcData);if(!parsed)return null;const filterTypeLower=filterType.toLowerCase();// Vendor\nif(filterTypeLower===\"vendor\"){return parsed.metadata.vendor;}// Product Type\nif(filterTypeLower===\"product_type\"||filterTypeLower===\"product type\"){return parsed.metadata.productType;}// Collections\nif(filterTypeLower===\"collection\"||filterTypeLower===\"collections\"){return parsed.metadata.collections.length>0?parsed.metadata.collections:null;}// Product ID\nif(filterTypeLower===\"product_id\"||filterTypeLower===\"product id\"||filterTypeLower===\"id\"){return parsed.productId;}// Variant filters (e.g., variant_Size, variant_Color)\nif(filterTypeLower.startsWith(\"variant_\")){const optionName=filterType.substring(8);// Remove 'variant_' prefix\nconst values=getValuesForOption(fcData,optionName);return values.length>0?values:null;}return null;}/**\n * Check if a filter value matches the FC Data\n *\n * @param fcData - The FC Data string\n * @param filterType - The type of filter\n * @param filterValue - The value(s) to check for\n * @returns true if the filter matches\n */export function matchesFCDataFilter(fcData,filterType,filterValue){const fcDataValue=getFCDataValueForFilter(fcData,filterType);if(fcDataValue===null){return false;}const filterValues=Array.isArray(filterValue)?filterValue:[filterValue];const fcDataValues=Array.isArray(fcDataValue)?fcDataValue:[fcDataValue];// Check if any filter value matches any FC Data value (case-insensitive)\nreturn filterValues.some(fv=>fcDataValues.some(dv=>dv.toLowerCase().trim()===fv.toLowerCase().trim()));}/**\n * Build the price lookup key for a variant's prices record.\n * Supports both locale-currency format (e.g., \"US-USD\") and legacy currency-only format (e.g., \"USD\").\n *\n * @param countryCode - Country/locale code (e.g., \"US\", \"DE\")\n * @param currencyCode - Currency code (e.g., \"USD\", \"EUR\")\n * @returns The price key to use for lookup\n */export function buildPriceKey(countryCode,currencyCode){return`${countryCode}-${currencyCode}`;}/**\n * Find price data for a variant, trying locale-currency first, then falling back to currency-only.\n * This ensures backward compatibility with legacy FC Data that uses currency-only keys.\n *\n * @param variant - The variant to get price from\n * @param countryCode - Country/locale code (e.g., \"US\", \"DE\")\n * @param currencyCode - Currency code (e.g., \"USD\", \"EUR\")\n * @returns Price data or null if not found\n */function findVariantPrice(variant,countryCode,currencyCode){// Try locale-currency key first (new format: \"US-USD\")\nconst localeCurrencyKey=buildPriceKey(countryCode,currencyCode);if(variant.prices[localeCurrencyKey]){return variant.prices[localeCurrencyKey];}// Fall back to currency-only key (legacy format: \"USD\")\nif(variant.prices[currencyCode]){return variant.prices[currencyCode];}return null;}/**\n * Get variant price from parsed FC Data.\n * Supports both locale-currency (e.g., \"US-USD\") and legacy currency-only (e.g., \"USD\") lookups.\n *\n * @param parsed - Parsed FC Data\n * @param variantId - Variant ID (GID or numeric)\n * @param currencyCode - Currency code (e.g., \"USD\", \"EUR\")\n * @param countryCode - Optional country code for locale-currency lookup (e.g., \"US\", \"DE\")\n * @returns Price and compare price, or null if not found\n */export function getVariantPriceFromFCData(parsed,variantId,currencyCode,countryCode){const normalizedId=normalizeVariantId(variantId);const variant=parsed.variants.find(v=>v.variantId===normalizedId);if(!variant)return null;// With countryCode: try locale-currency first, then currency-only (handled by findVariantPrice)\nif(countryCode){const priceData=findVariantPrice(variant,countryCode,currencyCode);if(priceData){return{price:priceData.price,comparePrice:priceData.comparePrice};}return null;}// Without countryCode: only try currency-only lookup (legacy format)\nconst priceData=variant.prices[currencyCode];return priceData?{price:priceData.price,comparePrice:priceData.comparePrice}:null;}/**\n * Calculate price range from FC Data variants.\n * Supports both locale-currency and legacy currency-only formats.\n *\n * @param parsed - Parsed FC Data\n * @param currencyCode - Currency code (e.g., \"USD\", \"EUR\")\n * @param variantIds - Optional array of variant IDs to filter\n * @param countryCode - Optional country code for locale-currency lookup\n */export function getPriceRangeFromFCData(parsed,currencyCode,variantIds,countryCode){const prices=[];const comparePrices=[];// Pre-normalize variant IDs for efficient lookup\nconst normalizedFilterIds=variantIds?.map(normalizeVariantId);const variantsToCheck=normalizedFilterIds?parsed.variants.filter(v=>normalizedFilterIds.includes(v.variantId)):parsed.variants;for(const variant of variantsToCheck){// With countryCode: findVariantPrice handles locale-currency → currency-only fallback\n// Without countryCode: only try currency-only lookup\nconst priceData=countryCode?findVariantPrice(variant,countryCode,currencyCode):variant.prices[currencyCode]??null;if(priceData){prices.push(priceData.price);if(priceData.comparePrice!==null){comparePrices.push(priceData.comparePrice);}}}return{priceRange:prices.length>0?{min:Math.min(...prices),max:Math.max(...prices)}:null,comparePriceRange:comparePrices.length>0?{min:Math.min(...comparePrices),max:Math.max(...comparePrices)}:null};}/**\n * Get all available locale-currency keys from parsed FC Data.\n * Useful for determining which markets have pricing data.\n *\n * @param parsed - Parsed FC Data\n * @returns Array of unique price keys (e.g., [\"US-USD\", \"DE-EUR\", \"GB-GBP\"])\n */export function getAvailablePriceKeys(parsed){const keysSet=new Set;for(const variant of parsed.variants){for(const key of Object.keys(variant.prices)){keysSet.add(key);}}return Array.from(keysSet);}/**\n * Check if pricing data exists for a specific locale-currency combination.\n *\n * @param parsed - Parsed FC Data\n * @param countryCode - Country code (e.g., \"US\")\n * @param currencyCode - Currency code (e.g., \"USD\")\n * @returns True if any variant has pricing for this locale-currency\n */export function hasPricingForLocale(parsed,countryCode,currencyCode){const localeCurrencyKey=buildPriceKey(countryCode,currencyCode);return parsed.variants.some(v=>v.prices[localeCurrencyKey]!==undefined);}/**\n * Check if pricing data exists for a currency (legacy format).\n *\n * @param parsed - Parsed FC Data\n * @param currencyCode - Currency code (e.g., \"USD\")\n * @returns True if any variant has pricing for this currency\n */export function hasPricingForCurrency(parsed,currencyCode){return parsed.variants.some(v=>v.prices[currencyCode]!==undefined);}/**\n * Find any locale that has pricing for the given currency.\n * Useful for currency-first fallback when a locale-currency pair is missing.\n */export function getLocaleForCurrency(parsed,currencyCode){const locales=new Set;for(const variant of parsed.variants){for(const key of Object.keys(variant.prices)){const match=key.match(/^([A-Z]{2})-([A-Z]{3})$/);if(match&&match[2]===currencyCode){locales.add(match[1]);}}}if(locales.size===0)return null;return Array.from(locales).sort()[0]??null;}\nexport const __FramerMetadata__ = {\"exports\":{\"getVariantImageRef\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"parseFCData\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"fcDataToProductVariants\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"isMultiOptionProduct\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"getValuesForOption\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"getVariantMediaByVariantId\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"getVariantIdBySelectedOptions\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"matchesFCDataFilter\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"getOptionName\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"getLocaleForCurrency\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"getVariantPriceFromFCData\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"getSelectedOptionsByVariantId\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"FCDataVariant\":{\"type\":\"tsType\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"getOptionValues\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"getAllOptionNames\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"getProductIdFromFCData\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"getVendorFromFCData\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"SellingPlanDiscountType\":{\"type\":\"tsType\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"FCDataMetadata\":{\"type\":\"tsType\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"FCDataMediaCatalogEntry\":{\"type\":\"tsType\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"buildPriceKey\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"hasCollection\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"mergeMerchandiseWithMatchingFcVariant\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"enrichSellingPlanAllocationFromFcData\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"FCDataParsed\":{\"type\":\"tsType\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"FCDataVariantPrice\":{\"type\":\"tsType\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"getVariantMediaBySelectedOptions\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"getProductTitle\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"getPrimaryCatalogSlotForSelectedOptions\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"getProductTypeFromFCData\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"hasPricingForCurrency\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"normalizeVariantId\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"PriceRange\":{\"type\":\"tsType\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"getFCDataValueForFilter\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"getVariantBySelectedOptions\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"getVariantIdByOptionValue\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"getMediaBySlotFromParsed\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"getCollectionsFromFCData\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"getPriceRangeFromFCData\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"getVariantByOptionValue\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"hasVariantValue\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"getVariantImageRefBySelectedOptions\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"hasPricingForLocale\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"getProductCreatedAt\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"getMaxMediaSlotFromParsed\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"isVariantMediaFilterActive\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"findSellingPlanById\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"getAvailablePriceKeys\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"FCDataSellingPlanGroup\":{\"type\":\"tsType\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"FCDataSellingPlan\":{\"type\":\"tsType\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"getVariantImageRefByOption\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"FCDataVariantMedia\":{\"type\":\"tsType\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"getCatalogSlotsForSelectedOptions\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}","/**\n * BixGrow affiliate links append ?bg_ref=… for commission tracking.\n * GA needs utm_* on the URL for channel attribution; we mirror bg_ref into UTMs\n * without removing bg_ref.\n */const BIXGROW_UTM_CAMPAIGN=\"bixgrow\";const BIXGROW_UTM_MEDIUM=\"affiliate\";export function applyBixGrowAffiliateUtms(params){const bgRef=params.get(\"bg_ref\");if(!bgRef||!bgRef.trim())return;params.set(\"utm_source\",bgRef.trim());params.set(\"utm_medium\",BIXGROW_UTM_MEDIUM);params.set(\"utm_campaign\",BIXGROW_UTM_CAMPAIGN);}\nexport const __FramerMetadata__ = {\"exports\":{\"applyBixGrowAffiliateUtms\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./bixgrowAffiliateUrl.map","import{useSyncExternalStore,useCallback,useMemo}from\"react\";import{applyBixGrowAffiliateUtms}from\"https://framerusercontent.com/modules/OHIwt1qG9Zpsss9ixdnD/RiFMcHk7ibJbauW4SIl0/bixgrowAffiliateUrl.js\";// ============================================================================\n// RAW HISTORY METHODS\n// Captured at module load — before Framer's SPA router patches them.\n// FC only modifies search params, never the pathname, so bypassing the\n// router is both safe and necessary: Framer's patched methods trigger\n// route-level re-renders on every call, which creates infinite update\n// loops when effects react to URL changes.\n//\n// We always pass `history.state` (read at call time) so that Framer's\n// page-routing data is preserved in every history entry. This keeps the\n// browser back/forward buttons working correctly with Framer's router.\n// ============================================================================\nconst _rawPush=typeof window!==\"undefined\"?window.history.pushState.bind(window.history):null;const _rawReplace=typeof window!==\"undefined\"?window.history.replaceState.bind(window.history):null;// ============================================================================\n// SHARED URL SUBSCRIPTION SYSTEM\n// Used by useUrlState and useCatalogFilters for cross-component sync\n// ============================================================================\nconst subscribers=new Set;let popstateListenerAdded=false;/** Notify all subscribers of URL change */export function notifyUrlSubscribers(){subscribers.forEach(callback=>callback());}if(typeof window!==\"undefined\"&&!popstateListenerAdded){window.addEventListener(\"popstate\",notifyUrlSubscribers);popstateListenerAdded=true;}/** Subscribe to URL changes - stable function for useSyncExternalStore */export function subscribeToUrl(callback){subscribers.add(callback);return()=>subscribers.delete(callback);}// ============================================================================\n// URLSearchParams CACHE\n// Avoids creating new URLSearchParams on every snapshot check\n// ============================================================================\nlet _cachedSearch=\"\";let _cachedParams=null;function getCachedParams(){if(typeof window===\"undefined\")return new URLSearchParams;const current=window.location.search;if(current!==_cachedSearch||!_cachedParams){_cachedSearch=current;_cachedParams=new URLSearchParams(current);}return _cachedParams;}function invalidateCache(){_cachedSearch=\"\";_cachedParams=null;}/**\n * When `bg_ref` is present, add/update GA UTM params without removing `bg_ref`.\n * Invoked from batched URL updates and once on load so variant sync does not\n * drop affiliate UTMs.\n */export function ensureBixGrowAffiliateParamsInUrl(){if(typeof window===\"undefined\"||!_rawReplace)return;const currentParams=new URLSearchParams(window.location.search);applyBixGrowAffiliateUtms(currentParams);const search=currentParams.toString();const newUrl=window.location.pathname+(search?\"?\"+search:\"\")+window.location.hash;const currentUrl=window.location.pathname+window.location.search+window.location.hash;if(newUrl===currentUrl)return;_rawReplace(history.state,\"\",newUrl);invalidateCache();notifyUrlSubscribers();}/** Read a single URL param using cached URLSearchParams */function readUrlParam(key){if(typeof window===\"undefined\")return null;return getCachedParams().get(key);}function getServerSnapshot(){return null;}// ============================================================================\n// MICROTASK BATCHING\n// All URL param changes within the same synchronous execution are queued\n// and flushed as a single history update at the end of the microtask.\n// ============================================================================\nlet pendingUpdates=null;let pendingMethod=\"replace\";let pendingPathname=\"\";function flushUrlUpdates(){if(!pendingUpdates||typeof window===\"undefined\")return;// Discard updates if the pathname changed since they were queued\n// (a real page navigation occurred between queue and flush)\nif(pendingPathname&&pendingPathname!==window.location.pathname){pendingUpdates=null;pendingMethod=\"replace\";pendingPathname=\"\";return;}const currentParams=new URLSearchParams(window.location.search);for(const[key,value]of pendingUpdates){if(value===null||value===\"\"){currentParams.delete(key);}else{currentParams.set(key,value);}}applyBixGrowAffiliateUtms(currentParams);const search=currentParams.toString();const newUrl=window.location.pathname+(search?\"?\"+search:\"\")+window.location.hash;const method=pendingMethod;pendingUpdates=null;pendingMethod=\"replace\";pendingPathname=\"\";// Skip if the URL is identical — prevents unnecessary history entries\n// and breaks potential re-render loops.\nconst currentUrl=window.location.pathname+window.location.search+window.location.hash;if(newUrl===currentUrl)return;const historyFn=method===\"push\"?_rawPush:_rawReplace;if(historyFn){historyFn(history.state,\"\",newUrl);}invalidateCache();notifyUrlSubscribers();}/**\n * Queue a single URL param update. All queued updates within the same\n * synchronous call stack are flushed as one history operation.\n */export function queueUrlUpdate(key,value,options){if(typeof window===\"undefined\")return;const method=options?.history??\"push\";if(!pendingUpdates){pendingUpdates=new Map;pendingPathname=window.location.pathname;queueMicrotask(flushUrlUpdates);}pendingUpdates.set(key,value);if(method===\"push\")pendingMethod=\"push\";}/**\n * Synchronously remove a URL param, bypassing the microtask queue.\n * Also cancels any pending queued update for the same key so a previously\n * queued \"set\" can't re-add the param after this call.\n *\n * Intended for cleanup on unmount where the batched queue is unreliable\n * (the microtask may fire after a pathname change and get discarded).\n */export function removeUrlParamImmediate(key){if(typeof window===\"undefined\"||!_rawReplace)return;if(pendingUpdates){pendingUpdates.delete(key);}const params=new URLSearchParams(window.location.search);if(!params.has(key))return;params.delete(key);applyBixGrowAffiliateUtms(params);const search=params.toString();const newUrl=window.location.pathname+(search?\"?\"+search:\"\")+window.location.hash;_rawReplace(history.state,\"\",newUrl);invalidateCache();}/**\n * Replace the current history.state without changing the URL.\n * Uses the raw replaceState captured before Framer patched history methods,\n * so state updates do not trigger route-level re-renders.\n */export function replaceCurrentHistoryState(state){if(typeof window===\"undefined\"||!_rawReplace)return;const currentUrl=window.location.pathname+window.location.search+window.location.hash;_rawReplace(state,\"\",currentUrl);}/**\n * Batch multiple URL param updates into a single history operation.\n * Useful for clearAll() or any multi-param change.\n */export function batchUrlUpdate(updates,options){for(const[key,value]of Object.entries(updates)){queueUrlUpdate(key,value,options);}}// ============================================================================\n// LEGACY-COMPATIBLE HELPERS\n// Used by useCatalogFilters which manipulates full URLSearchParams objects\n// ============================================================================\n/** Get current URL search string (for snapshot comparison) */export function getUrlSearchString(){if(typeof window===\"undefined\")return\"\";return window.location.search;}/** Get current URL params (creates new object for safe mutation) */export function getUrlParams(){if(typeof window===\"undefined\")return new URLSearchParams;return new URLSearchParams(window.location.search);}/**\n * Replace the entire search string and notify subscribers.\n * Used by useCatalogFilters for operations that manipulate the full params object.\n */export function updateUrlAndNotify(params,options){if(typeof window===\"undefined\")return;applyBixGrowAffiliateUtms(params);const search=params.toString();const newUrl=window.location.pathname+(search?\"?\"+search:\"\")+window.location.hash;const currentUrl=window.location.pathname+window.location.search+window.location.hash;if(newUrl===currentUrl)return;const method=options?.history??\"push\";const historyFn=method===\"push\"?_rawPush:_rawReplace;if(historyFn){historyFn(history.state,\"\",newUrl);}invalidateCache();notifyUrlSubscribers();}// ============================================================================\n// useUrlState HOOK\n// ============================================================================\n/**\n * Hook for managing URL query parameter state.\n * Uses useSyncExternalStore for cross-component synchronization.\n * Updates are batched via microtask queue — multiple setValue calls in the\n * same synchronous stack produce a single history entry.\n *\n * @param key - The URL parameter key\n * @param options - Controls push vs replace behavior\n * @returns [value, setValue] tuple\n */export function useUrlState(key,options){const getSnapshot=useMemo(()=>()=>readUrlParam(key),[key]);const value=useSyncExternalStore(subscribeToUrl,getSnapshot,getServerSnapshot);const setValue=useCallback(newValue=>{queueUrlUpdate(key,newValue,options);},[key,options]);return[value,setValue];}if(typeof window!==\"undefined\"){queueMicrotask(()=>{ensureBixGrowAffiliateParamsInUrl();});}\nexport const __FramerMetadata__ = {\"exports\":{\"getUrlSearchString\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"notifyUrlSubscribers\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"ensureBixGrowAffiliateParamsInUrl\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"removeUrlParamImmediate\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"replaceCurrentHistoryState\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"subscribeToUrl\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"useUrlState\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"getUrlParams\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"batchUrlUpdate\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"queueUrlUpdate\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"UrlUpdateOptions\":{\"type\":\"tsType\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"updateUrlAndNotify\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./useUrlState.map","/**\n * useProductImages Hook\n *\n * Centralized hook for product image components that need to:\n * - Read variant selection state\n * - Filter images based on selected variant\n * - Manage gallery navigation state\n * - Map variants to image refs\n */import{useMemo,useCallback,useRef,useEffect}from\"react\";import{useLocalState}from\"https://framerusercontent.com/modules/xYDZCCqEBzGd7zfHzUX5/cLuhs5H2O0tFIwBfaQKt/useLocalState.js\";import{parseFCData,getVariantImageRefBySelectedOptions,getVariantMediaBySelectedOptions,getMediaBySlotFromParsed,getSelectedOptionsByVariantId,isVariantMediaFilterActive,getCatalogSlotsForSelectedOptions}from\"https://framerusercontent.com/modules/u4cSQPeOxFZJ30D78T0u/OH103m2xIQZsbXU9KlH0/fcDataParser.js\";import{useGalleryScope,OVERLAY_GALLERY_SCOPE}from\"https://framerusercontent.com/modules/l1TDihqFjeGOPDLsIBcI/yfAc381iHmmc9JAbWNUV/galleryScopeContext.js\";import{useUrlState}from\"https://framerusercontent.com/modules/yXt2ErvWdbc9E71wHprv/Y5C4Kq4hInoaUvtml0x5/useUrlState.js\";// Stable empty object/array to prevent reference changes\nconst EMPTY_OBJECT={};const EMPTY_ARRAY=[];const overlaySeededGalleryKeys=new Set;// ============================================================================\n// HOOK IMPLEMENTATION\n// ============================================================================\nexport function useProductImages({fcData,filterVariants=\"Always\",filterMatch=\"Any\",scope}){// Parse FC Data (memoized to prevent re-parsing on every render)\nconst parsed=useMemo(()=>parseFCData(fcData),[fcData]);const productId=parsed?.productId??\"\";// Resolve the gallery scope. An explicit `scope` prop wins (callers that use\n// `useResolvedGalleryScope` pass their resolved value, including `null` to\n// force unscoped); otherwise fall back to the provider context (legacy).\n// When scoped, gallery state is namespaced so it doesn't collide with\n// unscoped galleries (e.g., an overlay).\nconst contextScope=useGalleryScope();const galleryScope=scope===undefined?contextScope:scope??undefined;const galleryKey=useMemo(()=>galleryScope?`${productId}::${galleryScope}`:productId,[productId,galleryScope]);// Store productId in ref for stable callbacks\nconst productIdRef=useRef(productId);productIdRef.current=productId;const galleryKeyRef=useRef(galleryKey);galleryKeyRef.current=galleryKey;// Read variant selection from global store (same pattern as useSelectedVariant:\n// select raw slice so zustand notifies when this product's options change).\nconst storeOptionsForProduct=useLocalState(useCallback(state=>productId?state.variantOptionsByProductId[productId]:undefined,[productId]));// Fallback: the `?variant=` URL param is a reliable cross-component signal\n// (shared via window.location) even in environments where the zustand store\n// doesn't propagate across separately-bundled components. When the store has\n// no selection for this product, derive the selection from the URL variant id\n// (scoped to this product's FC Data, so a foreign id resolves to {}).\nconst[variantParam]=useUrlState(\"variant\");const urlSelectedOptions=useMemo(()=>{if(!variantParam||!fcData)return EMPTY_OBJECT;const derived=getSelectedOptionsByVariantId(fcData,variantParam);return Object.keys(derived).length>0?derived:EMPTY_OBJECT;},[variantParam,fcData]);const selectedOptions=useMemo(()=>{const storeHasSelection=storeOptionsForProduct&&Object.values(storeOptionsForProduct).some(v=>v!==\"\");if(storeHasSelection)return storeOptionsForProduct;if(Object.keys(urlSelectedOptions).length>0)return urlSelectedOptions;return EMPTY_OBJECT;},[storeOptionsForProduct,urlSelectedOptions]);// Gallery state from global store (stores 1-based imageNumber)\n// Uses galleryKey (scoped) so overlay galleries are independent.\nconst currentImageNumber=useLocalState(useCallback(state=>{if(!galleryKey)return 1;return state.currentImageByProductId[galleryKey]??1;},[galleryKey]));const visibleImageCount=useLocalState(useCallback(state=>{if(!galleryKey)return 0;return state.visibleImageCountByProductId[galleryKey]??0;},[galleryKey]));const setCurrentImage=useLocalState(state=>state.setCurrentImage);const setVisibleCount=useLocalState(state=>state.setVisibleImageCount);// Overlay handoff: seed the scoped gallery once when the overlay opens.\n// Do not keep copying from the unscoped main-page store afterward, or arrow\n// keys leaking to the main page can overwrite the overlay selection.\nuseEffect(()=>{if(galleryScope!==OVERLAY_GALLERY_SCOPE||!productId||!galleryKey){return;}if(overlaySeededGalleryKeys.has(galleryKey))return;const state=useLocalState.getState();const seed=state.currentImageByProductId[productId];if(seed!=null&&state.currentImageByProductId[galleryKey]!==seed){setCurrentImage(galleryKey,seed);}overlaySeededGalleryKeys.add(galleryKey);return()=>{overlaySeededGalleryKeys.delete(galleryKey);};},[galleryScope,productId,galleryKey,setCurrentImage]);const currentSlideIndex=useLocalState(useCallback(state=>{if(!galleryKey)return 0;return state.currentSlideIndexByProductId[galleryKey]??0;},[galleryKey]));const setSlideIndex=useLocalState(state=>state.setCurrentSlideIndex);const visibleImageNumbers=useLocalState(useCallback(state=>{if(!galleryKey)return EMPTY_ARRAY;return state.visibleImageNumbersByProductId[galleryKey]??EMPTY_ARRAY;},[galleryKey]));const setVisibleNums=useLocalState(state=>state.setVisibleImageNumbers);// Check if any options are selected\nconst hasSelection=useMemo(()=>{return Object.keys(selectedOptions).length>0&&Object.values(selectedOptions).some(v=>v!==\"\");},[selectedOptions]);const variantFilterActive=isVariantMediaFilterActive(filterVariants);// Check if an image should be shown based on variant filtering\nconst shouldShowImage=useCallback(imageAlt=>{if(!variantFilterActive){return true;}if(!hasSelection){return true;}const alt=imageAlt?.trim()??\"\";if(!alt){return false;}const altTextLower=alt.toLowerCase();const optionValues=Object.values(selectedOptions).filter(v=>v!==\"\");if(optionValues.length===0){return true;}const matches=optionValues.map(value=>{const valueLower=value.toLowerCase();const escapedValue=valueLower.replace(/[.*+?^${}()|[\\]\\\\]/g,\"\\\\$&\");const patterns=[new RegExp(`\\\\b${escapedValue}\\\\b`,\"i\"),new RegExp(`\\\\(${escapedValue}\\\\)`,\"i\"),new RegExp(`\\\\s${escapedValue}\\\\s`,\"i\"),new RegExp(`^${escapedValue}\\\\s`,\"i\"),new RegExp(`\\\\s${escapedValue}$`,\"i\"),new RegExp(`^${escapedValue}$`,\"i\")];return patterns.some(pattern=>pattern.test(altTextLower));});if(filterMatch===\"All\"){return matches.every(m=>m);}return matches.some(m=>m);},[variantFilterActive,filterMatch,selectedOptions,hasSelection]);const shouldShowCatalogSlot=useCallback((slot,imageAlt)=>{if(!variantFilterActive)return true;if(!hasSelection)return true;const catalogAlt=imageAlt?.trim()||parsed?.mediaCatalog[slot]?.alt?.trim()||\"\";const catalogUrl=parsed?.mediaCatalog[slot]?.url??\"\";if(!parsed)return shouldShowImage(catalogAlt);// Shopify allows one image per variant (MEDIA_XX). Additional gallery images\n// and videos are matched by catalog / override alt text.\nconst activeSlots=getCatalogSlotsForSelectedOptions(parsed,selectedOptions);if(activeSlots.has(slot))return true;return shouldShowImage(catalogAlt);},[variantFilterActive,hasSelection,parsed,selectedOptions,shouldShowImage]);// Get image ref for current selection\nconst getImageRefForCurrentSelection=useCallback(()=>{if(!fcData||!hasSelection){return null;}return getVariantImageRefBySelectedOptions(fcData,selectedOptions);},[fcData,selectedOptions,hasSelection]);// Extract image number from ref (e.g., \"IMG_01\" → 1, \"MEDIA_05\" → 5)\nconst getImageNumberFromRef=useCallback(ref=>{if(!ref)return 1;const match=ref.match(/(?:IMG|MEDIA)_(\\d+)/i);return match?parseInt(match[1],10):1;},[]);// Get the resolved media bundle (ref + url + alt) for the current selection\nconst getMediaForCurrentSelection=useCallback(()=>{if(!fcData||!hasSelection){return null;}return getVariantMediaBySelectedOptions(fcData,selectedOptions);},[fcData,selectedOptions,hasSelection]);// Resolved media for any slot — prefers `[MediaCatalog: ...]`, then variant refs.\nconst getMediaBySlot=useCallback(slot=>{if(!parsed||!slot||slot<1)return null;return getMediaBySlotFromParsed(parsed,slot);},[parsed]);// Wrapped setters that include galleryKey (scoped)\n// Use ref to avoid re-creating callbacks when galleryKey changes\nconst setCurrentImageNumber=useCallback(imageNumber=>{const key=galleryKeyRef.current;if(key){setCurrentImage(key,imageNumber);}},[setCurrentImage]);const setVisibleImageCount=useCallback(count=>{const key=galleryKeyRef.current;if(key){setVisibleCount(key,count);}},[setVisibleCount]);const setCurrentSlideIndex=useCallback(index=>{const key=galleryKeyRef.current;if(key){setSlideIndex(key,index);}},[setSlideIndex]);const setVisibleImageNumbers=useCallback(numbers=>{const key=galleryKeyRef.current;if(key){setVisibleNums(key,numbers);}},[setVisibleNums]);return{productId,parsed,selectedOptions,hasSelection,shouldShowImage,shouldShowCatalogSlot,getImageRefForCurrentSelection,getImageNumberFromRef,getMediaForCurrentSelection,getMediaBySlot,galleryKey,currentImageNumber,setCurrentImageNumber,visibleImageCount,setVisibleImageCount,currentSlideIndex,setCurrentSlideIndex,visibleImageNumbers,setVisibleImageNumbers};}\nexport const __FramerMetadata__ = {\"exports\":{\"useProductImages\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}","import{createContext,useContext}from\"react\";// ============================================================================\n// DEFAULT VALUE\n// ============================================================================\nconst defaultValue={lineId:\"\",instanceId:\"\",productId:\"\",variantId:\"\",quantity:0,merchandise:null,sellingPlanAllocation:null,attributes:[]};// ============================================================================\n// SINGLETON CONTEXT (prevents duplicate context issues across module loads)\n// ============================================================================\nconst CONTEXT_KEY=\"__FC_CART_LINE_CONTEXT__\";if(typeof globalThis!==\"undefined\"&&!globalThis[CONTEXT_KEY]){globalThis[CONTEXT_KEY]=/*#__PURE__*/createContext(defaultValue);}/**\n * Cart Line Context\n *\n * React Context for cart line item data.\n * Use CartLineContext.Provider in Butter_CartList to wrap each line item's children.\n */export const CartLineContext=typeof globalThis!==\"undefined\"?globalThis[CONTEXT_KEY]:/*#__PURE__*/createContext(defaultValue);// ============================================================================\n// HOOKS\n// ============================================================================\n/**\n * Get the full cart line context.\n *\n * @example\n * const lineContext = useCartLineContext();\n * console.log(lineContext.merchandise?.price);\n */export function useCartLineContext(){return useContext(CartLineContext);}/**\n * Check if the component is inside a cart context (vs product page).\n *\n * @example\n * const isInCart = useIsInCartContext();\n * if (isInCart) {\n *   // Use cart line data\n * } else {\n *   // Use product page data\n * }\n */export function useIsInCartContext(){const ctx=useContext(CartLineContext);return Boolean(ctx.lineId);}/**\n * Get the cart line ID.\n *\n * @returns The full line ID (e.g., \"gid://shopify/CartLine/...\")\n */export function useCartLineId(){return useContext(CartLineContext).lineId;}/**\n * Get the unique instance ID for component keying.\n */export function useCartLineInstanceId(){return useContext(CartLineContext).instanceId;}/**\n * Get the product ID (numeric only).\n *\n * @returns Product ID (e.g., \"9914855915814\")\n */export function useCartLineProductId(){return useContext(CartLineContext).productId;}/**\n * Get the variant ID (numeric only).\n *\n * @returns Variant ID (e.g., \"49725156786470\")\n */export function useCartLineVariantId(){return useContext(CartLineContext).variantId;}/**\n * Get the merchandise data (variant info).\n *\n * @returns Merchandise object with price, title, options, etc.\n */export function useCartLineMerchandise(){return useContext(CartLineContext).merchandise;}/**\n * Get the current quantity in cart.\n *\n * @returns Quantity number\n */export function useCartLineQuantity(){return useContext(CartLineContext).quantity;}/**\n * Get the selling plan allocation (for subscriptions).\n *\n * @returns Selling plan allocation or null\n */export function useCartLineSellingPlan(){return useContext(CartLineContext).sellingPlanAllocation;}/**\n * Get the line item attributes.\n *\n * @returns Array of { key, value } attributes\n */export function useCartLineAttributes(){return useContext(CartLineContext).attributes??[];}// ============================================================================\n// UTILITY FUNCTIONS\n// ============================================================================\n/**\n * Extract numeric ID from a Shopify GID.\n *\n * @param gid - Full Shopify GID (e.g., \"gid://shopify/Product/9914855915814\")\n * @returns Numeric ID (e.g., \"9914855915814\")\n */export function extractNumericId(gid){if(!gid)return\"\";const parts=gid.split(\"/\");return parts[parts.length-1]||\"\";}/**\n * Create a CartLineContextValue from a raw cart line edge.\n *\n * @param lineNode - Raw cart line node from Shopify API\n * @param instanceId - Unique instance ID for this line\n * @returns Formatted CartLineContextValue\n */export function createCartLineContextValue(lineNode,instanceId){if(!lineNode){return{...defaultValue,instanceId};}const merchandise=lineNode.merchandise||null;return{lineId:lineNode.id||\"\",instanceId,productId:extractNumericId(merchandise?.product?.id),variantId:extractNumericId(merchandise?.id),quantity:lineNode.quantity||0,merchandise:merchandise?{id:merchandise.id,title:merchandise.title||\"\",price:merchandise.price||{amount:\"0\",currencyCode:\"USD\"},compareAtPrice:merchandise.compareAtPrice||null,quantityAvailable:merchandise.quantityAvailable,availableForSale:merchandise.availableForSale,selectedOptions:merchandise.selectedOptions||[],product:merchandise.product?{id:merchandise.product.id,handle:merchandise.product.handle||\"\",title:merchandise.product.title||\"\",vendor:merchandise.product.vendor,productType:merchandise.product.productType}:undefined,image:merchandise.image?{url:merchandise.image.url||\"\",altText:merchandise.image.altText}:undefined}:null,sellingPlanAllocation:lineNode.sellingPlanAllocation||null,attributes:lineNode.attributes||[]};}\nexport const __FramerMetadata__ = {\"exports\":{\"SellingPlanAllocation\":{\"type\":\"tsType\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"MerchandiseImage\":{\"type\":\"tsType\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"useCartLineVariantId\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"useCartLineContext\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"CartLineContext\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"useCartLineProductId\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"useCartLineAttributes\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"useCartLineInstanceId\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"useCartLineQuantity\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"CartLineMerchandise\":{\"type\":\"tsType\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"MerchandiseProduct\":{\"type\":\"tsType\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"CartLineContextValue\":{\"type\":\"tsType\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"PriceData\":{\"type\":\"tsType\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"SelectedOption\":{\"type\":\"tsType\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"LineAttribute\":{\"type\":\"tsType\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"useCartLineSellingPlan\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"extractNumericId\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"createCartLineContextValue\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"useCartLineMerchandise\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"useIsInCartContext\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"useCartLineId\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./useCartLineContext.map","/**\n * FC Data gallery manifest and video-alt segments.\n * Manifest entries use 1-based catalog slots (`01` = `MEDIA_01` = `image1` when aligned).\n *\n * See docs/media-ecosystem.md and cms-field-formatting-consolidated.md §3.3.\n */import{formatCatalogSlotRef}from\"https://framerusercontent.com/modules/tsTYZLkfU0gaKAKn6B4i/SwJHeUDPJkJI1pVE764t/fcDataMediaFormat.js\";import{getMaxMediaSlotFromParsed,parseFCData}from\"https://framerusercontent.com/modules/u4cSQPeOxFZJ30D78T0u/OH103m2xIQZsbXU9KlH0/fcDataParser.js\";/** True when a URL points at a video asset (e.g. Shopify/Nike `.mp4` in MediaCatalog). */export function isVideoMediaUrl(url){const trimmed=url?.trim();if(!trimmed)return false;const lower=trimmed.toLowerCase();return/\\.(mp4|webm|mov|m4v|ogg|ogv)(\\?|#|$)/i.test(lower)||/\\/video\\.mp4/i.test(lower);}/** Manifest slot type from catalog URL when `[Media: …]` is inferred from MediaCatalog. */export function catalogSlotManifestType(parsed,slot){const url=parsed?.mediaCatalog[slot]?.url??\"\";return isVideoMediaUrl(url)?\"VID\":\"IMG\";}function readImagePropUrl(props,slot){const img=props[`image${slot}`];if(typeof img===\"string\"&&img.trim()){return img.trim();}if(img&&typeof img===\"object\"&&\"src\"in img){const src=img.src;if(typeof src===\"string\"&&src.trim()){return src.trim();}}return\"\";}/**\n * Video `src`: Framer `video{n}` prop first, then MediaCatalog URL when it is a video file.\n */export function resolveVideoSrcForSlot(slot,props,getMediaBySlot){const prop=props[`video${slot}`];if(typeof prop===\"string\"&&prop.trim()){return prop.trim();}const catalogUrl=getMediaBySlot?.(slot)?.url?.trim()??\"\";if(catalogUrl&&isVideoMediaUrl(catalogUrl)){return catalogUrl;}const imagePropUrl=readImagePropUrl(props,slot);if(imagePropUrl&&isVideoMediaUrl(imagePropUrl)){return imagePropUrl;}return\"\";}/** True when FC Data catalog includes at least one video URL. */export function fcDataHasCatalogVideo(fcData){const parsed=parseFcDataSafe(fcData);if(!parsed)return false;return Object.values(parsed.mediaCatalog).some(entry=>isVideoMediaUrl(entry.url));}/** Poster frame before a `VID` entry (`IMG … [poster]` in `[Media: …]`). */export function resolvePosterForVideoSlot(manifest,videoSlot,resolveImgSrc){if(!manifest)return{src:\"\",alt:\"\"};const vidIdx=manifest.findIndex(e=>!e.isPoster&&e.type===\"VID\"&&e.slot===videoSlot);if(vidIdx<=0)return{src:\"\",alt:\"\"};const prev=manifest[vidIdx-1];if(prev.type===\"IMG\"&&prev.isPoster){return resolveImgSrc(prev.slot);}return{src:\"\",alt:\"\"};}/** Alt for a video slot: `[Video N: …]` override, then catalog alt. */export function resolveVideoAltForSlot(slot,videoAltText,getMediaBySlot){const override=videoAltText.get(slot)?.trim();if(override)return override;return getMediaBySlot?.(slot)?.alt?.trim()??\"\";}/**\n * Parse one manifest list item.\n * Canonical: `01`, `05 [poster]`, `VID 03`\n * Legacy: `IMG 1`, `VID 2 [poster]`, `MEDIA_01`\n */function parseManifestListEntry(entry){const isPoster=/\\[poster\\]/i.test(entry);const cleaned=entry.replace(/\\[poster\\]/gi,\"\").trim();if(!cleaned)return null;const vidMatch=cleaned.match(/^VID\\s+(?:(?:MEDIA|IMG)_)?0*(\\d{1,3})$/i);if(vidMatch){const slot=parseInt(vidMatch[1],10);if(slot<1)return null;return{type:\"VID\",slot,index:slot,isPoster};}const imgLegacy=cleaned.match(/^IMG\\s+0*(\\d{1,3})$/i);if(imgLegacy){const slot=parseInt(imgLegacy[1],10);if(slot<1)return null;return{type:\"IMG\",slot,index:slot,isPoster};}const mediaRef=cleaned.match(/^(?:MEDIA|IMG)_0*(\\d{1,3})$/i);if(mediaRef){const slot=parseInt(mediaRef[1],10);if(slot<1)return null;return{type:\"IMG\",slot,index:slot,isPoster};}const bareSlot=cleaned.match(/^0*(\\d{1,3})$/);if(bareSlot){const slot=parseInt(bareSlot[1],10);if(slot<1)return null;return{type:\"IMG\",slot,index:slot,isPoster};}return null;}/**\n * Parse `[Media: 01, 02 [poster], VID 03, IMG 4, MEDIA_05]`.\n */export function parseMediaManifest(fcDataString){const match=fcDataString.match(/\\[Media:\\s*((?:[^\\[\\]]|\\[[^\\]]*\\])*)\\]/);if(!match)return null;const entries=match[1].split(\",\").map(s=>s.trim()).filter(Boolean);const result=[];for(const entry of entries){const parsed=parseManifestListEntry(entry);if(parsed)result.push(parsed);}return result.length>0?result:null;}/** Inner body for `[Media: 01, 02, …]` (no surrounding brackets). */export function buildMediaManifestSegmentBody(slots){const tokens=slots.filter(s=>s>=1).map(slot=>formatCatalogSlotRef(slot));return`Media: ${tokens.join(\", \")}`;}/**\n * Explicit `[Media: …]` or implicit manifest from catalog slot order.\n */export function getEffectiveMediaManifest(fcDataString,parsed){const explicit=parseMediaManifest(fcDataString);if(explicit)return explicit;if(!parsed)return null;const slots=Object.keys(parsed.mediaCatalog).map(key=>parseInt(key,10)).filter(n=>Number.isFinite(n)&&n>=1).sort((a,b)=>a-b);if(slots.length===0)return null;return slots.map(slot=>({type:catalogSlotManifestType(parsed,slot),slot,index:slot}));}/** Catalog slots referenced by at least one variant `MEDIA_XX` line. */export function getVariantReferencedCatalogSlots(parsed){const slots=new Set;for(const variant of parsed.variants){if(!variant.imageRef)continue;const match=variant.imageRef.match(/^(?:MEDIA|IMG)_0*(\\d{1,3})$/i);if(match){const slot=parseInt(match[1],10);if(slot>=1)slots.add(slot);}}return slots;}/** Lifestyle / shared assets: in catalog but not assigned to any variant thumbnail. */export function isSharedCatalogSlot(parsed,slot){if(!slot||slot<1||!parsed.mediaCatalog[slot])return false;return!getVariantReferencedCatalogSlots(parsed).has(slot);}/** Parse `[Video 1: alt]` or `[Video 05: alt]` → catalog slot → alt. */export function parseVideoAltText(fcDataString){const map=new Map;const regex=/\\[Video\\s+0*(\\d{1,3}):\\s*([^\\]]+)\\]/g;let match;while((match=regex.exec(fcDataString))!==null){const slot=parseInt(match[1],10);if(slot>=1)map.set(slot,match[2].trim());}return map;}/** Highest populated `image{n}` or `video{n}` prop index (1-based), min 1. */export function countPopulatedMediaProps(props){let count=0;for(let i=1;i<=250;i++){if(props[`image${i}`]||props[`video${i}`])count=i;}return count>0?count:1;}function parseFcDataSafe(fcData){if(!fcData)return null;try{return parseFCData(fcData);}catch{return null;}}/**\n * Gallery entries to render (non-poster), in display order.\n * Uses `[Media: …]` when present, otherwise catalog slot order.\n */export function getGalleryManifestEntries(fcData){const parsed=parseFcDataSafe(fcData);const manifest=getEffectiveMediaManifest(fcData||\"\",parsed);if(manifest)return manifest.filter(e=>!e.isPoster);if(parsed){const maxSlot=getMaxMediaSlotFromParsed(parsed);if(maxSlot>0){return Array.from({length:maxSlot},(_,i)=>{const slot=i+1;return{type:catalogSlotManifestType(parsed,slot),slot,index:slot};});}}return[];}/**\n * How many gallery slots to render when `display === \"All\"` or similar.\n * Slot count follows FC Data catalog/manifest whenever present — not gated on\n * `mediaSource` (that only controls URL resolution).\n */export function computeMediaSlotCount(fcData,props,_useFcDataSource){const galleryEntries=getGalleryManifestEntries(fcData);if(galleryEntries.length>0)return galleryEntries.length;if(props.images===\"Set\"){return Math.max(1,props.amount||8);}return countPopulatedMediaProps(props);}\nexport const __FramerMetadata__ = {\"exports\":{\"catalogSlotManifestType\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"resolvePosterForVideoSlot\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"buildMediaManifestSegmentBody\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"resolveVideoAltForSlot\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"resolveVideoSrcForSlot\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"isVideoMediaUrl\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"countPopulatedMediaProps\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"MediaManifestEntry\":{\"type\":\"tsType\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"getVariantReferencedCatalogSlots\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"getGalleryManifestEntries\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"parseVideoAltText\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"fcDataHasCatalogVideo\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"MediaSlotCountInput\":{\"type\":\"tsType\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"getEffectiveMediaManifest\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"isSharedCatalogSlot\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"parseMediaManifest\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"computeMediaSlotCount\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}","/*\n * Framer Commerce\n * Confidential and Proprietary - All Rights Reserved\n *\n * shopifyImageUrl - Helper for sizing and formatting Shopify CDN / Imgix asset URLs.\n *\n * © 2025 Butter Supply Inc. All Rights Reserved.\n *\n * Components rendering images directly from Shopify's CDN (or Imgix) lose Framer's\n * automatic responsive image optimization. This helper injects the CDN's native\n * sizing/format query params so we can request appropriately sized assets on demand\n * and build srcsets for responsive rendering.\n *\n * Hosts handled:\n * - cdn.shopify.com / *.shopify.com → Shopify imgix-style params (?width, ?height, ?crop, ?format)\n * - *.imgix.net                     → Imgix params (?w, ?h, ?fit, ?auto)\n *\n * Other hosts: returned unchanged (no-op).\n */const SHOPIFY_HOST_RE=/(?:^|\\.)shopify\\.com$/i;const IMGIX_HOST_RE=/\\.imgix\\.net$/i;/**\n * Detect the CDN family for a URL. Returns null when the URL's host isn't one we\n * know how to size, so callers can no-op.\n */function getCdnKind(url){if(!url)return null;try{const parsed=new URL(url);if(SHOPIFY_HOST_RE.test(parsed.hostname))return\"shopify\";if(IMGIX_HOST_RE.test(parsed.hostname))return\"imgix\";return null;}catch{return null;}}/**\n * Apply sizing and format options to a Shopify CDN or Imgix URL.\n * Returns the original URL unchanged when:\n * - URL is empty or invalid\n * - Host is not Shopify CDN / Imgix\n * - No options were provided (no point making a new URL)\n */export function shopifyImageUrl(url,options={}){if(!url)return url;const hasOptions=options.width!==undefined||options.height!==undefined||options.format!==undefined||options.crop!==undefined||options.fit!==undefined;if(!hasOptions)return url;const kind=getCdnKind(url);if(!kind)return url;let parsed;try{parsed=new URL(url);}catch{return url;}if(kind===\"shopify\"){if(options.width!==undefined){parsed.searchParams.set(\"width\",String(Math.round(options.width)));}if(options.height!==undefined){parsed.searchParams.set(\"height\",String(Math.round(options.height)));}if(options.crop){parsed.searchParams.set(\"crop\",options.crop);}if(options.format&&options.format!==\"auto\"){// Shopify images respect \"format\" only for some asset types; harmless to set.\nparsed.searchParams.set(\"format\",options.format);}}else{// Imgix\nif(options.width!==undefined){parsed.searchParams.set(\"w\",String(Math.round(options.width)));}if(options.height!==undefined){parsed.searchParams.set(\"h\",String(Math.round(options.height)));}if(options.fit){parsed.searchParams.set(\"fit\",options.fit);}else if(options.crop){// Map Shopify crop semantics onto Imgix fit when caller didn't pick a fit.\nparsed.searchParams.set(\"fit\",\"crop\");}if(options.format===\"auto\"){parsed.searchParams.set(\"auto\",\"format,compress\");}else if(options.format){parsed.searchParams.set(\"fm\",options.format);}}return parsed.toString();}/**\n * Build a `srcset` string at common DPR multipliers for responsive rendering.\n *\n * @example\n *   buildShopifyImageSrcSet(url, { width: 400 })\n *   // → \"https://...?width=400 1x, https://...?width=800 2x, https://...?width=1200 3x\"\n */export function buildShopifyImageSrcSet(url,options={}){if(!url)return\"\";if(!options.width)return shopifyImageUrl(url,options);const kind=getCdnKind(url);if(!kind)return url;const dprs=options.dprs??[1,2,3];return dprs.map(dpr=>{const sized=shopifyImageUrl(url,{...options,width:options.width*dpr,height:options.height?options.height*dpr:undefined});return`${sized} ${dpr}x`;}).join(\", \");}\nexport const __FramerMetadata__ = {\"exports\":{\"buildShopifyImageSrcSet\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"shopifyImageUrl\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"ShopifyImageOptions\":{\"type\":\"tsType\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./shopifyImageUrl.map","/** Marks the visible media surface (img/video) for click routing. */export const FC_MEDIA_SURFACE_ATTR=\"data-fc-media-surface\";export function isMediaSurfaceTarget(target){if(!target||!(target instanceof Element))return false;return Boolean(target.closest(`[${FC_MEDIA_SURFACE_ATTR}]`));}export function isPointOverMediaSurface(root,clientX,clientY){if(!root)return false;const surfaces=root.querySelectorAll(`[${FC_MEDIA_SURFACE_ATTR}]`);for(const surface of Array.from(surfaces)){const rect=surface.getBoundingClientRect();if(clientX>=rect.left&&clientX<=rect.right&&clientY>=rect.top&&clientY<=rect.bottom){return true;}}return false;}export function isMediaControlTarget(target){if(!target||!(target instanceof Element))return false;return Boolean(target.closest(\"button\"));}/** True when the click should fire the empty-space / letterbox background handler. */export function shouldFireMediaBackgroundClick(target){if(isMediaControlTarget(target))return false;return!isMediaSurfaceTarget(target);}export function getMediaSizingStyle(isFill,extra={}){if(isFill){return{...extra,width:\"100%\",height:\"100%\",objectFit:\"cover\"};}return{...extra,maxWidth:\"100%\",maxHeight:\"100%\",width:\"auto\",height:\"auto\",objectFit:\"contain\",display:extra.display??\"block\"};}export function getMediaFitWrapperStyle(isFill){if(isFill){return{position:\"relative\",width:\"100%\",height:\"100%\"};}return{position:\"relative\",maxWidth:\"100%\",maxHeight:\"100%\"};}\nexport const __FramerMetadata__ = {\"exports\":{\"isMediaControlTarget\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"shouldFireMediaBackgroundClick\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"isMediaSurfaceTarget\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"getMediaFitWrapperStyle\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"isPointOverMediaSurface\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"getMediaSizingStyle\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"FC_MEDIA_SURFACE_ATTR\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./mediaBackgroundClick.map","/*\n * Framer Commerce\n * Confidential and Proprietary - All Rights Reserved\n *\n * © 2025 Butter Supply Inc. All Rights Reserved.\n *\n * useFocusRing — shared keyboard-focus outline for buttons and other\n * clickable, non-input elements.\n *\n * Per Framer's native pattern, buttons don't expose a custom focus prop —\n * they always render the same focus appearance. This hook is the single\n * source of truth for that appearance. Tweak it once here and every\n * button updates.\n *\n * For input fields (text inputs, search, textarea, dropdowns), use the\n * customizable `focus: Object { fill, border, shadow, transition }` prop\n * pattern instead — see Butter_CatalogSearchInput.\n */import{useEffect,useMemo}from\"react\";/**\n * Apply the canonical Framer Commerce focus-visible outline to a button\n * or other clickable element.\n *\n * @example\n *   const focusClassName = useFocusRing(radius);\n *   return <button className={focusClassName} style={{ borderRadius: radius }} />;\n *\n * @param radius - The element's border-radius in px. The outline's\n *   border-radius is set to `radius + 1` so the ring hugs the element\n *   just outside its edge.\n * @param options - Optional overrides for color, width, offset, or\n *   className prefix.\n * @returns The className to apply to your element.\n */export function useFocusRing(radius,options={}){const{color=\"#007AFF\",width=2,offset=1,prefix=\"fc-focus\",ringInnerFocusVisible=false}=options;// Generate a stable unique className per component instance.\nconst className=useMemo(()=>`${prefix}-${Math.random().toString(36).slice(2,9)}`,// eslint-disable-next-line react-hooks/exhaustive-deps\n[]);useEffect(()=>{const styleEl=document.createElement(\"style\");// !important so the ring wins over inline `outline: none` from Framer/cloned styles.\nstyleEl.innerHTML=ringInnerFocusVisible?`\n      .${className}:has(:focus-visible) {\n        outline: ${width}px solid ${color} !important;\n        outline-offset: ${offset}px !important;\n        border-radius: ${radius+1}px !important;\n      }\n    `:`\n      .${className}:focus:not(:focus-visible) {\n        outline: none !important;\n      }\n      .${className}:focus-visible {\n        outline: ${width}px solid ${color} !important;\n        outline-offset: ${offset}px !important;\n        border-radius: ${radius+1}px !important;\n      }\n    `;document.head.appendChild(styleEl);return()=>styleEl.remove();},[className,radius,color,width,offset,ringInnerFocusVisible]);return className;}\nexport const __FramerMetadata__ = {\"exports\":{\"useFocusRing\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./useFocusRing.map","/*\n * Prefers-reduced-motion flag for disabling CSS transitions where motion is inlined.\n */import{useEffect,useState}from\"react\";/** True when OS / browser prefers reduced motion (WCAG 2.3.3). */export function useReducedMotion(){const[reduced,setReduced]=useState(()=>{if(typeof window===\"undefined\"||!window.matchMedia)return false;return window.matchMedia(\"(prefers-reduced-motion: reduce)\").matches;});useEffect(()=>{const mq=window.matchMedia(\"(prefers-reduced-motion: reduce)\");setReduced(mq.matches);const listener=e=>setReduced(e.matches);mq.addEventListener(\"change\",listener);return()=>mq.removeEventListener(\"change\",listener);},[]);return reduced;}\nexport const __FramerMetadata__ = {\"exports\":{\"useReducedMotion\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./useReducedMotion.map","/*\n * Framer Commerce\n * Confidential and Proprietary - All Rights Reserved\n * Unauthorized use, reproduction, distribution, or disclosure of this\n * source code or any related information is strictly prohibited.\n *\n * © 2024 Framer Commerce. All Rights Reserved.\n */import{jsx as _jsx,jsxs as _jsxs,Fragment as _Fragment}from\"react/jsx-runtime\";import{createElement as _createElement}from\"react\";import{Fragment,useCallback,useEffect,useMemo,useRef,useState}from\"react\";import{addPropertyControls,ControlType,RenderTarget}from\"framer\";import{useIsBrowser}from\"https://framerusercontent.com/modules/FmcSlgUtRS55W3otl8f9/DktpLeyyDbjosM33g22i/IsBrowser.js\";import{useResolvedGalleryScope}from\"https://framerusercontent.com/modules/l1TDihqFjeGOPDLsIBcI/yfAc381iHmmc9JAbWNUV/galleryScopeContext.js\";import{useGalleryKeyboardNavigation}from\"https://framerusercontent.com/modules/j2qEcII88drs2KeGfHi8/hvfuVJDUWJHAYuOenasd/galleryKeyboardNav.js\";import{useMediaVideoSpacebar}from\"https://framerusercontent.com/modules/MfRQphgphv6bO4d4QBJd/ZllghG03yvXVL17aH7ku/mediaVideoKeyboard.js\";import{useLocalState}from\"https://framerusercontent.com/modules/xYDZCCqEBzGd7zfHzUX5/cLuhs5H2O0tFIwBfaQKt/useLocalState.js\";import{useProductImages}from\"https://framerusercontent.com/modules/eLwRT2vfwMYWF72CGlDl/j5W86LKlNG8al8V55AN2/useProductImages.js\";import{useCartLineContext}from\"https://framerusercontent.com/modules/7Tw82MXZ6dqcsMjL6yRE/gpQ9gIFynZl5n9h9bpMJ/useCartLineContext.js\";import{getMaxMediaSlotFromParsed,getVariantImageRefBySelectedOptions,parseFCData}from\"https://framerusercontent.com/modules/u4cSQPeOxFZJ30D78T0u/OH103m2xIQZsbXU9KlH0/fcDataParser.js\";import{countPopulatedMediaProps,getEffectiveMediaManifest,isVideoMediaUrl,parseVideoAltText,resolvePosterForVideoSlot,resolveVideoAltForSlot,resolveVideoSrcForSlot}from\"https://framerusercontent.com/modules/8ERbaYyWZ6OgzrTgjfSL/J1hBgCGaDRO9x7CY6SK5/fcDataMediaManifest.js\";import{shopifyImageUrl}from\"https://framerusercontent.com/modules/48OJjxBqfzuC2IPAybFX/in7dvD1rli4hr245fBE0/shopifyImageUrl.js\";import{FC_MEDIA_SURFACE_ATTR,getMediaFitWrapperStyle,getMediaSizingStyle,isPointOverMediaSurface,shouldFireMediaBackgroundClick}from\"https://framerusercontent.com/modules/DOytKkFNPVSqGH0Rwh1B/64ZNa2NmFC0TbEkMOnaV/mediaBackgroundClick.js\";import{useFocusRing}from\"https://framerusercontent.com/modules/IaCtXF1ZesaQ7iv3U5Gr/wGiuiv1uBHqHDwdnLuWS/useFocusRing.js\";import{useReducedMotion}from\"https://framerusercontent.com/modules/c99QkZUnhCwVRT53XqBV/fNwPNoYi2AjpctF2UmDd/useReducedMotion.js\";// ============================================================================\n// HELPERS\n// ============================================================================\nconst positionOptions=[\"Top Left\",\"Top Center\",\"Top Right\",\"Center Left\",\"Center\",\"Center Right\",\"Bottom Left\",\"Bottom Center\",\"Bottom Right\"];function getPositionStyle(position,inset){const parts=inset.split(\" \").map(s=>s.trim());const top=parts[0]||\"8px\";const right=parts[1]||top;const bottom=parts[2]||top;const left=parts[3]||right;switch(position){case\"Top Left\":return{top,left};case\"Top Center\":return{top,left:\"50%\",transform:\"translateX(-50%)\"};case\"Top Right\":return{top,right};case\"Center Left\":return{top:\"50%\",left,transform:\"translateY(-50%)\"};case\"Center\":return{top:\"50%\",left:\"50%\",transform:\"translate(-50%, -50%)\"};case\"Center Right\":return{top:\"50%\",right,transform:\"translateY(-50%)\"};case\"Bottom Left\":return{bottom,left};case\"Bottom Center\":return{bottom,left:\"50%\",transform:\"translateX(-50%)\"};case\"Bottom Right\":return{bottom,right};default:return{bottom,left};}}function VariantActiveVideoRoundControl({style,focusRadiusPx,onActivate,children}){const focusClassName=useFocusRing(focusRadiusPx);const resetBtn={appearance:\"none\",WebkitAppearance:\"none\",margin:0,padding:0,border:\"none\",background:\"transparent\",boxSizing:\"border-box\",font:\"inherit\",color:\"inherit\"};if(!onActivate){return /*#__PURE__*/_jsx(\"div\",{className:focusClassName,style:style,children:children});}return /*#__PURE__*/_jsx(\"button\",{type:\"button\",className:focusClassName,style:{...resetBtn,...style},onClick:onActivate,onKeyDown:e=>{if(e.key===\"Enter\"||e.key===\" \"){e.preventDefault();e.stopPropagation();onActivate(e);}},children:children});}function VariantActivePosterPlayArea({posStyle,containerSize,radius,backgroundColor,iconSize,iconColor,onActivate}){const r=Number.isFinite(radius)?radius:0;return /*#__PURE__*/_jsx(\"div\",{style:{position:\"absolute\",...posStyle,zIndex:3},children:/*#__PURE__*/_jsx(VariantActiveVideoRoundControl,{focusRadiusPx:r,onActivate:onActivate,style:{width:containerSize,height:containerSize,borderRadius:radius,backgroundColor,display:\"flex\",alignItems:\"center\",justifyContent:\"center\",cursor:\"pointer\"},children:/*#__PURE__*/_jsx(\"svg\",{\"aria-hidden\":\"true\",focusable:false,width:iconSize,height:iconSize,viewBox:\"0 0 24 24\",fill:iconColor,children:/*#__PURE__*/_jsx(\"polygon\",{points:\"5,3 19,12 5,21\"})})})});}function VariantActiveVideoAnywhereOverlay({onActivate,focusRadiusPx=0,cursor=\"pointer\"}){const focusClassName=useFocusRing(focusRadiusPx);const resetBtn={appearance:\"none\",WebkitAppearance:\"none\",margin:0,padding:0,border:\"none\",background:\"transparent\",boxSizing:\"border-box\"};return /*#__PURE__*/_jsx(\"button\",{type:\"button\",className:focusClassName,\"aria-label\":\"Activate video overlay\",onClick:onActivate,onKeyDown:e=>{if(e.key===\"Enter\"||e.key===\" \"){e.preventDefault();onActivate(e);}},style:{...resetBtn,position:\"absolute\",inset:0,zIndex:2,cursor}});}// ============================================================================\n// COMPONENT\n// ============================================================================\n/**\n * @framerDisableUnlink\n */export default function Butter_ProductMediaVariantActive(props){const isBrowser=useIsBrowser();const reducedMotion=useReducedMotion();const videoRef=useRef(null);const imageWrapperRef=useRef(null);const videoMediaBoxRef=useRef(null);// Hover & zoom state\nconst[isHovered,setIsHovered]=useState(false);const[isZoomed,setIsZoomed]=useState(false);const justZoomedOutRef=useRef(false);const[videoSurfaceBounds,setVideoSurfaceBounds]=useState(null);// Cursor tracking (percentage-based for transform-origin, pixel-based for custom cursor)\nconst[cursorOrigin,setCursorOrigin]=useState({x:50,y:50});const[cursorPos,setCursorPos]=useState({x:0,y:0});const[isCursorOverMedia,setIsCursorOverMedia]=useState(false);// Parse FC Data to get product ID (same format as useProductImages)\nconst parsed=useMemo(()=>parseFCData(props.fcData||\"\"),[props.fcData]);const productId=parsed?.productId??\"\";const productTitleForAlt=parsed?.metadata?.title?.trim()??\"\";const resolveDisplayedAlt=useCallback(explicit=>{const trimmed=explicit?.trim()??\"\";if(trimmed)return trimmed;if(productTitleForAlt)return productTitleForAlt;return\"Product image\";},[productTitleForAlt]);// Parse media manifest for image/video ordering\nconst mediaManifest=useMemo(()=>getEffectiveMediaManifest(props.fcData||\"\",parsed),[props.fcData,parsed]);const videoAltText=useMemo(()=>parseVideoAltText(props.fcData||\"\"),[props.fcData]);// Initialize from the Zustand store so that when the overlay opens\n// (after GridContainer sets the unscoped image number), we start at\n// the correct media. We read unscoped productId so GridContainer's write is picked up.\nconst[currentMediaNumber,setCurrentMediaNumber]=useState(()=>{if(props.fcData){const p=parseFCData(props.fcData);const pid=p?.productId;if(pid){const state=useLocalState.getState();// Prefer unscoped so overlay gets value set by GridContainer on thumbnail click\nreturn state.currentImageByProductId[pid]??1;}}return 1;});// Gallery isolation: auto-detect when this component is rendered inside a\n// Framer overlay (or honor the manual override) so its gallery state stays\n// independent from the main PDP page.\nconst galleryScope=useResolvedGalleryScope(imageWrapperRef);// Scoped key for direct store reads/writes (mirrors useProductImages).\nconst galleryKey=productId?galleryScope?`${productId}::${galleryScope}`:productId:\"\";// Swap Media uses Hover filter settings only — separate from gallery visibility.\nconst swapProductImages=useProductImages({fcData:props.fcData||\"\",filterVariants:props.Hover?.filterVariants??\"Always\",filterMatch:props.Hover?.filterMatch??\"Any\",scope:galleryScope??null});const{shouldShowCatalogSlot:shouldShowForSwap}=swapProductImages;// Gallery visibility + keyboard nav (matches Static / Slideshow Visibility control).\nconst galleryProductImages=useProductImages({fcData:props.fcData||\"\",filterVariants:props.filterVariants??\"Always\",filterMatch:props.filterMatch??\"Any\",scope:galleryScope??null});const{getImageRefForCurrentSelection,getImageNumberFromRef,hasSelection,shouldShowCatalogSlot:shouldShowForGallery,setVisibleImageCount,setVisibleImageNumbers,setCurrentSlideIndex}=galleryProductImages;// Defensive: `getMediaBySlot` was added when MEDIA_XX URL embedding shipped\n// (V3 FC Data). If this component is bundled alongside an older\n// `useProductImages` (Framer module cache), the field will be undefined —\n// fall back to a no-op so the component still renders from connected props\n// instead of crashing with \"getMediaBySlot is not a function\".\nconst getMediaBySlot=typeof galleryProductImages.getMediaBySlot===\"function\"?galleryProductImages.getMediaBySlot:()=>null;// Source resolution mode for IMG slots:\n//   - \"Shopify\"  → read URL+alt from FC Data variant entry (V3); fall back to\n//                  the connected `image{n}` prop if the FC Data URL is missing.\n//   - \"Framer CMS\" (default) → use the connected `image{n}` prop only.\n// Videos always come from `video{n}` props — V3 FC Data does not embed video URLs.\nconst useFcDataSource=(props.mediaSource??\"Framer CMS\")===\"Shopify\";const resolveImgSrc=slot=>{if(useFcDataSource){const fromFcData=getMediaBySlot(slot);if(fromFcData?.url&&!isVideoMediaUrl(fromFcData.url)){return{src:fromFcData.url,alt:fromFcData.alt||\"\"};}}const img=props[`image${slot}`];return{src:typeof img===\"string\"?img:img?.src||\"\",alt:typeof img===\"string\"?\"\":img?.alt||\"\"};};// CMS source must never read Shopify catalog data. Only Shopify source\n// consults the FC Data catalog (image URLs are already gated inside\n// `resolveImgSrc`; this gates the video src/alt lookups too).\nconst catalogLookup=useFcDataSource?getMediaBySlot:undefined;const setCurrentImage=useLocalState(state=>state.setCurrentImage);// ========================================================================\n// CART CONTEXT\n// ========================================================================\nconst cartLine=useCartLineContext();const isInCart=Boolean(cartLine.lineId);const cartSelectedOptions=useMemo(()=>{if(!isInCart||!cartLine.merchandise?.selectedOptions)return null;const opts={};for(const opt of cartLine.merchandise.selectedOptions){if(opt.name&&opt.value)opts[opt.name]=opt.value;}return Object.keys(opts).length>0?opts:null;},[isInCart,cartLine.merchandise?.selectedOptions]);// ========================================================================\n// MEDIA RESOLUTION\n// ========================================================================\n// Build valid media array from manifest or fallback (backward compat).\n// Keep entries with empty src so we can show nothing for empty slots instead of falling back to first.\n// Build validMedia excluding poster entries — posters don't occupy a media number.\n// Their src is captured as posterSrc on the video that follows them.\nconst validMedia=(()=>{if(mediaManifest){const result=[];let mediaNum=0;for(let i=0;i<mediaManifest.length;i++){const entry=mediaManifest[i];// Skip poster entries — they don't get a media number\nif(entry.isPoster)continue;mediaNum++;// For videos, check if the preceding manifest entry is a poster image\nlet posterSrc=\"\";let posterAlt=\"\";if(entry.type===\"VID\"){const resolvedPoster=resolvePosterForVideoSlot(mediaManifest,entry.slot,resolveImgSrc);posterSrc=resolvedPoster.src;posterAlt=resolvedPoster.alt||\"\";}const src=entry.type===\"IMG\"?resolveImgSrc(entry.slot).src:resolveVideoSrcForSlot(entry.slot,props,catalogLookup);const slotAlt=entry.type===\"IMG\"?resolveImgSrc(entry.slot).alt||\"\":resolveVideoAltForSlot(entry.slot,videoAltText,catalogLookup);result.push({mediaNumber:mediaNum,catalogSlot:entry.slot,type:entry.type,src,alt:slotAlt,isPoster:false,posterSrc,posterAlt});}return result;}// Without manifest: catalog slot range (Shopify) or populated props (Framer CMS)\nif(useFcDataSource&&parsed){const maxSlot=getMaxMediaSlotFromParsed(parsed);if(maxSlot>0){return Array.from({length:maxSlot},(_,i)=>{const slot=i+1;const videoSrc=resolveVideoSrcForSlot(slot,props,catalogLookup);if(videoSrc){return{mediaNumber:slot,catalogSlot:slot,type:\"VID\",src:videoSrc,alt:resolveVideoAltForSlot(slot,videoAltText,catalogLookup)};}const{src,alt}=resolveImgSrc(slot);return{mediaNumber:slot,catalogSlot:slot,type:\"IMG\",src,alt:alt||\"\"};});}}const maxProps=countPopulatedMediaProps(props);return Array.from({length:maxProps},(_,i)=>{const slot=i+1;const{src,alt}=resolveImgSrc(slot);const videoSrc=resolveVideoSrcForSlot(slot,props,catalogLookup);return{mediaNumber:slot,catalogSlot:slot,type:videoSrc?\"VID\":\"IMG\",src:videoSrc||src,alt:videoSrc?resolveVideoAltForSlot(slot,videoAltText,catalogLookup):alt||\"\"};});})();const validMediaRef=useRef(validMedia);validMediaRef.current=validMedia;const mediaManifestRef=useRef(mediaManifest);mediaManifestRef.current=mediaManifest;const galleryScopeRef=useRef(galleryScope);galleryScopeRef.current=galleryScope;const galleryKeyRef=useRef(galleryKey);galleryKeyRef.current=galleryKey;const productIdRef=useRef(productId);productIdRef.current=productId;const propsRef=useRef(props);propsRef.current=props;const resolveImgSrcRef=useRef(resolveImgSrc);resolveImgSrcRef.current=resolveImgSrc;const prevVariantImageRefRef=useRef(null);// ========================================================================\n// GALLERY SYNC\n// ========================================================================\nconst galleryNavigableNumbers=useMemo(()=>validMedia.filter(item=>typeof item.src===\"string\"&&item.src.trim()!==\"\"&&shouldShowForGallery(item.catalogSlot??item.mediaNumber,item.alt??\"\")).map(item=>item.mediaNumber),[validMedia,shouldShowForGallery]);const navigateGalleryTo=useCallback(mediaNumber=>{setCurrentMediaNumber(mediaNumber);const pid=productIdRef.current;if(pid){setCurrentImage(galleryKeyRef.current||pid,mediaNumber);}},[setCurrentImage]);useGalleryKeyboardNavigation({enabled:Boolean(isBrowser&&!isInCart&&galleryScope&&galleryKey),galleryKey,navigableNumbers:galleryNavigableNumbers,setCurrentImageNumber:navigateGalleryTo,priority:1});// Sync with the global gallery store so that when GridContainer (or any\n// external source) sets the unscoped media number, this component updates.\n// Read the active media from this component's scoped gallery key. On the main\n// page galleryKey === productId (unscoped); inside an overlay it is namespaced\n// so the overlay never collides with the main page. The hook seeds the overlay\n// scope from the unscoped value on mount (GridContainer / a tapped thumbnail\n// sets that), so the overlay still opens on the correct image.\nconst storeMediaNumber=useLocalState(useCallback(state=>{if(!galleryKey)return 1;return state.currentImageByProductId[galleryKey]??1;},[galleryKey]));const prevPublishedGalleryStateRef=useRef(\"\");useEffect(()=>{if(isInCart||!galleryKey)return;const activeNumber=galleryScope?storeMediaNumber:currentMediaNumber;const activeIndex=galleryNavigableNumbers.indexOf(activeNumber);const nextIndex=activeIndex>=0?activeIndex:0;const publishKey=`${galleryKey}::${nextIndex}::${galleryNavigableNumbers.join(\"|\")}`;if(prevPublishedGalleryStateRef.current===publishKey)return;prevPublishedGalleryStateRef.current=publishKey;setVisibleImageCount(galleryNavigableNumbers.length);setVisibleImageNumbers(galleryNavigableNumbers);setCurrentSlideIndex(nextIndex);},[isInCart,galleryKey,galleryScope,galleryNavigableNumbers,storeMediaNumber,currentMediaNumber,setVisibleImageCount,setVisibleImageNumbers,setCurrentSlideIndex]);// Sync from store when GridContainer (or overlay) sets the active image.\n// Re-run when validMedia length changes so we sync after media list is ready (e.g. overlay just opened).\n// Skipped in cart context — cart lines have their own variant-based media resolution.\nuseEffect(()=>{if(isInCart)return;if(storeMediaNumber!==currentMediaNumber&&validMedia.some(item=>item.mediaNumber===storeMediaNumber&&(!galleryScope||shouldShowForGallery(item.catalogSlot??item.mediaNumber,item.alt??\"\")))){setCurrentMediaNumber(storeMediaNumber);}},[isInCart,galleryScope,storeMediaNumber,currentMediaNumber,validMedia.length,shouldShowForGallery]);// Cart context: resolve the correct media from the cart line's variant\n// options. Each cart line has fixed selectedOptions, so this fires once\n// on mount and shows the image that matches the variant in the cart.\nuseEffect(()=>{if(!isInCart||!cartSelectedOptions)return;const fcDataStr=propsRef.current.fcData||\"\";if(!fcDataStr)return;const imageRef=getVariantImageRefBySelectedOptions(fcDataStr,cartSelectedOptions);if(!imageRef)return;const slotNum=getImageNumberFromRef(imageRef);const mm=mediaManifestRef.current;const vm=validMediaRef.current;const resolve=resolveImgSrcRef.current;let mediaNumber;if(!mm){mediaNumber=slotNum;}else{const manifestEntry=mm.find(e=>e.type===\"IMG\"&&!e.isPoster&&e.slot===slotNum);if(!manifestEntry)return;const imgSrc=resolve(manifestEntry.slot).src;const found=vm.find(item=>item.type===\"IMG\"&&item.src===imgSrc);mediaNumber=found?found.mediaNumber:null;}if(mediaNumber===null||isNaN(mediaNumber)||!vm.some(item=>item.mediaNumber===mediaNumber))return;setCurrentMediaNumber(mediaNumber);},[isInCart,cartSelectedOptions,getImageNumberFromRef]);// When variant selection changes (shared Zustand store), jump to the mapped\n// image — same source of truth as Butter_ProductMediaSlideshow.\n// On first run (mount), if the store already has an explicit media number\n// (e.g., set by GridContainer click before the overlay opened), preserve\n// that selection instead of overriding it with the variant's mapped image.\n// Skipped in cart context — cart uses its own media resolution above.\nuseEffect(()=>{if(isInCart)return;const pid=productIdRef.current;if(!pid||!hasSelection){prevVariantImageRefRef.current=null;return;}const imageRef=getImageRefForCurrentSelection();if(!imageRef){prevVariantImageRefRef.current=null;return;}if(prevVariantImageRefRef.current===null){const storedValue=useLocalState.getState().currentImageByProductId[galleryKeyRef.current||pid];if(storedValue!=null){prevVariantImageRefRef.current=imageRef;return;}}if(imageRef===prevVariantImageRefRef.current){return;}prevVariantImageRefRef.current=imageRef;const vm=validMediaRef.current;const slotNum=getImageNumberFromRef(imageRef);const mm=mediaManifestRef.current;const resolve=resolveImgSrcRef.current;let mediaNumber;if(!mm){mediaNumber=slotNum;}else{const manifestEntry=mm.find(e=>e.type===\"IMG\"&&!e.isPoster&&e.slot===slotNum);if(!manifestEntry){return;}const imgSrc=resolve(manifestEntry.slot).src;const found=vm.find(item=>item.type===\"IMG\"&&item.src===imgSrc);mediaNumber=found?found.mediaNumber:null;}if(mediaNumber===null||isNaN(mediaNumber)||!vm.some(item=>item.mediaNumber===mediaNumber)){return;}setCurrentMediaNumber(mediaNumber);// Write to this component's scoped key so an overlay instance never\n// clobbers the main page's gallery state (and vice versa).\nsetCurrentImage(galleryKeyRef.current||pid,mediaNumber);},[isInCart,hasSelection,getImageRefForCurrentSelection,getImageNumberFromRef,setCurrentImage]);// In overlay galleries, the scoped store is the source of truth so local\n// state can't drift from static thumbnail active styling.\nconst activeMediaNumber=galleryScope?storeMediaNumber:currentMediaNumber;const isVisibleForGallery=item=>shouldShowForGallery(item.catalogSlot??item.mediaNumber,item.alt??\"\");const currentMedia=validMedia.find(item=>item.mediaNumber===activeMediaNumber&&(!galleryScope||isVisibleForGallery(item)))||validMedia.find(item=>item.mediaNumber===currentMediaNumber&&(!galleryScope||isVisibleForGallery(item)))||(galleryScope?validMedia.find(isVisibleForGallery):null)||validMedia[0]||null;// Canvas detection (needed before video playback logic).\n// Use RenderTarget so the Framer in-app *preview* is NOT treated as canvas —\n// hover-swap and video playback should behave like the live site there.\nconst isCanvas=RenderTarget.current()===RenderTarget.canvas;// ========================================================================\n// VIDEO PLAYBACK\n// ========================================================================\n// Handle video autoplay when switching to a video slot\nuseEffect(()=>{const video=videoRef.current;if(!video||!currentMedia||currentMedia.type!==\"VID\")return;const shouldAutoPlay=props.Video?.autoPlay??true;const shouldMute=props.Video?.muted??true;if(shouldAutoPlay){video.muted=shouldMute;const p=video.play();if(p!==undefined){p.catch(()=>{// Unmuted autoplay was blocked — mute and retry\nif(!shouldMute){video.muted=true;video.play();}});}}},[currentMedia?.src,props.Video?.autoPlay,props.Video?.muted]);// ========================================================================\n// VIDEO CONTROLS STATE\n// ========================================================================\nconst[isPlaying,setIsPlaying]=useState(props.Video?.autoPlay??true);const[isMuted,setIsMuted]=useState(props.Video?.muted??true);const[showPosterOverlay,setShowPosterOverlay]=useState(!(props.Video?.autoPlay??true));// Sync video control states when props or media changes\nuseEffect(()=>{const autoPlay=props.Video?.autoPlay??true;setShowPosterOverlay(!autoPlay);setIsMuted(props.Video?.muted??true);setIsPlaying(autoPlay);},[props.Video?.autoPlay,props.Video?.muted,currentMedia?.src,currentMedia?.type]);const toggleVideoPlayPause=useCallback(()=>{const video=videoRef.current;if(!video)return;if(video.paused){video.play();setIsPlaying(true);setShowPosterOverlay(false);}else{video.pause();setIsPlaying(false);}},[]);const handleVideoPlayPause=useCallback(e=>{e.stopPropagation();toggleVideoPlayPause();},[toggleVideoPlayPause]);useMediaVideoSpacebar({enabled:Boolean(isBrowser&&currentMedia?.type===\"VID\"&&currentMedia.src?.trim()),togglePlayPause:toggleVideoPlayPause,priority:5});const handleMuteToggle=useCallback(e=>{e.stopPropagation();const video=videoRef.current;if(!video)return;video.muted=!video.muted;setIsMuted(video.muted);},[]);const handleFullscreen=useCallback(e=>{e.stopPropagation();const video=videoRef.current;if(!video)return;if(video.requestFullscreen){video.requestFullscreen();}else if(video.webkitRequestFullscreen){video.webkitRequestFullscreen();}},[]);const handlePosterPlay=useCallback(e=>{e.stopPropagation();const video=videoRef.current;if(video){video.play();}setShowPosterOverlay(false);setIsPlaying(true);},[]);// ========================================================================\n// INTERACTION HANDLERS\n// ========================================================================\n// Zoom only applies to images, not videos\nconst isCurrentMediaImage=currentMedia?.type===\"IMG\";const hoverModeValue=props.Hover?.hoverMode??\"None\";const isSwapModeForZoom=hoverModeValue===\"Swap Media\"||hoverModeValue===\"Swap Image\";const isClickZoomActive=!isSwapModeForZoom&&(props.Click?.zoomScale??1)>1&&isCurrentMediaImage;const imageInteractFocusRadius=props.Style?.radiusPerCorner?0:typeof props.Style?.borderRadius===\"number\"&&Number.isFinite(props.Style.borderRadius)?props.Style.borderRadius:0;const zoomWrapperFocusClassName=useFocusRing(isClickZoomActive?imageInteractFocusRadius:0);const isPointOverVideoSurfaceBounds=useCallback((clientX,clientY)=>{const box=videoMediaBoxRef.current;if(!box||!videoSurfaceBounds)return false;const boxRect=box.getBoundingClientRect();const left=boxRect.left+videoSurfaceBounds.left;const top=boxRect.top+videoSurfaceBounds.top;const right=left+videoSurfaceBounds.width;const bottom=top+videoSurfaceBounds.height;return clientX>=left&&clientX<=right&&clientY>=top&&clientY<=bottom;},[videoSurfaceBounds]);// Track mouse position within the wrapper for follow-cursor zoom/hover\nconst handleMouseMove=useCallback(e=>{const rect=imageWrapperRef.current?.getBoundingClientRect();if(!rect)return;const overMedia=currentMedia?.type===\"VID\"?isPointOverVideoSurfaceBounds(e.clientX,e.clientY):isPointOverMediaSurface(imageWrapperRef.current,e.clientX,e.clientY);setIsCursorOverMedia(overMedia);if(overMedia){// Update pixel position for custom cursor\nsetCursorPos({x:e.clientX,y:e.clientY});}const hoverTracking=isHovered&&(props.Hover?.hoverMode??\"None\")===\"Style\"&&props.Hover?.followCursor===\"Yes\"&&(props.Hover?.hoverScale??1)>1;const zoomTracking=isZoomed&&isClickZoomActive&&props.Click?.followCursor===\"Yes\";if(overMedia&&(hoverTracking||zoomTracking)){const x=(e.clientX-rect.left)/rect.width*100;const y=(e.clientY-rect.top)/rect.height*100;setCursorOrigin({x,y});}},[props.Hover?.hoverMode,props.Hover?.followCursor,props.Hover?.hoverScale,props.Click?.followCursor,isClickZoomActive,currentMedia?.type,isHovered,isZoomed,isPointOverVideoSurfaceBounds]);const updateVideoSurfaceBounds=useCallback(()=>{const box=videoMediaBoxRef.current;const surface=box?.querySelector(`[${FC_MEDIA_SURFACE_ATTR}]`);if(!box||!surface){setVideoSurfaceBounds(null);return;}const boxRect=box.getBoundingClientRect();const surfaceRect=surface.getBoundingClientRect();let contentRect=surfaceRect;// In Fit mode, a <video>/<img> element can still occupy the available\n// box while the actual media pixels are letterboxed inside it. Anchor\n// controls to the rendered media content, not the element's outer box.\nif((props.Style?.type??\"Fill\")!==\"Fill\"){const intrinsicWidth=surface instanceof HTMLVideoElement?surface.videoWidth:surface instanceof HTMLImageElement?surface.naturalWidth:0;const intrinsicHeight=surface instanceof HTMLVideoElement?surface.videoHeight:surface instanceof HTMLImageElement?surface.naturalHeight:0;if(intrinsicWidth>0&&intrinsicHeight>0&&surfaceRect.width>0&&surfaceRect.height>0){const intrinsicRatio=intrinsicWidth/intrinsicHeight;const surfaceRatio=surfaceRect.width/surfaceRect.height;if(surfaceRatio>intrinsicRatio){const width=surfaceRect.height*intrinsicRatio;contentRect=new DOMRect(surfaceRect.left+(surfaceRect.width-width)/2,surfaceRect.top,width,surfaceRect.height);}else{const height=surfaceRect.width/intrinsicRatio;contentRect=new DOMRect(surfaceRect.left,surfaceRect.top+(surfaceRect.height-height)/2,surfaceRect.width,height);}}}const next={left:contentRect.left-boxRect.left,top:contentRect.top-boxRect.top,width:contentRect.width,height:contentRect.height};setVideoSurfaceBounds(prev=>{if(prev&&Math.abs(prev.left-next.left)<.5&&Math.abs(prev.top-next.top)<.5&&Math.abs(prev.width-next.width)<.5&&Math.abs(prev.height-next.height)<.5){return prev;}return next;});},[props.Style?.type]);useEffect(()=>{if(!isBrowser||currentMedia?.type!==\"VID\"){setVideoSurfaceBounds(null);return;}let raf=requestAnimationFrame(updateVideoSurfaceBounds);const box=videoMediaBoxRef.current;const surface=box?.querySelector(`[${FC_MEDIA_SURFACE_ATTR}]`);const observer=typeof ResizeObserver!==\"undefined\"?new ResizeObserver(()=>{cancelAnimationFrame(raf);raf=requestAnimationFrame(updateVideoSurfaceBounds);}):null;if(observer&&box)observer.observe(box);if(observer&&surface)observer.observe(surface);window.addEventListener(\"resize\",updateVideoSurfaceBounds);return()=>{cancelAnimationFrame(raf);observer?.disconnect();window.removeEventListener(\"resize\",updateVideoSurfaceBounds);};},[isBrowser,currentMedia?.type,currentMedia?.src,props.Style?.type,updateVideoSurfaceBounds]);// Handle click for zoom, media events, and background empty space\nconst handleMediaClick=useCallback(e=>{if(e.target.closest(\"button\"))return;const isVideoMedia=currentMedia?.type===\"VID\";const clickedVideoMedia=isVideoMedia&&isPointOverVideoSurfaceBounds(e.clientX,e.clientY);if(isVideoMedia?!clickedVideoMedia:shouldFireMediaBackgroundClick(e.target)){props.triggerMediaBackgroundClick?.();return;}if(isVideoMedia){// Fire the media click event (tap / overlay) for videos too,\n// matching image behavior — but without the zoom function.\nif(props.triggerImageTap){props.triggerImageTap();}if(props.triggerImageOverlay){props.triggerImageOverlay();}// Click landed on the actual video surface: toggle play/pause.\n// Works across all modes (Button only / Anywhere / Custom Cursor)\n// since the dedicated button is handled separately above.\nconst Controls=props.Video?.Controls;if((Controls?.playPause??\"On\")!==\"Off\"){handleVideoPlayPause(e);}return;}if(props.triggerImageTap){props.triggerImageTap();}if(props.triggerImageOverlay){props.triggerImageOverlay();}if(!isClickZoomActive)return;if(props.Click?.followCursor===\"Yes\"){const rect=imageWrapperRef.current?.getBoundingClientRect();if(rect){const x=(e.clientX-rect.left)/rect.width*100;const y=(e.clientY-rect.top)/rect.height*100;setCursorOrigin({x,y});}}setIsZoomed(prev=>{if(prev){justZoomedOutRef.current=true;requestAnimationFrame(()=>{justZoomedOutRef.current=false;});}return!prev;});},[currentMedia?.type,isClickZoomActive,isPointOverVideoSurfaceBounds,handleVideoPlayPause,props.Video?.Controls?.playPause,props.Click?.followCursor,props.triggerImageTap,props.triggerImageOverlay,props.triggerMediaBackgroundClick]);const handleOuterShellClick=useCallback(e=>{if(e.target!==e.currentTarget)return;props.triggerMediaBackgroundClick?.();},[props.triggerMediaBackgroundClick]);// Transition style for hover animations (Style mode only; None / Swap Image omit this on media)\nconst transitionStyle=useMemo(()=>{if(reducedMotion)return\"none\";const mode=props.Hover?.hoverMode??\"None\";if(mode!==\"Style\")return\"none\";const t=props.Hover?.transition;if(!t)return\"none\";const duration=t.duration||.3;const ease=t.ease||\"ease-in-out\";return`transform ${duration}s ${ease}, opacity ${duration}s ${ease}`;},[reducedMotion,props.Hover?.hoverMode,props.Hover?.transition]);// Swap image animation helpers\nconst swapAnimation=props.Hover?.swapAnimation??\"Instant\";const pushDirection=props.Hover?.pushDirection??\"→\";const swapDuration=reducedMotion?0:props.Hover?.transition?.duration??.3;const swapEase=props.Hover?.transition?.ease??\"ease-in-out\";// ========================================================================\n// EVENT HANDLERS\n// ========================================================================\nuseEffect(()=>{if(!isBrowser||isInCart)return;function handleImageMatch(e){if(e.detail&&e.detail.imageNumber){const pid=productIdRef.current;if(pid&&e.detail.shopifyProductID&&e.detail.shopifyProductID!==`gid://shopify/Product/${pid}`){return;}const imageIndex=parseInt(e.detail.imageNumber);const vm=validMediaRef.current;const mm=mediaManifestRef.current;const resolve=resolveImgSrcRef.current;let mediaNumber;if(!mm){mediaNumber=imageIndex;}else{const manifestEntry=mm.find(e=>e.type===\"IMG\"&&!e.isPoster&&e.slot===imageIndex);if(!manifestEntry){mediaNumber=null;}else{const imgSrc=resolve(manifestEntry.slot).src;const found=vm.find(item=>item.type===\"IMG\"&&item.src===imgSrc);mediaNumber=found?found.mediaNumber:null;}}if(mediaNumber!==null&&!isNaN(mediaNumber)&&vm.some(item=>item.mediaNumber===mediaNumber)){setCurrentMediaNumber(mediaNumber);if(pid){setCurrentImage(galleryKeyRef.current||pid,mediaNumber);}}}}// Handle fc:gallery:goto (thumbnails + variant selector).\n// Thumbnails pass galleryScope; variant selector omits it so every\n// instance can react. Scoped events only match the same scope.\nfunction handleGalleryGoto(e){if(e.detail&&e.detail.imageNumber){const eventScope=e.detail.galleryScope;if(eventScope!=null&&eventScope!==\"\"){if(eventScope!==(galleryScopeRef.current??undefined)){return;}}const pid=productIdRef.current;if(pid&&e.detail.productId&&e.detail.productId!==pid){return;}const vm=validMediaRef.current;const mediaNumber=typeof e.detail.imageNumber===\"number\"?e.detail.imageNumber:parseInt(e.detail.imageNumber);if(!isNaN(mediaNumber)&&vm.some(item=>item.mediaNumber===mediaNumber)){setCurrentMediaNumber(mediaNumber);if(pid){setCurrentImage(galleryKeyRef.current||pid,mediaNumber);}}}}document.addEventListener(\"variant__image__match\",handleImageMatch);window.addEventListener(\"fc:gallery:goto\",handleGalleryGoto);return()=>{document.removeEventListener(\"variant__image__match\",handleImageMatch);window.removeEventListener(\"fc:gallery:goto\",handleGalleryGoto);};},[isBrowser,isInCart]);// ========================================================================\n// RENDER\n// ========================================================================\n// Compute interaction styles (must be before any early return to respect Rules of Hooks)\nconst hoverMode=props.Hover?.hoverMode??\"None\";const hoverScale=props.Hover?.hoverScale??1;const hoverOpacity=props.Hover?.hoverOpacity??1;const clickScale=props.Click?.zoomScale??1;const isMediaHovered=isHovered&&isCursorOverMedia;// \"Swap Media\" (formerly \"Swap Image\"); accept the legacy value for saved instances.\nconst isSwapMode=hoverMode===\"Swap Media\"||hoverMode===\"Swap Image\";// Media eligible for hover swap. Skip empty slots; optionally restrict to a\n// single media type; and (for \"Next variant match\") only include media that\n// matches the selected variant.\nconst swapType=props.Hover?.swapType??\"Any\";const swapList=useMemo(()=>{const wantType=swapType===\"Image\"?\"IMG\":swapType===\"Video\"?\"VID\":null;return validMedia.filter(item=>typeof item.src===\"string\"&&item.src.trim()!==\"\"&&(wantType===null||item.type===wantType)&&shouldShowForSwap(item.catalogSlot??item.mediaNumber,item.alt??\"\"));},[validMedia,shouldShowForSwap,swapType]);// Resolve the next media item (image or video) to reveal on hover.\nconst nextMedia=useMemo(()=>{if(!isSwapMode||!currentMedia)return null;if(swapList.length<2)return null;let currentIdx=swapList.findIndex(item=>item.mediaNumber===activeMediaNumber);if(currentIdx<0){currentIdx=swapList.findIndex(item=>item===currentMedia);}if(currentIdx<0)currentIdx=0;const candidate=swapList[(currentIdx+1)%swapList.length];return candidate&&candidate!==currentMedia?candidate:null;},[isSwapMode,currentMedia,activeMediaNumber,swapList]);if(!isBrowser){return /*#__PURE__*/_jsx(\"div\",{style:{width:\"100%\",height:\"100%\"}});}const isFillMedia=(props.Style?.type??\"Fill\")===\"Fill\";const mediaSurfaceProps={[FC_MEDIA_SURFACE_ATTR]:true};const borderRadius=props.Style?.radiusPerCorner?`${props.Style.radiusTopLeft}px ${props.Style.radiusTopRight}px ${props.Style.radiusBottomRight}px ${props.Style.radiusBottomLeft}px`:`${props.Style?.borderRadius||0}px`;const shellFocusRadiusPx=props.Style?.radiusPerCorner?Math.max(Number(props.Style.radiusTopLeft)||0,Number(props.Style.radiusTopRight)||0,Number(props.Style.radiusBottomRight)||0,Number(props.Style.radiusBottomLeft)||0):Math.max(0,Number(props.Style?.borderRadius)||0);// Custom cursor resolution\nconst useClickCustomCursor=props.Click?.customCursor===\"Yes\";const clickCursorComponent=useClickCustomCursor&&isZoomed?props.cursorZoomIn?.[0]:null;const hoverCustomCursorEnabled=props.Style?.customCursor??props.Hover?.customCursor;const useHoverCustomCursor=hoverMode===\"Style\"&&hoverCustomCursorEnabled===\"Yes\";const hoverCursorComponent=useHoverCustomCursor?props.cursorHover?.[0]:null;const useVideoCustomCursor=currentMedia?.type===\"VID\"&&(props.Video?.Controls?.playPause??\"On\")!==\"Off\"&&(props.Video?.Controls?.playPauseMode??\"Button only\")===\"Custom Cursor\";const videoCursorComponent=useVideoCustomCursor?isPlaying?props.cursorVideoPause?.[0]:props.cursorVideoPlay?.[0]:null;const activeCursorComponent=(()=>{if(isClickZoomActive&&clickCursorComponent)return clickCursorComponent;if(isMediaHovered&&videoCursorComponent)return videoCursorComponent;if(isMediaHovered&&hoverCursorComponent)return hoverCursorComponent;return null;})();const hideNativeCursor=Boolean(activeCursorComponent&&isHovered&&isCursorOverMedia);const mediaCursor=(()=>{if(hideNativeCursor)return\"none\";if(isClickZoomActive){if(activeCursorComponent)return\"none\";return isZoomed?\"zoom-out\":\"zoom-in\";}if(isMediaHovered&&videoCursorComponent)return\"none\";if(isMediaHovered&&hoverCursorComponent)return\"none\";return\"default\";})();const mediaStyle={...getMediaSizingStyle(isFillMedia,{borderRadius,cursor:mediaCursor}),transform:`scale(${isZoomed&&isClickZoomActive?clickScale:isCurrentMediaImage&&isMediaHovered&&hoverMode===\"Style\"&&hoverScale>1?hoverScale:1})`,opacity:isMediaHovered&&hoverMode===\"Style\"?hoverOpacity:1,transformOrigin:isZoomed&&isClickZoomActive&&props.Click?.followCursor===\"Yes\"?`${cursorOrigin.x}% ${cursorOrigin.y}%`:isMediaHovered&&hoverMode===\"Style\"&&props.Hover?.followCursor===\"Yes\"&&hoverScale>1?`${cursorOrigin.x}% ${cursorOrigin.y}%`:\"center center\",// Instant zoom in/out on click; normal transition for hover\ntransition:isZoomed&&isClickZoomActive||justZoomedOutRef.current?\"none\":transitionStyle};const hasNoMedia=!currentMedia||!currentMedia.src||currentMedia.src.trim()===\"\";// Push + at rest: remount when Direction changes so transform jumps instantly.\n// Otherwise the shared CSS transition animates between off-screen poses (2nd image appears to slide across the canvas when editing props).\nconst swapImagePushKey=isSwapMode&&swapAnimation===\"Push\"&&!isMediaHovered?`push-rest-${pushDirection}`:\"swap-stack\";return /*#__PURE__*/_jsxs(\"div\",{\"data-fc-image-type\":\"dynamic\",onClick:handleOuterShellClick,style:{width:\"100%\",height:\"100%\",...hasNoMedia&&isCanvas?{minWidth:48,minHeight:48}:{},display:\"flex\",alignItems:\"center\",justifyContent:\"center\",backgroundColor:props.Style?.backgroundColor||\"#f5f5f5\",padding:props.Style?.paddingPerSide?`${props.Style.paddingTop}px ${props.Style.paddingRight}px ${props.Style.paddingBottom}px ${props.Style.paddingLeft}px`:props.Style?.padding||0,borderRadius,overflow:\"hidden\",position:\"relative\"},children:[/*#__PURE__*/_jsxs(\"div\",{ref:imageWrapperRef,className:zoomWrapperFocusClassName,tabIndex:isClickZoomActive?0:undefined,role:isClickZoomActive?\"button\":undefined,\"aria-label\":isClickZoomActive?\"Toggle zoom on product image\":undefined,onClick:handleMediaClick,onKeyDown:isClickZoomActive?e=>{if(e.key===\"Enter\"||e.key===\" \"){e.preventDefault();handleMediaClick(e);}}:undefined,onMouseEnter:()=>setIsHovered(true),onMouseLeave:()=>{setIsHovered(false);setIsCursorOverMedia(false);setCursorOrigin({x:50,y:50});if(isClickZoomActive)setIsZoomed(false);},onMouseMove:handleMouseMove,style:{width:\"100%\",height:\"100%\",position:\"relative\",cursor:hideNativeCursor?\"none\":\"default\",overflow:\"hidden\",display:\"flex\",alignItems:\"center\",justifyContent:\"center\"},children:[activeCursorComponent&&/*#__PURE__*/_jsx(\"div\",{style:{position:\"fixed\",left:0,top:0,pointerEvents:\"none\",cursor:\"none\",zIndex:9999,transform:`translate(${cursorPos.x}px, ${cursorPos.y}px)`,display:isHovered&&isCursorOverMedia?\"block\":\"none\"},children:activeCursorComponent}),isSwapMode&&nextMedia&&!isCanvas?/*#__PURE__*/_jsxs(Fragment,{children:[/*#__PURE__*/_jsx(\"div\",{style:{position:\"relative\",width:\"100%\",height:\"100%\",display:\"flex\",alignItems:\"center\",justifyContent:\"center\",...swapAnimation===\"Cross Fade\"?{opacity:isMediaHovered?0:1,transition:`opacity ${swapDuration}s ${swapEase}`}:swapAnimation===\"Push\"?{transform:isMediaHovered?(()=>{switch(pushDirection){case\"←\":return\"translateX(-100%)\";case\"→\":return\"translateX(100%)\";case\"↑\":return\"translateY(-100%)\";case\"↓\":return\"translateY(100%)\";default:return\"none\";}})():\"translateX(0)\",transition:`transform ${swapDuration}s ${swapEase}`}:{opacity:isMediaHovered?0:1,transition:\"none\"}},children:currentMedia&&typeof currentMedia.src===\"string\"&&currentMedia.src.trim()!==\"\"?currentMedia.type===\"VID\"?isCanvas&&currentMedia.posterSrc&&!(props.Video?.autoPlay??true)?/*#__PURE__*/_createElement(\"img\",{...mediaSurfaceProps,key:currentMedia.posterSrc,src:shopifyImageUrl(currentMedia.posterSrc),alt:resolveDisplayedAlt(currentMedia.posterAlt),style:getMediaSizingStyle(isFillMedia,{borderRadius}),loading:\"lazy\",decoding:\"async\"}):/*#__PURE__*/_createElement(\"video\",{...mediaSurfaceProps,ref:videoRef,key:currentMedia.src,src:currentMedia.src,poster:currentMedia.posterSrc?shopifyImageUrl(currentMedia.posterSrc):undefined,autoPlay:props.Video?.autoPlay??true,loop:props.Video?.loop??true,muted:props.Video?.muted??true,playsInline:true,preload:props.Video?.autoPlay??true?\"auto\":\"metadata\",disablePictureInPicture:true,disableRemotePlayback:true,style:getMediaSizingStyle(isFillMedia,{borderRadius})}):/*#__PURE__*/_jsx(\"img\",{...mediaSurfaceProps,src:shopifyImageUrl(currentMedia.src),alt:resolveDisplayedAlt(currentMedia.alt),style:getMediaSizingStyle(isFillMedia,{borderRadius}),loading:\"lazy\",decoding:\"async\"}):null}),/*#__PURE__*/_jsx(\"div\",{style:{position:\"absolute\",inset:0,display:\"flex\",alignItems:\"center\",justifyContent:\"center\",...swapAnimation===\"Cross Fade\"?{opacity:isMediaHovered?1:0,transition:`opacity ${swapDuration}s ${swapEase}`}:swapAnimation===\"Push\"?{transform:isMediaHovered?\"translate(0)\":(()=>{switch(pushDirection){case\"←\":return\"translateX(100%)\";case\"→\":return\"translateX(-100%)\";case\"↑\":return\"translateY(100%)\";case\"↓\":return\"translateY(-100%)\";default:return\"none\";}})(),transition:`transform ${swapDuration}s ${swapEase}`}:{opacity:isMediaHovered?1:0,transition:\"none\"}},children:nextMedia.type===\"VID\"?isCanvas&&nextMedia.posterSrc&&!(props.Video?.autoPlay??true)?/*#__PURE__*/_createElement(\"img\",{...mediaSurfaceProps,key:nextMedia.posterSrc,src:shopifyImageUrl(nextMedia.posterSrc),alt:resolveDisplayedAlt(nextMedia.posterAlt),style:getMediaSizingStyle(isFillMedia,{borderRadius}),loading:\"lazy\",decoding:\"async\"}):/*#__PURE__*/_createElement(\"video\",{...mediaSurfaceProps,key:nextMedia.src,src:nextMedia.src,poster:nextMedia.posterSrc?shopifyImageUrl(nextMedia.posterSrc):undefined,autoPlay:props.Video?.autoPlay??true,loop:props.Video?.loop??true,muted:props.Video?.muted??true,playsInline:true,preload:props.Video?.autoPlay??true?\"auto\":\"metadata\",disablePictureInPicture:true,disableRemotePlayback:true,style:getMediaSizingStyle(isFillMedia,{borderRadius})}):/*#__PURE__*/_jsx(\"img\",{...mediaSurfaceProps,src:shopifyImageUrl(nextMedia.src),alt:resolveDisplayedAlt(nextMedia.alt),style:getMediaSizingStyle(isFillMedia,{borderRadius}),loading:\"lazy\",decoding:\"async\"})})]},swapImagePushKey):/* Style mode (or no swap target): single media with transform/opacity *//*#__PURE__*/_jsx(_Fragment,{children:currentMedia&&typeof currentMedia.src===\"string\"&&currentMedia.src.trim()!==\"\"?currentMedia.type===\"VID\"?/*#__PURE__*/_jsxs(\"div\",{ref:videoMediaBoxRef,style:{...getMediaFitWrapperStyle(isFillMedia),display:\"flex\"},children:[isCanvas&&currentMedia.posterSrc&&!(props.Video?.autoPlay??true)?/*#__PURE__*/_createElement(\"img\",{...mediaSurfaceProps,key:currentMedia.posterSrc,src:shopifyImageUrl(currentMedia.posterSrc),alt:resolveDisplayedAlt(currentMedia.posterAlt),style:{...mediaStyle,pointerEvents:hideNativeCursor?\"none\":undefined},loading:\"lazy\",decoding:\"async\",onLoad:updateVideoSurfaceBounds}):/*#__PURE__*/_createElement(\"video\",{...mediaSurfaceProps,ref:videoRef,key:currentMedia.src,src:currentMedia.src,poster:currentMedia.posterSrc?shopifyImageUrl(currentMedia.posterSrc):undefined,autoPlay:props.Video?.autoPlay??true,loop:props.Video?.loop??true,muted:props.Video?.muted??true,playsInline:true,preload:props.Video?.autoPlay??true?\"auto\":\"metadata\",disablePictureInPicture:true,disableRemotePlayback:true,onLoadedMetadata:updateVideoSurfaceBounds,onLoadedData:updateVideoSurfaceBounds,style:{...mediaStyle,display:\"block\",pointerEvents:hideNativeCursor?\"none\":undefined}}),currentMedia.src&&(()=>{const Controls=props.Video?.Controls;const playPauseMode=Controls?.playPauseMode??\"Button only\";const anywhereMode=playPauseMode===\"Anywhere\"||playPauseMode===\"Custom Cursor\";const customCursorMode=playPauseMode===\"Custom Cursor\";// Poster play overlay\nif(showPosterOverlay){const Poster=props.Video?.Poster;const posterMode=Poster?.posterStyle??\"Inherit\";const useInherit=posterMode!==\"Custom\";const pIconSize=useInherit?Controls?.iconSize??16:Poster?.iconSize??16;const pContainerSize=useInherit?Controls?.containerSize??40:Poster?.containerSize??40;const pRadius=useInherit?Controls?.radius??80:Poster?.radius??80;const pColor=useInherit?Controls?.color??\"#ffffff\":Poster?.color??\"#ffffff\";const pBg=useInherit?Controls?.bg??\"rgba(0,0,0,0.5)\":Poster?.bg??\"rgba(0,0,0,0.5)\";const pPosition=useInherit?Controls?.playPausePosition??\"Bottom Left\":Poster?.position??\"Center\";const pInset=useInherit?Controls?.insetPerSide?`${Controls?.insetTop??8}px ${Controls?.insetRight??8}px ${Controls?.insetBottom??8}px ${Controls?.insetLeft??8}px`:`${Controls?.inset??8}px`:Poster?.insetPerSide?`${Poster?.insetTop??8}px ${Poster?.insetRight??8}px ${Poster?.insetBottom??8}px ${Poster?.insetLeft??8}px`:`${Poster?.inset??8}px`;const posStyle=getPositionStyle(pPosition,pInset);return /*#__PURE__*/_jsx(VariantActivePosterPlayArea,{posStyle:posStyle,containerSize:pContainerSize,radius:pRadius,backgroundColor:pBg,iconSize:pIconSize,iconColor:pColor,onActivate:handlePosterPlay});}// Video controls overlay\nconst visibility=Controls?.visibility??\"Always\";const showControls=visibility===\"Always\"||visibility===\"On Hover\"&&isMediaHovered;const gap=Controls?.gap??8;const iconSize=Controls?.iconSize??16;const containerSize=Controls?.containerSize??40;const radius=Controls?.radius??80;const color=Controls?.color??\"#ffffff\";const bg=Controls?.bg??\"rgba(0,0,0,0.5)\";const inset=Controls?.insetPerSide?`${Controls?.insetTop??8}px ${Controls?.insetRight??8}px ${Controls?.insetBottom??8}px ${Controls?.insetLeft??8}px`:`${Controls?.inset??8}px`;const buttonStyle={width:containerSize,height:containerSize,borderRadius:radius,backgroundColor:bg,display:\"flex\",alignItems:\"center\",justifyContent:\"center\",cursor:hideNativeCursor?\"none\":anywhereMode?undefined:\"pointer\",border:\"none\",padding:0,flexShrink:0};const positions={};const addBtn=(pos,node)=>{if(!positions[pos])positions[pos]=[];positions[pos].push(node);};if(showControls&&Controls?.playPause!==\"Off\"&&!customCursorMode){addBtn(Controls?.playPausePosition??\"Bottom Left\",/*#__PURE__*/_jsx(VariantActiveVideoRoundControl,{focusRadiusPx:typeof radius===\"number\"?radius:0,style:buttonStyle,onActivate:anywhereMode?undefined:handleVideoPlayPause,children:isPlaying?/*#__PURE__*/_jsxs(\"svg\",{\"aria-hidden\":\"true\",focusable:false,width:iconSize,height:iconSize,viewBox:\"0 0 24 24\",fill:color,children:[/*#__PURE__*/_jsx(\"rect\",{x:\"6\",y:\"4\",width:\"4\",height:\"16\"}),/*#__PURE__*/_jsx(\"rect\",{x:\"14\",y:\"4\",width:\"4\",height:\"16\"})]}):/*#__PURE__*/_jsx(\"svg\",{\"aria-hidden\":\"true\",focusable:false,width:iconSize,height:iconSize,viewBox:\"0 0 24 24\",fill:color,children:/*#__PURE__*/_jsx(\"polygon\",{points:\"5,3 19,12 5,21\"})})},\"pp\"));}if(showControls&&Controls?.mute===\"On\"){addBtn(Controls?.mutePosition??\"Bottom Right\",/*#__PURE__*/_jsx(VariantActiveVideoRoundControl,{focusRadiusPx:typeof radius===\"number\"?radius:0,style:buttonStyle,onActivate:handleMuteToggle,children:isMuted?/*#__PURE__*/_jsxs(\"svg\",{\"aria-hidden\":\"true\",focusable:false,width:iconSize,height:iconSize,viewBox:\"0 0 24 24\",fill:\"none\",stroke:color,strokeWidth:\"2\",strokeLinecap:\"round\",strokeLinejoin:\"round\",children:[/*#__PURE__*/_jsx(\"polygon\",{points:\"11,5 6,9 2,9 2,15 6,15 11,19\",fill:color}),/*#__PURE__*/_jsx(\"line\",{x1:\"23\",y1:\"9\",x2:\"17\",y2:\"15\"}),/*#__PURE__*/_jsx(\"line\",{x1:\"17\",y1:\"9\",x2:\"23\",y2:\"15\"})]}):/*#__PURE__*/_jsxs(\"svg\",{\"aria-hidden\":\"true\",focusable:false,width:iconSize,height:iconSize,viewBox:\"0 0 24 24\",fill:\"none\",stroke:color,strokeWidth:\"2\",strokeLinecap:\"round\",strokeLinejoin:\"round\",children:[/*#__PURE__*/_jsx(\"polygon\",{points:\"11,5 6,9 2,9 2,15 6,15 11,19\",fill:color}),/*#__PURE__*/_jsx(\"path\",{d:\"M19.07 4.93a10 10 0 0 1 0 14.14\"}),/*#__PURE__*/_jsx(\"path\",{d:\"M15.54 8.46a5 5 0 0 1 0 7.07\"})]})},\"mu\"));}if(showControls&&Controls?.fullscreen===\"On\"){addBtn(Controls?.fullscreenPosition??\"Bottom Right\",/*#__PURE__*/_jsx(VariantActiveVideoRoundControl,{focusRadiusPx:typeof radius===\"number\"?radius:0,style:buttonStyle,onActivate:handleFullscreen,children:/*#__PURE__*/_jsxs(\"svg\",{\"aria-hidden\":\"true\",focusable:false,width:iconSize,height:iconSize,viewBox:\"0 0 24 24\",fill:\"none\",stroke:color,strokeWidth:\"2\",strokeLinecap:\"round\",strokeLinejoin:\"round\",children:[/*#__PURE__*/_jsx(\"polyline\",{points:\"15 3 21 3 21 9\"}),/*#__PURE__*/_jsx(\"polyline\",{points:\"9 21 3 21 3 15\"}),/*#__PURE__*/_jsx(\"line\",{x1:\"21\",y1:\"3\",x2:\"14\",y2:\"10\"}),/*#__PURE__*/_jsx(\"line\",{x1:\"3\",y1:\"21\",x2:\"10\",y2:\"14\"})]})},\"fs\"));}return /*#__PURE__*/_jsxs(\"div\",{style:{position:\"absolute\",left:videoSurfaceBounds?.left??0,top:videoSurfaceBounds?.top??0,width:videoSurfaceBounds?.width??\"100%\",height:videoSurfaceBounds?.height??\"100%\",pointerEvents:\"none\",zIndex:2},children:[anywhereMode&&/*#__PURE__*/_jsx(VariantActiveVideoAnywhereOverlay,{onActivate:handleVideoPlayPause,focusRadiusPx:shellFocusRadiusPx,cursor:hideNativeCursor?\"none\":\"pointer\"}),Object.entries(positions).map(([pos,btns])=>{const posStyle=getPositionStyle(pos,inset);return /*#__PURE__*/_jsx(\"div\",{style:{position:\"absolute\",...posStyle,zIndex:3,display:\"flex\",gap,pointerEvents:\"auto\"},children:btns},pos);})]});})()]}):/*#__PURE__*/_jsx(\"img\",{...mediaSurfaceProps,src:shopifyImageUrl(currentMedia.src),alt:resolveDisplayedAlt(currentMedia.alt),style:mediaStyle,loading:\"lazy\",decoding:\"async\"}):null})]}),hasNoMedia&&isCanvas&&/*#__PURE__*/_jsx(\"div\",{style:{position:\"absolute\",inset:0,display:\"flex\",alignItems:\"center\",justifyContent:\"center\",pointerEvents:\"none\"},children:/*#__PURE__*/_jsxs(\"svg\",{\"aria-hidden\":\"true\",focusable:false,viewBox:\"0 0 24 24\",fill:\"none\",stroke:\"#9e9e9e\",strokeWidth:\"2\",strokeLinecap:\"round\",strokeLinejoin:\"round\",style:{width:\"clamp(16px, 40%, 64px)\",height:\"clamp(16px, 40%, 64px)\"},children:[/*#__PURE__*/_jsx(\"rect\",{x:\"3\",y:\"3\",width:\"18\",height:\"18\",rx:\"2\",ry:\"2\"}),/*#__PURE__*/_jsx(\"circle\",{cx:\"8.5\",cy:\"8.5\",r:\"1.5\"}),/*#__PURE__*/_jsx(\"polyline\",{points:\"21 15 16 10 5 21\"})]})})]});}// ============================================================================\n// PROPERTY CONTROLS\n// ============================================================================\nconst controls={fcData:{type:ControlType.String,title:\"FC Data\",description:\"Connect to FC Data from CMS (required)\"},filterVariants:{type:ControlType.Enum,title:\"Visibility\",options:[\"Always\",\"If Active Variant\"],optionTitles:[\"Always\",\"Active\"],defaultValue:\"Always\",displaySegmentedControl:true,description:\"*Active:* Show the variant's bound image (MEDIA_XX) plus any other images whose alt text matches the selected options (Any/All). Must match Static / Slideshow.\"},filterMatch:{type:ControlType.Enum,title:\"↳ Match\",options:[\"Any\",\"All\"],defaultValue:\"Any\",displaySegmentedControl:true,description:\"*Any* = show if any option matches. *All* = show only if all match.\",hidden:props=>props.filterVariants===\"Always\"},Style:{type:ControlType.Object,title:\"Style\",controls:{type:{type:ControlType.Enum,title:\"Image\",options:[\"Fill\",\"Fit\"],defaultValue:\"Fill\",displaySegmentedControl:true},backgroundColor:{type:ControlType.Color,title:\"BG\",defaultValue:\"#FFFFFF00\"},borderRadius:{type:ControlType.FusedNumber,title:\"Radius\",defaultValue:0,toggleKey:\"radiusPerCorner\",toggleTitles:[\"All\",\"Corners\"],valueKeys:[\"radiusTopLeft\",\"radiusTopRight\",\"radiusBottomRight\",\"radiusBottomLeft\"],valueLabels:[\"TL\",\"TR\",\"BR\",\"BL\"],min:0,max:100,unit:\"px\"},padding:{type:ControlType.FusedNumber,title:\"Padding\",defaultValue:0,toggleKey:\"paddingPerSide\",toggleTitles:[\"All\",\"Sides\"],valueKeys:[\"paddingTop\",\"paddingRight\",\"paddingBottom\",\"paddingLeft\"],valueLabels:[\"T\",\"R\",\"B\",\"L\"],min:0},customCursor:{type:ControlType.Enum,title:\"Cursor\",options:[\"No\",\"Yes\"],optionTitles:[\"Default\",\"Custom\"],defaultValue:\"No\",displaySegmentedControl:true}}}};// True for the swap mode, accepting the legacy \"Swap Image\" value on old instances.\nconst isSwapHover=hoverMode=>hoverMode===\"Swap Media\"||hoverMode===\"Swap Image\";// Hover / Click (top-level groups — previously nested under Interactions)\ncontrols.Hover={type:ControlType.Object,title:\"Hover\",controls:{hoverMode:{type:ControlType.Enum,title:\"Hover\",options:[\"None\",\"Style\",\"Swap Media\"],defaultValue:\"None\",displaySegmentedControl:true,segmentedControlDirection:\"vertical\"},// --- Swap Media: which media is eligible for the hover swap ---\nfilterVariants:{type:ControlType.Enum,title:\"Media\",options:[\"Always\",\"If Active Variant\"],optionTitles:[\"Next item in list\",\"Next variant match\"],defaultValue:\"Always\",displaySegmentedControl:true,segmentedControlDirection:\"vertical\",description:\"*Next item in list:* swap to the next media in the gallery. *Next variant match:* swap only to media matching the selected variant.\",hidden:props=>!isSwapHover(props.hoverMode)},filterMatch:{type:ControlType.Enum,title:\"Match Rule\",options:[\"Any\",\"All\"],defaultValue:\"Any\",displaySegmentedControl:true,description:\"*Any* = match if any option matches. *All* = match only if all options match.\",hidden:props=>!isSwapHover(props.hoverMode)||props.filterVariants===\"Always\"},swapType:{type:ControlType.Enum,title:\"Type\",options:[\"Any\",\"Image\",\"Video\"],defaultValue:\"Any\",displaySegmentedControl:true,segmentedControlDirection:\"vertical\",description:\"Limit the swap to a single media type. *Any* uses both images and videos.\",hidden:props=>!isSwapHover(props.hoverMode)},// --- Style mode props ---\nhoverScale:{type:ControlType.Number,title:\"Scale\",defaultValue:1,min:.1,max:5,step:.01,displayStepper:true,hidden:props=>props.hoverMode!==\"Style\"},hoverOpacity:{type:ControlType.Number,title:\"Opacity\",defaultValue:1,min:0,max:1,step:.01,displayStepper:true,hidden:props=>props.hoverMode!==\"Style\"},followCursor:{type:ControlType.Enum,title:\"Follow\",options:[\"Yes\",\"No\"],defaultValue:\"No\",displaySegmentedControl:true,description:\"Zoom will follow cursor while hovering\",hidden:props=>props.hoverMode!==\"Style\"||(props.hoverScale??1)<=1},// --- Swap Media mode props ---\nswapAnimation:{type:ControlType.Enum,title:\"Animation\",options:[\"Instant\",\"Cross Fade\",\"Push\"],defaultValue:\"Instant\",displaySegmentedControl:true,segmentedControlDirection:\"vertical\",description:\"On hover, swap to the next media (image or video) in the list\",hidden:props=>!isSwapHover(props.hoverMode)},pushDirection:{type:ControlType.Enum,title:\"Direction\",options:[\"←\",\"→\",\"↑\",\"↓\"],defaultValue:\"→\",displaySegmentedControl:true,hidden:props=>!isSwapHover(props.hoverMode)||props.swapAnimation!==\"Push\"},// --- Shared (hidden when hover is off) ---\ntransition:{type:ControlType.Transition,title:\"Transition\",hidden:props=>props.hoverMode===\"None\"}}};controls.Click={type:ControlType.Object,title:\"Click\",hidden:props=>isSwapHover(props.Hover?.hoverMode),controls:{zoomScale:{type:ControlType.Number,title:\"Scale\",defaultValue:1,min:1,max:5,step:.1,displayStepper:true},followCursor:{type:ControlType.Enum,title:\"Follow\",options:[\"Yes\",\"No\"],defaultValue:\"Yes\",displaySegmentedControl:true,description:\"Have the zoom follow the cursor while clicked\",hidden:props=>(props.zoomScale??1)<=1},customCursor:{type:ControlType.Enum,title:\"Cursor\",options:[\"No\",\"Yes\"],optionTitles:[\"Default\",\"Custom\"],defaultValue:\"No\",displaySegmentedControl:true,hidden:props=>(props.zoomScale??1)<=1}}};controls.cursorHover={type:ControlType.ComponentInstance,title:\"Cursor\",hidden:props=>(props.Style?.customCursor??props.Hover?.customCursor)!==\"Yes\"};controls.cursorZoomIn={type:ControlType.ComponentInstance,title:\"Cursor: Zoom\",hidden:props=>isSwapHover(props.Hover?.hoverMode)||(props.Click?.zoomScale??1)<=1||props.Click?.customCursor!==\"Yes\"};controls.cursorVideoPlay={type:ControlType.ComponentInstance,title:\"Cursor: Play\",hidden:props=>(props.Video?.Controls?.playPause??\"On\")!==\"On\"||props.Video?.Controls?.playPauseMode!==\"Custom Cursor\"};controls.cursorVideoPause={type:ControlType.ComponentInstance,title:\"Cursor: Pause\",hidden:props=>(props.Video?.Controls?.playPause??\"On\")!==\"On\"||props.Video?.Controls?.playPauseMode!==\"Custom Cursor\"};controls.mediaSource={type:ControlType.Enum,title:\"Source\",options:[\"Shopify\",\"Framer CMS\"],optionTitles:[\"Shopify\",\"CMS\"],defaultValue:\"Shopify\",displaySegmentedControl:true};controls.triggerImageTap={type:ControlType.EventHandler,title:\"Tap\"};controls.triggerImageOverlay={type:ControlType.EventHandler,title:\"Media Click\"};controls.triggerMediaBackgroundClick={type:ControlType.EventHandler,title:\"Background Click\"};// When source is \"Shopify\", media URLs come from FC Data — hide all per-slot\n// image/video props (and their mode/amount selectors) since they're not used.\nconst isShopifySource=props=>props.mediaSource===\"Shopify\";// Images mode (right above Image #)\ncontrols.images={type:ControlType.Enum,title:\"Images\",options:[\"Auto\",\"Set\"],defaultValue:\"Auto\",displaySegmentedControl:true,hidden:isShopifySource};// Image amount (shown when images mode is \"Set\")\ncontrols.amount={type:ControlType.Number,title:\"# Images\",defaultValue:8,min:1,max:250,step:1,displayStepper:true,hidden:props=>isShopifySource(props)||props.images!==\"Set\"};// Generate image property controls\nfor(let i=1;i<=250;i++){const shouldShow=props=>{if(props.images===\"Set\"){return i<=(props.amount||8);}else{return i===1||props[`image${i-1}`];}};controls[`image${i}`]={type:ControlType.Image,title:` ↳ Image ${i}`,hidden:props=>isShopifySource(props)||!shouldShow(props)};}// Videos mode (right above Video #)\ncontrols.videos={type:ControlType.Enum,title:\"Videos\",options:[\"Auto\",\"Set\"],defaultValue:\"Auto\",displaySegmentedControl:true,hidden:isShopifySource};// Video amount (shown when videos mode is \"Set\")\ncontrols.videoAmount={type:ControlType.Number,title:\"# Videos\",defaultValue:0,min:0,max:250,step:1,displayStepper:true,hidden:props=>isShopifySource(props)||props.videos!==\"Set\"};// Generate video property controls\nfor(let i=1;i<=250;i++){const shouldShowVideo=props=>{if(props.videos===\"Set\"){return i<=(props.videoAmount||0);}else{return i===1||props[`video${i-1}`];}};controls[`video${i}`]={type:ControlType.File,title:` ↳ Video ${i}`,allowedFileTypes:[\"mp4\",\"webm\",\"mov\",\"ogg\"],hidden:props=>isShopifySource(props)||!shouldShowVideo(props)};}// Video playback settings — always shown (matches Slideshow / Static panel UX)\ncontrols.Video={type:ControlType.Object,title:\"Video\",controls:{autoPlay:{type:ControlType.Boolean,title:\"Auto-play\",defaultValue:true,enabledTitle:\"Yes\",disabledTitle:\"No\"},loop:{type:ControlType.Boolean,title:\"Loop\",defaultValue:true,enabledTitle:\"Yes\",disabledTitle:\"No\"},muted:{type:ControlType.Boolean,title:\"Muted\",defaultValue:true,enabledTitle:\"Yes\",disabledTitle:\"No\"},Controls:{type:ControlType.Object,title:\"Controls\",controls:{visibility:{type:ControlType.Enum,title:\"Controls\",options:[\"Always\",\"On Hover\",\"None\"],defaultValue:\"Always\",displaySegmentedControl:true,segmentedControlDirection:\"vertical\"},playPause:{type:ControlType.Enum,title:\"Play/Pause\",options:[\"On\",\"Off\"],defaultValue:\"On\",displaySegmentedControl:true},playPauseMode:{type:ControlType.Enum,title:\" ↳ Play/Pause\",options:[\"Anywhere\",\"Button only\",\"Custom Cursor\"],defaultValue:\"Button only\",displaySegmentedControl:true,segmentedControlDirection:\"vertical\",hidden:props=>props.playPause!==\"On\"},playPausePosition:{type:ControlType.Enum,title:\" ↳ Position\",options:positionOptions,defaultValue:\"Bottom Left\",hidden:props=>props.playPause!==\"On\"||props.playPauseMode===\"Custom Cursor\"},mute:{type:ControlType.Enum,title:\"Mute\",options:[\"On\",\"Off\"],defaultValue:\"Off\",displaySegmentedControl:true},mutePosition:{type:ControlType.Enum,title:\" ↳ Position\",options:positionOptions,defaultValue:\"Bottom Right\",hidden:props=>props.mute!==\"On\"},fullscreen:{type:ControlType.Enum,title:\"Full-screen\",options:[\"On\",\"Off\"],defaultValue:\"Off\",displaySegmentedControl:true},fullscreenPosition:{type:ControlType.Enum,title:\" ↳ Position\",options:positionOptions,defaultValue:\"Bottom Right\",hidden:props=>props.fullscreen!==\"On\"},gap:{type:ControlType.Number,title:\"Gap\",defaultValue:8,min:0,max:40,step:1,displayStepper:true},iconSize:{type:ControlType.Number,title:\"Icon\",defaultValue:16,min:4,max:64,step:1,displayStepper:true},containerSize:{type:ControlType.Number,title:\"Container\",defaultValue:40,min:16,max:120,step:1,displayStepper:true},radius:{type:ControlType.Number,title:\"Radius\",defaultValue:80,min:0,max:200,step:1,displayStepper:true},inset:{type:ControlType.FusedNumber,title:\"Inset\",defaultValue:8,toggleKey:\"insetPerSide\",toggleTitles:[\"All\",\"Per Side\"],valueKeys:[\"insetTop\",\"insetRight\",\"insetBottom\",\"insetLeft\"],valueLabels:[\"T\",\"R\",\"B\",\"L\"],min:0},color:{type:ControlType.Color,title:\"Color\",defaultValue:\"#ffffff\"},bg:{type:ControlType.Color,title:\"BG\",defaultValue:\"rgba(0,0,0,0.5)\"}}},Poster:{type:ControlType.Object,title:\"Poster\",hidden:props=>props.autoPlay!==false,controls:{posterStyle:{type:ControlType.Enum,title:\"Style\",options:[\"Inherit\",\"Custom\"],defaultValue:\"Inherit\",displaySegmentedControl:true,description:\"Inherit uses the Controls style. Custom lets you configure this button independently.\"},position:{type:ControlType.Enum,title:\"Position\",options:positionOptions,defaultValue:\"Center\",hidden:props=>(props.posterStyle??\"Inherit\")!==\"Custom\"},iconSize:{type:ControlType.Number,title:\"Icon\",defaultValue:16,min:4,max:64,step:1,displayStepper:true,hidden:props=>(props.posterStyle??\"Inherit\")!==\"Custom\"},containerSize:{type:ControlType.Number,title:\"Container\",defaultValue:40,min:16,max:120,step:1,displayStepper:true,hidden:props=>(props.posterStyle??\"Inherit\")!==\"Custom\"},radius:{type:ControlType.Number,title:\"Radius\",defaultValue:80,min:0,max:200,step:1,displayStepper:true,hidden:props=>(props.posterStyle??\"Inherit\")!==\"Custom\"},inset:{type:ControlType.FusedNumber,title:\"Inset\",defaultValue:8,toggleKey:\"insetPerSide\",toggleTitles:[\"All\",\"Per Side\"],valueKeys:[\"insetTop\",\"insetRight\",\"insetBottom\",\"insetLeft\"],valueLabels:[\"T\",\"R\",\"B\",\"L\"],min:0,hidden:props=>(props.posterStyle??\"Inherit\")!==\"Custom\"},color:{type:ControlType.Color,title:\"Color\",defaultValue:\"#ffffff\",hidden:props=>(props.posterStyle??\"Inherit\")!==\"Custom\"},bg:{type:ControlType.Color,title:\"BG\",defaultValue:\"rgba(0,0,0,0.5)\",hidden:props=>(props.posterStyle??\"Inherit\")!==\"Custom\"}}}}};addPropertyControls(Butter_ProductMediaVariantActive,controls);// ============================================================================\n// DEFAULT PROPS\n// ============================================================================\nconst defaultProps={fcData:\"\",filterVariants:\"Always\",filterMatch:\"Any\",triggerImageTap:()=>{},mediaSource:\"Framer CMS\",images:\"Auto\",amount:8,videos:\"Auto\",videoAmount:0,Video:{autoPlay:true,loop:true,muted:true,Controls:{visibility:\"Always\",playPause:\"On\",playPauseMode:\"Button only\",playPausePosition:\"Bottom Left\",mute:\"Off\",mutePosition:\"Bottom Right\",fullscreen:\"Off\",fullscreenPosition:\"Bottom Right\",gap:8,iconSize:16,containerSize:40,radius:80,inset:8,insetPerSide:false,insetTop:8,insetRight:8,insetBottom:8,insetLeft:8,color:\"#ffffff\",bg:\"rgba(0,0,0,0.5)\"},Poster:{posterStyle:\"Inherit\",position:\"Center\",iconSize:16,containerSize:40,radius:80,inset:8,insetPerSide:false,insetTop:8,insetRight:8,insetBottom:8,insetLeft:8,color:\"#ffffff\",bg:\"rgba(0,0,0,0.5)\"}},Hover:{hoverMode:\"None\",hoverScale:1,hoverOpacity:1,followCursor:\"No\",swapAnimation:\"Instant\",pushDirection:\"→\",filterVariants:\"Always\",filterMatch:\"Any\",swapType:\"Any\"},Click:{zoomScale:1,followCursor:\"Yes\",customCursor:\"No\"},Style:{type:\"Fill\",backgroundColor:\"#f5f5f5\",borderRadius:0,padding:0,customCursor:\"No\"}};for(let i=1;i<=250;i++){defaultProps[`image${i}`]=\"\";}for(let i=1;i<=250;i++){defaultProps[`video${i}`]=\"\";}Butter_ProductMediaVariantActive.defaultProps=defaultProps;\nexport const __FramerMetadata__ = {\"exports\":{\"default\":{\"type\":\"reactComponent\",\"name\":\"Butter_ProductMediaVariantActive\",\"slots\":[],\"annotations\":{\"framerContractVersion\":\"1\",\"framerDisableUnlink\":\"\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}","function devAssert(e,o){const r=Boolean(e);if(!r)throw new Error(o)}export{devAssert as d};\n\n//# sourceMappingURL=7892746f.js.map","const t=10;const n=2;function inspect(t){return formatValue(t,[])}function formatValue(t,n){switch(typeof t){case\"string\":return JSON.stringify(t);case\"function\":return t.name?`[function ${t.name}]`:\"[function]\";case\"object\":return formatObjectValue(t,n);default:return String(t)}}function formatObjectValue(t,n){if(null===t)return\"null\";if(n.includes(t))return\"[Circular]\";const r=[...n,t];if(isJSONable(t)){const n=t.toJSON();if(n!==t)return\"string\"===typeof n?n:formatValue(n,r)}else if(Array.isArray(t))return formatArray(t,r);return formatObject(t,r)}function isJSONable(t){return\"function\"===typeof t.toJSON}function formatObject(t,r){const e=Object.entries(t);if(0===e.length)return\"{}\";if(r.length>n)return\"[\"+getObjectTag(t)+\"]\";const o=e.map((([t,n])=>t+\": \"+formatValue(n,r)));return\"{ \"+o.join(\", \")+\" }\"}function formatArray(r,e){if(0===r.length)return\"[]\";if(e.length>n)return\"[Array]\";const o=Math.min(t,r.length);const c=r.length-o;const u=[];for(let t=0;t<o;++t)u.push(formatValue(r[t],e));1===c?u.push(\"... 1 more item\"):c>1&&u.push(`... ${c} more items`);return\"[\"+u.join(\", \")+\"]\"}function getObjectTag(t){const n=Object.prototype.toString.call(t).replace(/^\\[object /,\"\").replace(/]$/,\"\");if(\"Object\"===n&&\"function\"===typeof t.constructor){const n=t.constructor.name;if(\"string\"===typeof n&&\"\"!==n)return n}return n}export{inspect};\n\n//# sourceMappingURL=inspect.mjs.map","function isObjectLike(t){return\"object\"==typeof t&&null!==t}function invariant(t,n){const o=Boolean(t);if(!o)throw new Error(null!=n?n:\"Unexpected invariant triggered.\")}const t=/\\r\\n|[\\n\\r]/g;function getLocation(n,o){let e=0;let r=1;for(const i of n.body.matchAll(t)){\"number\"===typeof i.index||invariant(false);if(i.index>=o)break;e=i.index+i[0].length;r+=1}return{line:r,column:o+1-e}}function printLocation(t){return printSourceLocation(t.source,getLocation(t.source,t.start))}function printSourceLocation(t,n){const o=t.locationOffset.column-1;const e=\"\".padStart(o)+t.body;const r=n.line-1;const i=t.locationOffset.line-1;const s=n.line+i;const a=1===n.line?o:0;const l=n.column+a;const c=`${t.name}:${s}:${l}\\n`;const u=e.split(/\\r\\n|[\\n\\r]/g);const d=u[r];if(d.length>120){const t=Math.floor(l/80);const n=l%80;const o=[];for(let t=0;t<d.length;t+=80)o.push(d.slice(t,t+80));return c+printPrefixedLines([[`${s} |`,o[0]],...o.slice(1,t+1).map((t=>[\"|\",t])),[\"|\",\"^\".padStart(n)],[\"|\",o[t+1]]])}return c+printPrefixedLines([[s-1+\" |\",u[r-1]],[`${s} |`,d],[\"|\",\"^\".padStart(l)],[`${s+1} |`,u[r+1]]])}function printPrefixedLines(t){const n=t.filter((([t,n])=>void 0!==n));const o=Math.max(...n.map((([t])=>t.length)));return n.map((([t,n])=>t.padStart(o)+(n?\" \"+n:\"\"))).join(\"\\n\")}function toNormalizedOptions(t){const n=t[0];return null==n||\"kind\"in n||\"length\"in n?{nodes:n,source:t[1],positions:t[2],path:t[3],originalError:t[4],extensions:t[5]}:n}class GraphQLError extends Error{\n/**\n   * @deprecated Please use the `GraphQLErrorOptions` constructor overload instead.\n   */\nconstructor(t,...n){var o,e,r;const{nodes:i,source:s,positions:a,path:l,originalError:c,extensions:u}=toNormalizedOptions(n);super(t);this.name=\"GraphQLError\";this.path=null!==l&&void 0!==l?l:void 0;this.originalError=null!==c&&void 0!==c?c:void 0;this.nodes=undefinedIfEmpty(Array.isArray(i)?i:i?[i]:void 0);const d=undefinedIfEmpty(null===(o=this.nodes)||void 0===o?void 0:o.map((t=>t.loc)).filter((t=>null!=t)));this.source=null!==s&&void 0!==s?s:null===d||void 0===d||null===(e=d[0])||void 0===e?void 0:e.source;this.positions=null!==a&&void 0!==a?a:null===d||void 0===d?void 0:d.map((t=>t.start));this.locations=a&&s?a.map((t=>getLocation(s,t))):null===d||void 0===d?void 0:d.map((t=>getLocation(t.source,t.start)));const p=isObjectLike(null===c||void 0===c?void 0:c.extensions)?null===c||void 0===c?void 0:c.extensions:void 0;this.extensions=null!==(r=null!==u&&void 0!==u?u:p)&&void 0!==r?r:Object.create(null);Object.defineProperties(this,{message:{writable:true,enumerable:true},name:{enumerable:false},nodes:{enumerable:false},source:{enumerable:false},positions:{enumerable:false},originalError:{enumerable:false}});null!==c&&void 0!==c&&c.stack?Object.defineProperty(this,\"stack\",{value:c.stack,writable:true,configurable:true}):Error.captureStackTrace?Error.captureStackTrace(this,GraphQLError):Object.defineProperty(this,\"stack\",{value:Error().stack,writable:true,configurable:true})}get[Symbol.toStringTag](){return\"GraphQLError\"}toString(){let t=this.message;if(this.nodes)for(const n of this.nodes)n.loc&&(t+=\"\\n\\n\"+printLocation(n.loc));else if(this.source&&this.locations)for(const n of this.locations)t+=\"\\n\\n\"+printSourceLocation(this.source,n);return t}toJSON(){const t={message:this.message};null!=this.locations&&(t.locations=this.locations);null!=this.path&&(t.path=this.path);null!=this.extensions&&Object.keys(this.extensions).length>0&&(t.extensions=this.extensions);return t}}function undefinedIfEmpty(t){return void 0===t||0===t.length?void 0:t}\n/**\n * Prints a GraphQLError to a string, representing useful location information\n * about the error's position in the source.\n *\n * @deprecated Please use `error.toString` instead. Will be removed in v17\n */function printError(t){return t.toString()}\n/**\n * Given a GraphQLError, format it according to the rules described by the\n * Response Format, Errors section of the GraphQL Specification.\n *\n * @deprecated Please use `error.toJSON` instead. Will be removed in v17\n */function formatError(t){return t.toJSON()}export{GraphQLError as G,printSourceLocation as a,printError as b,isObjectLike as c,formatError as f,getLocation as g,invariant as i,printLocation as p};\n\n//# sourceMappingURL=7dea71b4.js.map","function isIterableObject(t){return\"object\"===typeof t&&\"function\"===typeof(null===t||void 0===t?void 0:t[Symbol.iterator])}export{isIterableObject as i};\n\n//# sourceMappingURL=cdbc8e30.js.map","class Location{constructor(e,i,t){this.start=e.start;this.end=i.end;this.startToken=e;this.endToken=i;this.source=t}get[Symbol.toStringTag](){return\"Location\"}toJSON(){return{start:this.start,end:this.end}}}class Token{constructor(e,i,t,n,s,a){this.kind=e;this.start=i;this.end=t;this.line=n;this.column=s;this.value=a;this.prev=null;this.next=null}get[Symbol.toStringTag](){return\"Token\"}toJSON(){return{kind:this.kind,value:this.value,line:this.line,column:this.column}}}const e={Name:[],Document:[\"definitions\"],OperationDefinition:[\"name\",\"variableDefinitions\",\"directives\",\"selectionSet\"],VariableDefinition:[\"variable\",\"type\",\"defaultValue\",\"directives\"],Variable:[\"name\"],SelectionSet:[\"selections\"],Field:[\"alias\",\"name\",\"arguments\",\"directives\",\"selectionSet\"],Argument:[\"name\",\"value\"],FragmentSpread:[\"name\",\"directives\"],InlineFragment:[\"typeCondition\",\"directives\",\"selectionSet\"],FragmentDefinition:[\"name\",\"variableDefinitions\",\"typeCondition\",\"directives\",\"selectionSet\"],IntValue:[],FloatValue:[],StringValue:[],BooleanValue:[],NullValue:[],EnumValue:[],ListValue:[\"values\"],ObjectValue:[\"fields\"],ObjectField:[\"name\",\"value\"],Directive:[\"name\",\"arguments\"],NamedType:[\"name\"],ListType:[\"type\"],NonNullType:[\"type\"],SchemaDefinition:[\"description\",\"directives\",\"operationTypes\"],OperationTypeDefinition:[\"type\"],ScalarTypeDefinition:[\"description\",\"name\",\"directives\"],ObjectTypeDefinition:[\"description\",\"name\",\"interfaces\",\"directives\",\"fields\"],FieldDefinition:[\"description\",\"name\",\"arguments\",\"type\",\"directives\"],InputValueDefinition:[\"description\",\"name\",\"type\",\"defaultValue\",\"directives\"],InterfaceTypeDefinition:[\"description\",\"name\",\"interfaces\",\"directives\",\"fields\"],UnionTypeDefinition:[\"description\",\"name\",\"directives\",\"types\"],EnumTypeDefinition:[\"description\",\"name\",\"directives\",\"values\"],EnumValueDefinition:[\"description\",\"name\",\"directives\"],InputObjectTypeDefinition:[\"description\",\"name\",\"directives\",\"fields\"],DirectiveDefinition:[\"description\",\"name\",\"arguments\",\"locations\"],SchemaExtension:[\"directives\",\"operationTypes\"],ScalarTypeExtension:[\"name\",\"directives\"],ObjectTypeExtension:[\"name\",\"interfaces\",\"directives\",\"fields\"],InterfaceTypeExtension:[\"name\",\"interfaces\",\"directives\",\"fields\"],UnionTypeExtension:[\"name\",\"directives\",\"types\"],EnumTypeExtension:[\"name\",\"directives\",\"values\"],InputObjectTypeExtension:[\"name\",\"directives\",\"fields\"]};const i=new Set(Object.keys(e));function isNode(e){const t=null===e||void 0===e?void 0:e.kind;return\"string\"===typeof t&&i.has(t)}var t;(function(e){e.QUERY=\"query\";e.MUTATION=\"mutation\";e.SUBSCRIPTION=\"subscription\"})(t||(t={}));export{Location as L,t as O,e as Q,Token as T,isNode as i};\n\n//# sourceMappingURL=be682a22.js.map","var E;(function(E){E.NAME=\"Name\";E.DOCUMENT=\"Document\";E.OPERATION_DEFINITION=\"OperationDefinition\";E.VARIABLE_DEFINITION=\"VariableDefinition\";E.SELECTION_SET=\"SelectionSet\";E.FIELD=\"Field\";E.ARGUMENT=\"Argument\";E.FRAGMENT_SPREAD=\"FragmentSpread\";E.INLINE_FRAGMENT=\"InlineFragment\";E.FRAGMENT_DEFINITION=\"FragmentDefinition\";E.VARIABLE=\"Variable\";E.INT=\"IntValue\";E.FLOAT=\"FloatValue\";E.STRING=\"StringValue\";E.BOOLEAN=\"BooleanValue\";E.NULL=\"NullValue\";E.ENUM=\"EnumValue\";E.LIST=\"ListValue\";E.OBJECT=\"ObjectValue\";E.OBJECT_FIELD=\"ObjectField\";E.DIRECTIVE=\"Directive\";E.NAMED_TYPE=\"NamedType\";E.LIST_TYPE=\"ListType\";E.NON_NULL_TYPE=\"NonNullType\";E.SCHEMA_DEFINITION=\"SchemaDefinition\";E.OPERATION_TYPE_DEFINITION=\"OperationTypeDefinition\";E.SCALAR_TYPE_DEFINITION=\"ScalarTypeDefinition\";E.OBJECT_TYPE_DEFINITION=\"ObjectTypeDefinition\";E.FIELD_DEFINITION=\"FieldDefinition\";E.INPUT_VALUE_DEFINITION=\"InputValueDefinition\";E.INTERFACE_TYPE_DEFINITION=\"InterfaceTypeDefinition\";E.UNION_TYPE_DEFINITION=\"UnionTypeDefinition\";E.ENUM_TYPE_DEFINITION=\"EnumTypeDefinition\";E.ENUM_VALUE_DEFINITION=\"EnumValueDefinition\";E.INPUT_OBJECT_TYPE_DEFINITION=\"InputObjectTypeDefinition\";E.DIRECTIVE_DEFINITION=\"DirectiveDefinition\";E.SCHEMA_EXTENSION=\"SchemaExtension\";E.SCALAR_TYPE_EXTENSION=\"ScalarTypeExtension\";E.OBJECT_TYPE_EXTENSION=\"ObjectTypeExtension\";E.INTERFACE_TYPE_EXTENSION=\"InterfaceTypeExtension\";E.UNION_TYPE_EXTENSION=\"UnionTypeExtension\";E.ENUM_TYPE_EXTENSION=\"EnumTypeExtension\";E.INPUT_OBJECT_TYPE_EXTENSION=\"InputObjectTypeExtension\"})(E||(E={}));\n/**\n * The enum type representing the possible kind values of AST nodes.\n *\n * @deprecated Please use `Kind`. Will be remove in v17.\n */export{E as Kind};\n\n//# sourceMappingURL=kinds.mjs.map","import{inspect as n}from\"../jsutils/inspect.mjs\";const e=globalThis.process&&\"production\"===globalThis.process.env.NODE_ENV?function instanceOf(n,e){return n instanceof e}:function instanceOf(e,o){if(e instanceof o)return true;if(\"object\"===typeof e&&null!==e){var t;const r=o.prototype[Symbol.toStringTag];const s=Symbol.toStringTag in e?e[Symbol.toStringTag]:null===(t=e.constructor)||void 0===t?void 0:t.name;if(r===s){const o=n(e);throw new Error(`Cannot use ${r} \"${o}\" from another module or realm.\\n\\nEnsure that there is only one instance of \"graphql\" in the node_modules\\ndirectory. If different versions of \"graphql\" are the dependencies of other\\nrelied on modules, use \"resolutions\" to ensure only one version is installed.\\n\\nhttps://yarnpkg.com/en/docs/selective-version-resolutions\\n\\nDuplicate \"graphql\" modules cannot be used at the same time since different\\nversions may have different capabilities and behavior. The data from one\\nversion used in the function from another could produce confusing and\\nspurious results.`)}}return false};export{e as i};\n\n//# sourceMappingURL=c83a270e.js.map","import{Kind as e}from\"../language/kinds.mjs\";function keyValMap(e,a,n){const r=Object.create(null);for(const u of e)r[a(u)]=n(u);return r}function valueFromASTUntyped(a,n){switch(a.kind){case e.NULL:return null;case e.INT:return parseInt(a.value,10);case e.FLOAT:return parseFloat(a.value);case e.STRING:case e.ENUM:case e.BOOLEAN:return a.value;case e.LIST:return a.values.map((e=>valueFromASTUntyped(e,n)));case e.OBJECT:return keyValMap(a.fields,(e=>e.name.value),(e=>valueFromASTUntyped(e.value,n)));case e.VARIABLE:return null===n||void 0===n?void 0:n[a.name.value]}}export{keyValMap as k,valueFromASTUntyped as v};\n\n//# sourceMappingURL=e1a6e691.js.map","function isWhiteSpace(e){return 9===e||32===e}function isDigit(e){return e>=48&&e<=57}function isLetter(e){return e>=97&&e<=122||e>=65&&e<=90}function isNameStart(e){return isLetter(e)||95===e}function isNameContinue(e){return isLetter(e)||isDigit(e)||95===e}function dedentBlockStringLines(e){var t;let n=Number.MAX_SAFE_INTEGER;let i=null;let s=-1;for(let t=0;t<e.length;++t){var r;const c=e[t];const a=leadingWhitespace(c);if(a!==c.length){i=null!==(r=i)&&void 0!==r?r:t;s=t;0!==t&&a<n&&(n=a)}}return e.map(((e,t)=>0===t?e:e.slice(n))).slice(null!==(t=i)&&void 0!==t?t:0,s+1)}function leadingWhitespace(e){let t=0;while(t<e.length&&isWhiteSpace(e.charCodeAt(t)))++t;return t}function isPrintableAsBlockString(e){if(\"\"===e)return true;let t=true;let n=false;let i=true;let s=false;for(let r=0;r<e.length;++r)switch(e.codePointAt(r)){case 0:case 1:case 2:case 3:case 4:case 5:case 6:case 7:case 8:case 11:case 12:case 14:case 15:return false;case 13:return false;case 10:if(t&&!s)return false;s=true;t=true;n=false;break;case 9:case 32:n||(n=t);break;default:i&&(i=n);t=false}return!t&&(!i||!s)}function printBlockString(e,t){const n=e.replace(/\"\"\"/g,'\\\\\"\"\"');const i=n.split(/\\r\\n|[\\n\\r]/g);const s=1===i.length;const r=i.length>1&&i.slice(1).every((e=>0===e.length||isWhiteSpace(e.charCodeAt(0))));const c=n.endsWith('\\\\\"\"\"');const a=e.endsWith('\"')&&!c;const l=e.endsWith(\"\\\\\");const o=a||l;const u=!(null!==t&&void 0!==t&&t.minimize)&&(!s||e.length>70||o||r||c);let f=\"\";const h=s&&isWhiteSpace(e.charCodeAt(0));(u&&!h||r)&&(f+=\"\\n\");f+=n;(u||o)&&(f+=\"\\n\");return'\"\"\"'+f+'\"\"\"'}export{isNameStart as a,isDigit as b,isPrintableAsBlockString as c,dedentBlockStringLines as d,isNameContinue as i,printBlockString as p};\n\n//# sourceMappingURL=8890d1df.js.map","import{d as e}from\"../_/7892746f.js\";import{inspect as t}from\"../jsutils/inspect.mjs\";import{Q as n,i as l}from\"../_/be682a22.js\";import{Kind as i}from\"./kinds.mjs\";const o=Object.freeze({});function visit(r,s,f=n){const a=new Map;for(const e of Object.values(i))a.set(e,getEnterLeaveForKind(s,e));let c;let v=Array.isArray(r);let d=[r];let u=-1;let p=[];let g=r;let y;let h;const j=[];const A=[];do{u++;const n=u===d.length;const i=n&&0!==p.length;if(n){y=0===A.length?void 0:j[j.length-1];g=h;h=A.pop();if(i)if(v){g=g.slice();let e=0;for(const[t,n]of p){const l=t-e;if(null===n){g.splice(l,1);e++}else g[l]=n}}else{g=Object.defineProperties({},Object.getOwnPropertyDescriptors(g));for(const[e,t]of p)g[e]=t}u=c.index;d=c.keys;p=c.edits;v=c.inArray;c=c.prev}else if(h){y=v?u:d[u];g=h[y];if(null===g||void 0===g)continue;j.push(y)}let r;if(!Array.isArray(g)){var m,b;l(g)||e(false,`Invalid AST Node: ${t(g)}.`);const i=n?null===(m=a.get(g.kind))||void 0===m?void 0:m.leave:null===(b=a.get(g.kind))||void 0===b?void 0:b.enter;r=null===i||void 0===i?void 0:i.call(s,g,y,h,j,A);if(r===o)break;if(false===r){if(!n){j.pop();continue}}else if(void 0!==r){p.push([y,r]);if(!n){if(!l(r)){j.pop();continue}g=r}}}void 0===r&&i&&p.push([y,g]);if(n)j.pop();else{var k;c={inArray:v,index:u,keys:d,edits:p,prev:c};v=Array.isArray(g);d=v?g:null!==(k=f[g.kind])&&void 0!==k?k:[];u=-1;p=[];h&&A.push(h);h=g}}while(void 0!==c);return 0!==p.length?p[p.length-1][1]:r}function visitInParallel(e){const t=new Array(e.length).fill(null);const n=Object.create(null);for(const l of Object.values(i)){let i=false;const r=new Array(e.length).fill(void 0);const s=new Array(e.length).fill(void 0);for(let t=0;t<e.length;++t){const{enter:n,leave:o}=getEnterLeaveForKind(e[t],l);i||(i=null!=n||null!=o);r[t]=n;s[t]=o}if(!i)continue;const f={enter(...n){const l=n[0];for(let s=0;s<e.length;s++)if(null===t[s]){var i;const f=null===(i=r[s])||void 0===i?void 0:i.apply(e[s],n);if(false===f)t[s]=l;else if(f===o)t[s]=o;else if(void 0!==f)return f}},leave(...n){const l=n[0];for(let r=0;r<e.length;r++)if(null===t[r]){var i;const l=null===(i=s[r])||void 0===i?void 0:i.apply(e[r],n);if(l===o)t[r]=o;else if(void 0!==l&&false!==l)return l}else t[r]===l&&(t[r]=null)}};n[l]=f}return n}function getEnterLeaveForKind(e,t){const n=e[t];return\"object\"===typeof n?n:\"function\"===typeof n?{enter:n,leave:void 0}:{enter:e.enter,leave:e.leave}}\n/**\n * Given a visitor instance, if it is leaving or not, and a node kind, return\n * the function the visitor runtime should call.\n *\n * @deprecated Please use `getEnterLeaveForKind` instead. Will be removed in v17\n */function getVisitFn(e,t,n){const{enter:l,leave:i}=getEnterLeaveForKind(e,t);return n?i:l}export{o as BREAK,getEnterLeaveForKind,getVisitFn,visit,visitInParallel};\n\n//# sourceMappingURL=visitor.mjs.map","import{p as e}from\"../_/8890d1df.js\";import{visit as n}from\"./visitor.mjs\";import\"../_/7892746f.js\";import\"../jsutils/inspect.mjs\";import\"../_/be682a22.js\";import\"./kinds.mjs\";function printString(e){return`\"${e.replace(i,escapedReplacer)}\"`}const i=/[\\x00-\\x1f\\x22\\x5c\\x7f-\\x9f]/g;function escapedReplacer(e){return a[e.charCodeAt(0)]}const a=[\"\\\\u0000\",\"\\\\u0001\",\"\\\\u0002\",\"\\\\u0003\",\"\\\\u0004\",\"\\\\u0005\",\"\\\\u0006\",\"\\\\u0007\",\"\\\\b\",\"\\\\t\",\"\\\\n\",\"\\\\u000B\",\"\\\\f\",\"\\\\r\",\"\\\\u000E\",\"\\\\u000F\",\"\\\\u0010\",\"\\\\u0011\",\"\\\\u0012\",\"\\\\u0013\",\"\\\\u0014\",\"\\\\u0015\",\"\\\\u0016\",\"\\\\u0017\",\"\\\\u0018\",\"\\\\u0019\",\"\\\\u001A\",\"\\\\u001B\",\"\\\\u001C\",\"\\\\u001D\",\"\\\\u001E\",\"\\\\u001F\",\"\",\"\",'\\\\\"',\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\\\\\\\\\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\\\\u007F\",\"\\\\u0080\",\"\\\\u0081\",\"\\\\u0082\",\"\\\\u0083\",\"\\\\u0084\",\"\\\\u0085\",\"\\\\u0086\",\"\\\\u0087\",\"\\\\u0088\",\"\\\\u0089\",\"\\\\u008A\",\"\\\\u008B\",\"\\\\u008C\",\"\\\\u008D\",\"\\\\u008E\",\"\\\\u008F\",\"\\\\u0090\",\"\\\\u0091\",\"\\\\u0092\",\"\\\\u0093\",\"\\\\u0094\",\"\\\\u0095\",\"\\\\u0096\",\"\\\\u0097\",\"\\\\u0098\",\"\\\\u0099\",\"\\\\u009A\",\"\\\\u009B\",\"\\\\u009C\",\"\\\\u009D\",\"\\\\u009E\",\"\\\\u009F\"];function print(e){return n(e,o)}const t=80;const o={Name:{leave:e=>e.value},Variable:{leave:e=>\"$\"+e.name},Document:{leave:e=>join(e.definitions,\"\\n\\n\")},OperationDefinition:{leave(e){const n=wrap(\"(\",join(e.variableDefinitions,\", \"),\")\");const i=join([e.operation,join([e.name,n]),join(e.directives,\" \")],\" \");return(\"query\"===i?\"\":i+\" \")+e.selectionSet}},VariableDefinition:{leave:({variable:e,type:n,defaultValue:i,directives:a})=>e+\": \"+n+wrap(\" = \",i)+wrap(\" \",join(a,\" \"))},SelectionSet:{leave:({selections:e})=>block(e)},Field:{leave({alias:e,name:n,arguments:i,directives:a,selectionSet:o}){const r=wrap(\"\",e,\": \")+n;let l=r+wrap(\"(\",join(i,\", \"),\")\");l.length>t&&(l=r+wrap(\"(\\n\",indent(join(i,\"\\n\")),\"\\n)\"));return join([l,join(a,\" \"),o],\" \")}},Argument:{leave:({name:e,value:n})=>e+\": \"+n},FragmentSpread:{leave:({name:e,directives:n})=>\"...\"+e+wrap(\" \",join(n,\" \"))},InlineFragment:{leave:({typeCondition:e,directives:n,selectionSet:i})=>join([\"...\",wrap(\"on \",e),join(n,\" \"),i],\" \")},FragmentDefinition:{leave:({name:e,typeCondition:n,variableDefinitions:i,directives:a,selectionSet:t})=>`fragment ${e}${wrap(\"(\",join(i,\", \"),\")\")} on ${n} ${wrap(\"\",join(a,\" \"),\" \")}`+t},IntValue:{leave:({value:e})=>e},FloatValue:{leave:({value:e})=>e},StringValue:{leave:({value:n,block:i})=>i?e(n):printString(n)},BooleanValue:{leave:({value:e})=>e?\"true\":\"false\"},NullValue:{leave:()=>\"null\"},EnumValue:{leave:({value:e})=>e},ListValue:{leave:({values:e})=>\"[\"+join(e,\", \")+\"]\"},ObjectValue:{leave:({fields:e})=>\"{\"+join(e,\", \")+\"}\"},ObjectField:{leave:({name:e,value:n})=>e+\": \"+n},Directive:{leave:({name:e,arguments:n})=>\"@\"+e+wrap(\"(\",join(n,\", \"),\")\")},NamedType:{leave:({name:e})=>e},ListType:{leave:({type:e})=>\"[\"+e+\"]\"},NonNullType:{leave:({type:e})=>e+\"!\"},SchemaDefinition:{leave:({description:e,directives:n,operationTypes:i})=>wrap(\"\",e,\"\\n\")+join([\"schema\",join(n,\" \"),block(i)],\" \")},OperationTypeDefinition:{leave:({operation:e,type:n})=>e+\": \"+n},ScalarTypeDefinition:{leave:({description:e,name:n,directives:i})=>wrap(\"\",e,\"\\n\")+join([\"scalar\",n,join(i,\" \")],\" \")},ObjectTypeDefinition:{leave:({description:e,name:n,interfaces:i,directives:a,fields:t})=>wrap(\"\",e,\"\\n\")+join([\"type\",n,wrap(\"implements \",join(i,\" & \")),join(a,\" \"),block(t)],\" \")},FieldDefinition:{leave:({description:e,name:n,arguments:i,type:a,directives:t})=>wrap(\"\",e,\"\\n\")+n+(hasMultilineItems(i)?wrap(\"(\\n\",indent(join(i,\"\\n\")),\"\\n)\"):wrap(\"(\",join(i,\", \"),\")\"))+\": \"+a+wrap(\" \",join(t,\" \"))},InputValueDefinition:{leave:({description:e,name:n,type:i,defaultValue:a,directives:t})=>wrap(\"\",e,\"\\n\")+join([n+\": \"+i,wrap(\"= \",a),join(t,\" \")],\" \")},InterfaceTypeDefinition:{leave:({description:e,name:n,interfaces:i,directives:a,fields:t})=>wrap(\"\",e,\"\\n\")+join([\"interface\",n,wrap(\"implements \",join(i,\" & \")),join(a,\" \"),block(t)],\" \")},UnionTypeDefinition:{leave:({description:e,name:n,directives:i,types:a})=>wrap(\"\",e,\"\\n\")+join([\"union\",n,join(i,\" \"),wrap(\"= \",join(a,\" | \"))],\" \")},EnumTypeDefinition:{leave:({description:e,name:n,directives:i,values:a})=>wrap(\"\",e,\"\\n\")+join([\"enum\",n,join(i,\" \"),block(a)],\" \")},EnumValueDefinition:{leave:({description:e,name:n,directives:i})=>wrap(\"\",e,\"\\n\")+join([n,join(i,\" \")],\" \")},InputObjectTypeDefinition:{leave:({description:e,name:n,directives:i,fields:a})=>wrap(\"\",e,\"\\n\")+join([\"input\",n,join(i,\" \"),block(a)],\" \")},DirectiveDefinition:{leave:({description:e,name:n,arguments:i,repeatable:a,locations:t})=>wrap(\"\",e,\"\\n\")+\"directive @\"+n+(hasMultilineItems(i)?wrap(\"(\\n\",indent(join(i,\"\\n\")),\"\\n)\"):wrap(\"(\",join(i,\", \"),\")\"))+(a?\" repeatable\":\"\")+\" on \"+join(t,\" | \")},SchemaExtension:{leave:({directives:e,operationTypes:n})=>join([\"extend schema\",join(e,\" \"),block(n)],\" \")},ScalarTypeExtension:{leave:({name:e,directives:n})=>join([\"extend scalar\",e,join(n,\" \")],\" \")},ObjectTypeExtension:{leave:({name:e,interfaces:n,directives:i,fields:a})=>join([\"extend type\",e,wrap(\"implements \",join(n,\" & \")),join(i,\" \"),block(a)],\" \")},InterfaceTypeExtension:{leave:({name:e,interfaces:n,directives:i,fields:a})=>join([\"extend interface\",e,wrap(\"implements \",join(n,\" & \")),join(i,\" \"),block(a)],\" \")},UnionTypeExtension:{leave:({name:e,directives:n,types:i})=>join([\"extend union\",e,join(n,\" \"),wrap(\"= \",join(i,\" | \"))],\" \")},EnumTypeExtension:{leave:({name:e,directives:n,values:i})=>join([\"extend enum\",e,join(n,\" \"),block(i)],\" \")},InputObjectTypeExtension:{leave:({name:e,directives:n,fields:i})=>join([\"extend input\",e,join(n,\" \"),block(i)],\" \")}};function join(e,n=\"\"){var i;return null!==(i=null===e||void 0===e?void 0:e.filter((e=>e)).join(n))&&void 0!==i?i:\"\"}function block(e){return wrap(\"{\\n\",indent(join(e,\"\\n\")),\"\\n}\")}function wrap(e,n,i=\"\"){return null!=n&&\"\"!==n?e+n+i:\"\"}function indent(e){return wrap(\"  \",e.replace(/\\n/g,\"\\n  \"))}function hasMultilineItems(e){var n;return null!==(n=null===e||void 0===e?void 0:e.some((e=>e.includes(\"\\n\"))))&&void 0!==n&&n}export{print};\n\n//# sourceMappingURL=printer.mjs.map","import{d as e}from\"./7892746f.js\";import{inspect as t}from\"../jsutils/inspect.mjs\";import{i as s}from\"./c83a270e.js\";import{G as n,c as i}from\"./7dea71b4.js\";import{v as r,k as a}from\"./e1a6e691.js\";import{Kind as o}from\"../language/kinds.mjs\";import{print as p}from\"../language/printer.mjs\";import{i as u,a as l}from\"./8890d1df.js\";const c=5;function didYouMean(e,t){const[s,n]=t?[e,t]:[void 0,e];let i=\" Did you mean \";s&&(i+=s+\" \");const r=n.map((e=>`\"${e}\"`));switch(r.length){case 0:return\"\";case 1:return i+r[0]+\"?\";case 2:return i+r[0]+\" or \"+r[1]+\"?\"}const a=r.slice(0,c);const o=a.pop();return i+a.join(\", \")+\", or \"+o+\"?\"}function identityFunc(e){return e}function keyMap(e,t){const s=Object.create(null);for(const n of e)s[t(n)]=n;return s}function mapValue(e,t){const s=Object.create(null);for(const n of Object.keys(e))s[n]=t(e[n],n);return s}function naturalCompare(e,t){let s=0;let n=0;while(s<e.length&&n<t.length){let i=e.charCodeAt(s);let r=t.charCodeAt(n);if(isDigit(i)&&isDigit(r)){let a=0;do{++s;a=10*a+i-f;i=e.charCodeAt(s)}while(isDigit(i)&&a>0);let o=0;do{++n;o=10*o+r-f;r=t.charCodeAt(n)}while(isDigit(r)&&o>0);if(a<o)return-1;if(a>o)return 1}else{if(i<r)return-1;if(i>r)return 1;++s;++n}}return e.length-t.length}const f=48;const d=57;function isDigit(e){return!isNaN(e)&&f<=e&&e<=d}function suggestionList(e,t){const s=Object.create(null);const n=new LexicalDistance(e);const i=Math.floor(.4*e.length)+1;for(const e of t){const t=n.measure(e,i);void 0!==t&&(s[e]=t)}return Object.keys(s).sort(((e,t)=>{const n=s[e]-s[t];return 0!==n?n:naturalCompare(e,t)}))}class LexicalDistance{constructor(e){this._input=e;this._inputLowerCase=e.toLowerCase();this._inputArray=stringToArray(this._inputLowerCase);this._rows=[new Array(e.length+1).fill(0),new Array(e.length+1).fill(0),new Array(e.length+1).fill(0)]}measure(e,t){if(this._input===e)return 0;const s=e.toLowerCase();if(this._inputLowerCase===s)return 1;let n=stringToArray(s);let i=this._inputArray;if(n.length<i.length){const e=n;n=i;i=e}const r=n.length;const a=i.length;if(r-a>t)return;const o=this._rows;for(let e=0;e<=a;e++)o[0][e]=e;for(let e=1;e<=r;e++){const s=o[(e-1)%3];const r=o[e%3];let p=r[0]=e;for(let t=1;t<=a;t++){const a=n[e-1]===i[t-1]?0:1;let u=Math.min(s[t]+1,r[t-1]+1,s[t-1]+a);if(e>1&&t>1&&n[e-1]===i[t-2]&&n[e-2]===i[t-1]){const s=o[(e-2)%3][t-2];u=Math.min(u,s+1)}u<p&&(p=u);r[t]=u}if(p>t)return}const p=o[r%3][a];return p<=t?p:void 0}}function stringToArray(e){const t=e.length;const s=new Array(t);for(let n=0;n<t;++n)s[n]=e.charCodeAt(n);return s}function toObjMap(e){if(null==e)return Object.create(null);if(null===Object.getPrototypeOf(e))return e;const t=Object.create(null);for(const[s,n]of Object.entries(e))t[s]=n;return t}function assertName(t){null!=t||e(false,\"Must provide name.\");\"string\"===typeof t||e(false,\"Expected name to be a string.\");if(0===t.length)throw new n(\"Expected name to be a non-empty string.\");for(let e=1;e<t.length;++e)if(!u(t.charCodeAt(e)))throw new n(`Names must only contain [_a-zA-Z0-9] but \"${t}\" does not.`);if(!l(t.charCodeAt(0)))throw new n(`Names must start with [_a-zA-Z] but \"${t}\" does not.`);return t}function assertEnumValueName(e){if(\"true\"===e||\"false\"===e||\"null\"===e)throw new n(`Enum values cannot be named: ${e}`);return assertName(e)}function isType(e){return isScalarType(e)||isObjectType(e)||isInterfaceType(e)||isUnionType(e)||isEnumType(e)||isInputObjectType(e)||isListType(e)||isNonNullType(e)}function assertType(e){if(!isType(e))throw new Error(`Expected ${t(e)} to be a GraphQL type.`);return e}function isScalarType(e){return s(e,GraphQLScalarType)}function assertScalarType(e){if(!isScalarType(e))throw new Error(`Expected ${t(e)} to be a GraphQL Scalar type.`);return e}function isObjectType(e){return s(e,GraphQLObjectType)}function assertObjectType(e){if(!isObjectType(e))throw new Error(`Expected ${t(e)} to be a GraphQL Object type.`);return e}function isInterfaceType(e){return s(e,GraphQLInterfaceType)}function assertInterfaceType(e){if(!isInterfaceType(e))throw new Error(`Expected ${t(e)} to be a GraphQL Interface type.`);return e}function isUnionType(e){return s(e,GraphQLUnionType)}function assertUnionType(e){if(!isUnionType(e))throw new Error(`Expected ${t(e)} to be a GraphQL Union type.`);return e}function isEnumType(e){return s(e,GraphQLEnumType)}function assertEnumType(e){if(!isEnumType(e))throw new Error(`Expected ${t(e)} to be a GraphQL Enum type.`);return e}function isInputObjectType(e){return s(e,GraphQLInputObjectType)}function assertInputObjectType(e){if(!isInputObjectType(e))throw new Error(`Expected ${t(e)} to be a GraphQL Input Object type.`);return e}function isListType(e){return s(e,GraphQLList)}function assertListType(e){if(!isListType(e))throw new Error(`Expected ${t(e)} to be a GraphQL List type.`);return e}function isNonNullType(e){return s(e,GraphQLNonNull)}function assertNonNullType(e){if(!isNonNullType(e))throw new Error(`Expected ${t(e)} to be a GraphQL Non-Null type.`);return e}function isInputType(e){return isScalarType(e)||isEnumType(e)||isInputObjectType(e)||isWrappingType(e)&&isInputType(e.ofType)}function assertInputType(e){if(!isInputType(e))throw new Error(`Expected ${t(e)} to be a GraphQL input type.`);return e}function isOutputType(e){return isScalarType(e)||isObjectType(e)||isInterfaceType(e)||isUnionType(e)||isEnumType(e)||isWrappingType(e)&&isOutputType(e.ofType)}function assertOutputType(e){if(!isOutputType(e))throw new Error(`Expected ${t(e)} to be a GraphQL output type.`);return e}function isLeafType(e){return isScalarType(e)||isEnumType(e)}function assertLeafType(e){if(!isLeafType(e))throw new Error(`Expected ${t(e)} to be a GraphQL leaf type.`);return e}function isCompositeType(e){return isObjectType(e)||isInterfaceType(e)||isUnionType(e)}function assertCompositeType(e){if(!isCompositeType(e))throw new Error(`Expected ${t(e)} to be a GraphQL composite type.`);return e}function isAbstractType(e){return isInterfaceType(e)||isUnionType(e)}function assertAbstractType(e){if(!isAbstractType(e))throw new Error(`Expected ${t(e)} to be a GraphQL abstract type.`);return e}class GraphQLList{constructor(s){isType(s)||e(false,`Expected ${t(s)} to be a GraphQL type.`);this.ofType=s}get[Symbol.toStringTag](){return\"GraphQLList\"}toString(){return\"[\"+String(this.ofType)+\"]\"}toJSON(){return this.toString()}}class GraphQLNonNull{constructor(s){isNullableType(s)||e(false,`Expected ${t(s)} to be a GraphQL nullable type.`);this.ofType=s}get[Symbol.toStringTag](){return\"GraphQLNonNull\"}toString(){return String(this.ofType)+\"!\"}toJSON(){return this.toString()}}function isWrappingType(e){return isListType(e)||isNonNullType(e)}function assertWrappingType(e){if(!isWrappingType(e))throw new Error(`Expected ${t(e)} to be a GraphQL wrapping type.`);return e}function isNullableType(e){return isType(e)&&!isNonNullType(e)}function assertNullableType(e){if(!isNullableType(e))throw new Error(`Expected ${t(e)} to be a GraphQL nullable type.`);return e}function getNullableType(e){if(e)return isNonNullType(e)?e.ofType:e}function isNamedType(e){return isScalarType(e)||isObjectType(e)||isInterfaceType(e)||isUnionType(e)||isEnumType(e)||isInputObjectType(e)}function assertNamedType(e){if(!isNamedType(e))throw new Error(`Expected ${t(e)} to be a GraphQL named type.`);return e}function getNamedType(e){if(e){let t=e;while(isWrappingType(t))t=t.ofType;return t}}function resolveReadonlyArrayThunk(e){return\"function\"===typeof e?e():e}function resolveObjMapThunk(e){return\"function\"===typeof e?e():e}class GraphQLScalarType{constructor(s){var n,i,a,o;const p=null!==(n=s.parseValue)&&void 0!==n?n:identityFunc;this.name=assertName(s.name);this.description=s.description;this.specifiedByURL=s.specifiedByURL;this.serialize=null!==(i=s.serialize)&&void 0!==i?i:identityFunc;this.parseValue=p;this.parseLiteral=null!==(a=s.parseLiteral)&&void 0!==a?a:(e,t)=>p(r(e,t));this.extensions=toObjMap(s.extensions);this.astNode=s.astNode;this.extensionASTNodes=null!==(o=s.extensionASTNodes)&&void 0!==o?o:[];null==s.specifiedByURL||\"string\"===typeof s.specifiedByURL||e(false,`${this.name} must provide \"specifiedByURL\" as a string, but got: ${t(s.specifiedByURL)}.`);null==s.serialize||\"function\"===typeof s.serialize||e(false,`${this.name} must provide \"serialize\" function. If this custom Scalar is also used as an input type, ensure \"parseValue\" and \"parseLiteral\" functions are also provided.`);s.parseLiteral&&(\"function\"===typeof s.parseValue&&\"function\"===typeof s.parseLiteral||e(false,`${this.name} must provide both \"parseValue\" and \"parseLiteral\" functions.`))}get[Symbol.toStringTag](){return\"GraphQLScalarType\"}toConfig(){return{name:this.name,description:this.description,specifiedByURL:this.specifiedByURL,serialize:this.serialize,parseValue:this.parseValue,parseLiteral:this.parseLiteral,extensions:this.extensions,astNode:this.astNode,extensionASTNodes:this.extensionASTNodes}}toString(){return this.name}toJSON(){return this.toString()}}class GraphQLObjectType{constructor(s){var n;this.name=assertName(s.name);this.description=s.description;this.isTypeOf=s.isTypeOf;this.extensions=toObjMap(s.extensions);this.astNode=s.astNode;this.extensionASTNodes=null!==(n=s.extensionASTNodes)&&void 0!==n?n:[];this._fields=()=>defineFieldMap(s);this._interfaces=()=>defineInterfaces(s);null==s.isTypeOf||\"function\"===typeof s.isTypeOf||e(false,`${this.name} must provide \"isTypeOf\" as a function, but got: ${t(s.isTypeOf)}.`)}get[Symbol.toStringTag](){return\"GraphQLObjectType\"}getFields(){\"function\"===typeof this._fields&&(this._fields=this._fields());return this._fields}getInterfaces(){\"function\"===typeof this._interfaces&&(this._interfaces=this._interfaces());return this._interfaces}toConfig(){return{name:this.name,description:this.description,interfaces:this.getInterfaces(),fields:fieldsToFieldsConfig(this.getFields()),isTypeOf:this.isTypeOf,extensions:this.extensions,astNode:this.astNode,extensionASTNodes:this.extensionASTNodes}}toString(){return this.name}toJSON(){return this.toString()}}function defineInterfaces(t){var s;const n=resolveReadonlyArrayThunk(null!==(s=t.interfaces)&&void 0!==s?s:[]);Array.isArray(n)||e(false,`${t.name} interfaces must be an Array or a function which returns an Array.`);return n}function defineFieldMap(s){const n=resolveObjMapThunk(s.fields);isPlainObj(n)||e(false,`${s.name} fields must be an object with field names as keys or a function which returns such an object.`);return mapValue(n,((n,i)=>{var r;isPlainObj(n)||e(false,`${s.name}.${i} field config must be an object.`);null==n.resolve||\"function\"===typeof n.resolve||e(false,`${s.name}.${i} field resolver must be a function if provided, but got: ${t(n.resolve)}.`);const a=null!==(r=n.args)&&void 0!==r?r:{};isPlainObj(a)||e(false,`${s.name}.${i} args must be an object with argument names as keys.`);return{name:assertName(i),description:n.description,type:n.type,args:defineArguments(a),resolve:n.resolve,subscribe:n.subscribe,deprecationReason:n.deprecationReason,extensions:toObjMap(n.extensions),astNode:n.astNode}}))}function defineArguments(e){return Object.entries(e).map((([e,t])=>({name:assertName(e),description:t.description,type:t.type,defaultValue:t.defaultValue,deprecationReason:t.deprecationReason,extensions:toObjMap(t.extensions),astNode:t.astNode})))}function isPlainObj(e){return i(e)&&!Array.isArray(e)}function fieldsToFieldsConfig(e){return mapValue(e,(e=>({description:e.description,type:e.type,args:argsToArgsConfig(e.args),resolve:e.resolve,subscribe:e.subscribe,deprecationReason:e.deprecationReason,extensions:e.extensions,astNode:e.astNode})))}function argsToArgsConfig(e){return a(e,(e=>e.name),(e=>({description:e.description,type:e.type,defaultValue:e.defaultValue,deprecationReason:e.deprecationReason,extensions:e.extensions,astNode:e.astNode})))}function isRequiredArgument(e){return isNonNullType(e.type)&&void 0===e.defaultValue}class GraphQLInterfaceType{constructor(s){var n;this.name=assertName(s.name);this.description=s.description;this.resolveType=s.resolveType;this.extensions=toObjMap(s.extensions);this.astNode=s.astNode;this.extensionASTNodes=null!==(n=s.extensionASTNodes)&&void 0!==n?n:[];this._fields=defineFieldMap.bind(void 0,s);this._interfaces=defineInterfaces.bind(void 0,s);null==s.resolveType||\"function\"===typeof s.resolveType||e(false,`${this.name} must provide \"resolveType\" as a function, but got: ${t(s.resolveType)}.`)}get[Symbol.toStringTag](){return\"GraphQLInterfaceType\"}getFields(){\"function\"===typeof this._fields&&(this._fields=this._fields());return this._fields}getInterfaces(){\"function\"===typeof this._interfaces&&(this._interfaces=this._interfaces());return this._interfaces}toConfig(){return{name:this.name,description:this.description,interfaces:this.getInterfaces(),fields:fieldsToFieldsConfig(this.getFields()),resolveType:this.resolveType,extensions:this.extensions,astNode:this.astNode,extensionASTNodes:this.extensionASTNodes}}toString(){return this.name}toJSON(){return this.toString()}}class GraphQLUnionType{constructor(s){var n;this.name=assertName(s.name);this.description=s.description;this.resolveType=s.resolveType;this.extensions=toObjMap(s.extensions);this.astNode=s.astNode;this.extensionASTNodes=null!==(n=s.extensionASTNodes)&&void 0!==n?n:[];this._types=defineTypes.bind(void 0,s);null==s.resolveType||\"function\"===typeof s.resolveType||e(false,`${this.name} must provide \"resolveType\" as a function, but got: ${t(s.resolveType)}.`)}get[Symbol.toStringTag](){return\"GraphQLUnionType\"}getTypes(){\"function\"===typeof this._types&&(this._types=this._types());return this._types}toConfig(){return{name:this.name,description:this.description,types:this.getTypes(),resolveType:this.resolveType,extensions:this.extensions,astNode:this.astNode,extensionASTNodes:this.extensionASTNodes}}toString(){return this.name}toJSON(){return this.toString()}}function defineTypes(t){const s=resolveReadonlyArrayThunk(t.types);Array.isArray(s)||e(false,`Must provide Array of types or a function which returns such an array for Union ${t.name}.`);return s}class GraphQLEnumType{constructor(e){var t;this.name=assertName(e.name);this.description=e.description;this.extensions=toObjMap(e.extensions);this.astNode=e.astNode;this.extensionASTNodes=null!==(t=e.extensionASTNodes)&&void 0!==t?t:[];this._values=defineEnumValues(this.name,e.values);this._valueLookup=new Map(this._values.map((e=>[e.value,e])));this._nameLookup=keyMap(this._values,(e=>e.name))}get[Symbol.toStringTag](){return\"GraphQLEnumType\"}getValues(){return this._values}getValue(e){return this._nameLookup[e]}serialize(e){const s=this._valueLookup.get(e);if(void 0===s)throw new n(`Enum \"${this.name}\" cannot represent value: ${t(e)}`);return s.name}parseValue(e){if(\"string\"!==typeof e){const s=t(e);throw new n(`Enum \"${this.name}\" cannot represent non-string value: ${s}.`+didYouMeanEnumValue(this,s))}const s=this.getValue(e);if(null==s)throw new n(`Value \"${e}\" does not exist in \"${this.name}\" enum.`+didYouMeanEnumValue(this,e));return s.value}parseLiteral(e,t){if(e.kind!==o.ENUM){const t=p(e);throw new n(`Enum \"${this.name}\" cannot represent non-enum value: ${t}.`+didYouMeanEnumValue(this,t),{nodes:e})}const s=this.getValue(e.value);if(null==s){const t=p(e);throw new n(`Value \"${t}\" does not exist in \"${this.name}\" enum.`+didYouMeanEnumValue(this,t),{nodes:e})}return s.value}toConfig(){const e=a(this.getValues(),(e=>e.name),(e=>({description:e.description,value:e.value,deprecationReason:e.deprecationReason,extensions:e.extensions,astNode:e.astNode})));return{name:this.name,description:this.description,values:e,extensions:this.extensions,astNode:this.astNode,extensionASTNodes:this.extensionASTNodes}}toString(){return this.name}toJSON(){return this.toString()}}function didYouMeanEnumValue(e,t){const s=e.getValues().map((e=>e.name));const n=suggestionList(t,s);return didYouMean(\"the enum value\",n)}function defineEnumValues(s,n){isPlainObj(n)||e(false,`${s} values must be an object with value names as keys.`);return Object.entries(n).map((([n,i])=>{isPlainObj(i)||e(false,`${s}.${n} must refer to an object with a \"value\" key representing an internal value but got: ${t(i)}.`);return{name:assertEnumValueName(n),description:i.description,value:void 0!==i.value?i.value:n,deprecationReason:i.deprecationReason,extensions:toObjMap(i.extensions),astNode:i.astNode}}))}class GraphQLInputObjectType{constructor(e){var t;this.name=assertName(e.name);this.description=e.description;this.extensions=toObjMap(e.extensions);this.astNode=e.astNode;this.extensionASTNodes=null!==(t=e.extensionASTNodes)&&void 0!==t?t:[];this._fields=defineInputFieldMap.bind(void 0,e)}get[Symbol.toStringTag](){return\"GraphQLInputObjectType\"}getFields(){\"function\"===typeof this._fields&&(this._fields=this._fields());return this._fields}toConfig(){const e=mapValue(this.getFields(),(e=>({description:e.description,type:e.type,defaultValue:e.defaultValue,deprecationReason:e.deprecationReason,extensions:e.extensions,astNode:e.astNode})));return{name:this.name,description:this.description,fields:e,extensions:this.extensions,astNode:this.astNode,extensionASTNodes:this.extensionASTNodes}}toString(){return this.name}toJSON(){return this.toString()}}function defineInputFieldMap(t){const s=resolveObjMapThunk(t.fields);isPlainObj(s)||e(false,`${t.name} fields must be an object with field names as keys or a function which returns such an object.`);return mapValue(s,((s,n)=>{!(\"resolve\"in s)||e(false,`${t.name}.${n} field has a resolve property, but Input Types cannot define resolvers.`);return{name:assertName(n),description:s.description,type:s.type,defaultValue:s.defaultValue,deprecationReason:s.deprecationReason,extensions:toObjMap(s.extensions),astNode:s.astNode}}))}function isRequiredInputField(e){return isNonNullType(e.type)&&void 0===e.defaultValue}export{defineArguments as $,isNamedType as A,isRequiredArgument as B,isRequiredInputField as C,assertType as D,assertScalarType as E,assertObjectType as F,GraphQLScalarType as G,assertInterfaceType as H,assertUnionType as I,assertEnumType as J,assertInputObjectType as K,assertListType as L,assertNonNullType as M,assertInputType as N,assertOutputType as O,assertLeafType as P,assertCompositeType as Q,assertAbstractType as R,assertWrappingType as S,assertNullableType as T,assertNamedType as U,getNullableType as V,assertName as W,assertEnumValueName as X,naturalCompare as Y,keyMap as Z,toObjMap as _,resolveReadonlyArrayThunk as a,argsToArgsConfig as a0,suggestionList as a1,didYouMean as a2,mapValue as a3,GraphQLObjectType as b,GraphQLInterfaceType as c,GraphQLUnionType as d,GraphQLEnumType as e,GraphQLInputObjectType as f,getNamedType as g,GraphQLList as h,isInputObjectType as i,GraphQLNonNull as j,isType as k,isScalarType as l,isObjectType as m,isInterfaceType as n,isUnionType as o,isEnumType as p,isListType as q,resolveObjMapThunk as r,isNonNullType as s,isInputType as t,isOutputType as u,isLeafType as v,isCompositeType as w,isAbstractType as x,isWrappingType as y,isNullableType as z};\n\n//# sourceMappingURL=1c63e742.js.map","var I;(function(I){I.QUERY=\"QUERY\";I.MUTATION=\"MUTATION\";I.SUBSCRIPTION=\"SUBSCRIPTION\";I.FIELD=\"FIELD\";I.FRAGMENT_DEFINITION=\"FRAGMENT_DEFINITION\";I.FRAGMENT_SPREAD=\"FRAGMENT_SPREAD\";I.INLINE_FRAGMENT=\"INLINE_FRAGMENT\";I.VARIABLE_DEFINITION=\"VARIABLE_DEFINITION\";I.SCHEMA=\"SCHEMA\";I.SCALAR=\"SCALAR\";I.OBJECT=\"OBJECT\";I.FIELD_DEFINITION=\"FIELD_DEFINITION\";I.ARGUMENT_DEFINITION=\"ARGUMENT_DEFINITION\";I.INTERFACE=\"INTERFACE\";I.UNION=\"UNION\";I.ENUM=\"ENUM\";I.ENUM_VALUE=\"ENUM_VALUE\";I.INPUT_OBJECT=\"INPUT_OBJECT\";I.INPUT_FIELD_DEFINITION=\"INPUT_FIELD_DEFINITION\"})(I||(I={}));\n/**\n * The enum type representing the directive location values.\n *\n * @deprecated Please use `DirectiveLocation`. Will be remove in v17.\n */export{I as D};\n\n//# sourceMappingURL=c8837240.js.map","import{d as e}from\"./7892746f.js\";import{inspect as n}from\"../jsutils/inspect.mjs\";import{i as t}from\"./c83a270e.js\";import{G as r,c as i}from\"./7dea71b4.js\";import{G as a,W as s,_ as o,$ as c,a0 as p,j as u}from\"./1c63e742.js\";import{D as l}from\"./c8837240.js\";import{Kind as f}from\"../language/kinds.mjs\";import{print as h}from\"../language/printer.mjs\";const d=2147483647;const m=-2147483648;const g=new a({name:\"Int\",description:\"The `Int` scalar type represents non-fractional signed whole numeric values. Int can represent values between -(2^31) and 2^31 - 1.\",serialize(e){const t=serializeObject(e);if(\"boolean\"===typeof t)return t?1:0;let i=t;\"string\"===typeof t&&\"\"!==t&&(i=Number(t));if(\"number\"!==typeof i||!Number.isInteger(i))throw new r(`Int cannot represent non-integer value: ${n(t)}`);if(i>d||i<m)throw new r(\"Int cannot represent non 32-bit signed integer value: \"+n(t));return i},parseValue(e){if(\"number\"!==typeof e||!Number.isInteger(e))throw new r(`Int cannot represent non-integer value: ${n(e)}`);if(e>d||e<m)throw new r(`Int cannot represent non 32-bit signed integer value: ${e}`);return e},parseLiteral(e){if(e.kind!==f.INT)throw new r(`Int cannot represent non-integer value: ${h(e)}`,{nodes:e});const n=parseInt(e.value,10);if(n>d||n<m)throw new r(`Int cannot represent non 32-bit signed integer value: ${e.value}`,{nodes:e});return n}});const w=new a({name:\"Float\",description:\"The `Float` scalar type represents signed double-precision fractional values as specified by [IEEE 754](https://en.wikipedia.org/wiki/IEEE_floating_point).\",serialize(e){const t=serializeObject(e);if(\"boolean\"===typeof t)return t?1:0;let i=t;\"string\"===typeof t&&\"\"!==t&&(i=Number(t));if(\"number\"!==typeof i||!Number.isFinite(i))throw new r(`Float cannot represent non numeric value: ${n(t)}`);return i},parseValue(e){if(\"number\"!==typeof e||!Number.isFinite(e))throw new r(`Float cannot represent non numeric value: ${n(e)}`);return e},parseLiteral(e){if(e.kind!==f.FLOAT&&e.kind!==f.INT)throw new r(`Float cannot represent non numeric value: ${h(e)}`,e);return parseFloat(e.value)}});const b=new a({name:\"String\",description:\"The `String` scalar type represents textual data, represented as UTF-8 character sequences. The String type is most often used by GraphQL to represent free-form human-readable text.\",serialize(e){const t=serializeObject(e);if(\"string\"===typeof t)return t;if(\"boolean\"===typeof t)return t?\"true\":\"false\";if(\"number\"===typeof t&&Number.isFinite(t))return t.toString();throw new r(`String cannot represent value: ${n(e)}`)},parseValue(e){if(\"string\"!==typeof e)throw new r(`String cannot represent a non string value: ${n(e)}`);return e},parseLiteral(e){if(e.kind!==f.STRING)throw new r(`String cannot represent a non string value: ${h(e)}`,{nodes:e});return e.value}});const v=new a({name:\"Boolean\",description:\"The `Boolean` scalar type represents `true` or `false`.\",serialize(e){const t=serializeObject(e);if(\"boolean\"===typeof t)return t;if(Number.isFinite(t))return 0!==t;throw new r(`Boolean cannot represent a non boolean value: ${n(t)}`)},parseValue(e){if(\"boolean\"!==typeof e)throw new r(`Boolean cannot represent a non boolean value: ${n(e)}`);return e},parseLiteral(e){if(e.kind!==f.BOOLEAN)throw new r(`Boolean cannot represent a non boolean value: ${h(e)}`,{nodes:e});return e.value}});const y=new a({name:\"ID\",description:'The `ID` scalar type represents a unique identifier, often used to refetch an object or as key for a cache. The ID type appears in a JSON response as a String; however, it is not intended to be human-readable. When expected as an input type, any string (such as `\"4\"`) or integer (such as `4`) input value will be accepted as an ID.',serialize(e){const t=serializeObject(e);if(\"string\"===typeof t)return t;if(Number.isInteger(t))return String(t);throw new r(`ID cannot represent value: ${n(e)}`)},parseValue(e){if(\"string\"===typeof e)return e;if(\"number\"===typeof e&&Number.isInteger(e))return e.toString();throw new r(`ID cannot represent value: ${n(e)}`)},parseLiteral(e){if(e.kind!==f.STRING&&e.kind!==f.INT)throw new r(\"ID cannot represent a non-string and non-integer value: \"+h(e),{nodes:e});return e.value}});const I=Object.freeze([b,g,w,v,y]);function isSpecifiedScalarType(e){return I.some((({name:n})=>e.name===n))}function serializeObject(e){if(i(e)){if(\"function\"===typeof e.valueOf){const n=e.valueOf();if(!i(n))return n}if(\"function\"===typeof e.toJSON)return e.toJSON()}return e}function isDirective(e){return t(e,GraphQLDirective)}function assertDirective(e){if(!isDirective(e))throw new Error(`Expected ${n(e)} to be a GraphQL directive.`);return e}class GraphQLDirective{constructor(n){var t,r;this.name=s(n.name);this.description=n.description;this.locations=n.locations;this.isRepeatable=null!==(t=n.isRepeatable)&&void 0!==t&&t;this.extensions=o(n.extensions);this.astNode=n.astNode;Array.isArray(n.locations)||e(false,`@${n.name} locations must be an Array.`);const a=null!==(r=n.args)&&void 0!==r?r:{};i(a)&&!Array.isArray(a)||e(false,`@${n.name} args must be an object with argument names as keys.`);this.args=c(a)}get[Symbol.toStringTag](){return\"GraphQLDirective\"}toConfig(){return{name:this.name,description:this.description,locations:this.locations,args:p(this.args),isRepeatable:this.isRepeatable,extensions:this.extensions,astNode:this.astNode}}toString(){return\"@\"+this.name}toJSON(){return this.toString()}}const N=new GraphQLDirective({name:\"include\",description:\"Directs the executor to include this field or fragment only when the `if` argument is true.\",locations:[l.FIELD,l.FRAGMENT_SPREAD,l.INLINE_FRAGMENT],args:{if:{type:new u(v),description:\"Included when true.\"}}});const D=new GraphQLDirective({name:\"skip\",description:\"Directs the executor to skip this field or fragment when the `if` argument is true.\",locations:[l.FIELD,l.FRAGMENT_SPREAD,l.INLINE_FRAGMENT],args:{if:{type:new u(v),description:\"Skipped when true.\"}}});const S=\"No longer supported\";const E=new GraphQLDirective({name:\"deprecated\",description:\"Marks an element of a GraphQL schema as no longer supported.\",locations:[l.FIELD_DEFINITION,l.ARGUMENT_DEFINITION,l.INPUT_FIELD_DEFINITION,l.ENUM_VALUE],args:{reason:{type:b,description:\"Explains why this element was deprecated, usually also including a suggestion for how to access supported similar data. Formatted using the Markdown syntax, as specified by [CommonMark](https://commonmark.org/).\",defaultValue:S}}});const L=new GraphQLDirective({name:\"specifiedBy\",description:\"Exposes a URL that specifies the behavior of this scalar.\",locations:[l.SCALAR],args:{url:{type:new u(b),description:\"The URL that specifies the behavior of this scalar.\"}}});const T=Object.freeze([N,D,E,L]);function isSpecifiedDirective(e){return T.some((({name:n})=>n===e.name))}export{S as D,GraphQLDirective as G,g as a,w as b,b as c,v as d,y as e,d as f,m as g,T as h,N as i,D as j,E as k,L as l,isDirective as m,isSpecifiedScalarType as n,isSpecifiedDirective as o,assertDirective as p,I as s};\n\n//# sourceMappingURL=c857c0af.js.map","import{inspect as e}from\"../jsutils/inspect.mjs\";import{c as t,i as n}from\"./7dea71b4.js\";import{D as i}from\"./c8837240.js\";import{print as a}from\"../language/printer.mjs\";import{i as s}from\"./cdbc8e30.js\";import{Kind as o}from\"../language/kinds.mjs\";import{s as r,q as p,i as l,v as d,p as c,b as u,j as f,h as v,e as y,l as m,m as N,n as I,o as T,x as E}from\"./1c63e742.js\";import{e as h,c as L,d as b}from\"./c857c0af.js\";function astFromValue(i,a){if(r(a)){const e=astFromValue(i,a.ofType);return(null===e||void 0===e?void 0:e.kind)===o.NULL?null:e}if(null===i)return{kind:o.NULL};if(void 0===i)return null;if(p(a)){const e=a.ofType;if(s(i)){const t=[];for(const n of i){const i=astFromValue(n,e);null!=i&&t.push(i)}return{kind:o.LIST,values:t}}return astFromValue(i,e)}if(l(a)){if(!t(i))return null;const e=[];for(const t of Object.values(a.getFields())){const n=astFromValue(i[t.name],t.type);n&&e.push({kind:o.OBJECT_FIELD,name:{kind:o.NAME,value:t.name},value:n})}return{kind:o.OBJECT,fields:e}}if(d(a)){const t=a.serialize(i);if(null==t)return null;if(\"boolean\"===typeof t)return{kind:o.BOOLEAN,value:t};if(\"number\"===typeof t&&Number.isFinite(t)){const e=String(t);return w.test(e)?{kind:o.INT,value:e}:{kind:o.FLOAT,value:e}}if(\"string\"===typeof t)return c(a)?{kind:o.ENUM,value:t}:a===h&&w.test(t)?{kind:o.INT,value:t}:{kind:o.STRING,value:t};throw new TypeError(`Cannot convert value to AST: ${e(t)}.`)}false,n(false,\"Unexpected input type: \"+e(a))}const w=/^-?(?:0|[1-9][0-9]*)$/;const O=new u({name:\"__Schema\",description:\"A GraphQL Schema defines the capabilities of a GraphQL server. It exposes all available types and directives on the server, as well as the entry points for query, mutation, and subscription operations.\",fields:()=>({description:{type:L,resolve:e=>e.description},types:{description:\"A list of all types supported by this server.\",type:new f(new v(new f(A))),resolve(e){return Object.values(e.getTypeMap())}},queryType:{description:\"The type that query operations will be rooted at.\",type:new f(A),resolve:e=>e.getQueryType()},mutationType:{description:\"If this server supports mutation, the type that mutation operations will be rooted at.\",type:A,resolve:e=>e.getMutationType()},subscriptionType:{description:\"If this server support subscription, the type that subscription operations will be rooted at.\",type:A,resolve:e=>e.getSubscriptionType()},directives:{description:\"A list of all directives supported by this server.\",type:new f(new v(new f(_))),resolve:e=>e.getDirectives()}})});const _=new u({name:\"__Directive\",description:\"A Directive provides a way to describe alternate runtime execution and type validation behavior in a GraphQL document.\\n\\nIn some cases, you need to provide options to alter GraphQL's execution behavior in ways field arguments will not suffice, such as conditionally including or skipping a field. Directives provide this by describing additional information to the executor.\",fields:()=>({name:{type:new f(L),resolve:e=>e.name},description:{type:L,resolve:e=>e.description},isRepeatable:{type:new f(b),resolve:e=>e.isRepeatable},locations:{type:new f(new v(new f(R))),resolve:e=>e.locations},args:{type:new f(new v(new f(j))),args:{includeDeprecated:{type:b,defaultValue:false}},resolve(e,{includeDeprecated:t}){return t?e.args:e.args.filter((e=>null==e.deprecationReason))}}})});const R=new y({name:\"__DirectiveLocation\",description:\"A Directive can be adjacent to many parts of the GraphQL language, a __DirectiveLocation describes one such possible adjacencies.\",values:{QUERY:{value:i.QUERY,description:\"Location adjacent to a query operation.\"},MUTATION:{value:i.MUTATION,description:\"Location adjacent to a mutation operation.\"},SUBSCRIPTION:{value:i.SUBSCRIPTION,description:\"Location adjacent to a subscription operation.\"},FIELD:{value:i.FIELD,description:\"Location adjacent to a field.\"},FRAGMENT_DEFINITION:{value:i.FRAGMENT_DEFINITION,description:\"Location adjacent to a fragment definition.\"},FRAGMENT_SPREAD:{value:i.FRAGMENT_SPREAD,description:\"Location adjacent to a fragment spread.\"},INLINE_FRAGMENT:{value:i.INLINE_FRAGMENT,description:\"Location adjacent to an inline fragment.\"},VARIABLE_DEFINITION:{value:i.VARIABLE_DEFINITION,description:\"Location adjacent to a variable definition.\"},SCHEMA:{value:i.SCHEMA,description:\"Location adjacent to a schema definition.\"},SCALAR:{value:i.SCALAR,description:\"Location adjacent to a scalar definition.\"},OBJECT:{value:i.OBJECT,description:\"Location adjacent to an object type definition.\"},FIELD_DEFINITION:{value:i.FIELD_DEFINITION,description:\"Location adjacent to a field definition.\"},ARGUMENT_DEFINITION:{value:i.ARGUMENT_DEFINITION,description:\"Location adjacent to an argument definition.\"},INTERFACE:{value:i.INTERFACE,description:\"Location adjacent to an interface definition.\"},UNION:{value:i.UNION,description:\"Location adjacent to a union definition.\"},ENUM:{value:i.ENUM,description:\"Location adjacent to an enum definition.\"},ENUM_VALUE:{value:i.ENUM_VALUE,description:\"Location adjacent to an enum value definition.\"},INPUT_OBJECT:{value:i.INPUT_OBJECT,description:\"Location adjacent to an input object type definition.\"},INPUT_FIELD_DEFINITION:{value:i.INPUT_FIELD_DEFINITION,description:\"Location adjacent to an input object field definition.\"}}});const A=new u({name:\"__Type\",description:\"The fundamental unit of any GraphQL Schema is the type. There are many kinds of types in GraphQL as represented by the `__TypeKind` enum.\\n\\nDepending on the kind of a type, certain fields describe information about that type. Scalar types provide no information beyond a name, description and optional `specifiedByURL`, while Enum types provide their values. Object and Interface types provide the fields they describe. Abstract types, Union and Interface, provide the Object types possible at runtime. List and NonNull types compose other types.\",fields:()=>({kind:{type:new f(D),resolve(t){if(m(t))return F.SCALAR;if(N(t))return F.OBJECT;if(I(t))return F.INTERFACE;if(T(t))return F.UNION;if(c(t))return F.ENUM;if(l(t))return F.INPUT_OBJECT;if(p(t))return F.LIST;if(r(t))return F.NON_NULL;false,n(false,`Unexpected type: \"${e(t)}\".`)}},name:{type:L,resolve:e=>\"name\"in e?e.name:void 0},description:{type:L,resolve:e=>\"description\"in e?e.description:void 0},specifiedByURL:{type:L,resolve:e=>\"specifiedByURL\"in e?e.specifiedByURL:void 0},fields:{type:new v(new f(g)),args:{includeDeprecated:{type:b,defaultValue:false}},resolve(e,{includeDeprecated:t}){if(N(e)||I(e)){const n=Object.values(e.getFields());return t?n:n.filter((e=>null==e.deprecationReason))}}},interfaces:{type:new v(new f(A)),resolve(e){if(N(e)||I(e))return e.getInterfaces()}},possibleTypes:{type:new v(new f(A)),resolve(e,t,n,{schema:i}){if(E(e))return i.getPossibleTypes(e)}},enumValues:{type:new v(new f(U)),args:{includeDeprecated:{type:b,defaultValue:false}},resolve(e,{includeDeprecated:t}){if(c(e)){const n=e.getValues();return t?n:n.filter((e=>null==e.deprecationReason))}}},inputFields:{type:new v(new f(j)),args:{includeDeprecated:{type:b,defaultValue:false}},resolve(e,{includeDeprecated:t}){if(l(e)){const n=Object.values(e.getFields());return t?n:n.filter((e=>null==e.deprecationReason))}}},ofType:{type:A,resolve:e=>\"ofType\"in e?e.ofType:void 0}})});const g=new u({name:\"__Field\",description:\"Object and Interface types are described by a list of Fields, each of which has a name, potentially a list of arguments, and a return type.\",fields:()=>({name:{type:new f(L),resolve:e=>e.name},description:{type:L,resolve:e=>e.description},args:{type:new f(new v(new f(j))),args:{includeDeprecated:{type:b,defaultValue:false}},resolve(e,{includeDeprecated:t}){return t?e.args:e.args.filter((e=>null==e.deprecationReason))}},type:{type:new f(A),resolve:e=>e.type},isDeprecated:{type:new f(b),resolve:e=>null!=e.deprecationReason},deprecationReason:{type:L,resolve:e=>e.deprecationReason}})});const j=new u({name:\"__InputValue\",description:\"Arguments provided to Fields or Directives and the input fields of an InputObject are represented as Input Values which describe their type and optionally a default value.\",fields:()=>({name:{type:new f(L),resolve:e=>e.name},description:{type:L,resolve:e=>e.description},type:{type:new f(A),resolve:e=>e.type},defaultValue:{type:L,description:\"A GraphQL-formatted string representing the default value for this input value.\",resolve(e){const{type:t,defaultValue:n}=e;const i=astFromValue(n,t);return i?a(i):null}},isDeprecated:{type:new f(b),resolve:e=>null!=e.deprecationReason},deprecationReason:{type:L,resolve:e=>e.deprecationReason}})});const U=new u({name:\"__EnumValue\",description:\"One possible value for a given Enum. Enum values are unique values, not a placeholder for a string or numeric value. However an Enum value is returned in a JSON response as a string.\",fields:()=>({name:{type:new f(L),resolve:e=>e.name},description:{type:L,resolve:e=>e.description},isDeprecated:{type:new f(b),resolve:e=>null!=e.deprecationReason},deprecationReason:{type:L,resolve:e=>e.deprecationReason}})});var F;(function(e){e.SCALAR=\"SCALAR\";e.OBJECT=\"OBJECT\";e.INTERFACE=\"INTERFACE\";e.UNION=\"UNION\";e.ENUM=\"ENUM\";e.INPUT_OBJECT=\"INPUT_OBJECT\";e.LIST=\"LIST\";e.NON_NULL=\"NON_NULL\"})(F||(F={}));const D=new y({name:\"__TypeKind\",description:\"An enum describing what kind of type a given `__Type` is.\",values:{SCALAR:{value:F.SCALAR,description:\"Indicates this type is a scalar.\"},OBJECT:{value:F.OBJECT,description:\"Indicates this type is an object. `fields` and `interfaces` are valid fields.\"},INTERFACE:{value:F.INTERFACE,description:\"Indicates this type is an interface. `fields`, `interfaces`, and `possibleTypes` are valid fields.\"},UNION:{value:F.UNION,description:\"Indicates this type is a union. `possibleTypes` is a valid field.\"},ENUM:{value:F.ENUM,description:\"Indicates this type is an enum. `enumValues` is a valid field.\"},INPUT_OBJECT:{value:F.INPUT_OBJECT,description:\"Indicates this type is an input object. `inputFields` is a valid field.\"},LIST:{value:F.LIST,description:\"Indicates this type is a list. `ofType` is a valid field.\"},NON_NULL:{value:F.NON_NULL,description:\"Indicates this type is a non-null. `ofType` is a valid field.\"}}});const C={name:\"__schema\",type:new f(O),description:\"Access the current type schema of this server.\",args:[],resolve:(e,t,n,{schema:i})=>i,deprecationReason:void 0,extensions:Object.create(null),astNode:void 0};const S={name:\"__type\",type:A,description:\"Request the type information of a single type.\",args:[{name:\"name\",description:void 0,type:new f(L),defaultValue:void 0,deprecationReason:void 0,extensions:Object.create(null),astNode:void 0}],resolve:(e,{name:t},n,{schema:i})=>i.getType(t),deprecationReason:void 0,extensions:Object.create(null),astNode:void 0};const B={name:\"__typename\",type:new f(L),description:\"The name of the current Object type at runtime.\",args:[],resolve:(e,t,n,{parentType:i})=>i.name,deprecationReason:void 0,extensions:Object.create(null),astNode:void 0};const M=Object.freeze([O,_,R,A,g,j,U,D]);function isIntrospectionType(e){return M.some((({name:t})=>e.name===t))}export{C as S,F as T,O as _,M as a,_ as b,R as c,A as d,g as e,j as f,U as g,D as h,isIntrospectionType as i,S as j,B as k,astFromValue as l};\n\n//# sourceMappingURL=ebd60186.js.map","import{d as e}from\"./7892746f.js\";import{inspect as t}from\"../jsutils/inspect.mjs\";import{i as s}from\"./c83a270e.js\";import{c as i}from\"./7dea71b4.js\";import{_ as o,n as r,m as n,o as a,g as c,i as p}from\"./1c63e742.js\";import{O as u}from\"./be682a22.js\";import{h as f,m as l}from\"./c857c0af.js\";import{_ as y}from\"./ebd60186.js\";function isSchema(e){return s(e,GraphQLSchema)}function assertSchema(e){if(!isSchema(e))throw new Error(`Expected ${t(e)} to be a GraphQL schema.`);return e}class GraphQLSchema{constructor(s){var a,c;this.__validationErrors=true===s.assumeValid?[]:void 0;i(s)||e(false,\"Must provide configuration object.\");!s.types||Array.isArray(s.types)||e(false,`\"types\" must be Array if provided but got: ${t(s.types)}.`);!s.directives||Array.isArray(s.directives)||e(false,`\"directives\" must be Array if provided but got: ${t(s.directives)}.`);this.description=s.description;this.extensions=o(s.extensions);this.astNode=s.astNode;this.extensionASTNodes=null!==(a=s.extensionASTNodes)&&void 0!==a?a:[];this._queryType=s.query;this._mutationType=s.mutation;this._subscriptionType=s.subscription;this._directives=null!==(c=s.directives)&&void 0!==c?c:f;const p=new Set(s.types);if(null!=s.types)for(const e of s.types){p.delete(e);collectReferencedTypes(e,p)}null!=this._queryType&&collectReferencedTypes(this._queryType,p);null!=this._mutationType&&collectReferencedTypes(this._mutationType,p);null!=this._subscriptionType&&collectReferencedTypes(this._subscriptionType,p);for(const e of this._directives)if(l(e))for(const t of e.args)collectReferencedTypes(t.type,p);collectReferencedTypes(y,p);this._typeMap=Object.create(null);this._subTypeMap=Object.create(null);this._implementationsMap=Object.create(null);for(const t of p){if(null==t)continue;const s=t.name;s||e(false,\"One of the provided types for building the Schema is missing a name.\");if(void 0!==this._typeMap[s])throw new Error(`Schema must contain uniquely named types but contains multiple types named \"${s}\".`);this._typeMap[s]=t;if(r(t)){for(const e of t.getInterfaces())if(r(e)){let s=this._implementationsMap[e.name];void 0===s&&(s=this._implementationsMap[e.name]={objects:[],interfaces:[]});s.interfaces.push(t)}}else if(n(t))for(const e of t.getInterfaces())if(r(e)){let s=this._implementationsMap[e.name];void 0===s&&(s=this._implementationsMap[e.name]={objects:[],interfaces:[]});s.objects.push(t)}}}get[Symbol.toStringTag](){return\"GraphQLSchema\"}getQueryType(){return this._queryType}getMutationType(){return this._mutationType}getSubscriptionType(){return this._subscriptionType}getRootType(e){switch(e){case u.QUERY:return this.getQueryType();case u.MUTATION:return this.getMutationType();case u.SUBSCRIPTION:return this.getSubscriptionType()}}getTypeMap(){return this._typeMap}getType(e){return this.getTypeMap()[e]}getPossibleTypes(e){return a(e)?e.getTypes():this.getImplementations(e).objects}getImplementations(e){const t=this._implementationsMap[e.name];return null!==t&&void 0!==t?t:{objects:[],interfaces:[]}}isSubType(e,t){let s=this._subTypeMap[e.name];if(void 0===s){s=Object.create(null);if(a(e))for(const t of e.getTypes())s[t.name]=true;else{const t=this.getImplementations(e);for(const e of t.objects)s[e.name]=true;for(const e of t.interfaces)s[e.name]=true}this._subTypeMap[e.name]=s}return void 0!==s[t.name]}getDirectives(){return this._directives}getDirective(e){return this.getDirectives().find((t=>t.name===e))}toConfig(){return{description:this.description,query:this.getQueryType(),mutation:this.getMutationType(),subscription:this.getSubscriptionType(),types:Object.values(this.getTypeMap()),directives:this.getDirectives(),extensions:this.extensions,astNode:this.astNode,extensionASTNodes:this.extensionASTNodes,assumeValid:void 0!==this.__validationErrors}}}function collectReferencedTypes(e,t){const s=c(e);if(!t.has(s)){t.add(s);if(a(s))for(const e of s.getTypes())collectReferencedTypes(e,t);else if(n(s)||r(s)){for(const e of s.getInterfaces())collectReferencedTypes(e,t);for(const e of Object.values(s.getFields())){collectReferencedTypes(e.type,t);for(const s of e.args)collectReferencedTypes(s.type,t)}}else if(p(s))for(const e of Object.values(s.getFields()))collectReferencedTypes(e.type,t)}return t}export{GraphQLSchema as G,assertSchema as a,isSchema as i};\n\n//# sourceMappingURL=6a2aa4f2.js.map","import{inspect as e}from\"../jsutils/inspect.mjs\";import{G as t}from\"./7dea71b4.js\";import{O as o}from\"./be682a22.js\";import{s as r,q as n,x as a,n as s,m as i,t as p,B as l,A as d,o as c,p as m,i as u,u as f,C as y}from\"./1c63e742.js\";import{m as v,k as T}from\"./c857c0af.js\";import{i as $}from\"./ebd60186.js\";import{a as b}from\"./6a2aa4f2.js\";function isEqualType(e,t){return e===t||(r(e)&&r(t)||!(!n(e)||!n(t)))&&isEqualType(e.ofType,t.ofType)}function isTypeSubTypeOf(e,t,o){return t===o||(r(o)?!!r(t)&&isTypeSubTypeOf(e,t.ofType,o.ofType):r(t)?isTypeSubTypeOf(e,t.ofType,o):n(o)?!!n(t)&&isTypeSubTypeOf(e,t.ofType,o.ofType):!n(t)&&(a(o)&&(s(t)||i(t))&&e.isSubType(o,t)))}function doTypesOverlap(e,t,o){return t===o||(a(t)?a(o)?e.getPossibleTypes(t).some((t=>e.isSubType(o,t))):e.isSubType(t,o):!!a(o)&&e.isSubType(o,t))}function validateSchema(e){b(e);if(e.__validationErrors)return e.__validationErrors;const t=new SchemaValidationContext(e);validateRootTypes(t);validateDirectives(t);validateTypes(t);const o=t.getErrors();e.__validationErrors=o;return o}function assertValidSchema(e){const t=validateSchema(e);if(0!==t.length)throw new Error(t.map((e=>e.message)).join(\"\\n\\n\"))}class SchemaValidationContext{constructor(e){this._errors=[];this.schema=e}reportError(e,o){const r=Array.isArray(o)?o.filter(Boolean):o;this._errors.push(new t(e,{nodes:r}))}getErrors(){return this._errors}}function validateRootTypes(t){const r=t.schema;const n=r.getQueryType();if(n){if(!i(n)){var a;t.reportError(`Query root type must be Object type, it cannot be ${e(n)}.`,null!==(a=getOperationTypeNode(r,o.QUERY))&&void 0!==a?a:n.astNode)}}else t.reportError(\"Query root type must be provided.\",r.astNode);const s=r.getMutationType();if(s&&!i(s)){var p;t.reportError(`Mutation root type must be Object type if provided, it cannot be ${e(s)}.`,null!==(p=getOperationTypeNode(r,o.MUTATION))&&void 0!==p?p:s.astNode)}const l=r.getSubscriptionType();if(l&&!i(l)){var d;t.reportError(`Subscription root type must be Object type if provided, it cannot be ${e(l)}.`,null!==(d=getOperationTypeNode(r,o.SUBSCRIPTION))&&void 0!==d?d:l.astNode)}}function getOperationTypeNode(e,t){var o;return null===(o=[e.astNode,...e.extensionASTNodes].flatMap((e=>{var t;return null!==(t=null===e||void 0===e?void 0:e.operationTypes)&&void 0!==t?t:[]})).find((e=>e.operation===t)))||void 0===o?void 0:o.type}function validateDirectives(t){for(const r of t.schema.getDirectives())if(v(r)){validateName(t,r);for(const n of r.args){validateName(t,n);p(n.type)||t.reportError(`The type of @${r.name}(${n.name}:) must be Input Type but got: ${e(n.type)}.`,n.astNode);if(l(n)&&null!=n.deprecationReason){var o;t.reportError(`Required argument @${r.name}(${n.name}:) cannot be deprecated.`,[getDeprecatedDirectiveNode(n.astNode),null===(o=n.astNode)||void 0===o?void 0:o.type])}}}else t.reportError(`Expected directive but got: ${e(r)}.`,null===r||void 0===r?void 0:r.astNode)}function validateName(e,t){t.name.startsWith(\"__\")&&e.reportError(`Name \"${t.name}\" must not begin with \"__\", which is reserved by GraphQL introspection.`,t.astNode)}function validateTypes(t){const o=createInputObjectCircularRefsValidator(t);const r=t.schema.getTypeMap();for(const n of Object.values(r))if(d(n)){$(n)||validateName(t,n);if(i(n)){validateFields(t,n);validateInterfaces(t,n)}else if(s(n)){validateFields(t,n);validateInterfaces(t,n)}else if(c(n))validateUnionMembers(t,n);else if(m(n))validateEnumValues(t,n);else if(u(n)){validateInputFields(t,n);o(n)}}else t.reportError(`Expected GraphQL named type but got: ${e(n)}.`,n.astNode)}function validateFields(t,o){const r=Object.values(o.getFields());0===r.length&&t.reportError(`Type ${o.name} must define one or more fields.`,[o.astNode,...o.extensionASTNodes]);for(const i of r){validateName(t,i);if(!f(i.type)){var n;t.reportError(`The type of ${o.name}.${i.name} must be Output Type but got: ${e(i.type)}.`,null===(n=i.astNode)||void 0===n?void 0:n.type)}for(const r of i.args){const n=r.name;validateName(t,r);if(!p(r.type)){var a;t.reportError(`The type of ${o.name}.${i.name}(${n}:) must be Input Type but got: ${e(r.type)}.`,null===(a=r.astNode)||void 0===a?void 0:a.type)}if(l(r)&&null!=r.deprecationReason){var s;t.reportError(`Required argument ${o.name}.${i.name}(${n}:) cannot be deprecated.`,[getDeprecatedDirectiveNode(r.astNode),null===(s=r.astNode)||void 0===s?void 0:s.type])}}}}function validateInterfaces(t,o){const r=Object.create(null);for(const n of o.getInterfaces())if(s(n))if(o!==n)if(r[n.name])t.reportError(`Type ${o.name} can only implement ${n.name} once.`,getAllImplementsInterfaceNodes(o,n));else{r[n.name]=true;validateTypeImplementsAncestors(t,o,n);validateTypeImplementsInterface(t,o,n)}else t.reportError(`Type ${o.name} cannot implement itself because it would create a circular reference.`,getAllImplementsInterfaceNodes(o,n));else t.reportError(`Type ${e(o)} must only implement Interface types, it cannot implement ${e(n)}.`,getAllImplementsInterfaceNodes(o,n))}function validateTypeImplementsInterface(t,o,r){const n=o.getFields();for(const d of Object.values(r.getFields())){const c=d.name;const m=n[c];if(m){if(!isTypeSubTypeOf(t.schema,m.type,d.type)){var a,s;t.reportError(`Interface field ${r.name}.${c} expects type ${e(d.type)} but ${o.name}.${c} is type ${e(m.type)}.`,[null===(a=d.astNode)||void 0===a?void 0:a.type,null===(s=m.astNode)||void 0===s?void 0:s.type])}for(const n of d.args){const a=n.name;const s=m.args.find((e=>e.name===a));if(s){if(!isEqualType(n.type,s.type)){var i,p;t.reportError(`Interface field argument ${r.name}.${c}(${a}:) expects type ${e(n.type)} but ${o.name}.${c}(${a}:) is type ${e(s.type)}.`,[null===(i=n.astNode)||void 0===i?void 0:i.type,null===(p=s.astNode)||void 0===p?void 0:p.type])}}else t.reportError(`Interface field argument ${r.name}.${c}(${a}:) expected but ${o.name}.${c} does not provide it.`,[n.astNode,m.astNode])}for(const e of m.args){const n=e.name;const a=d.args.find((e=>e.name===n));!a&&l(e)&&t.reportError(`Object field ${o.name}.${c} includes required argument ${n} that is missing from the Interface field ${r.name}.${c}.`,[e.astNode,d.astNode])}}else t.reportError(`Interface field ${r.name}.${c} expected but ${o.name} does not provide it.`,[d.astNode,o.astNode,...o.extensionASTNodes])}}function validateTypeImplementsAncestors(e,t,o){const r=t.getInterfaces();for(const n of o.getInterfaces())r.includes(n)||e.reportError(n===t?`Type ${t.name} cannot implement ${o.name} because it would create a circular reference.`:`Type ${t.name} must implement ${n.name} because it is implemented by ${o.name}.`,[...getAllImplementsInterfaceNodes(o,n),...getAllImplementsInterfaceNodes(t,o)])}function validateUnionMembers(t,o){const r=o.getTypes();0===r.length&&t.reportError(`Union type ${o.name} must define one or more member types.`,[o.astNode,...o.extensionASTNodes]);const n=Object.create(null);for(const a of r)if(n[a.name])t.reportError(`Union type ${o.name} can only include type ${a.name} once.`,getUnionMemberTypeNodes(o,a.name));else{n[a.name]=true;i(a)||t.reportError(`Union type ${o.name} can only include Object types, it cannot include ${e(a)}.`,getUnionMemberTypeNodes(o,String(a)))}}function validateEnumValues(e,t){const o=t.getValues();0===o.length&&e.reportError(`Enum type ${t.name} must define one or more values.`,[t.astNode,...t.extensionASTNodes]);for(const t of o)validateName(e,t)}function validateInputFields(t,o){const r=Object.values(o.getFields());0===r.length&&t.reportError(`Input Object type ${o.name} must define one or more fields.`,[o.astNode,...o.extensionASTNodes]);for(const s of r){validateName(t,s);if(!p(s.type)){var n;t.reportError(`The type of ${o.name}.${s.name} must be Input Type but got: ${e(s.type)}.`,null===(n=s.astNode)||void 0===n?void 0:n.type)}if(y(s)&&null!=s.deprecationReason){var a;t.reportError(`Required input field ${o.name}.${s.name} cannot be deprecated.`,[getDeprecatedDirectiveNode(s.astNode),null===(a=s.astNode)||void 0===a?void 0:a.type])}}}function createInputObjectCircularRefsValidator(e){const t=Object.create(null);const o=[];const n=Object.create(null);return detectCycleRecursive;function detectCycleRecursive(a){if(t[a.name])return;t[a.name]=true;n[a.name]=o.length;const s=Object.values(a.getFields());for(const t of s)if(r(t.type)&&u(t.type.ofType)){const r=t.type.ofType;const a=n[r.name];o.push(t);if(void 0===a)detectCycleRecursive(r);else{const t=o.slice(a);const n=t.map((e=>e.name)).join(\".\");e.reportError(`Cannot reference Input Object \"${r.name}\" within itself through a series of non-null fields: \"${n}\".`,t.map((e=>e.astNode)))}o.pop()}n[a.name]=void 0}}function getAllImplementsInterfaceNodes(e,t){const{astNode:o,extensionASTNodes:r}=e;const n=null!=o?[o,...r]:r;return n.flatMap((e=>{var t;return null!==(t=e.interfaces)&&void 0!==t?t:[]})).filter((e=>e.name.value===t.name))}function getUnionMemberTypeNodes(e,t){const{astNode:o,extensionASTNodes:r}=e;const n=null!=o?[o,...r]:r;return n.flatMap((e=>{var t;return null!==(t=e.types)&&void 0!==t?t:[]})).filter((e=>e.name.value===t))}function getDeprecatedDirectiveNode(e){var t;return null===e||void 0===e||null===(t=e.directives)||void 0===t?void 0:t.find((e=>e.name.value===T.name))}export{assertValidSchema as a,isTypeSubTypeOf as b,doTypesOverlap as d,isEqualType as i,validateSchema as v};\n\n//# sourceMappingURL=5664b464.js.map","import{inspect as e}from\"../jsutils/inspect.mjs\";import{i as n}from\"./7dea71b4.js\";import{s as i,q as r,i as t,Z as u,v as s}from\"./1c63e742.js\";import{Kind as a}from\"../language/kinds.mjs\";function valueFromAST(o,l,f){if(o){if(o.kind===a.VARIABLE){const e=o.name.value;if(null==f||void 0===f[e])return;const n=f[e];if(null===n&&i(l))return;return n}if(i(l)){if(o.kind===a.NULL)return;return valueFromAST(o,l.ofType,f)}if(o.kind===a.NULL)return null;if(r(l)){const e=l.ofType;if(o.kind===a.LIST){const n=[];for(const r of o.values)if(isMissingVariable(r,f)){if(i(e))return;n.push(null)}else{const i=valueFromAST(r,e,f);if(void 0===i)return;n.push(i)}return n}const n=valueFromAST(o,e,f);if(void 0===n)return;return[n]}if(t(l)){if(o.kind!==a.OBJECT)return;const e=Object.create(null);const n=u(o.fields,(e=>e.name.value));for(const r of Object.values(l.getFields())){const t=n[r.name];if(!t||isMissingVariable(t.value,f)){if(void 0!==r.defaultValue)e[r.name]=r.defaultValue;else if(i(r.type))return;continue}const u=valueFromAST(t.value,r.type,f);if(void 0===u)return;e[r.name]=u}return e}if(s(l)){let e;try{e=l.parseLiteral(o,f)}catch(e){return}if(void 0===e)return;return e}false,n(false,\"Unexpected input type: \"+e(l))}}function isMissingVariable(e,n){return e.kind===a.VARIABLE&&(null==n||void 0===n[e.name.value])}export{valueFromAST as v};\n\n//# sourceMappingURL=7a8ad326.js.map","import{inspect as e}from\"../jsutils/inspect.mjs\";import{j as t,h as n,s as r,q as a,i as o,a1 as s,a2 as u,v as l,t as i,Z as c}from\"./1c63e742.js\";import{G as p,c as f,i as d}from\"./7dea71b4.js\";import{Kind as m}from\"../language/kinds.mjs\";import{print as y}from\"../language/printer.mjs\";import{i as v}from\"./cdbc8e30.js\";import{pathToArray as g,addPath as V}from\"../jsutils/Path.mjs\";import{v as w}from\"./7a8ad326.js\";function typeFromAST(e,r){switch(r.kind){case m.LIST_TYPE:{const t=typeFromAST(e,r.type);return t&&new n(t)}case m.NON_NULL_TYPE:{const n=typeFromAST(e,r.type);return n&&new t(n)}case m.NAMED_TYPE:return e.getType(r.name.value)}}function printPathArray(e){return e.map((e=>\"number\"===typeof e?\"[\"+e.toString()+\"]\":\".\"+e)).join(\"\")}function coerceInputValue(e,t,n=defaultOnError){return coerceInputValueImpl(e,t,n,void 0)}function defaultOnError(t,n,r){let a=\"Invalid value \"+e(n);t.length>0&&(a+=` at \"value${printPathArray(t)}\"`);r.message=a+\": \"+r.message;throw r}function coerceInputValueImpl(t,n,i,c){if(r(n)){if(null!=t)return coerceInputValueImpl(t,n.ofType,i,c);i(g(c),t,new p(`Expected non-nullable type \"${e(n)}\" not to be null.`))}else{if(null==t)return null;if(a(n)){const e=n.ofType;return v(t)?Array.from(t,((t,n)=>{const r=V(c,n,void 0);return coerceInputValueImpl(t,e,i,r)})):[coerceInputValueImpl(t,e,i,c)]}if(o(n)){if(!f(t)){i(g(c),t,new p(`Expected type \"${n.name}\" to be an object.`));return}const a={};const o=n.getFields();for(const s of Object.values(o)){const o=t[s.name];if(void 0!==o)a[s.name]=coerceInputValueImpl(o,s.type,i,V(c,s.name,n.name));else if(void 0!==s.defaultValue)a[s.name]=s.defaultValue;else if(r(s.type)){const n=e(s.type);i(g(c),t,new p(`Field \"${s.name}\" of required type \"${n}\" was not provided.`))}}for(const e of Object.keys(t))if(!o[e]){const r=s(e,Object.keys(n.getFields()));i(g(c),t,new p(`Field \"${e}\" is not defined by type \"${n.name}\".`+u(r)))}return a}if(l(n)){let e;try{e=n.parseValue(t)}catch(e){i(g(c),t,e instanceof p?e:new p(`Expected type \"${n.name}\". `+e.message,{originalError:e}));return}void 0===e&&i(g(c),t,new p(`Expected type \"${n.name}\".`));return e}false,d(false,\"Unexpected input type: \"+e(n))}}function getVariableValues(e,t,n,r){const a=[];const o=null===r||void 0===r?void 0:r.maxErrors;try{const r=coerceVariableValues(e,t,n,(e=>{if(null!=o&&a.length>=o)throw new p(\"Too many errors processing variables, error limit reached. Execution aborted.\");a.push(e)}));if(0===a.length)return{coerced:r}}catch(e){a.push(e)}return{errors:a}}function coerceVariableValues(t,n,a,o){const s={};for(const u of n){const n=u.variable.name.value;const l=typeFromAST(t,u.type);if(!i(l)){const e=y(u.type);o(new p(`Variable \"$${n}\" expected value of type \"${e}\" which cannot be used as an input type.`,{nodes:u.type}));continue}if(!hasOwnProperty(a,n)){if(u.defaultValue)s[n]=w(u.defaultValue,l);else if(r(l)){const t=e(l);o(new p(`Variable \"$${n}\" of required type \"${t}\" was not provided.`,{nodes:u}))}continue}const c=a[n];if(null===c&&r(l)){const t=e(l);o(new p(`Variable \"$${n}\" of non-null type \"${t}\" must not be null.`,{nodes:u}))}else s[n]=coerceInputValue(c,l,((t,r,a)=>{let s=`Variable \"$${n}\" got invalid value `+e(r);t.length>0&&(s+=` at \"${n}${printPathArray(t)}\"`);o(new p(s+\"; \"+a.message,{nodes:u,originalError:a}))}))}return s}function getArgumentValues(t,n,a){var o;const s={};const u=null!==(o=n.arguments)&&void 0!==o?o:[];const l=c(u,(e=>e.name.value));for(const o of t.args){const t=o.name;const u=o.type;const i=l[t];if(!i){if(void 0!==o.defaultValue)s[t]=o.defaultValue;else if(r(u))throw new p(`Argument \"${t}\" of required type \"${e(u)}\" was not provided.`,{nodes:n});continue}const c=i.value;let f=c.kind===m.NULL;if(c.kind===m.VARIABLE){const n=c.name.value;if(null==a||!hasOwnProperty(a,n)){if(void 0!==o.defaultValue)s[t]=o.defaultValue;else if(r(u))throw new p(`Argument \"${t}\" of required type \"${e(u)}\" was provided the variable \"$${n}\" which was not provided a runtime value.`,{nodes:c});continue}f=null==a[n]}if(f&&r(u))throw new p(`Argument \"${t}\" of non-null type \"${e(u)}\" must not be null.`,{nodes:c});const d=w(c,u,a);if(void 0===d)throw new p(`Argument \"${t}\" has invalid value ${y(c)}.`,{nodes:c});s[t]=d}return s}function getDirectiveValues(e,t,n){var r;const a=null===(r=t.directives)||void 0===r?void 0:r.find((t=>t.name.value===e.name));if(a)return getArgumentValues(e,a,n)}function hasOwnProperty(e,t){return Object.prototype.hasOwnProperty.call(e,t)}export{getVariableValues as a,getDirectiveValues as b,coerceInputValue as c,getArgumentValues as g,typeFromAST as t};\n\n//# sourceMappingURL=8bd869b7.js.map","import{Kind as e}from\"../language/kinds.mjs\";import{x as t}from\"../_/1c63e742.js\";import{j as o,i}from\"../_/c857c0af.js\";import{b as n,t as s}from\"../_/8bd869b7.js\";import\"../_/7892746f.js\";import\"../jsutils/inspect.mjs\";import\"../_/c83a270e.js\";import\"../_/7dea71b4.js\";import\"../_/e1a6e691.js\";import\"../language/printer.mjs\";import\"../_/8890d1df.js\";import\"../language/visitor.mjs\";import\"../_/be682a22.js\";import\"../_/c8837240.js\";import\"../_/cdbc8e30.js\";import\"../jsutils/Path.mjs\";import\"../_/7a8ad326.js\";function collectFields(e,t,o,i,n){const s=new Map;collectFieldsImpl(e,t,o,i,n,s,new Set);return s}function collectSubfields(e,t,o,i,n){const s=new Map;const c=new Set;for(const l of n)l.selectionSet&&collectFieldsImpl(e,t,o,i,l.selectionSet,s,c);return s}function collectFieldsImpl(t,o,i,n,s,c,l){for(const r of s.selections)switch(r.kind){case e.FIELD:{if(!shouldIncludeNode(i,r))continue;const e=getFieldEntryKey(r);const t=c.get(e);void 0!==t?t.push(r):c.set(e,[r]);break}case e.INLINE_FRAGMENT:if(!shouldIncludeNode(i,r)||!doesFragmentConditionMatch(t,r,n))continue;collectFieldsImpl(t,o,i,n,r.selectionSet,c,l);break;case e.FRAGMENT_SPREAD:{const e=r.name.value;if(l.has(e)||!shouldIncludeNode(i,r))continue;l.add(e);const s=o[e];if(!s||!doesFragmentConditionMatch(t,s,n))continue;collectFieldsImpl(t,o,i,n,s.selectionSet,c,l);break}}}function shouldIncludeNode(e,t){const s=n(o,t,e);if(true===(null===s||void 0===s?void 0:s.if))return false;const c=n(i,t,e);return false!==(null===c||void 0===c?void 0:c.if)}function doesFragmentConditionMatch(e,o,i){const n=o.typeCondition;if(!n)return true;const c=s(e,n);return c===i||!!t(c)&&e.isSubType(c,i)}function getFieldEntryKey(e){return e.alias?e.alias.value:e.name.value}export{collectFields,collectSubfields};\n\n//# sourceMappingURL=collectFields.mjs.map","import{d as e}from\"./7892746f.js\";import{inspect as t}from\"../jsutils/inspect.mjs\";import{G as r,c as o,i as n}from\"./7dea71b4.js\";import{i as s}from\"./cdbc8e30.js\";import{addPath as i,pathToArray as a}from\"../jsutils/Path.mjs\";import{O as l}from\"./be682a22.js\";import{Kind as u}from\"../language/kinds.mjs\";import{s as c,q as f,v as p,x as d,m}from\"./1c63e742.js\";import{S as h,j as v,k as y}from\"./ebd60186.js\";import{a as b}from\"./5664b464.js\";import{collectSubfields as w,collectFields as x}from\"../execution/collectFields.mjs\";import{a as E,g as V}from\"./8bd869b7.js\";function isPromise(e){return\"function\"===typeof(null===e||void 0===e?void 0:e.then)}function memoize3(e){let t;return function memoized(r,o,n){void 0===t&&(t=new WeakMap);let s=t.get(r);if(void 0===s){s=new WeakMap;t.set(r,s)}let i=s.get(o);if(void 0===i){i=new WeakMap;s.set(o,i)}let a=i.get(n);if(void 0===a){a=e(r,o,n);i.set(n,a)}return a}}function promiseForObject(e){return Promise.all(Object.values(e)).then((t=>{const r=Object.create(null);for(const[o,n]of Object.keys(e).entries())r[n]=t[o];return r}))}function promiseReduce(e,t,r){let o=r;for(const r of e)o=isPromise(o)?o.then((e=>t(e,r))):t(o,r);return o}function toError(e){return e instanceof Error?e:new NonErrorThrown(e)}class NonErrorThrown extends Error{constructor(e){super(\"Unexpected error value: \"+t(e));this.name=\"NonErrorThrown\";this.thrownValue=e}}function locatedError(e,t,o){var n;const s=toError(e);return isLocatedGraphQLError(s)?s:new r(s.message,{nodes:null!==(n=s.nodes)&&void 0!==n?n:t,source:s.source,positions:s.positions,path:o,originalError:s})}function isLocatedGraphQLError(e){return Array.isArray(e.path)}const g=memoize3(((e,t,r)=>w(e.schema,e.fragments,e.variableValues,t,r)));function execute(t){arguments.length<2||e(false,\"graphql@16 dropped long-deprecated support for positional arguments, please pass an object instead.\");const{schema:r,document:o,variableValues:n,rootValue:s}=t;assertValidExecutionArguments(r,o,n);const i=buildExecutionContext(t);if(!(\"schema\"in i))return{errors:i};try{const{operation:e}=i;const t=executeOperation(i,e,s);return isPromise(t)?t.then((e=>buildResponse(e,i.errors)),(e=>{i.errors.push(e);return buildResponse(null,i.errors)})):buildResponse(t,i.errors)}catch(e){i.errors.push(e);return buildResponse(null,i.errors)}}function executeSync(e){const t=execute(e);if(isPromise(t))throw new Error(\"GraphQL execution failed to complete synchronously.\");return t}function buildResponse(e,t){return 0===t.length?{data:e}:{errors:t,data:e}}function assertValidExecutionArguments(t,r,n){r||e(false,\"Must provide document.\");b(t);null==n||o(n)||e(false,\"Variables must be provided as an Object where each property is a variable value. Perhaps look to see if an unparsed JSON string was provided.\")}function buildExecutionContext(e){var t,o;const{schema:n,document:s,rootValue:i,contextValue:a,variableValues:l,operationName:c,fieldResolver:f,typeResolver:p,subscribeFieldResolver:d}=e;let m;const h=Object.create(null);for(const e of s.definitions)switch(e.kind){case u.OPERATION_DEFINITION:if(null==c){if(void 0!==m)return[new r(\"Must provide operation name if query contains multiple operations.\")];m=e}else(null===(t=e.name)||void 0===t?void 0:t.value)===c&&(m=e);break;case u.FRAGMENT_DEFINITION:h[e.name.value]=e;break;default:}if(!m)return null!=c?[new r(`Unknown operation named \"${c}\".`)]:[new r(\"Must provide an operation.\")];const v=null!==(o=m.variableDefinitions)&&void 0!==o?o:[];const y=E(n,v,null!==l&&void 0!==l?l:{},{maxErrors:50});return y.errors?y.errors:{schema:n,fragments:h,rootValue:i,contextValue:a,operation:m,variableValues:y.coerced,fieldResolver:null!==f&&void 0!==f?f:defaultFieldResolver,typeResolver:null!==p&&void 0!==p?p:defaultTypeResolver,subscribeFieldResolver:null!==d&&void 0!==d?d:defaultFieldResolver,errors:[]}}function executeOperation(e,t,o){const n=e.schema.getRootType(t.operation);if(null==n)throw new r(`Schema is not configured to execute ${t.operation} operation.`,{nodes:t});const s=x(e.schema,e.fragments,e.variableValues,n,t.selectionSet);const i=void 0;switch(t.operation){case l.QUERY:return executeFields(e,n,o,i,s);case l.MUTATION:return executeFieldsSerially(e,n,o,i,s);case l.SUBSCRIPTION:return executeFields(e,n,o,i,s)}}function executeFieldsSerially(e,t,r,o,n){return promiseReduce(n.entries(),((n,[s,a])=>{const l=i(o,s,t.name);const u=executeField(e,t,r,a,l);if(void 0===u)return n;if(isPromise(u))return u.then((e=>{n[s]=e;return n}));n[s]=u;return n}),Object.create(null))}function executeFields(e,t,r,o,n){const s=Object.create(null);let a=false;try{for(const[l,u]of n.entries()){const n=i(o,l,t.name);const c=executeField(e,t,r,u,n);if(void 0!==c){s[l]=c;isPromise(c)&&(a=true)}}}catch(e){if(a)return promiseForObject(s).finally((()=>{throw e}));throw e}return a?promiseForObject(s):s}function executeField(e,t,r,o,n){var s;const i=getFieldDef(e.schema,t,o[0]);if(!i)return;const l=i.type;const u=null!==(s=i.resolve)&&void 0!==s?s:e.fieldResolver;const c=buildResolveInfo(e,i,o,t,n);try{const t=V(i,o[0],e.variableValues);const s=e.contextValue;const f=u(r,t,s,c);let p;p=isPromise(f)?f.then((t=>completeValue(e,l,o,c,n,t))):completeValue(e,l,o,c,n,f);return isPromise(p)?p.then(void 0,(t=>{const r=locatedError(t,o,a(n));return handleFieldError(r,l,e)})):p}catch(t){const r=locatedError(t,o,a(n));return handleFieldError(r,l,e)}}function buildResolveInfo(e,t,r,o,n){return{fieldName:t.name,fieldNodes:r,returnType:t.type,parentType:o,path:n,schema:e.schema,fragments:e.fragments,rootValue:e.rootValue,operation:e.operation,variableValues:e.variableValues}}function handleFieldError(e,t,r){if(c(t))throw e;r.errors.push(e);return null}function completeValue(e,r,o,s,i,a){if(a instanceof Error)throw a;if(c(r)){const t=completeValue(e,r.ofType,o,s,i,a);if(null===t)throw new Error(`Cannot return null for non-nullable field ${s.parentType.name}.${s.fieldName}.`);return t}if(null==a)return null;if(f(r))return completeListValue(e,r,o,s,i,a);if(p(r))return completeLeafValue(r,a);if(d(r))return completeAbstractValue(e,r,o,s,i,a);if(m(r))return completeObjectValue(e,r,o,s,i,a);false,n(false,\"Cannot complete value of unexpected output type: \"+t(r))}function completeListValue(e,t,o,n,l,u){if(!s(u))throw new r(`Expected Iterable, but did not find one for field \"${n.parentType.name}.${n.fieldName}\".`);const c=t.ofType;let f=false;const p=Array.from(u,((t,r)=>{const s=i(l,r,void 0);try{let r;r=isPromise(t)?t.then((t=>completeValue(e,c,o,n,s,t))):completeValue(e,c,o,n,s,t);if(isPromise(r)){f=true;return r.then(void 0,(t=>{const r=locatedError(t,o,a(s));return handleFieldError(r,c,e)}))}return r}catch(t){const r=locatedError(t,o,a(s));return handleFieldError(r,c,e)}}));return f?Promise.all(p):p}function completeLeafValue(e,r){const o=e.serialize(r);if(null==o)throw new Error(`Expected \\`${t(e)}.serialize(${t(r)})\\` to return non-nullable value, returned: ${t(o)}`);return o}function completeAbstractValue(e,t,r,o,n,s){var i;const a=null!==(i=t.resolveType)&&void 0!==i?i:e.typeResolver;const l=e.contextValue;const u=a(s,l,o,t);return isPromise(u)?u.then((i=>completeObjectValue(e,ensureValidRuntimeType(i,e,t,r,o,s),r,o,n,s))):completeObjectValue(e,ensureValidRuntimeType(u,e,t,r,o,s),r,o,n,s)}function ensureValidRuntimeType(e,o,n,s,i,a){if(null==e)throw new r(`Abstract type \"${n.name}\" must resolve to an Object type at runtime for field \"${i.parentType.name}.${i.fieldName}\". Either the \"${n.name}\" type should provide a \"resolveType\" function or each possible type should provide an \"isTypeOf\" function.`,s);if(m(e))throw new r(\"Support for returning GraphQLObjectType from resolveType was removed in graphql-js@16.0.0 please return type name instead.\");if(\"string\"!==typeof e)throw new r(`Abstract type \"${n.name}\" must resolve to an Object type at runtime for field \"${i.parentType.name}.${i.fieldName}\" with value ${t(a)}, received \"${t(e)}\".`);const l=o.schema.getType(e);if(null==l)throw new r(`Abstract type \"${n.name}\" was resolved to a type \"${e}\" that does not exist inside the schema.`,{nodes:s});if(!m(l))throw new r(`Abstract type \"${n.name}\" was resolved to a non-object type \"${e}\".`,{nodes:s});if(!o.schema.isSubType(n,l))throw new r(`Runtime Object type \"${l.name}\" is not a possible type for \"${n.name}\".`,{nodes:s});return l}function completeObjectValue(e,t,r,o,n,s){const i=g(e,t,r);if(t.isTypeOf){const a=t.isTypeOf(s,e.contextValue,o);if(isPromise(a))return a.then((o=>{if(!o)throw invalidReturnTypeError(t,s,r);return executeFields(e,t,s,n,i)}));if(!a)throw invalidReturnTypeError(t,s,r)}return executeFields(e,t,s,n,i)}function invalidReturnTypeError(e,o,n){return new r(`Expected value of type \"${e.name}\" but got: ${t(o)}.`,{nodes:n})}const defaultTypeResolver=function(e,t,r,n){if(o(e)&&\"string\"===typeof e.__typename)return e.__typename;const s=r.schema.getPossibleTypes(n);const i=[];for(let o=0;o<s.length;o++){const n=s[o];if(n.isTypeOf){const s=n.isTypeOf(e,t,r);if(isPromise(s))i[o]=s;else if(s)return n.name}}return i.length?Promise.all(i).then((e=>{for(let t=0;t<e.length;t++)if(e[t])return s[t].name})):void 0};const defaultFieldResolver=function(e,t,r,n){if(o(e)||\"function\"===typeof e){const o=e[n.fieldName];return\"function\"===typeof o?e[n.fieldName](t,r,n):o}};function getFieldDef(e,t,r){const o=r.name.value;return o===h.name&&e.getQueryType()===t?h:o===v.name&&e.getQueryType()===t?v:o===y.name?y:t.getFields()[o]}export{executeSync as a,defaultTypeResolver as b,assertValidExecutionArguments as c,defaultFieldResolver as d,execute as e,buildExecutionContext as f,getFieldDef as g,buildResolveInfo as h,isPromise as i,locatedError as l};\n\n//# sourceMappingURL=09c5bd0b.js.map","import{d as e}from\"../_/7892746f.js\";import{inspect as t}from\"../jsutils/inspect.mjs\";import{i}from\"../_/c83a270e.js\";class Source{constructor(i,o=\"GraphQL request\",s={line:1,column:1}){\"string\"===typeof i||e(false,`Body must be a string. Received: ${t(i)}.`);this.body=i;this.name=o;this.locationOffset=s;this.locationOffset.line>0||e(false,\"line in locationOffset is 1-indexed and must be positive.\");this.locationOffset.column>0||e(false,\"column in locationOffset is 1-indexed and must be positive.\")}get[Symbol.toStringTag](){return\"Source\"}}function isSource(e){return i(e,Source)}export{Source,isSource};\n\n//# sourceMappingURL=source.mjs.map","import{G as e}from\"./7dea71b4.js\";import{T as t,O as n,L as s}from\"./be682a22.js\";import{D as i}from\"./c8837240.js\";import{Kind as r}from\"../language/kinds.mjs\";import{b as o,a,d as c,i as p}from\"./8890d1df.js\";import{isSource as h,Source as d}from\"../language/source.mjs\";function syntaxError(t,n,s){return new e(`Syntax Error: ${s}`,{source:t,positions:[n]})}var u;(function(e){e.SOF=\"<SOF>\";e.EOF=\"<EOF>\";e.BANG=\"!\";e.DOLLAR=\"$\";e.AMP=\"&\";e.PAREN_L=\"(\";e.PAREN_R=\")\";e.SPREAD=\"...\";e.COLON=\":\";e.EQUALS=\"=\";e.AT=\"@\";e.BRACKET_L=\"[\";e.BRACKET_R=\"]\";e.BRACE_L=\"{\";e.PIPE=\"|\";e.BRACE_R=\"}\";e.NAME=\"Name\";e.INT=\"Int\";e.FLOAT=\"Float\";e.STRING=\"String\";e.BLOCK_STRING=\"BlockString\";e.COMMENT=\"Comment\"})(u||(u={}));\n/**\n * The enum type representing the token kinds values.\n *\n * @deprecated Please use `TokenKind`. Will be remove in v17.\n */class Lexer{constructor(e){const n=new t(u.SOF,0,0,0,0);this.source=e;this.lastToken=n;this.token=n;this.line=1;this.lineStart=0}get[Symbol.toStringTag](){return\"Lexer\"}advance(){this.lastToken=this.token;const e=this.token=this.lookahead();return e}lookahead(){let e=this.token;if(e.kind!==u.EOF)do{if(e.next)e=e.next;else{const t=readNextToken(this,e.end);e.next=t;t.prev=e;e=t}}while(e.kind===u.COMMENT);return e}}function isPunctuatorTokenKind(e){return e===u.BANG||e===u.DOLLAR||e===u.AMP||e===u.PAREN_L||e===u.PAREN_R||e===u.SPREAD||e===u.COLON||e===u.EQUALS||e===u.AT||e===u.BRACKET_L||e===u.BRACKET_R||e===u.BRACE_L||e===u.PIPE||e===u.BRACE_R}function isUnicodeScalarValue(e){return e>=0&&e<=55295||e>=57344&&e<=1114111}function isSupplementaryCodePoint(e,t){return isLeadingSurrogate(e.charCodeAt(t))&&isTrailingSurrogate(e.charCodeAt(t+1))}function isLeadingSurrogate(e){return e>=55296&&e<=56319}function isTrailingSurrogate(e){return e>=56320&&e<=57343}function printCodePointAt(e,t){const n=e.source.body.codePointAt(t);if(void 0===n)return u.EOF;if(n>=32&&n<=126){const e=String.fromCodePoint(n);return'\"'===e?\"'\\\"'\":`\"${e}\"`}return\"U+\"+n.toString(16).toUpperCase().padStart(4,\"0\")}function createToken(e,n,s,i,r){const o=e.line;const a=1+s-e.lineStart;return new t(n,s,i,o,a,r)}function readNextToken(e,t){const n=e.source.body;const s=n.length;let i=t;while(i<s){const t=n.charCodeAt(i);switch(t){case 65279:case 9:case 32:case 44:++i;continue;case 10:++i;++e.line;e.lineStart=i;continue;case 13:10===n.charCodeAt(i+1)?i+=2:++i;++e.line;e.lineStart=i;continue;case 35:return readComment(e,i);case 33:return createToken(e,u.BANG,i,i+1);case 36:return createToken(e,u.DOLLAR,i,i+1);case 38:return createToken(e,u.AMP,i,i+1);case 40:return createToken(e,u.PAREN_L,i,i+1);case 41:return createToken(e,u.PAREN_R,i,i+1);case 46:if(46===n.charCodeAt(i+1)&&46===n.charCodeAt(i+2))return createToken(e,u.SPREAD,i,i+3);break;case 58:return createToken(e,u.COLON,i,i+1);case 61:return createToken(e,u.EQUALS,i,i+1);case 64:return createToken(e,u.AT,i,i+1);case 91:return createToken(e,u.BRACKET_L,i,i+1);case 93:return createToken(e,u.BRACKET_R,i,i+1);case 123:return createToken(e,u.BRACE_L,i,i+1);case 124:return createToken(e,u.PIPE,i,i+1);case 125:return createToken(e,u.BRACE_R,i,i+1);case 34:return 34===n.charCodeAt(i+1)&&34===n.charCodeAt(i+2)?readBlockString(e,i):readString(e,i)}if(o(t)||45===t)return readNumber(e,i,t);if(a(t))return readName(e,i);throw syntaxError(e.source,i,39===t?\"Unexpected single quote character ('), did you mean to use a double quote (\\\")?\":isUnicodeScalarValue(t)||isSupplementaryCodePoint(n,i)?`Unexpected character: ${printCodePointAt(e,i)}.`:`Invalid character: ${printCodePointAt(e,i)}.`)}return createToken(e,u.EOF,s,s)}function readComment(e,t){const n=e.source.body;const s=n.length;let i=t+1;while(i<s){const e=n.charCodeAt(i);if(10===e||13===e)break;if(isUnicodeScalarValue(e))++i;else{if(!isSupplementaryCodePoint(n,i))break;i+=2}}return createToken(e,u.COMMENT,t,i,n.slice(t+1,i))}function readNumber(e,t,n){const s=e.source.body;let i=t;let r=n;let c=false;45===r&&(r=s.charCodeAt(++i));if(48===r){r=s.charCodeAt(++i);if(o(r))throw syntaxError(e.source,i,`Invalid number, unexpected digit after 0: ${printCodePointAt(e,i)}.`)}else{i=readDigits(e,i,r);r=s.charCodeAt(i)}if(46===r){c=true;r=s.charCodeAt(++i);i=readDigits(e,i,r);r=s.charCodeAt(i)}if(69===r||101===r){c=true;r=s.charCodeAt(++i);43!==r&&45!==r||(r=s.charCodeAt(++i));i=readDigits(e,i,r);r=s.charCodeAt(i)}if(46===r||a(r))throw syntaxError(e.source,i,`Invalid number, expected digit but got: ${printCodePointAt(e,i)}.`);return createToken(e,c?u.FLOAT:u.INT,t,i,s.slice(t,i))}function readDigits(e,t,n){if(!o(n))throw syntaxError(e.source,t,`Invalid number, expected digit but got: ${printCodePointAt(e,t)}.`);const s=e.source.body;let i=t+1;while(o(s.charCodeAt(i)))++i;return i}function readString(e,t){const n=e.source.body;const s=n.length;let i=t+1;let r=i;let o=\"\";while(i<s){const s=n.charCodeAt(i);if(34===s){o+=n.slice(r,i);return createToken(e,u.STRING,t,i+1,o)}if(92!==s){if(10===s||13===s)break;if(isUnicodeScalarValue(s))++i;else{if(!isSupplementaryCodePoint(n,i))throw syntaxError(e.source,i,`Invalid character within String: ${printCodePointAt(e,i)}.`);i+=2}}else{o+=n.slice(r,i);const t=117===n.charCodeAt(i+1)?123===n.charCodeAt(i+2)?readEscapedUnicodeVariableWidth(e,i):readEscapedUnicodeFixedWidth(e,i):readEscapedCharacter(e,i);o+=t.value;i+=t.size;r=i}}throw syntaxError(e.source,i,\"Unterminated string.\")}function readEscapedUnicodeVariableWidth(e,t){const n=e.source.body;let s=0;let i=3;while(i<12){const e=n.charCodeAt(t+i++);if(125===e){if(i<5||!isUnicodeScalarValue(s))break;return{value:String.fromCodePoint(s),size:i}}s=s<<4|readHexDigit(e);if(s<0)break}throw syntaxError(e.source,t,`Invalid Unicode escape sequence: \"${n.slice(t,t+i)}\".`)}function readEscapedUnicodeFixedWidth(e,t){const n=e.source.body;const s=read16BitHexCode(n,t+2);if(isUnicodeScalarValue(s))return{value:String.fromCodePoint(s),size:6};if(isLeadingSurrogate(s)&&92===n.charCodeAt(t+6)&&117===n.charCodeAt(t+7)){const e=read16BitHexCode(n,t+8);if(isTrailingSurrogate(e))return{value:String.fromCodePoint(s,e),size:12}}throw syntaxError(e.source,t,`Invalid Unicode escape sequence: \"${n.slice(t,t+6)}\".`)}function read16BitHexCode(e,t){return readHexDigit(e.charCodeAt(t))<<12|readHexDigit(e.charCodeAt(t+1))<<8|readHexDigit(e.charCodeAt(t+2))<<4|readHexDigit(e.charCodeAt(t+3))}function readHexDigit(e){return e>=48&&e<=57?e-48:e>=65&&e<=70?e-55:e>=97&&e<=102?e-87:-1}function readEscapedCharacter(e,t){const n=e.source.body;const s=n.charCodeAt(t+1);switch(s){case 34:return{value:'\"',size:2};case 92:return{value:\"\\\\\",size:2};case 47:return{value:\"/\",size:2};case 98:return{value:\"\\b\",size:2};case 102:return{value:\"\\f\",size:2};case 110:return{value:\"\\n\",size:2};case 114:return{value:\"\\r\",size:2};case 116:return{value:\"\\t\",size:2}}throw syntaxError(e.source,t,`Invalid character escape sequence: \"${n.slice(t,t+2)}\".`)}function readBlockString(e,t){const n=e.source.body;const s=n.length;let i=e.lineStart;let r=t+3;let o=r;let a=\"\";const p=[];while(r<s){const s=n.charCodeAt(r);if(34===s&&34===n.charCodeAt(r+1)&&34===n.charCodeAt(r+2)){a+=n.slice(o,r);p.push(a);const s=createToken(e,u.BLOCK_STRING,t,r+3,c(p).join(\"\\n\"));e.line+=p.length-1;e.lineStart=i;return s}if(92!==s||34!==n.charCodeAt(r+1)||34!==n.charCodeAt(r+2)||34!==n.charCodeAt(r+3))if(10!==s&&13!==s)if(isUnicodeScalarValue(s))++r;else{if(!isSupplementaryCodePoint(n,r))throw syntaxError(e.source,r,`Invalid character within String: ${printCodePointAt(e,r)}.`);r+=2}else{a+=n.slice(o,r);p.push(a);13===s&&10===n.charCodeAt(r+1)?r+=2:++r;a=\"\";o=r;i=r}else{a+=n.slice(o,r);o=r+1;r+=4}}throw syntaxError(e.source,r,\"Unterminated string.\")}function readName(e,t){const n=e.source.body;const s=n.length;let i=t+1;while(i<s){const e=n.charCodeAt(i);if(!p(e))break;++i}return createToken(e,u.NAME,t,i,n.slice(t,i))}function parse(e,t){const n=new Parser(e,t);return n.parseDocument()}function parseValue(e,t){const n=new Parser(e,t);n.expectToken(u.SOF);const s=n.parseValueLiteral(false);n.expectToken(u.EOF);return s}function parseConstValue(e,t){const n=new Parser(e,t);n.expectToken(u.SOF);const s=n.parseConstValueLiteral();n.expectToken(u.EOF);return s}function parseType(e,t){const n=new Parser(e,t);n.expectToken(u.SOF);const s=n.parseTypeReference();n.expectToken(u.EOF);return s}class Parser{constructor(e,t={}){const n=h(e)?e:new d(e);this._lexer=new Lexer(n);this._options=t;this._tokenCounter=0}parseName(){const e=this.expectToken(u.NAME);return this.node(e,{kind:r.NAME,value:e.value})}parseDocument(){return this.node(this._lexer.token,{kind:r.DOCUMENT,definitions:this.many(u.SOF,this.parseDefinition,u.EOF)})}parseDefinition(){if(this.peek(u.BRACE_L))return this.parseOperationDefinition();const e=this.peekDescription();const t=e?this._lexer.lookahead():this._lexer.token;if(t.kind===u.NAME){switch(t.value){case\"schema\":return this.parseSchemaDefinition();case\"scalar\":return this.parseScalarTypeDefinition();case\"type\":return this.parseObjectTypeDefinition();case\"interface\":return this.parseInterfaceTypeDefinition();case\"union\":return this.parseUnionTypeDefinition();case\"enum\":return this.parseEnumTypeDefinition();case\"input\":return this.parseInputObjectTypeDefinition();case\"directive\":return this.parseDirectiveDefinition()}if(e)throw syntaxError(this._lexer.source,this._lexer.token.start,\"Unexpected description, descriptions are supported only on type definitions.\");switch(t.value){case\"query\":case\"mutation\":case\"subscription\":return this.parseOperationDefinition();case\"fragment\":return this.parseFragmentDefinition();case\"extend\":return this.parseTypeSystemExtension()}}throw this.unexpected(t)}parseOperationDefinition(){const e=this._lexer.token;if(this.peek(u.BRACE_L))return this.node(e,{kind:r.OPERATION_DEFINITION,operation:n.QUERY,name:void 0,variableDefinitions:[],directives:[],selectionSet:this.parseSelectionSet()});const t=this.parseOperationType();let s;this.peek(u.NAME)&&(s=this.parseName());return this.node(e,{kind:r.OPERATION_DEFINITION,operation:t,name:s,variableDefinitions:this.parseVariableDefinitions(),directives:this.parseDirectives(false),selectionSet:this.parseSelectionSet()})}parseOperationType(){const e=this.expectToken(u.NAME);switch(e.value){case\"query\":return n.QUERY;case\"mutation\":return n.MUTATION;case\"subscription\":return n.SUBSCRIPTION}throw this.unexpected(e)}parseVariableDefinitions(){return this.optionalMany(u.PAREN_L,this.parseVariableDefinition,u.PAREN_R)}parseVariableDefinition(){return this.node(this._lexer.token,{kind:r.VARIABLE_DEFINITION,variable:this.parseVariable(),type:(this.expectToken(u.COLON),this.parseTypeReference()),defaultValue:this.expectOptionalToken(u.EQUALS)?this.parseConstValueLiteral():void 0,directives:this.parseConstDirectives()})}parseVariable(){const e=this._lexer.token;this.expectToken(u.DOLLAR);return this.node(e,{kind:r.VARIABLE,name:this.parseName()})}parseSelectionSet(){return this.node(this._lexer.token,{kind:r.SELECTION_SET,selections:this.many(u.BRACE_L,this.parseSelection,u.BRACE_R)})}parseSelection(){return this.peek(u.SPREAD)?this.parseFragment():this.parseField()}parseField(){const e=this._lexer.token;const t=this.parseName();let n;let s;if(this.expectOptionalToken(u.COLON)){n=t;s=this.parseName()}else s=t;return this.node(e,{kind:r.FIELD,alias:n,name:s,arguments:this.parseArguments(false),directives:this.parseDirectives(false),selectionSet:this.peek(u.BRACE_L)?this.parseSelectionSet():void 0})}parseArguments(e){const t=e?this.parseConstArgument:this.parseArgument;return this.optionalMany(u.PAREN_L,t,u.PAREN_R)}parseArgument(e=false){const t=this._lexer.token;const n=this.parseName();this.expectToken(u.COLON);return this.node(t,{kind:r.ARGUMENT,name:n,value:this.parseValueLiteral(e)})}parseConstArgument(){return this.parseArgument(true)}parseFragment(){const e=this._lexer.token;this.expectToken(u.SPREAD);const t=this.expectOptionalKeyword(\"on\");return!t&&this.peek(u.NAME)?this.node(e,{kind:r.FRAGMENT_SPREAD,name:this.parseFragmentName(),directives:this.parseDirectives(false)}):this.node(e,{kind:r.INLINE_FRAGMENT,typeCondition:t?this.parseNamedType():void 0,directives:this.parseDirectives(false),selectionSet:this.parseSelectionSet()})}parseFragmentDefinition(){const e=this._lexer.token;this.expectKeyword(\"fragment\");return true===this._options.allowLegacyFragmentVariables?this.node(e,{kind:r.FRAGMENT_DEFINITION,name:this.parseFragmentName(),variableDefinitions:this.parseVariableDefinitions(),typeCondition:(this.expectKeyword(\"on\"),this.parseNamedType()),directives:this.parseDirectives(false),selectionSet:this.parseSelectionSet()}):this.node(e,{kind:r.FRAGMENT_DEFINITION,name:this.parseFragmentName(),typeCondition:(this.expectKeyword(\"on\"),this.parseNamedType()),directives:this.parseDirectives(false),selectionSet:this.parseSelectionSet()})}parseFragmentName(){if(\"on\"===this._lexer.token.value)throw this.unexpected();return this.parseName()}parseValueLiteral(e){const t=this._lexer.token;switch(t.kind){case u.BRACKET_L:return this.parseList(e);case u.BRACE_L:return this.parseObject(e);case u.INT:this.advanceLexer();return this.node(t,{kind:r.INT,value:t.value});case u.FLOAT:this.advanceLexer();return this.node(t,{kind:r.FLOAT,value:t.value});case u.STRING:case u.BLOCK_STRING:return this.parseStringLiteral();case u.NAME:this.advanceLexer();switch(t.value){case\"true\":return this.node(t,{kind:r.BOOLEAN,value:true});case\"false\":return this.node(t,{kind:r.BOOLEAN,value:false});case\"null\":return this.node(t,{kind:r.NULL});default:return this.node(t,{kind:r.ENUM,value:t.value})}case u.DOLLAR:if(e){this.expectToken(u.DOLLAR);if(this._lexer.token.kind===u.NAME){const e=this._lexer.token.value;throw syntaxError(this._lexer.source,t.start,`Unexpected variable \"$${e}\" in constant value.`)}throw this.unexpected(t)}return this.parseVariable();default:throw this.unexpected()}}parseConstValueLiteral(){return this.parseValueLiteral(true)}parseStringLiteral(){const e=this._lexer.token;this.advanceLexer();return this.node(e,{kind:r.STRING,value:e.value,block:e.kind===u.BLOCK_STRING})}parseList(e){const item=()=>this.parseValueLiteral(e);return this.node(this._lexer.token,{kind:r.LIST,values:this.any(u.BRACKET_L,item,u.BRACKET_R)})}parseObject(e){const item=()=>this.parseObjectField(e);return this.node(this._lexer.token,{kind:r.OBJECT,fields:this.any(u.BRACE_L,item,u.BRACE_R)})}parseObjectField(e){const t=this._lexer.token;const n=this.parseName();this.expectToken(u.COLON);return this.node(t,{kind:r.OBJECT_FIELD,name:n,value:this.parseValueLiteral(e)})}parseDirectives(e){const t=[];while(this.peek(u.AT))t.push(this.parseDirective(e));return t}parseConstDirectives(){return this.parseDirectives(true)}parseDirective(e){const t=this._lexer.token;this.expectToken(u.AT);return this.node(t,{kind:r.DIRECTIVE,name:this.parseName(),arguments:this.parseArguments(e)})}parseTypeReference(){const e=this._lexer.token;let t;if(this.expectOptionalToken(u.BRACKET_L)){const n=this.parseTypeReference();this.expectToken(u.BRACKET_R);t=this.node(e,{kind:r.LIST_TYPE,type:n})}else t=this.parseNamedType();return this.expectOptionalToken(u.BANG)?this.node(e,{kind:r.NON_NULL_TYPE,type:t}):t}parseNamedType(){return this.node(this._lexer.token,{kind:r.NAMED_TYPE,name:this.parseName()})}peekDescription(){return this.peek(u.STRING)||this.peek(u.BLOCK_STRING)}parseDescription(){if(this.peekDescription())return this.parseStringLiteral()}parseSchemaDefinition(){const e=this._lexer.token;const t=this.parseDescription();this.expectKeyword(\"schema\");const n=this.parseConstDirectives();const s=this.many(u.BRACE_L,this.parseOperationTypeDefinition,u.BRACE_R);return this.node(e,{kind:r.SCHEMA_DEFINITION,description:t,directives:n,operationTypes:s})}parseOperationTypeDefinition(){const e=this._lexer.token;const t=this.parseOperationType();this.expectToken(u.COLON);const n=this.parseNamedType();return this.node(e,{kind:r.OPERATION_TYPE_DEFINITION,operation:t,type:n})}parseScalarTypeDefinition(){const e=this._lexer.token;const t=this.parseDescription();this.expectKeyword(\"scalar\");const n=this.parseName();const s=this.parseConstDirectives();return this.node(e,{kind:r.SCALAR_TYPE_DEFINITION,description:t,name:n,directives:s})}parseObjectTypeDefinition(){const e=this._lexer.token;const t=this.parseDescription();this.expectKeyword(\"type\");const n=this.parseName();const s=this.parseImplementsInterfaces();const i=this.parseConstDirectives();const o=this.parseFieldsDefinition();return this.node(e,{kind:r.OBJECT_TYPE_DEFINITION,description:t,name:n,interfaces:s,directives:i,fields:o})}parseImplementsInterfaces(){return this.expectOptionalKeyword(\"implements\")?this.delimitedMany(u.AMP,this.parseNamedType):[]}parseFieldsDefinition(){return this.optionalMany(u.BRACE_L,this.parseFieldDefinition,u.BRACE_R)}parseFieldDefinition(){const e=this._lexer.token;const t=this.parseDescription();const n=this.parseName();const s=this.parseArgumentDefs();this.expectToken(u.COLON);const i=this.parseTypeReference();const o=this.parseConstDirectives();return this.node(e,{kind:r.FIELD_DEFINITION,description:t,name:n,arguments:s,type:i,directives:o})}parseArgumentDefs(){return this.optionalMany(u.PAREN_L,this.parseInputValueDef,u.PAREN_R)}parseInputValueDef(){const e=this._lexer.token;const t=this.parseDescription();const n=this.parseName();this.expectToken(u.COLON);const s=this.parseTypeReference();let i;this.expectOptionalToken(u.EQUALS)&&(i=this.parseConstValueLiteral());const o=this.parseConstDirectives();return this.node(e,{kind:r.INPUT_VALUE_DEFINITION,description:t,name:n,type:s,defaultValue:i,directives:o})}parseInterfaceTypeDefinition(){const e=this._lexer.token;const t=this.parseDescription();this.expectKeyword(\"interface\");const n=this.parseName();const s=this.parseImplementsInterfaces();const i=this.parseConstDirectives();const o=this.parseFieldsDefinition();return this.node(e,{kind:r.INTERFACE_TYPE_DEFINITION,description:t,name:n,interfaces:s,directives:i,fields:o})}parseUnionTypeDefinition(){const e=this._lexer.token;const t=this.parseDescription();this.expectKeyword(\"union\");const n=this.parseName();const s=this.parseConstDirectives();const i=this.parseUnionMemberTypes();return this.node(e,{kind:r.UNION_TYPE_DEFINITION,description:t,name:n,directives:s,types:i})}parseUnionMemberTypes(){return this.expectOptionalToken(u.EQUALS)?this.delimitedMany(u.PIPE,this.parseNamedType):[]}parseEnumTypeDefinition(){const e=this._lexer.token;const t=this.parseDescription();this.expectKeyword(\"enum\");const n=this.parseName();const s=this.parseConstDirectives();const i=this.parseEnumValuesDefinition();return this.node(e,{kind:r.ENUM_TYPE_DEFINITION,description:t,name:n,directives:s,values:i})}parseEnumValuesDefinition(){return this.optionalMany(u.BRACE_L,this.parseEnumValueDefinition,u.BRACE_R)}parseEnumValueDefinition(){const e=this._lexer.token;const t=this.parseDescription();const n=this.parseEnumValueName();const s=this.parseConstDirectives();return this.node(e,{kind:r.ENUM_VALUE_DEFINITION,description:t,name:n,directives:s})}parseEnumValueName(){if(\"true\"===this._lexer.token.value||\"false\"===this._lexer.token.value||\"null\"===this._lexer.token.value)throw syntaxError(this._lexer.source,this._lexer.token.start,`${getTokenDesc(this._lexer.token)} is reserved and cannot be used for an enum value.`);return this.parseName()}parseInputObjectTypeDefinition(){const e=this._lexer.token;const t=this.parseDescription();this.expectKeyword(\"input\");const n=this.parseName();const s=this.parseConstDirectives();const i=this.parseInputFieldsDefinition();return this.node(e,{kind:r.INPUT_OBJECT_TYPE_DEFINITION,description:t,name:n,directives:s,fields:i})}parseInputFieldsDefinition(){return this.optionalMany(u.BRACE_L,this.parseInputValueDef,u.BRACE_R)}parseTypeSystemExtension(){const e=this._lexer.lookahead();if(e.kind===u.NAME)switch(e.value){case\"schema\":return this.parseSchemaExtension();case\"scalar\":return this.parseScalarTypeExtension();case\"type\":return this.parseObjectTypeExtension();case\"interface\":return this.parseInterfaceTypeExtension();case\"union\":return this.parseUnionTypeExtension();case\"enum\":return this.parseEnumTypeExtension();case\"input\":return this.parseInputObjectTypeExtension()}throw this.unexpected(e)}parseSchemaExtension(){const e=this._lexer.token;this.expectKeyword(\"extend\");this.expectKeyword(\"schema\");const t=this.parseConstDirectives();const n=this.optionalMany(u.BRACE_L,this.parseOperationTypeDefinition,u.BRACE_R);if(0===t.length&&0===n.length)throw this.unexpected();return this.node(e,{kind:r.SCHEMA_EXTENSION,directives:t,operationTypes:n})}parseScalarTypeExtension(){const e=this._lexer.token;this.expectKeyword(\"extend\");this.expectKeyword(\"scalar\");const t=this.parseName();const n=this.parseConstDirectives();if(0===n.length)throw this.unexpected();return this.node(e,{kind:r.SCALAR_TYPE_EXTENSION,name:t,directives:n})}parseObjectTypeExtension(){const e=this._lexer.token;this.expectKeyword(\"extend\");this.expectKeyword(\"type\");const t=this.parseName();const n=this.parseImplementsInterfaces();const s=this.parseConstDirectives();const i=this.parseFieldsDefinition();if(0===n.length&&0===s.length&&0===i.length)throw this.unexpected();return this.node(e,{kind:r.OBJECT_TYPE_EXTENSION,name:t,interfaces:n,directives:s,fields:i})}parseInterfaceTypeExtension(){const e=this._lexer.token;this.expectKeyword(\"extend\");this.expectKeyword(\"interface\");const t=this.parseName();const n=this.parseImplementsInterfaces();const s=this.parseConstDirectives();const i=this.parseFieldsDefinition();if(0===n.length&&0===s.length&&0===i.length)throw this.unexpected();return this.node(e,{kind:r.INTERFACE_TYPE_EXTENSION,name:t,interfaces:n,directives:s,fields:i})}parseUnionTypeExtension(){const e=this._lexer.token;this.expectKeyword(\"extend\");this.expectKeyword(\"union\");const t=this.parseName();const n=this.parseConstDirectives();const s=this.parseUnionMemberTypes();if(0===n.length&&0===s.length)throw this.unexpected();return this.node(e,{kind:r.UNION_TYPE_EXTENSION,name:t,directives:n,types:s})}parseEnumTypeExtension(){const e=this._lexer.token;this.expectKeyword(\"extend\");this.expectKeyword(\"enum\");const t=this.parseName();const n=this.parseConstDirectives();const s=this.parseEnumValuesDefinition();if(0===n.length&&0===s.length)throw this.unexpected();return this.node(e,{kind:r.ENUM_TYPE_EXTENSION,name:t,directives:n,values:s})}parseInputObjectTypeExtension(){const e=this._lexer.token;this.expectKeyword(\"extend\");this.expectKeyword(\"input\");const t=this.parseName();const n=this.parseConstDirectives();const s=this.parseInputFieldsDefinition();if(0===n.length&&0===s.length)throw this.unexpected();return this.node(e,{kind:r.INPUT_OBJECT_TYPE_EXTENSION,name:t,directives:n,fields:s})}parseDirectiveDefinition(){const e=this._lexer.token;const t=this.parseDescription();this.expectKeyword(\"directive\");this.expectToken(u.AT);const n=this.parseName();const s=this.parseArgumentDefs();const i=this.expectOptionalKeyword(\"repeatable\");this.expectKeyword(\"on\");const o=this.parseDirectiveLocations();return this.node(e,{kind:r.DIRECTIVE_DEFINITION,description:t,name:n,arguments:s,repeatable:i,locations:o})}parseDirectiveLocations(){return this.delimitedMany(u.PIPE,this.parseDirectiveLocation)}parseDirectiveLocation(){const e=this._lexer.token;const t=this.parseName();if(Object.prototype.hasOwnProperty.call(i,t.value))return t;throw this.unexpected(e)}node(e,t){true!==this._options.noLocation&&(t.loc=new s(e,this._lexer.lastToken,this._lexer.source));return t}peek(e){return this._lexer.token.kind===e}expectToken(e){const t=this._lexer.token;if(t.kind===e){this.advanceLexer();return t}throw syntaxError(this._lexer.source,t.start,`Expected ${getTokenKindDesc(e)}, found ${getTokenDesc(t)}.`)}expectOptionalToken(e){const t=this._lexer.token;if(t.kind===e){this.advanceLexer();return true}return false}expectKeyword(e){const t=this._lexer.token;if(t.kind!==u.NAME||t.value!==e)throw syntaxError(this._lexer.source,t.start,`Expected \"${e}\", found ${getTokenDesc(t)}.`);this.advanceLexer()}expectOptionalKeyword(e){const t=this._lexer.token;if(t.kind===u.NAME&&t.value===e){this.advanceLexer();return true}return false}unexpected(e){const t=null!==e&&void 0!==e?e:this._lexer.token;return syntaxError(this._lexer.source,t.start,`Unexpected ${getTokenDesc(t)}.`)}any(e,t,n){this.expectToken(e);const s=[];while(!this.expectOptionalToken(n))s.push(t.call(this));return s}optionalMany(e,t,n){if(this.expectOptionalToken(e)){const e=[];do{e.push(t.call(this))}while(!this.expectOptionalToken(n));return e}return[]}many(e,t,n){this.expectToken(e);const s=[];do{s.push(t.call(this))}while(!this.expectOptionalToken(n));return s}delimitedMany(e,t){this.expectOptionalToken(e);const n=[];do{n.push(t.call(this))}while(this.expectOptionalToken(e));return n}advanceLexer(){const{maxTokens:e}=this._options;const t=this._lexer.advance();if(void 0!==e&&t.kind!==u.EOF){++this._tokenCounter;if(this._tokenCounter>e)throw syntaxError(this._lexer.source,t.start,`Document contains more that ${e} tokens. Parsing aborted.`)}}}function getTokenDesc(e){const t=e.value;return getTokenKindDesc(e.kind)+(null!=t?` \"${t}\"`:\"\")}function getTokenKindDesc(e){return isPunctuatorTokenKind(e)?`\"${e}\"`:e}export{Lexer as L,Parser as P,u as T,parseValue as a,parseConstValue as b,parseType as c,isPunctuatorTokenKind as i,parse as p,syntaxError as s};\n\n//# sourceMappingURL=da4c7d10.js.map","import{Kind as i}from\"../language/kinds.mjs\";function isDefinitionNode(i){return isExecutableDefinitionNode(i)||isTypeSystemDefinitionNode(i)||isTypeSystemExtensionNode(i)}function isExecutableDefinitionNode(n){return n.kind===i.OPERATION_DEFINITION||n.kind===i.FRAGMENT_DEFINITION}function isSelectionNode(n){return n.kind===i.FIELD||n.kind===i.FRAGMENT_SPREAD||n.kind===i.INLINE_FRAGMENT}function isValueNode(n){return n.kind===i.VARIABLE||n.kind===i.INT||n.kind===i.FLOAT||n.kind===i.STRING||n.kind===i.BOOLEAN||n.kind===i.NULL||n.kind===i.ENUM||n.kind===i.LIST||n.kind===i.OBJECT}function isConstValueNode(n){return isValueNode(n)&&(n.kind===i.LIST?n.values.some(isConstValueNode):n.kind===i.OBJECT?n.fields.some((i=>isConstValueNode(i.value))):n.kind!==i.VARIABLE)}function isTypeNode(n){return n.kind===i.NAMED_TYPE||n.kind===i.LIST_TYPE||n.kind===i.NON_NULL_TYPE}function isTypeSystemDefinitionNode(n){return n.kind===i.SCHEMA_DEFINITION||isTypeDefinitionNode(n)||n.kind===i.DIRECTIVE_DEFINITION}function isTypeDefinitionNode(n){return n.kind===i.SCALAR_TYPE_DEFINITION||n.kind===i.OBJECT_TYPE_DEFINITION||n.kind===i.INTERFACE_TYPE_DEFINITION||n.kind===i.UNION_TYPE_DEFINITION||n.kind===i.ENUM_TYPE_DEFINITION||n.kind===i.INPUT_OBJECT_TYPE_DEFINITION}function isTypeSystemExtensionNode(n){return n.kind===i.SCHEMA_EXTENSION||isTypeExtensionNode(n)}function isTypeExtensionNode(n){return n.kind===i.SCALAR_TYPE_EXTENSION||n.kind===i.OBJECT_TYPE_EXTENSION||n.kind===i.INTERFACE_TYPE_EXTENSION||n.kind===i.UNION_TYPE_EXTENSION||n.kind===i.ENUM_TYPE_EXTENSION||n.kind===i.INPUT_OBJECT_TYPE_EXTENSION}export{isExecutableDefinitionNode as a,isSelectionNode as b,isValueNode as c,isConstValueNode as d,isTypeNode as e,isTypeSystemDefinitionNode as f,isTypeDefinitionNode as g,isTypeSystemExtensionNode as h,isDefinitionNode as i,isTypeExtensionNode as j};\n\n//# sourceMappingURL=5c7fa0d9.js.map","import{d as e}from\"./7892746f.js\";import{G as n,i as t}from\"./7dea71b4.js\";import{getEnterLeaveForKind as o,visit as s,visitInParallel as i}from\"../language/visitor.mjs\";import{d as r,b as a,a as c}from\"./5664b464.js\";import{i as l,O as u}from\"./be682a22.js\";import{Kind as f}from\"../language/kinds.mjs\";import{t as d,w as p,u as m,g,p as T,i as E,V as h,q as N,m as v,n as y,a2 as I,x as F,Y as _,a1 as S,s as O,v as b,l as R,o as D,k,B as A,Z as U,C as w}from\"./1c63e742.js\";import{S as V,j as C,k as $,a as P}from\"./ebd60186.js\";import{t as j}from\"./8bd869b7.js\";import{a as L,g as q,f as x,h as M,j as B}from\"./5c7fa0d9.js\";import{print as Y}from\"../language/printer.mjs\";import{h as X,s as K}from\"./c857c0af.js\";import{inspect as G}from\"../jsutils/inspect.mjs\";import{D as J}from\"./c8837240.js\";import{collectFields as W}from\"../execution/collectFields.mjs\";class TypeInfo{constructor(e,n,\n/** @deprecated will be removed in 17.0.0 */\nt){this._schema=e;this._typeStack=[];this._parentTypeStack=[];this._inputTypeStack=[];this._fieldDefStack=[];this._defaultValueStack=[];this._directive=null;this._argument=null;this._enumValue=null;this._getFieldDef=null!==t&&void 0!==t?t:getFieldDef;if(n){d(n)&&this._inputTypeStack.push(n);p(n)&&this._parentTypeStack.push(n);m(n)&&this._typeStack.push(n)}}get[Symbol.toStringTag](){return\"TypeInfo\"}getType(){if(this._typeStack.length>0)return this._typeStack[this._typeStack.length-1]}getParentType(){if(this._parentTypeStack.length>0)return this._parentTypeStack[this._parentTypeStack.length-1]}getInputType(){if(this._inputTypeStack.length>0)return this._inputTypeStack[this._inputTypeStack.length-1]}getParentInputType(){if(this._inputTypeStack.length>1)return this._inputTypeStack[this._inputTypeStack.length-2]}getFieldDef(){if(this._fieldDefStack.length>0)return this._fieldDefStack[this._fieldDefStack.length-1]}getDefaultValue(){if(this._defaultValueStack.length>0)return this._defaultValueStack[this._defaultValueStack.length-1]}getDirective(){return this._directive}getArgument(){return this._argument}getEnumValue(){return this._enumValue}enter(e){const n=this._schema;switch(e.kind){case f.SELECTION_SET:{const e=g(this.getType());this._parentTypeStack.push(p(e)?e:void 0);break}case f.FIELD:{const t=this.getParentType();let o;let s;if(t){o=this._getFieldDef(n,t,e);o&&(s=o.type)}this._fieldDefStack.push(o);this._typeStack.push(m(s)?s:void 0);break}case f.DIRECTIVE:this._directive=n.getDirective(e.name.value);break;case f.OPERATION_DEFINITION:{const t=n.getRootType(e.operation);this._typeStack.push(v(t)?t:void 0);break}case f.INLINE_FRAGMENT:case f.FRAGMENT_DEFINITION:{const t=e.typeCondition;const o=t?j(n,t):g(this.getType());this._typeStack.push(m(o)?o:void 0);break}case f.VARIABLE_DEFINITION:{const t=j(n,e.type);this._inputTypeStack.push(d(t)?t:void 0);break}case f.ARGUMENT:{var t;let n;let o;const s=null!==(t=this.getDirective())&&void 0!==t?t:this.getFieldDef();if(s){n=s.args.find((n=>n.name===e.name.value));n&&(o=n.type)}this._argument=n;this._defaultValueStack.push(n?n.defaultValue:void 0);this._inputTypeStack.push(d(o)?o:void 0);break}case f.LIST:{const e=h(this.getInputType());const n=N(e)?e.ofType:e;this._defaultValueStack.push(void 0);this._inputTypeStack.push(d(n)?n:void 0);break}case f.OBJECT_FIELD:{const n=g(this.getInputType());let t;let o;if(E(n)){o=n.getFields()[e.name.value];o&&(t=o.type)}this._defaultValueStack.push(o?o.defaultValue:void 0);this._inputTypeStack.push(d(t)?t:void 0);break}case f.ENUM:{const n=g(this.getInputType());let t;T(n)&&(t=n.getValue(e.value));this._enumValue=t;break}default:}}leave(e){switch(e.kind){case f.SELECTION_SET:this._parentTypeStack.pop();break;case f.FIELD:this._fieldDefStack.pop();this._typeStack.pop();break;case f.DIRECTIVE:this._directive=null;break;case f.OPERATION_DEFINITION:case f.INLINE_FRAGMENT:case f.FRAGMENT_DEFINITION:this._typeStack.pop();break;case f.VARIABLE_DEFINITION:this._inputTypeStack.pop();break;case f.ARGUMENT:this._argument=null;this._defaultValueStack.pop();this._inputTypeStack.pop();break;case f.LIST:case f.OBJECT_FIELD:this._defaultValueStack.pop();this._inputTypeStack.pop();break;case f.ENUM:this._enumValue=null;break;default:}}}function getFieldDef(e,n,t){const o=t.name.value;return o===V.name&&e.getQueryType()===n?V:o===C.name&&e.getQueryType()===n?C:o===$.name&&p(n)?$:v(n)||y(n)?n.getFields()[o]:void 0}function visitWithTypeInfo(e,n){return{enter(...t){const s=t[0];e.enter(s);const i=o(n,s.kind).enter;if(i){const o=i.apply(n,t);if(void 0!==o){e.leave(s);l(o)&&e.enter(o)}return o}},leave(...t){const s=t[0];const i=o(n,s.kind).leave;let r;i&&(r=i.apply(n,t));e.leave(s);return r}}}function ExecutableDefinitionsRule(e){return{Document(t){for(const o of t.definitions)if(!L(o)){const t=o.kind===f.SCHEMA_DEFINITION||o.kind===f.SCHEMA_EXTENSION?\"schema\":'\"'+o.name.value+'\"';e.reportError(new n(`The ${t} definition is not executable.`,{nodes:o}))}return false}}}function FieldsOnCorrectTypeRule(e){return{Field(t){const o=e.getParentType();if(o){const s=e.getFieldDef();if(!s){const s=e.getSchema();const i=t.name.value;let r=I(\"to use an inline fragment on\",getSuggestedTypeNames(s,o,i));\"\"===r&&(r=I(getSuggestedFieldNames(o,i)));e.reportError(new n(`Cannot query field \"${i}\" on type \"${o.name}\".`+r,{nodes:t}))}}}}}function getSuggestedTypeNames(e,n,t){if(!F(n))return[];const o=new Set;const s=Object.create(null);for(const r of e.getPossibleTypes(n))if(r.getFields()[t]){o.add(r);s[r.name]=1;for(const e of r.getInterfaces()){var i;if(e.getFields()[t]){o.add(e);s[e.name]=(null!==(i=s[e.name])&&void 0!==i?i:0)+1}}}return[...o].sort(((n,t)=>{const o=s[t.name]-s[n.name];return 0!==o?o:y(n)&&e.isSubType(n,t)?-1:y(t)&&e.isSubType(t,n)?1:_(n.name,t.name)})).map((e=>e.name))}function getSuggestedFieldNames(e,n){if(v(e)||y(e)){const t=Object.keys(e.getFields());return S(n,t)}return[]}function FragmentsOnCompositeTypesRule(e){return{InlineFragment(t){const o=t.typeCondition;if(o){const t=j(e.getSchema(),o);if(t&&!p(t)){const t=Y(o);e.reportError(new n(`Fragment cannot condition on non composite type \"${t}\".`,{nodes:o}))}}},FragmentDefinition(t){const o=j(e.getSchema(),t.typeCondition);if(o&&!p(o)){const o=Y(t.typeCondition);e.reportError(new n(`Fragment \"${t.name.value}\" cannot condition on non composite type \"${o}\".`,{nodes:t.typeCondition}))}}}}function KnownArgumentNamesRule(e){return{...KnownArgumentNamesOnDirectivesRule(e),Argument(t){const o=e.getArgument();const s=e.getFieldDef();const i=e.getParentType();if(!o&&s&&i){const o=t.name.value;const r=s.args.map((e=>e.name));const a=S(o,r);e.reportError(new n(`Unknown argument \"${o}\" on field \"${i.name}.${s.name}\".`+I(a),{nodes:t}))}}}}function KnownArgumentNamesOnDirectivesRule(e){const t=Object.create(null);const o=e.getSchema();const s=o?o.getDirectives():X;for(const e of s)t[e.name]=e.args.map((e=>e.name));const i=e.getDocument().definitions;for(const e of i)if(e.kind===f.DIRECTIVE_DEFINITION){var r;const n=null!==(r=e.arguments)&&void 0!==r?r:[];t[e.name.value]=n.map((e=>e.name.value))}return{Directive(o){const s=o.name.value;const i=t[s];if(o.arguments&&i)for(const t of o.arguments){const o=t.name.value;if(!i.includes(o)){const r=S(o,i);e.reportError(new n(`Unknown argument \"${o}\" on directive \"@${s}\".`+I(r),{nodes:t}))}}return false}}}function KnownDirectivesRule(e){const t=Object.create(null);const o=e.getSchema();const s=o?o.getDirectives():X;for(const e of s)t[e.name]=e.locations;const i=e.getDocument().definitions;for(const e of i)e.kind===f.DIRECTIVE_DEFINITION&&(t[e.name.value]=e.locations.map((e=>e.value)));return{Directive(o,s,i,r,a){const c=o.name.value;const l=t[c];if(!l){e.reportError(new n(`Unknown directive \"@${c}\".`,{nodes:o}));return}const u=getDirectiveLocationForASTPath(a);u&&!l.includes(u)&&e.reportError(new n(`Directive \"@${c}\" may not be used on ${u}.`,{nodes:o}))}}}function getDirectiveLocationForASTPath(e){const n=e[e.length-1];\"kind\"in n||t(false);switch(n.kind){case f.OPERATION_DEFINITION:return getDirectiveLocationForOperation(n.operation);case f.FIELD:return J.FIELD;case f.FRAGMENT_SPREAD:return J.FRAGMENT_SPREAD;case f.INLINE_FRAGMENT:return J.INLINE_FRAGMENT;case f.FRAGMENT_DEFINITION:return J.FRAGMENT_DEFINITION;case f.VARIABLE_DEFINITION:return J.VARIABLE_DEFINITION;case f.SCHEMA_DEFINITION:case f.SCHEMA_EXTENSION:return J.SCHEMA;case f.SCALAR_TYPE_DEFINITION:case f.SCALAR_TYPE_EXTENSION:return J.SCALAR;case f.OBJECT_TYPE_DEFINITION:case f.OBJECT_TYPE_EXTENSION:return J.OBJECT;case f.FIELD_DEFINITION:return J.FIELD_DEFINITION;case f.INTERFACE_TYPE_DEFINITION:case f.INTERFACE_TYPE_EXTENSION:return J.INTERFACE;case f.UNION_TYPE_DEFINITION:case f.UNION_TYPE_EXTENSION:return J.UNION;case f.ENUM_TYPE_DEFINITION:case f.ENUM_TYPE_EXTENSION:return J.ENUM;case f.ENUM_VALUE_DEFINITION:return J.ENUM_VALUE;case f.INPUT_OBJECT_TYPE_DEFINITION:case f.INPUT_OBJECT_TYPE_EXTENSION:return J.INPUT_OBJECT;case f.INPUT_VALUE_DEFINITION:{const n=e[e.length-3];\"kind\"in n||t(false);return n.kind===f.INPUT_OBJECT_TYPE_DEFINITION?J.INPUT_FIELD_DEFINITION:J.ARGUMENT_DEFINITION}default:false,t(false,\"Unexpected kind: \"+G(n.kind))}}function getDirectiveLocationForOperation(e){switch(e){case u.QUERY:return J.QUERY;case u.MUTATION:return J.MUTATION;case u.SUBSCRIPTION:return J.SUBSCRIPTION}}function KnownFragmentNamesRule(e){return{FragmentSpread(t){const o=t.name.value;const s=e.getFragment(o);s||e.reportError(new n(`Unknown fragment \"${o}\".`,{nodes:t.name}))}}}function KnownTypeNamesRule(e){const t=e.getSchema();const o=t?t.getTypeMap():Object.create(null);const s=Object.create(null);for(const n of e.getDocument().definitions)q(n)&&(s[n.name.value]=true);const i=[...Object.keys(o),...Object.keys(s)];return{NamedType(t,r,a,c,l){const u=t.name.value;if(!o[u]&&!s[u]){var f;const o=null!==(f=l[2])&&void 0!==f?f:a;const s=null!=o&&isSDLNode(o);if(s&&H.includes(u))return;const r=S(u,s?H.concat(i):i);e.reportError(new n(`Unknown type \"${u}\".`+I(r),{nodes:t}))}}}}const H=[...K,...P].map((e=>e.name));function isSDLNode(e){return\"kind\"in e&&(x(e)||M(e))}function LoneAnonymousOperationRule(e){let t=0;return{Document(e){t=e.definitions.filter((e=>e.kind===f.OPERATION_DEFINITION)).length},OperationDefinition(o){!o.name&&t>1&&e.reportError(new n(\"This anonymous operation must be the only defined operation.\",{nodes:o}))}}}function LoneSchemaDefinitionRule(e){var t,o,s;const i=e.getSchema();const r=null!==(t=null!==(o=null!==(s=null===i||void 0===i?void 0:i.astNode)&&void 0!==s?s:null===i||void 0===i?void 0:i.getQueryType())&&void 0!==o?o:null===i||void 0===i?void 0:i.getMutationType())&&void 0!==t?t:null===i||void 0===i?void 0:i.getSubscriptionType();let a=0;return{SchemaDefinition(t){if(r)e.reportError(new n(\"Cannot define a new schema within a schema extension.\",{nodes:t}));else{a>0&&e.reportError(new n(\"Must provide only one schema definition.\",{nodes:t}));++a}}}}function NoFragmentCyclesRule(e){const t=Object.create(null);const o=[];const s=Object.create(null);return{OperationDefinition:()=>false,FragmentDefinition(e){detectCycleRecursive(e);return false}};function detectCycleRecursive(i){if(t[i.name.value])return;const r=i.name.value;t[r]=true;const a=e.getFragmentSpreads(i.selectionSet);if(0!==a.length){s[r]=o.length;for(const t of a){const i=t.name.value;const r=s[i];o.push(t);if(void 0===r){const n=e.getFragment(i);n&&detectCycleRecursive(n)}else{const t=o.slice(r);const s=t.slice(0,-1).map((e=>'\"'+e.name.value+'\"')).join(\", \");e.reportError(new n(`Cannot spread fragment \"${i}\" within itself`+(\"\"!==s?` via ${s}.`:\".\"),{nodes:t}))}o.pop()}s[r]=void 0}}}function NoUndefinedVariablesRule(e){let t=Object.create(null);return{OperationDefinition:{enter(){t=Object.create(null)},leave(o){const s=e.getRecursiveVariableUsages(o);for(const{node:i}of s){const s=i.name.value;true!==t[s]&&e.reportError(new n(o.name?`Variable \"$${s}\" is not defined by operation \"${o.name.value}\".`:`Variable \"$${s}\" is not defined.`,{nodes:[i,o]}))}}},VariableDefinition(e){t[e.variable.name.value]=true}}}function NoUnusedFragmentsRule(e){const t=[];const o=[];return{OperationDefinition(e){t.push(e);return false},FragmentDefinition(e){o.push(e);return false},Document:{leave(){const s=Object.create(null);for(const n of t)for(const t of e.getRecursivelyReferencedFragments(n))s[t.name.value]=true;for(const t of o){const o=t.name.value;true!==s[o]&&e.reportError(new n(`Fragment \"${o}\" is never used.`,{nodes:t}))}}}}}function NoUnusedVariablesRule(e){let t=[];return{OperationDefinition:{enter(){t=[]},leave(o){const s=Object.create(null);const i=e.getRecursiveVariableUsages(o);for(const{node:e}of i)s[e.name.value]=true;for(const i of t){const t=i.variable.name.value;true!==s[t]&&e.reportError(new n(o.name?`Variable \"$${t}\" is never used in operation \"${o.name.value}\".`:`Variable \"$${t}\" is never used.`,{nodes:i}))}}},VariableDefinition(e){t.push(e)}}}function sortValueNode(e){switch(e.kind){case f.OBJECT:return{...e,fields:sortFields(e.fields)};case f.LIST:return{...e,values:e.values.map(sortValueNode)};case f.INT:case f.FLOAT:case f.STRING:case f.BOOLEAN:case f.NULL:case f.ENUM:case f.VARIABLE:return e}}function sortFields(e){return e.map((e=>({...e,value:sortValueNode(e.value)}))).sort(((e,n)=>_(e.name.value,n.name.value)))}function reasonMessage(e){return Array.isArray(e)?e.map((([e,n])=>`subfields \"${e}\" conflict because `+reasonMessage(n))).join(\" and \"):e}function OverlappingFieldsCanBeMergedRule(e){const t=new PairSet;const o=new Map;return{SelectionSet(s){const i=findConflictsWithinSelectionSet(e,o,t,e.getParentType(),s);for(const[[t,o],s,r]of i){const i=reasonMessage(o);e.reportError(new n(`Fields \"${t}\" conflict because ${i}. Use different aliases on the fields to fetch both if this was intentional.`,{nodes:s.concat(r)}))}}}}function findConflictsWithinSelectionSet(e,n,t,o,s){const i=[];const[r,a]=getFieldsAndFragmentNames(e,n,o,s);collectConflictsWithin(e,i,n,t,r);if(0!==a.length)for(let o=0;o<a.length;o++){collectConflictsBetweenFieldsAndFragment(e,i,n,t,false,r,a[o]);for(let s=o+1;s<a.length;s++)collectConflictsBetweenFragments(e,i,n,t,false,a[o],a[s])}return i}function collectConflictsBetweenFieldsAndFragment(e,n,t,o,s,i,r){const a=e.getFragment(r);if(!a)return;const[c,l]=getReferencedFieldsAndFragmentNames(e,t,a);if(i!==c){collectConflictsBetween(e,n,t,o,s,i,c);for(const a of l)if(!o.has(a,r,s)){o.add(a,r,s);collectConflictsBetweenFieldsAndFragment(e,n,t,o,s,i,a)}}}function collectConflictsBetweenFragments(e,n,t,o,s,i,r){if(i===r)return;if(o.has(i,r,s))return;o.add(i,r,s);const a=e.getFragment(i);const c=e.getFragment(r);if(!a||!c)return;const[l,u]=getReferencedFieldsAndFragmentNames(e,t,a);const[f,d]=getReferencedFieldsAndFragmentNames(e,t,c);collectConflictsBetween(e,n,t,o,s,l,f);for(const r of d)collectConflictsBetweenFragments(e,n,t,o,s,i,r);for(const i of u)collectConflictsBetweenFragments(e,n,t,o,s,i,r)}function findConflictsBetweenSubSelectionSets(e,n,t,o,s,i,r,a){const c=[];const[l,u]=getFieldsAndFragmentNames(e,n,s,i);const[f,d]=getFieldsAndFragmentNames(e,n,r,a);collectConflictsBetween(e,c,n,t,o,l,f);for(const s of d)collectConflictsBetweenFieldsAndFragment(e,c,n,t,o,l,s);for(const s of u)collectConflictsBetweenFieldsAndFragment(e,c,n,t,o,f,s);for(const s of u)for(const i of d)collectConflictsBetweenFragments(e,c,n,t,o,s,i);return c}function collectConflictsWithin(e,n,t,o,s){for(const[i,r]of Object.entries(s))if(r.length>1)for(let s=0;s<r.length;s++)for(let a=s+1;a<r.length;a++){const c=findConflict(e,t,o,false,i,r[s],r[a]);c&&n.push(c)}}function collectConflictsBetween(e,n,t,o,s,i,r){for(const[a,c]of Object.entries(i)){const i=r[a];if(i)for(const r of c)for(const c of i){const i=findConflict(e,t,o,s,a,r,c);i&&n.push(i)}}}function findConflict(e,n,t,o,s,i,r){const[a,c,l]=i;const[u,f,d]=r;const p=o||a!==u&&v(a)&&v(u);if(!p){const e=c.name.value;const n=f.name.value;if(e!==n)return[[s,`\"${e}\" and \"${n}\" are different fields`],[c],[f]];if(stringifyArguments(c)!==stringifyArguments(f))return[[s,\"they have differing arguments\"],[c],[f]]}const m=null===l||void 0===l?void 0:l.type;const T=null===d||void 0===d?void 0:d.type;if(m&&T&&doTypesConflict(m,T))return[[s,`they return conflicting types \"${G(m)}\" and \"${G(T)}\"`],[c],[f]];const E=c.selectionSet;const h=f.selectionSet;if(E&&h){const o=findConflictsBetweenSubSelectionSets(e,n,t,p,g(m),E,g(T),h);return subfieldConflicts(o,s,c,f)}}function stringifyArguments(e){var n;const t=null!==(n=e.arguments)&&void 0!==n?n:[];const o={kind:f.OBJECT,fields:t.map((e=>({kind:f.OBJECT_FIELD,name:e.name,value:e.value})))};return Y(sortValueNode(o))}function doTypesConflict(e,n){return N(e)?!N(n)||doTypesConflict(e.ofType,n.ofType):!!N(n)||(O(e)?!O(n)||doTypesConflict(e.ofType,n.ofType):!!O(n)||!(!b(e)&&!b(n))&&e!==n)}function getFieldsAndFragmentNames(e,n,t,o){const s=n.get(o);if(s)return s;const i=Object.create(null);const r=Object.create(null);_collectFieldsAndFragmentNames(e,t,o,i,r);const a=[i,Object.keys(r)];n.set(o,a);return a}function getReferencedFieldsAndFragmentNames(e,n,t){const o=n.get(t.selectionSet);if(o)return o;const s=j(e.getSchema(),t.typeCondition);return getFieldsAndFragmentNames(e,n,s,t.selectionSet)}function _collectFieldsAndFragmentNames(e,n,t,o,s){for(const i of t.selections)switch(i.kind){case f.FIELD:{const e=i.name.value;let t;(v(n)||y(n))&&(t=n.getFields()[e]);const s=i.alias?i.alias.value:e;o[s]||(o[s]=[]);o[s].push([n,i,t]);break}case f.FRAGMENT_SPREAD:s[i.name.value]=true;break;case f.INLINE_FRAGMENT:{const t=i.typeCondition;const r=t?j(e.getSchema(),t):n;_collectFieldsAndFragmentNames(e,r,i.selectionSet,o,s);break}}}function subfieldConflicts(e,n,t,o){if(e.length>0)return[[n,e.map((([e])=>e))],[t,...e.map((([,e])=>e)).flat()],[o,...e.map((([,,e])=>e)).flat()]]}class PairSet{constructor(){this._data=new Map}has(e,n,t){var o;const[s,i]=e<n?[e,n]:[n,e];const r=null===(o=this._data.get(s))||void 0===o?void 0:o.get(i);return void 0!==r&&(!!t||t===r)}add(e,n,t){const[o,s]=e<n?[e,n]:[n,e];const i=this._data.get(o);void 0===i?this._data.set(o,new Map([[s,t]])):i.set(s,t)}}function PossibleFragmentSpreadsRule(e){return{InlineFragment(t){const o=e.getType();const s=e.getParentType();if(p(o)&&p(s)&&!r(e.getSchema(),o,s)){const i=G(s);const r=G(o);e.reportError(new n(`Fragment cannot be spread here as objects of type \"${i}\" can never be of type \"${r}\".`,{nodes:t}))}},FragmentSpread(t){const o=t.name.value;const s=getFragmentType(e,o);const i=e.getParentType();if(s&&i&&!r(e.getSchema(),s,i)){const r=G(i);const a=G(s);e.reportError(new n(`Fragment \"${o}\" cannot be spread here as objects of type \"${r}\" can never be of type \"${a}\".`,{nodes:t}))}}}}function getFragmentType(e,n){const t=e.getFragment(n);if(t){const n=j(e.getSchema(),t.typeCondition);if(p(n))return n}}function PossibleTypeExtensionsRule(e){const t=e.getSchema();const o=Object.create(null);for(const n of e.getDocument().definitions)q(n)&&(o[n.name.value]=n);return{ScalarTypeExtension:checkExtension,ObjectTypeExtension:checkExtension,InterfaceTypeExtension:checkExtension,UnionTypeExtension:checkExtension,EnumTypeExtension:checkExtension,InputObjectTypeExtension:checkExtension};function checkExtension(s){const i=s.name.value;const r=o[i];const a=null===t||void 0===t?void 0:t.getType(i);let c;r?c=Q[r.kind]:a&&(c=typeToExtKind(a));if(c){if(c!==s.kind){const t=extensionKindToTypeName(s.kind);e.reportError(new n(`Cannot extend non-${t} type \"${i}\".`,{nodes:r?[r,s]:s}))}}else{const r=Object.keys({...o,...null===t||void 0===t?void 0:t.getTypeMap()});const a=S(i,r);e.reportError(new n(`Cannot extend type \"${i}\" because it is not defined.`+I(a),{nodes:s.name}))}}}const Q={[f.SCALAR_TYPE_DEFINITION]:f.SCALAR_TYPE_EXTENSION,[f.OBJECT_TYPE_DEFINITION]:f.OBJECT_TYPE_EXTENSION,[f.INTERFACE_TYPE_DEFINITION]:f.INTERFACE_TYPE_EXTENSION,[f.UNION_TYPE_DEFINITION]:f.UNION_TYPE_EXTENSION,[f.ENUM_TYPE_DEFINITION]:f.ENUM_TYPE_EXTENSION,[f.INPUT_OBJECT_TYPE_DEFINITION]:f.INPUT_OBJECT_TYPE_EXTENSION};function typeToExtKind(e){if(R(e))return f.SCALAR_TYPE_EXTENSION;if(v(e))return f.OBJECT_TYPE_EXTENSION;if(y(e))return f.INTERFACE_TYPE_EXTENSION;if(D(e))return f.UNION_TYPE_EXTENSION;if(T(e))return f.ENUM_TYPE_EXTENSION;if(E(e))return f.INPUT_OBJECT_TYPE_EXTENSION;false,t(false,\"Unexpected type: \"+G(e))}function extensionKindToTypeName(e){switch(e){case f.SCALAR_TYPE_EXTENSION:return\"scalar\";case f.OBJECT_TYPE_EXTENSION:return\"object\";case f.INTERFACE_TYPE_EXTENSION:return\"interface\";case f.UNION_TYPE_EXTENSION:return\"union\";case f.ENUM_TYPE_EXTENSION:return\"enum\";case f.INPUT_OBJECT_TYPE_EXTENSION:return\"input object\";default:false,t(false,\"Unexpected kind: \"+G(e))}}function ProvidedRequiredArgumentsRule(e){return{...ProvidedRequiredArgumentsOnDirectivesRule(e),Field:{leave(t){var o;const s=e.getFieldDef();if(!s)return false;const i=new Set(null===(o=t.arguments)||void 0===o?void 0:o.map((e=>e.name.value)));for(const o of s.args)if(!i.has(o.name)&&A(o)){const i=G(o.type);e.reportError(new n(`Field \"${s.name}\" argument \"${o.name}\" of type \"${i}\" is required, but it was not provided.`,{nodes:t}))}}}}}function ProvidedRequiredArgumentsOnDirectivesRule(e){var t;const o=Object.create(null);const s=e.getSchema();const i=null!==(t=null===s||void 0===s?void 0:s.getDirectives())&&void 0!==t?t:X;for(const e of i)o[e.name]=U(e.args.filter(A),(e=>e.name));const r=e.getDocument().definitions;for(const e of r)if(e.kind===f.DIRECTIVE_DEFINITION){var a;const n=null!==(a=e.arguments)&&void 0!==a?a:[];o[e.name.value]=U(n.filter(isRequiredArgumentNode),(e=>e.name.value))}return{Directive:{leave(t){const s=t.name.value;const i=o[s];if(i){var r;const o=null!==(r=t.arguments)&&void 0!==r?r:[];const a=new Set(o.map((e=>e.name.value)));for(const[o,r]of Object.entries(i))if(!a.has(o)){const i=k(r.type)?G(r.type):Y(r.type);e.reportError(new n(`Directive \"@${s}\" argument \"${o}\" of type \"${i}\" is required, but it was not provided.`,{nodes:t}))}}}}}}function isRequiredArgumentNode(e){return e.type.kind===f.NON_NULL_TYPE&&null==e.defaultValue}function ScalarLeafsRule(e){return{Field(t){const o=e.getType();const s=t.selectionSet;if(o)if(b(g(o))){if(s){const i=t.name.value;const r=G(o);e.reportError(new n(`Field \"${i}\" must not have a selection since type \"${r}\" has no subfields.`,{nodes:s}))}}else if(!s){const s=t.name.value;const i=G(o);e.reportError(new n(`Field \"${s}\" of type \"${i}\" must have a selection of subfields. Did you mean \"${s} { ... }\"?`,{nodes:t}))}}}}function SingleFieldSubscriptionsRule(e){return{OperationDefinition(t){if(\"subscription\"===t.operation){const o=e.getSchema();const s=o.getSubscriptionType();if(s){const i=t.name?t.name.value:null;const r=Object.create(null);const a=e.getDocument();const c=Object.create(null);for(const e of a.definitions)e.kind===f.FRAGMENT_DEFINITION&&(c[e.name.value]=e);const l=W(o,c,r,s,t.selectionSet);if(l.size>1){const t=[...l.values()];const o=t.slice(1);const s=o.flat();e.reportError(new n(null!=i?`Subscription \"${i}\" must select only one top level field.`:\"Anonymous Subscription must select only one top level field.\",{nodes:s}))}for(const t of l.values()){const o=t[0];const s=o.name.value;s.startsWith(\"__\")&&e.reportError(new n(null!=i?`Subscription \"${i}\" must not select an introspection top level field.`:\"Anonymous Subscription must not select an introspection top level field.\",{nodes:t}))}}}}}}function groupBy(e,n){const t=new Map;for(const o of e){const e=n(o);const s=t.get(e);void 0===s?t.set(e,[o]):s.push(o)}return t}function UniqueArgumentDefinitionNamesRule(e){return{DirectiveDefinition(e){var n;const t=null!==(n=e.arguments)&&void 0!==n?n:[];return checkArgUniqueness(`@${e.name.value}`,t)},InterfaceTypeDefinition:checkArgUniquenessPerField,InterfaceTypeExtension:checkArgUniquenessPerField,ObjectTypeDefinition:checkArgUniquenessPerField,ObjectTypeExtension:checkArgUniquenessPerField};function checkArgUniquenessPerField(e){var n;const t=e.name.value;const o=null!==(n=e.fields)&&void 0!==n?n:[];for(const e of o){var s;const n=e.name.value;const o=null!==(s=e.arguments)&&void 0!==s?s:[];checkArgUniqueness(`${t}.${n}`,o)}return false}function checkArgUniqueness(t,o){const s=groupBy(o,(e=>e.name.value));for(const[o,i]of s)i.length>1&&e.reportError(new n(`Argument \"${t}(${o}:)\" can only be defined once.`,{nodes:i.map((e=>e.name))}));return false}}function UniqueArgumentNamesRule(e){return{Field:checkArgUniqueness,Directive:checkArgUniqueness};function checkArgUniqueness(t){var o;const s=null!==(o=t.arguments)&&void 0!==o?o:[];const i=groupBy(s,(e=>e.name.value));for(const[t,o]of i)o.length>1&&e.reportError(new n(`There can be only one argument named \"${t}\".`,{nodes:o.map((e=>e.name))}))}}function UniqueDirectiveNamesRule(e){const t=Object.create(null);const o=e.getSchema();return{DirectiveDefinition(s){const i=s.name.value;if(null===o||void 0===o||!o.getDirective(i)){t[i]?e.reportError(new n(`There can be only one directive named \"@${i}\".`,{nodes:[t[i],s.name]})):t[i]=s.name;return false}e.reportError(new n(`Directive \"@${i}\" already exists in the schema. It cannot be redefined.`,{nodes:s.name}))}}}function UniqueDirectivesPerLocationRule(e){const t=Object.create(null);const o=e.getSchema();const s=o?o.getDirectives():X;for(const e of s)t[e.name]=!e.isRepeatable;const i=e.getDocument().definitions;for(const e of i)e.kind===f.DIRECTIVE_DEFINITION&&(t[e.name.value]=!e.repeatable);const r=Object.create(null);const a=Object.create(null);return{enter(o){if(!(\"directives\"in o)||!o.directives)return;let s;if(o.kind===f.SCHEMA_DEFINITION||o.kind===f.SCHEMA_EXTENSION)s=r;else if(q(o)||B(o)){const e=o.name.value;s=a[e];void 0===s&&(a[e]=s=Object.create(null))}else s=Object.create(null);for(const i of o.directives){const o=i.name.value;t[o]&&(s[o]?e.reportError(new n(`The directive \"@${o}\" can only be used once at this location.`,{nodes:[s[o],i]})):s[o]=i)}}}}function UniqueEnumValueNamesRule(e){const t=e.getSchema();const o=t?t.getTypeMap():Object.create(null);const s=Object.create(null);return{EnumTypeDefinition:checkValueUniqueness,EnumTypeExtension:checkValueUniqueness};function checkValueUniqueness(t){var i;const r=t.name.value;s[r]||(s[r]=Object.create(null));const a=null!==(i=t.values)&&void 0!==i?i:[];const c=s[r];for(const t of a){const s=t.name.value;const i=o[r];T(i)&&i.getValue(s)?e.reportError(new n(`Enum value \"${r}.${s}\" already exists in the schema. It cannot also be defined in this type extension.`,{nodes:t.name})):c[s]?e.reportError(new n(`Enum value \"${r}.${s}\" can only be defined once.`,{nodes:[c[s],t.name]})):c[s]=t.name}return false}}function UniqueFieldDefinitionNamesRule(e){const t=e.getSchema();const o=t?t.getTypeMap():Object.create(null);const s=Object.create(null);return{InputObjectTypeDefinition:checkFieldUniqueness,InputObjectTypeExtension:checkFieldUniqueness,InterfaceTypeDefinition:checkFieldUniqueness,InterfaceTypeExtension:checkFieldUniqueness,ObjectTypeDefinition:checkFieldUniqueness,ObjectTypeExtension:checkFieldUniqueness};function checkFieldUniqueness(t){var i;const r=t.name.value;s[r]||(s[r]=Object.create(null));const a=null!==(i=t.fields)&&void 0!==i?i:[];const c=s[r];for(const t of a){const s=t.name.value;hasField(o[r],s)?e.reportError(new n(`Field \"${r}.${s}\" already exists in the schema. It cannot also be defined in this type extension.`,{nodes:t.name})):c[s]?e.reportError(new n(`Field \"${r}.${s}\" can only be defined once.`,{nodes:[c[s],t.name]})):c[s]=t.name}return false}}function hasField(e,n){return!!(v(e)||y(e)||E(e))&&null!=e.getFields()[n]}function UniqueFragmentNamesRule(e){const t=Object.create(null);return{OperationDefinition:()=>false,FragmentDefinition(o){const s=o.name.value;t[s]?e.reportError(new n(`There can be only one fragment named \"${s}\".`,{nodes:[t[s],o.name]})):t[s]=o.name;return false}}}function UniqueInputFieldNamesRule(e){const o=[];let s=Object.create(null);return{ObjectValue:{enter(){o.push(s);s=Object.create(null)},leave(){const e=o.pop();e||t(false);s=e}},ObjectField(t){const o=t.name.value;s[o]?e.reportError(new n(`There can be only one input field named \"${o}\".`,{nodes:[s[o],t.name]})):s[o]=t.name}}}function UniqueOperationNamesRule(e){const t=Object.create(null);return{OperationDefinition(o){const s=o.name;s&&(t[s.value]?e.reportError(new n(`There can be only one operation named \"${s.value}\".`,{nodes:[t[s.value],s]})):t[s.value]=s);return false},FragmentDefinition:()=>false}}function UniqueOperationTypesRule(e){const t=e.getSchema();const o=Object.create(null);const s=t?{query:t.getQueryType(),mutation:t.getMutationType(),subscription:t.getSubscriptionType()}:{};return{SchemaDefinition:checkOperationTypes,SchemaExtension:checkOperationTypes};function checkOperationTypes(t){var i;const r=null!==(i=t.operationTypes)&&void 0!==i?i:[];for(const t of r){const i=t.operation;const r=o[i];s[i]?e.reportError(new n(`Type for ${i} already defined in the schema. It cannot be redefined.`,{nodes:t})):r?e.reportError(new n(`There can be only one ${i} type in schema.`,{nodes:[r,t]})):o[i]=t}return false}}function UniqueTypeNamesRule(e){const t=Object.create(null);const o=e.getSchema();return{ScalarTypeDefinition:checkTypeName,ObjectTypeDefinition:checkTypeName,InterfaceTypeDefinition:checkTypeName,UnionTypeDefinition:checkTypeName,EnumTypeDefinition:checkTypeName,InputObjectTypeDefinition:checkTypeName};function checkTypeName(s){const i=s.name.value;if(null===o||void 0===o||!o.getType(i)){t[i]?e.reportError(new n(`There can be only one type named \"${i}\".`,{nodes:[t[i],s.name]})):t[i]=s.name;return false}e.reportError(new n(`Type \"${i}\" already exists in the schema. It cannot also be defined in this type definition.`,{nodes:s.name}))}}function UniqueVariableNamesRule(e){return{OperationDefinition(t){var o;const s=null!==(o=t.variableDefinitions)&&void 0!==o?o:[];const i=groupBy(s,(e=>e.variable.name.value));for(const[t,o]of i)o.length>1&&e.reportError(new n(`There can be only one variable named \"$${t}\".`,{nodes:o.map((e=>e.variable.name))}))}}}function ValuesOfCorrectTypeRule(e){return{ListValue(n){const t=h(e.getParentInputType());if(!N(t)){isValidValueNode(e,n);return false}},ObjectValue(t){const o=g(e.getInputType());if(!E(o)){isValidValueNode(e,t);return false}const s=U(t.fields,(e=>e.name.value));for(const i of Object.values(o.getFields())){const r=s[i.name];if(!r&&w(i)){const s=G(i.type);e.reportError(new n(`Field \"${o.name}.${i.name}\" of required type \"${s}\" was not provided.`,{nodes:t}))}}},ObjectField(t){const o=g(e.getParentInputType());const s=e.getInputType();if(!s&&E(o)){const s=S(t.name.value,Object.keys(o.getFields()));e.reportError(new n(`Field \"${t.name.value}\" is not defined by type \"${o.name}\".`+I(s),{nodes:t}))}},NullValue(t){const o=e.getInputType();O(o)&&e.reportError(new n(`Expected value of type \"${G(o)}\", found ${Y(t)}.`,{nodes:t}))},EnumValue:n=>isValidValueNode(e,n),IntValue:n=>isValidValueNode(e,n),FloatValue:n=>isValidValueNode(e,n),StringValue:n=>isValidValueNode(e,n),BooleanValue:n=>isValidValueNode(e,n)}}function isValidValueNode(e,t){const o=e.getInputType();if(!o)return;const s=g(o);if(b(s))try{const i=s.parseLiteral(t,void 0);if(void 0===i){const s=G(o);e.reportError(new n(`Expected value of type \"${s}\", found ${Y(t)}.`,{nodes:t}))}}catch(s){const i=G(o);s instanceof n?e.reportError(s):e.reportError(new n(`Expected value of type \"${i}\", found ${Y(t)}; `+s.message,{nodes:t,originalError:s}))}else{const s=G(o);e.reportError(new n(`Expected value of type \"${s}\", found ${Y(t)}.`,{nodes:t}))}}function VariablesAreInputTypesRule(e){return{VariableDefinition(t){const o=j(e.getSchema(),t.type);if(void 0!==o&&!d(o)){const o=t.variable.name.value;const s=Y(t.type);e.reportError(new n(`Variable \"$${o}\" cannot be non-input type \"${s}\".`,{nodes:t.type}))}}}}function VariablesInAllowedPositionRule(e){let t=Object.create(null);return{OperationDefinition:{enter(){t=Object.create(null)},leave(o){const s=e.getRecursiveVariableUsages(o);for(const{node:o,type:i,defaultValue:r}of s){const s=o.name.value;const a=t[s];if(a&&i){const t=e.getSchema();const c=j(t,a.type);if(c&&!allowedVariableUsage(t,c,a.defaultValue,i,r)){const t=G(c);const r=G(i);e.reportError(new n(`Variable \"$${s}\" of type \"${t}\" used in position expecting type \"${r}\".`,{nodes:[a,o]}))}}}}},VariableDefinition(e){t[e.variable.name.value]=e}}}function allowedVariableUsage(e,n,t,o,s){if(O(o)&&!O(n)){const i=null!=t&&t.kind!==f.NULL;const r=void 0!==s;if(!i&&!r)return false;const c=o.ofType;return a(e,n,c)}return a(e,n,o)}const z=Object.freeze([ExecutableDefinitionsRule,UniqueOperationNamesRule,LoneAnonymousOperationRule,SingleFieldSubscriptionsRule,KnownTypeNamesRule,FragmentsOnCompositeTypesRule,VariablesAreInputTypesRule,ScalarLeafsRule,FieldsOnCorrectTypeRule,UniqueFragmentNamesRule,KnownFragmentNamesRule,NoUnusedFragmentsRule,PossibleFragmentSpreadsRule,NoFragmentCyclesRule,UniqueVariableNamesRule,NoUndefinedVariablesRule,NoUnusedVariablesRule,KnownDirectivesRule,UniqueDirectivesPerLocationRule,KnownArgumentNamesRule,UniqueArgumentNamesRule,ValuesOfCorrectTypeRule,ProvidedRequiredArgumentsRule,VariablesInAllowedPositionRule,OverlappingFieldsCanBeMergedRule,UniqueInputFieldNamesRule]);const Z=Object.freeze([LoneSchemaDefinitionRule,UniqueOperationTypesRule,UniqueTypeNamesRule,UniqueEnumValueNamesRule,UniqueFieldDefinitionNamesRule,UniqueArgumentDefinitionNamesRule,UniqueDirectiveNamesRule,KnownTypeNamesRule,KnownDirectivesRule,UniqueDirectivesPerLocationRule,PossibleTypeExtensionsRule,KnownArgumentNamesOnDirectivesRule,UniqueArgumentNamesRule,UniqueInputFieldNamesRule,ProvidedRequiredArgumentsOnDirectivesRule]);class ASTValidationContext{constructor(e,n){this._ast=e;this._fragments=void 0;this._fragmentSpreads=new Map;this._recursivelyReferencedFragments=new Map;this._onError=n}get[Symbol.toStringTag](){return\"ASTValidationContext\"}reportError(e){this._onError(e)}getDocument(){return this._ast}getFragment(e){let n;if(this._fragments)n=this._fragments;else{n=Object.create(null);for(const e of this.getDocument().definitions)e.kind===f.FRAGMENT_DEFINITION&&(n[e.name.value]=e);this._fragments=n}return n[e]}getFragmentSpreads(e){let n=this._fragmentSpreads.get(e);if(!n){n=[];const t=[e];let o;while(o=t.pop())for(const e of o.selections)e.kind===f.FRAGMENT_SPREAD?n.push(e):e.selectionSet&&t.push(e.selectionSet);this._fragmentSpreads.set(e,n)}return n}getRecursivelyReferencedFragments(e){let n=this._recursivelyReferencedFragments.get(e);if(!n){n=[];const t=Object.create(null);const o=[e.selectionSet];let s;while(s=o.pop())for(const e of this.getFragmentSpreads(s)){const s=e.name.value;if(true!==t[s]){t[s]=true;const e=this.getFragment(s);if(e){n.push(e);o.push(e.selectionSet)}}}this._recursivelyReferencedFragments.set(e,n)}return n}}class SDLValidationContext extends ASTValidationContext{constructor(e,n,t){super(e,t);this._schema=n}get[Symbol.toStringTag](){return\"SDLValidationContext\"}getSchema(){return this._schema}}class ValidationContext extends ASTValidationContext{constructor(e,n,t,o){super(n,o);this._schema=e;this._typeInfo=t;this._variableUsages=new Map;this._recursiveVariableUsages=new Map}get[Symbol.toStringTag](){return\"ValidationContext\"}getSchema(){return this._schema}getVariableUsages(e){let n=this._variableUsages.get(e);if(!n){const t=[];const o=new TypeInfo(this._schema);s(e,visitWithTypeInfo(o,{VariableDefinition:()=>false,Variable(e){t.push({node:e,type:o.getInputType(),defaultValue:o.getDefaultValue()})}}));n=t;this._variableUsages.set(e,n)}return n}getRecursiveVariableUsages(e){let n=this._recursiveVariableUsages.get(e);if(!n){n=this.getVariableUsages(e);for(const t of this.getRecursivelyReferencedFragments(e))n=n.concat(this.getVariableUsages(t));this._recursiveVariableUsages.set(e,n)}return n}getType(){return this._typeInfo.getType()}getParentType(){return this._typeInfo.getParentType()}getInputType(){return this._typeInfo.getInputType()}getParentInputType(){return this._typeInfo.getParentInputType()}getFieldDef(){return this._typeInfo.getFieldDef()}getDirective(){return this._typeInfo.getDirective()}getArgument(){return this._typeInfo.getArgument()}getEnumValue(){return this._typeInfo.getEnumValue()}}function validate(t,o,r=z,a,\n/** @deprecated will be removed in 17.0.0 */\nl=new TypeInfo(t)){var u;const f=null!==(u=null===a||void 0===a?void 0:a.maxErrors)&&void 0!==u?u:100;o||e(false,\"Must provide document.\");c(t);const d=Object.freeze({});const p=[];const m=new ValidationContext(t,o,l,(e=>{if(p.length>=f){p.push(new n(\"Too many validation errors, error limit reached. Validation aborted.\"));throw d}p.push(e)}));const g=i(r.map((e=>e(m))));try{s(o,visitWithTypeInfo(l,g))}catch(e){if(e!==d)throw e}return p}function validateSDL(e,n,t=Z){const o=[];const r=new SDLValidationContext(e,n,(e=>{o.push(e)}));const a=t.map((e=>e(r)));s(e,i(a));return o}function assertValidSDL(e){const n=validateSDL(e);if(0!==n.length)throw new Error(n.map((e=>e.message)).join(\"\\n\\n\"))}function assertValidSDLExtension(e,n){const t=validateSDL(e,n);if(0!==t.length)throw new Error(t.map((e=>e.message)).join(\"\\n\\n\"))}export{PossibleTypeExtensionsRule as A,visitWithTypeInfo as B,sortValueNode as C,assertValidSDLExtension as D,ExecutableDefinitionsRule as E,FieldsOnCorrectTypeRule as F,assertValidSDL as G,validateSDL as H,KnownArgumentNamesRule as K,LoneAnonymousOperationRule as L,NoFragmentCyclesRule as N,OverlappingFieldsCanBeMergedRule as O,PossibleFragmentSpreadsRule as P,ScalarLeafsRule as S,TypeInfo as T,UniqueArgumentNamesRule as U,ValidationContext as V,FragmentsOnCompositeTypesRule as a,KnownDirectivesRule as b,KnownFragmentNamesRule as c,KnownTypeNamesRule as d,NoUndefinedVariablesRule as e,NoUnusedFragmentsRule as f,NoUnusedVariablesRule as g,ProvidedRequiredArgumentsRule as h,SingleFieldSubscriptionsRule as i,UniqueDirectivesPerLocationRule as j,UniqueFragmentNamesRule as k,UniqueInputFieldNamesRule as l,UniqueOperationNamesRule as m,UniqueVariableNamesRule as n,ValuesOfCorrectTypeRule as o,VariablesAreInputTypesRule as p,VariablesInAllowedPositionRule as q,LoneSchemaDefinitionRule as r,z as s,UniqueOperationTypesRule as t,UniqueTypeNamesRule as u,validate as v,UniqueEnumValueNamesRule as w,UniqueFieldDefinitionNamesRule as x,UniqueArgumentDefinitionNamesRule as y,UniqueDirectiveNamesRule as z};\n\n//# sourceMappingURL=473b4d8a.js.map","export{Source}from\"./source.mjs\";export{g as getLocation,p as printLocation,a as printSourceLocation}from\"../_/7dea71b4.js\";export{Kind}from\"./kinds.mjs\";export{L as Lexer,T as TokenKind,p as parse,b as parseConstValue,c as parseType,a as parseValue}from\"../_/da4c7d10.js\";export{print}from\"./printer.mjs\";export{BREAK,getEnterLeaveForKind,getVisitFn,visit,visitInParallel}from\"./visitor.mjs\";export{L as Location,O as OperationTypeNode,T as Token}from\"../_/be682a22.js\";export{d as isConstValueNode,i as isDefinitionNode,a as isExecutableDefinitionNode,b as isSelectionNode,g as isTypeDefinitionNode,j as isTypeExtensionNode,e as isTypeNode,f as isTypeSystemDefinitionNode,h as isTypeSystemExtensionNode,c as isValueNode}from\"../_/5c7fa0d9.js\";export{D as DirectiveLocation}from\"../_/c8837240.js\";import\"../_/7892746f.js\";import\"../jsutils/inspect.mjs\";import\"../_/c83a270e.js\";import\"../_/8890d1df.js\";\n","import{d as t}from\"./7892746f.js\";import{inspect as e}from\"../jsutils/inspect.mjs\";import{addPath as r,pathToArray as n}from\"../jsutils/Path.mjs\";import{G as o}from\"./7dea71b4.js\";import{e as s,c as a,f as c,g as i,h as u,l}from\"./09c5bd0b.js\";import{collectFields as m}from\"../execution/collectFields.mjs\";import{g as f}from\"./8bd869b7.js\";function isAsyncIterable(t){return\"function\"===typeof(null===t||void 0===t?void 0:t[Symbol.asyncIterator])}function mapAsyncIterator(t,e){const r=t[Symbol.asyncIterator]();async function mapResult(t){if(t.done)return t;try{return{value:await e(t.value),done:false}}catch(t){if(\"function\"===typeof r.return)try{await r.return()}catch(t){}throw t}}return{async next(){return mapResult(await r.next())},async return(){return\"function\"===typeof r.return?mapResult(await r.return()):{value:void 0,done:true}},async throw(t){if(\"function\"===typeof r.throw)return mapResult(await r.throw(t));throw t},[Symbol.asyncIterator](){return this}}}async function subscribe(e){arguments.length<2||t(false,\"graphql@16 dropped long-deprecated support for positional arguments, please pass an object instead.\");const r=await createSourceEventStream(e);if(!isAsyncIterable(r))return r;const mapSourceToResponse=t=>s({...e,rootValue:t});return mapAsyncIterator(r,mapSourceToResponse)}function toNormalizedArgs(t){const e=t[0];return e&&\"document\"in e?e:{schema:e,document:t[1],rootValue:t[2],contextValue:t[3],variableValues:t[4],operationName:t[5],subscribeFieldResolver:t[6]}}async function createSourceEventStream(...t){const r=toNormalizedArgs(t);const{schema:n,document:s,variableValues:i}=r;a(n,s,i);const u=c(r);if(!(\"schema\"in u))return{errors:u};try{const t=await executeSubscription(u);if(!isAsyncIterable(t))throw new Error(`Subscription field must return Async Iterable. Received: ${e(t)}.`);return t}catch(t){if(t instanceof o)return{errors:[t]};throw t}}async function executeSubscription(t){const{schema:e,fragments:s,operation:a,variableValues:c,rootValue:p}=t;const d=e.getSubscriptionType();if(null==d)throw new o(\"Schema is not configured to execute subscription operation.\",{nodes:a});const b=m(e,s,c,d,a.selectionSet);const[y,h]=[...b.entries()][0];const w=i(e,d,h[0]);if(!w){const t=h[0].name.value;throw new o(`The subscription field \"${t}\" is not defined.`,{nodes:h})}const v=r(void 0,y,d.name);const S=u(t,w,h,d,v);try{var g;const e=f(w,h[0],c);const r=t.contextValue;const n=null!==(g=w.subscribe)&&void 0!==g?g:t.subscribeFieldResolver;const o=await n(p,e,r,S);if(o instanceof Error)throw o;return o}catch(t){throw l(t,h,n(v))}}export{createSourceEventStream as c,subscribe as s};\n\n//# sourceMappingURL=671612cd.js.map","import{d as e}from\"../_/7892746f.js\";import{inspect as n}from\"../jsutils/inspect.mjs\";import{c as t}from\"../_/7dea71b4.js\";import{k as i}from\"../_/e1a6e691.js\";import{a as r}from\"../_/da4c7d10.js\";import{F as s,h as o,j as a,T as u,H as c,f as p,e as l,d,c as f,b as m,G as b,u as y,t as w}from\"../_/1c63e742.js\";import{s as g,G as T}from\"../_/c857c0af.js\";import{a as I,T as j}from\"../_/ebd60186.js\";import{G as h}from\"../_/6a2aa4f2.js\";import{v as E}from\"../_/7a8ad326.js\";import\"../language/kinds.mjs\";import\"../_/be682a22.js\";import\"../_/c8837240.js\";import\"../_/8890d1df.js\";import\"../language/source.mjs\";import\"../_/c83a270e.js\";import\"../language/printer.mjs\";import\"../language/visitor.mjs\";import\"../_/cdbc8e30.js\";function buildClientSchema(D,v){t(D)&&t(D.__schema)||e(false,`Invalid or incomplete introspection result. Ensure that you are passing \"data\" property of introspection response and no \"errors\" was returned alongside: ${n(D)}.`);const _=D.__schema;const O=i(_.types,(e=>e.name),(e=>buildType(e)));for(const e of[...g,...I])O[e.name]&&(O[e.name]=e);const V=_.queryType?getObjectType(_.queryType):null;const $=_.mutationType?getObjectType(_.mutationType):null;const N=_.subscriptionType?getObjectType(_.subscriptionType):null;const R=_.directives?_.directives.map(buildDirective):[];return new h({description:_.description,query:V,mutation:$,subscription:N,types:Object.values(O),directives:R,assumeValid:null===v||void 0===v?void 0:v.assumeValid});function getType(e){if(e.kind===j.LIST){const n=e.ofType;if(!n)throw new Error(\"Decorated type deeper than introspection query.\");return new o(getType(n))}if(e.kind===j.NON_NULL){const n=e.ofType;if(!n)throw new Error(\"Decorated type deeper than introspection query.\");const t=getType(n);return new a(u(t))}return getNamedType(e)}function getNamedType(e){const t=e.name;if(!t)throw new Error(`Unknown type reference: ${n(e)}.`);const i=O[t];if(!i)throw new Error(`Invalid or incomplete schema, unknown type: ${t}. Ensure that a full introspection query is used in order to build a client schema.`);return i}function getObjectType(e){return s(getNamedType(e))}function getInterfaceType(e){return c(getNamedType(e))}function buildType(e){if(null!=e&&null!=e.name&&null!=e.kind)switch(e.kind){case j.SCALAR:return buildScalarDef(e);case j.OBJECT:return buildObjectDef(e);case j.INTERFACE:return buildInterfaceDef(e);case j.UNION:return buildUnionDef(e);case j.ENUM:return buildEnumDef(e);case j.INPUT_OBJECT:return buildInputObjectDef(e)}const t=n(e);throw new Error(`Invalid or incomplete introspection result. Ensure that a full introspection query is used in order to build a client schema: ${t}.`)}function buildScalarDef(e){return new b({name:e.name,description:e.description,specifiedByURL:e.specifiedByURL})}function buildImplementationsList(e){if(null===e.interfaces&&e.kind===j.INTERFACE)return[];if(!e.interfaces){const t=n(e);throw new Error(`Introspection result missing interfaces: ${t}.`)}return e.interfaces.map(getInterfaceType)}function buildObjectDef(e){return new m({name:e.name,description:e.description,interfaces:()=>buildImplementationsList(e),fields:()=>buildFieldDefMap(e)})}function buildInterfaceDef(e){return new f({name:e.name,description:e.description,interfaces:()=>buildImplementationsList(e),fields:()=>buildFieldDefMap(e)})}function buildUnionDef(e){if(!e.possibleTypes){const t=n(e);throw new Error(`Introspection result missing possibleTypes: ${t}.`)}return new d({name:e.name,description:e.description,types:()=>e.possibleTypes.map(getObjectType)})}function buildEnumDef(e){if(!e.enumValues){const t=n(e);throw new Error(`Introspection result missing enumValues: ${t}.`)}return new l({name:e.name,description:e.description,values:i(e.enumValues,(e=>e.name),(e=>({description:e.description,deprecationReason:e.deprecationReason})))})}function buildInputObjectDef(e){if(!e.inputFields){const t=n(e);throw new Error(`Introspection result missing inputFields: ${t}.`)}return new p({name:e.name,description:e.description,fields:()=>buildInputValueDefMap(e.inputFields)})}function buildFieldDefMap(e){if(!e.fields)throw new Error(`Introspection result missing fields: ${n(e)}.`);return i(e.fields,(e=>e.name),buildField)}function buildField(e){const t=getType(e.type);if(!y(t)){const e=n(t);throw new Error(`Introspection must provide output type for fields, but received: ${e}.`)}if(!e.args){const t=n(e);throw new Error(`Introspection result missing field args: ${t}.`)}return{description:e.description,deprecationReason:e.deprecationReason,type:t,args:buildInputValueDefMap(e.args)}}function buildInputValueDefMap(e){return i(e,(e=>e.name),buildInputValue)}function buildInputValue(e){const t=getType(e.type);if(!w(t)){const e=n(t);throw new Error(`Introspection must provide input type for arguments, but received: ${e}.`)}const i=null!=e.defaultValue?E(r(e.defaultValue),t):void 0;return{description:e.description,type:t,defaultValue:i,deprecationReason:e.deprecationReason}}function buildDirective(e){if(!e.args){const t=n(e);throw new Error(`Introspection result missing directive args: ${t}.`)}if(!e.locations){const t=n(e);throw new Error(`Introspection result missing directive locations: ${t}.`)}return new T({name:e.name,description:e.description,isRepeatable:e.isRepeatable,locations:e.locations.slice(),args:buildInputValueDefMap(e.args)})}}export{buildClientSchema};\n\n//# sourceMappingURL=buildClientSchema.mjs.map","import{d as e}from\"./7892746f.js\";import{Kind as n}from\"../language/kinds.mjs\";import{p as t}from\"./da4c7d10.js\";import{G as o,n as i,s as a,k as s,l as r,h as d}from\"./c857c0af.js\";import{a as l,G as c}from\"./6a2aa4f2.js\";import{D as u,G as p}from\"./473b4d8a.js\";import{inspect as f}from\"../jsutils/inspect.mjs\";import{i as v}from\"./7dea71b4.js\";import{q as m,h as T,s as y,j as N,a3 as b,l as g,G as S,m as x,b as I,n as A,c as E,o as O,d as j,p as w,e as D,i as M,f as h,Z as F}from\"./1c63e742.js\";import{g as V,j as R}from\"./5c7fa0d9.js\";import{i as U,a as _}from\"./ebd60186.js\";import{b as L}from\"./8bd869b7.js\";import{v as C}from\"./7a8ad326.js\";function extendSchema(t,o,i){l(t);null!=o&&o.kind===n.DOCUMENT||e(false,\"Must provide valid Document AST.\");true!==(null===i||void 0===i?void 0:i.assumeValid)&&true!==(null===i||void 0===i?void 0:i.assumeValidSDL)&&u(o,t);const a=t.toConfig();const s=extendSchemaImpl(a,o,i);return a===s?t:new c(s)}function extendSchemaImpl(e,t,a){var s,r,d,l;const c=[];const u=Object.create(null);const p=[];let F;const _=[];for(const e of t.definitions)if(e.kind===n.SCHEMA_DEFINITION)F=e;else if(e.kind===n.SCHEMA_EXTENSION)_.push(e);else if(V(e))c.push(e);else if(R(e)){const n=e.name.value;const t=u[n];u[n]=t?t.concat([e]):[e]}else e.kind===n.DIRECTIVE_DEFINITION&&p.push(e);if(0===Object.keys(u).length&&0===c.length&&0===p.length&&0===_.length&&null==F)return e;const L=Object.create(null);for(const n of e.types)L[n.name]=extendNamedType(n);for(const e of c){var P;const n=e.name.value;L[n]=null!==(P=k[n])&&void 0!==P?P:buildType(e)}const B={query:e.query&&replaceNamedType(e.query),mutation:e.mutation&&replaceNamedType(e.mutation),subscription:e.subscription&&replaceNamedType(e.subscription),...F&&getOperationTypes([F]),...getOperationTypes(_)};return{description:null===(s=F)||void 0===s||null===(r=s.description)||void 0===r?void 0:r.value,...B,types:Object.values(L),directives:[...e.directives.map(replaceDirective),...p.map(buildDirective)],extensions:Object.create(null),astNode:null!==(d=F)&&void 0!==d?d:e.astNode,extensionASTNodes:e.extensionASTNodes.concat(_),assumeValid:null!==(l=null===a||void 0===a?void 0:a.assumeValid)&&void 0!==l&&l};function replaceType(e){return m(e)?new T(replaceType(e.ofType)):y(e)?new N(replaceType(e.ofType)):replaceNamedType(e)}function replaceNamedType(e){return L[e.name]}function replaceDirective(e){const n=e.toConfig();return new o({...n,args:b(n.args,extendArg)})}function extendNamedType(e){if(U(e)||i(e))return e;if(g(e))return extendScalarType(e);if(x(e))return extendObjectType(e);if(A(e))return extendInterfaceType(e);if(O(e))return extendUnionType(e);if(w(e))return extendEnumType(e);if(M(e))return extendInputObjectType(e);false,v(false,\"Unexpected type: \"+f(e))}function extendInputObjectType(e){var n;const t=e.toConfig();const o=null!==(n=u[t.name])&&void 0!==n?n:[];return new h({...t,fields:()=>({...b(t.fields,(e=>({...e,type:replaceType(e.type)}))),...buildInputFieldMap(o)}),extensionASTNodes:t.extensionASTNodes.concat(o)})}function extendEnumType(e){var n;const t=e.toConfig();const o=null!==(n=u[e.name])&&void 0!==n?n:[];return new D({...t,values:{...t.values,...buildEnumValueMap(o)},extensionASTNodes:t.extensionASTNodes.concat(o)})}function extendScalarType(e){var n;const t=e.toConfig();const o=null!==(n=u[t.name])&&void 0!==n?n:[];let i=t.specifiedByURL;for(const e of o){var a;i=null!==(a=getSpecifiedByURL(e))&&void 0!==a?a:i}return new S({...t,specifiedByURL:i,extensionASTNodes:t.extensionASTNodes.concat(o)})}function extendObjectType(e){var n;const t=e.toConfig();const o=null!==(n=u[t.name])&&void 0!==n?n:[];return new I({...t,interfaces:()=>[...e.getInterfaces().map(replaceNamedType),...buildInterfaces(o)],fields:()=>({...b(t.fields,extendField),...buildFieldMap(o)}),extensionASTNodes:t.extensionASTNodes.concat(o)})}function extendInterfaceType(e){var n;const t=e.toConfig();const o=null!==(n=u[t.name])&&void 0!==n?n:[];return new E({...t,interfaces:()=>[...e.getInterfaces().map(replaceNamedType),...buildInterfaces(o)],fields:()=>({...b(t.fields,extendField),...buildFieldMap(o)}),extensionASTNodes:t.extensionASTNodes.concat(o)})}function extendUnionType(e){var n;const t=e.toConfig();const o=null!==(n=u[t.name])&&void 0!==n?n:[];return new j({...t,types:()=>[...e.getTypes().map(replaceNamedType),...buildUnionTypes(o)],extensionASTNodes:t.extensionASTNodes.concat(o)})}function extendField(e){return{...e,type:replaceType(e.type),args:e.args&&b(e.args,extendArg)}}function extendArg(e){return{...e,type:replaceType(e.type)}}function getOperationTypes(e){const n={};for(const o of e){var t;const e=null!==(t=o.operationTypes)&&void 0!==t?t:[];for(const t of e)n[t.operation]=getNamedType(t.type)}return n}function getNamedType(e){var n;const t=e.name.value;const o=null!==(n=k[t])&&void 0!==n?n:L[t];if(void 0===o)throw new Error(`Unknown type: \"${t}\".`);return o}function getWrappedType(e){return e.kind===n.LIST_TYPE?new T(getWrappedType(e.type)):e.kind===n.NON_NULL_TYPE?new N(getWrappedType(e.type)):getNamedType(e)}function buildDirective(e){var n;return new o({name:e.name.value,description:null===(n=e.description)||void 0===n?void 0:n.value,locations:e.locations.map((({value:e})=>e)),isRepeatable:e.repeatable,args:buildArgumentMap(e.arguments),astNode:e})}function buildFieldMap(e){const n=Object.create(null);for(const i of e){var t;const e=null!==(t=i.fields)&&void 0!==t?t:[];for(const t of e){var o;n[t.name.value]={type:getWrappedType(t.type),description:null===(o=t.description)||void 0===o?void 0:o.value,args:buildArgumentMap(t.arguments),deprecationReason:getDeprecationReason(t),astNode:t}}}return n}function buildArgumentMap(e){const n=null!==e&&void 0!==e?e:[];const t=Object.create(null);for(const e of n){var o;const n=getWrappedType(e.type);t[e.name.value]={type:n,description:null===(o=e.description)||void 0===o?void 0:o.value,defaultValue:C(e.defaultValue,n),deprecationReason:getDeprecationReason(e),astNode:e}}return t}function buildInputFieldMap(e){const n=Object.create(null);for(const i of e){var t;const e=null!==(t=i.fields)&&void 0!==t?t:[];for(const t of e){var o;const e=getWrappedType(t.type);n[t.name.value]={type:e,description:null===(o=t.description)||void 0===o?void 0:o.value,defaultValue:C(t.defaultValue,e),deprecationReason:getDeprecationReason(t),astNode:t}}}return n}function buildEnumValueMap(e){const n=Object.create(null);for(const i of e){var t;const e=null!==(t=i.values)&&void 0!==t?t:[];for(const t of e){var o;n[t.name.value]={description:null===(o=t.description)||void 0===o?void 0:o.value,deprecationReason:getDeprecationReason(t),astNode:t}}}return n}function buildInterfaces(e){return e.flatMap((e=>{var n,t;return null!==(n=null===(t=e.interfaces)||void 0===t?void 0:t.map(getNamedType))&&void 0!==n?n:[]}))}function buildUnionTypes(e){return e.flatMap((e=>{var n,t;return null!==(n=null===(t=e.types)||void 0===t?void 0:t.map(getNamedType))&&void 0!==n?n:[]}))}function buildType(e){var t;const o=e.name.value;const i=null!==(t=u[o])&&void 0!==t?t:[];switch(e.kind){case n.OBJECT_TYPE_DEFINITION:{var a;const n=[e,...i];return new I({name:o,description:null===(a=e.description)||void 0===a?void 0:a.value,interfaces:()=>buildInterfaces(n),fields:()=>buildFieldMap(n),astNode:e,extensionASTNodes:i})}case n.INTERFACE_TYPE_DEFINITION:{var s;const n=[e,...i];return new E({name:o,description:null===(s=e.description)||void 0===s?void 0:s.value,interfaces:()=>buildInterfaces(n),fields:()=>buildFieldMap(n),astNode:e,extensionASTNodes:i})}case n.ENUM_TYPE_DEFINITION:{var r;const n=[e,...i];return new D({name:o,description:null===(r=e.description)||void 0===r?void 0:r.value,values:buildEnumValueMap(n),astNode:e,extensionASTNodes:i})}case n.UNION_TYPE_DEFINITION:{var d;const n=[e,...i];return new j({name:o,description:null===(d=e.description)||void 0===d?void 0:d.value,types:()=>buildUnionTypes(n),astNode:e,extensionASTNodes:i})}case n.SCALAR_TYPE_DEFINITION:var l;return new S({name:o,description:null===(l=e.description)||void 0===l?void 0:l.value,specifiedByURL:getSpecifiedByURL(e),astNode:e,extensionASTNodes:i});case n.INPUT_OBJECT_TYPE_DEFINITION:{var c;const n=[e,...i];return new h({name:o,description:null===(c=e.description)||void 0===c?void 0:c.value,fields:()=>buildInputFieldMap(n),astNode:e,extensionASTNodes:i})}}}}const k=F([...a,..._],(e=>e.name));function getDeprecationReason(e){const n=L(s,e);return null===n||void 0===n?void 0:n.reason}function getSpecifiedByURL(e){const n=L(r,e);return null===n||void 0===n?void 0:n.url}function buildASTSchema(t,o){null!=t&&t.kind===n.DOCUMENT||e(false,\"Must provide valid Document AST.\");true!==(null===o||void 0===o?void 0:o.assumeValid)&&true!==(null===o||void 0===o?void 0:o.assumeValidSDL)&&p(t);const i={description:void 0,types:[],directives:[],extensions:Object.create(null),extensionASTNodes:[],assumeValid:false};const a=extendSchemaImpl(i,t,o);if(null==a.astNode)for(const e of a.types)switch(e.name){case\"Query\":a.query=e;break;case\"Mutation\":a.mutation=e;break;case\"Subscription\":a.subscription=e;break}const s=[...a.directives,...d.filter((e=>a.directives.every((n=>n.name!==e.name))))];return new c({...a,directives:s})}function buildSchema(e,n){const o=t(e,{noLocation:null===n||void 0===n?void 0:n.noLocation,allowLegacyFragmentVariables:null===n||void 0===n?void 0:n.allowLegacyFragmentVariables});return buildASTSchema(o,{assumeValidSDL:null===n||void 0===n?void 0:n.assumeValidSDL,assumeValid:null===n||void 0===n?void 0:n.assumeValid})}export{buildSchema as a,buildASTSchema as b,extendSchema as e};\n\n//# sourceMappingURL=772e88a0.js.map","import{inspect as n}from\"../jsutils/inspect.mjs\";import{i as e}from\"../_/7dea71b4.js\";import{c as t}from\"../_/8890d1df.js\";import{Kind as i}from\"../language/kinds.mjs\";import{print as r}from\"../language/printer.mjs\";import{l as p,m as o,n as c,o as s,p as a,i as u}from\"../_/1c63e742.js\";import{o as m,n as f,D as l}from\"../_/c857c0af.js\";import{i as d,l as g}from\"../_/ebd60186.js\";import\"../language/visitor.mjs\";import\"../_/7892746f.js\";import\"../_/be682a22.js\";import\"../_/c83a270e.js\";import\"../_/e1a6e691.js\";import\"../_/c8837240.js\";import\"../_/cdbc8e30.js\";function printSchema(n){return printFilteredSchema(n,(n=>!m(n)),isDefinedType)}function printIntrospectionSchema(n){return printFilteredSchema(n,m,d)}function isDefinedType(n){return!f(n)&&!d(n)}function printFilteredSchema(n,e,t){const i=n.getDirectives().filter(e);const r=Object.values(n.getTypeMap()).filter(t);return[printSchemaDefinition(n),...i.map((n=>printDirective(n))),...r.map((n=>printType(n)))].filter(Boolean).join(\"\\n\\n\")}function printSchemaDefinition(n){if(null==n.description&&isSchemaOfCommonNames(n))return;const e=[];const t=n.getQueryType();t&&e.push(`  query: ${t.name}`);const i=n.getMutationType();i&&e.push(`  mutation: ${i.name}`);const r=n.getSubscriptionType();r&&e.push(`  subscription: ${r.name}`);return printDescription(n)+`schema {\\n${e.join(\"\\n\")}\\n}`}function isSchemaOfCommonNames(n){const e=n.getQueryType();if(e&&\"Query\"!==e.name)return false;const t=n.getMutationType();if(t&&\"Mutation\"!==t.name)return false;const i=n.getSubscriptionType();return!i||\"Subscription\"===i.name}function printType(t){if(p(t))return printScalar(t);if(o(t))return printObject(t);if(c(t))return printInterface(t);if(s(t))return printUnion(t);if(a(t))return printEnum(t);if(u(t))return printInputObject(t);false,e(false,\"Unexpected type: \"+n(t))}function printScalar(n){return printDescription(n)+`scalar ${n.name}`+printSpecifiedByURL(n)}function printImplementedInterfaces(n){const e=n.getInterfaces();return e.length?\" implements \"+e.map((n=>n.name)).join(\" & \"):\"\"}function printObject(n){return printDescription(n)+`type ${n.name}`+printImplementedInterfaces(n)+printFields(n)}function printInterface(n){return printDescription(n)+`interface ${n.name}`+printImplementedInterfaces(n)+printFields(n)}function printUnion(n){const e=n.getTypes();const t=e.length?\" = \"+e.join(\" | \"):\"\";return printDescription(n)+\"union \"+n.name+t}function printEnum(n){const e=n.getValues().map(((n,e)=>printDescription(n,\"  \",!e)+\"  \"+n.name+printDeprecated(n.deprecationReason)));return printDescription(n)+`enum ${n.name}`+printBlock(e)}function printInputObject(n){const e=Object.values(n.getFields()).map(((n,e)=>printDescription(n,\"  \",!e)+\"  \"+printInputValue(n)));return printDescription(n)+`input ${n.name}`+printBlock(e)}function printFields(n){const e=Object.values(n.getFields()).map(((n,e)=>printDescription(n,\"  \",!e)+\"  \"+n.name+printArgs(n.args,\"  \")+\": \"+String(n.type)+printDeprecated(n.deprecationReason)));return printBlock(e)}function printBlock(n){return 0!==n.length?\" {\\n\"+n.join(\"\\n\")+\"\\n}\":\"\"}function printArgs(n,e=\"\"){return 0===n.length?\"\":n.every((n=>!n.description))?\"(\"+n.map(printInputValue).join(\", \")+\")\":\"(\\n\"+n.map(((n,t)=>printDescription(n,\"  \"+e,!t)+\"  \"+e+printInputValue(n))).join(\"\\n\")+\"\\n\"+e+\")\"}function printInputValue(n){const e=g(n.defaultValue,n.type);let t=n.name+\": \"+String(n.type);e&&(t+=` = ${r(e)}`);return t+printDeprecated(n.deprecationReason)}function printDirective(n){return printDescription(n)+\"directive @\"+n.name+printArgs(n.args)+(n.isRepeatable?\" repeatable\":\"\")+\" on \"+n.locations.join(\" | \")}function printDeprecated(n){if(null==n)return\"\";if(n!==l){const e=r({kind:i.STRING,value:n});return` @deprecated(reason: ${e})`}return\" @deprecated\"}function printSpecifiedByURL(n){if(null==n.specifiedByURL)return\"\";const e=r({kind:i.STRING,value:n.specifiedByURL});return` @specifiedBy(url: ${e})`}function printDescription(n,e=\"\",p=true){const{description:o}=n;if(null==o)return\"\";const c=r({kind:i.STRING,value:o,block:t(o)});const s=e&&!p?\"\\n\"+e:e;return s+c.replace(/\\n/g,\"\\n\"+e)+\"\\n\"}export{printIntrospectionSchema,printSchema,printType};\n\n//# sourceMappingURL=printSchema.mjs.map","import{getIntrospectionQuery as n}from\"./getIntrospectionQuery.mjs\";export{getIntrospectionQuery}from\"./getIntrospectionQuery.mjs\";import{Kind as o}from\"../language/kinds.mjs\";import{G as r,i as s}from\"../_/7dea71b4.js\";import{p,L as f,T as u,i as E}from\"../_/da4c7d10.js\";import{a as m}from\"../_/09c5bd0b.js\";export{buildClientSchema}from\"./buildClientSchema.mjs\";export{b as buildASTSchema,a as buildSchema,e as extendSchema}from\"../_/772e88a0.js\";import{inspect as D}from\"../jsutils/inspect.mjs\";import{k as _}from\"../_/e1a6e691.js\";export{v as valueFromASTUntyped}from\"../_/e1a6e691.js\";import{Y as y,q as I,h as g,s as O,j as A,l as h,m as R,b as N,n as C,c as F,o as V,d as M,p as j,e as $,i as S,f as U,W as L,B as w,C as G,A as P,Z as x}from\"../_/1c63e742.js\";import{G as k,n as H}from\"../_/c857c0af.js\";import{i as K,l as Q}from\"../_/ebd60186.js\";export{l as astFromValue}from\"../_/ebd60186.js\";import{G as Y}from\"../_/6a2aa4f2.js\";export{printIntrospectionSchema,printSchema,printType}from\"./printSchema.mjs\";export{c as coerceInputValue,t as typeFromAST}from\"../_/8bd869b7.js\";export{v as valueFromAST}from\"../_/7a8ad326.js\";import{C as q}from\"../_/473b4d8a.js\";export{T as TypeInfo,B as visitWithTypeInfo}from\"../_/473b4d8a.js\";import{visit as W}from\"../language/visitor.mjs\";import{p as z}from\"../_/8890d1df.js\";import{isSource as Z,Source as J}from\"../language/source.mjs\";export{d as doTypesOverlap,i as isEqualType,b as isTypeSubTypeOf}from\"../_/5664b464.js\";import{d as X}from\"../_/7892746f.js\";import{print as ee}from\"../language/printer.mjs\";import\"../_/be682a22.js\";import\"../_/c8837240.js\";import\"../_/cdbc8e30.js\";import\"../jsutils/Path.mjs\";import\"../execution/collectFields.mjs\";import\"../_/5c7fa0d9.js\";import\"../_/c83a270e.js\";function getOperationAST(e,t){let n=null;for(const s of e.definitions)if(s.kind===o.OPERATION_DEFINITION){var r;if(null==t){if(n)return null;n=s}else if((null===(r=s.name)||void 0===r?void 0:r.value)===t)return s}return n}\n/**\n * Extracts the root type of the operation from the schema.\n *\n * @deprecated Please use `GraphQLSchema.getRootType` instead. Will be removed in v17\n */function getOperationRootType(e,t){if(\"query\"===t.operation){const n=e.getQueryType();if(!n)throw new r(\"Schema does not define the required query root type.\",{nodes:t});return n}if(\"mutation\"===t.operation){const n=e.getMutationType();if(!n)throw new r(\"Schema is not configured for mutations.\",{nodes:t});return n}if(\"subscription\"===t.operation){const n=e.getSubscriptionType();if(!n)throw new r(\"Schema is not configured for subscriptions.\",{nodes:t});return n}throw new r(\"Can only have query, mutation and subscription operations.\",{nodes:t})}function introspectionFromSchema(e,t){const o={specifiedByUrl:true,directiveIsRepeatable:true,schemaDescription:true,inputValueDeprecation:true,...t};const r=p(n(o));const a=m({schema:e,document:r});!a.errors&&a.data||s(false);return a.data}function lexicographicSortSchema(e){const t=e.toConfig();const n=_(sortByName(t.types),(e=>e.name),sortNamedType);return new Y({...t,types:Object.values(n),directives:sortByName(t.directives).map(sortDirective),query:replaceMaybeType(t.query),mutation:replaceMaybeType(t.mutation),subscription:replaceMaybeType(t.subscription)});function replaceType(e){return I(e)?new g(replaceType(e.ofType)):O(e)?new A(replaceType(e.ofType)):replaceNamedType(e)}function replaceNamedType(e){return n[e.name]}function replaceMaybeType(e){return e&&replaceNamedType(e)}function sortDirective(e){const t=e.toConfig();return new k({...t,locations:sortBy(t.locations,(e=>e)),args:sortArgs(t.args)})}function sortArgs(e){return sortObjMap(e,(e=>({...e,type:replaceType(e.type)})))}function sortFields(e){return sortObjMap(e,(e=>({...e,type:replaceType(e.type),args:e.args&&sortArgs(e.args)})))}function sortInputFields(e){return sortObjMap(e,(e=>({...e,type:replaceType(e.type)})))}function sortTypes(e){return sortByName(e).map(replaceNamedType)}function sortNamedType(e){if(h(e)||K(e))return e;if(R(e)){const t=e.toConfig();return new N({...t,interfaces:()=>sortTypes(t.interfaces),fields:()=>sortFields(t.fields)})}if(C(e)){const t=e.toConfig();return new F({...t,interfaces:()=>sortTypes(t.interfaces),fields:()=>sortFields(t.fields)})}if(V(e)){const t=e.toConfig();return new M({...t,types:()=>sortTypes(t.types)})}if(j(e)){const t=e.toConfig();return new $({...t,values:sortObjMap(t.values,(e=>e))})}if(S(e)){const t=e.toConfig();return new U({...t,fields:()=>sortInputFields(t.fields)})}false,s(false,\"Unexpected type: \"+D(e))}}function sortObjMap(e,t){const n=Object.create(null);for(const o of Object.keys(e).sort(y))n[o]=t(e[o]);return n}function sortByName(e){return sortBy(e,(e=>e.name))}function sortBy(e,t){return e.slice().sort(((e,n)=>{const o=t(e);const r=t(n);return y(o,r)}))}function concatAST(e){const t=[];for(const n of e)t.push(...n.definitions);return{kind:o.DOCUMENT,definitions:t}}function separateOperations(e){const t=[];const n=Object.create(null);for(const r of e.definitions)switch(r.kind){case o.OPERATION_DEFINITION:t.push(r);break;case o.FRAGMENT_DEFINITION:n[r.name.value]=collectDependencies(r.selectionSet);break;default:}const r=Object.create(null);for(const s of t){const t=new Set;for(const e of collectDependencies(s.selectionSet))collectTransitiveDependencies(t,n,e);const a=s.name?s.name.value:\"\";r[a]={kind:o.DOCUMENT,definitions:e.definitions.filter((e=>e===s||e.kind===o.FRAGMENT_DEFINITION&&t.has(e.name.value)))}}return r}function collectTransitiveDependencies(e,t,n){if(!e.has(n)){e.add(n);const o=t[n];if(void 0!==o)for(const n of o)collectTransitiveDependencies(e,t,n)}}function collectDependencies(e){const t=[];W(e,{FragmentSpread(e){t.push(e.name.value)}});return t}function stripIgnoredCharacters(e){const t=Z(e)?e:new J(e);const n=t.body;const o=new f(t);let r=\"\";let s=false;while(o.advance().kind!==u.EOF){const e=o.token;const t=e.kind;const a=!E(e.kind);s&&(a||e.kind===u.SPREAD)&&(r+=\" \");const i=n.slice(e.start,e.end);t===u.BLOCK_STRING?r+=z(e.value,{minimize:true}):r+=i;s=a}return r}\n/**\n * Upholds the spec rules about naming.\n * @deprecated Please use `assertName` instead. Will be removed in v17\n */function assertValidName(e){const t=isValidNameError(e);if(t)throw t;return e}\n/**\n * Returns an Error if a name is invalid.\n * @deprecated Please use `assertName` instead. Will be removed in v17\n */function isValidNameError(e){\"string\"===typeof e||X(false,\"Expected name to be a string.\");if(e.startsWith(\"__\"))return new r(`Name \"${e}\" must not begin with \"__\", which is reserved by GraphQL introspection.`);try{L(e)}catch(e){return e}}var te;(function(e){e.TYPE_REMOVED=\"TYPE_REMOVED\";e.TYPE_CHANGED_KIND=\"TYPE_CHANGED_KIND\";e.TYPE_REMOVED_FROM_UNION=\"TYPE_REMOVED_FROM_UNION\";e.VALUE_REMOVED_FROM_ENUM=\"VALUE_REMOVED_FROM_ENUM\";e.REQUIRED_INPUT_FIELD_ADDED=\"REQUIRED_INPUT_FIELD_ADDED\";e.IMPLEMENTED_INTERFACE_REMOVED=\"IMPLEMENTED_INTERFACE_REMOVED\";e.FIELD_REMOVED=\"FIELD_REMOVED\";e.FIELD_CHANGED_KIND=\"FIELD_CHANGED_KIND\";e.REQUIRED_ARG_ADDED=\"REQUIRED_ARG_ADDED\";e.ARG_REMOVED=\"ARG_REMOVED\";e.ARG_CHANGED_KIND=\"ARG_CHANGED_KIND\";e.DIRECTIVE_REMOVED=\"DIRECTIVE_REMOVED\";e.DIRECTIVE_ARG_REMOVED=\"DIRECTIVE_ARG_REMOVED\";e.REQUIRED_DIRECTIVE_ARG_ADDED=\"REQUIRED_DIRECTIVE_ARG_ADDED\";e.DIRECTIVE_REPEATABLE_REMOVED=\"DIRECTIVE_REPEATABLE_REMOVED\";e.DIRECTIVE_LOCATION_REMOVED=\"DIRECTIVE_LOCATION_REMOVED\"})(te||(te={}));var ne;(function(e){e.VALUE_ADDED_TO_ENUM=\"VALUE_ADDED_TO_ENUM\";e.TYPE_ADDED_TO_UNION=\"TYPE_ADDED_TO_UNION\";e.OPTIONAL_INPUT_FIELD_ADDED=\"OPTIONAL_INPUT_FIELD_ADDED\";e.OPTIONAL_ARG_ADDED=\"OPTIONAL_ARG_ADDED\";e.IMPLEMENTED_INTERFACE_ADDED=\"IMPLEMENTED_INTERFACE_ADDED\";e.ARG_DEFAULT_VALUE_CHANGE=\"ARG_DEFAULT_VALUE_CHANGE\"})(ne||(ne={}));function findBreakingChanges(e,t){return findSchemaChanges(e,t).filter((e=>e.type in te))}function findDangerousChanges(e,t){return findSchemaChanges(e,t).filter((e=>e.type in ne))}function findSchemaChanges(e,t){return[...findTypeChanges(e,t),...findDirectiveChanges(e,t)]}function findDirectiveChanges(e,t){const n=[];const o=diff(e.getDirectives(),t.getDirectives());for(const e of o.removed)n.push({type:te.DIRECTIVE_REMOVED,description:`${e.name} was removed.`});for(const[e,t]of o.persisted){const o=diff(e.args,t.args);for(const t of o.added)w(t)&&n.push({type:te.REQUIRED_DIRECTIVE_ARG_ADDED,description:`A required arg ${t.name} on directive ${e.name} was added.`});for(const t of o.removed)n.push({type:te.DIRECTIVE_ARG_REMOVED,description:`${t.name} was removed from ${e.name}.`});e.isRepeatable&&!t.isRepeatable&&n.push({type:te.DIRECTIVE_REPEATABLE_REMOVED,description:`Repeatable flag was removed from ${e.name}.`});for(const o of e.locations)t.locations.includes(o)||n.push({type:te.DIRECTIVE_LOCATION_REMOVED,description:`${o} was removed from ${e.name}.`})}return n}function findTypeChanges(e,t){const n=[];const o=diff(Object.values(e.getTypeMap()),Object.values(t.getTypeMap()));for(const e of o.removed)n.push({type:te.TYPE_REMOVED,description:H(e)?`Standard scalar ${e.name} was removed because it is not referenced anymore.`:`${e.name} was removed.`});for(const[e,t]of o.persisted)j(e)&&j(t)?n.push(...findEnumTypeChanges(e,t)):V(e)&&V(t)?n.push(...findUnionTypeChanges(e,t)):S(e)&&S(t)?n.push(...findInputObjectTypeChanges(e,t)):R(e)&&R(t)||C(e)&&C(t)?n.push(...findFieldChanges(e,t),...findImplementedInterfacesChanges(e,t)):e.constructor!==t.constructor&&n.push({type:te.TYPE_CHANGED_KIND,description:`${e.name} changed from ${typeKindName(e)} to ${typeKindName(t)}.`});return n}function findInputObjectTypeChanges(e,t){const n=[];const o=diff(Object.values(e.getFields()),Object.values(t.getFields()));for(const t of o.added)G(t)?n.push({type:te.REQUIRED_INPUT_FIELD_ADDED,description:`A required field ${t.name} on input type ${e.name} was added.`}):n.push({type:ne.OPTIONAL_INPUT_FIELD_ADDED,description:`An optional field ${t.name} on input type ${e.name} was added.`});for(const t of o.removed)n.push({type:te.FIELD_REMOVED,description:`${e.name}.${t.name} was removed.`});for(const[t,r]of o.persisted){const o=isChangeSafeForInputObjectFieldOrFieldArg(t.type,r.type);o||n.push({type:te.FIELD_CHANGED_KIND,description:`${e.name}.${t.name} changed type from ${String(t.type)} to ${String(r.type)}.`})}return n}function findUnionTypeChanges(e,t){const n=[];const o=diff(e.getTypes(),t.getTypes());for(const t of o.added)n.push({type:ne.TYPE_ADDED_TO_UNION,description:`${t.name} was added to union type ${e.name}.`});for(const t of o.removed)n.push({type:te.TYPE_REMOVED_FROM_UNION,description:`${t.name} was removed from union type ${e.name}.`});return n}function findEnumTypeChanges(e,t){const n=[];const o=diff(e.getValues(),t.getValues());for(const t of o.added)n.push({type:ne.VALUE_ADDED_TO_ENUM,description:`${t.name} was added to enum type ${e.name}.`});for(const t of o.removed)n.push({type:te.VALUE_REMOVED_FROM_ENUM,description:`${t.name} was removed from enum type ${e.name}.`});return n}function findImplementedInterfacesChanges(e,t){const n=[];const o=diff(e.getInterfaces(),t.getInterfaces());for(const t of o.added)n.push({type:ne.IMPLEMENTED_INTERFACE_ADDED,description:`${t.name} added to interfaces implemented by ${e.name}.`});for(const t of o.removed)n.push({type:te.IMPLEMENTED_INTERFACE_REMOVED,description:`${e.name} no longer implements interface ${t.name}.`});return n}function findFieldChanges(e,t){const n=[];const o=diff(Object.values(e.getFields()),Object.values(t.getFields()));for(const t of o.removed)n.push({type:te.FIELD_REMOVED,description:`${e.name}.${t.name} was removed.`});for(const[t,r]of o.persisted){n.push(...findArgChanges(e,t,r));const o=isChangeSafeForObjectOrInterfaceField(t.type,r.type);o||n.push({type:te.FIELD_CHANGED_KIND,description:`${e.name}.${t.name} changed type from ${String(t.type)} to ${String(r.type)}.`})}return n}function findArgChanges(e,t,n){const o=[];const r=diff(t.args,n.args);for(const n of r.removed)o.push({type:te.ARG_REMOVED,description:`${e.name}.${t.name} arg ${n.name} was removed.`});for(const[n,s]of r.persisted){const r=isChangeSafeForInputObjectFieldOrFieldArg(n.type,s.type);if(r){if(void 0!==n.defaultValue)if(void 0===s.defaultValue)o.push({type:ne.ARG_DEFAULT_VALUE_CHANGE,description:`${e.name}.${t.name} arg ${n.name} defaultValue was removed.`});else{const r=stringifyValue(n.defaultValue,n.type);const a=stringifyValue(s.defaultValue,s.type);r!==a&&o.push({type:ne.ARG_DEFAULT_VALUE_CHANGE,description:`${e.name}.${t.name} arg ${n.name} has changed defaultValue from ${r} to ${a}.`})}}else o.push({type:te.ARG_CHANGED_KIND,description:`${e.name}.${t.name} arg ${n.name} has changed type from ${String(n.type)} to ${String(s.type)}.`})}for(const n of r.added)w(n)?o.push({type:te.REQUIRED_ARG_ADDED,description:`A required arg ${n.name} on ${e.name}.${t.name} was added.`}):o.push({type:ne.OPTIONAL_ARG_ADDED,description:`An optional arg ${n.name} on ${e.name}.${t.name} was added.`});return o}function isChangeSafeForObjectOrInterfaceField(e,t){return I(e)?I(t)&&isChangeSafeForObjectOrInterfaceField(e.ofType,t.ofType)||O(t)&&isChangeSafeForObjectOrInterfaceField(e,t.ofType):O(e)?O(t)&&isChangeSafeForObjectOrInterfaceField(e.ofType,t.ofType):P(t)&&e.name===t.name||O(t)&&isChangeSafeForObjectOrInterfaceField(e,t.ofType)}function isChangeSafeForInputObjectFieldOrFieldArg(e,t){return I(e)?I(t)&&isChangeSafeForInputObjectFieldOrFieldArg(e.ofType,t.ofType):O(e)?O(t)&&isChangeSafeForInputObjectFieldOrFieldArg(e.ofType,t.ofType)||!O(t)&&isChangeSafeForInputObjectFieldOrFieldArg(e.ofType,t):P(t)&&e.name===t.name}function typeKindName(e){if(h(e))return\"a Scalar type\";if(R(e))return\"an Object type\";if(C(e))return\"an Interface type\";if(V(e))return\"a Union type\";if(j(e))return\"an Enum type\";if(S(e))return\"an Input type\";false,s(false,\"Unexpected type: \"+D(e))}function stringifyValue(e,t){const n=Q(e,t);null!=n||s(false);return ee(q(n))}function diff(e,t){const n=[];const o=[];const r=[];const s=x(e,(({name:e})=>e));const a=x(t,(({name:e})=>e));for(const t of e){const e=a[t.name];void 0===e?o.push(t):r.push([t,e])}for(const e of t)void 0===s[e.name]&&n.push(e);return{added:n,persisted:r,removed:o}}export{te as BreakingChangeType,ne as DangerousChangeType,assertValidName,concatAST,findBreakingChanges,findDangerousChanges,getOperationAST,getOperationRootType,introspectionFromSchema,isValidNameError,lexicographicSortSchema,separateOperations,stripIgnoredCharacters};\n\n//# sourceMappingURL=index.mjs.map","import{d as $}from\"./_/7892746f.js\";import{i as Y,e as Z}from\"./_/09c5bd0b.js\";export{d as defaultFieldResolver,b as defaultTypeResolver,e as execute,a as executeSync,l as locatedError}from\"./_/09c5bd0b.js\";import{p as ee}from\"./_/da4c7d10.js\";export{L as Lexer,T as TokenKind,p as parse,b as parseConstValue,c as parseType,a as parseValue,s as syntaxError}from\"./_/da4c7d10.js\";import{v as ae}from\"./_/5664b464.js\";export{a as assertValidSchema,d as doTypesOverlap,i as isEqualType,b as isTypeSubTypeOf,v as validateSchema}from\"./_/5664b464.js\";import{v as se}from\"./_/473b4d8a.js\";export{E as ExecutableDefinitionsRule,F as FieldsOnCorrectTypeRule,a as FragmentsOnCompositeTypesRule,K as KnownArgumentNamesRule,b as KnownDirectivesRule,c as KnownFragmentNamesRule,d as KnownTypeNamesRule,L as LoneAnonymousOperationRule,r as LoneSchemaDefinitionRule,N as NoFragmentCyclesRule,e as NoUndefinedVariablesRule,f as NoUnusedFragmentsRule,g as NoUnusedVariablesRule,O as OverlappingFieldsCanBeMergedRule,P as PossibleFragmentSpreadsRule,A as PossibleTypeExtensionsRule,h as ProvidedRequiredArgumentsRule,S as ScalarLeafsRule,i as SingleFieldSubscriptionsRule,T as TypeInfo,y as UniqueArgumentDefinitionNamesRule,U as UniqueArgumentNamesRule,z as UniqueDirectiveNamesRule,j as UniqueDirectivesPerLocationRule,w as UniqueEnumValueNamesRule,x as UniqueFieldDefinitionNamesRule,k as UniqueFragmentNamesRule,l as UniqueInputFieldNamesRule,m as UniqueOperationNamesRule,t as UniqueOperationTypesRule,u as UniqueTypeNamesRule,n as UniqueVariableNamesRule,V as ValidationContext,o as ValuesOfCorrectTypeRule,p as VariablesAreInputTypesRule,q as VariablesInAllowedPositionRule,s as specifiedRules,v as validate,B as visitWithTypeInfo}from\"./_/473b4d8a.js\";export{G as GraphQLSchema,a as assertSchema,i as isSchema}from\"./_/6a2aa4f2.js\";import{g as re,i as te}from\"./_/1c63e742.js\";export{e as GraphQLEnumType,f as GraphQLInputObjectType,c as GraphQLInterfaceType,h as GraphQLList,j as GraphQLNonNull,b as GraphQLObjectType,G as GraphQLScalarType,d as GraphQLUnionType,R as assertAbstractType,Q as assertCompositeType,J as assertEnumType,X as assertEnumValueName,K as assertInputObjectType,N as assertInputType,H as assertInterfaceType,P as assertLeafType,L as assertListType,W as assertName,U as assertNamedType,M as assertNonNullType,T as assertNullableType,F as assertObjectType,O as assertOutputType,E as assertScalarType,D as assertType,I as assertUnionType,S as assertWrappingType,g as getNamedType,V as getNullableType,x as isAbstractType,w as isCompositeType,p as isEnumType,i as isInputObjectType,t as isInputType,n as isInterfaceType,v as isLeafType,q as isListType,A as isNamedType,s as isNonNullType,z as isNullableType,m as isObjectType,u as isOutputType,B as isRequiredArgument,C as isRequiredInputField,l as isScalarType,k as isType,o as isUnionType,y as isWrappingType,r as resolveObjMapThunk,a as resolveReadonlyArrayThunk}from\"./_/1c63e742.js\";export{D as DEFAULT_DEPRECATION_REASON,f as GRAPHQL_MAX_INT,g as GRAPHQL_MIN_INT,d as GraphQLBoolean,k as GraphQLDeprecatedDirective,G as GraphQLDirective,b as GraphQLFloat,e as GraphQLID,i as GraphQLIncludeDirective,a as GraphQLInt,j as GraphQLSkipDirective,l as GraphQLSpecifiedByDirective,c as GraphQLString,p as assertDirective,m as isDirective,o as isSpecifiedDirective,n as isSpecifiedScalarType,h as specifiedDirectives,s as specifiedScalarTypes}from\"./_/c857c0af.js\";import{i as ie}from\"./_/ebd60186.js\";export{S as SchemaMetaFieldDef,T as TypeKind,j as TypeMetaFieldDef,k as TypeNameMetaFieldDef,b as __Directive,c as __DirectiveLocation,g as __EnumValue,e as __Field,f as __InputValue,_ as __Schema,d as __Type,h as __TypeKind,l as astFromValue,a as introspectionTypes,i as isIntrospectionType}from\"./_/ebd60186.js\";import\"./language/index.mjs\";export{pathToArray as responsePathAsArray}from\"./jsutils/Path.mjs\";export{c as createSourceEventStream,s as subscribe}from\"./_/671612cd.js\";export{c as coerceInputValue,g as getArgumentValues,b as getDirectiveValues,a as getVariableValues,t as typeFromAST}from\"./_/8bd869b7.js\";import{i as oe,G as ne}from\"./_/7dea71b4.js\";export{G as GraphQLError,f as formatError,g as getLocation,b as printError,p as printLocation,a as printSourceLocation}from\"./_/7dea71b4.js\";export{BreakingChangeType,DangerousChangeType,assertValidName,concatAST,findBreakingChanges,findDangerousChanges,getOperationAST,getOperationRootType,introspectionFromSchema,isValidNameError,lexicographicSortSchema,separateOperations,stripIgnoredCharacters}from\"./utilities/index.mjs\";export{L as Location,O as OperationTypeNode,T as Token}from\"./_/be682a22.js\";export{Source}from\"./language/source.mjs\";export{print}from\"./language/printer.mjs\";export{BREAK,getEnterLeaveForKind,getVisitFn,visit,visitInParallel}from\"./language/visitor.mjs\";export{Kind}from\"./language/kinds.mjs\";export{D as DirectiveLocation}from\"./_/c8837240.js\";export{d as isConstValueNode,i as isDefinitionNode,a as isExecutableDefinitionNode,b as isSelectionNode,g as isTypeDefinitionNode,j as isTypeExtensionNode,e as isTypeNode,f as isTypeSystemDefinitionNode,h as isTypeSystemExtensionNode,c as isValueNode}from\"./_/5c7fa0d9.js\";export{getIntrospectionQuery}from\"./utilities/getIntrospectionQuery.mjs\";export{buildClientSchema}from\"./utilities/buildClientSchema.mjs\";export{b as buildASTSchema,a as buildSchema,e as extendSchema}from\"./_/772e88a0.js\";export{printIntrospectionSchema,printSchema,printType}from\"./utilities/printSchema.mjs\";export{v as valueFromAST}from\"./_/7a8ad326.js\";export{v as valueFromASTUntyped}from\"./_/e1a6e691.js\";import\"./jsutils/inspect.mjs\";import\"./_/cdbc8e30.js\";import\"./execution/collectFields.mjs\";import\"./_/8890d1df.js\";import\"./_/c83a270e.js\";const pe=\"16.7.1\";const le=Object.freeze({major:16,minor:7,patch:1,preReleaseTag:null});function graphql(e){return new Promise((a=>a(graphqlImpl(e))))}function graphqlSync(e){const a=graphqlImpl(e);if(Y(a))throw new Error(\"GraphQL execution failed to complete synchronously.\");return a}function graphqlImpl(e){arguments.length<2||$(false,\"graphql@16 dropped long-deprecated support for positional arguments, please pass an object instead.\");const{schema:a,source:s,rootValue:r,contextValue:t,variableValues:i,operationName:o,fieldResolver:n,typeResolver:p}=e;const l=ae(a);if(l.length>0)return{errors:l};let u;try{u=ee(s)}catch(e){return{errors:[e]}}const c=se(a,u);return c.length>0?{errors:c}:Z({schema:a,document:u,rootValue:r,contextValue:t,variableValues:i,operationName:o,fieldResolver:n,typeResolver:p})}function NoDeprecatedCustomRule(e){return{Field(a){const s=e.getFieldDef();const r=null===s||void 0===s?void 0:s.deprecationReason;if(s&&null!=r){const t=e.getParentType();null!=t||oe(false);e.reportError(new ne(`The field ${t.name}.${s.name} is deprecated. ${r}`,{nodes:a}))}},Argument(a){const s=e.getArgument();const r=null===s||void 0===s?void 0:s.deprecationReason;if(s&&null!=r){const t=e.getDirective();if(null!=t)e.reportError(new ne(`Directive \"@${t.name}\" argument \"${s.name}\" is deprecated. ${r}`,{nodes:a}));else{const t=e.getParentType();const i=e.getFieldDef();null!=t&&null!=i||oe(false);e.reportError(new ne(`Field \"${t.name}.${i.name}\" argument \"${s.name}\" is deprecated. ${r}`,{nodes:a}))}}},ObjectField(a){const s=re(e.getParentInputType());if(te(s)){const r=s.getFields()[a.name.value];const t=null===r||void 0===r?void 0:r.deprecationReason;null!=t&&e.reportError(new ne(`The input field ${s.name}.${r.name} is deprecated. ${t}`,{nodes:a}))}},EnumValue(a){const s=e.getEnumValue();const r=null===s||void 0===s?void 0:s.deprecationReason;if(s&&null!=r){const t=re(e.getInputType());null!=t||oe(false);e.reportError(new ne(`The enum value \"${t.name}.${s.name}\" is deprecated. ${r}`,{nodes:a}))}}}}function NoSchemaIntrospectionCustomRule(e){return{Field(a){const s=re(e.getType());s&&ie(s)&&e.reportError(new ne(`GraphQL introspection has been disabled, but the requested query contained the field \"${a.name.value}\".`,{nodes:a}))}}}export{NoDeprecatedCustomRule,NoSchemaIntrospectionCustomRule,graphql,graphqlSync,pe as version,le as versionInfo};\n\n//# sourceMappingURL=index.mjs.map","var e=\"undefined\"!==typeof globalThis?globalThis:\"undefined\"!==typeof self?self:global;var t={};var r=\"undefined\"!==typeof self?self:t;var o=function(){function F(){(this||e).fetch=false;(this||e).DOMException=r.DOMException}F.prototype=r;return new F}();(function(t){(function(r){var o={searchParams:\"URLSearchParams\"in t,iterable:\"Symbol\"in t&&\"iterator\"in Symbol,blob:\"FileReader\"in t&&\"Blob\"in t&&function(){try{new Blob;return true}catch(e){return false}}(),formData:\"FormData\"in t,arrayBuffer:\"ArrayBuffer\"in t};function isDataView(e){return e&&DataView.prototype.isPrototypeOf(e)}if(o.arrayBuffer){var n=[\"[object Int8Array]\",\"[object Uint8Array]\",\"[object Uint8ClampedArray]\",\"[object Int16Array]\",\"[object Uint16Array]\",\"[object Int32Array]\",\"[object Uint32Array]\",\"[object Float32Array]\",\"[object Float64Array]\"];var s=ArrayBuffer.isView||function(e){return e&&n.indexOf(Object.prototype.toString.call(e))>-1}}function normalizeName(e){\"string\"!==typeof e&&(e=String(e));if(/[^a-z0-9\\-#$%&'*+.^_`|~]/i.test(e))throw new TypeError(\"Invalid character in header field name\");return e.toLowerCase()}function normalizeValue(e){\"string\"!==typeof e&&(e=String(e));return e}function iteratorFor(e){var t={next:function(){var t=e.shift();return{done:void 0===t,value:t}}};o.iterable&&(t[Symbol.iterator]=function(){return t});return t}function Headers(t){(this||e).map={};t instanceof Headers?t.forEach((function(e,t){this.append(t,e)}),this||e):Array.isArray(t)?t.forEach((function(e){this.append(e[0],e[1])}),this||e):t&&Object.getOwnPropertyNames(t).forEach((function(e){this.append(e,t[e])}),this||e)}Headers.prototype.append=function(t,r){t=normalizeName(t);r=normalizeValue(r);var o=(this||e).map[t];(this||e).map[t]=o?o+\", \"+r:r};Headers.prototype.delete=function(t){delete(this||e).map[normalizeName(t)]};Headers.prototype.get=function(t){t=normalizeName(t);return this.has(t)?(this||e).map[t]:null};Headers.prototype.has=function(t){return(this||e).map.hasOwnProperty(normalizeName(t))};Headers.prototype.set=function(t,r){(this||e).map[normalizeName(t)]=normalizeValue(r)};Headers.prototype.forEach=function(t,r){for(var o in(this||e).map)(this||e).map.hasOwnProperty(o)&&t.call(r,(this||e).map[o],o,this||e)};Headers.prototype.keys=function(){var e=[];this.forEach((function(t,r){e.push(r)}));return iteratorFor(e)};Headers.prototype.values=function(){var e=[];this.forEach((function(t){e.push(t)}));return iteratorFor(e)};Headers.prototype.entries=function(){var e=[];this.forEach((function(t,r){e.push([r,t])}));return iteratorFor(e)};o.iterable&&(Headers.prototype[Symbol.iterator]=Headers.prototype.entries);function consumed(e){if(e.bodyUsed)return Promise.reject(new TypeError(\"Already read\"));e.bodyUsed=true}function fileReaderReady(e){return new Promise((function(t,r){e.onload=function(){t(e.result)};e.onerror=function(){r(e.error)}}))}function readBlobAsArrayBuffer(e){var t=new FileReader;var r=fileReaderReady(t);t.readAsArrayBuffer(e);return r}function readBlobAsText(e){var t=new FileReader;var r=fileReaderReady(t);t.readAsText(e);return r}function readArrayBufferAsText(e){var t=new Uint8Array(e);var r=new Array(t.length);for(var o=0;o<t.length;o++)r[o]=String.fromCharCode(t[o]);return r.join(\"\")}function bufferClone(e){if(e.slice)return e.slice(0);var t=new Uint8Array(e.byteLength);t.set(new Uint8Array(e));return t.buffer}function Body(){(this||e).bodyUsed=false;(this||e)._initBody=function(t){(this||e)._bodyInit=t;if(t)if(\"string\"===typeof t)(this||e)._bodyText=t;else if(o.blob&&Blob.prototype.isPrototypeOf(t))(this||e)._bodyBlob=t;else if(o.formData&&FormData.prototype.isPrototypeOf(t))(this||e)._bodyFormData=t;else if(o.searchParams&&URLSearchParams.prototype.isPrototypeOf(t))(this||e)._bodyText=t.toString();else if(o.arrayBuffer&&o.blob&&isDataView(t)){(this||e)._bodyArrayBuffer=bufferClone(t.buffer);(this||e)._bodyInit=new Blob([(this||e)._bodyArrayBuffer])}else o.arrayBuffer&&(ArrayBuffer.prototype.isPrototypeOf(t)||s(t))?(this||e)._bodyArrayBuffer=bufferClone(t):(this||e)._bodyText=t=Object.prototype.toString.call(t);else(this||e)._bodyText=\"\";(this||e).headers.get(\"content-type\")||(\"string\"===typeof t?(this||e).headers.set(\"content-type\",\"text/plain;charset=UTF-8\"):(this||e)._bodyBlob&&(this||e)._bodyBlob.type?(this||e).headers.set(\"content-type\",(this||e)._bodyBlob.type):o.searchParams&&URLSearchParams.prototype.isPrototypeOf(t)&&(this||e).headers.set(\"content-type\",\"application/x-www-form-urlencoded;charset=UTF-8\"))};if(o.blob){(this||e).blob=function(){var t=consumed(this||e);if(t)return t;if((this||e)._bodyBlob)return Promise.resolve((this||e)._bodyBlob);if((this||e)._bodyArrayBuffer)return Promise.resolve(new Blob([(this||e)._bodyArrayBuffer]));if((this||e)._bodyFormData)throw new Error(\"could not read FormData body as blob\");return Promise.resolve(new Blob([(this||e)._bodyText]))};(this||e).arrayBuffer=function(){return(this||e)._bodyArrayBuffer?consumed(this||e)||Promise.resolve((this||e)._bodyArrayBuffer):this.blob().then(readBlobAsArrayBuffer)}}(this||e).text=function(){var t=consumed(this||e);if(t)return t;if((this||e)._bodyBlob)return readBlobAsText((this||e)._bodyBlob);if((this||e)._bodyArrayBuffer)return Promise.resolve(readArrayBufferAsText((this||e)._bodyArrayBuffer));if((this||e)._bodyFormData)throw new Error(\"could not read FormData body as text\");return Promise.resolve((this||e)._bodyText)};o.formData&&((this||e).formData=function(){return this.text().then(decode)});(this||e).json=function(){return this.text().then(JSON.parse)};return this||e}var i=[\"DELETE\",\"GET\",\"HEAD\",\"OPTIONS\",\"POST\",\"PUT\"];function normalizeMethod(e){var t=e.toUpperCase();return i.indexOf(t)>-1?t:e}function Request(t,r){r=r||{};var o=r.body;if(t instanceof Request){if(t.bodyUsed)throw new TypeError(\"Already read\");(this||e).url=t.url;(this||e).credentials=t.credentials;r.headers||((this||e).headers=new Headers(t.headers));(this||e).method=t.method;(this||e).mode=t.mode;(this||e).signal=t.signal;if(!o&&null!=t._bodyInit){o=t._bodyInit;t.bodyUsed=true}}else(this||e).url=String(t);(this||e).credentials=r.credentials||(this||e).credentials||\"same-origin\";!r.headers&&(this||e).headers||((this||e).headers=new Headers(r.headers));(this||e).method=normalizeMethod(r.method||(this||e).method||\"GET\");(this||e).mode=r.mode||(this||e).mode||null;(this||e).signal=r.signal||(this||e).signal;(this||e).referrer=null;if((\"GET\"===(this||e).method||\"HEAD\"===(this||e).method)&&o)throw new TypeError(\"Body not allowed for GET or HEAD requests\");this._initBody(o)}Request.prototype.clone=function(){return new Request(this||e,{body:(this||e)._bodyInit})};function decode(e){var t=new FormData;e.trim().split(\"&\").forEach((function(e){if(e){var r=e.split(\"=\");var o=r.shift().replace(/\\+/g,\" \");var n=r.join(\"=\").replace(/\\+/g,\" \");t.append(decodeURIComponent(o),decodeURIComponent(n))}}));return t}function parseHeaders(e){var t=new Headers;var r=e.replace(/\\r?\\n[\\t ]+/g,\" \");r.split(/\\r?\\n/).forEach((function(e){var r=e.split(\":\");var o=r.shift().trim();if(o){var n=r.join(\":\").trim();t.append(o,n)}}));return t}Body.call(Request.prototype);function Response(t,r){r||(r={});(this||e).type=\"default\";(this||e).status=void 0===r.status?200:r.status;(this||e).ok=(this||e).status>=200&&(this||e).status<300;(this||e).statusText=\"statusText\"in r?r.statusText:\"OK\";(this||e).headers=new Headers(r.headers);(this||e).url=r.url||\"\";this._initBody(t)}Body.call(Response.prototype);Response.prototype.clone=function(){return new Response((this||e)._bodyInit,{status:(this||e).status,statusText:(this||e).statusText,headers:new Headers((this||e).headers),url:(this||e).url})};Response.error=function(){var e=new Response(null,{status:0,statusText:\"\"});e.type=\"error\";return e};var a=[301,302,303,307,308];Response.redirect=function(e,t){if(-1===a.indexOf(t))throw new RangeError(\"Invalid status code\");return new Response(null,{status:t,headers:{location:e}})};r.DOMException=t.DOMException;try{new r.DOMException}catch(t){r.DOMException=function(t,r){(this||e).message=t;(this||e).name=r;var o=Error(t);(this||e).stack=o.stack};r.DOMException.prototype=Object.create(Error.prototype);r.DOMException.prototype.constructor=r.DOMException}function fetch(e,t){return new Promise((function(n,s){var i=new Request(e,t);if(i.signal&&i.signal.aborted)return s(new r.DOMException(\"Aborted\",\"AbortError\"));var a=new XMLHttpRequest;function abortXhr(){a.abort()}a.onload=function(){var e={status:a.status,statusText:a.statusText,headers:parseHeaders(a.getAllResponseHeaders()||\"\")};e.url=\"responseURL\"in a?a.responseURL:e.headers.get(\"X-Request-URL\");var t=\"response\"in a?a.response:a.responseText;n(new Response(t,e))};a.onerror=function(){s(new TypeError(\"Network request failed\"))};a.ontimeout=function(){s(new TypeError(\"Network request failed\"))};a.onabort=function(){s(new r.DOMException(\"Aborted\",\"AbortError\"))};a.open(i.method,i.url,true);\"include\"===i.credentials?a.withCredentials=true:\"omit\"===i.credentials&&(a.withCredentials=false);\"responseType\"in a&&o.blob&&(a.responseType=\"blob\");i.headers.forEach((function(e,t){a.setRequestHeader(t,e)}));if(i.signal){i.signal.addEventListener(\"abort\",abortXhr);a.onreadystatechange=function(){4===a.readyState&&i.signal.removeEventListener(\"abort\",abortXhr)}}a.send(\"undefined\"===typeof i._bodyInit?null:i._bodyInit)}))}fetch.polyfill=true;if(!t.fetch){t.fetch=fetch;t.Headers=Headers;t.Request=Request;t.Response=Response}r.Headers=Headers;r.Request=Request;r.Response=Response;r.fetch=fetch;Object.defineProperty(r,\"__esModule\",{value:true})})({})})(o);o.fetch.ponyfill=true;delete o.fetch.polyfill;var n=o;t=n.fetch;t.default=n.fetch;t.fetch=n.fetch;t.Headers=n.Headers;t.Request=n.Request;t.Response=n.Response;t=t;var s=t;const i=t.DOMException,a=t.Headers,f=t.Request,u=t.Response,d=t.fetch,h=t.__esModule;export{i as DOMException,a as Headers,f as Request,u as Response,h as __esModule,s as default,d as fetch};\n\n//# sourceMappingURL=browser-ponyfill.js.map","import{parse as e,print as t}from\"graphql\";import*as r from\"cross-fetch\";import s from\"cross-fetch\";const n=JSON;const uppercase=e=>e.toUpperCase();const HeadersInstanceToPlainObject=e=>{const t={};e.forEach(((e,r)=>{t[r]=e}));return t};const parseRequestArgs=(e,t,r)=>e.document?e:{document:e,variables:t,requestHeaders:r,signal:void 0};const parseRawRequestArgs=(e,t,r)=>e.query?e:{query:e,variables:t,requestHeaders:r,signal:void 0};const parseBatchRequestArgs=(e,t)=>e.documents?e:{documents:e,requestHeaders:t,signal:void 0};const parseRequestExtendedArgs=(e,t,...r)=>{const[s,n]=r;return e.document?e:{url:e,document:t,variables:s,requestHeaders:n,signal:void 0}};const parseRawRequestExtendedArgs=(e,t,...r)=>{const[s,n]=r;return e.query?e:{url:e,query:t,variables:s,requestHeaders:n,signal:void 0}};const extractOperationName=e=>{let t;const r=e.definitions.filter((e=>\"OperationDefinition\"===e.kind));1===r.length&&(t=r[0]?.name?.value);return t};const resolveRequestDocument=r=>{if(\"string\"===typeof r){let t;try{const s=e(r);t=extractOperationName(s)}catch(e){}return{query:r,operationName:t}}const s=extractOperationName(r);return{query:t(r),operationName:s}};class ClientError extends Error{constructor(e,t){const r=`${ClientError.extractMessage(e)}: ${JSON.stringify({response:e,request:t})}`;super(r);Object.setPrototypeOf(this,ClientError.prototype);this.response=e;this.request=t;\"function\"===typeof Error.captureStackTrace&&Error.captureStackTrace(this,ClientError)}static extractMessage(e){return e.errors?.[0]?.message??`GraphQL Error (Code: ${e.status})`}}const o=\"connection_init\";const a=\"connection_ack\";const i=\"ping\";const c=\"pong\";const u=\"subscribe\";const l=\"next\";const d=\"error\";const h=\"complete\";class GraphQLWebSocketMessage{get type(){return this._type}get id(){return this._id}get payload(){return this._payload}constructor(e,t,r){this._type=e;this._payload=t;this._id=r}get text(){const e={type:this.type};null!=this.id&&void 0!=this.id&&(e.id=this.id);null!=this.payload&&void 0!=this.payload&&(e.payload=this.payload);return JSON.stringify(e)}static parse(e,t){const{type:r,payload:s,id:n}=JSON.parse(e);return new GraphQLWebSocketMessage(r,t(s),n)}}class GraphQLWebSocketClient{constructor(e,{onInit:t,onAcknowledged:r,onPing:s,onPong:n}){this.socketState={acknowledged:false,lastRequestId:0,subscriptions:{}};this.socket=e;e.addEventListener(\"open\",(async r=>{this.socketState.acknowledged=false;this.socketState.subscriptions={};e.send(ConnectionInit(t?await t():null).text)}));e.addEventListener(\"close\",(e=>{this.socketState.acknowledged=false;this.socketState.subscriptions={}}));e.addEventListener(\"error\",(e=>{console.error(e)}));e.addEventListener(\"message\",(t=>{try{const o=parseMessage(t.data);switch(o.type){case a:if(this.socketState.acknowledged)console.warn(\"Duplicate CONNECTION_ACK message ignored\");else{this.socketState.acknowledged=true;r&&r(o.payload)}return;case i:s?s(o.payload).then((t=>e.send(Pong(t).text))):e.send(Pong(null).text);return;case c:n&&n(o.payload);return}if(!this.socketState.acknowledged)return;if(void 0===o.id||null===o.id||!this.socketState.subscriptions[o.id])return;const{query:u,variables:p,subscriber:y}=this.socketState.subscriptions[o.id];switch(o.type){case l:!o.payload.errors&&o.payload.data&&y.next&&y.next(o.payload.data);o.payload.errors&&y.error&&y.error(new ClientError({...o.payload,status:200},{query:u,variables:p}));return;case d:y.error&&y.error(new ClientError({errors:o.payload,status:200},{query:u,variables:p}));return;case h:y.complete&&y.complete();delete this.socketState.subscriptions[o.id];return}}catch(t){console.error(t);e.close(1006)}e.close(4400,\"Unknown graphql-ws message.\")}))}makeSubscribe(e,t,r,s){const n=(this.socketState.lastRequestId++).toString();this.socketState.subscriptions[n]={query:e,variables:s,subscriber:r};this.socket.send(Subscribe(n,{query:e,operationName:t,variables:s}).text);return()=>{this.socket.send(Complete(n).text);delete this.socketState.subscriptions[n]}}rawRequest(e,t){return new Promise(((r,s)=>{let n;this.rawSubscribe(e,{next:(e,t)=>n={data:e,extensions:t},error:s,complete:()=>r(n)},t)}))}request(e,t){return new Promise(((r,s)=>{let n;this.subscribe(e,{next:e=>n=e,error:s,complete:()=>r(n)},t)}))}subscribe(e,t,r){const{query:s,operationName:n}=resolveRequestDocument(e);return this.makeSubscribe(s,n,t,r)}rawSubscribe(e,t,r){return this.makeSubscribe(e,void 0,t,r)}ping(e){this.socket.send(Ping(e).text)}close(){this.socket.close(1e3)}}GraphQLWebSocketClient.PROTOCOL=\"graphql-transport-ws\";function parseMessage(e,t=(e=>e)){const r=GraphQLWebSocketMessage.parse(e,t);return r}function ConnectionInit(e){return new GraphQLWebSocketMessage(o,e)}function Ping(e){return new GraphQLWebSocketMessage(i,e,void 0)}function Pong(e){return new GraphQLWebSocketMessage(c,e,void 0)}function Subscribe(e,t){return new GraphQLWebSocketMessage(u,t,e)}function Complete(e){return new GraphQLWebSocketMessage(h,void 0,e)}const resolveHeaders=e=>{let t={};e&&(\"undefined\"!==typeof Headers&&e instanceof Headers||r&&r.Headers&&e instanceof r.Headers?t=HeadersInstanceToPlainObject(e):Array.isArray(e)?e.forEach((([e,r])=>{e&&void 0!==r&&(t[e]=r)})):t=e);return t};const cleanQuery=e=>e.replace(/([\\s,]|#[^\\n\\r]+)+/g,\" \").trim();const buildRequestConfig=e=>{if(!Array.isArray(e.query)){const t=e;const r=[`query=${encodeURIComponent(cleanQuery(t.query))}`];e.variables&&r.push(`variables=${encodeURIComponent(t.jsonSerializer.stringify(t.variables))}`);t.operationName&&r.push(`operationName=${encodeURIComponent(t.operationName)}`);return r.join(\"&\")}if(\"undefined\"!==typeof e.variables&&!Array.isArray(e.variables))throw new Error(\"Cannot create query with given variable type, array expected\");const t=e;const r=e.query.reduce(((e,r,s)=>{e.push({query:cleanQuery(r),variables:t.variables?t.jsonSerializer.stringify(t.variables[s]):void 0});return e}),[]);return`query=${encodeURIComponent(t.jsonSerializer.stringify(r))}`};const createHttpMethodFetcher=e=>async t=>{const{url:r,query:s,variables:o,operationName:a,fetch:i,fetchOptions:c,middleware:u}=t;const l={...t.headers};let d=\"\";let h;if(\"POST\"===e){h=createRequestBody(s,o,a,c.jsonSerializer);\"string\"===typeof h&&(l[\"Content-Type\"]=\"application/json\")}else d=buildRequestConfig({query:s,variables:o,operationName:a,jsonSerializer:c.jsonSerializer??n});const p={method:e,headers:l,body:h,...c};let y=r;let g=p;if(u){const e=await Promise.resolve(u({...p,url:r,operationName:a,variables:o}));const{url:t,...s}=e;y=t;g=s}d&&(y=`${y}?${d}`);return await i(y,g)};class GraphQLClient{constructor(e,t={}){this.url=e;this.requestConfig=t;this.rawRequest=async(...e)=>{const[t,r,n]=e;const o=parseRawRequestArgs(t,r,n);const{headers:a,fetch:i=s,method:c=\"POST\",requestMiddleware:u,responseMiddleware:l,...d}=this.requestConfig;const{url:h}=this;void 0!==o.signal&&(d.signal=o.signal);const{operationName:p}=resolveRequestDocument(o.query);return makeRequest({url:h,query:o.query,variables:o.variables,headers:{...resolveHeaders(callOrIdentity(a)),...resolveHeaders(o.requestHeaders)},operationName:p,fetch:i,method:c,fetchOptions:d,middleware:u}).then((e=>{l&&l(e);return e})).catch((e=>{l&&l(e);throw e}))}}async request(e,...t){const[r,n]=t;const o=parseRequestArgs(e,r,n);const{headers:a,fetch:i=s,method:c=\"POST\",requestMiddleware:u,responseMiddleware:l,...d}=this.requestConfig;const{url:h}=this;void 0!==o.signal&&(d.signal=o.signal);const{query:p,operationName:y}=resolveRequestDocument(o.document);return makeRequest({url:h,query:p,variables:o.variables,headers:{...resolveHeaders(callOrIdentity(a)),...resolveHeaders(o.requestHeaders)},operationName:y,fetch:i,method:c,fetchOptions:d,middleware:u}).then((e=>{l&&l(e);return e.data})).catch((e=>{l&&l(e);throw e}))}batchRequests(e,t){const r=parseBatchRequestArgs(e,t);const{headers:n,...o}=this.requestConfig;void 0!==r.signal&&(o.signal=r.signal);const a=r.documents.map((({document:e})=>resolveRequestDocument(e).query));const i=r.documents.map((({variables:e})=>e));return makeRequest({url:this.url,query:a,variables:i,headers:{...resolveHeaders(callOrIdentity(n)),...resolveHeaders(r.requestHeaders)},operationName:void 0,fetch:this.requestConfig.fetch??s,method:this.requestConfig.method||\"POST\",fetchOptions:o,middleware:this.requestConfig.requestMiddleware}).then((e=>{this.requestConfig.responseMiddleware&&this.requestConfig.responseMiddleware(e);return e.data})).catch((e=>{this.requestConfig.responseMiddleware&&this.requestConfig.responseMiddleware(e);throw e}))}setHeaders(e){this.requestConfig.headers=e;return this}setHeader(e,t){const{headers:r}=this.requestConfig;r?r[e]=t:this.requestConfig.headers={[e]:t};return this}setEndpoint(e){this.url=e;return this}}const makeRequest=async e=>{const{query:t,variables:r,fetchOptions:s}=e;const o=createHttpMethodFetcher(uppercase(e.method??\"post\"));const a=Array.isArray(e.query);const i=await o(e);const c=await getResult(i,s.jsonSerializer??n);const u=Array.isArray(c)?!c.some((({data:e})=>!e)):Boolean(c.data);const l=Array.isArray(c)||!c.errors||Array.isArray(c.errors)&&!c.errors.length||\"all\"===s.errorPolicy||\"ignore\"===s.errorPolicy;if(i.ok&&l&&u){const{errors:e,...t}=(Array.isArray(c),c);const r=\"ignore\"===s.errorPolicy?t:c;const n=a?{data:r}:r;return{...n,headers:i.headers,status:i.status}}{const e=\"string\"===typeof c?{error:c}:c;throw new ClientError({...e,status:i.status,headers:i.headers},{query:t,variables:r})}};const rawRequest=async(...e)=>{const[t,r,...s]=e;const n=parseRawRequestExtendedArgs(t,r,...s);const o=new GraphQLClient(n.url);return o.rawRequest({...n})};async function request(e,t,...r){const s=parseRequestExtendedArgs(e,t,...r);const n=new GraphQLClient(s.url);return n.request({...s})}const batchRequests=async(...e)=>{const t=parseBatchRequestsArgsExtended(e);const r=new GraphQLClient(t.url);return r.batchRequests(t)};const parseBatchRequestsArgsExtended=e=>1===e.length?e[0]:{url:e[0],documents:e[1],requestHeaders:e[2],signal:void 0};const createRequestBody=(e,t,r,s)=>{const o=s??n;if(!Array.isArray(e))return o.stringify({query:e,variables:t,operationName:r});if(\"undefined\"!==typeof t&&!Array.isArray(t))throw new Error(\"Cannot create request body with given variable type, array expected\");const a=e.reduce(((e,r,s)=>{e.push({query:r,variables:t?t[s]:void 0});return e}),[]);return o.stringify(a)};const getResult=async(e,t)=>{let r;e.headers.forEach(((e,t)=>{\"content-type\"===t.toLowerCase()&&(r=e)}));return r&&(r.toLowerCase().startsWith(\"application/json\")||r.toLowerCase().startsWith(\"application/graphql+json\")||r.toLowerCase().startsWith(\"application/graphql-response+json\"))?t.parse(await e.text()):e.text()};const callOrIdentity=e=>\"function\"===typeof e?e():e;const gql=(e,...t)=>e.reduce(((e,r,s)=>`${e}${r}${s in t?String(t[s]):\"\"}`),\"\");export{ClientError,GraphQLClient,GraphQLWebSocketClient,batchRequests,request as default,gql,rawRequest,request,resolveRequestDocument};\n\n//# sourceMappingURL=index.js.map","import{GraphQLClient}from\"graphql-request\";export function getShopify(shopifyDomain,storefrontAccessToken){const apiUrl=getApiUrl(shopifyDomain);return new GraphQLClient(apiUrl,{headers:{\"X-Shopify-Storefront-Access-Token\":storefrontAccessToken}});}function getApiUrl(shopifyDomain){return`https://${shopifyDomain}/api/2025-07/graphql.json`;}\nexport const __FramerMetadata__ = {\"exports\":{\"getShopify\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./shopify.map","/*\n * Framer Commerce\n * Confidential and Proprietary - All Rights Reserved\n *\n * © 2025 Butter Supply Inc. All Rights Reserved.\n */import{getShopify}from\"https://framerusercontent.com/modules/bZHyHZNwdgWilbU7lpRL/khGjDdfv6Q4ct3tXNVGJ/shopify.js\";// ============================================================================\n// GRAPHQL FRAGMENTS & QUERIES\n// ============================================================================\nconst CART_FRAGMENT=`\n  fragment CartFragment on Cart {\n    id\n    checkoutUrl\n    totalQuantity\n    lines(first: 100) {\n      edges {\n        node {\n          id\n          quantity\n          merchandise {\n            ... on ProductVariant {\n              id\n              title\n              price { amount currencyCode }\n              compareAtPrice { amount currencyCode }\n              product {\n                id\n                handle\n                title\n                vendor\n                productType\n                tags\n                collections(first: 20) {\n                  edges {\n                    node {\n                      title\n                    }\n                  }\n                }\n              }\n              selectedOptions { name value }\n              image { url altText }\n              quantityAvailable\n              availableForSale\n            }\n          }\n          sellingPlanAllocation {\n            checkoutChargeAmount { amount currencyCode }\n            sellingPlan { id name }\n          }\n          attributes { key value }\n        }\n      }\n    }\n    cost {\n      subtotalAmount { amount currencyCode }\n      totalAmount { amount currencyCode }\n      totalTaxAmount { amount currencyCode }\n    }\n    buyerIdentity { countryCode }\n  }\n`;const CART_QUERY=`\n  query Cart($cartId: ID!) {\n    cart(id: $cartId) {\n      ...CartFragment\n    }\n  }\n  ${CART_FRAGMENT}\n`;const CART_CREATE_MUTATION=`\n  mutation CartCreate($lines: [CartLineInput!]!, $buyerIdentity: CartBuyerIdentityInput) {\n    cartCreate(input: { lines: $lines, buyerIdentity: $buyerIdentity }) {\n      cart {\n        ...CartFragment\n      }\n      userErrors { field message }\n    }\n  }\n  ${CART_FRAGMENT}\n`;const CART_LINES_ADD_MUTATION=`\n  mutation CartLinesAdd($cartId: ID!, $lines: [CartLineInput!]!) {\n    cartLinesAdd(cartId: $cartId, lines: $lines) {\n      cart {\n        ...CartFragment\n      }\n      userErrors { field message }\n    }\n  }\n  ${CART_FRAGMENT}\n`;const CART_LINES_REMOVE_MUTATION=`\n  mutation CartLinesRemove($cartId: ID!, $lineIds: [ID!]!) {\n    cartLinesRemove(cartId: $cartId, lineIds: $lineIds) {\n      cart {\n        ...CartFragment\n      }\n      userErrors { field message }\n    }\n  }\n  ${CART_FRAGMENT}\n`;const CART_LINES_UPDATE_MUTATION=`\n  mutation CartLinesUpdate($cartId: ID!, $lines: [CartLineUpdateInput!]!) {\n    cartLinesUpdate(cartId: $cartId, lines: $lines) {\n      cart {\n        ...CartFragment\n      }\n      userErrors { field message }\n    }\n  }\n  ${CART_FRAGMENT}\n`;const CART_BUYER_IDENTITY_UPDATE_MUTATION=`\n  mutation CartBuyerIdentityUpdate($cartId: ID!, $buyerIdentity: CartBuyerIdentityInput!) {\n    cartBuyerIdentityUpdate(cartId: $cartId, buyerIdentity: $buyerIdentity) {\n      cart {\n        ...CartFragment\n      }\n      userErrors { field message }\n    }\n  }\n  ${CART_FRAGMENT}\n`;const CART_ATTRIBUTES_UPDATE_MUTATION=`\n  mutation CartAttributesUpdate($cartId: ID!, $attributes: [AttributeInput!]!) {\n    cartAttributesUpdate(cartId: $cartId, attributes: $attributes) {\n      cart {\n        id\n        attributes { key value }\n      }\n      userErrors { field message }\n    }\n  }\n`;const PRODUCT_METAFIELDS_QUERY=`\n  query ProductMetafields($handle: String!) {\n    product(handle: $handle) {\n      metafield_order_max: metafield(namespace: \"fc\", key: \"order_max\") {\n        value\n      }\n      metafield_order_min: metafield(namespace: \"fc\", key: \"order_min\") {\n        value\n      }\n    }\n  }\n`;// ============================================================================\n// CART NORMALIZER\n// ============================================================================\nfunction normalizeCart(rawCart){if(!rawCart)return null;// Handle both normalized and edge-based formats\nconst lines=rawCart.lines?.edges?rawCart.lines.edges.map(edge=>edge.node):rawCart.lines||[];return{id:rawCart.id,checkoutUrl:rawCart.checkoutUrl,lines,totalQuantity:rawCart.totalQuantity||lines.reduce((sum,line)=>sum+line.quantity,0),cost:rawCart.cost||{subtotalAmount:{amount:\"0\",currencyCode:\"USD\"},totalAmount:{amount:\"0\",currencyCode:\"USD\"}},buyerIdentity:rawCart.buyerIdentity};}// ============================================================================\n// GID HELPERS\n// ============================================================================\nexport function toVariantGid(variantId){return variantId.includes(\"gid://\")?variantId:`gid://shopify/ProductVariant/${variantId}`;}export function toSellingPlanGid(sellingPlanId){return sellingPlanId.includes(\"gid://\")?sellingPlanId:`gid://shopify/SellingPlan/${sellingPlanId}`;}export function extractNumericId(gid){if(!gid)return\"\";const parts=gid.split(\"/\");return parts[parts.length-1]||\"\";}// ============================================================================\n// CART SERVICE\n// ============================================================================\nconst CART_MUTATION_TIMEOUT_MS=5e3;const CART_FETCH_TIMEOUT_MS=8e3;class CartService{static async request(shopify,query,variables,timeoutMs=CART_MUTATION_TIMEOUT_MS){let timer;const timeout=new Promise((_,reject)=>{timer=setTimeout(()=>reject(new Error(\"Cart request timed out\")),timeoutMs);});return Promise.race([shopify.request(query,variables).finally(()=>clearTimeout(timer)),timeout]);}/**\n   * Fetch cart by ID\n   */static async getCart(shopify,cartId){try{const data=await CartService.request(shopify,CART_QUERY,{cartId},CART_FETCH_TIMEOUT_MS);return normalizeCart(data?.cart);}catch(error){// Re-throw all errors so SWR keeps the previous cached value\n// rather than overwriting the cart with null.\nconsole.error(\"Error fetching cart:\",error);throw error;}}/**\n   * Create a new cart with line items\n   */static async createCart(shopify,lines,buyerIdentity){try{const data=await CartService.request(shopify,CART_CREATE_MUTATION,{lines,buyerIdentity});if(data?.cartCreate?.userErrors?.length){console.error(\"Cart create errors:\",data.cartCreate.userErrors);throw new Error(data.cartCreate.userErrors[0]?.message||\"Cart creation failed\");}return normalizeCart(data?.cartCreate?.cart);}catch(error){console.error(\"Error creating cart:\",error);throw error;}}/**\n   * Add lines to existing cart\n   */static async addLines(shopify,cartId,lines){try{const data=await CartService.request(shopify,CART_LINES_ADD_MUTATION,{cartId,lines});if(data?.cartLinesAdd?.userErrors?.length){console.error(\"Cart add lines errors:\",data.cartLinesAdd.userErrors);throw new Error(data.cartLinesAdd.userErrors[0]?.message||\"Add to cart failed\");}return normalizeCart(data?.cartLinesAdd?.cart);}catch(error){console.error(\"Error adding lines to cart:\",error);throw error;}}/**\n   * Remove lines from cart\n   */static async removeLines(shopify,cartId,lineIds){try{const data=await CartService.request(shopify,CART_LINES_REMOVE_MUTATION,{cartId,lineIds});if(data?.cartLinesRemove?.userErrors?.length){console.error(\"Cart remove lines errors:\",data.cartLinesRemove.userErrors);throw new Error(data.cartLinesRemove.userErrors[0]?.message||\"Remove from cart failed\");}return normalizeCart(data?.cartLinesRemove?.cart);}catch(error){console.error(\"Error removing lines from cart:\",error);throw error;}}/**\n   * Update line quantities\n   */static async updateLines(shopify,cartId,lines){try{const data=await CartService.request(shopify,CART_LINES_UPDATE_MUTATION,{cartId,lines});if(data?.cartLinesUpdate?.userErrors?.length){console.error(\"Cart update lines errors:\",data.cartLinesUpdate.userErrors);throw new Error(data.cartLinesUpdate.userErrors[0]?.message||\"Update cart failed\");}return normalizeCart(data?.cartLinesUpdate?.cart);}catch(error){console.error(\"Error updating cart lines:\",error);throw error;}}/**\n   * Update cart buyer identity (country)\n   */static async updateBuyerIdentity(shopify,cartId,countryCode){try{const data=await CartService.request(shopify,CART_BUYER_IDENTITY_UPDATE_MUTATION,{cartId,buyerIdentity:{countryCode}});if(data?.cartBuyerIdentityUpdate?.userErrors?.length){console.error(\"Cart buyer identity update errors:\",data.cartBuyerIdentityUpdate.userErrors);throw new Error(data.cartBuyerIdentityUpdate.userErrors[0]?.message||\"Cart buyer identity update failed\");}return normalizeCart(data?.cartBuyerIdentityUpdate?.cart);}catch(error){console.error(\"Error updating cart buyer identity:\",error);throw error;}}/**\n   * Update cart attributes\n   */static async updateAttributes(shopify,cartId,attributes){try{const data=await CartService.request(shopify,CART_ATTRIBUTES_UPDATE_MUTATION,{cartId,attributes});if(data?.cartAttributesUpdate?.userErrors?.length){console.error(\"Cart attributes update errors:\",data.cartAttributesUpdate.userErrors);return false;}return true;}catch(error){console.error(\"Error updating cart attributes:\",error);return false;}}/**\n   * Fetch product metafields (order_max, order_min)\n   */static async getProductMetafields(shopify,productHandle){try{const data=await CartService.request(shopify,PRODUCT_METAFIELDS_QUERY,{handle:productHandle},CART_FETCH_TIMEOUT_MS);const result={};const maxValue=data?.product?.metafield_order_max?.value;if(maxValue){const parsed=parseInt(maxValue,10);if(!isNaN(parsed)&&parsed>0){result.orderMax=parsed;}}const minValue=data?.product?.metafield_order_min?.value;if(minValue){const parsed=parseInt(minValue,10);if(!isNaN(parsed)&&parsed>0){result.orderMin=parsed;}}return result;}catch(error){console.error(\"Error fetching product metafields:\",error);return{};}}/**\n   * Helper to get a configured GraphQL client\n   */static getClient(){const config=typeof window!==\"undefined\"?window.butterConfig:null;if(!config?.shopifyDomain||!config?.storefrontAccessToken){throw new Error(\"Storefront configuration not found in window.butterConfig\");}return getShopify(config.shopifyDomain,config.storefrontAccessToken);}}export{CartService as default};\nexport const __FramerMetadata__ = {\"exports\":{\"toVariantGid\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"toSellingPlanGid\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"default\":{\"type\":\"class\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"extractNumericId\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./CartService.map","import{getVariantPriceFromFCData,normalizeVariantId}from\"https://framerusercontent.com/modules/u4cSQPeOxFZJ30D78T0u/OH103m2xIQZsbXU9KlH0/fcDataParser.js\";import{toSellingPlanGid,toVariantGid}from\"https://framerusercontent.com/modules/vVBwckC7u10j9jUmDxXI/Fqima0ybfCi6bdQLdRWG/CartService.js\";function buildVariantTitle(selectedOptions){if(!selectedOptions.length)return\"Default Title\";return selectedOptions.map(option=>option.value).join(\" / \");}function findDynamicVariant(dynamicProduct,variantId){const normalizedVariantId=normalizeVariantId(variantId);return dynamicProduct?.variants.find(variant=>normalizeVariantId(variant.id)===normalizedVariantId)||null;}function findSellingPlanName(parsedFCData,sellingPlanId){if(!parsedFCData||!sellingPlanId)return undefined;const normalizedSellingPlanId=sellingPlanId.includes(\"gid://\")?sellingPlanId.split(\"/\").pop():sellingPlanId;for(const group of parsedFCData.sellingPlans||[]){const match=group.plans.find(plan=>String(plan.id)===String(normalizedSellingPlanId));if(match)return match.name;}return undefined;}export function buildOptimisticCartLine(options){const{parsedFCData,productId,variantId,selectedOptions=[],productTitle,productHandle,productVendor,productType,dynamicProduct,countryCode,currencyCode=\"USD\",availableForSale,quantityAvailable,imageUrl,sellingPlanId,attributes}=options;if(!productId||!variantId)return null;const normalizedVariantId=toVariantGid(variantId);const dynamicVariant=findDynamicVariant(dynamicProduct,normalizedVariantId);const fallbackPrice=parsedFCData?getVariantPriceFromFCData(parsedFCData,normalizedVariantId,currencyCode,countryCode):null;const resolvedCurrencyCode=dynamicVariant?.price?.currencyCode||currencyCode||\"USD\";const resolvedVariantTitle=dynamicVariant?.title||buildVariantTitle(selectedOptions);const resolvedImageUrl=imageUrl||dynamicVariant?.image?.url;const normalizedSellingPlanId=sellingPlanId?sellingPlanId.includes(\"gid://\")?sellingPlanId:toSellingPlanGid(sellingPlanId):undefined;const sellingPlanName=findSellingPlanName(parsedFCData,sellingPlanId);return{merchandise:{id:normalizedVariantId,title:resolvedVariantTitle,price:dynamicVariant?.price||{amount:String(fallbackPrice?.price??\"0\"),currencyCode:resolvedCurrencyCode},compareAtPrice:dynamicVariant?.compareAtPrice?dynamicVariant.compareAtPrice:fallbackPrice?.comparePrice!=null?{amount:String(fallbackPrice.comparePrice),currencyCode:resolvedCurrencyCode}:null,product:{id:productId.includes(\"gid://\")?productId:`gid://shopify/Product/${productId}`,handle:dynamicProduct?.handle||productHandle||\"\",title:productTitle||parsedFCData?.metadata.title||\"\",vendor:productVendor||parsedFCData?.metadata.vendor||undefined,productType:productType||parsedFCData?.metadata.productType||undefined},selectedOptions,image:resolvedImageUrl?{url:resolvedImageUrl,altText:productTitle||parsedFCData?.metadata.title||\"\"}:undefined,quantityAvailable:quantityAvailable??dynamicVariant?.quantityAvailable??undefined,availableForSale:availableForSale??dynamicVariant?.availableForSale??true},sellingPlanAllocation:normalizedSellingPlanId?{sellingPlan:{id:normalizedSellingPlanId,name:sellingPlanName||\"\"}}:null,attributes:attributes||[]};}\nexport const __FramerMetadata__ = {\"exports\":{\"buildOptimisticCartLine\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}","import{jsx as _jsx,jsxs as _jsxs}from\"react/jsx-runtime\";import{isFramerPlaceholderTarget}from\"https://framerusercontent.com/modules/FmcSlgUtRS55W3otl8f9/DktpLeyyDbjosM33g22i/IsBrowser.js\";const PURPLE_BG=\"rgba(136, 85, 255, 0.10)\";const PURPLE_TITLE=\"rgba(136, 85, 255, 1)\";const PURPLE_BODY=\"rgba(136, 85, 255, 0.64)\";const FONT_STACK='Inter, -apple-system, BlinkMacSystemFont, \"Segoe UI\", Helvetica, Arial, sans-serif';export const DEFAULT_EMPTY_TITLE=\"✨ Connect to Content\";export const DEFAULT_EMPTY_DESCRIPTION=\"Add your design via the right panel.\";const containerStyle={width:\"100%\",height:\"100%\",display:\"flex\",flexDirection:\"column\",alignItems:\"center\",justifyContent:\"center\",gap:4,padding:12,textAlign:\"center\",background:PURPLE_BG,boxSizing:\"border-box\",fontFamily:FONT_STACK,minHeight:0,overflow:\"hidden\"};const titleStyle={margin:0,fontFamily:FONT_STACK,fontWeight:600,fontSize:11,lineHeight:1.5,color:PURPLE_TITLE,maxWidth:\"140px\"};const bodyStyle={margin:0,fontFamily:FONT_STACK,fontWeight:400,fontSize:10,lineHeight:1.5,maxWidth:\"140px\",color:PURPLE_BODY};export function EmptyState({title=DEFAULT_EMPTY_TITLE,description=DEFAULT_EMPTY_DESCRIPTION,style,ariaLabel,children}){if(!isFramerPlaceholderTarget()){return null;}const aria=ariaLabel??`${title}. ${description}`;return /*#__PURE__*/_jsxs(\"div\",{\"aria-label\":aria,style:{...containerStyle,...style},children:[/*#__PURE__*/_jsx(\"div\",{style:titleStyle,children:title}),/*#__PURE__*/_jsx(\"div\",{style:bodyStyle,children:children??description})]});}\nexport const __FramerMetadata__ = {\"exports\":{\"EmptyState\":{\"type\":\"reactComponent\",\"name\":\"EmptyState\",\"slots\":[\"children\"],\"annotations\":{\"framerContractVersion\":\"1\"}},\"DEFAULT_EMPTY_DESCRIPTION\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"DEFAULT_EMPTY_TITLE\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./EmptyState.map","import{useEffect,useCallback,useMemo,useRef}from\"react\";import{useUrlState,queueUrlUpdate,removeUrlParamImmediate}from\"https://framerusercontent.com/modules/yXt2ErvWdbc9E71wHprv/Y5C4Kq4hInoaUvtml0x5/useUrlState.js\";import{useLocalState}from\"https://framerusercontent.com/modules/xYDZCCqEBzGd7zfHzUX5/cLuhs5H2O0tFIwBfaQKt/useLocalState.js\";export function useSelectedVariant({productVariants,productId,autoSelectFirst,syncToUrl=false}){const storeOptions=useLocalState(state=>state.variantOptionsByProductId[productId]);const selectedOptions=useMemo(()=>storeOptions??{},[storeOptions]);const setOptionsForProduct=useLocalState(state=>state.setOptionsForProduct);const clearProductSelection=useLocalState(state=>state.clearProductSelection);const[variantParam]=useUrlState(\"variant\",{history:\"replace\"});const productOptions=useMemo(()=>{if(!productVariants?.length)return[];const optionNames=new Set;productVariants.forEach(productVariant=>{productVariant.selectedOptions.forEach(option=>{optionNames.add(option.name);});});return Array.from(optionNames);},[productVariants]);const getVariantOptions=useCallback(variant=>{const options={};variant.selectedOptions.forEach(option=>{options[option.name]=option.value;});return options;},[]);const areOptionsEqual=useCallback((left,right)=>{const leftOptions=left??{};const rightOptions=right??{};const leftKeys=Object.keys(leftOptions);const rightKeys=Object.keys(rightOptions);return leftKeys.length===rightKeys.length&&leftKeys.every(key=>leftOptions[key]===rightOptions[key]);},[]);const variantMatchesSelection=useCallback((variant,options)=>{return Object.entries(options).every(([optionName,optionValue])=>{if(!optionValue)return true;const variantOption=variant.selectedOptions.find(opt=>opt.name===optionName);return variantOption?.value===optionValue;});},[]);const normalizeSelectedOptions=useCallback(options=>{if(!options||!productVariants?.length)return{};const validEntries=Object.entries(options).filter(([optionName,optionValue])=>{if(!optionValue||!productOptions.includes(optionName))return false;return productVariants.some(variant=>variant.selectedOptions.some(opt=>opt.name===optionName&&opt.value===optionValue));});if(validEntries.length===0)return{};const normalized=Object.fromEntries(validEntries);if(productVariants.some(variant=>variantMatchesSelection(variant,normalized))){return normalized;}const salvaged={};productOptions.forEach(optionName=>{const optionValue=normalized[optionName];if(!optionValue)return;const candidate={...salvaged,[optionName]:optionValue};if(productVariants.some(variant=>variantMatchesSelection(variant,candidate))){salvaged[optionName]=optionValue;}});return salvaged;},[productOptions,productVariants,variantMatchesSelection]);const findMatchingVariantForOptions=useCallback(options=>{if(!productVariants?.length||!productOptions.length)return null;if(!productOptions.every(optionName=>options[optionName]))return null;return productVariants.find(productVariant=>productVariant.selectedOptions.every(option=>options[option.name]===option.value))||null;},[productOptions,productVariants]);const findVariantByParam=useCallback(param=>{if(!param||!productVariants?.length)return null;const match=productVariants.find(productVariant=>{if(productVariant.id===`gid://shopify/ProductVariant/${param}`)return true;const nodeIdNumber=productVariant.id.split(\"/\").pop();return nodeIdNumber===param;});return match||null;},[productVariants]);const applyVariantSelections=useCallback(variant=>{const options=getVariantOptions(variant);const currentOptions=useLocalState.getState().variantOptionsByProductId[productId];if(areOptionsEqual(currentOptions,options)){return;}setOptionsForProduct(productId,options);},[areOptionsEqual,getVariantOptions,productId,setOptionsForProduct]);const autoSelectFirstVariant=useCallback(()=>{if(!productVariants?.length)return;const firstAvailableVariant=productVariants.find(v=>v.availableForSale!==false)||productVariants[0];if(!firstAvailableVariant)return;const options=getVariantOptions(firstAvailableVariant);const currentOptions=useLocalState.getState().variantOptionsByProductId[productId];if(areOptionsEqual(currentOptions,options)){return;}setOptionsForProduct(productId,options);},[areOptionsEqual,getVariantOptions,productId,productVariants,setOptionsForProduct]);const lastInitializedProductId=useRef(null);const hasInitializedFromUrl=useRef(false);const lastHandledVariantParam=useRef(null);useEffect(()=>{if(lastInitializedProductId.current!==productId){hasInitializedFromUrl.current=false;lastHandledVariantParam.current=null;}},[productId]);// ---------------------------------------------------------------------------\n// URL priority: when the owning selector sees a valid ?variant param, it\n// should win over stored or auto-selected state for the current product.\n//\n// This runs on variant-param changes as well, so pasting or navigating to a\n// variant-specific PDP URL updates the shared selection even after the hook\n// has already initialized for the same product.\n// ---------------------------------------------------------------------------\nuseEffect(()=>{if(!syncToUrl||!productVariants?.length)return;if(variantParam===lastHandledVariantParam.current)return;const matchingVariant=findVariantByParam(variantParam);if(variantParam&&!matchingVariant){lastHandledVariantParam.current=variantParam;queueUrlUpdate(\"variant\",null,{history:\"replace\"});return;}lastHandledVariantParam.current=variantParam;if(!matchingVariant)return;applyVariantSelections(matchingVariant);lastInitializedProductId.current=productId;hasInitializedFromUrl.current=true;},[syncToUrl,productVariants,variantParam,findVariantByParam,applyVariantSelections,productId]);// ---------------------------------------------------------------------------\n// Initialization effect\n//\n// syncToUrl = true  → URL is source of truth on first load:\n//   read ?variant, apply to zustand, then let URL sync handle writes.\n// syncToUrl = false → zustand store is source of truth:\n//   validate stored options, auto-select first if enabled.\n// ---------------------------------------------------------------------------\nuseEffect(()=>{if(!productVariants?.length)return;if(syncToUrl&&hasInitializedFromUrl.current&&lastInitializedProductId.current===productId){return;}const currentStoreOptions=useLocalState.getState().variantOptionsByProductId[productId]??{};const normalizedStoreOptions=normalizeSelectedOptions(currentStoreOptions);const hasNormalizedSelection=Object.keys(normalizedStoreOptions).length>0;const matchingStoredVariant=hasNormalizedSelection?findMatchingVariantForOptions(normalizedStoreOptions):null;const isSingleVariantProduct=productVariants.length===1;if(!areOptionsEqual(currentStoreOptions,normalizedStoreOptions)){setOptionsForProduct(productId,normalizedStoreOptions);}if(syncToUrl){const matchingVariant=findVariantByParam(variantParam);if(variantParam&&!matchingVariant){queueUrlUpdate(\"variant\",null,{history:\"replace\"});return;}if(matchingVariant){applyVariantSelections(matchingVariant);lastInitializedProductId.current=productId;hasInitializedFromUrl.current=true;return;}if(isSingleVariantProduct){applyVariantSelections(productVariants[0]);lastInitializedProductId.current=productId;hasInitializedFromUrl.current=true;return;}if(matchingStoredVariant){lastInitializedProductId.current=productId;hasInitializedFromUrl.current=true;return;}if(autoSelectFirst){autoSelectFirstVariant();}lastInitializedProductId.current=productId;hasInitializedFromUrl.current=true;return;}// Passive consumer: shared zustand store is source of truth\nif(isSingleVariantProduct){applyVariantSelections(productVariants[0]);lastInitializedProductId.current=productId;return;}if(matchingStoredVariant){lastInitializedProductId.current=productId;return;}if(autoSelectFirst){autoSelectFirstVariant();}lastInitializedProductId.current=productId;},[productVariants,variantParam,autoSelectFirst,findVariantByParam,applyVariantSelections,autoSelectFirstVariant,areOptionsEqual,normalizeSelectedOptions,findMatchingVariantForOptions,syncToUrl,setOptionsForProduct,productId,productOptions]);const isCompleteSelection=useMemo(()=>{if(!productOptions.length||!selectedOptions)return false;return productOptions.every(optionName=>selectedOptions[optionName]!==undefined&&selectedOptions[optionName]!==\"\");},[productOptions,selectedOptions]);const selectedVariant=useMemo(()=>{if(!productVariants?.length||!selectedOptions||!isCompleteSelection){return null;}return findMatchingVariantForOptions(selectedOptions);},[findMatchingVariantForOptions,isCompleteSelection,productVariants,selectedOptions]);const matchingVariants=useMemo(()=>{if(!productVariants?.length)return[];if(!selectedOptions||Object.keys(selectedOptions).length===0){return productVariants;}return productVariants.filter(productVariant=>{return Object.entries(selectedOptions).every(([optionName,optionValue])=>{if(!optionValue)return true;const variantOption=productVariant.selectedOptions.find(opt=>opt.name===optionName);return variantOption?.value===optionValue;});});},[productVariants,selectedOptions]);const selectedVariantId=selectedVariant?.id||null;// ---------------------------------------------------------------------------\n// URL sync: Selection → URL (one-directional)\n//\n// Gated on syncToUrl — only the primary variant-selector writes to the\n// URL.  Does NOT depend on variantParam to avoid feedback loops with\n// Framer's router during back/forward navigation.\n// ---------------------------------------------------------------------------\nconst lastWrittenVariantId=useRef(null);useEffect(()=>{if(!syncToUrl)return;const numericId=selectedVariant?selectedVariant.id.split(\"/\").pop()||null:null;if(numericId===lastWrittenVariantId.current)return;lastWrittenVariantId.current=numericId;queueUrlUpdate(\"variant\",numericId,{history:\"replace\"});},[selectedVariant,syncToUrl]);// ---------------------------------------------------------------------------\n// Cleanup: remove the variant param when the owning component unmounts.\n//\n// Uses removeUrlParamImmediate (synchronous, non-batched) so the removal\n// cannot be discarded by the microtask queue's pathname guard and cannot\n// be overwritten by a previously queued \"set variant\" update.\n// ---------------------------------------------------------------------------\nuseEffect(()=>{if(!syncToUrl)return;return()=>{removeUrlParamImmediate(\"variant\");lastWrittenVariantId.current=null;};},[syncToUrl]);const setSelectedOptions=useCallback(options=>{setOptionsForProduct(productId,options);},[productId,setOptionsForProduct]);const setSingleOption=useCallback((optionName,optionValue)=>{const currentOptions=useLocalState.getState().variantOptionsByProductId[productId]??{};const normalizedCurrentOptions=normalizeSelectedOptions(currentOptions);const preferredOptions={...normalizedCurrentOptions,[optionName]:optionValue};let nextOptions=normalizeSelectedOptions(preferredOptions);if(!productVariants.some(variant=>variantMatchesSelection(variant,nextOptions))){const salvagedOptions={[optionName]:optionValue};productOptions.forEach(name=>{if(name===optionName)return;const value=normalizedCurrentOptions[name];if(!value)return;const candidate={...salvagedOptions,[name]:value};if(productVariants.some(variant=>variantMatchesSelection(variant,candidate))){salvagedOptions[name]=value;}});nextOptions=salvagedOptions;}setOptionsForProduct(productId,nextOptions);},[normalizeSelectedOptions,productId,productOptions,productVariants,setOptionsForProduct,variantMatchesSelection]);const clearSelections=useCallback(()=>{clearProductSelection(productId);},[productId,clearProductSelection]);return{selectedVariantId,selectedOptions,setSelectedOptions,setSingleOption,clearSelections,isCompleteSelection,matchingVariants,productOptions,selectedVariant};}\nexport const __FramerMetadata__ = {\"exports\":{\"useSelectedVariant\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}","/* esm.sh - dequal@2.0.3/lite */\nvar i=Object.prototype.hasOwnProperty;function u(t,e){var n,r;if(t===e)return!0;if(t&&e&&(n=t.constructor)===e.constructor){if(n===Date)return t.getTime()===e.getTime();if(n===RegExp)return t.toString()===e.toString();if(n===Array){if((r=t.length)===e.length)for(;r--&&u(t[r],e[r]););return r===-1}if(!n||typeof t==\"object\"){r=0;for(n in t)if(i.call(t,n)&&++r&&!i.call(e,n)||!(n in e)||!u(t[n],e[n]))return!1;return Object.keys(e).length===r}}return t!==t&&e!==e}export{u as dequal};\n//# sourceMappingURL=lite.mjs.map","/* esm.sh - dequal@2.0.3/lite */\nexport * from \"/dequal@2.0.3/es2022/lite.mjs\";\n","/* esm.sh - swr@2.3.7/dist/_internal/constants */\nvar I=\"$inf$\";export{I as INFINITE_PREFIX};\n//# sourceMappingURL=constants.mjs.map","/* esm.sh - swr@2.3.7/_internal */\nvar vt=Object.defineProperty;var gt=(t,e)=>{for(var n in e)vt(t,n,{get:e[n],enumerable:!0})};import St,{useEffect as Dt,useLayoutEffect as At,createContext as yt,useContext as It,useMemo as it,useRef as Nt,createElement as Lt}from\"react\";var q={};gt(q,{ERROR_REVALIDATE_EVENT:()=>bt,FOCUS_EVENT:()=>U,MUTATE_EVENT:()=>P,RECONNECT_EVENT:()=>j});var U=0,j=1,P=2,bt=3;import{dequal as xt}from\"/dequal@^2.0.3/lite?target=es2022\";var C=new WeakMap,O=()=>{},l=O(),N=Object,m=t=>t===l,R=t=>typeof t==\"function\",w=(t,e)=>({...t,...e}),ct=t=>R(t.then),H={},y={},X=\"undefined\",b=typeof window!=X,L=typeof document!=X,at=b&&\"Deno\"in window,ut=()=>b&&typeof window.requestAnimationFrame!=X,ft=(t,e)=>{let n=C.get(t);return[()=>!m(e)&&t.get(e)||H,i=>{if(!m(e)){let s=t.get(e);e in y||(y[e]=s),n[5](e,w(s,i),s||H)}},n[6],()=>!m(e)&&e in y?y[e]:!m(e)&&t.get(e)||H]},G=!0,Ft=()=>G,[J,K]=b&&window.addEventListener?[window.addEventListener.bind(window),window.removeEventListener.bind(window)]:[O,O],Wt=()=>{let t=L&&document.visibilityState;return m(t)||t!==\"hidden\"},Vt=t=>(L&&document.addEventListener(\"visibilitychange\",t),J(\"focus\",t),()=>{L&&document.removeEventListener(\"visibilitychange\",t),K(\"focus\",t)}),Mt=t=>{let e=()=>{G=!0,t()},n=()=>{G=!1};return J(\"online\",e),J(\"offline\",n),()=>{K(\"online\",e),K(\"offline\",n)}},lt={isOnline:Ft,isVisible:Wt},dt={initFocus:Vt,initReconnect:Mt},Ut=!St.useId,W=!b||at,jt=t=>ut()?window.requestAnimationFrame(t):setTimeout(t,1),Et=W?Dt:At,B=typeof navigator<\"u\"&&navigator.connection,Y=!W&&B&&([\"slow-2g\",\"2g\"].includes(B.effectiveType)||B.saveData),I=new WeakMap,Pt=t=>N.prototype.toString.call(t),z=(t,e)=>t===`[object ${e}]`,qt=0,x=t=>{let e=typeof t,n=Pt(t),i=z(n,\"Date\"),s=z(n,\"RegExp\"),r=z(n,\"Object\"),o,c;if(N(t)===t&&!i&&!s){if(o=I.get(t),o)return o;if(o=++qt+\"~\",I.set(t,o),Array.isArray(t)){for(o=\"@\",c=0;c<t.length;c++)o+=x(t[c])+\",\";I.set(t,o)}if(r){o=\"#\";let a=N.keys(t).sort();for(;!m(c=a.pop());)m(t[c])||(o+=c+\":\"+x(t[c])+\",\");I.set(t,o)}}else o=i?t.toJSON():e==\"symbol\"?t.toString():e==\"string\"?JSON.stringify(t):\"\"+t;return o},V=t=>{if(R(t))try{t=t()}catch{t=\"\"}let e=t;return t=typeof t==\"string\"?t:(Array.isArray(t)?t.length:t)?x(t):\"\",[t,e]},Ht=0,$=()=>++Ht;async function mt(...t){let[e,n,i,s]=t,r=w({populateCache:!0,throwOnError:!0},typeof s==\"boolean\"?{revalidate:s}:s||{}),o=r.populateCache,c=r.rollbackOnError,a=r.optimisticData,v=E=>typeof c==\"function\"?c(E):c!==!1,d=r.throwOnError;if(R(n)){let E=n,f=[],T=e.keys();for(let h of T)!/^\\$(inf|sub)\\$/.test(h)&&E(e.get(h)._k)&&f.push(h);return Promise.all(f.map(u))}return u(n);async function u(E){let[f]=V(E);if(!f)return;let[T,h]=ft(e,f),[Ot,M,wt,Tt]=C.get(e),k=()=>{let _=Ot[f];return(R(r.revalidate)?r.revalidate(T().data,E):r.revalidate!==!1)&&(delete wt[f],delete Tt[f],_&&_[0])?_[0](2).then(()=>T().data):T().data};if(t.length<3)return k();let p=i,S,g=!1,tt=$();M[f]=[tt,0];let et=!m(a),nt=T(),ot=nt.data,st=nt._c,D=m(st)?ot:st;if(et&&(a=R(a)?a(D,ot):a,h({data:a,_c:D})),R(p))try{p=p(D)}catch(_){S=_,g=!0}if(p&&ct(p))if(p=await p.catch(_=>{S=_,g=!0}),tt!==M[f][0]){if(g)throw S;return p}else g&&et&&v(S)&&(o=!0,h({data:D,_c:l}));if(o&&!g)if(R(o)){let _=o(p,D);h({data:_,error:l,_c:l})}else h({data:p,error:l,_c:l});if(M[f][1]=$(),Promise.resolve(k()).then(()=>{h({_c:l})}),g){if(d)throw S;return}return p}}var rt=(t,e)=>{for(let n in t)t[n][0]&&t[n][0](e)},Q=(t,e)=>{if(!C.has(t)){let n=w(dt,e),i=Object.create(null),s=mt.bind(l,t),r=O,o=Object.create(null),c=(d,u)=>{let E=o[d]||[];return o[d]=E,E.push(u),()=>E.splice(E.indexOf(u),1)},a=(d,u,E)=>{t.set(d,u);let f=o[d];if(f)for(let T of f)T(u,E)},v=()=>{if(!C.has(t)&&(C.set(t,[i,Object.create(null),Object.create(null),Object.create(null),s,a,c]),!W)){let d=n.initFocus(setTimeout.bind(l,rt.bind(l,i,0))),u=n.initReconnect(setTimeout.bind(l,rt.bind(l,i,1)));r=()=>{d&&d(),u&&u(),C.delete(t)}}};return v(),[t,s,v,r]}return[t,C.get(t)[4]]},Bt=(t,e,n,i,s)=>{let r=n.errorRetryCount,o=s.retryCount,c=~~((Math.random()+.5)*(1<<(o<8?o:8)))*n.errorRetryInterval;!m(r)&&o>r||setTimeout(i,c,s)},pt=xt,[A,Ct]=Q(new Map),Rt=w({onLoadingSlow:O,onSuccess:O,onError:O,onErrorRetry:Bt,onDiscarded:O,revalidateOnFocus:!0,revalidateOnReconnect:!0,revalidateIfStale:!0,shouldRetryOnError:!0,errorRetryInterval:Y?1e4:5e3,focusThrottleInterval:5*1e3,dedupingInterval:2*1e3,loadingTimeout:Y?5e3:3e3,compare:pt,isPaused:()=>!1,cache:A,mutate:Ct,fallback:{}},lt),Z=(t,e)=>{let n=w(t,e);if(e){let{use:i,fallback:s}=t,{use:r,fallback:o}=e;i&&r&&(n.use=i.concat(r)),s&&o&&(n.fallback=w(s,o))}return n},F=yt({}),zt=t=>{let{value:e}=t,n=It(F),i=R(e),s=it(()=>i?e(n):e,[i,n,e]),r=it(()=>i?s:Z(n,s),[i,n,s]),o=s&&s.provider,c=Nt(l);o&&!c.current&&(c.current=Q(o(r.cache||A),s));let a=c.current;return a&&(r.cache=a[0],r.mutate=a[1]),Et(()=>{if(a)return a[2]&&a[2](),a[3]},[]),Lt(F.Provider,w(t,{value:r}))};import{INFINITE_PREFIX as Gt}from\"./dist/_internal/constants.mjs\";import{INFINITE_PREFIX as pe}from\"./dist/_internal/constants.mjs\";import Jt,{useContext as Kt,useMemo as Yt}from\"react\";var ht=b&&window.__SWR_DEVTOOLS_USE__,$t=ht?window.__SWR_DEVTOOLS_USE__:[],Xt=()=>{ht&&(window.__SWR_DEVTOOLS_REACT__=Jt)},_t=t=>R(t[1])?[t[0],t[1],t[2]||{}]:[t[0],null,(t[1]===null?t[2]:t[1])||{}],Qt=()=>{let t=Kt(F);return Yt(()=>w(Rt,t),[t])},ae=(t,e)=>{let[n,i]=V(t),[,,,s]=C.get(A);if(s[n])return s[n];let r=e(i);return s[n]=r,r},Zt=t=>(e,n,i)=>t(e,n&&((...r)=>{let[o]=V(e),[,,,c]=C.get(A);if(o.startsWith(Gt))return n(...r);let a=c[o];return m(a)?n(...r):(delete c[o],a)}),i),kt=$t.concat(Zt),ue=t=>function(...n){let i=Qt(),[s,r,o]=_t(n),c=Z(i,o),a=t,{use:v}=c,d=(v||[]).concat(kt);for(let u=d.length;u--;)a=d[u](a);return a(s,r||c.fetcher||null,c)},fe=(t,e,n)=>{let i=e[t]||(e[t]=[]);return i.push(n),()=>{let s=i.indexOf(n);s>=0&&(i[s]=i[i.length-1],i.pop())}},le=(t,e)=>(...n)=>{let[i,s,r]=_t(n),o=(r.use||[]).concat(e);return t(i,s,{...r,use:o})};Xt();export{pe as INFINITE_PREFIX,Ut as IS_REACT_LEGACY,W as IS_SERVER,N as OBJECT,zt as SWRConfig,C as SWRGlobalState,l as UNDEFINED,A as cache,pt as compare,ft as createCacheHelper,Rt as defaultConfig,dt as defaultConfigOptions,$ as getTimestamp,ut as hasRequestAnimationFrame,Q as initCache,mt as internalMutate,L as isDocumentDefined,R as isFunction,at as isLegacyDeno,ct as isPromiseLike,m as isUndefined,b as isWindowDefined,Z as mergeConfigs,w as mergeObjects,Ct as mutate,O as noop,_t as normalize,ae as preload,lt as preset,jt as rAF,q as revalidateEvents,V as serialize,Y as slowConnection,x as stableHash,fe as subscribeCallback,Et as useIsomorphicLayoutEffect,Qt as useSWRConfig,ue as withArgs,le as withMiddleware};\n//# sourceMappingURL=_internal.mjs.map","/* esm.sh - use-sync-external-store@1.6.0/shim/index */\nimport*as __0$ from\"react\";var require=n=>{const e=m=>typeof m.default<\"u\"?m.default:m,c=m=>Object.assign({__esModule:true},m);switch(n){case\"react\":return e(__0$);default:console.error('module \"'+n+'\" not found');return null;}};\nvar v=Object.create;var i=Object.defineProperty;var E=Object.getOwnPropertyDescriptor;var m=Object.getOwnPropertyNames;var y=Object.getPrototypeOf,h=Object.prototype.hasOwnProperty;var j=(e=>typeof require<\"u\"?require:typeof Proxy<\"u\"?new Proxy(e,{get:(t,n)=>(typeof require<\"u\"?require:t)[n]}):e)(function(e){if(typeof require<\"u\")return require.apply(this,arguments);throw Error('Dynamic require of \"'+e+'\" is not supported')});var f=(e,t)=>()=>(t||e((t={exports:{}}).exports,t),t.exports);var x=(e,t,n,u)=>{if(t&&typeof t==\"object\"||typeof t==\"function\")for(let r of m(t))!h.call(e,r)&&r!==n&&i(e,r,{get:()=>t[r],enumerable:!(u=E(t,r))||u.enumerable});return e};var w=(e,t,n)=>(n=e!=null?v(y(e)):{},x(t||!e||!e.__esModule?i(n,\"default\",{value:e,enumerable:!0}):n,e));var d=f(l=>{\"use strict\";var o=j(\"react\");function b(e,t){return e===t&&(e!==0||1/e===1/t)||e!==e&&t!==t}var g=typeof Object.is==\"function\"?Object.is:b,q=o.useState,D=o.useEffect,O=o.useLayoutEffect,V=o.useDebugValue;function I(e,t){var n=t(),u=q({inst:{value:n,getSnapshot:t}}),r=u[0].inst,c=u[1];return O(function(){r.value=n,r.getSnapshot=t,a(r)&&c({inst:r})},[e,n,t]),D(function(){return a(r)&&c({inst:r}),e(function(){a(r)&&c({inst:r})})},[e]),V(n),n}function a(e){var t=e.getSnapshot;e=e.value;try{var n=t();return!g(e,n)}catch{return!0}}function L(e,t){return t()}var N=typeof window>\"u\"||typeof window.document>\"u\"||typeof window.document.createElement>\"u\"?L:I;l.useSyncExternalStore=o.useSyncExternalStore!==void 0?o.useSyncExternalStore:N});var p=f((k,S)=>{\"use strict\";S.exports=d()});var s=w(p()),{useSyncExternalStore:C}=s,G=s.default??s;export{G as default,C as useSyncExternalStore};\n/*! Bundled license information:\n\nuse-sync-external-store/cjs/use-sync-external-store-shim.production.js:\n  (**\n   * @license React\n   * use-sync-external-store-shim.production.js\n   *\n   * Copyright (c) Meta Platforms, Inc. and affiliates.\n   *\n   * This source code is licensed under the MIT license found in the\n   * LICENSE file in the root directory of this source tree.\n   *)\n*/\n//# sourceMappingURL=index.mjs.map","/* esm.sh - use-sync-external-store@1.6.0/shim/index */\nexport * from \"/use-sync-external-store@1.6.0/X-ZXJlYWN0/es2022/shim/index.mjs\";\nexport { default } from \"/use-sync-external-store@1.6.0/X-ZXJlYWN0/es2022/shim/index.mjs\";\n","/* esm.sh - swr@2.3.7 */\nimport ye,{useRef as O,useMemo as _e,useCallback as K,useDebugValue as Fe}from\"react\";import{useSyncExternalStore as pe}from\"/use-sync-external-store@^1.4.0/shim/index?external=react&target=es2022\";import{UNDEFINED as j,OBJECT as We,SWRConfig as Pe,defaultConfig as Ue,withArgs as Me,SWRGlobalState as xe,serialize as $e,createCacheHelper as je,isUndefined as r,isPromiseLike as qe,IS_SERVER as Q,noop as ke,getTimestamp as He,isFunction as he,revalidateEvents as _,internalMutate as ze,useIsomorphicLayoutEffect as X,subscribeCallback as Je,rAF as Be,IS_REACT_LEGACY as Se,mergeObjects as Ge}from\"./_internal.mjs\";import{mutate as ft,preload as dt,useSWRConfig as Rt}from\"./_internal.mjs\";var Ye=()=>{},Ke=Ye(),ne=Object,ve=e=>e===Ke,Qe=e=>typeof e==\"function\",$=new WeakMap,Xe=e=>ne.prototype.toString.call(e),Z=(e,u)=>e===`[object ${u}]`,Ze=0,se=e=>{let u=typeof e,l=Xe(e),p=Z(l,\"Date\"),b=Z(l,\"RegExp\"),C=Z(l,\"Object\"),f,R;if(ne(e)===e&&!p&&!b){if(f=$.get(e),f)return f;if(f=++Ze+\"~\",$.set(e,f),Array.isArray(e)){for(f=\"@\",R=0;R<e.length;R++)f+=se(e[R])+\",\";$.set(e,f)}if(C){f=\"#\";let A=ne.keys(e).sort();for(;!ve(R=A.pop());)ve(e[R])||(f+=R+\":\"+se(e[R])+\",\");$.set(e,f)}}else f=p?e.toJSON():u==\"symbol\"?e.toString():u==\"string\"?JSON.stringify(e):\"\"+e;return f},et=e=>{if(Qe(e))try{e=e()}catch{e=\"\"}let u=e;return e=typeof e==\"string\"?e:(Array.isArray(e)?e.length:e)?se(e):\"\",[e,u]},at=e=>et(e)[0],ee=ye.use||(e=>{switch(e.status){case\"pending\":throw e;case\"fulfilled\":return e.value;case\"rejected\":throw e.reason;default:throw e.status=\"pending\",e.then(u=>{e.status=\"fulfilled\",e.value=u},u=>{e.status=\"rejected\",e.reason=u}),e}}),te={dedupe:!0},me=Promise.resolve(j),tt=(e,u,l)=>{let{cache:p,compare:b,suspense:C,fallbackData:f,revalidateOnMount:R,revalidateIfStale:A,refreshInterval:F,refreshWhenHidden:re,refreshWhenOffline:ie,keepPreviousData:De,strictServerPrefetchWarning:Te}=l,[W,Oe,v,Ce]=xe.get(p),[t,ae]=$e(e),q=O(!1),I=O(!1),P=O(t),k=O(u),H=O(l),o=()=>H.current,z=()=>o().isVisible()&&o().isOnline(),[m,J,we,Ve]=je(p,t),L=O({}).current,U=r(f)?r(l.fallback)?j:l.fallback[t]:f,oe=(n,s)=>{for(let a in L){let i=a;if(i===\"data\"){if(!b(n[i],s[i])&&(!r(n[i])||!b(x,s[i])))return!1}else if(s[i]!==n[i])return!1}return!0},ce=_e(()=>{let n=!t||!u?!1:r(R)?o().isPaused()||C?!1:A!==!1:R,s=d=>{let h=Ge(d);return delete h._k,n?{isValidating:!0,isLoading:!0,...h}:h},a=m(),i=Ve(),g=s(a),N=a===i?g:s(i),c=g;return[()=>{let d=s(m());return oe(d,c)?(c.data=d.data,c.isLoading=d.isLoading,c.isValidating=d.isValidating,c.error=d.error,c):(c=d,d)},()=>N]},[p,t]),w=pe(K(n=>we(t,(s,a)=>{oe(a,s)||n()}),[p,t]),ce[0],ce[1]),ue=!q.current,Ne=W[t]&&W[t].length>0,V=w.data,D=r(V)?U&&qe(U)?ee(U):U:V,M=w.error,B=O(D),x=De?r(V)?r(B.current)?D:B.current:V:D,T=t&&r(D),be=!Q&&pe(()=>ke,()=>!1,()=>!0);Te&&be&&!C&&T&&console.warn(`Missing pre-initiated data for serialized key \"${t}\" during server-side rendering. Data fethcing should be initiated on the server and provided to SWR via fallback data. You can set \"strictServerPrefetchWarning: false\" to disable this warning.`);let le=Ne&&!r(M)?!1:ue&&!r(R)?R:o().isPaused()?!1:C?r(D)?!1:A:r(D)||A,fe=!!(t&&u&&ue&&le),Ae=r(w.isValidating)?fe:w.isValidating,Ie=r(w.isLoading)?fe:w.isLoading,y=K(async n=>{let s=k.current;if(!t||!s||I.current||o().isPaused())return!1;let a,i,g=!0,N=n||{},c=!v[t]||!N.dedupe,d=()=>Se?!I.current&&t===P.current&&q.current:t===P.current,h={isValidating:!1,isLoading:!1},Re=()=>{J(h)},Ee=()=>{let E=v[t];E&&E[1]===i&&delete v[t]},ge={isValidating:!0};r(m().data)&&(ge.isLoading=!0);try{if(c&&(J(ge),l.loadingTimeout&&r(m().data)&&setTimeout(()=>{g&&d()&&o().onLoadingSlow(t,l)},l.loadingTimeout),v[t]=[s(ae),He()]),[a,i]=v[t],a=await a,c&&setTimeout(Ee,l.dedupingInterval),!v[t]||v[t][1]!==i)return c&&d()&&o().onDiscarded(t),!1;h.error=j;let E=Oe[t];if(!r(E)&&(i<=E[0]||i<=E[1]||E[1]===0))return Re(),c&&d()&&o().onDiscarded(t),!1;let S=m().data;h.data=b(S,a)?S:a,c&&d()&&o().onSuccess(a,t,l)}catch(E){Ee();let S=o(),{shouldRetryOnError:G}=S;S.isPaused()||(h.error=E,c&&d()&&(S.onError(E,t,S),(G===!0||he(G)&&G(E))&&(!o().revalidateOnFocus||!o().revalidateOnReconnect||z())&&S.onErrorRetry(E,t,S,Le=>{let Y=W[t];Y&&Y[0]&&Y[0](_.ERROR_REVALIDATE_EVENT,Le)},{retryCount:(N.retryCount||0)+1,dedupe:!0})))}return g=!1,Re(),!0},[t,p]),de=K((...n)=>ze(p,P.current,...n),[]);if(X(()=>{k.current=u,H.current=l,r(V)||(B.current=V)}),X(()=>{if(!t)return;let n=y.bind(j,te),s=0;o().revalidateOnFocus&&(s=Date.now()+o().focusThrottleInterval);let i=Je(t,W,(g,N={})=>{if(g==_.FOCUS_EVENT){let c=Date.now();o().revalidateOnFocus&&c>s&&z()&&(s=c+o().focusThrottleInterval,n())}else if(g==_.RECONNECT_EVENT)o().revalidateOnReconnect&&z()&&n();else{if(g==_.MUTATE_EVENT)return y();if(g==_.ERROR_REVALIDATE_EVENT)return y(N)}});return I.current=!1,P.current=t,q.current=!0,J({_k:ae}),le&&(v[t]||(r(D)||Q?n():Be(n))),()=>{I.current=!0,i()}},[t]),X(()=>{let n;function s(){let i=he(F)?F(m().data):F;i&&n!==-1&&(n=setTimeout(a,i))}function a(){!m().error&&(re||o().isVisible())&&(ie||o().isOnline())?y(te).then(s):s()}return s(),()=>{n&&(clearTimeout(n),n=-1)}},[F,re,ie,t]),Fe(x),C){if(!Se&&Q&&T)throw new Error(\"Fallback data is required when using Suspense in SSR.\");T&&(k.current=u,H.current=l,I.current=!1);let n=Ce[t],s=!r(n)&&T?de(n):me;if(ee(s),!r(M)&&T)throw M;let a=T?y(te):me;!r(x)&&T&&(a.status=\"fulfilled\",a.value=!0),ee(a)}return{mutate:de,get data(){return L.data=!0,x},get error(){return L.error=!0,M},get isValidating(){return L.isValidating=!0,Ae},get isLoading(){return L.isLoading=!0,Ie}}},ot=We.defineProperty(Pe,\"defaultValue\",{value:Ue}),ct=Me(tt);export{ot as SWRConfig,ct as default,ft as mutate,dt as preload,at as unstable_serialize,Rt as useSWRConfig};\n//# sourceMappingURL=swr.mjs.map","/* esm.sh - swr@2.3.7 */\nimport \"/swr@2.3.7/X-ZXJlYWN0/es2022/_internal.mjs\";\nimport \"/use-sync-external-store@^1.4.0/shim/index?external=react&target=es2022\";\nexport * from \"/swr@2.3.7/X-ZXJlYWN0/es2022/swr.mjs\";\nexport { default } from \"/swr@2.3.7/X-ZXJlYWN0/es2022/swr.mjs\";\n","// @ts-expect-error - Packages are not installed locally, maybe should fix in the future.\n// Using ?external=react to ensure SWR uses the same React instance as Framer\nimport useSWR from\"https://esm.sh/swr@2.3.7?external=react\";export function useRemoteState(...args){return useSWR(...args);}\nexport const __FramerMetadata__ = {\"exports\":{\"useRemoteState\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./useRemoteState.map","import{getShopify}from\"https://framerusercontent.com/modules/bZHyHZNwdgWilbU7lpRL/khGjDdfv6Q4ct3tXNVGJ/shopify.js\";// ============================================================================\n// GRAPHQL QUERIES\n// ============================================================================\nconst PRODUCT_BY_ID_QUERY=`\n  query GetProductById($id: ID!) {\n    product(id: $id) {\n      id\n      handle\n      title\n      vendor\n      productType\n      availableForSale\n      totalInventory\n      variants(first: 100) {\n        edges {\n          node {\n            id\n            title\n            availableForSale\n            quantityAvailable\n            price { amount currencyCode }\n            compareAtPrice { amount currencyCode }\n            selectedOptions { name value }\n            image { url altText }\n          }\n        }\n      }\n    }\n  }\n`;const PRODUCTS_BY_IDS_QUERY=`\n  query GetProductsById($ids: [ID!]!) {\n    nodes(ids: $ids) {\n      ... on Product {\n        id\n        handle\n        availableForSale\n        totalInventory\n        variants(first: 100) {\n          edges {\n            node {\n              id\n              title\n              availableForSale\n              quantityAvailable\n              image { url }\n            }\n          }\n        }\n      }\n    }\n  }\n`;const PRODUCT_WITH_PRICES_QUERY=`\n  query GetProductWithPrices($id: ID!, $countryCode: CountryCode) @inContext(country: $countryCode) {\n    product(id: $id) {\n      id\n      handle\n      availableForSale\n      totalInventory\n      variants(first: 100) {\n        edges {\n          node {\n            id\n            title\n            availableForSale\n            quantityAvailable\n            price { amount currencyCode }\n            compareAtPrice { amount currencyCode }\n            image { url }\n          }\n        }\n      }\n    }\n  }\n`;const BEST_SELLING_PRODUCTS_QUERY=`\n  query GetBestSellingProducts($first: Int!, $after: String) {\n    products(first: $first, sortKey: BEST_SELLING, after: $after) {\n      edges {\n        node { id }\n      }\n      pageInfo { hasNextPage endCursor }\n    }\n  }\n`;class ProductsService{/**\n   * Get a single product by ID with full variant data\n   */static async getProductById(shopify,productId){try{const gid=productId.includes(\"gid://\")?productId:`gid://shopify/Product/${productId}`;const data=await shopify.request(PRODUCT_BY_ID_QUERY,{id:gid});return data?.product||null;}catch(error){console.error(\"Error fetching product:\",error);return null;}}/**\n   * Get multiple products by IDs\n   */static async getProductsById(shopify,ids){try{const data=await shopify.request(PRODUCTS_BY_IDS_QUERY,{ids});const products=data.nodes.filter(node=>node!==null).map(node=>({id:node.id,handle:node.handle,availableForSale:node.availableForSale,totalInventory:node.totalInventory,variants:node.variants?.edges?.map(edge=>({id:edge.node.id,title:edge.node.title,availableForSale:edge.node.availableForSale,quantityAvailable:edge.node.quantityAvailable,image:edge.node.image?.url?{url:edge.node.image.url}:undefined}))||[]}));return products;}catch(error){console.error(\"Error fetching products:\",error);const errorMessage=error instanceof Error?error.message:\"Unknown error\";throw new Error(`Failed to fetch products: ${errorMessage}`);}}/**\n   * Get a single product by ID with market-aware prices via @inContext.\n   * Uses the dedicated `product(id:)` query (not `nodes`) to ensure\n   * pricing matches cart/checkout for auto-converted currencies.\n   */static async getProductByIdWithPrices(shopify,id,countryCode){try{const gid=id.includes(\"gid://\")?id:`gid://shopify/Product/${id}`;const data=await shopify.request(PRODUCT_WITH_PRICES_QUERY,{id:gid,countryCode});const node=data?.product;if(!node)return null;return{id:node.id,handle:node.handle,availableForSale:node.availableForSale,totalInventory:node.totalInventory,variants:node.variants?.edges?.map(edge=>({id:edge.node.id,title:edge.node.title,availableForSale:edge.node.availableForSale,quantityAvailable:edge.node.quantityAvailable,price:edge.node.price??undefined,compareAtPrice:edge.node.compareAtPrice??undefined,image:edge.node.image?.url?{url:edge.node.image.url}:undefined}))||[]};}catch(error){console.error(\"Error fetching product with prices:\",error);const errorMessage=error instanceof Error?error.message:\"Unknown error\";throw new Error(`Failed to fetch product with prices: ${errorMessage}`);}}/**\n   * Get product IDs in best-selling order.\n   * Paginates automatically to cover catalogs > 250 products.\n   * Returns numeric product IDs in rank order (index 0 = #1 best seller).\n   */static async getBestSellingProductIds(shopify,maxProducts=250){try{const ids=[];let after=null;const pageSize=Math.min(maxProducts,250);while(ids.length<maxProducts){const data=await shopify.request(BEST_SELLING_PRODUCTS_QUERY,{first:pageSize,after});for(const edge of data.products.edges){const numericId=edge.node.id.includes(\"/\")?edge.node.id.split(\"/\").pop():edge.node.id;ids.push(numericId);}if(!data.products.pageInfo.hasNextPage)break;after=data.products.pageInfo.endCursor;}return ids;}catch(error){console.error(\"Error fetching best-selling products:\",error);return[];}}/**\n   * Helper to get a configured GraphQL client\n   */static getClient(){const config=typeof window!==\"undefined\"?window.butterConfig:null;if(!config?.shopifyDomain||!config?.storefrontAccessToken){throw new Error(\"Storefront configuration not found in window.butterConfig\");}return getShopify(config.shopifyDomain,config.storefrontAccessToken);}}// ============================================================================\n// SERVICE\n// ============================================================================\nexport{ProductsService as default};\nexport const __FramerMetadata__ = {\"exports\":{\"default\":{\"type\":\"class\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./ProductsService.map","import{useState,useEffect}from\"react\";import{RenderTarget}from\"framer\";export function useIsBrowser(){const[isBrowser,setIsBrowser]=useState(false);useEffect(()=>{setIsBrowser(true);},[]);return isBrowser;}function isFramerEditorHost(){if(typeof window===\"undefined\")return false;return Boolean(window.location?.hostname?.includes(\"framercanvas.com\"));}/**\n * True when Framer is rendering the editor canvas (not Preview or published).\n * Uses strict enum equality — do not compare String(rt) to \"CANVAS\"; RenderTarget\n * values may not stringify reliably across Framer versions.\n */export function isFramerCanvas(renderTarget){try{const rt=renderTarget??RenderTarget.current();return rt===RenderTarget.canvas;}catch{return false;}}/**\n * True when disconnected-instance placeholders (purple EmptyState) should show.\n *\n * Framer documents `RenderTarget.preview` as **both** the in-editor Preview and the\n * **live published site** — so we cannot treat “preview” alone as an editor surface.\n *\n * - Canvas: always show placeholders when a slot is missing.\n * - Preview: only on Framer’s editor host (`framercanvas.com`), not on production URLs.\n *\n * @see https://www.framer.com/developers/components-reference#rendertarget\n */export function isFramerPlaceholderTarget(renderTarget){try{const rt=renderTarget??RenderTarget.current();if(rt===RenderTarget.canvas)return true;if(rt===RenderTarget.preview&&isFramerEditorHost())return true;return false;}catch{return false;}}let _cachedMockDecision=null;export function shouldUsePreviewStorefrontMock(){if(_cachedMockDecision!==null)return _cachedMockDecision;if(typeof window===\"undefined\")return false;const config=window.butterConfig;const result=isFramerEditorHost()&&(!config?.shopifyDomain||!config?.storefrontAccessToken);_cachedMockDecision=result;return result;}\nexport const __FramerMetadata__ = {\"exports\":{\"isFramerPlaceholderTarget\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"shouldUsePreviewStorefrontMock\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"useIsBrowser\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"isFramerCanvas\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./IsBrowser.map","import{useMemo}from\"react\";import{useRemoteState}from\"https://framerusercontent.com/modules/jCTYWVpNjMolQ4AznaGa/w8w3xU6zh6YwIaNsN0sm/useRemoteState.js\";import ProductsService from\"https://framerusercontent.com/modules/4mS98dhppVkB72s7aW4Q/Kdm2PWssF0QNmZ3uUYUN/ProductsService.js\";import{getShopify}from\"https://framerusercontent.com/modules/bZHyHZNwdgWilbU7lpRL/khGjDdfv6Q4ct3tXNVGJ/shopify.js\";import{shouldUsePreviewStorefrontMock}from\"https://framerusercontent.com/modules/GmuMNZuvTFaDnzFFN9sI/Vcac48UxP24yz1GRfGGr/IsBrowser.js\";const fetcher=async key=>{const keyStr=Array.isArray(key)?key[0]:key;const parts=keyStr.split(\"-\");// Key format: \"product-{productId}\" or \"product-{productId}-{countryCode}\"\nconst productId=parts[1];const countryCode=parts.length>2?parts.slice(2).join(\"-\"):undefined;if(!productId){return[];}const shopifyDomain=window?.butterConfig?.shopifyDomain;const storefrontAccessToken=window?.butterConfig?.storefrontAccessToken;if(!shopifyDomain||!storefrontAccessToken){if(shouldUsePreviewStorefrontMock()){return[];}throw new Error(\"Storefront domain or access token not found in butterConfig\");}const shopify=getShopify(shopifyDomain,storefrontAccessToken);const productGid=`gid://shopify/Product/${productId}`;if(countryCode){const product=await ProductsService.getProductByIdWithPrices(shopify,productGid,countryCode);return product?[product]:[];}return ProductsService.getProductsById(shopify,[productGid]);};/**\n * Hook for fetching live product data from the Storefront API.\n *\n * @param productId         - Numeric product ID\n * @param selectedVariantId - Currently selected variant GID (for inventory derivation)\n * @param countryCode       - When provided, fetches market-aware prices via @inContext\n */export function useDynamicData(productId,selectedVariantId,countryCode){const swrKey=productId?countryCode?`product-${productId}-${countryCode}`:`product-${productId}`:null;const{data:products,error:productsError,isLoading:productsIsLoading}=useRemoteState(swrKey,fetcher);const product=products?.[0]||null;// Derive variant-level data synchronously so values are always consistent\n// with the current selectedVariantId within the same render cycle.\n// Using useMemo (instead of useState+useEffect) prevents a one-frame lag\n// where stale data from the previous variant could cause incorrect\n// out-of-stock / infinite-inventory evaluation.\nconst{totalInventory,selectedVariantInventory,selectedVariantAvailable,isInfiniteInventory,quantityToDisplay}=useMemo(()=>{if(!product){return{totalInventory:undefined,selectedVariantInventory:undefined,selectedVariantAvailable:undefined,isInfiniteInventory:false,quantityToDisplay:undefined};}const total=product.totalInventory;const variant=product.variants.find(v=>v.id===selectedVariantId);const variantInventory=variant?.quantityAvailable??undefined;const variantAvailable=variant?.availableForSale??undefined;const infinite=variant?variant.availableForSale&&variant.quantityAvailable<=0:product.availableForSale&&product.totalInventory<=0;const qty=selectedVariantId!=null&&variantInventory!=null?variantInventory:total;return{totalInventory:total,selectedVariantInventory:variantInventory,selectedVariantAvailable:variantAvailable,isInfiniteInventory:infinite,quantityToDisplay:qty};},[product,selectedVariantId]);return{product,totalInventory,selectedVariantInventory,selectedVariantAvailable,quantityToDisplay,isInfiniteInventory,isLoading:productsIsLoading,error:productsError};}// ============================================================================\n// BULK AVAILABILITY\n// ============================================================================\nconst BATCH_SIZE=250;const bulkAvailabilityFetcher=async key=>{const keyStr=Array.isArray(key)?key[0]:key;const idsStr=keyStr.replace(\"bulk-avail-\",\"\");const ids=idsStr.split(\",\").filter(Boolean);if(ids.length===0)return[];const shopifyDomain=window?.butterConfig?.shopifyDomain;const storefrontAccessToken=window?.butterConfig?.storefrontAccessToken;if(!shopifyDomain||!storefrontAccessToken)return[];const shopify=getShopify(shopifyDomain,storefrontAccessToken);const gids=ids.map(id=>`gid://shopify/Product/${id}`);const results=[];for(let i=0;i<gids.length;i+=BATCH_SIZE){const batch=gids.slice(i,i+BATCH_SIZE);const products=await ProductsService.getProductsById(shopify,batch);results.push(...products);}return results;};/**\n * Batch-fetch `availableForSale` for a list of product IDs.\n * Uses SWR for caching/deduplication. Only hits the API when `enabled` is true.\n *\n * @param productIds - Numeric Shopify product IDs\n * @param enabled    - Set false to skip fetching (SWR returns cached/null)\n * @returns availabilityMap  Maps numeric product ID → availableForSale boolean\n */export function useBulkAvailability(productIds,enabled=true){const swrKey=enabled&&productIds.length>0?`bulk-avail-${[...productIds].sort().join(\",\")}`:null;const{data,isLoading}=useRemoteState(swrKey,bulkAvailabilityFetcher);const availabilityMap=useMemo(()=>{const map=new Map;if(!Array.isArray(data))return map;for(const product of data){const numericId=product.id.includes(\"/\")?product.id.split(\"/\").pop():product.id;map.set(numericId,product.availableForSale);}return map;},[data]);return{availabilityMap,isLoading};}// ============================================================================\n// BEST-SELLING ORDER\n// ============================================================================\nconst bestSellingFetcher=async()=>{const shopifyDomain=window?.butterConfig?.shopifyDomain;const storefrontAccessToken=window?.butterConfig?.storefrontAccessToken;if(!shopifyDomain||!storefrontAccessToken)return[];const shopify=getShopify(shopifyDomain,storefrontAccessToken);return ProductsService.getBestSellingProductIds(shopify);};/**\n * Fetch product IDs in Shopify best-selling order.\n * Returns a rank map (productId → 0-based rank) for sorting.\n * Eagerly prefetched and SWR-cached so sort is instant.\n */export function useBestSellingOrder(){const{data,isLoading}=useRemoteState(\"best-selling-order\",bestSellingFetcher);const bestSellingOrder=useMemo(()=>{const map=new Map;if(!Array.isArray(data))return map;for(let i=0;i<data.length;i++){map.set(data[i],i);}return map;},[data]);return{bestSellingOrder,isLoading};}\nexport const __FramerMetadata__ = {\"exports\":{\"useDynamicData\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"useBestSellingOrder\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"DynamicProductData\":{\"type\":\"tsType\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"useBulkAvailability\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"DynamicVariantPrice\":{\"type\":\"tsType\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}","/*\n * Framer Commerce\n * Confidential and Proprietary - All Rights Reserved\n *\n * © 2025 Butter Supply Inc. All Rights Reserved.\n */import{useCallback,useMemo}from\"react\";import{useRemoteState}from\"https://framerusercontent.com/modules/jCTYWVpNjMolQ4AznaGa/w8w3xU6zh6YwIaNsN0sm/useRemoteState.js\";import{useLocalState}from\"https://framerusercontent.com/modules/xYDZCCqEBzGd7zfHzUX5/cLuhs5H2O0tFIwBfaQKt/useLocalState.js\";import CartService,{extractNumericId,toSellingPlanGid,toVariantGid}from\"https://framerusercontent.com/modules/vVBwckC7u10j9jUmDxXI/Fqima0ybfCi6bdQLdRWG/CartService.js\";import{shouldUsePreviewStorefrontMock}from\"https://framerusercontent.com/modules/FmcSlgUtRS55W3otl8f9/DktpLeyyDbjosM33g22i/IsBrowser.js\";// ============================================================================\n// CONSTANTS\n// ============================================================================\nconst CART_ID_KEY=\"fc_cart_id\";const PREVIEW_CART_KEY=\"fc_preview_cart\";const PREVIEW_CART_ID=\"preview:cart\";const OPTIMISTIC_CART_ID=\"optimistic:cart\";const OPTIMISTIC_LINE_ID_PREFIX=\"optimistic:line:\";const PREVIEW_LINE_ID_PREFIX=\"preview:line:\";let cartMutationQueue=Promise.resolve();function enqueueCartMutation(operation){const run=cartMutationQueue.then(operation);cartMutationQueue=run.then(()=>undefined,()=>undefined);return run;}// ============================================================================\n// STORAGE HELPERS\n// ============================================================================\nfunction getStoredCartId(){if(typeof window===\"undefined\")return null;return localStorage.getItem(CART_ID_KEY);}function storeCartId(cartId){if(typeof window===\"undefined\")return;localStorage.setItem(CART_ID_KEY,cartId);}function clearStoredCartId(){if(typeof window===\"undefined\")return;localStorage.removeItem(CART_ID_KEY);}function isMissingCartError(error){const message=error instanceof Error?error.message:typeof error===\"string\"?error:\"\";return/cart does not exist|cart not found/i.test(message);}function getStoredPreviewCart(){if(typeof window===\"undefined\")return null;try{const stored=localStorage.getItem(PREVIEW_CART_KEY);if(!stored)return null;return JSON.parse(stored);}catch{return null;}}function storePreviewCart(cart){if(typeof window===\"undefined\")return;if(!cart||cart.totalQuantity<=0||cart.lines.length===0){localStorage.removeItem(PREVIEW_CART_KEY);return;}localStorage.setItem(PREVIEW_CART_KEY,JSON.stringify(cart));}function clearStoredPreviewCart(){if(typeof window===\"undefined\")return;localStorage.removeItem(PREVIEW_CART_KEY);}// ============================================================================\n// CART FETCHER\n// ============================================================================\nasync function fetchCart(){if(shouldUsePreviewStorefrontMock()){return getStoredPreviewCart();}const cartId=getStoredCartId();if(!cartId)return null;const shopify=CartService.getClient();const cart=await CartService.getCart(shopify,cartId);if(!cart){clearStoredCartId();}return cart;}// ============================================================================\n// OPTIMISTIC CART HELPERS\n// ============================================================================\nfunction parseMoneyAmount(amount){const parsed=parseFloat(amount||\"0\");return Number.isFinite(parsed)?parsed:0;}function formatMoneyAmount(amount){const rounded=Math.round(amount*100)/100;return rounded.toFixed(2);}function toMoney(amount,currencyCode=\"USD\"){return{amount:formatMoneyAmount(Math.max(0,amount)),currencyCode};}function normalizeSellingPlanId(sellingPlanId){if(!sellingPlanId)return\"\";return sellingPlanId.includes(\"gid://\")?sellingPlanId:toSellingPlanGid(sellingPlanId);}function normalizeAttributes(attributes){return[...attributes||[]].map(attribute=>({key:attribute.key,value:attribute.value})).sort((left,right)=>{if(left.key===right.key){return left.value.localeCompare(right.value);}return left.key.localeCompare(right.key);});}function createLineMatchKey(merchandiseId,sellingPlanId,attributes){return JSON.stringify({merchandiseId,sellingPlanId:normalizeSellingPlanId(sellingPlanId),attributes:normalizeAttributes(attributes)});}function findMatchingLine(lines,target){const targetKey=createLineMatchKey(target.merchandiseId,target.sellingPlanId,target.attributes);return lines.find(line=>{const lineKey=createLineMatchKey(line.merchandise.id,line.sellingPlanAllocation?.sellingPlan?.id,line.attributes);return lineKey===targetKey;})||null;}function getLinePriceDelta(merchandise,quantityDelta){return parseMoneyAmount(merchandise.price?.amount)*quantityDelta;}function buildEmptyCost(currencyCode=\"USD\"){return{subtotalAmount:toMoney(0,currencyCode),totalAmount:toMoney(0,currencyCode)};}function adjustCartCost(cart,delta,currencyCode){const fallbackCurrency=currencyCode||cart.cost?.subtotalAmount?.currencyCode||cart.cost?.totalAmount?.currencyCode||\"USD\";const currentCost=cart.cost||buildEmptyCost(fallbackCurrency);const nextSubtotal=parseMoneyAmount(currentCost.subtotalAmount?.amount)+delta;const nextTotal=parseMoneyAmount(currentCost.totalAmount?.amount)+delta;return{...currentCost,subtotalAmount:toMoney(nextSubtotal,currentCost.subtotalAmount?.currencyCode||fallbackCurrency),totalAmount:toMoney(nextTotal,currentCost.totalAmount?.currencyCode||fallbackCurrency),totalTaxAmount:currentCost.totalTaxAmount?toMoney(parseMoneyAmount(currentCost.totalTaxAmount.amount),currentCost.totalTaxAmount.currencyCode||fallbackCurrency):undefined};}function buildOptimisticCartLine(optimisticLine,quantity,lineId){return{id:lineId,quantity,merchandise:optimisticLine.merchandise,sellingPlanAllocation:optimisticLine.sellingPlanAllocation||null,attributes:optimisticLine.attributes||[]};}function buildOptimisticCartShell(options){const{quantity,optimisticLine,lineId,buyerIdentity}=options;const currencyCode=optimisticLine?.merchandise.price?.currencyCode||\"USD\";const cartLine=optimisticLine&&lineId?buildOptimisticCartLine(optimisticLine,quantity,lineId):null;const priceDelta=cartLine?getLinePriceDelta(cartLine.merchandise,cartLine.quantity):0;return{id:OPTIMISTIC_CART_ID,checkoutUrl:\"\",lines:cartLine?[cartLine]:[],totalQuantity:quantity,cost:{...buildEmptyCost(currencyCode),subtotalAmount:toMoney(priceDelta,currencyCode),totalAmount:toMoney(priceDelta,currencyCode)},buyerIdentity};}function createOptimisticLineId(variantId){const normalizedVariantId=toVariantGid(variantId);const numericVariantId=extractNumericId(normalizedVariantId)||\"unknown\";return`${OPTIMISTIC_LINE_ID_PREFIX}${numericVariantId}:${Date.now().toString(36)}:${Math.random().toString(36).slice(2,8)}`;}function createPreviewLineId(variantId){const normalizedVariantId=toVariantGid(variantId);const numericVariantId=extractNumericId(normalizedVariantId)||\"unknown\";return`${PREVIEW_LINE_ID_PREFIX}${numericVariantId}:${Date.now().toString(36)}:${Math.random().toString(36).slice(2,8)}`;}function buildPreviewOptimisticLine(options){const normalizedVariantId=toVariantGid(options.variantId);const numericVariantId=extractNumericId(normalizedVariantId)||\"preview\";const activeMarket=useLocalState.getState().activeMarket;const sourceMerchandise=options.optimisticLine?.merchandise;const currencyCode=sourceMerchandise?.price?.currencyCode||activeMarket?.currencyCode||\"USD\";const sellingPlanId=normalizeSellingPlanId(options.sellingPlanId);// Prefer the caller-supplied real productId so the resulting line carries\n// a `merchandise.product.id` that the cart-list CMS-match filter can find.\n// Fall back to the variant id only as a last resort (legacy behaviour).\nconst resolvedProductId=options.productId&&options.productId.trim()!==\"\"?options.productId:numericVariantId;const resolvedProductGid=resolvedProductId.includes(\"gid://\")?resolvedProductId:`gid://shopify/Product/${resolvedProductId}`;const resolvedProductHandle=resolvedProductId.includes(\"gid://\")?extractNumericId(resolvedProductId):resolvedProductId;const optimisticAllocation=options.optimisticLine?.sellingPlanAllocation;const sellingPlanAllocation=optimisticAllocation??(sellingPlanId?{sellingPlan:{id:sellingPlanId,name:\"\"}}:null);return{merchandise:{id:normalizedVariantId,title:sourceMerchandise?.title||\"Preview Variant\",price:sourceMerchandise?.price||{amount:\"0.00\",currencyCode},compareAtPrice:sourceMerchandise?.compareAtPrice||null,product:sourceMerchandise?.product||{id:resolvedProductGid,handle:`preview-product-${resolvedProductHandle}`,title:\"Preview Product\",vendor:\"Preview\",productType:\"Preview\"},selectedOptions:sourceMerchandise?.selectedOptions||[],image:sourceMerchandise?.image,quantityAvailable:sourceMerchandise?.quantityAvailable,availableForSale:sourceMerchandise?.availableForSale??true},sellingPlanAllocation,attributes:options.optimisticLine?.attributes??options.attributes??[]};}function normalizePreviewCart(cart,buyerIdentity){if(!cart||cart.totalQuantity<=0||cart.lines.length===0){return null;}return{...cart,id:PREVIEW_CART_ID,checkoutUrl:\"\",buyerIdentity:buyerIdentity??cart.buyerIdentity};}function applyOptimisticAdd(currentCart,options,optimisticLineId,buyerIdentity){const matchAttributes=options.attributes?.length&&options.attributes.length>0?options.attributes:options.optimisticLine?.attributes;const matchingLine=currentCart?findMatchingLine(currentCart.lines,{merchandiseId:toVariantGid(options.variantId),sellingPlanId:options.optimisticLine?.sellingPlanAllocation?.sellingPlan?.id||options.sellingPlanId,attributes:matchAttributes}):null;if(!currentCart){const optimisticCart=buildOptimisticCartShell({quantity:options.quantity,optimisticLine:options.optimisticLine,lineId:optimisticLineId,buyerIdentity});return{cart:optimisticCart,pendingLineIds:optimisticCart.lines[0]?[optimisticCart.lines[0].id]:[]};}if(matchingLine){return{cart:{...currentCart,lines:currentCart.lines.map(line=>line.id===matchingLine.id?{...line,quantity:line.quantity+options.quantity}:line),totalQuantity:currentCart.totalQuantity+options.quantity,cost:adjustCartCost(currentCart,getLinePriceDelta(matchingLine.merchandise,options.quantity),matchingLine.merchandise.price?.currencyCode)},pendingLineIds:[matchingLine.id]};}if(!options.optimisticLine||!optimisticLineId){return{cart:{...currentCart,totalQuantity:currentCart.totalQuantity+options.quantity},pendingLineIds:[]};}const optimisticLine=buildOptimisticCartLine(options.optimisticLine,options.quantity,optimisticLineId);return{cart:{...currentCart,lines:[optimisticLine,...currentCart.lines],totalQuantity:currentCart.totalQuantity+options.quantity,cost:adjustCartCost(currentCart,getLinePriceDelta(optimisticLine.merchandise,options.quantity),optimisticLine.merchandise.price?.currencyCode)},pendingLineIds:[optimisticLine.id]};}/**\n * Apply optimistic cart updates for the main line plus any `additionalLines`\n * in one pass (matches a single batched Storefront `cartLinesAdd` call).\n */function applyBatchedOptimisticAdd(currentCart,options,mainOptimisticLineId,buyerIdentity){let cart=currentCart??null;const pendingLineIds=[];const mainState=applyOptimisticAdd(cart,options,mainOptimisticLineId,buyerIdentity);cart=mainState.cart;pendingLineIds.push(...mainState.pendingLineIds);for(const extra of options.additionalLines??[]){const extraOptimisticLine=extra.optimisticLine??buildPreviewOptimisticLine({variantId:extra.variantId,quantity:extra.quantity,attributes:extra.attributes,sellingPlanId:extra.sellingPlanId,productId:extra.productId});const extraOptimisticId=createOptimisticLineId(extra.variantId);const extraOptions={variantId:extra.variantId,quantity:extra.quantity,attributes:extra.attributes,sellingPlanId:extra.sellingPlanId,optimisticLine:extraOptimisticLine};const extraState=applyOptimisticAdd(cart,extraOptions,extraOptimisticId,buyerIdentity);cart=extraState.cart;pendingLineIds.push(...extraState.pendingLineIds);}return{cart:cart,pendingLineIds};}function applyOptimisticRemove(currentCart,lineId){if(!currentCart)return null;const removedLine=currentCart.lines.find(line=>line.id===lineId);if(!removedLine)return currentCart;return{...currentCart,lines:currentCart.lines.filter(line=>line.id!==lineId),totalQuantity:Math.max(0,currentCart.totalQuantity-removedLine.quantity),cost:adjustCartCost(currentCart,-getLinePriceDelta(removedLine.merchandise,removedLine.quantity),removedLine.merchandise.price?.currencyCode)};}function applyOptimisticQuantityUpdate(currentCart,lineId,quantity){if(!currentCart)return null;const existingLine=currentCart.lines.find(line=>line.id===lineId);if(!existingLine)return currentCart;const quantityDelta=quantity-existingLine.quantity;return{...currentCart,lines:currentCart.lines.map(line=>line.id===lineId?{...line,quantity}:line),totalQuantity:Math.max(0,currentCart.totalQuantity+quantityDelta),cost:adjustCartCost(currentCart,getLinePriceDelta(existingLine.merchandise,quantityDelta),existingLine.merchandise.price?.currencyCode)};}// ============================================================================\n// HOOK IMPLEMENTATION\n// ============================================================================\n/**\n * Hook for managing cart state.\n *\n * Uses SWR for data fetching with automatic revalidation.\n * Provides optimistic updates for better UX.\n *\n * @example\n * const { cart, lines, addToCart, removeFromCart, isLoading } = useCart();\n *\n * // Add to cart\n * await addToCart({\n *   variantId: \"49725156786470\",\n *   quantity: 2,\n * });\n *\n * // Remove from cart\n * await removeFromCart(\"gid://shopify/CartLine/...\");\n */// Per-line debounce state: lives outside the hook so it persists across renders\n// Maps lineId -> { quantity, timer }\nconst pendingLineUpdates=new Map;export function useCart(){const cartRefreshTrigger=useLocalState(state=>state.cartRefreshTrigger);const{data:cart,mutate,isLoading}=useRemoteState(cartRefreshTrigger>0?[\"cart\",cartRefreshTrigger]:\"cart\",fetchCart,{revalidateOnFocus:true,dedupingInterval:2e3,revalidateOnReconnect:true,// Keep showing the previous cart data while a market-switch re-fetch is\n// in flight. Without this, the SWR key change (cart → [cart, N]) briefly\n// makes `cart` undefined, dropping totalQuantity to 0 and causing\n// CartTrigger and other cart-aware components to flash their empty states.\nkeepPreviousData:true,// Suppress background revalidation while mutations are in flight so\n// SWR doesn't overwrite the optimistic cache with stale server data.\nisPaused:()=>useLocalState.getState().pendingCartMutationCount>0});const clearCartCache=useLocalState(state=>state.clearCartCache);const pendingCartMutationCount=useLocalState(state=>state.pendingCartMutationCount);const pendingCartLineCounts=useLocalState(state=>state.pendingCartLineCounts);const startPendingCartMutation=useLocalState(state=>state.startPendingCartMutation);const finishPendingCartMutation=useLocalState(state=>state.finishPendingCartMutation);const resetPendingCartMutations=useLocalState(state=>state.resetPendingCartMutations);const lines=useMemo(()=>cart?.lines||[],[cart]);const totalQuantity=cart?.totalQuantity||0;const checkoutUrl=cart?.checkoutUrl||null;const isMutating=pendingCartMutationCount>0;const isLinePending=useCallback(lineId=>Boolean(lineId&&pendingCartLineCounts[lineId]),[pendingCartLineCounts]);const getBuyerIdentity=useCallback(()=>{const activeMarket=useLocalState.getState().activeMarket;return activeMarket?.countryCode?{countryCode:activeMarket.countryCode}:undefined;},[]);const addToCart=useCallback(async options=>{return enqueueCartMutation(async()=>{const{variantId,quantity,attributes,sellingPlanId}=options;const buyerIdentity=getBuyerIdentity();const optimisticLineId=options.optimisticLine?createOptimisticLineId(variantId):undefined;const normalizedSellingPlanId=normalizeSellingPlanId(sellingPlanId);let pendingLineIds=[];let pendingMutationStarted=false;const buildLineItem=input=>{const item={merchandiseId:toVariantGid(input.variantId),quantity:input.quantity};if(input.attributes?.length){item.attributes=input.attributes;}const normalizedPlan=normalizeSellingPlanId(input.sellingPlanId);if(normalizedPlan){item.sellingPlanId=normalizedPlan;}return item;};const lineItem=buildLineItem({variantId,quantity,attributes,sellingPlanId});const additionalLineItems=options.additionalLines?.map(buildLineItem)??[];const allLineItems=[lineItem,...additionalLineItems];try{if(shouldUsePreviewStorefrontMock()){const previewOptions={...options,optimisticLine:buildPreviewOptimisticLine({...options,optimisticLine:options.optimisticLine})};// eslint-disable-next-line no-console\nconsole.log(\"[useCart preview] addToCart start\",{mainVariantId:variantId,mainHasOptimisticLine:Boolean(options.optimisticLine),additionalLinesCount:options.additionalLines?.length??0,additionalLines:(options.additionalLines??[]).map(l=>({variantId:l.variantId,quantity:l.quantity,hasOptimisticLine:Boolean(l.optimisticLine),productId:l.productId,productGid:(l.optimisticLine?.merchandise)?.product?.id}))});let nextState=applyOptimisticAdd(getStoredPreviewCart(),previewOptions,createPreviewLineId(variantId),buyerIdentity);// Apply optimistic adds for additional lines (e.g. cross-sells)\n// so the preview cart stays consistent with the live flow. Prefer\n// a caller-provided optimisticLine (which carries real product\n// metadata so the cart list filter can match it to a CMS item)\n// and fall back to a generic preview placeholder otherwise.\nfor(const extra of options.additionalLines??[]){const extraOptions={variantId:extra.variantId,quantity:extra.quantity,attributes:extra.attributes,sellingPlanId:extra.sellingPlanId,optimisticLine:buildPreviewOptimisticLine({variantId:extra.variantId,quantity:extra.quantity,attributes:extra.attributes,sellingPlanId:extra.sellingPlanId,productId:extra.productId,optimisticLine:extra.optimisticLine})};nextState=applyOptimisticAdd(nextState.cart,extraOptions,createPreviewLineId(extra.variantId),buyerIdentity);}// eslint-disable-next-line no-console\nconsole.log(\"[useCart preview] addToCart after optimistic\",{totalQuantity:nextState.cart.totalQuantity,linesCount:nextState.cart.lines.length,lines:nextState.cart.lines.map(l=>({lineId:l.id,quantity:l.quantity,variantGid:l.merchandise?.id,productGid:l.merchandise?.product?.id,productTitle:l.merchandise?.product?.title}))});pendingLineIds=nextState.pendingLineIds;startPendingCartMutation(pendingLineIds);pendingMutationStarted=true;const previewCart=normalizePreviewCart(nextState.cart,buyerIdentity);storePreviewCart(previewCart);await mutate(previewCart,false);if(!options.skipSuccessToast){useLocalState.getState().showToast({type:\"success\",title:\"Added to cart\",eventKey:\"cart.add.success\"});}return;}await mutate(async()=>{const shopify=CartService.getClient();const existingCartId=getStoredCartId();let newCart;if(existingCartId){try{newCart=await CartService.addLines(shopify,existingCartId,allLineItems);}catch(error){if(!isMissingCartError(error)){throw error;}clearStoredCartId();newCart=await CartService.createCart(shopify,allLineItems,buyerIdentity);}}else{newCart=await CartService.createCart(shopify,allLineItems,buyerIdentity);}if(newCart){storeCartId(newCart.id);}return newCart;},{optimisticData:currentCart=>{const nextState=options.additionalLines?.length?applyBatchedOptimisticAdd(currentCart,options,optimisticLineId,buyerIdentity):applyOptimisticAdd(currentCart??null,options,optimisticLineId,buyerIdentity);pendingLineIds=nextState.pendingLineIds;startPendingCartMutation(pendingLineIds);pendingMutationStarted=true;return nextState.cart;},rollbackOnError:true,populateCache:true,revalidate:false});if(!options.skipSuccessToast){useLocalState.getState().showToast({type:\"success\",title:\"Added to cart\",eventKey:\"cart.add.success\"});}}catch(error){console.error(\"Add to cart failed:\",error);useLocalState.getState().showToast({type:\"error\",title:\"Failed to add item to cart\",description:error?.message||undefined,eventKey:\"cart.add.error\"});mutate().catch(()=>undefined);throw error;}finally{if(pendingMutationStarted){finishPendingCartMutation(pendingLineIds);}}});},[finishPendingCartMutation,getBuyerIdentity,mutate,startPendingCartMutation]);const removeFromCart=useCallback(async(lineId,restoreQuantity,options)=>{if(!lineId||lineId.startsWith(OPTIMISTIC_LINE_ID_PREFIX)){console.warn(\"Skipping removeFromCart for an optimistic line\",{lineId});return;}// Cancel any pending debounced quantity update for this line\nconst pending=pendingLineUpdates.get(lineId);if(pending){clearTimeout(pending.timer);pendingLineUpdates.delete(lineId);}return enqueueCartMutation(async()=>{if(shouldUsePreviewStorefrontMock()){startPendingCartMutation([lineId]);try{const previewCart=normalizePreviewCart(applyOptimisticRemove(getStoredPreviewCart(),lineId));storePreviewCart(previewCart);await mutate(previewCart,false);if(!options?.skipSuccessToast){useLocalState.getState().showToast({type:\"success\",title:\"Item removed\",eventKey:\"cart.remove.success\"});}}finally{finishPendingCartMutation([lineId]);}return;}const cartId=getStoredCartId();if(!cartId)return;startPendingCartMutation([lineId]);// Will be set synchronously inside optimisticData before the cache changes\nlet cartSnapshot=null;try{await mutate(async()=>{const shopify=CartService.getClient();return await CartService.removeLines(shopify,cartId,[lineId]);},{optimisticData:currentCart=>{// Capture before applyOptimisticRemove changes the cart\ncartSnapshot=currentCart??null;return applyOptimisticRemove(currentCart??null,lineId);},rollbackOnError:false,populateCache:true,revalidate:false});if(!options?.skipSuccessToast){useLocalState.getState().showToast({type:\"success\",title:\"Item removed\",eventKey:\"cart.remove.success\"});}}catch(error){console.error(\"Remove from cart failed:\",error);useLocalState.getState().showToast({type:\"error\",title:\"Failed to remove item\",description:error?.message||undefined,eventKey:\"cart.remove.error\"});// Restore the pre-remove cart. If restoreQuantity is provided (rapid\n// decrement path), patch the line back to that quantity — the snapshot\n// may already have an optimistically-decremented value from prior clicks.\nif(restoreQuantity!==undefined&&cartSnapshot){mutate(applyOptimisticQuantityUpdate(cartSnapshot,lineId,restoreQuantity),false);}else{mutate(cartSnapshot,false);}throw error;}finally{finishPendingCartMutation([lineId]);}});},[finishPendingCartMutation,mutate,startPendingCartMutation]);const commitLineUpdate=useCallback(async(lineId,quantity,previousQuantity)=>{if(shouldUsePreviewStorefrontMock()){startPendingCartMutation([lineId]);try{const previewCart=normalizePreviewCart(applyOptimisticQuantityUpdate(getStoredPreviewCart(),lineId,quantity));storePreviewCart(previewCart);await mutate(previewCart,false);useLocalState.getState().showToast({type:\"success\",title:\"Quantity updated\",eventKey:\"cart.update.success\"});}finally{finishPendingCartMutation([lineId]);}return;}const cartId=getStoredCartId();if(!cartId||!lineId)return;startPendingCartMutation([lineId]);try{await mutate(async()=>{const shopify=CartService.getClient();return await CartService.updateLines(shopify,cartId,[{id:lineId,quantity}]);},{optimisticData:currentCart=>applyOptimisticQuantityUpdate(currentCart??null,lineId,quantity),rollbackOnError:false,populateCache:true,revalidate:false});useLocalState.getState().showToast({type:\"success\",title:\"Quantity updated\",eventKey:\"cart.update.success\"});}catch(error){console.error(\"Update line quantity failed:\",error);useLocalState.getState().showToast({type:\"error\",title:\"Failed to update quantity\",description:error?.message||undefined,eventKey:\"cart.update.error\"});// Revert to the quantity the line had before the user's interaction.\n// rollbackOnError is off so only this single controlled revert fires.\nmutate(currentCart=>applyOptimisticQuantityUpdate(currentCart??null,lineId,previousQuantity),false);throw error;}finally{finishPendingCartMutation([lineId]);}},[finishPendingCartMutation,mutate,startPendingCartMutation]);const updateLineQuantity=useCallback(options=>{const{lineId,quantity}=options;if(quantity<=0){// Cancel pending debounce and pass the current cache quantity as the\n// restore target. The cache already reflects prior optimistic decrements,\n// so on network failure removeFromCart will patch the line back to this\n// value rather than the snapshot (which would be qty=0 after the remove).\nconst existing=pendingLineUpdates.get(lineId);const restoreQuantity=cart?.lines.find(l=>l.id===lineId)?.quantity??existing?.quantity??1;if(existing){clearTimeout(existing.timer);pendingLineUpdates.delete(lineId);}return removeFromCart(lineId,restoreQuantity,undefined);}if(!lineId||lineId.startsWith(OPTIMISTIC_LINE_ID_PREFIX)){console.warn(\"Skipping updateLineQuantity for an optimistic line\",{lineId});return Promise.resolve();}// Capture previous quantity before the optimistic update changes the cache\nconst previousQuantity=cart?.lines.find(l=>l.id===lineId)?.quantity??quantity;// Apply optimistic UI update immediately so the counter feels instant\nmutate(currentCart=>applyOptimisticQuantityUpdate(currentCart??null,lineId,quantity),false);// Debounce: cancel previous timer for this line and schedule a new one\nconst existing=pendingLineUpdates.get(lineId);if(existing)clearTimeout(existing.timer);return new Promise((resolve,reject)=>{const timer=setTimeout(()=>{pendingLineUpdates.delete(lineId);enqueueCartMutation(()=>commitLineUpdate(lineId,quantity,previousQuantity).then(resolve,reject));},400);pendingLineUpdates.set(lineId,{quantity,timer});});},[commitLineUpdate,mutate,removeFromCart]);const getLineByVariantId=useCallback(variantId=>{const normalizedId=toVariantGid(variantId);return lines.find(line=>line.merchandise.id===normalizedId)||null;},[lines]);const isVariantInCart=useCallback(variantId=>getLineByVariantId(variantId)!==null,[getLineByVariantId]);const getQuantityInCart=useCallback(variantId=>getLineByVariantId(variantId)?.quantity||0,[getLineByVariantId]);const refresh=useCallback(async()=>{if(shouldUsePreviewStorefrontMock()){await mutate(getStoredPreviewCart(),false);return;}await mutate();},[mutate]);const clearCart=useCallback(async()=>{clearStoredCartId();clearStoredPreviewCart();clearCartCache();resetPendingCartMutations();await mutate(null,false);},[clearCartCache,mutate,resetPendingCartMutations]);return{cart,lines,isLoading,isMutating,totalQuantity,checkoutUrl,addToCart,removeFromCart,updateLineQuantity,getLineByVariantId,isVariantInCart,getQuantityInCart,isLinePending,refresh,clearCart};}\nexport const __FramerMetadata__ = {\"exports\":{\"AddToCartOptions\":{\"type\":\"tsType\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"useCart\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"AddToCartLineInput\":{\"type\":\"tsType\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"UseCartReturn\":{\"type\":\"tsType\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"OptimisticCartLineInput\":{\"type\":\"tsType\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"UpdateLineOptions\":{\"type\":\"tsType\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}","/*\n * Framer Commerce\n * Confidential and Proprietary - All Rights Reserved\n *\n * © 2025 Butter Supply Inc. All Rights Reserved.\n */import{useCallback,useEffect,useRef}from\"react\";import{useLocalState}from\"https://framerusercontent.com/modules/xYDZCCqEBzGd7zfHzUX5/cLuhs5H2O0tFIwBfaQKt/useLocalState.js\";// ============================================================================\n// HOOK: useCartModal\n// ============================================================================\n/**\n * Hook for triggering the cart modal/drawer from anywhere in the app.\n *\n * Uses Zustand global state for cross-component communication.\n * No custom DOM events needed - just pure React state.\n *\n * @example\n * // In Butter_ProductPurchaseButton or any component\n * const { openCart } = useCartModal();\n *\n * // Trigger cart after adding item\n * await addToCart(options);\n * openCart();\n */export function useCartModal(){const triggerCartModal=useLocalState(state=>state.triggerCartModal);const openCart=useCallback(()=>{triggerCartModal();},[triggerCartModal]);return{openCart};}// ============================================================================\n// HOOK: useCartModalListener\n// ============================================================================\n/**\n * Hook for listening to cart modal open triggers.\n * Used by Butter_CartTrigger to react when cart should open.\n *\n * Uses a counter-based approach: each call to openCart() increments the counter,\n * and this hook detects the change and fires the callback.\n *\n * @example\n * // In Butter_CartTrigger\n * useCartModalListener({\n *   onOpen: () => triggerShopifyCartModal(),\n * });\n */export function useCartModalListener(options){const{onOpen}=options;const cartModalTrigger=useLocalState(state=>state.cartModalTrigger);const prevTriggerRef=useRef(cartModalTrigger);const isFirstRender=useRef(true);useEffect(()=>{// Skip the first render to avoid opening on mount\nif(isFirstRender.current){isFirstRender.current=false;prevTriggerRef.current=cartModalTrigger;return;}// Only trigger if the value changed (increment happened)\nif(cartModalTrigger!==prevTriggerRef.current){prevTriggerRef.current=cartModalTrigger;onOpen();}},[cartModalTrigger,onOpen]);}\nexport const __FramerMetadata__ = {\"exports\":{\"useCartModal\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"UseCartModalListenerOptions\":{\"type\":\"tsType\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"useCartModalListener\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"UseCartModalReturn\":{\"type\":\"tsType\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}","export const getCurrentLanguage=()=>{if(typeof window===\"undefined\")return\"en\";// First check URL path for language\nconst pathname=window.location.pathname;const pathSegments=pathname.split(\"/\").filter(Boolean);const validLanguages=[// Basic language codes\n\"ar\",\"bg\",\"bn\",\"cs\",\"da\",\"de\",\"el\",\"en\",\"es\",\"fi\",\"fr\",\"he\",\"hi\",\"hr\",\"hu\",\"id\",\"it\",\"ja\",\"ko\",\"lt\",\"ms\",\"nb\",\"nl\",\"pl\",\"ro\",\"ru\",\"sk\",\"sl\",\"sr\",\"sv\",\"ta\",\"th\",\"tr\",\"uk\",\"vi\",// Region-specific language codes\n\"pt-BR\",\"pt-PT\",\"zh-CN\",\"zh-TW\"];// Helper function to normalize language codes\nconst normalizeLanguageCode=code=>{const lowerCode=code.toLowerCase();// Special handling for region-specific codes\nif(lowerCode===\"pt\"||lowerCode.startsWith(\"pt-\")){// Default Portuguese to Brazilian Portuguese if no specific region\nif(lowerCode.length===2)return\"pt-BR\";// Preserve uppercase region codes for Portuguese\nconst region=code.substring(3).toUpperCase();return`pt-${region}`;}if(lowerCode===\"zh\"||lowerCode.startsWith(\"zh-\")){// Default Chinese to Simplified Chinese if no specific region\nif(lowerCode.length===2)return\"zh-CN\";// Preserve uppercase region codes for Chinese\nconst region=code.substring(3).toUpperCase();return`zh-${region}`;}// For basic language codes, return lowercase\nreturn lowerCode;};// Check if the first path segment is a valid language code\nif(pathSegments[0]){const normalizedCode=normalizeLanguageCode(pathSegments[0]);if(validLanguages.includes(normalizedCode)){return normalizedCode;}}// Then check sessionStorage for checkoutLocale\nconst sessionStorageLocale=sessionStorage.getItem(\"checkoutLocale\");if(sessionStorageLocale){const normalizedLocale=normalizeLanguageCode(sessionStorageLocale);if(validLanguages.includes(normalizedLocale)){return normalizedLocale;}}// Then check localStorage for checkoutLocale\nconst localStorageLocale=localStorage.getItem(\"checkoutLocale\");if(localStorageLocale){const normalizedLocale=normalizeLanguageCode(localStorageLocale);if(validLanguages.includes(normalizedLocale)){return normalizedLocale;}}// Then check if we have a default language set in the window config\nif(window.__FcCheckoutConfigs?.locale){const configLocale=normalizeLanguageCode(window.__FcCheckoutConfigs.locale);if(validLanguages.includes(configLocale)){return configLocale;}}return\"en\";};export const appendLanguageToUrl=url=>{if(!url)return url;try{const urlObj=new URL(url);const currentLang=getCurrentLanguage();urlObj.searchParams.delete(\"locale\");urlObj.searchParams.append(\"locale\",currentLang);return urlObj.toString();}catch(error){console.error(\"Error in appendLanguageToUrl:\",error);return url;}};// Helper function to map country code to appropriate locale\nexport const getLocaleFromCountry=countryCode=>{// Default fallback locale\nif(!countryCode)return undefined;// Common country code to locale mappings\nconst countryToLocale={// North America\nUS:\"en-US\",CA:\"en-CA\",QC:\"fr-CA\",// Europe\nGB:\"en-GB\",FR:\"fr-FR\",DE:\"de-DE\",IT:\"it-IT\",ES:\"es-ES\",PT:\"pt-PT\",NL:\"nl-NL\",BE:\"fr-BE\",LU:\"fr-LU\",CH:\"de-CH\",AT:\"de-AT\",SE:\"sv-SE\",NO:\"nb-NO\",DK:\"da-DK\",FI:\"fi-FI\",PL:\"pl-PL\",CZ:\"cs-CZ\",HU:\"hu-HU\",RU:\"ru-RU\",// Asia Pacific\nCN:\"zh-CN\",JP:\"ja-JP\",KR:\"ko-KR\",IN:\"en-IN\",AU:\"en-AU\",NZ:\"en-NZ\",// Latin America\nMX:\"es-MX\",BR:\"pt-BR\",AR:\"es-AR\",CL:\"es-CL\",CO:\"es-CO\",PE:\"es-PE\",// Middle East & Africa\nAE:\"ar-AE\",SA:\"ar-SA\",ZA:\"en-ZA\",IL:\"he-IL\"};return countryToLocale[countryCode]||undefined;};\nexport const __FramerMetadata__ = {\"exports\":{\"appendLanguageToUrl\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"getCurrentLanguage\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"getLocaleFromCountry\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./locales.map","import{ensureBixGrowAffiliateParamsInUrl}from\"https://framerusercontent.com/modules/yXt2ErvWdbc9E71wHprv/Y5C4Kq4hInoaUvtml0x5/useUrlState.js\";import{appendLanguageToUrl}from\"https://framerusercontent.com/modules/jF9fkcHYJkUsIOV0Ar1E/PFLCXtuND1o8evAGfKxE/locales.js\";// Cookie utility functions\nfunction setCookie(name,value,days=30){const date=new Date;date.setTime(date.getTime()+days*24*60*60*1e3);const expires=`expires=${date.toUTCString()}`;// Remove SameSite=Lax and add secure flag if on HTTPS\nconst secure=window.location.protocol===\"https:\"?\";secure\":\"\";document.cookie=`${name}=${value};${expires};path=/${secure}`;}function getCookie(name){const nameEQ=`${name}=`;const ca=document.cookie.split(\";\");for(let i=0;i<ca.length;i++){let c=ca[i];while(c.charAt(0)===\" \")c=c.substring(1);if(c.indexOf(nameEQ)===0)return c.substring(nameEQ.length,c.length);}return null;}function deleteCookie(name){setCookie(name,\"\",-1);}export function getUTMParameters(){if(typeof window===\"undefined\")return{};// Runs on most storefront pages (this module is widely imported); ensures\n// BixGrow UTMs are present even when useUrlState never loads.\nensureBixGrowAffiliateParamsInUrl();const urlParams=new URLSearchParams(window.location.search);const utmParams={};const utmKeys=[\"utm_source\",\"utm_medium\",\"utm_campaign\",\"utm_term\",\"utm_content\"];utmKeys.forEach(key=>{const value=urlParams.get(key);if(value){utmParams[key]=value;}});// Store UTM params in cookies if we have any\nif(Object.keys(utmParams).length>0){try{// Store each UTM parameter as a separate cookie\nObject.entries(utmParams).forEach(([key,value])=>{setCookie(key,value);});// Also store as a single JSON object for Shopify\nsetCookie(\"_shopify_utm\",JSON.stringify(utmParams));window.utmParams=utmParams;}catch(error){console.error(\"Error storing UTM parameters:\",error);}}return utmParams;}export function getSCARefParameters(){const urlParams=new URLSearchParams(window.location.search);const scaRefParams={};const scaRefKeys=[\"sca_ref\",\"sca_source\",\"sca_medium\",\"sca_campaign\",\"sca_term\",\"sca_content\"];scaRefKeys.forEach(key=>{const value=urlParams.get(key);if(value){scaRefParams[key]=value;}});// Store SCA ref params in cookies if we have any\nif(Object.keys(scaRefParams).length>0){try{// Store each SCA ref parameter as a separate cookie\nObject.entries(scaRefParams).forEach(([key,value])=>{setCookie(key,value);});// Also store as a single JSON object for Shopify\nsetCookie(\"_shopify_sca_ref\",JSON.stringify(scaRefParams));window.scaRefParams=scaRefParams;}catch(error){console.error(\"Error storing SCA ref parameters:\",error);}}return scaRefParams;}export function getStoredUTMParameters(){// First try to get from window object (for current session)\nif(window.utmParams&&Object.keys(window.utmParams).length>0){return window.utmParams;}// Then try to get from cookies\ntry{// First try to get from Shopify's format\nconst shopifyUtm=getCookie(\"_shopify_utm\");if(shopifyUtm){try{const parsedParams=JSON.parse(shopifyUtm);window.utmParams=parsedParams;return parsedParams;}catch(e){console.error(\"Error parsing Shopify UTM params:\",e);}}// Fallback to individual cookies\nconst utmParams={};const utmKeys=[\"utm_source\",\"utm_medium\",\"utm_campaign\",\"utm_term\",\"utm_content\"];utmKeys.forEach(key=>{const value=getCookie(key);if(value){utmParams[key]=value;}});if(Object.keys(utmParams).length>0){// Also set on window for easy access\nwindow.utmParams=utmParams;return utmParams;}}catch(error){console.error(\"Error retrieving stored UTM parameters:\",error);}return{};}export function getStoredSCARefParameters(){// First try to get from window object (for current session)\nif(window.scaRefParams&&Object.keys(window.scaRefParams).length>0){return window.scaRefParams;}// Then try to get from cookies\ntry{// First try to get from Shopify's format\nconst shopifyScaRef=getCookie(\"_shopify_sca_ref\");if(shopifyScaRef){try{const parsedParams=JSON.parse(shopifyScaRef);window.scaRefParams=parsedParams;return parsedParams;}catch(e){console.error(\"Error parsing Shopify SCA ref params:\",e);}}// Fallback to individual cookies\nconst scaRefParams={};const scaRefKeys=[\"sca_ref\",\"sca_source\",\"sca_medium\",\"sca_campaign\",\"sca_term\",\"sca_content\"];scaRefKeys.forEach(key=>{const value=getCookie(key);if(value){scaRefParams[key]=value;}});if(Object.keys(scaRefParams).length>0){// Also set on window for easy access\nwindow.scaRefParams=scaRefParams;return scaRefParams;}}catch(error){console.error(\"Error retrieving stored SCA ref parameters:\",error);}return{};}export function appendUTMParamsToUrl(checkoutUrl){if(!checkoutUrl)return checkoutUrl;// Get UTM params from cookies instead of current URL\nconst utmParams=getStoredUTMParameters();// If no stored UTM params, check current URL as fallback\nif(Object.keys(utmParams).length===0){getUTMParameters();// This will store them if present\n}// Get the (potentially) updated UTM params\nconst finalUtmParams=getStoredUTMParameters();if(Object.keys(finalUtmParams).length>0){try{const url=new URL(checkoutUrl);// Add UTM parameters to the URL\nObject.keys(finalUtmParams).forEach(key=>{// Only append if the parameter doesn't already exist in the URL\nif(!url.searchParams.has(key)){url.searchParams.append(key,finalUtmParams[key]);}});const finalUrl=url.toString();return finalUrl;}catch(error){console.error(\"Error appending UTM params to URL:\",error);return checkoutUrl;}}return checkoutUrl;}export function appendSCARefParamsToUrl(checkoutUrl){if(!checkoutUrl)return checkoutUrl;// Get SCA ref params from cookies instead of current URL\nconst scaRefParams=getStoredSCARefParameters();// If no stored SCA ref params, check current URL as fallback\nif(Object.keys(scaRefParams).length===0){getSCARefParameters();// This will store them if present\n}// Get the (potentially) updated SCA ref params\nconst finalScaRefParams=getStoredSCARefParameters();if(Object.keys(finalScaRefParams).length>0){try{const url=new URL(checkoutUrl);// Add SCA ref parameters to the URL\nObject.keys(finalScaRefParams).forEach(key=>{// Only append if the parameter doesn't already exist in the URL\nif(!url.searchParams.has(key)){url.searchParams.append(key,finalScaRefParams[key]);}});const finalUrl=url.toString();return finalUrl;}catch(error){console.error(\"Error appending SCA ref params to URL:\",error);return checkoutUrl;}}return checkoutUrl;}export function appendAllTrackingParamsToUrl(checkoutUrl){if(!checkoutUrl)return checkoutUrl;let finalUrl=checkoutUrl;// Append UTM parameters\nfinalUrl=appendUTMParamsToUrl(finalUrl);// Append SCA ref parameters\nfinalUrl=appendSCARefParamsToUrl(finalUrl);return finalUrl;}/** Discount query param from the current URL (search or hash). */export function getDiscountCode(){if(typeof window===\"undefined\")return null;try{const search=new URLSearchParams(window.location.search).get(\"discount\");if(search)return search;const hash=window.location.hash.includes(\"?\")?new URLSearchParams(window.location.hash.split(\"?\")[1]||\"\"):null;return hash?.get(\"discount\")||null;}catch{return null;}}/** Optional persisted discount code (Framer Commerce / theme keys). */export function getStoredDiscountCode(){if(typeof window===\"undefined\")return null;try{return localStorage.getItem(\"fc_discount_code\")||localStorage.getItem(\"discount_code\")||null;}catch{return null;}}// ---------------------------------------------------------------------------\n// GA cross-domain + tracking params: single async entry point for checkout URLs\n// ---------------------------------------------------------------------------\nconst GA_CLIENT_ID_TIMEOUT_MS=500;function appendGAClientId(url){return new Promise(resolve=>{if(typeof window===\"undefined\"||typeof window.gtag!==\"function\"||!window.googleAnalyticsId){resolve(url);return;}const timeout=setTimeout(()=>resolve(url),GA_CLIENT_ID_TIMEOUT_MS);window.gtag(\"get\",window.googleAnalyticsId,\"client_id\",clientId=>{clearTimeout(timeout);if(!clientId){resolve(url);return;}try{const parsed=new URL(url);if(!parsed.searchParams.has(\"_ga\")){parsed.searchParams.set(\"_ga\",clientId);}resolve(parsed.toString());}catch{resolve(url);}});});}/**\n * Build a checkout-ready URL by appending the GA client ID (cross-domain),\n * UTM / SCA tracking parameters, and the checkout locale — in that order.\n */export async function buildFinalCheckoutUrl(rawUrl){if(!rawUrl)return rawUrl;let url=rawUrl;url=await appendGAClientId(url);url=appendAllTrackingParamsToUrl(url);url=appendLanguageToUrl(url);return url;}// Initialize UTM and SCA ref parameters tracking when this module loads\nif(typeof window!==\"undefined\"){// Add a listener for when the DOM is fully loaded\nif(document.readyState===\"complete\"){getUTMParameters();// Document already loaded, capture UTMs now\ngetSCARefParameters();// Document already loaded, capture SCA refs now\n}else{window.addEventListener(\"load\",()=>{getUTMParameters();getSCARefParameters();});}}\nexport const __FramerMetadata__ = {\"exports\":{\"buildFinalCheckoutUrl\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"appendAllTrackingParamsToUrl\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"getStoredUTMParameters\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"appendUTMParamsToUrl\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"getDiscountCode\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"getStoredSCARefParameters\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"getSCARefParameters\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"getUTMParameters\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"appendSCARefParamsToUrl\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"getStoredDiscountCode\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./utmParams.map","/*\n * Framer Commerce\n * Confidential and Proprietary - All Rights Reserved\n */// Utility function to clean Shopify GID to just the numeric ID\nconst cleanShopifyId=gid=>gid?.split(\"/\").pop()||\"\";/**\n * Check if marketing consent is granted\n * Uses the global FCConsentManager if available\n */const checkMarketingConsent=()=>{if(typeof window!==\"undefined\"&&window.FCConsentManager){const consent=window.FCConsentManager.getConsent();// Check marketing consent from the consent manager\nreturn consent.marketing===true;}// No FCConsentManager = allow tracking (Framer's approach)\n// Pass the GDPR compliance decision to the project owner\nreturn true;};// Standardized Facebook Pixel AddToCart tracking function\nexport const trackFacebookPixelAddToCart=data=>{// Check consent before tracking\nif(!checkMarketingConsent()){// Silently skip tracking - no consent\nreturn;}if(typeof fbq!==\"function\"){console.warn(\"Facebook Pixel not available\");return;}const{variant,product,quantity=1,currency=\"USD\"}=data;if(!variant||!product){console.warn(\"Missing variant or product data for Facebook Pixel tracking\");return;}const item_id=cleanShopifyId(variant.id);const item_name=product.title||\"\";const item_variant=variant.title||\"\";const price=parseFloat(variant.price?.amount||\"0\");const value=price*quantity;const finalCurrency=variant.price?.currencyCode||currency;// Validate required data\nif(!item_id||!item_name||price<=0){console.warn(\"❌ Skipping Facebook Pixel AddToCart: missing required data\",{item_id,item_name,price,value});return;}const fbqData={content_type:\"product\",content_ids:[item_id],content_name:item_name,content_category:product.productType||\"\",content_brand:product.vendor||\"\",value:parseFloat(value.toFixed(2)),currency:finalCurrency,contents:[{id:item_id,price:parseFloat(price.toFixed(2)),quantity:parseInt(quantity.toString())}]};// console.log('[Facebook Pixel] Firing AddToCart', item_id, item_name);\n// console.log('[Facebook Pixel] AddToCart with data:', fbqData);\n// console.log('[Facebook Pixel] AddToCart timestamp:', new Date().toISOString());\nfbq(\"track\",\"AddToCart\",fbqData,{eventID:\"addtocart_\"+Date.now()});};// Standardized Facebook Pixel InitiateCheckout tracking function\nexport const trackFacebookPixelInitiateCheckout=data=>{// Check consent before tracking\nif(!checkMarketingConsent()){// Silently skip tracking - no consent\nreturn;}if(typeof fbq!==\"function\"){console.warn(\"Facebook Pixel not available\");return;}const{variant,product,quantity=1,currency=\"USD\",value:providedValue,content_ids:providedContentIds,content_name:providedContentName,num_items:providedNumItems}=data;let fbqData={content_type:\"product\",currency:currency};// If we have variant and product data, calculate from them\nif(variant&&product){const item_id=cleanShopifyId(variant.id);const item_name=product.title||\"\";const price=parseFloat(variant.price?.amount||\"0\");const calculatedValue=price*quantity;const finalCurrency=variant.price?.currencyCode||currency;// Validate required data\nif(!item_id||!item_name||price<=0){console.warn(\"❌ Skipping Facebook Pixel InitiateCheckout: missing required data\",{item_id,item_name,price,calculatedValue});return;}fbqData={content_type:\"product\",content_ids:[item_id],content_name:item_name,content_category:product.productType||\"\",content_brand:product.vendor||\"\",value:parseFloat(calculatedValue.toFixed(2)),currency:finalCurrency,num_items:parseInt(quantity.toString())};}else if(providedContentIds&&providedValue!==undefined){// Ensure providedValue is a valid number\nconst numericValue=typeof providedValue===\"number\"?providedValue:parseFloat(providedValue)||0;fbqData={content_type:\"product\",content_ids:providedContentIds,content_name:providedContentName||\"Checkout\",value:parseFloat(numericValue.toFixed(2)),currency:currency,num_items:parseInt((providedNumItems||1).toString())};}else{console.warn(\"❌ Skipping Facebook Pixel InitiateCheckout: insufficient data\",data);return;}// console.log('[Facebook Pixel] Firing InitiateCheckout', fbqData.content_ids?.[0], fbqData.content_name);\n// console.log('[Facebook Pixel] InitiateCheckout with data:', fbqData);\n// console.log('[Facebook Pixel] InitiateCheckout timestamp:', new Date().toISOString());\n// Use sendBeacon if requested, otherwise use regular tracking\nconst eventOptions={eventID:\"initiatecheckout_\"+Date.now()};if(data.useBeacon){fbq(\"track\",\"InitiateCheckout\",fbqData,{...eventOptions,transport:\"beacon\"});}else{fbq(\"track\",\"InitiateCheckout\",fbqData,eventOptions);}};// Standardized Facebook Pixel RemoveFromCart tracking function\nexport const trackFacebookPixelRemoveFromCart=data=>{// Check consent before tracking\nif(!checkMarketingConsent()){// Silently skip tracking - no consent\nreturn;}if(typeof fbq!==\"function\"){console.warn(\"Facebook Pixel not available\");return;}const{lineItem,currency=\"USD\"}=data;if(!lineItem){console.warn(\"Missing lineItem data for Facebook Pixel RemoveFromCart tracking\");return;}const item_id=cleanShopifyId(lineItem.merchandise.id);const item_name=lineItem.merchandise.product?.title||\"\";const item_variant=lineItem.merchandise.title||\"\";const price=parseFloat(lineItem.cost.subtotalAmount.amount||\"0\");const quantity=lineItem.quantity||1;const value=price*quantity;const finalCurrency=lineItem.cost.subtotalAmount.currencyCode||currency;// Validate required data\nif(!item_id||!item_name||price<=0){console.warn(\"❌ Skipping Facebook Pixel RemoveFromCart: missing required data\",{item_id,item_name,price,value,quantity});return;}const fbqData={content_type:\"product\",content_ids:[item_id],content_name:item_name,content_category:lineItem.merchandise.product?.productType||\"\",content_brand:lineItem.merchandise.product?.vendor||\"\",value:parseFloat(value.toFixed(2)),currency:finalCurrency,contents:[{id:item_id,price:parseFloat(price.toFixed(2)),quantity:parseInt(quantity.toString())}]};// console.log('[Facebook Pixel] Firing RemoveFromCart with data:', fbqData);\nfbq(\"track\",\"RemoveFromCart\",fbqData,{eventID:\"removefromcart_\"+Date.now()});};// Standardized Facebook Pixel ViewContent tracking function\nexport const trackFacebookPixelViewContent=data=>{// Check consent before tracking\nif(!checkMarketingConsent()){// Silently skip tracking - no consent\nreturn;}if(typeof fbq!==\"function\"){console.warn(\"Facebook Pixel not available\");return;}const{variant,product,currency=\"USD\"}=data;if(!product){console.warn(\"Missing product data for Facebook Pixel ViewContent tracking\");return;}const item_id=variant?cleanShopifyId(variant.id):cleanShopifyId(product.id);const item_name=product.title||\"\";const item_variant=variant?.title||\"\";const price=variant?parseFloat(variant.price?.amount||\"0\"):parseFloat(product.priceRange?.minVariantPrice?.amount||\"0\");const finalCurrency=variant?.price?.currencyCode||product.priceRange?.minVariantPrice?.currencyCode||currency;// Validate required data\nif(!item_id||!item_name||price<=0){console.warn(\"❌ Skipping Facebook Pixel ViewContent: missing required data\",{item_id,item_name,price});return;}const fbqData={content_type:\"product\",content_ids:[item_id],content_name:item_name,content_category:product.productType||\"\",content_brand:product.vendor||\"\",value:parseFloat(price.toFixed(2)),currency:finalCurrency};// console.log('[Facebook Pixel] Firing ViewContent with data:', fbqData);\nfbq(\"track\",\"ViewContent\",fbqData,{eventID:\"viewcontent_\"+Date.now()});};export default function Fb_pixel(facebookPixelId){!function(f,b,e,v,n,t,s){if(f.fbq)return;n=f.fbq=function(){n.callMethod?n.callMethod.apply(n,arguments):n.queue.push(arguments);};if(!f._fbq)f._fbq=n;n.push=n;n.loaded=!0;n.version=\"2.0\";n.queue=[];t=b.createElement(e);t.async=!0;t.src=v;// Add onload and onerror event handlers\nt.onload=()=>{if(typeof fbq!==\"undefined\"){fbq(\"init\",facebookPixelId);fbq(\"track\",\"PageView\");}else{// Handle case where fbq is not defined\n}};t.onerror=()=>{// Handle Facebook Pixel script load failure\n};s=b.getElementsByTagName(e)[0];s.parentNode.insertBefore(t,s);}(window,document,\"script\",\"https://connect.facebook.net/en_US/fbevents.js\");}\nexport const __FramerMetadata__ = {\"exports\":{\"trackFacebookPixelInitiateCheckout\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"trackFacebookPixelRemoveFromCart\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"trackFacebookPixelViewContent\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"trackFacebookPixelAddToCart\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"default\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./Fb_pixel.map","/*\n * Framer Commerce\n * Confidential and Proprietary - All Rights Reserved\n *\n * © 2025 Butter Supply Inc. All Rights Reserved.\n */// ============================================================================\n// TYPE DEFINITIONS\n// ============================================================================\n// ============================================================================\n// CONFIG READER\n// ============================================================================\nexport function getPriceSourceConfig(){const fc=typeof window!==\"undefined\"?window.butterConfig:null;return{priceSource:fc?.priceSource||\"hybrid\",defaultMarket:fc?.defaultMarket||\"US\"};}// ============================================================================\n// PRICE SOURCE RESOLVER\n// ============================================================================\n/**\n * Resolves the effective price mode to \"cms\" or \"dynamic\".\n *\n * - Canvas/preview always returns \"cms\" (CMS data only).\n * - \"cms\" / \"dynamic\" settings pass through directly.\n * - \"hybrid\" (default) compares the active market's country against the\n *   configured default market: match = \"cms\", mismatch = \"dynamic\".\n *\n * @param activeCountryCode - The visitor's resolved country code (e.g. \"US\", \"CH\")\n * @param isCanvas          - Whether the component is rendering in Framer canvas/preview\n */export function resolvePriceSource(activeCountryCode,isCanvas){if(isCanvas)return\"cms\";const{priceSource,defaultMarket}=getPriceSourceConfig();if(priceSource===\"cms\")return\"cms\";if(priceSource===\"dynamic\")return\"dynamic\";// Hybrid: default market uses CMS, everything else fetches dynamic prices\nconst defaultCountry=defaultMarket.split(\"-\")[0].toUpperCase();return activeCountryCode.toUpperCase()===defaultCountry?\"cms\":\"dynamic\";}\nexport const __FramerMetadata__ = {\"exports\":{\"PriceSourceConfig\":{\"type\":\"tsType\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"PriceSourceSetting\":{\"type\":\"tsType\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"PriceSourceMode\":{\"type\":\"tsType\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"resolvePriceSource\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"getPriceSourceConfig\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./priceSource.map","/*\n * Framer Commerce\n * Confidential and Proprietary - All Rights Reserved\n *\n * © 2025 Butter Supply Inc. All Rights Reserved.\n */import React from\"react\";// ============================================================================\n// deepCloneWithPrefix\n// ============================================================================\n/**\n * Recursively clones a React element tree, prefixing every key and layoutId\n * with a unique string. This ensures that two instances of the same CMS\n * template (e.g. same product, different variants) are fully isolated from\n * each other in Framer's layout-animation and reconciliation systems.\n *\n * Uses cloneElement — preserves Framer features but scopes them per instance.\n */export function deepCloneWithPrefix(node,prefix){if(!/*#__PURE__*/React.isValidElement(node))return node;const props=node.props;const overrides={key:`${prefix}::${node.key??\"\"}`};if(props.layoutId!=null){overrides.layoutId=`${prefix}::${props.layoutId}`;}if(props.id!=null){overrides.id=`${prefix}::${props.id}`;}const{children}=props;if(children!=null){if(Array.isArray(children)){overrides.children=children.map(child=>deepCloneWithPrefix(child,prefix));}else if(/*#__PURE__*/React.isValidElement(children)){overrides.children=deepCloneWithPrefix(children,prefix);}}return /*#__PURE__*/React.cloneElement(node,overrides);}// ============================================================================\n// recreateElement\n// ============================================================================\nlet _recreateCounter=0;/**\n * Deeply recreate an element tree using React.createElement instead of\n * cloneElement, severing all shared identity/fiber references from the\n * original Framer component instance. Framer tracks element instances\n * internally and cloneElement preserves that identity, causing duplicate\n * clones to collapse into one on first render.\n *\n * Strips all Framer-internal `__` prefixed props and `layoutId`.\n * Use when multiple clones of the same base component must render\n * independently (e.g. selling plan radio buttons).\n */export function recreateElement(element){if(!element)return element;if(typeof element===\"string\"||typeof element===\"number\")return element;if(!/*#__PURE__*/React.isValidElement(element))return element;const{children,key,...restProps}=element.props;const cleanProps={};for(const[k,v]of Object.entries(restProps)){if(k.startsWith(\"__\"))continue;if(k===\"layoutId\")continue;cleanProps[k]=v;}cleanProps.key=`fc-recreated-${++_recreateCounter}`;let newChildren;if(Array.isArray(children)){newChildren=children.map(child=>recreateElement(child));}else if(/*#__PURE__*/React.isValidElement(children)){newChildren=recreateElement(children);}else{newChildren=children;}return /*#__PURE__*/React.createElement(element.type,cleanProps,newChildren);}// ============================================================================\n// sanitizeChildrenRecursively\n// ============================================================================\n/**\n * Recursively sanitizes a React element tree by disabling Framer's internal\n * motion props. Prevents layout animation flickers and re-renders when\n * cloning Framer component instances for state transitions (e.g. purchase\n * button loading/available/OOS states).\n *\n * Uses cloneElement — preserves element identity but detaches from Framer's\n * motion and scope systems.\n */export function sanitizeChildrenRecursively(node){if(!/*#__PURE__*/React.isValidElement(node))return node;const sanitizedProps={...node.props,rendersWithMotion:false,layoutId:undefined,scopeId:undefined};if(node.props.children){sanitizedProps.children=React.Children.map(node.props.children,sanitizeChildrenRecursively);}return /*#__PURE__*/React.cloneElement(node,sanitizedProps);}\nexport const __FramerMetadata__ = {\"exports\":{\"recreateElement\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"sanitizeChildrenRecursively\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"deepCloneWithPrefix\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./elementCloning.map","/*\n * Framer Commerce\n * Confidential and Proprietary - All Rights Reserved\n *\n * © 2025 Butter Supply Inc. All Rights Reserved.\n *//**\n * GA4 item_id helpers — match the format Shopify's Google + YouTube app\n * uses on the checkout side (`shopify_<COUNTRY>_<PRODUCT>_<VARIANT>`).\n *\n * Why this matters: when Framer fires `view_item`/`add_to_cart`/`view_cart`\n * with one item_id format and Shopify fires `begin_checkout`/`purchase`\n * with another, GA4 reports the same product as two distinct items —\n * silently breaking top-sellers, item conversion rate, item-list CTR,\n * and per-product purchase funnels. Standardizing on the Shopify-namespaced\n * format here keeps both sides aligned on a single product identity.\n */const cleanGid=gid=>gid&&typeof gid===\"string\"&&gid.includes(\"/\")?gid.split(\"/\").pop()||\"\":gid||\"\";/**\n * Build a Shopify-namespaced GA4 item_id that matches the Shopify\n * Google + YouTube app's format: `shopify_<COUNTRY>_<PRODUCT>_<VARIANT>`.\n *\n * Falls back to the bare variant ID if either product or variant is missing.\n * `countryCode` defaults to 'US' when not provided.\n */export function buildShopifyItemId(opts){const product=cleanGid(opts.productId||undefined);const variant=cleanGid(opts.variantId||undefined);const country=(opts.countryCode||\"US\").toUpperCase();if(!product||!variant)return variant;return`shopify_${country}_${product}_${variant}`;}/**\n * Bare numeric variant ID (e.g. \"44634280132771\") — used as the SKU\n * field for TagHound compatibility and as a fallback wherever the\n * namespaced format isn't available.\n */export function bareVariantId(variantGid){return cleanGid(variantGid||undefined);}\nexport const __FramerMetadata__ = {\"exports\":{\"bareVariantId\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"buildShopifyItemId\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./itemId.map","import{createContext,useContext}from\"react\";// Make it a true singleton across bundles (guards duplicate module loads)\nconst globalKey=\"__FC_VARIANT_CONTEXT__\";if(!globalThis[globalKey]){globalThis[globalKey]=/*#__PURE__*/createContext({instanceId:\"\",productId:\"\",variantId:\"\",variant:null,sellingPlanAllocation:null,cartLine:null});}export const VariantContext=globalThis[globalKey];export const useVariantId=()=>{const context=useContext(VariantContext);return context.variantId;};export const useInstanceId=()=>{const context=useContext(VariantContext);return context.instanceId;};export const useProductId=()=>{const context=useContext(VariantContext);return context.productId;};export const useVariantContext=()=>{return useContext(VariantContext).variant;};export const useOptionValue=()=>{const context=useContext(VariantContext);return context.optionValue||\"\";};export const useOptionName=()=>{const context=useContext(VariantContext);return context.optionName||\"\";};export const useIsSelected=()=>{const context=useContext(VariantContext);return context.isSelected??false;};export const useSubscriptionContext=()=>{return useContext(VariantContext).sellingPlanAllocation;};export const useCartLine=()=>{return useContext(VariantContext).cartLine;};\nexport const __FramerMetadata__ = {\"exports\":{\"useIsSelected\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"useOptionName\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"useCartLine\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"useSubscriptionContext\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"useVariantContext\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"useOptionValue\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"useProductId\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"useVariantId\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"useInstanceId\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"VariantContext\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./useVariantContext.map","import{ControlType}from\"framer\";export function createLayoutControlGroup(){return{type:ControlType.Object,title:\"Layout\",optional:true,controls:{type:{type:ControlType.Enum,defaultValue:\"grid\",options:[\"stack\",\"grid\"],optionTitles:[\"Stack\",\"Grid\"],displaySegmentedControl:true},// Stack specific controls\ndirection:{type:ControlType.Enum,defaultValue:\"vertical\",options:[\"horizontal\",\"vertical\"],optionTitles:[\"Horizontal\",\"Vertical\"],optionIcons:[\"direction-horizontal\",\"direction-vertical\"],displaySegmentedControl:true,hidden:props=>props.type!==\"stack\"},wrap:{type:ControlType.Boolean,defaultValue:false,title:\"Wrap\",hidden:props=>props.type!==\"stack\"},stackMinWidth:{type:ControlType.Number,defaultValue:200,min:1,max:1e3,step:1,title:\"Min Width\",hidden:props=>props.type!==\"stack\"||!props.wrap},distribute:{type:ControlType.Enum,defaultValue:\"start\",options:[\"start\",\"center\",\"end\",\"space-between\",\"space-around\",\"space-evenly\"],optionTitles:[\"Start\",\"Center\",\"End\",\"Space Between\",\"Space Around\",\"Space Evenly\"],hidden:props=>props.type!==\"stack\"},align:{type:ControlType.Enum,defaultValue:\"start\",options:[\"start\",\"center\",\"end\"],optionTitles:[\"Start\",\"Center\",\"End\"],optionIcons:[\"align-left\",\"align-center\",\"align-right\"],displaySegmentedControl:true,hidden:props=>props.type!==\"stack\"||props.direction!==\"vertical\"},alignH:{type:ControlType.Enum,defaultValue:\"start\",options:[\"start\",\"center\",\"end\"],optionTitles:[\"Top\",\"Center\",\"Bottom\"],optionIcons:[\"align-top\",\"align-middle\",\"align-bottom\"],displaySegmentedControl:true,title:\"Align\",hidden:props=>props.type!==\"stack\"||props.direction!==\"horizontal\"},// Grid specific controls\ncolumns:{type:ControlType.Enum,defaultValue:\"fixed\",options:[\"auto\",\"fixed\"],optionTitles:[\"Auto\",\"Fixed\"],displaySegmentedControl:true,hidden:props=>props.type!==\"grid\"},columnCount:{type:ControlType.Number,defaultValue:3,min:1,step:1,displayStepper:true,title:\"Columns\",hidden:props=>props.type!==\"grid\"||props.columns===\"auto\"},gridWidth:{type:ControlType.Number,defaultValue:300,min:1,max:1e3,step:1,title:\"Min Width\",hidden:props=>props.type!==\"grid\"||props.columns===\"fixed\"},maxColumns:{type:ControlType.Number,defaultValue:4,min:1,step:1,title:\"Max Col\",displayStepper:true,hidden:props=>props.type!==\"grid\"||props.columns===\"fixed\"},gridAlign:{type:ControlType.Enum,defaultValue:\"center\",options:[\"start\",\"center\",\"end\"],optionTitles:[\"Left\",\"Center\",\"Right\"],displaySegmentedControl:true,title:\"Align\",hidden:props=>props.type!==\"grid\"},// Common controls\ngap:{type:ControlType.Number,defaultValue:24,min:0,step:1,title:\"Gap X\"},gapY:{type:ControlType.Number,defaultValue:24,min:0,step:1,title:\"Gap Y\",hidden:props=>props.type!==\"grid\"&&!(props.type===\"stack\"&&props.direction===\"horizontal\"&&props.wrap)},padding:{type:ControlType.FusedNumber,title:\"Padding\",defaultValue:0,min:0,toggleKey:\"paddingPerSide\",toggleTitles:[\"All\",\"Sides\"],valueKeys:[\"paddingTop\",\"paddingRight\",\"paddingBottom\",\"paddingLeft\"],valueLabels:[\"T\",\"R\",\"B\",\"L\"]},radius:{type:ControlType.FusedNumber,title:\"Radius\",defaultValue:0,min:0,toggleKey:\"radiusPerSide\",toggleTitles:[\"All\",\"Sides\"],valueKeys:[\"radiusTopLeft\",\"radiusTopRight\",\"radiusBottomRight\",\"radiusBottomLeft\"],valueLabels:[\"TL\",\"TR\",\"BR\",\"BL\"]},background:{type:ControlType.Color,title:\"Background\",defaultValue:\"#FFFFFF00\"}}};}\nexport const __FramerMetadata__ = {\"exports\":{\"createLayoutControlGroup\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./layoutControlGroup.map","/*\n * Framer Commerce\n * Confidential and Proprietary - All Rights Reserved\n * Unauthorized use, reproduction, distribution, or disclosure of this\n * source code or any related information is strictly prohibited.\n *\n * This software is the exclusive property of Framer Commerce (\"Company\").\n * It is considered highly confidential and proprietary information.\n *\n * Any use, copying, modification, distribution, or sharing of this software,\n * in whole or in part, without the express written permission of the Company\n * is strictly prohibited and may result in legal action.\n *\n * DISCLAIMER: This software does not provide any express or\n * implied warranties, including, but not limited to, the implied warranties\n * of merchantability and fitness for a particular purpose. In no event shall\n * Framer Commerce be liable for any direct, indirect, incidental, special,\n * exemplary, or consequential damages (including, but not limited to, procurement\n * of substitute goods or services; loss of use, data, or profits; or business\n * interruption) however caused and on any theory of liability, whether in\n * contract, strict liability, or tort (including negligence or otherwise)\n * arising in any way out of the use of this software, even if advised of\n * the possibility of such damage.\n *\n * Any unauthorized possession, use, copying, distribution, or dissemination\n * of this software will be considered a breach of confidentiality and may\n * result in legal action.\n *\n * For inquiries, contact:\n * Framer Commerce\n * Email: hello@framercommerce.com\n *\n * © 2025 Butter Supply Inc. All Rights Reserved.\n */import{jsx as _jsx,jsxs as _jsxs,Fragment as _Fragment}from\"react/jsx-runtime\";import*as React from\"react\";import{useCallback,useEffect,useId,useMemo,useRef,useState}from\"react\";import{addPropertyControls,ControlType,RenderTarget}from\"framer\";// Internal utilities and hooks\nimport{parseFCData,getPrimaryCatalogSlotForSelectedOptions,fcDataToProductVariants,getVariantPriceFromFCData,normalizeVariantId}from\"https://framerusercontent.com/modules/u4cSQPeOxFZJ30D78T0u/OH103m2xIQZsbXU9KlH0/fcDataParser.js\";import{buildOptimisticCartLine}from\"https://framerusercontent.com/modules/GZDQTGICwWUzAHOMYgBg/FcYAezwAfnY61t3NIJKA/cartOptimistic.js\";import{shouldUsePreviewStorefrontMock,isFramerPlaceholderTarget}from\"https://framerusercontent.com/modules/FmcSlgUtRS55W3otl8f9/DktpLeyyDbjosM33g22i/IsBrowser.js\";import{EmptyState}from\"https://framerusercontent.com/modules/G9C9Smzal651QjViNdCG/Zkampd7WodsNZoAb94Ql/EmptyState.js\";import{useReducedMotion}from\"https://framerusercontent.com/modules/c99QkZUnhCwVRT53XqBV/fNwPNoYi2AjpctF2UmDd/useReducedMotion.js\";import{useSelectedVariant}from\"https://framerusercontent.com/modules/oNgVmb8M8wf4m3aot3fR/zccqZ60HmBrvTm79Qx2L/useSelectedVariant.js\";import{useDynamicData}from\"https://framerusercontent.com/modules/uuL7sMMqlBVftWrI2cOb/gigdxQVfikfeYGgV9wiM/useDynamicData.js\";import{useCart}from\"https://framerusercontent.com/modules/yQT0QcL1a38xf2xvyfye/v0wDi08aR9blqt8R57vx/useCart.js\";import{useCartModal}from\"https://framerusercontent.com/modules/t7N6rlZCblxDaOdlHre2/teb3wI1OUsxqf6XAwdAF/useCartModal.js\";import{useLocalState}from\"https://framerusercontent.com/modules/xYDZCCqEBzGd7zfHzUX5/cLuhs5H2O0tFIwBfaQKt/useLocalState.js\";import CartService from\"https://framerusercontent.com/modules/vVBwckC7u10j9jUmDxXI/Fqima0ybfCi6bdQLdRWG/CartService.js\";import{appendAllTrackingParamsToUrl}from\"https://framerusercontent.com/modules/oiGsOJmAveg7cKvbFZt7/U6z4RVaD1rQukDPTR7e2/utmParams.js\";import{appendLanguageToUrl}from\"https://framerusercontent.com/modules/jF9fkcHYJkUsIOV0Ar1E/PFLCXtuND1o8evAGfKxE/locales.js\";import{trackFacebookPixelAddToCart,trackFacebookPixelInitiateCheckout}from\"https://framerusercontent.com/modules/v7VmD5MWrkfBivA5RO5R/0UxkpiMoLoGSEEOfODCg/Fb_pixel.js\";import{log}from\"https://framerusercontent.com/modules/mVbaWBbLWV8KgrAjqZgm/z1h10vx7UfFAMex4ETyU/log.js\";import{resolvePriceSource}from\"https://framerusercontent.com/modules/jKpyquHXGdtIjNY6JlpC/cQkDEESdyNy4kXfK7ymQ/priceSource.js\";import{recreateElement}from\"https://framerusercontent.com/modules/WlEThP6hqxPRuGJlw1Os/SeBeGgXRBNvA2rsey4jL/elementCloning.js\";import{useFocusRing}from\"https://framerusercontent.com/modules/IaCtXF1ZesaQ7iv3U5Gr/wGiuiv1uBHqHDwdnLuWS/useFocusRing.js\";import{buildShopifyItemId,bareVariantId}from\"https://framerusercontent.com/modules/aX6QtS01fqAPlvWJyU2T/rTc4HLli07wqJGioRBQ4/itemId.js\";import{VariantContext}from\"https://framerusercontent.com/modules/tXeZTnY9XDOBJ7M6Ww91/3i3LV0nwzgBOWvNyGlj5/useVariantContext.js\";import{createLayoutControlGroup}from\"https://framerusercontent.com/modules/t0MHx76YQepJtn0J9PUH/SDjmxgbHiUiDZOo5tFia/layoutControlGroup.js\";/** Resolves swatches.variantImages whether stored as a string or legacy `{ source }` object. */function resolveVariantImageSource(swatches){if(!swatches?.variantImages)return\"shopify\";const v=swatches.variantImages;if(v===\"framer\"||v===\"shopify\")return v;if(typeof v===\"object\"&&v!==null&&\"source\"in v){const s=v.source;if(s===\"framer\"||s===\"shopify\")return s;}return\"shopify\";}// ============================================================================\n// CONSTANTS\n// ============================================================================\n// ============================================================================\n// HELPER FUNCTIONS\n// ============================================================================\n/** Check if action is a purchase mode */const isPurchaseMode=action=>action===\"Add to Cart\"||action===\"Buy Now\";/**\n * Isolated wrapper for custom variant instances, creating an independent\n * React fiber boundary to prevent Framer from merging cloned elements.\n */function CustomVariantSlot({buttonElement,onClick,onMouseEnter,isSelected,isAvailable,allowSelectOutOfStock,productId,variantId,optionName,optionValue,focusClassName}){if(!buttonElement||!/*#__PURE__*/React.isValidElement(buttonElement))return null;const currentStyle=buttonElement.props?.style||{};const clickable=isAvailable||allowSelectOutOfStock;const prevClass=buttonElement.props?.className;const withProps=/*#__PURE__*/React.cloneElement(buttonElement,{onClick,onMouseEnter,className:[prevClass,focusClassName].filter(Boolean).join(\" \"),style:{...currentStyle,cursor:clickable?\"pointer\":\"not-allowed\",width:\"100%\"},isSelected,isAvailable});const content=/*#__PURE__*/_jsx(\"div\",{style:{width:\"100%\"},children:withProps});if(productId){return /*#__PURE__*/_jsx(VariantContext.Provider,{value:{instanceId:\"\",productId,variantId:variantId||\"\",optionName,optionValue,isSelected},children:content});}return content;}/** Standard color name to hex mapping */const STANDARD_COLOR_MAP=new Map([[\"black\",\"#000000\"],[\"white\",\"#FFFFFF\"],[\"red\",\"#FF0000\"],[\"green\",\"#00FF00\"],[\"blue\",\"#0000FF\"],[\"yellow\",\"#FFFF00\"],[\"purple\",\"#800080\"],[\"orange\",\"#FFA500\"],[\"pink\",\"#FFC0CB\"],[\"brown\",\"#A52A2A\"],[\"gray\",\"#808080\"],[\"grey\",\"#808080\"],[\"navy\",\"#000080\"],[\"teal\",\"#008080\"],[\"maroon\",\"#800000\"],[\"olive\",\"#808000\"],[\"lime\",\"#00FF00\"],[\"aqua\",\"#00FFFF\"],[\"silver\",\"#C0C0C0\"],[\"gold\",\"#FFD700\"],[\"beige\",\"#F5F5DC\"],[\"ivory\",\"#FFFFF0\"],[\"lavender\",\"#E6E6FA\"],[\"coral\",\"#FF7F50\"],[\"indigo\",\"#4B0082\"],[\"violet\",\"#EE82EE\"],[\"magenta\",\"#FF00FF\"],[\"turquoise\",\"#40E0D0\"]]);function mergeOptionTitleLists(colorTitles,imageTitles){const seen=new Set;const out=[];for(const list of[colorTitles??[],imageTitles??[]]){for(const raw of list){const t=raw.trim();const key=t.toLowerCase();if(!key||seen.has(key))continue;seen.add(key);out.push(t);}}return out;}function normalizeSwatchUrl(raw){if(raw==null||raw===\"\")return\"\";return typeof raw===\"string\"?raw:raw?.src||\"\";}/** Merge legacy color rows + image rows by option value name (case-insensitive). */function mergeLegacySwatchRows(colorRows,imageRows){const map=new Map;for(const c of colorRows){if(!c?.name)continue;const key=c.name.toLowerCase().trim();map.set(key,{name:c.name.trim(),hex:c.hex});}for(const img of imageRows){if(!img?.name)continue;const key=img.name.toLowerCase().trim();const url=normalizeSwatchUrl(img.url);const existing=map.get(key);if(existing){if(url)existing.url=url;}else{map.set(key,{name:img.name.trim(),url});}}return Array.from(map.values());}function resolveSwatchValueEntries(swatchValues,legacyColors,legacyImages){const groupedLegacy=mergeLegacySwatchRows(swatchValues?.colors??[],swatchValues?.swatchImages??[]);if(swatchValues?.values!==undefined){const fromValues=swatchValues.values.map(v=>({name:(v.name??\"\").trim(),hex:v.hex,url:normalizeSwatchUrl(v.url)})).filter(v=>v.name);if(fromValues.length>0)return fromValues;if(groupedLegacy.length>0)return groupedLegacy;return fromValues;}if(groupedLegacy.length>0)return groupedLegacy;return mergeLegacySwatchRows(legacyColors,legacyImages);}/** Normalize border width (handles FusedNumber object or number) */function normalizeBorderWidth(bw){if(typeof bw===\"number\")return bw;if(bw&&typeof bw===\"object\")return bw.top??bw.left??bw.right??bw.bottom??1;return 1;}/** Px radius for `useFocusRing`; non-px values (e.g. `%`) yield 0. */function borderRadiusToFocusRingPx(radius){if(radius==null)return 0;if(typeof radius===\"number\")return Number.isFinite(radius)?radius:0;const m=String(radius).trim().match(/^(\\d+(?:\\.\\d+)?)px$/i);return m?parseFloat(m[1]):0;}/** True when Framer Border control stores per-side widths (extended UI). */function framerBorderUsesPerSideWidths(border){if(!border)return false;return[\"Top\",\"Right\",\"Bottom\",\"Left\"].some(side=>border[`border${side}Width`]!==undefined);}/** CSS for a value from ControlType.Border (uniform or per-side). */function framerBorderToCss(border){if(!border)return{border:\"none\"};const style=border.borderStyle||\"solid\";const color=border.borderColor??\"transparent\";if(!framerBorderUsesPerSideWidths(border)){const w=normalizeBorderWidth(border.borderWidth);if(w<=0)return{border:\"none\"};return{border:`${w}px ${style} ${color}`};}const fb=normalizeBorderWidth(border.borderWidth);const top=border.borderTopWidth!==undefined?Number(border.borderTopWidth):fb;const right=border.borderRightWidth!==undefined?Number(border.borderRightWidth):fb;const bottom=border.borderBottomWidth!==undefined?Number(border.borderBottomWidth):fb;const left=border.borderLeftWidth!==undefined?Number(border.borderLeftWidth):fb;if(top+right+bottom+left===0)return{border:\"none\"};return{borderStyle:style,borderColor:color,borderTopWidth:`${top}px`,borderRightWidth:`${right}px`,borderBottomWidth:`${bottom}px`,borderLeftWidth:`${left}px`};}// ============================================================================\n// ACCESSIBILITY - Radiogroup keyboard navigation\n// ============================================================================\nconst RADIOGROUP_SELECTOR='[role=\"radiogroup\"]';const RADIO_SELECTOR='[role=\"radio\"]:not([disabled])';/**\n * Creates an onKeyDown handler for roving tabindex within a radiogroup.\n * Handles Arrow keys (direction-aware), Home, End, Enter, Space.\n */function createRadiogroupKeyHandler(onActivate,direction){return e=>{const target=e.target;const radiogroup=target.closest(RADIOGROUP_SELECTOR);const getButtons=()=>Array.from(radiogroup?.querySelectorAll(RADIO_SELECTOR)||[]);if(e.key===\"Enter\"||e.key===\" \"){e.preventDefault();onActivate();return;}if(e.key===\"Home\"){e.preventDefault();const first=radiogroup?.querySelector(RADIO_SELECTOR);first?.focus();return;}if(e.key===\"End\"){e.preventDefault();const buttons=getButtons();buttons[buttons.length-1]?.focus();return;}const isNext=e.key===\"ArrowRight\"||e.key===\"ArrowDown\"&&direction===\"vertical\";const isPrev=e.key===\"ArrowLeft\"||e.key===\"ArrowUp\"&&direction===\"vertical\";if(!isNext&&!isPrev)return;e.preventDefault();const buttons=getButtons();const i=buttons.indexOf(target);if(i===-1)return;const nextIndex=isNext?(i+1)%buttons.length:i===0?buttons.length-1:i-1;buttons[nextIndex]?.focus();};}/** Stable empty array for hooks when no valid product data */const EMPTY_PRODUCT_VARIANTS=[];const VariantButton=/*#__PURE__*/React.memo(function VariantButton({optionName,value,isSelected,isHovered,isAvailable,allowSelectOutOfStock,buttonConfigs,direction,onClick,onKeyDown,onMouseEnter,onMouseLeave,focusClassName,fillWidth=false}){const{radius,padding,unselected,hovered,selected,outOfStock}=buttonConfigs;const reducedMotion=useReducedMotion();// Determine if button is disabled (out of stock and not allowed to select)\nconst isDisabled=!isAvailable&&!allowSelectOutOfStock;// Always show OOS styling when variant is out of stock; allowSelectOutOfStock only affects clickability\nconst showAsOutOfStock=!isAvailable;// OOS overlay (strikethrough, opacity) only when unselected and not hovered; hover/selected use normal styling\nconst showOosOverlay=showAsOutOfStock&&!isSelected&&!isHovered;const getStateConfig=()=>{if(isSelected)return selected;if(isHovered)return hovered;if(showAsOutOfStock)return outOfStock;return unselected;};const stateConfig=getStateConfig();const borderCss=framerBorderToCss(stateConfig.border);// Strike-through only when showing full OOS overlay (unselected, not hovered)\nconst strikeStyle={};if(showOosOverlay&&outOfStock?.strike?.line){const strikeColor=outOfStock.strike.color||\"rgba(0,0,0,0.16)\";const direction=outOfStock.strike.direction||\"diagonal-down\";const strikeSize=outOfStock.strike.size||\"container\";if(strikeSize===\"container\"){if(direction===\"horizontal\"){strikeStyle.backgroundImage=`linear-gradient(\n                      to right,\n                      transparent 0%,\n                      transparent 45%,\n                      ${strikeColor} 45%,\n                      ${strikeColor} 55%,\n                      transparent 55%,\n                      transparent 100%\n                  )`;strikeStyle.backgroundPosition=\"center\";strikeStyle.backgroundRepeat=\"no-repeat\";}else if(direction===\"diagonal-down\"){strikeStyle.backgroundImage=`linear-gradient(\n                      to bottom right,\n                      transparent calc(50% - 1px),\n                      ${strikeColor} calc(50% - 1px),\n                      ${strikeColor} calc(50% + 1px),\n                      transparent calc(50% + 1px)\n                  )`;}else if(direction===\"diagonal-up\"){strikeStyle.backgroundImage=`linear-gradient(\n                      to top right,\n                      transparent calc(50% - 1px),\n                      ${strikeColor} calc(50% - 1px),\n                      ${strikeColor} calc(50% + 1px),\n                      transparent calc(50% + 1px)\n                  )`;}}}return /*#__PURE__*/_jsx(\"button\",{type:\"button\",role:\"radio\",\"aria-checked\":isSelected,\"aria-label\":`${optionName} ${value}`,\"aria-disabled\":isDisabled,tabIndex:isDisabled?-1:0,disabled:isDisabled,onClick:onClick,onKeyDown:onKeyDown,onMouseEnter:onMouseEnter,onMouseLeave:onMouseLeave,className:focusClassName,style:{...stateConfig.font,color:stateConfig.color,background:stateConfig.background,...borderCss,borderRadius:radius,padding:padding,cursor:isDisabled?\"not-allowed\":\"pointer\",opacity:showOosOverlay?outOfStock?.opacity??.5:1,textTransform:stateConfig.textTransform?.toLowerCase()||\"none\",transition:reducedMotion?\"none\":\"color 0.15s ease, background 0.15s ease, border 0.15s ease, opacity 0.15s ease\",whiteSpace:\"nowrap\",margin:0,position:\"relative\",...fillWidth?{width:\"100%\",display:\"block\",boxSizing:\"border-box\"}:{},...strikeStyle},children:value});});const VariantDropdown=/*#__PURE__*/React.memo(function VariantDropdown({optionName,optionValues,selectedValue,isAvailableForValue,allowSelectOutOfStock,dropdownConfigs,titleConfigs,selectedConfigs,containerConfigs,onSelect}){const[isHovered,setIsHovered]=useState(false);const[isFocused,setIsFocused]=useState(false);const variantSelectHintId=useId();const variantOptionTitleLabelId=useId();const{font,selected,hover,unselected,radius,padding,icon}=dropdownConfigs;const dropdownFocusClassName=useFocusRing(borderRadiusToFocusRingPx(radius),{ringInnerFocusVisible:true});const placeholderText=(unselected.text||\"Select {{variant}}\").replace(\"{{variant}}\",optionName);const currentValue=selectedValue||placeholderText;const isUnselected=currentValue===placeholderText;// Determine current state config\nconst getStateConfig=()=>{if(isUnselected)return unselected;if(isFocused||isHovered)return hover;return selected;};const stateConfig=getStateConfig();const borderCss=framerBorderToCss(stateConfig.border);const srOnlySelectHint={position:\"absolute\",width:1,height:1,padding:0,margin:-1,overflow:\"hidden\",clip:\"rect(0, 0, 0, 0)\",whiteSpace:\"nowrap\",border:0};return /*#__PURE__*/_jsxs(\"div\",{style:{width:\"100%\",position:\"relative\",zIndex:isFocused?1:0},children:[(titleConfigs.visible||selectedConfigs.visible)&&/*#__PURE__*/_jsxs(\"div\",{style:{display:\"flex\",alignItems:\"center\",marginBottom:containerConfigs.gap2??titleConfigs.gap??8},children:[titleConfigs.visible&&/*#__PURE__*/_jsx(\"span\",{id:variantOptionTitleLabelId,style:{...titleConfigs.font,color:titleConfigs.color,textTransform:titleConfigs.textTransform?.toLowerCase()||\"none\"},children:(titleConfigs.display||\"{{Option}}\").replace(\"{{Option}}\",optionName)}),selectedConfigs.visible&&selectedValue&&/*#__PURE__*/_jsx(\"span\",{style:{...selectedConfigs.font,color:selectedConfigs.color,marginLeft:titleConfigs.visible?selectedConfigs.gap||8:0,textTransform:selectedConfigs.textTransform?.toLowerCase()||\"none\"},children:selectedValue})]}),/*#__PURE__*/_jsxs(\"div\",{className:`dropdown-inner ${dropdownFocusClassName}`.trim(),style:{position:\"relative\",display:\"flex\",alignItems:\"center\",backgroundColor:stateConfig.background,borderRadius:radius,...borderCss},children:[/*#__PURE__*/_jsxs(\"select\",{value:currentValue,onChange:e=>{if(e.target.value!==placeholderText){onSelect(e.target.value);}},onMouseEnter:()=>setIsHovered(true),onMouseLeave:()=>setIsHovered(false),onFocus:()=>setIsFocused(true),onBlur:()=>setIsFocused(false),\"aria-label\":titleConfigs.visible?undefined:`Select ${optionName}`,\"aria-labelledby\":titleConfigs.visible?variantOptionTitleLabelId:undefined,\"aria-invalid\":!selectedValue,\"aria-describedby\":!selectedValue?variantSelectHintId:undefined,\"aria-required\":\"true\",style:{flex:1,padding:padding,paddingRight:`calc(${padding} + ${icon.size}px + ${padding})`,backgroundColor:\"transparent\",color:stateConfig.color,...font,textTransform:dropdownConfigs.textTransform?.toLowerCase()||\"none\",appearance:\"none\",cursor:\"pointer\",outline:\"none\",border:\"none\",width:\"100%\"},children:[/*#__PURE__*/_jsx(\"option\",{value:placeholderText,disabled:true,children:placeholderText}),optionValues.map(v=>{const available=isAvailableForValue(v);const disabled=!available&&!allowSelectOutOfStock;return /*#__PURE__*/_jsx(\"option\",{value:v,disabled:disabled,children:v},v);})]}),!selectedValue?/*#__PURE__*/_jsx(\"span\",{id:variantSelectHintId,style:srOnlySelectHint,children:`Choose a ${optionName} option to continue.`}):null,/*#__PURE__*/_jsx(\"div\",{style:{position:\"absolute\",right:0,top:0,bottom:0,display:\"flex\",alignItems:\"center\",justifyContent:\"center\",padding:padding,pointerEvents:\"none\"},children:icon.type===\"custom\"&&icon.customIcon?/*#__PURE__*/_jsx(\"img\",{src:icon.customIcon,width:icon.size,height:icon.size,style:{objectFit:\"contain\"},alt:\"\",\"aria-hidden\":true}):/*#__PURE__*/_jsx(\"svg\",{\"aria-hidden\":\"true\",focusable:false,width:icon.size,height:icon.size,viewBox:\"0 0 24 24\",fill:\"none\",stroke:icon.type===\"default\"?icon.color:isUnselected?unselected.color:isFocused||isHovered?hover.color:icon.color,strokeWidth:icon.weight,strokeLinecap:\"butt\",strokeLinejoin:\"miter\",children:/*#__PURE__*/_jsx(\"polyline\",{points:\"6 9 12 15 18 9\"})})})]})]});});const ColorSwatch=/*#__PURE__*/React.memo(function ColorSwatch({optionName,value,colorHex,isSelected,isAvailable,allowSelectOutOfStock,swatchConfig,onClick,onKeyDown,focusClassName}){const[isHovered,setIsHovered]=useState(false);const isDisabled=!isAvailable&&!allowSelectOutOfStock;const reducedMotion=useReducedMotion();const{width,height,radius,padding,unselected,hovered,selected,outOfStock}=swatchConfig;// Always show OOS styling when variant is out of stock; allowSelectOutOfStock only affects clickability\nconst showAsOutOfStock=!isAvailable;// OOS overlay (opacity) only when unselected and not hovered; hover/selected use normal styling\nconst showOosOverlay=showAsOutOfStock&&!isSelected&&!isHovered;const getStateConfig=()=>{if(isSelected)return selected;if(isHovered)return hovered;if(showAsOutOfStock)return outOfStock;return unselected;};const stateConfig=getStateConfig();const borderCss=framerBorderToCss(stateConfig.border);return /*#__PURE__*/_jsx(\"button\",{type:\"button\",role:\"radio\",\"aria-checked\":isSelected,\"aria-label\":`${optionName} ${value}${!isAvailable?\" (Out of Stock)\":\"\"}`,\"aria-disabled\":isDisabled,tabIndex:isDisabled?-1:0,disabled:isDisabled,onClick:onClick,onKeyDown:onKeyDown,onMouseEnter:()=>setIsHovered(true),onMouseLeave:()=>setIsHovered(false),title:value,className:focusClassName,style:{width,height,borderRadius:radius,padding,background:stateConfig.background,...borderCss,cursor:isDisabled?\"not-allowed\":\"pointer\",opacity:showOosOverlay?outOfStock?.opacity??.5:1,display:\"flex\",alignItems:\"center\",justifyContent:\"center\",transition:reducedMotion?\"none\":\"background 0.15s ease, border 0.15s ease, opacity 0.15s ease\",position:\"relative\"},children:/*#__PURE__*/_jsx(\"div\",{style:{width:\"100%\",height:\"100%\",borderRadius:radius,backgroundColor:colorHex}})});});const ImageSwatch=/*#__PURE__*/React.memo(function ImageSwatch({optionName,value,imageUrl,fallbackColorHex,isSelected,isAvailable,allowSelectOutOfStock,swatchConfig,onClick,onKeyDown,focusClassName}){const[isHovered,setIsHovered]=useState(false);const isDisabled=!isAvailable&&!allowSelectOutOfStock;const reducedMotion=useReducedMotion();const{width,height,radius,padding,unselected,hovered,selected,outOfStock}=swatchConfig;const showAsOutOfStock=!isAvailable;const showOosOverlay=showAsOutOfStock&&!isSelected&&!isHovered;const getStateConfig=()=>{if(isSelected)return selected;if(isHovered)return hovered;if(showAsOutOfStock)return outOfStock;return unselected;};const stateConfig=getStateConfig();const borderCss=framerBorderToCss(stateConfig.border);const strikeStyle={};if(showOosOverlay&&outOfStock?.strike?.line){const strikeColor=outOfStock.strike.color||\"rgba(0,0,0,0.16)\";const direction=outOfStock.strike.direction||\"diagonal-down\";if(direction===\"horizontal\"){strikeStyle.backgroundImage=`linear-gradient(\n                  to right,\n                  transparent 0%,\n                  transparent 45%,\n                  ${strikeColor} 45%,\n                  ${strikeColor} 55%,\n                  transparent 55%,\n                  transparent 100%\n              )`;strikeStyle.backgroundPosition=\"center\";strikeStyle.backgroundRepeat=\"no-repeat\";}else if(direction===\"diagonal-down\"){strikeStyle.backgroundImage=`linear-gradient(\n                  to bottom right,\n                  transparent calc(50% - 1px),\n                  ${strikeColor} calc(50% - 1px),\n                  ${strikeColor} calc(50% + 1px),\n                  transparent calc(50% + 1px)\n              )`;}else if(direction===\"diagonal-up\"){strikeStyle.backgroundImage=`linear-gradient(\n                  to top right,\n                  transparent calc(50% - 1px),\n                  ${strikeColor} calc(50% - 1px),\n                  ${strikeColor} calc(50% + 1px),\n                  transparent calc(50% + 1px)\n              )`;}}return /*#__PURE__*/_jsx(\"button\",{type:\"button\",role:\"radio\",\"aria-checked\":isSelected,\"aria-label\":`${optionName} ${value}${!isAvailable?\" (Out of Stock)\":\"\"}`,\"aria-disabled\":isDisabled,tabIndex:isDisabled?-1:0,disabled:isDisabled,onClick:onClick,onKeyDown:onKeyDown,onMouseEnter:()=>setIsHovered(true),onMouseLeave:()=>setIsHovered(false),title:value,className:focusClassName,style:{width,height,borderRadius:radius,padding,background:stateConfig.background,...borderCss,cursor:isDisabled?\"not-allowed\":\"pointer\",opacity:showOosOverlay?outOfStock?.opacity??.5:1,display:\"flex\",alignItems:\"center\",justifyContent:\"center\",transition:reducedMotion?\"none\":\"background 0.15s ease, border 0.15s ease, opacity 0.15s ease\",position:\"relative\",...strikeStyle},children:/*#__PURE__*/_jsx(\"div\",{style:{width:\"100%\",height:\"100%\",borderRadius:radius,backgroundImage:imageUrl?`url(${imageUrl})`:undefined,backgroundColor:imageUrl?fallbackColorHex||\"transparent\":fallbackColorHex||\"#e0e0e0\",backgroundSize:\"cover\",backgroundPosition:\"center\"}})});});// ============================================================================\n// MAIN COMPONENT\n// ============================================================================\n/**\n * @framerDisableUnlink\n *\n * Butter_ProductVariantSelector - Variant selector component.\n * Renders all product options (Size, Color, etc.) with configurable styles.\n */export default function Butter_ProductVariantSelector(props){const{fcData,images,behaviorConfigs,mode,style,containerConfigs,titleConfigs,selectedConfigs,buttonConfigs,dropdownConfigs,swatches,swatchValues:legacySwatchValues,swatchImages=[],imageTitles=[],variantImageTitles=[],colors=[],colorTitles=[\"Color\"]}=props;const variantButtonFocusClassName=useFocusRing(borderRadiusToFocusRingPx(buttonConfigs?.radius));const variantSwatchFocusClassName=useFocusRing(borderRadiusToFocusRingPx(swatches?.radius));const fcDataResolved=typeof fcData===\"string\"?fcData:String(fcData??\"\");const swatchValuesResolved=swatches?.swatchValues??legacySwatchValues;const swatchEntriesResolved=useMemo(()=>resolveSwatchValueEntries(swatchValuesResolved,colors,swatchImages),[swatchValuesResolved,colors,swatchImages]);const variantImageTitlesResolved=swatchValuesResolved?.variantImageTitles??variantImageTitles;const optionTitlesMerged=useMemo(()=>{if(swatchValuesResolved?.optionTitles!==undefined){return swatchValuesResolved.optionTitles??[];}return mergeOptionTitleLists(colorTitles,imageTitles);},[swatchValuesResolved?.optionTitles,colorTitles,imageTitles]);const{autoSelectFirst:propAutoSelectFirst,showSingleVariants,selectOutOfStock,action,updateOn=\"Click\",triggerCart,productPage=true,filterVariants}=behaviorConfigs||{};// Disable auto-select in purchase mode\nconst autoSelectFirst=isPurchaseMode(action)?false:propAutoSelectFirst;const useHoverUpdate=action===\"Update Active\"&&updateOn===\"Hover\";// ========================================================================\n// ENVIRONMENT DETECTION\n// ========================================================================\nconst isCanvas=RenderTarget.current()===RenderTarget.canvas;// ========================================================================\n// PARSE FC DATA\n// ========================================================================\nconst parsed=useMemo(()=>parseFCData(fcDataResolved),[fcDataResolved]);const productId=parsed?.productId||\"\";const fcVariants=parsed?.variants||[];// Selling plan option names to exclude from variant display\nconst SELLING_PLAN_OPTION_NAMES=[\"subs\",\"subscription\",\"selling plan\",\"delivery\",\"frequency\"];/** FC Data gallery/video segments mis-parsed as options before parser skip (see fcDataParser). */const FC_DATA_NON_VARIANT_OPTION_NAMES=[\"media\",\"mediacatalog\",\"complementary\",\"related\"];const allOptionNames=useMemo(()=>{if(!parsed)return[];let optionNames=Object.keys(parsed.variantOptions);// For single-variant products without explicit option definitions,\n// derive option names from variant selectedOptions so the\n// showSingleVariants flag can display them.\nif(optionNames.length===0&&parsed.variants.length>0){const derived=new Set;for(const v of parsed.variants){for(const name of Object.keys(v.selectedOptions)){derived.add(name);}}optionNames=Array.from(derived);}return optionNames.filter(name=>{const lowerName=name.toLowerCase().trim();if(FC_DATA_NON_VARIANT_OPTION_NAMES.includes(lowerName)){return false;}return!SELLING_PLAN_OPTION_NAMES.some(sp=>lowerName.includes(sp));});},[parsed]);const optionsToRender=useMemo(()=>{if(!parsed||allOptionNames.length===0)return[];return allOptionNames.map(name=>({name,values:parsed.variantOptions[name]||[...new Set(parsed.variants.map(v=>v.selectedOptions[name]).filter(Boolean))]}));},[parsed,allOptionNames]);// Filter options based on filterVariants (for quick purchase / split variant selectors)\nconst filteredOptions=useMemo(()=>{if(!filterVariants||filterVariants.variantGroups===\"all\"){return optionsToRender;}const titles=filterVariants.variantTitles||[];let opts;if(filterVariants.variantGroups===\"equals\"){opts=optionsToRender.filter(opt=>titles.includes(opt.name));}else if(filterVariants.variantGroups===\"doesn't equal\"){opts=optionsToRender.filter(opt=>!titles.includes(opt.name));}else{opts=optionsToRender;}// When filter is applied, restrict values to those that exist in variants\n// that have at least one option in variantTitles (matches v2 behavior)\nif(opts.length===0||!parsed||!titles.length)return opts;const matchingVariants=parsed.variants.filter(v=>Object.keys(v.selectedOptions).some(k=>titles.includes(k)));const availableValuesByOption=new Map;for(const v of matchingVariants){for(const[optName,val]of Object.entries(v.selectedOptions)){if(!val)continue;let set=availableValuesByOption.get(optName);if(!set){set=new Set;availableValuesByOption.set(optName,set);}set.add(val);}}return opts.map(opt=>{const available=availableValuesByOption.get(opt.name);const values=available&&available.size>0?opt.values.filter(v=>available.has(v)):opt.values;return{name:opt.name,values};});},[optionsToRender,filterVariants,parsed]);// Convert FC Data to ProductVariant format for hooks\n// Filter out selling plan options from selectedOptions\nconst productVariants=useMemo(()=>{if(!parsed||!productId)return EMPTY_PRODUCT_VARIANTS;const variants=fcDataToProductVariants(fcDataResolved);// Filter out selling plan options from each variant's selectedOptions\nreturn variants.map(v=>({...v,selectedOptions:v.selectedOptions.filter(opt=>{const lowerName=opt.name.toLowerCase().trim();return!SELLING_PLAN_OPTION_NAMES.some(sp=>lowerName.includes(sp));})}));},[fcDataResolved,parsed,productId]);// ========================================================================\n// STATE HOOKS\n// ========================================================================\n// Only use variant selection hook when we have a valid product\n// This prevents infinite loops when productId is empty\nconst hasValidProduct=Boolean(productId&&productVariants.length>0);const ownsUrlSync=hasValidProduct&&productPage&&filteredOptions.length===allOptionNames.length;// Variant selection state from global store\nconst{selectedVariantId,selectedOptions,setSelectedOptions,setSingleOption,selectedVariant,isCompleteSelection}=useSelectedVariant({productId:hasValidProduct?productId:\"__fc_empty__\",productVariants:hasValidProduct?productVariants:EMPTY_PRODUCT_VARIANTS,autoSelectFirst:hasValidProduct?autoSelectFirst:false,syncToUrl:ownsUrlSync});// Resolve price source for dynamic pricing\nconst activeMarketForPricing=useLocalState(s=>s.activeMarket);const priceMode=useMemo(()=>resolvePriceSource(activeMarketForPricing?.countryCode||\"US\"),[activeMarketForPricing?.countryCode]);const dynamicCountry=priceMode===\"dynamic\"?activeMarketForPricing?.countryCode:undefined;// Real-time availability (+ prices when dynamic) - only fetch when we have a valid product\nconst{product:dynamicProduct}=useDynamicData(hasValidProduct?productId:\"\",hasValidProduct&&selectedVariantId?selectedVariantId:undefined,dynamicCountry);// Cart hooks for purchase actions (Add to Cart / Buy Now)\nconst{addToCart}=useCart();const{openCart:triggerCartModal}=useCartModal();// Product metadata from FC Data for analytics (FB Pixel, GA)\nconst productMetadata=useMemo(()=>({title:parsed?.metadata.title||\"\",vendor:parsed?.metadata.vendor||\"\",productType:parsed?.metadata.productType||\"\"}),[parsed]);// ========================================================================\n// LOCAL STATE\n// ========================================================================\nconst[hoveredValue,setHoveredValue]=useState(null);const containerRef=useRef(null);// Build color hex map from props\nconst colorHexMap=useMemo(()=>{const map=new Map;swatchEntriesResolved.forEach(entry=>{if(entry.name){const normalized=entry.name.toLowerCase().trim();map.set(normalized,entry.hex||STANDARD_COLOR_MAP.get(normalized)||\"#888\");}});STANDARD_COLOR_MAP.forEach((hex,name)=>{if(!map.has(name)){map.set(name,hex);}});return map;},[swatchEntriesResolved]);// ========================================================================\n// AVAILABILITY CHECK\n// ========================================================================\nconst getVariantAvailability=useCallback((optionName,optionValue)=>{const matchingVariants=productVariants.filter(v=>{const opt=v.selectedOptions.find(o=>o.name===optionName);if(opt?.value!==optionValue)return false;return Object.entries(selectedOptions).every(([name,value])=>{if(name===optionName)return true;if(!value)return true;const variantOpt=v.selectedOptions.find(o=>o.name===name);return variantOpt?.value===value;});});if(matchingVariants.length===0)return true;if(dynamicProduct?.variants){return matchingVariants.some(mv=>{const variantIdNumeric=mv.id.split(\"/\").pop();const dynamicVariant=dynamicProduct.variants.find(v=>v.id.includes(variantIdNumeric||\"\"));return dynamicVariant?.availableForSale!==false;});}return true;},[productVariants,selectedOptions,dynamicProduct]);// ========================================================================\n// AUTO-SELECT FIRST AVAILABLE CORRECTION\n// ========================================================================\n// FC Data marks all variants as availableForSale:true (real availability comes\n// from the Storefront API). Once dynamic data loads we check whether the\n// auto-selected variant is actually available; if not, we swap to the first\n// truly available variant.\n//\n// The ref prevents re-correction after the user manually picks a variant.\n// It is only set once we have both a complete selection AND dynamic data to\n// evaluate, avoiding the stale-closure issue where the old code would set\n// the guard before selectedOptions was populated (e.g. when SWR returns\n// cached data on catalog → PDP navigation).\nconst autoSelectCorrectionDone=useRef(false);const autoSelectCorrectionProductId=useRef(null);// Reset when product changes\nif(autoSelectCorrectionProductId.current!==productId){autoSelectCorrectionDone.current=false;autoSelectCorrectionProductId.current=productId;}useEffect(()=>{if(!autoSelectFirst)return;if(!dynamicProduct?.variants?.length)return;if(!isCompleteSelection||!selectedVariantId)return;if(autoSelectCorrectionDone.current)return;// Check if the currently selected variant is available in dynamic data\nconst selectedNumericId=selectedVariantId.split(\"/\").pop();const dynVariant=dynamicProduct.variants.find(v=>v.id.includes(selectedNumericId||\"__no_match__\"));// Wait until dynamic data can resolve the current selection before\n// locking the correction guard. Cached SWR transitions can briefly leave\n// this unresolved during navigation.\nif(!dynVariant)return;// Current selection is available - no correction needed.\nif(dynVariant.availableForSale!==false){autoSelectCorrectionDone.current=true;return;}// Find the first truly available variant from dynamic data\nfor(const dynV of dynamicProduct.variants){if(dynV.availableForSale===false)continue;const dynVNumericId=dynV.id.split(\"/\").pop();const matchingPV=productVariants.find(pv=>pv.id.split(\"/\").pop()===dynVNumericId);if(!matchingPV)continue;// Ensure this variant's options fall within the filtered option set\nconst isInFiltered=matchingPV.selectedOptions.every(opt=>filteredOptions.some(fo=>fo.name===opt.name&&fo.values.includes(opt.value)));if(!isInFiltered)continue;const options={};matchingPV.selectedOptions.forEach(opt=>{options[opt.name]=opt.value;});setSelectedOptions(options);autoSelectCorrectionDone.current=true;return;}autoSelectCorrectionDone.current=true;},[autoSelectFirst,dynamicProduct?.variants,selectedVariantId,isCompleteSelection,productVariants,filteredOptions,setSelectedOptions,productId]);// ========================================================================\n// HANDLERS\n// ========================================================================\nconst handleOptionSelect=useCallback((optName,value)=>{const isAvailable=getVariantAvailability(optName,value);if(!isAvailable&&!selectOutOfStock)return;// Update selection via hook (updates global store)\nsetSingleOption(optName,value);// Trigger image changes if configured\nif(images.imageTrigger!==\"None\"){// Build the full selected options including the newly selected value\nconst updatedOptions={...selectedOptions,[optName]:value};const catalogSlot=getPrimaryCatalogSlotForSelectedOptions(fcDataResolved,updatedOptions);const imageRef=catalogSlot>=1?`MEDIA_${String(catalogSlot).padStart(2,\"0\")}`:null;if(catalogSlot>=1){if(images.imageTrigger===\"Gallery\"){// Dispatch event for gallery component to handle\nwindow.dispatchEvent(new CustomEvent(\"fc:gallery:goto\",{detail:{imageNumber:catalogSlot,productId}}));}else if(images.imageTrigger===\"Scroll Sections\"&&imageRef){// Scroll to the anchor element on the page\nconst anchorId=imageRef.toLowerCase().replace(/_/g,\"-\")// e.g., \"media-01\"\n;const targetElement=document.getElementById(anchorId);if(targetElement){const offsetY=images.offsetY||0;const elementPosition=targetElement.getBoundingClientRect().top+window.scrollY;const offsetPosition=elementPosition-offsetY;window.scrollTo({top:offsetPosition,behavior:\"smooth\"});}else{// Fallback: try updating URL hash for anchor navigation\nconst newUrl=new URL(window.location.href);newUrl.hash=anchorId;window.history.pushState(history.state,\"\",newUrl.toString());// Try scrolling to hash after a tick (for dynamically rendered elements)\nrequestAnimationFrame(()=>{const el=document.getElementById(anchorId);if(el){const offsetY=images.offsetY||0;const elementPosition=el.getBoundingClientRect().top+window.scrollY;window.scrollTo({top:elementPosition-offsetY,behavior:\"smooth\"});}});}}}}},[setSingleOption,getVariantAvailability,selectOutOfStock,selectedOptions,images.imageTrigger,images.offsetY,fcDataResolved,productId,filteredOptions,ownsUrlSync]);const handleOptionMouseEnter=useCallback((optName,value)=>{setHoveredValue(value);if(useHoverUpdate){handleOptionSelect(optName,value);}},[useHoverUpdate,handleOptionSelect]);// ========================================================================\n// ANALYTICS TRACKING\n// ========================================================================\nconst trackPurchaseAnalytics=useCallback((variantId,eventType)=>{if(!parsed)return;const activeMarket=useLocalState.getState().activeMarket;const countryCode=activeMarket?.countryCode;const mode=resolvePriceSource(countryCode||\"US\");const numericId=normalizeVariantId(variantId);const fcVariant=parsed.variants.find(v=>v.variantId===numericId);// Use dynamic Storefront API price when available, else CMS\nconst dynVariant=dynamicProduct?.variants?.find(v=>{const dynNumId=v.id.includes(\"/\")?v.id.split(\"/\").pop():v.id;return dynNumId===numericId;});const useDynamic=mode===\"dynamic\"&&dynVariant?.price;const currencyCode=useDynamic?dynVariant.price.currencyCode:activeMarket?.currencyCode||\"USD\";const price=useDynamic?parseFloat(dynVariant.price.amount):getVariantPriceFromFCData(parsed,variantId,currencyCode,countryCode)?.price||0;const variantTitle=fcVariant?.variantTitle||\"\";// F2: namespaced item_id matching the Shopify Google + YouTube app format\nconst itemId=buildShopifyItemId({productId,variantId,countryCode});const sku=bareVariantId(variantId)||numericId;// F2: Match Shopify Google + YouTube app: option values joined with \" / \",\n// no option-name prefix. fcVariant.selectedOptions is a Record<name, value>.\nconst itemVariant=(fcVariant?.selectedOptions?Object.values(fcVariant.selectedOptions).join(\" / \"):\"\")||variantTitle;log(\"[FC Variants] trackPurchaseAnalytics →\",eventType,{variantId:numericId,itemId,variantTitle,itemVariant,productTitle:productMetadata.title,vendor:productMetadata.vendor,productType:productMetadata.productType,price,currency:currencyCode,market:countryCode||\"default\"});// Shape expected by Fb_pixel.tsx tracking functions\nconst trackingVariant={id:variantId,title:variantTitle,price:{amount:String(price),currencyCode}};// GA4: only fire `add_to_cart`. `begin_checkout` is fired by the\n// Shopify Google + YouTube app on the checkout page itself — duplicating\n// here would double-count (same client_id via _ga handoff, no\n// transaction_id on begin_checkout to dedupe). See SIGNALS_GA_AUDIT.md (F1).\nif(eventType===\"add_to_cart\"&&typeof window.fcTrackGAEvent===\"function\"){const ga4Payload={currency:currencyCode,value:price,items:[{item_id:itemId,item_name:productMetadata.title,item_variant:itemVariant,price,quantity:1,item_brand:productMetadata.vendor||null,item_category:productMetadata.productType||null,SKU:sku,\"Item Name\":productMetadata.title}]};log(\"[FC Variants] GA4 → add_to_cart\",ga4Payload);window.fcTrackGAEvent(\"add_to_cart\",ga4Payload);}else if(eventType===\"begin_checkout\"){log(\"[FC Variants] GA4 → begin_checkout intentionally skipped (F1; Shopify Google app fires on checkout page)\");}else{log(\"[FC Variants] GA4 → fcTrackGAEvent not available, skipping\");}// Meta Pixel\nif(typeof fbq===\"function\"){log(\"[FC Variants] Meta Pixel →\",eventType===\"add_to_cart\"?\"AddToCart\":\"InitiateCheckout\",{content_ids:[numericId],content_name:productMetadata.title,variant_title:variantTitle,value:price,currency:currencyCode});if(eventType===\"add_to_cart\"){trackFacebookPixelAddToCart({variant:trackingVariant,product:productMetadata,quantity:1,currency:currencyCode});}else{trackFacebookPixelInitiateCheckout({variant:trackingVariant,product:productMetadata,quantity:1,currency:currencyCode,useBeacon:true});}}else{log(\"[FC Variants] Meta Pixel → fbq not available, skipping\");}},[parsed,productMetadata,productId,dynamicProduct]);// ========================================================================\n// PURCHASE ACTION HANDLER\n// ========================================================================\nconst handlePurchaseAction=useCallback(async variantId=>{if(!isPurchaseMode(action))return;try{if(action===\"Buy Now\"){if(shouldUsePreviewStorefrontMock()){// show toast message here for Buy Now is unavailable in Framer Preview\nreturn;}trackPurchaseAnalytics(variantId,\"begin_checkout\");const shopify=CartService.getClient();const activeMarket=useLocalState.getState().activeMarket;const buyerIdentity=activeMarket?.countryCode?{countryCode:activeMarket.countryCode}:undefined;const newCart=await CartService.createCart(shopify,[{merchandiseId:variantId,quantity:1}],buyerIdentity);if(newCart?.checkoutUrl){let finalUrl=appendAllTrackingParamsToUrl(newCart.checkoutUrl);finalUrl=appendLanguageToUrl(finalUrl);window.location.assign(finalUrl);}}else{const selectedVariantData=productVariants.find(variant=>normalizeVariantId(variant.id)===normalizeVariantId(variantId))||null;const dynamicVariant=dynamicProduct?.variants.find(variant=>normalizeVariantId(variant.id)===normalizeVariantId(variantId))||null;const optimisticLine=buildOptimisticCartLine({parsedFCData:parsed,productId,variantId,selectedOptions:selectedVariantData?.selectedOptions||[],productTitle:productMetadata.title,productHandle:dynamicProduct?.handle,productVendor:productMetadata.vendor,productType:productMetadata.productType,dynamicProduct,countryCode:activeMarketForPricing?.countryCode||undefined,currencyCode:activeMarketForPricing?.currencyCode||\"USD\",availableForSale:dynamicVariant?.availableForSale??selectedVariantData?.availableForSale,quantityAvailable:dynamicVariant?.quantityAvailable});const addToCartPromise=addToCart({variantId,quantity:1,optimisticLine:optimisticLine||undefined});if(triggerCart){triggerCartModal();}await addToCartPromise;trackPurchaseAnalytics(variantId,\"add_to_cart\");}}catch(error){console.error(\"Purchase action failed:\",error);}},[action,activeMarketForPricing?.countryCode,activeMarketForPricing?.currencyCode,triggerCart,addToCart,dynamicProduct,parsed,productId,productMetadata,productVariants,triggerCartModal,trackPurchaseAnalytics]);// ========================================================================\n// SWATCH / IMAGE CONFIG (must be before early returns - Rules of Hooks)\n// ========================================================================\nconst getSwatchImageUrl=useCallback(value=>{const entry=swatchEntriesResolved.find(row=>row.name.toLowerCase().trim()===value.toLowerCase().trim());return entry?.url||\"\";},[swatchEntriesResolved]);const titlesMatchList=useCallback((list,optName)=>{return list.some(title=>title.toLowerCase().trim()===optName.toLowerCase().trim());},[]);const isVariantImageOption=useCallback(optName=>titlesMatchList(variantImageTitlesResolved,optName),[variantImageTitlesResolved,titlesMatchList]);const isTitleSwatchOption=useCallback(opt=>{if(!swatches)return false;return titlesMatchList(optionTitlesMerged,opt.name);},[swatches,optionTitlesMerged,titlesMatchList]);const getVariantImageSwatchConfig=useMemo(()=>{if(!swatches)return null;return{gap:swatches.gap??8,width:swatches.width??40,height:swatches.height??40,radius:swatches.radius??\"50%\",padding:swatches.padding??\"2px\",unselected:swatches.unselected,hovered:swatches.hovered,selected:swatches.selected,outOfStock:swatches.outOfStock};},[swatches]);// Build a map from variant numeric ID → image number (from FC Data imageRef)\n// e.g. variant \"49725156786470\" with imageRef \"IMG_01\" → Map { \"49725156786470\" => 1 }\nconst variantImageRefMap=useMemo(()=>{const map=new Map;if(!fcVariants.length)return map;for(const v of fcVariants){if(!v.imageRef||!v.variantId)continue;const match=v.imageRef.match(/(?:IMG|MEDIA)_(\\d+)/i);if(match){map.set(v.variantId,parseInt(match[1],10));}}return map;},[fcVariants]);// Ref to latest props so the callback stays stable (avoids re-creating every render)\nconst propsRef=useRef(props);propsRef.current=props;const variantImageSource=resolveVariantImageSource(swatches);const getVariantImageUrl=useCallback((optionName,value)=>{const merged={...selectedOptions,[optionName]:value};const variant=productVariants.find(v=>v.selectedOptions.every(o=>merged[o.name]===o.value));if(!variant)return\"\";const variantNumericId=variant.id.split(\"/\").pop()||\"\";const fcVariant=fcVariants.find(v=>v.variantId===variantNumericId);if(variantImageSource===\"shopify\"){const fromFcData=fcVariant?.mediaUrl?.trim();if(fromFcData)return fromFcData;if(!dynamicProduct)return\"\";const dynVariant=dynamicProduct.variants.find(v=>v.id===variant.id);return dynVariant?.image?.url||\"\";}const imageNumber=variantImageRefMap.get(variantNumericId);if(imageNumber){const cmsProp=propsRef.current[`image${imageNumber}`];if(cmsProp){return typeof cmsProp===\"string\"?cmsProp:cmsProp?.src||\"\";}}if(!dynamicProduct)return\"\";const dynVariant=dynamicProduct.variants.find(v=>v.id===variant.id);return dynVariant?.image?.url||\"\";},[selectedOptions,productVariants,dynamicProduct,variantImageRefMap,fcVariants,variantImageSource]);// ========================================================================\n// EARLY RETURNS\n// ========================================================================\nconst containerBorderCss=framerBorderToCss(containerConfigs.border);// Unparsed FC Data in Canvas / Preview: prompt or missing-instance EmptyState\nif(!parsed){if(!isFramerPlaceholderTarget()){return null;}const fcFieldLooksFilled=fcDataResolved.trim().length>0;if(mode===\"Connect\"&&fcFieldLooksFilled){return /*#__PURE__*/_jsx(\"div\",{style:{width:\"100%\",padding:containerConfigs.padding,background:containerConfigs.background||\"transparent\",borderRadius:containerConfigs.radius,...containerBorderCss,boxSizing:\"border-box\"},children:/*#__PURE__*/_jsx(EmptyState,{description:\"Add Selected, Unselected, and Out of stock designs for the variant selector.\"})});}return /*#__PURE__*/_jsx(\"div\",{style:{padding:containerConfigs.padding,background:containerConfigs.background,borderRadius:containerConfigs.radius,...containerBorderCss,display:\"flex\",alignItems:\"center\",justifyContent:\"center\",color:\"#888\",fontSize:14},children:\"Connect FC Data\"});}if(filteredOptions.length===0){return null;}const totalVariantCombinations=filteredOptions.reduce((total,opt)=>total*opt.values.length,1);if(totalVariantCombinations<=1&&!showSingleVariants){return null;}// ========================================================================\n// RENDER\n// ========================================================================\nconst containerDirectionHorizontal=(containerConfigs.direction??\"vertical\")===\"horizontal\";return /*#__PURE__*/_jsxs(\"div\",{ref:containerRef,role:\"region\",\"aria-label\":\"Product Variants\",style:{width:\"100%\",padding:containerConfigs.padding,background:containerConfigs.background||\"transparent\",borderRadius:containerConfigs.radius,...containerBorderCss,display:\"flex\",flexDirection:containerDirectionHorizontal?\"row\":\"column\",flexWrap:containerDirectionHorizontal?\"wrap\":\"nowrap\",gap:containerConfigs.gap},children:[/*#__PURE__*/_jsx(\"style\",{children:`\n                  .dropdown-inner select,\n                  .dropdown-inner select:focus,\n                  .dropdown-inner select:focus-visible,\n                  .dropdown-inner select:focus-within,\n                  .dropdown-inner select:active,\n                  .dropdown-inner select:-moz-focusring {\n                      outline: none !important;\n                      outline-offset: 0 !important;\n                      border: none !important;\n                      box-shadow: none !important;\n                      -webkit-tap-highlight-color: transparent !important;\n                      -webkit-appearance: none !important;\n                      -moz-appearance: none !important;\n                  }\n                  .dropdown-inner select::-moz-focus-inner {\n                      border: 0 !important;\n                      outline: 0 !important;\n                  }\n              `}),filteredOptions.map(opt=>{const useTitleSwatches=isTitleSwatchOption(opt);const useVariantImages=isVariantImageOption(opt.name);const usesSwatchUi=useTitleSwatches&&!!swatches||useVariantImages&&!!getVariantImageSwatchConfig;const showTitleRow=(titleConfigs.visible||selectedConfigs.visible)&&(mode===\"Connect\"||style===\"Buttons\"||style===\"Dropdown\"&&usesSwatchUi);return /*#__PURE__*/_jsxs(\"div\",{style:{display:\"flex\",flexDirection:\"column\",// Title Gap: space between title row and buttons (within this option group)\ngap:showTitleRow?containerConfigs.gap2??0:0,// Row layout: each option group must grow so inner width:100% (e.g. Connect layout) fills the frame\n...containerDirectionHorizontal?{flex:\"1 1 0%\",minWidth:0}:{}},children:[showTitleRow&&/*#__PURE__*/_jsxs(\"div\",{style:{display:\"flex\",alignItems:\"center\"},children:[titleConfigs.visible&&/*#__PURE__*/_jsx(\"span\",{style:{...titleConfigs.font,color:titleConfigs.color,textTransform:(titleConfigs.textTransform?.toLowerCase())||\"none\"},children:(titleConfigs.display||\"{{Option}}\").replace(\"{{Option}}\",opt.name)}),selectedConfigs.visible&&selectedOptions[opt.name]&&/*#__PURE__*/_jsx(\"span\",{style:{...selectedConfigs.font,color:selectedConfigs.color,marginLeft:titleConfigs.visible?selectedConfigs.gap||8:0,textTransform:(selectedConfigs.textTransform?.toLowerCase())||\"none\"},children:selectedOptions[opt.name]}),selectedConfigs.visible&&selectedConfigs.emptyVisible&&!selectedOptions[opt.name]&&/*#__PURE__*/_jsx(\"span\",{style:{...selectedConfigs.font,color:selectedConfigs.color,marginLeft:titleConfigs.visible?selectedConfigs.gap||8:0,textTransform:(selectedConfigs.textTransform?.toLowerCase())||\"none\"},children:(selectedConfigs.emptyText||\"Select {{Option Value}}\").replace(\"{{Option Value}}\",opt.name)})]}),mode===\"Connect\"?/*#__PURE__*/_jsx(\"div\",{role:\"radiogroup\",\"aria-label\":`Select ${opt.name}`,\"aria-required\":\"true\",\"aria-invalid\":!selectedOptions[opt.name],style:(()=>{const layout=props.customLayout||{};let s={};if(layout.background)s.backgroundColor=layout.background;if(layout.radius!==undefined){s.borderRadius=layout.radiusPerSide?`${layout.radiusTopLeft??0}px ${layout.radiusTopRight??0}px ${layout.radiusBottomRight??0}px ${layout.radiusBottomLeft??0}px`:`${layout.radius}px`;}if((layout.type||\"stack\")===\"stack\"){const isVertical=(layout.direction??\"vertical\")===\"vertical\";return{...s,display:\"flex\",flexDirection:isVertical?\"column\":\"row\",flexWrap:layout.wrap?\"wrap\":\"nowrap\",alignItems:isVertical?layout.align:layout.alignH,justifyContent:layout.distribute,gap:!isVertical&&layout.wrap&&layout.gapY&&layout.gapY>0?`${layout.gapY}px ${layout.gap??8}px`:layout.gap??8,padding:layout.paddingPerSide?`${layout.paddingTop??0}px ${layout.paddingRight??0}px ${layout.paddingBottom??0}px ${layout.paddingLeft??0}px`:`${layout.padding??0}px`,width:\"100%\"};}const gap=layout.gap??8;const maxColumns=layout.maxColumns??4;const gridWidth=layout.gridWidth??120;const gridTemplateColumns=layout.columns===\"fixed\"?`repeat(${layout.columnCount??3}, 1fr)`:`repeat(auto-fill, minmax(max(${gridWidth}px, calc((100% - ${gap*(maxColumns-1)}px) / ${maxColumns})), 1fr))`;return{...s,display:\"grid\",gridTemplateColumns,justifyItems:layout.gridAlign,gridAutoFlow:\"row\",gridAutoColumns:\"1fr\",gap:layout.gapY&&layout.gapY>0?`${layout.gapY}px ${gap}px`:`${gap}px`,padding:layout.paddingPerSide?`${layout.paddingTop??0}px ${layout.paddingRight??0}px ${layout.paddingBottom??0}px ${layout.paddingLeft??0}px`:`${layout.padding??0}px`,width:\"100%\"};})(),children:(()=>{const{customMode,CustomSelected,CustomUnselected,CustomOutOfStock,customValueCount=1}=props;const resolveVariantId=(optName,value)=>{const match=productVariants.find(v=>v.selectedOptions.some(o=>o.name===optName&&o.value===value)&&v.selectedOptions.every(o=>o.name===optName||!selectedOptions[o.name]||selectedOptions[o.name]===o.value));return match?.id;};if(customMode===\"Unique\"){const filterMode=filterVariants?.variantGroups;const uniqueCells=opt.values.map(value=>{const isSelected=selectedOptions[opt.name]===value;const isAvailable=getVariantAvailability(opt.name,value);let matchIdx=-1;for(let i=1;i<=customValueCount;i++){const cv=props[`customOptionValue${i}`];if(!cv||cv!==value)continue;if(filterMode===\"equals\"){matchIdx=i;break;}const ct=props[`customOptionTitle${i}`];if(ct&&ct===opt.name){matchIdx=i;break;}}if(matchIdx===-1)return null;const selectedInst=props[`customSelected${matchIdx}`]?.[0];const unselectedInst=props[`customUnselected${matchIdx}`]?.[0];const oosInst=props[`customOutOfStock${matchIdx}`]?.[0];const template=!isAvailable&&oosInst&&/*#__PURE__*/React.isValidElement(oosInst)?oosInst:isSelected&&selectedInst&&/*#__PURE__*/React.isValidElement(selectedInst)?selectedInst:unselectedInst&&/*#__PURE__*/React.isValidElement(unselectedInst)?unselectedInst:null;if(!template||!/*#__PURE__*/React.isValidElement(template))return null;const fresh=isCanvas?template:recreateElement(template);return /*#__PURE__*/_jsx(CustomVariantSlot,{buttonElement:fresh,onClick:()=>handleOptionSelect(opt.name,value),onMouseEnter:useHoverUpdate?()=>handleOptionSelect(opt.name,value):undefined,isSelected:isSelected,isAvailable:isAvailable,allowSelectOutOfStock:selectOutOfStock,productId:productId,variantId:resolveVariantId(opt.name,value),optionName:opt.name,optionValue:value,focusClassName:variantButtonFocusClassName},`${opt.name}-${value}`);});const hasAnyUniqueSlot=uniqueCells.some(c=>c!=null);if(!hasAnyUniqueSlot){return /*#__PURE__*/_jsx(EmptyState,{description:\"Add Selected, Unselected, and Out of stock designs for each variant option in Connect mode.\"});}return /*#__PURE__*/_jsx(_Fragment,{children:uniqueCells});}const unselectedTemplate=CustomUnselected?.[0];const selectedTemplate=CustomSelected?.[0];const oosTemplate=CustomOutOfStock?.[0];if(!unselectedTemplate||!/*#__PURE__*/React.isValidElement(unselectedTemplate)){return /*#__PURE__*/_jsx(EmptyState,{description:\"Add Selected, Unselected, and Out of stock designs for the variant selector.\"});}return opt.values.map(value=>{const isSelected=selectedOptions[opt.name]===value;const isAvailable=getVariantAvailability(opt.name,value);const template=!isAvailable&&oosTemplate&&/*#__PURE__*/React.isValidElement(oosTemplate)?oosTemplate:isSelected&&selectedTemplate&&/*#__PURE__*/React.isValidElement(selectedTemplate)?selectedTemplate:unselectedTemplate;const fresh=isCanvas?template:recreateElement(template);return /*#__PURE__*/_jsx(CustomVariantSlot,{buttonElement:fresh,onClick:()=>handleOptionSelect(opt.name,value),onMouseEnter:useHoverUpdate?()=>handleOptionSelect(opt.name,value):undefined,isSelected:isSelected,isAvailable:isAvailable,allowSelectOutOfStock:selectOutOfStock,productId:productId,variantId:resolveVariantId(opt.name,value),optionName:opt.name,optionValue:value,focusClassName:variantButtonFocusClassName},`${opt.name}-${value}`);});})()}):useTitleSwatches&&swatches?/*#__PURE__*/_jsx(\"div\",{role:\"radiogroup\",\"aria-label\":`Select ${opt.name}`,\"aria-required\":\"true\",\"aria-invalid\":!selectedOptions[opt.name],style:{display:\"flex\",flexWrap:\"wrap\",gap:swatches.gap},children:opt.values.map(value=>{const url=getSwatchImageUrl(value);const colorHex=colorHexMap.get(value.toLowerCase().trim())||\"#888\";return /*#__PURE__*/_jsx(\"div\",{className:\"variant-swatch-container\",style:{position:\"relative\"},onMouseEnter:useHoverUpdate?()=>handleOptionSelect(opt.name,value):undefined,children:url?/*#__PURE__*/_jsx(ImageSwatch,{optionName:opt.name,value:value,imageUrl:url,fallbackColorHex:colorHex,isSelected:selectedOptions[opt.name]===value,isAvailable:getVariantAvailability(opt.name,value),allowSelectOutOfStock:selectOutOfStock,swatchConfig:swatches,onClick:()=>handleOptionSelect(opt.name,value),onKeyDown:createRadiogroupKeyHandler(()=>handleOptionSelect(opt.name,value),\"horizontal\"),focusClassName:variantSwatchFocusClassName}):/*#__PURE__*/_jsx(ColorSwatch,{optionName:opt.name,value:value,colorHex:colorHex,isSelected:selectedOptions[opt.name]===value,isAvailable:getVariantAvailability(opt.name,value),allowSelectOutOfStock:selectOutOfStock,swatchConfig:swatches,onClick:()=>handleOptionSelect(opt.name,value),onKeyDown:createRadiogroupKeyHandler(()=>handleOptionSelect(opt.name,value),\"horizontal\"),focusClassName:variantSwatchFocusClassName})},value);})}):useVariantImages&&getVariantImageSwatchConfig?/*#__PURE__*/_jsx(\"div\",{role:\"radiogroup\",\"aria-label\":`Select ${opt.name}`,\"aria-required\":\"true\",\"aria-invalid\":!selectedOptions[opt.name],style:{display:\"flex\",flexWrap:\"wrap\",gap:getVariantImageSwatchConfig.gap},children:opt.values.map(value=>/*#__PURE__*/_jsx(\"div\",{className:\"variant-swatch-container\",style:{position:\"relative\"},onMouseEnter:useHoverUpdate?()=>handleOptionSelect(opt.name,value):undefined,children:/*#__PURE__*/_jsx(ImageSwatch,{optionName:opt.name,value:value,imageUrl:getVariantImageUrl(opt.name,value),fallbackColorHex:colorHexMap.get(value.toLowerCase().trim())||undefined,isSelected:selectedOptions[opt.name]===value,isAvailable:getVariantAvailability(opt.name,value),allowSelectOutOfStock:selectOutOfStock,swatchConfig:getVariantImageSwatchConfig,onClick:()=>handleOptionSelect(opt.name,value),onKeyDown:createRadiogroupKeyHandler(()=>handleOptionSelect(opt.name,value),\"horizontal\"),focusClassName:variantSwatchFocusClassName})},value))}):style===\"Dropdown\"?/*#__PURE__*/_jsx(VariantDropdown,{optionName:opt.name,optionValues:opt.values,selectedValue:selectedOptions[opt.name],isAvailableForValue:value=>getVariantAvailability(opt.name,value),allowSelectOutOfStock:selectOutOfStock,dropdownConfigs:dropdownConfigs,titleConfigs:titleConfigs,selectedConfigs:selectedConfigs,containerConfigs:containerConfigs,onSelect:value=>handleOptionSelect(opt.name,value)}):(()=>{const isButtonGrid=buttonConfigs.layout===\"grid\";const buttonGap=buttonConfigs.gap??8;const buttonMaxColumns=buttonConfigs.maxColumns??4;const buttonGridWidth=buttonConfigs.gridWidth??100;const buttonGroupStyle=isButtonGrid?{display:\"grid\",width:\"100%\",justifyItems:\"stretch\",gap:buttonConfigs.gapY&&buttonConfigs.gapY>0?`${buttonConfigs.gapY}px ${buttonGap}px`:buttonGap,...buttonConfigs.columns===\"fixed\"?{gridTemplateColumns:`repeat(${buttonConfigs.columnCount||3}, 1fr)`}:{gridTemplateColumns:`repeat(auto-fill, minmax(max(${buttonGridWidth}px, calc((100% - ${buttonGap*(buttonMaxColumns-1)}px) / ${buttonMaxColumns})), 1fr))`}}:{display:\"flex\",flexDirection:buttonConfigs.direction===\"vertical\"?\"column\":\"row\",flexWrap:buttonConfigs.direction===\"horizontal\"?\"wrap\":\"nowrap\",gap:buttonGap,rowGap:buttonConfigs.gapY??buttonGap};return /*#__PURE__*/_jsx(\"div\",{role:\"radiogroup\",\"aria-label\":`Select ${opt.name}`,\"aria-required\":\"true\",\"aria-invalid\":!selectedOptions[opt.name],style:buttonGroupStyle,children:opt.values.map(value=>{const handleClick=()=>{handleOptionSelect(opt.name,value);if(isPurchaseMode(action)){const updatedOptions={...selectedOptions,[opt.name]:value};const allSelected=allOptionNames.every(n=>updatedOptions[n]);if(allSelected){const match=productVariants.find(v=>v.selectedOptions.every(o=>updatedOptions[o.name]===o.value));if(match)handlePurchaseAction(match.id);}}};return /*#__PURE__*/_jsx(\"div\",{className:\"variant-button-container\",style:{position:\"relative\",width:isButtonGrid?\"100%\":\"auto\"},children:/*#__PURE__*/_jsx(VariantButton,{optionName:opt.name,value:value,isSelected:selectedOptions[opt.name]===value,isHovered:hoveredValue===value,isAvailable:getVariantAvailability(opt.name,value),allowSelectOutOfStock:selectOutOfStock,buttonConfigs:buttonConfigs,direction:buttonConfigs.direction||\"horizontal\",fillWidth:isButtonGrid,onClick:handleClick,onKeyDown:createRadiogroupKeyHandler(handleClick,buttonConfigs.direction||\"horizontal\"),onMouseEnter:()=>handleOptionMouseEnter(opt.name,value),onMouseLeave:()=>setHoveredValue(null),focusClassName:variantButtonFocusClassName})},value);})});})()]},opt.name);})]});}// ============================================================================\n// DEFAULT PROPS\n// ============================================================================\nButter_ProductVariantSelector.defaultProps={fcData:\"\",images:{imageTrigger:\"None\",imageChange:true,offsetY:0},behaviorConfigs:{autoSelectFirst:false,showSingleVariants:false,selectOutOfStock:false,action:\"Update Active\",updateOn:\"Click\",triggerCart:true,productPage:true,filterVariants:{variantGroups:\"all\",variantTitles:[]}},mode:\"Configure\",style:\"Buttons\",customMode:\"Templated\",customValueCount:1,customLayout:{type:\"stack\",direction:\"vertical\",gap:8},containerConfigs:{padding:\"0px\",gap:24,gap2:8,direction:\"vertical\",background:\"transparent\",radius:\"0px\",border:{borderWidth:0,borderStyle:\"solid\",borderColor:\"transparent\"}},titleConfigs:{visible:true,font:undefined,color:\"#000000\",gap:8,display:\"{{Option}}\",textTransform:\"None\"},selectedConfigs:{visible:false,gap:8,font:undefined,color:\"#000000\",emptyVisible:true,emptyText:\"Select {{Option Value}}\",textTransform:\"None\"},buttonConfigs:{gap:8,radius:\"4px\",padding:\"8px\",direction:\"horizontal\",layout:\"stack\",columns:\"auto\",gridWidth:100,maxColumns:4,columnCount:3,gapY:8,width:false,unselected:{font:{fontSize:14,fontWeight:500,fontFamily:\"Inter\"},color:\"#000000\",background:\"#FFFFFF\",border:{borderWidth:1,borderStyle:\"solid\",borderColor:\"rgba(0,0,0,0.08)\"},textTransform:\"None\"},hovered:{font:{fontSize:14,fontWeight:500,fontFamily:\"Inter\"},color:\"#000000\",background:\"rgba(0,0,0,0.03)\",border:{borderWidth:1,borderStyle:\"solid\",borderColor:\"#000000\"},textTransform:\"None\"},selected:{font:{fontSize:14,fontWeight:500,fontFamily:\"Inter\"},color:\"#FFFFFF\",background:\"#000000\",border:{borderWidth:1,borderStyle:\"solid\",borderColor:\"#000000\"},textTransform:\"None\"},outOfStock:{preview:false,font:{fontSize:14,fontWeight:500,fontFamily:\"Inter\"},color:\"rgba(0,0,0,0.40)\",background:\"rgba(0,0,0,0.08)\",border:{borderWidth:1,borderStyle:\"solid\",borderColor:\"#FFFFFF\"},textTransform:\"None\",strike:{line:false,size:\"container\",color:\"rgba(0,0,0,0.16)\",direction:\"diagonal-down\"}}},dropdownConfigs:{font:undefined,textTransform:\"None\",unselected:{text:\"Select {{variant}}\",color:\"rgba(0,0,0,0.48)\",background:\"#FFFFFF\",border:{borderWidth:1,borderStyle:\"solid\",borderColor:\"rgba(0,0,0,0.08)\"}},selected:{color:\"#000000\",background:\"#FFFFFF\",border:{borderWidth:1,borderStyle:\"solid\",borderColor:\"rgba(0,0,0,0.16)\"}},hover:{color:\"#000000\",background:\"rgba(0,0,0,0.04)\",border:{borderWidth:1,borderStyle:\"solid\",borderColor:\"#000000\"}},radius:\"4px\",padding:\"16px\",icon:{type:\"default\",color:\"#000000\",size:12,weight:2}},swatches:{gap:8,height:40,width:40,radius:\"50%\",padding:\"2px\",unselected:{border:{borderWidth:2,borderStyle:\"solid\",borderColor:\"#FFFFFF\"},background:\"transparent\"},hovered:{border:{borderWidth:2,borderStyle:\"solid\",borderColor:\"rgba(0,0,0,0.16)\"},background:\"transparent\"},selected:{border:{borderWidth:2,borderStyle:\"solid\",borderColor:\"#000000\"},background:\"transparent\"},outOfStock:{border:{borderWidth:2,borderStyle:\"solid\",borderColor:\"#FFFFFF\"},opacity:.5,background:\"transparent\"},swatchValues:{values:[],optionTitles:[\"Color\"],variantImageTitles:[]},variantImages:\"shopify\"}};// ============================================================================\n// PROPERTY CONTROLS\n// ============================================================================\naddPropertyControls(Butter_ProductVariantSelector,{fcData:{type:ControlType.String,title:\"FC Data\",description:\"Connect to FC Data from CMS (required)\"},behaviorConfigs:{type:ControlType.Object,title:\"Behavior\",controls:{filterVariants:{type:ControlType.Object,title:\"Filter\",controls:{variantGroups:{type:ControlType.Enum,title:\"Name(s)\",options:[\"all\",\"equals\",\"doesn't equal\"],optionTitles:[\"All\",\"Equals\",\"Doesn't Equal\"],defaultValue:\"all\",displaySegmentedControl:true,segmentedControlDirection:\"vertical\"},variantTitles:{type:ControlType.Array,title:\" \",control:{type:ControlType.String},defaultValue:[],description:\"Show all variant options or filter by option name(s) using multiple components (e.g., Color, Size).\",hidden:props=>props.variantGroups===\"all\"}}},action:{type:ControlType.Enum,title:\"Action\",options:[\"Update Active\",\"Add to Cart\",\"Buy Now\"],optionTitles:[\"Update Active\",\"Add to Cart\",\"Buy Now\"],defaultValue:\"Update Active\",displaySegmentedControl:true,segmentedControlDirection:\"vertical\",description:\"Only set Add to Cart or Buy Now for single variant groups.\"},updateOn:{type:ControlType.Enum,title:\"↳ On\",options:[\"Click\",\"Hover\"],optionTitles:[\"Click\",\"Hover\"],defaultValue:\"Click\",displaySegmentedControl:true,hidden:props=>props.action!==\"Update Active\"},triggerCart:{type:ControlType.Boolean,title:\"Cart\",description:\"Trigger cart after adding item\",defaultValue:true,hidden:props=>props.action!==\"Add to Cart\"},autoSelectFirst:{type:ControlType.Boolean,title:\"Select 1st\",description:\"Auto-select the first available variant\",defaultValue:false,hidden:props=>props.action===\"Add to Cart\"||props.action===\"Buy Now\"},productPage:{type:ControlType.Boolean,title:\"PDP\",description:\"Enable if this component is on a product page\",defaultValue:true,enabledTitle:\"Yes\",disabledTitle:\"No\"},showSingleVariants:{type:ControlType.Boolean,title:\"Singles\",description:\"Show the variant selector if only one variant\",defaultValue:false},selectOutOfStock:{type:ControlType.Boolean,title:\"OOS\",description:\"Allow selecting out of stock variants\",defaultValue:false,hidden:props=>props.action!==\"Update Active\"}}},images:{type:ControlType.Object,title:\"Image Triggers\",description:\"\\n\",controls:{imageTrigger:{type:ControlType.Enum,title:\"Type\",options:[\"None\",\"Gallery\",\"Scroll Sections\"],defaultValue:\"None\",description:\"Trigger image changes elsewhere on the page.\",displaySegmentedControl:true,segmentedControlDirection:\"vertical\"},imageChange:{type:ControlType.Boolean,title:\"Two-Way\",defaultValue:true,enabledTitle:\"Yes\",disabledTitle:\"No\",description:\"Allow clicking on an image to change the selected variant.\",hidden:({imageTrigger})=>imageTrigger!==\"Gallery\"},offsetY:{type:ControlType.Number,title:\"Offset Y\",description:\"Match your Offset Y to your on-canvas values.\",hidden:({imageTrigger})=>imageTrigger!==\"Scroll Sections\",defaultValue:0,min:0,step:1,displayStepper:true}}},titleConfigs:{type:ControlType.Object,title:\"Option Name\",controls:{visible:{type:ControlType.Boolean,title:\"Title\",enabledTitle:\"Show\",disabledTitle:\"Hide\",defaultValue:true},display:{type:ControlType.String,title:\"Display\",defaultValue:\"{{Option}}\",placeholder:\"{{Option}}\",description:\"Use {{Option}} to dynamically display Color, Size, etc.\",hidden:props=>!props.visible},font:{type:ControlType.Font,title:\"Font\",controls:\"extended\",hidden:props=>!props.visible},textTransform:{type:ControlType.Enum,title:\"Transform\",options:[\"None\",\"Uppercase\",\"Lowercase\",\"Capitalize\"],defaultValue:\"None\",hidden:props=>!props.visible},color:{type:ControlType.Color,title:\"Color\",hidden:props=>!props.visible}}},selectedConfigs:{type:ControlType.Object,title:\"Selected Option Value\",controls:{visible:{type:ControlType.Boolean,title:\"Value\",enabledTitle:\"Show\",disabledTitle:\"Hide\",defaultValue:false},gap:{type:ControlType.Number,title:\"Gap\",defaultValue:8,min:0,unit:\"px\",hidden:props=>!props.visible},font:{type:ControlType.Font,title:\"Font\",controls:\"extended\",hidden:props=>!props.visible},textTransform:{type:ControlType.Enum,title:\"Transform\",options:[\"None\",\"Uppercase\",\"Lowercase\",\"Capitalize\"],defaultValue:\"None\",hidden:props=>!props.visible},color:{type:ControlType.Color,title:\"Color\",hidden:props=>!props.visible},emptyVisible:{type:ControlType.Boolean,title:\"Empty\",enabledTitle:\"Show\",disabledTitle:\"Hide\",defaultValue:false,hidden:props=>!props.visible},emptyText:{type:ControlType.String,title:\"Display\",description:\"Use {{Option Value}} to dynamically display Blue, Medium, etc.\",placeholder:\"Select {{Option Value}}\",defaultValue:\"Select {{Option Value}}\",hidden:props=>!props.visible||!props.emptyVisible}}},containerConfigs:{type:ControlType.Object,title:\"Container\",description:\"\\n\",controls:{padding:{type:ControlType.Padding,title:\"Padding\",defaultValue:\"0px\"},gap2:{type:ControlType.Number,title:\"Title Gap\",min:0,unit:\"px\"},gap:{type:ControlType.Number,title:\"Group Gap\",min:0,unit:\"px\"},direction:{type:ControlType.Enum,title:\"Direction\",options:[\"horizontal\",\"vertical\"],optionTitles:[\"Horizontal\",\"Vertical\"],optionIcons:[\"direction-horizontal\",\"direction-vertical\"],displaySegmentedControl:true,defaultValue:\"vertical\"},background:{type:ControlType.Color,title:\"BG\",defaultValue:\"transparent\"},radius:{type:ControlType.BorderRadius,title:\"Radius\",defaultValue:\"0px\"},border:{type:ControlType.Border,title:\"Border\",controls:\"extended\",defaultValue:{borderWidth:0,borderStyle:\"solid\",borderColor:\"transparent\"}}}},mode:{type:ControlType.Enum,title:\"Mode\",options:[\"Configure\",\"Connect\"],optionTitles:[\"Config\",\"Connect\"],displaySegmentedControl:true,defaultValue:\"Configure\"},style:{type:ControlType.Enum,title:\"Style\",options:[\"Buttons\",\"Dropdown\"],optionTitles:[\"Buttons\",\"Dropdown\"],displaySegmentedControl:true,segmentedControlDirection:\"vertical\",defaultValue:\"Buttons\",hidden:props=>props.mode===\"Connect\"},customLayout:{...createLayoutControlGroup(),hidden:props=>props.mode!==\"Connect\"},customMode:{type:ControlType.Enum,title:\"Type\",options:[\"Templated\",\"Unique\"],optionTitles:[\"Templated\",\"Slots\"],displaySegmentedControl:true,segmentedControlDirection:\"vertical\",defaultValue:\"Templated\",hidden:props=>props.mode!==\"Connect\"},CustomUnselected:{type:ControlType.ComponentInstance,title:\"Unselected\",hidden:props=>props.mode!==\"Connect\"||props.customMode===\"Unique\"},CustomSelected:{type:ControlType.ComponentInstance,title:\"Selected\",hidden:props=>props.mode!==\"Connect\"||props.customMode===\"Unique\"},CustomOutOfStock:{type:ControlType.ComponentInstance,title:\"Out of Stock\",description:\"Place *Variant Value* component inside to display the value name. \\n\\n\",hidden:props=>props.mode!==\"Connect\"||props.customMode===\"Unique\"},customValueCount:{type:ControlType.Number,title:\"No. of Slots\",description:\"\\n\",min:1,max:100,step:1,displayStepper:true,defaultValue:1,hidden:props=>props.mode!==\"Connect\"||props.customMode!==\"Unique\"},...(()=>{const customValueControls={};for(let i=1;i<=100;i++){const baseHidden=props=>props.mode!==\"Connect\"||props.customMode!==\"Unique\"||i>(props.customValueCount||1);customValueControls[`customUnselected${i}`]={type:ControlType.ComponentInstance,title:`${i}: Unselected`,hidden:baseHidden};customValueControls[`customSelected${i}`]={type:ControlType.ComponentInstance,title:`${i}: Selected`,hidden:baseHidden};customValueControls[`customOutOfStock${i}`]={type:ControlType.ComponentInstance,title:`${i}: Out of Stock`,hidden:baseHidden};customValueControls[`customOptionTitle${i}`]={type:ControlType.String,title:`${i}: Option Name`,hidden:props=>baseHidden(props)||props.behaviorConfigs?.filterVariants?.variantGroups===\"equals\"};customValueControls[`customOptionValue${i}`]={type:ControlType.String,title:`${i}: Option Value`,description:\"\\n\",hidden:baseHidden};}return customValueControls;})(),buttonConfigs:{type:ControlType.Object,title:\"Buttons\",hidden:props=>props.mode===\"Connect\"||props.style!==\"Buttons\",controls:{layout:{type:ControlType.Enum,title:\"Layout\",options:[\"stack\",\"grid\"],optionTitles:[\"Stack\",\"Grid\"],displaySegmentedControl:true,defaultValue:\"stack\"},direction:{type:ControlType.Enum,title:\"Direction\",options:[\"horizontal\",\"vertical\"],optionTitles:[\"Horizontal\",\"Vertical\"],optionIcons:[\"direction-horizontal\",\"direction-vertical\"],displaySegmentedControl:true,defaultValue:\"horizontal\",hidden:props=>props.layout===\"grid\"},columns:{type:ControlType.Enum,title:\"Columns\",options:[\"auto\",\"fixed\"],optionTitles:[\"Auto\",\"Fixed\"],displaySegmentedControl:true,defaultValue:\"auto\",hidden:props=>props.layout!==\"grid\"},columnCount:{type:ControlType.Number,title:\"Columns\",defaultValue:3,min:1,step:1,displayStepper:true,hidden:props=>props.layout!==\"grid\"||props.columns===\"auto\"},gridWidth:{type:ControlType.Number,title:\"Min Width\",defaultValue:100,min:1,max:1e3,step:1,hidden:props=>props.layout!==\"grid\"||props.columns===\"fixed\"},maxColumns:{type:ControlType.Number,title:\"Max Col\",defaultValue:4,min:1,step:1,displayStepper:true,hidden:props=>props.layout!==\"grid\"||props.columns===\"fixed\"},gap:{type:ControlType.Number,title:\"Gap X\",min:0},gapY:{type:ControlType.Number,title:\"Gap Y\",defaultValue:8,min:0,step:1},radius:{type:ControlType.BorderRadius,title:\"Radius\",defaultValue:\"4px\"},padding:{type:ControlType.Padding,title:\"Padding\",defaultValue:\"8px\"},unselected:{type:ControlType.Object,title:\"Default\",controls:{font:{type:ControlType.Font,title:\"Font\",controls:\"extended\"},textTransform:{type:ControlType.Enum,title:\"Transform\",options:[\"None\",\"Uppercase\",\"Lowercase\",\"Capitalize\"],defaultValue:\"None\"},color:{type:ControlType.Color,title:\"Text\",defaultValue:\"#000000\"},background:{type:ControlType.Color,title:\"BG\",defaultValue:\"#FFFFFF\"},border:{type:ControlType.Border,title:\"Border\",controls:\"extended\",defaultValue:{borderWidth:1,borderStyle:\"solid\",borderColor:\"rgba(0,0,0,0.08)\"}}}},hovered:{type:ControlType.Object,title:\"Hover\",controls:{font:{type:ControlType.Font,title:\"Font\",controls:\"extended\"},textTransform:{type:ControlType.Enum,title:\"Transform\",options:[\"None\",\"Uppercase\",\"Lowercase\",\"Capitalize\"],defaultValue:\"None\"},color:{type:ControlType.Color,title:\"Text\",defaultValue:\"#000000\"},background:{type:ControlType.Color,title:\"BG\",defaultValue:\"rgba(0,0,0,0.03)\"},border:{type:ControlType.Border,title:\"Border\",controls:\"extended\",defaultValue:{borderWidth:1,borderStyle:\"solid\",borderColor:\"#000000\"}}}},selected:{type:ControlType.Object,title:\"Selected\",controls:{font:{type:ControlType.Font,title:\"Font\",controls:\"extended\"},textTransform:{type:ControlType.Enum,title:\"Transform\",options:[\"None\",\"Uppercase\",\"Lowercase\",\"Capitalize\"],defaultValue:\"None\"},color:{type:ControlType.Color,title:\"Text\",defaultValue:\"#FFFFFF\"},background:{type:ControlType.Color,title:\"BG\",defaultValue:\"#000000\"},border:{type:ControlType.Border,title:\"Border\",controls:\"extended\",defaultValue:{borderWidth:1,borderStyle:\"solid\",borderColor:\"#000000\"}}}},outOfStock:{type:ControlType.Object,title:\"Out Of Stock\",controls:{preview:{type:ControlType.Boolean,title:\"Preview\",enabledTitle:\"On\",disabledTitle:\"Off\",defaultValue:false},font:{type:ControlType.Font,title:\"Font\",controls:\"extended\"},textTransform:{type:ControlType.Enum,title:\"Transform\",options:[\"None\",\"Uppercase\",\"Lowercase\",\"Capitalize\"],defaultValue:\"None\"},color:{type:ControlType.Color,title:\"Text\",defaultValue:\"rgba(0,0,0,0.40)\"},background:{type:ControlType.Color,title:\"BG\",defaultValue:\"rgba(0,0,0,0.08)\"},border:{type:ControlType.Border,title:\"Border\",controls:\"extended\",defaultValue:{borderWidth:1,borderStyle:\"solid\",borderColor:\"#FFFFFF\"}},strike:{type:ControlType.Object,title:\"Strike\",controls:{line:{type:ControlType.Boolean,title:\"Line\",enabledTitle:\"Yes\",disabledTitle:\"No\",defaultValue:false},size:{type:ControlType.Enum,title:\"Size\",options:[\"text\",\"container\"],optionTitles:[\"Text\",\"Container\"],defaultValue:\"container\",displaySegmentedControl:true,hidden:props=>!props.line},color:{type:ControlType.Color,title:\"Color\",defaultValue:\"rgba(0,0,0,0.16)\",hidden:props=>!props.line},direction:{type:ControlType.Enum,title:\"Direction\",options:[\"horizontal\",\"diagonal-up\",\"diagonal-down\"],optionTitles:[\"Horizontal\",\"Diagonal Up\",\"Diagonal Down\"],defaultValue:\"diagonal-down\",displaySegmentedControl:true,segmentedControlDirection:\"vertical\",hidden:props=>!props.line||props.size===\"text\"}}}}}}},dropdownConfigs:{type:ControlType.Object,title:\"Dropdown\",hidden:props=>props.mode===\"Connect\"||props.style!==\"Dropdown\",controls:{font:{type:ControlType.Font,title:\"Font\",controls:\"extended\"},textTransform:{type:ControlType.Enum,title:\"Transform\",options:[\"None\",\"Uppercase\",\"Lowercase\",\"Capitalize\"],defaultValue:\"None\"},unselected:{type:ControlType.Object,title:\"Unselected\",controls:{text:{type:ControlType.String,title:\"Text\",defaultValue:\"Select {{variant}}\",description:\"Use {{variant}} to insert the variant name\"},color:{type:ControlType.Color,title:\"Text\",defaultValue:\"rgba(0,0,0,0.48)\"},background:{type:ControlType.Color,title:\"BG\",defaultValue:\"#FFFFFF\"},border:{type:ControlType.Border,title:\"Border\",controls:\"extended\",defaultValue:{borderWidth:1,borderStyle:\"solid\",borderColor:\"rgba(0,0,0,0.08)\"}}}},selected:{type:ControlType.Object,title:\"Selected\",controls:{color:{type:ControlType.Color,title:\"Text\",defaultValue:\"#000000\"},background:{type:ControlType.Color,title:\"BG\",defaultValue:\"#FFFFFF\"},border:{type:ControlType.Border,title:\"Border\",controls:\"extended\",defaultValue:{borderWidth:1,borderStyle:\"solid\",borderColor:\"rgba(0,0,0,0.16)\"}}}},hover:{type:ControlType.Object,title:\"Hover\",controls:{color:{type:ControlType.Color,title:\"Text\",defaultValue:\"#000000\"},background:{type:ControlType.Color,title:\"BG\",defaultValue:\"rgba(0,0,0,0.04)\"},border:{type:ControlType.Border,title:\"Border\",controls:\"extended\",defaultValue:{borderWidth:1,borderStyle:\"solid\",borderColor:\"#000000\"}}}},radius:{type:ControlType.BorderRadius,title:\"Radius\",defaultValue:\"4px\"},padding:{type:ControlType.Padding,title:\"Padding\",defaultValue:\"16px\"},icon:{type:ControlType.Object,title:\"Icon\",controls:{type:{type:ControlType.Enum,title:\"Type\",options:[\"default\",\"custom\"],optionTitles:[\"Default\",\"Custom\"],defaultValue:\"default\",displaySegmentedControl:true},color:{type:ControlType.Color,title:\"Color\",defaultValue:\"#000000\",hidden:props=>props.type===\"custom\"},size:{type:ControlType.Number,title:\"Size\",defaultValue:12,min:8,max:64,step:1},weight:{type:ControlType.Number,title:\"Weight\",defaultValue:2,min:.5,max:4,step:.5,hidden:props=>props.type===\"custom\"},customIcon:{type:ControlType.Image,title:\"Image\",hidden:props=>props.type!==\"custom\"}}}}},swatches:{type:ControlType.Object,title:\"Swatches\",hidden:props=>props.mode===\"Connect\",controls:{gap:{type:ControlType.Number,title:\"Gap\",defaultValue:8,min:0,step:4},height:{type:ControlType.Number,title:\"Height\",defaultValue:40,min:8,max:80,step:4,displayStepper:true},width:{type:ControlType.Number,title:\"Width\",defaultValue:40,min:8,max:80,step:4,displayStepper:true},radius:{type:ControlType.BorderRadius,title:\"Radius\",defaultValue:\"50%\"},padding:{type:ControlType.Padding,title:\"Padding\",description:\"\\n\",controls:\"extended\",defaultValue:\"2px\"},unselected:{type:ControlType.Object,title:\"Default\",controls:{border:{type:ControlType.Border,title:\"Border\",controls:\"extended\",defaultValue:{borderWidth:2,borderStyle:\"solid\",borderColor:\"#FFFFFF\"}},background:{type:ControlType.Color,title:\"BG\",defaultValue:\"transparent\"}}},hovered:{type:ControlType.Object,title:\"Hover\",controls:{border:{type:ControlType.Border,title:\"Border\",controls:\"extended\",defaultValue:{borderWidth:2,borderStyle:\"solid\",borderColor:\"rgba(0,0,0,0.16)\"}},background:{type:ControlType.Color,title:\"BG\",defaultValue:\"transparent\"}}},selected:{type:ControlType.Object,title:\"Selected\",controls:{border:{type:ControlType.Border,title:\"Border\",controls:\"extended\",defaultValue:{borderWidth:2,borderStyle:\"solid\",borderColor:\"#000000\"}},background:{type:ControlType.Color,title:\"BG\",defaultValue:\"transparent\"}}},outOfStock:{type:ControlType.Object,title:\"Out of Stock\",description:\"\\n\",controls:{border:{type:ControlType.Border,title:\"Border\",controls:\"extended\",defaultValue:{borderWidth:2,borderStyle:\"solid\",borderColor:\"#FFFFFF\"}},opacity:{type:ControlType.Number,title:\"Opacity\",defaultValue:.5,min:0,max:1,step:.1},background:{type:ControlType.Color,title:\"BG\",defaultValue:\"transparent\"}}},swatchValues:{type:ControlType.Object,title:\"Values\",description:\"Configure in plugin under *Settings > Variant Swatches*\",hidden:props=>props.mode===\"Connect\",controls:{values:{type:ControlType.Array,title:\"↳ Swatches\",control:{type:ControlType.Object,controls:{name:{type:ControlType.String,title:\"Name\"},hex:{type:ControlType.Color,title:\"Color\"},url:{type:ControlType.String,title:\"Image URL\"}}},defaultValue:[]},optionTitles:{type:ControlType.Array,title:\"↳ Option Titles (Color/Images)\",control:{type:ControlType.String},defaultValue:[\"Color\"]},variantImageTitles:{type:ControlType.Array,title:\"↳ Option Titles (Variants)\",control:{type:ControlType.String},defaultValue:[]}}},variantImages:{type:ControlType.Enum,title:\"Source\",options:[\"shopify\",\"framer\"],optionTitles:[\"Shopify\",\"CMS\"],defaultValue:\"shopify\",displaySegmentedControl:true,description:\"For variants using own images, render from Shopify (Auto) or connect to CMS.\"}}},// CMS-connected image props for variant images (1–100).\n// Each image prop maps to a variant via FC Data's imageRef field (e.g. IMG_01 → image1).\n...(()=>{const imageControls={};for(let i=1;i<=100;i++){imageControls[`image${i}`]={type:ControlType.Image,title:`↳ Image ${i}`,hidden:props=>{if(resolveVariantImageSource(props.swatches)!==\"framer\")return true;if(i===1)return false;return!props[`image${i-1}`];}};}return imageControls;})(),trackingId:{title:\"Tracking\",type:ControlType.TrackingId,placeholder:\"ID\",defaultValue:\"butter-variant-selector\",description:\"Tracking ID for Framer Analytics. [Learn more](https://www.framer.com/analytics)\"}});\nexport const __FramerMetadata__ = {\"exports\":{\"default\":{\"type\":\"reactComponent\",\"name\":\"Butter_ProductVariantSelector\",\"slots\":[],\"annotations\":{\"framerContractVersion\":\"1\",\"framerDisableUnlink\":\"*\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}","// Generated by Framer (b44fae2)\nimport{fontStore}from\"framer\";fontStore.loadFonts([]);export const fonts=[{explicitInter:true,fonts:[]}];export const css=[\".framer-vVXa9 .framer-styles-preset-1ked9qm:not(.rich-text-wrapper), .framer-vVXa9 .framer-styles-preset-1ked9qm.rich-text-wrapper a { --framer-link-current-text-color: var(--token-25dffb6f-7224-457b-8095-a82c7fa5a8b9, rgba(0, 0, 0, 0.48)); --framer-link-current-text-decoration: none; --framer-link-hover-text-color: #c0d9e3; --framer-link-hover-text-decoration: none; --framer-link-text-color: var(--token-d35e5398-af28-4f97-8e2e-13717c50156f, #ffffff); --framer-link-text-decoration: none; transition-delay: 0s; transition-duration: 0.4s; transition-property: color; transition-timing-function: cubic-bezier(0.44, 0, 0.56, 1); }\"];export const className=\"framer-vVXa9\";\nexport const __FramerMetadata__ = {\"exports\":{\"fonts\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"css\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"className\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}","// Generated by Framer (6ca5d98)\nimport{jsx as _jsx}from\"react/jsx-runtime\";import{addPropertyControls,ControlType,cx,motion,useSVGTemplate,withCSS}from\"framer\";import*as React from\"react\";import{forwardRef}from\"react\";const mask=\"var(--framer-icon-mask)\";const Base=/*#__PURE__*/forwardRef(function(props,ref){return /*#__PURE__*/_jsx(\"svg\",{...props,ref:ref,children:props.children});});const MotionSVG=motion.create(Base);const SVG=/*#__PURE__*/forwardRef((props,ref)=>{const{animated,layoutId,children,...rest}=props;return animated?/*#__PURE__*/_jsx(MotionSVG,{...rest,layoutId:layoutId,ref:ref,children:children}):/*#__PURE__*/_jsx(\"svg\",{...rest,ref:ref,children:children});});const svg='<svg display=\"block\" role=\"presentation\" viewBox=\"0 0 24 24\" xmlns=\"http://www.w3.org/2000/svg\"><path d=\"M 1.5 16.5 C 0.672 16.5 0 15.828 0 15 L 0 1.5 C 0 0.672 0.672 0 1.5 0 L 15 0 C 15.828 0 16.5 0.672 16.5 1.5 L 16.5 15 C 16.5 15.828 15.828 16.5 15 16.5 Z\" fill-opacity=\"var(--1m6trwb, 0)\" fill=\"var(--21h8s6, rgb(0, 0, 0))\" height=\"16.5px\" id=\"qUr6K2nJv\" transform=\"translate(3.75 3.75)\" width=\"16.5px\"/><path d=\"M 0 0 L 16.5 0\" fill=\"transparent\" height=\"1px\" id=\"MbfmAbWGf\" stroke-dasharray=\"\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"var(--pgex8v, 1.5)\" stroke=\"var(--21h8s6, rgb(0, 0, 0))\" transform=\"translate(3.75 12)\" width=\"16.5px\"/><path d=\"M 0 0 L 0 16.5\" fill=\"transparent\" height=\"16.5px\" id=\"mcA57vhod\" stroke-dasharray=\"\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"var(--pgex8v, 1.5)\" stroke=\"var(--21h8s6, rgb(0, 0, 0))\" transform=\"translate(12 3.75)\" width=\"1px\"/></svg>';const getProps=({alpha,color,height,id,width,width1,...props})=>{return{...props,ezTt3ayMo:color??props.ezTt3ayMo??\"rgb(0, 0, 0)\",lschgej4H:width1??props.lschgej4H??1.5,qxTvv_EBh:alpha??props.qxTvv_EBh};};const Component=/*#__PURE__*/React.forwardRef(function(props,ref){const{style,className,layoutId,variant,ezTt3ayMo,lschgej4H,qxTvv_EBh,...restProps}=getProps(props);const href=useSVGTemplate(\"465907804\",svg);return /*#__PURE__*/_jsx(SVG,{...restProps,className:cx(\"framer-ohg0r\",className),layoutId:layoutId,ref:ref,role:\"presentation\",style:{\"--1m6trwb\":qxTvv_EBh,\"--21h8s6\":ezTt3ayMo,\"--pgex8v\":lschgej4H,...style},viewBox:\"0 0 24 24\",children:/*#__PURE__*/_jsx(\"use\",{href:href})});});const css=[`.framer-ohg0r { -webkit-mask: ${mask}; aspect-ratio: 1; display: block; mask: ${mask}; width: 24px; }`];/**\n * This is a generated Framer component.\n * @framerIntrinsicWidth 24\n * @framerIntrinsicHeight 24\n * @framerSupportedLayoutWidth any-prefer-fixed\n * @framerSupportedLayoutHeight any-prefer-fixed\n * @framerVariables {\"ezTt3ayMo\":\"color\",\"lschgej4H\":\"width1\",\"qxTvv_EBh\":\"alpha\"}\n * @framerImmutableVariables true\n * @framerVector {\"name\":\"Plus\",\"color\":{\"type\":\"variable\",\"value\":\"21h8s6\"},\"set\":{\"localId\":\"vectorSet/NGVKdicsm\",\"id\":\"NGVKdicsm\",\"moduleId\":\"omX0gWFPqDwhaiWwf6ab\"}}\n * @framerDisableUnlink true\n */const Icon=withCSS(Component,css,\"framer-ohg0r\");Icon.displayName=\"Plus\";export default Icon;addPropertyControls(Icon,{ezTt3ayMo:{defaultValue:\"rgb(0, 0, 0)\",hidden:false,title:\"Color\",type:ControlType.Color},lschgej4H:{defaultValue:1.5,displayStepper:true,hidden:false,max:6,min:0,step:.5,title:\"Width\",type:ControlType.Number},qxTvv_EBh:{defaultValue:0,displayStepper:true,hidden:false,max:1,min:0,step:.1,title:\"Alpha\",type:ControlType.Number}});\nexport const __FramerMetadata__ = {\"exports\":{\"default\":{\"type\":\"reactComponent\",\"name\":\"Icon\",\"slots\":[],\"annotations\":{\"framerVariables\":\"{\\\"ezTt3ayMo\\\":\\\"color\\\",\\\"lschgej4H\\\":\\\"width1\\\",\\\"qxTvv_EBh\\\":\\\"alpha\\\"}\",\"framerContractVersion\":\"1\",\"framerDisableUnlink\":\"true\",\"framerIntrinsicHeight\":\"24\",\"framerSupportedLayoutHeight\":\"any-prefer-fixed\",\"framerVector\":\"{\\\"name\\\":\\\"Plus\\\",\\\"color\\\":{\\\"type\\\":\\\"variable\\\",\\\"value\\\":\\\"21h8s6\\\"},\\\"set\\\":{\\\"localId\\\":\\\"vectorSet/NGVKdicsm\\\",\\\"id\\\":\\\"NGVKdicsm\\\",\\\"moduleId\\\":\\\"omX0gWFPqDwhaiWwf6ab\\\"}}\",\"framerImmutableVariables\":\"true\",\"framerIntrinsicWidth\":\"24\",\"framerSupportedLayoutWidth\":\"any-prefer-fixed\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}","// Generated by Framer (6ca5d98)\nimport{jsx as _jsx}from\"react/jsx-runtime\";import{addPropertyControls,ControlType,cx,motion,useSVGTemplate,withCSS}from\"framer\";import*as React from\"react\";import{forwardRef}from\"react\";const mask=\"var(--framer-icon-mask)\";const Base=/*#__PURE__*/forwardRef(function(props,ref){return /*#__PURE__*/_jsx(\"svg\",{...props,ref:ref,children:props.children});});const MotionSVG=motion.create(Base);const SVG=/*#__PURE__*/forwardRef((props,ref)=>{const{animated,layoutId,children,...rest}=props;return animated?/*#__PURE__*/_jsx(MotionSVG,{...rest,layoutId:layoutId,ref:ref,children:children}):/*#__PURE__*/_jsx(\"svg\",{...rest,ref:ref,children:children});});const svg='<svg display=\"block\" role=\"presentation\" viewBox=\"0 0 24 24\" xmlns=\"http://www.w3.org/2000/svg\"><path d=\"M 1.5 16.5 C 0.672 16.5 0 15.828 0 15 L 0 1.5 C 0 0.672 0.672 0 1.5 0 L 15 0 C 15.828 0 16.5 0.672 16.5 1.5 L 16.5 15 C 16.5 15.828 15.828 16.5 15 16.5 Z\" fill-opacity=\"var(--1m6trwb, 0)\" fill=\"var(--21h8s6, rgb(0, 0, 0))\" height=\"16.5px\" id=\"jSiOsA4GS\" transform=\"translate(3.75 3.75)\" width=\"16.5px\"/><path d=\"M 0 0 L 16.5 0\" fill=\"transparent\" height=\"1px\" id=\"NfSWNK3uH\" stroke-dasharray=\"\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"var(--pgex8v, 1.5)\" stroke=\"var(--21h8s6, rgb(0, 0, 0))\" transform=\"translate(3.75 12)\" width=\"16.5px\"/></svg>';const getProps=({alpha,color,height,id,width,width1,...props})=>{return{...props,ezTt3ayMo:color??props.ezTt3ayMo??\"rgb(0, 0, 0)\",lschgej4H:width1??props.lschgej4H??1.5,qxTvv_EBh:alpha??props.qxTvv_EBh};};const Component=/*#__PURE__*/React.forwardRef(function(props,ref){const{style,className,layoutId,variant,ezTt3ayMo,lschgej4H,qxTvv_EBh,...restProps}=getProps(props);const href=useSVGTemplate(\"650073895\",svg);return /*#__PURE__*/_jsx(SVG,{...restProps,className:cx(\"framer-I69i9\",className),layoutId:layoutId,ref:ref,role:\"presentation\",style:{\"--1m6trwb\":qxTvv_EBh,\"--21h8s6\":ezTt3ayMo,\"--pgex8v\":lschgej4H,...style},viewBox:\"0 0 24 24\",children:/*#__PURE__*/_jsx(\"use\",{href:href})});});const css=[`.framer-I69i9 { -webkit-mask: ${mask}; aspect-ratio: 1; display: block; mask: ${mask}; width: 24px; }`];/**\n * This is a generated Framer component.\n * @framerIntrinsicWidth 24\n * @framerIntrinsicHeight 24\n * @framerSupportedLayoutWidth any-prefer-fixed\n * @framerSupportedLayoutHeight any-prefer-fixed\n * @framerVariables {\"ezTt3ayMo\":\"color\",\"lschgej4H\":\"width1\",\"qxTvv_EBh\":\"alpha\"}\n * @framerImmutableVariables true\n * @framerVector {\"name\":\"Minus\",\"color\":{\"type\":\"variable\",\"value\":\"21h8s6\"},\"set\":{\"localId\":\"vectorSet/NGVKdicsm\",\"id\":\"NGVKdicsm\",\"moduleId\":\"omX0gWFPqDwhaiWwf6ab\"}}\n * @framerDisableUnlink true\n */const Icon=withCSS(Component,css,\"framer-I69i9\");Icon.displayName=\"Minus\";export default Icon;addPropertyControls(Icon,{ezTt3ayMo:{defaultValue:\"rgb(0, 0, 0)\",hidden:false,title:\"Color\",type:ControlType.Color},lschgej4H:{defaultValue:1.5,displayStepper:true,hidden:false,max:6,min:0,step:.5,title:\"Width\",type:ControlType.Number},qxTvv_EBh:{defaultValue:0,displayStepper:true,hidden:false,max:1,min:0,step:.1,title:\"Alpha\",type:ControlType.Number}});\nexport const __FramerMetadata__ = {\"exports\":{\"default\":{\"type\":\"reactComponent\",\"name\":\"Icon\",\"slots\":[],\"annotations\":{\"framerContractVersion\":\"1\",\"framerSupportedLayoutHeight\":\"any-prefer-fixed\",\"framerIntrinsicHeight\":\"24\",\"framerSupportedLayoutWidth\":\"any-prefer-fixed\",\"framerDisableUnlink\":\"true\",\"framerVector\":\"{\\\"name\\\":\\\"Minus\\\",\\\"color\\\":{\\\"type\\\":\\\"variable\\\",\\\"value\\\":\\\"21h8s6\\\"},\\\"set\\\":{\\\"localId\\\":\\\"vectorSet/NGVKdicsm\\\",\\\"id\\\":\\\"NGVKdicsm\\\",\\\"moduleId\\\":\\\"omX0gWFPqDwhaiWwf6ab\\\"}}\",\"framerIntrinsicWidth\":\"24\",\"framerVariables\":\"{\\\"ezTt3ayMo\\\":\\\"color\\\",\\\"lschgej4H\\\":\\\"width1\\\",\\\"qxTvv_EBh\\\":\\\"alpha\\\"}\",\"framerImmutableVariables\":\"true\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}","// Generated by Framer (b44fae2)\nimport{jsx as _jsx,jsxs as _jsxs}from\"react/jsx-runtime\";import{addFonts,addPropertyControls,ControlType,cx,CycleVariantState,Instance,RichText,useActiveVariantCallback,useComponentViewport,useLocaleInfo,useVariantState,withCSS}from\"framer\";import{LayoutGroup,motion,MotionConfigContext}from\"framer-motion\";import*as React from\"react\";import{useRef}from\"react\";import Plus from\"https://framerusercontent.com/modules/sPPEJJGDR4eUvdon1Bel/f3XESni8XlI3ypQ6Exdb/HbzxRJMyi.js\";import Minus from\"https://framerusercontent.com/modules/XWlg8k1reSGaD8FxxtNM/bBmqMkWmu9cdiWRo7WqL/KgtuTnV_8.js\";const cycleOrder=[\"raJxlSRim\",\"qBxwCSEC4\"];const serializationHash=\"framer-U6jLA\";const variantClassNames={qBxwCSEC4:\"framer-v-emdxwe\",raJxlSRim:\"framer-v-12l0jm0\"};function addPropertyOverrides(overrides,...variants){const nextOverrides={};variants?.forEach(variant=>variant&&Object.assign(nextOverrides,overrides[variant]));return nextOverrides;}const OLDximS_Q=undefined;const KjhLDVi5D=undefined;const transition1={bounce:.2,delay:0,duration:.3,type:\"spring\"};const transformTemplate1=(_,t)=>`translate(-50%, -50%) ${t}`;const Transition=({value,children})=>{const config=React.useContext(MotionConfigContext);const transition=value??config.transition;const contextValue=React.useMemo(()=>({...config,transition}),[JSON.stringify(transition)]);return /*#__PURE__*/_jsx(MotionConfigContext.Provider,{value:contextValue,children:children});};const humanReadableVariantMap={Closed:\"qBxwCSEC4\",Open:\"raJxlSRim\"};const Variants=motion.create(React.Fragment);const getProps=({content,height,id,title,width,...props})=>{return{...props,KjhLDVi5D:content??props.KjhLDVi5D??\"If you are located in the EU or UK, you have the right to return your order within 14 calendar days after delivery for any reason. At this time, we can’t accept returns from the USA due to sustainability reasons.\",OLDximS_Q:title??props.OLDximS_Q??\"Return Policy\",variant:humanReadableVariantMap[props.variant]??props.variant??\"raJxlSRim\"};};const createLayoutDependency=(props,variants)=>{if(props.layoutDependency)return variants.join(\"-\")+props.layoutDependency;return variants.join(\"-\");};const Component=/*#__PURE__*/React.forwardRef(function(props,ref){const fallbackRef=useRef(null);const refBinding=ref??fallbackRef;const defaultLayoutId=React.useId();const{activeLocale,setLocale}=useLocaleInfo();const componentViewport=useComponentViewport();const{style,className,layoutId,variant,OLDximS_Q,KjhLDVi5D,...restProps}=getProps(props);const{baseVariant,classNames,clearLoadingGesture,gestureHandlers,gestureVariant,isLoading,setGestureState,setVariant,variants}=useVariantState({cycleOrder,defaultVariant:\"raJxlSRim\",ref:refBinding,variant,variantClassNames});const layoutDependency=createLayoutDependency(props,variants);const{activeVariantCallback,delay}=useActiveVariantCallback(baseVariant);const onTapgnqhaj=activeVariantCallback(async(...args)=>{setVariant(CycleVariantState);});const sharedStyleClassNames=[];const scopingClassNames=cx(serializationHash,...sharedStyleClassNames);const isDisplayed=()=>{if(baseVariant===\"qBxwCSEC4\")return false;return true;};return /*#__PURE__*/_jsx(LayoutGroup,{id:layoutId??defaultLayoutId,children:/*#__PURE__*/_jsx(Variants,{animate:variants,initial:false,children:/*#__PURE__*/_jsx(Transition,{value:transition1,children:/*#__PURE__*/_jsxs(motion.div,{...restProps,...gestureHandlers,className:cx(scopingClassNames,\"framer-12l0jm0\",className,classNames),\"data-framer-name\":\"Open\",layoutDependency:layoutDependency,layoutId:\"raJxlSRim\",ref:refBinding,style:{...style},...addPropertyOverrides({qBxwCSEC4:{\"data-framer-name\":\"Closed\"}},baseVariant,gestureVariant),children:[/*#__PURE__*/_jsxs(motion.div,{className:\"framer-1uao0g9\",\"data-framer-name\":\"Header\",\"data-highlight\":true,layoutDependency:layoutDependency,layoutId:\"Etp9nqLIA\",onTap:onTapgnqhaj,children:[/*#__PURE__*/_jsx(RichText,{__fromCanvasComponent:true,children:/*#__PURE__*/_jsx(React.Fragment,{children:/*#__PURE__*/_jsx(motion.p,{dir:\"auto\",style:{\"--font-selector\":\"SW50ZXItTWVkaXVt\",\"--framer-font-size\":\"12px\",\"--framer-font-weight\":\"500\",\"--framer-text-color\":\"var(--extracted-r6o4lv, var(--token-d35e5398-af28-4f97-8e2e-13717c50156f))\"},children:\"Return Policy\"})}),className:\"framer-3h7p6v\",\"data-framer-name\":\"Title\",fonts:[\"Inter-Medium\"],layoutDependency:layoutDependency,layoutId:\"Bm2wawguN\",style:{\"--extracted-r6o4lv\":\"var(--token-d35e5398-af28-4f97-8e2e-13717c50156f)\"},text:OLDximS_Q,verticalAlignment:\"top\",withExternalLayout:true}),/*#__PURE__*/_jsx(motion.div,{className:\"framer-1lq7ntr\",layoutDependency:layoutDependency,layoutId:\"GyithdSTE\",children:/*#__PURE__*/_jsx(Instance,{animated:true,className:\"framer-1v2yczp\",Component:Minus,\"data-framer-name\":\"Collapse Icon\",layoutDependency:layoutDependency,layoutId:\"xTUPQbiML\",style:{\"--1m6trwb\":0,\"--21h8s6\":\"var(--token-d35e5398-af28-4f97-8e2e-13717c50156f)\",\"--pgex8v\":2,opacity:.72},transformTemplate:transformTemplate1,...addPropertyOverrides({qBxwCSEC4:{Component:Plus}},baseVariant,gestureVariant)})})]}),isDisplayed()&&/*#__PURE__*/_jsx(RichText,{__fromCanvasComponent:true,children:/*#__PURE__*/_jsx(React.Fragment,{children:/*#__PURE__*/_jsx(motion.p,{dir:\"auto\",style:{\"--framer-font-size\":\"12px\",\"--framer-line-height\":\"1.45em\",\"--framer-text-color\":\"var(--extracted-r6o4lv, rgba(255, 255, 255, 0.58))\"},children:\"If you are located in the EU or UK, you have the right to return your order within 14 calendar days after delivery for any reason. At this time, we can’t accept returns from the USA due to sustainability reasons.\"})}),className:\"framer-6vvge6\",\"data-framer-name\":\"Content\",fonts:[\"Inter\"],layoutDependency:layoutDependency,layoutId:\"ctVda6om6\",style:{\"--extracted-r6o4lv\":\"rgba(255, 255, 255, 0.58)\"},text:KjhLDVi5D,verticalAlignment:\"top\",withExternalLayout:true})]})})})});});const css=[\"@supports (aspect-ratio: 1) { body { --framer-aspect-ratio-supported: auto; } }\",\".framer-U6jLA.framer-hbj589, .framer-U6jLA .framer-hbj589 { display: block; }\",\".framer-U6jLA.framer-12l0jm0 { align-content: flex-start; align-items: flex-start; display: flex; flex-direction: column; flex-wrap: nowrap; gap: 12px; height: min-content; justify-content: flex-start; overflow: var(--overflow-clip-fallback, clip); padding: 12px 0px 12px 0px; position: relative; width: 452px; }\",\".framer-U6jLA .framer-1uao0g9 { align-content: center; align-items: center; cursor: pointer; display: flex; flex: none; flex-direction: row; flex-wrap: nowrap; height: 24px; justify-content: flex-start; overflow: var(--overflow-clip-fallback, clip); padding: 0px; position: relative; width: 100%; }\",\".framer-U6jLA .framer-3h7p6v { --framer-text-wrap: balance; -webkit-user-select: none; flex: 1 0 0px; height: auto; position: relative; user-select: none; white-space: pre-wrap; width: 1px; word-break: break-word; word-wrap: break-word; }\",\".framer-U6jLA .framer-1lq7ntr { aspect-ratio: 1 / 1; flex: none; height: var(--framer-aspect-ratio-supported, 32px); overflow: visible; position: relative; width: 32px; }\",\".framer-U6jLA .framer-1v2yczp { aspect-ratio: 1 / 1; flex: none; height: var(--framer-aspect-ratio-supported, 16px); left: 50%; position: absolute; top: 50%; width: 16px; }\",\".framer-U6jLA .framer-6vvge6 { -webkit-user-select: none; flex: none; height: auto; position: relative; user-select: none; white-space: pre-wrap; width: 100%; word-break: break-word; word-wrap: break-word; }\"];/**\n * This is a generated Framer component.\n * @framerIntrinsicHeight 112\n * @framerIntrinsicWidth 452\n * @framerCanvasComponentVariantDetails {\"propertyName\":\"variant\",\"data\":{\"default\":{\"layout\":[\"fixed\",\"auto\"]},\"qBxwCSEC4\":{\"layout\":[\"fixed\",\"auto\"]}}}\n * @framerVariables {\"OLDximS_Q\":\"title\",\"KjhLDVi5D\":\"content\"}\n * @framerImmutableVariables true\n * @framerDisplayContentsDiv false\n * @framerAutoSizeImages true\n * @framerComponentViewportWidth true\n * @framerColorSyntax true\n */const FramerJ6X_yT9v_=withCSS(Component,css,\"framer-U6jLA\");export default FramerJ6X_yT9v_;FramerJ6X_yT9v_.displayName=\"Item Modal Accordion Item\";FramerJ6X_yT9v_.defaultProps={height:112,width:452};addPropertyControls(FramerJ6X_yT9v_,{variant:{options:[\"raJxlSRim\",\"qBxwCSEC4\"],optionTitles:[\"Open\",\"Closed\"],title:\"Variant\",type:ControlType.Enum},OLDximS_Q:{defaultValue:\"Return Policy\",title:\"Title\",type:ControlType.String},onOLDximS_QChange:{changes:\"OLDximS_Q\",type:ControlType.ChangeHandler},KjhLDVi5D:{defaultValue:\"If you are located in the EU or UK, you have the right to return your order within 14 calendar days after delivery for any reason. At this time, we can’t accept returns from the USA due to sustainability reasons.\",title:\"Content\",type:ControlType.String},onKjhLDVi5DChange:{changes:\"KjhLDVi5D\",type:ControlType.ChangeHandler}});addFonts(FramerJ6X_yT9v_,[{explicitInter:true,fonts:[{cssFamilyName:\"Inter\",source:\"framer\",style:\"normal\",uiFamilyName:\"Inter\",unicodeRange:\"U+0460-052F, U+1C80-1C88, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F\",url:\"https://framerusercontent.com/assets/5A3Ce6C9YYmCjpQx9M4inSaKU.woff2\",weight:\"500\"},{cssFamilyName:\"Inter\",source:\"framer\",style:\"normal\",uiFamilyName:\"Inter\",unicodeRange:\"U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116\",url:\"https://framerusercontent.com/assets/Qx95Xyt0Ka3SGhinnbXIGpEIyP4.woff2\",weight:\"500\"},{cssFamilyName:\"Inter\",source:\"framer\",style:\"normal\",uiFamilyName:\"Inter\",unicodeRange:\"U+1F00-1FFF\",url:\"https://framerusercontent.com/assets/6mJuEAguuIuMog10gGvH5d3cl8.woff2\",weight:\"500\"},{cssFamilyName:\"Inter\",source:\"framer\",style:\"normal\",uiFamilyName:\"Inter\",unicodeRange:\"U+0370-03FF\",url:\"https://framerusercontent.com/assets/xYYWaj7wCU5zSQH0eXvSaS19wo.woff2\",weight:\"500\"},{cssFamilyName:\"Inter\",source:\"framer\",style:\"normal\",uiFamilyName:\"Inter\",unicodeRange:\"U+0100-024F, U+0259, U+1E00-1EFF, U+2020, U+20A0-20AB, U+20AD-20CF, U+2113, U+2C60-2C7F, U+A720-A7FF\",url:\"https://framerusercontent.com/assets/otTaNuNpVK4RbdlT7zDDdKvQBA.woff2\",weight:\"500\"},{cssFamilyName:\"Inter\",source:\"framer\",style:\"normal\",uiFamilyName:\"Inter\",unicodeRange:\"U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2070, U+2074-207E, U+2080-208E, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD\",url:\"https://framerusercontent.com/assets/UjlFhCnUjxhNfep4oYBPqnEssyo.woff2\",weight:\"500\"},{cssFamilyName:\"Inter\",source:\"framer\",style:\"normal\",uiFamilyName:\"Inter\",unicodeRange:\"U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+1EA0-1EF9, U+20AB\",url:\"https://framerusercontent.com/assets/DolVirEGb34pEXEp8t8FQBSK4.woff2\",weight:\"500\"},{cssFamilyName:\"Inter\",source:\"framer\",style:\"normal\",uiFamilyName:\"Inter\",unicodeRange:\"U+0460-052F, U+1C80-1C88, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F\",url:\"https://framerusercontent.com/assets/5vvr9Vy74if2I6bQbJvbw7SY1pQ.woff2\",weight:\"400\"},{cssFamilyName:\"Inter\",source:\"framer\",style:\"normal\",uiFamilyName:\"Inter\",unicodeRange:\"U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116\",url:\"https://framerusercontent.com/assets/EOr0mi4hNtlgWNn9if640EZzXCo.woff2\",weight:\"400\"},{cssFamilyName:\"Inter\",source:\"framer\",style:\"normal\",uiFamilyName:\"Inter\",unicodeRange:\"U+1F00-1FFF\",url:\"https://framerusercontent.com/assets/Y9k9QrlZAqio88Klkmbd8VoMQc.woff2\",weight:\"400\"},{cssFamilyName:\"Inter\",source:\"framer\",style:\"normal\",uiFamilyName:\"Inter\",unicodeRange:\"U+0370-03FF\",url:\"https://framerusercontent.com/assets/OYrD2tBIBPvoJXiIHnLoOXnY9M.woff2\",weight:\"400\"},{cssFamilyName:\"Inter\",source:\"framer\",style:\"normal\",uiFamilyName:\"Inter\",unicodeRange:\"U+0100-024F, U+0259, U+1E00-1EFF, U+2020, U+20A0-20AB, U+20AD-20CF, U+2113, U+2C60-2C7F, U+A720-A7FF\",url:\"https://framerusercontent.com/assets/JeYwfuaPfZHQhEG8U5gtPDZ7WQ.woff2\",weight:\"400\"},{cssFamilyName:\"Inter\",source:\"framer\",style:\"normal\",uiFamilyName:\"Inter\",unicodeRange:\"U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2070, U+2074-207E, U+2080-208E, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD\",url:\"https://framerusercontent.com/assets/GrgcKwrN6d3Uz8EwcLHZxwEfC4.woff2\",weight:\"400\"},{cssFamilyName:\"Inter\",source:\"framer\",style:\"normal\",uiFamilyName:\"Inter\",unicodeRange:\"U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+1EA0-1EF9, U+20AB\",url:\"https://framerusercontent.com/assets/b6Y37FthZeALduNqHicBT6FutY.woff2\",weight:\"400\"}]}],{supportsExplicitInterCodegen:true});\nexport const __FramerMetadata__ = {\"exports\":{\"default\":{\"type\":\"reactComponent\",\"name\":\"FramerJ6X_yT9v_\",\"slots\":[],\"annotations\":{\"framerImmutableVariables\":\"true\",\"framerContractVersion\":\"1\",\"framerIntrinsicWidth\":\"452\",\"framerIntrinsicHeight\":\"112\",\"framerComponentViewportWidth\":\"true\",\"framerColorSyntax\":\"true\",\"framerCanvasComponentVariantDetails\":\"{\\\"propertyName\\\":\\\"variant\\\",\\\"data\\\":{\\\"default\\\":{\\\"layout\\\":[\\\"fixed\\\",\\\"auto\\\"]},\\\"qBxwCSEC4\\\":{\\\"layout\\\":[\\\"fixed\\\",\\\"auto\\\"]}}}\",\"framerVariables\":\"{\\\"OLDximS_Q\\\":\\\"title\\\",\\\"KjhLDVi5D\\\":\\\"content\\\"}\",\"framerDisplayContentsDiv\":\"false\",\"framerAutoSizeImages\":\"true\"}},\"Props\":{\"type\":\"tsType\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./J6X_yT9v_.map","// Generated by Framer (6ca5d98)\nimport{jsx as _jsx}from\"react/jsx-runtime\";import{addPropertyControls,ControlType,cx,motion,useSVGTemplate,withCSS}from\"framer\";import*as React from\"react\";import{forwardRef}from\"react\";const mask=\"var(--framer-icon-mask)\";const Base=/*#__PURE__*/forwardRef(function(props,ref){return /*#__PURE__*/_jsx(\"svg\",{...props,ref:ref,children:props.children});});const MotionSVG=motion.create(Base);const SVG=/*#__PURE__*/forwardRef((props,ref)=>{const{animated,layoutId,children,...rest}=props;return animated?/*#__PURE__*/_jsx(MotionSVG,{...rest,layoutId:layoutId,ref:ref,children:children}):/*#__PURE__*/_jsx(\"svg\",{...rest,ref:ref,children:children});});const svg='<svg display=\"block\" role=\"presentation\" viewBox=\"0 0 24 24\" xmlns=\"http://www.w3.org/2000/svg\"><path d=\"M 1.5 16.5 C 0.672 16.5 0 15.828 0 15 L 0 1.5 C 0 0.672 0.672 0 1.5 0 L 15 0 C 15.828 0 16.5 0.672 16.5 1.5 L 16.5 15 C 16.5 15.828 15.828 16.5 15 16.5 Z\" fill-opacity=\"var(--1m6trwb, 0)\" fill=\"var(--21h8s6, rgb(0, 0, 0))\" height=\"16.5px\" id=\"LjE0Ycn76\" transform=\"translate(3.75 3.75)\" width=\"16.5px\"/><path d=\"M 13.5 0 L 0 13.5\" fill=\"var(--21h8s6, rgb(0, 0, 0))\" height=\"13.5px\" id=\"oSDwjLCvX\" stroke-dasharray=\"\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"var(--pgex8v, 1.5)\" stroke=\"var(--21h8s6, rgb(0, 0, 0))\" transform=\"translate(5.25 5.25)\" width=\"13.5px\"/><path d=\"M 13.5 13.5 L 0 0\" fill=\"var(--21h8s6, rgb(0, 0, 0))\" height=\"13.5px\" id=\"H9XwXWiXU\" stroke-dasharray=\"\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"var(--pgex8v, 1.5)\" stroke=\"var(--21h8s6, rgb(0, 0, 0))\" transform=\"translate(5.25 5.25)\" width=\"13.5px\"/></svg>';const getProps=({alpha,color,height,id,width,width1,...props})=>{return{...props,ezTt3ayMo:color??props.ezTt3ayMo??\"rgb(0, 0, 0)\",lschgej4H:width1??props.lschgej4H??1.5,qxTvv_EBh:alpha??props.qxTvv_EBh};};const Component=/*#__PURE__*/React.forwardRef(function(props,ref){const{style,className,layoutId,variant,ezTt3ayMo,lschgej4H,qxTvv_EBh,...restProps}=getProps(props);const href=useSVGTemplate(\"2202960551\",svg);return /*#__PURE__*/_jsx(SVG,{...restProps,className:cx(\"framer-AhL2C\",className),layoutId:layoutId,ref:ref,role:\"presentation\",style:{\"--1m6trwb\":qxTvv_EBh,\"--21h8s6\":ezTt3ayMo,\"--pgex8v\":lschgej4H,...style},viewBox:\"0 0 24 24\",children:/*#__PURE__*/_jsx(\"use\",{href:href})});});const css=[`.framer-AhL2C { -webkit-mask: ${mask}; aspect-ratio: 1; display: block; mask: ${mask}; width: 24px; }`];/**\n * This is a generated Framer component.\n * @framerIntrinsicWidth 24\n * @framerIntrinsicHeight 24\n * @framerSupportedLayoutWidth any-prefer-fixed\n * @framerSupportedLayoutHeight any-prefer-fixed\n * @framerVariables {\"ezTt3ayMo\":\"color\",\"lschgej4H\":\"width1\",\"qxTvv_EBh\":\"alpha\"}\n * @framerImmutableVariables true\n * @framerVector {\"name\":\"X\",\"color\":{\"type\":\"variable\",\"value\":\"21h8s6\"},\"set\":{\"localId\":\"vectorSet/NGVKdicsm\",\"id\":\"NGVKdicsm\",\"moduleId\":\"omX0gWFPqDwhaiWwf6ab\"}}\n * @framerDisableUnlink true\n */const Icon=withCSS(Component,css,\"framer-AhL2C\");Icon.displayName=\"X\";export default Icon;addPropertyControls(Icon,{ezTt3ayMo:{defaultValue:\"rgb(0, 0, 0)\",hidden:false,title:\"Color\",type:ControlType.Color},lschgej4H:{defaultValue:1.5,displayStepper:true,hidden:false,max:6,min:0,step:.5,title:\"Width\",type:ControlType.Number},qxTvv_EBh:{defaultValue:0,displayStepper:true,hidden:false,max:1,min:0,step:.1,title:\"Alpha\",type:ControlType.Number}});\nexport const __FramerMetadata__ = {\"exports\":{\"default\":{\"type\":\"reactComponent\",\"name\":\"Icon\",\"slots\":[],\"annotations\":{\"framerSupportedLayoutWidth\":\"any-prefer-fixed\",\"framerImmutableVariables\":\"true\",\"framerDisableUnlink\":\"true\",\"framerVector\":\"{\\\"name\\\":\\\"X\\\",\\\"color\\\":{\\\"type\\\":\\\"variable\\\",\\\"value\\\":\\\"21h8s6\\\"},\\\"set\\\":{\\\"localId\\\":\\\"vectorSet/NGVKdicsm\\\",\\\"id\\\":\\\"NGVKdicsm\\\",\\\"moduleId\\\":\\\"omX0gWFPqDwhaiWwf6ab\\\"}}\",\"framerSupportedLayoutHeight\":\"any-prefer-fixed\",\"framerIntrinsicWidth\":\"24\",\"framerIntrinsicHeight\":\"24\",\"framerContractVersion\":\"1\",\"framerVariables\":\"{\\\"ezTt3ayMo\\\":\\\"color\\\",\\\"lschgej4H\\\":\\\"width1\\\",\\\"qxTvv_EBh\\\":\\\"alpha\\\"}\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}","// Generated by Framer (8bbc62e)\nimport{jsx as _jsx}from\"react/jsx-runtime\";import{addFonts,cx,getFonts,useComponentViewport,useLocaleInfo,useVariantState,withCSS}from\"framer\";import{LayoutGroup,motion,MotionConfigContext}from\"framer-motion\";import*as React from\"react\";import{useRef}from\"react\";import X from\"https://framerusercontent.com/modules/wbL0GysLpUpZOLelXsKU/7IhRlKXIvqCTv7OUjGRe/q95pf4lLL.js\";const XFonts=getFonts(X);const enabledGestures={k3wQ4zg7H:{hover:true}};const serializationHash=\"framer-ewFWL\";const variantClassNames={k3wQ4zg7H:\"framer-v-yltnep\"};function addPropertyOverrides(overrides,...variants){const nextOverrides={};variants?.forEach(variant=>variant&&Object.assign(nextOverrides,overrides[variant]));return nextOverrides;}const transition1={bounce:.2,delay:0,duration:.4,type:\"spring\"};const transformTemplate1=(_,t)=>`translate(-50%, -50%) ${t}`;const Transition=({value,children})=>{const config=React.useContext(MotionConfigContext);const transition=value??config.transition;const contextValue=React.useMemo(()=>({...config,transition}),[JSON.stringify(transition)]);return /*#__PURE__*/_jsx(MotionConfigContext.Provider,{value:contextValue,children:children});};const Variants=motion.create(React.Fragment);const getProps=({height,id,width,...props})=>{return{...props};};const createLayoutDependency=(props,variants)=>{if(props.layoutDependency)return variants.join(\"-\")+props.layoutDependency;return variants.join(\"-\");};const Component=/*#__PURE__*/React.forwardRef(function(props,ref){const fallbackRef=useRef(null);const refBinding=ref??fallbackRef;const defaultLayoutId=React.useId();const{activeLocale,setLocale}=useLocaleInfo();const componentViewport=useComponentViewport();const{style,className,layoutId,variant,...restProps}=getProps(props);const{baseVariant,classNames,clearLoadingGesture,gestureHandlers,gestureVariant,isLoading,setGestureState,setVariant,variants}=useVariantState({defaultVariant:\"k3wQ4zg7H\",enabledGestures,ref:refBinding,variant,variantClassNames});const layoutDependency=createLayoutDependency(props,variants);const sharedStyleClassNames=[];const scopingClassNames=cx(serializationHash,...sharedStyleClassNames);return /*#__PURE__*/_jsx(LayoutGroup,{id:layoutId??defaultLayoutId,children:/*#__PURE__*/_jsx(Variants,{animate:variants,initial:false,children:/*#__PURE__*/_jsx(Transition,{value:transition1,children:/*#__PURE__*/_jsx(motion.div,{...restProps,...gestureHandlers,className:cx(scopingClassNames,\"framer-yltnep\",className,classNames),\"data-framer-name\":\"Variant 1\",layoutDependency:layoutDependency,layoutId:\"k3wQ4zg7H\",ref:refBinding,style:{backgroundColor:\"rgba(255, 255, 255, 0)\",borderBottomLeftRadius:80,borderBottomRightRadius:80,borderTopLeftRadius:80,borderTopRightRadius:80,...style},variants:{\"k3wQ4zg7H-hover\":{backgroundColor:\"rgba(255, 255, 255, 0.08)\"}},...addPropertyOverrides({\"k3wQ4zg7H-hover\":{\"data-framer-name\":undefined}},baseVariant,gestureVariant),children:/*#__PURE__*/_jsx(X,{animated:true,className:\"framer-rqutcd\",layoutDependency:layoutDependency,layoutId:\"UvW3j6tHV\",style:{\"--1m6trwb\":0,\"--21h8s6\":\"rgb(201, 201, 201)\",\"--pgex8v\":2},transformTemplate:transformTemplate1,variants:{\"k3wQ4zg7H-hover\":{\"--21h8s6\":\"var(--token-d35e5398-af28-4f97-8e2e-13717c50156f, rgb(255, 255, 255))\"}}})})})})});});const css=[\"@supports (aspect-ratio: 1) { body { --framer-aspect-ratio-supported: auto; } }\",\".framer-ewFWL.framer-zl315r, .framer-ewFWL .framer-zl315r { display: block; }\",\".framer-ewFWL.framer-yltnep { cursor: pointer; height: 32px; overflow: var(--overflow-clip-fallback, clip); position: relative; width: 32px; will-change: var(--framer-will-change-override, transform); }\",\".framer-ewFWL .framer-rqutcd { aspect-ratio: 1 / 1; flex: none; height: var(--framer-aspect-ratio-supported, 16px); left: 50%; position: absolute; top: 50%; width: 16px; }\"];/**\n * This is a generated Framer component.\n * @framerIntrinsicHeight 32\n * @framerIntrinsicWidth 32\n * @framerCanvasComponentVariantDetails {\"propertyName\":\"variant\",\"data\":{\"default\":{\"layout\":[\"fixed\",\"fixed\"]},\"i98Abg38E\":{\"layout\":[\"fixed\",\"fixed\"]}}}\n * @framerImmutableVariables true\n * @framerDisplayContentsDiv false\n * @framerAutoSizeImages true\n * @framerComponentViewportWidth true\n * @framerColorSyntax true\n */const FramerQsKhzMg4b=withCSS(Component,css,\"framer-ewFWL\");export default FramerQsKhzMg4b;FramerQsKhzMg4b.displayName=\"close\";FramerQsKhzMg4b.defaultProps={height:32,width:32};addFonts(FramerQsKhzMg4b,[{explicitInter:true,fonts:[]},...XFonts],{supportsExplicitInterCodegen:true});\nexport const __FramerMetadata__ = {\"exports\":{\"Props\":{\"type\":\"tsType\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"default\":{\"type\":\"reactComponent\",\"name\":\"FramerQsKhzMg4b\",\"slots\":[],\"annotations\":{\"framerIntrinsicWidth\":\"32\",\"framerColorSyntax\":\"true\",\"framerIntrinsicHeight\":\"32\",\"framerAutoSizeImages\":\"true\",\"framerContractVersion\":\"1\",\"framerComponentViewportWidth\":\"true\",\"framerCanvasComponentVariantDetails\":\"{\\\"propertyName\\\":\\\"variant\\\",\\\"data\\\":{\\\"default\\\":{\\\"layout\\\":[\\\"fixed\\\",\\\"fixed\\\"]},\\\"i98Abg38E\\\":{\\\"layout\\\":[\\\"fixed\\\",\\\"fixed\\\"]}}}\",\"framerDisplayContentsDiv\":\"false\",\"framerImmutableVariables\":\"true\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./QsKhzMg4b.map","import{useCallback,useMemo,useRef,useLayoutEffect}from\"react\";import{useLocalState}from\"https://framerusercontent.com/modules/xYDZCCqEBzGd7zfHzUX5/cLuhs5H2O0tFIwBfaQKt/useLocalState.js\";import{useCartLineContext,useIsInCartContext}from\"https://framerusercontent.com/modules/7Tw82MXZ6dqcsMjL6yRE/gpQ9gIFynZl5n9h9bpMJ/useCartLineContext.js\";// ============================================================================\n// DEFAULT VALUES\n// ============================================================================\nconst DEFAULT_MAX_INVENTORY=100;const DEFAULT_INITIAL_QUANTITY=1;// ============================================================================\n// HOOK IMPLEMENTATION\n// ============================================================================\n/**\n * Hook for managing quantity state across components.\n *\n * Uses Zustand (via useLocalState) for cross-component synchronization.\n * Automatically detects cart context and uses appropriate keying.\n *\n * @example\n * // On product page\n * const { quantity, increment, decrement, canIncrement } = useQuantity({\n *   productId: \"9914855915814\",\n *   variantId: \"49725156786470\",\n *   maxInventory: 10,\n * });\n *\n * @example\n * // In cart (auto-detects context)\n * const { quantity, increment, decrement } = useQuantity({\n *   productId: lineContext.productId,\n *   variantId: lineContext.variantId,\n *   maxInventory: merchandise.quantityAvailable,\n *   isCartComponent: true,\n * });\n */export function useQuantity(options){const{productId,variantId,maxInventory=DEFAULT_MAX_INVENTORY,initialQuantity=DEFAULT_INITIAL_QUANTITY,availableForSale=true,isCartComponent=false}=options;// Check if we're in a cart context\nconst cartContext=useCartLineContext();const isInCart=useIsInCartContext();// Generate unique key for this quantity state\n// In cart: use instanceId (unique per cart line)\n// On product page: use productId-variantId combination\nconst quantityKey=useMemo(()=>{if(isInCart&&cartContext.instanceId){return cartContext.instanceId;}return variantId?`${productId}-${variantId}`:`${productId}-default`;},[isInCart,cartContext.instanceId,productId,variantId]);// Calculate effective max inventory\n// If available for sale but inventory is 0 or lower, treat as infinite (100)\n// If not available for sale, max is 0\nconst effectiveMaxInventory=useMemo(()=>{if(!availableForSale){return 0;}if(maxInventory<=0){return DEFAULT_MAX_INVENTORY;}return maxInventory;},[availableForSale,maxInventory]);// Get state and actions from Zustand store\nconst quantityState=useLocalState(state=>state.quantityByKey[quantityKey]);const setQuantityStore=useLocalState(state=>state.setQuantity);const incrementStore=useLocalState(state=>state.incrementQuantity);const decrementStore=useLocalState(state=>state.decrementQuantity);const resetStore=useLocalState(state=>state.resetQuantity);// Track what we've initialized to prevent loops\nconst initializedRef=useRef(null);const lastMaxRef=useRef(effectiveMaxInventory);// Raw values from store\nconst rawQuantity=quantityState?.quantity;const rawMaxQuantity=quantityState?.maxQuantity;// Compute the effective quantity (clamped to current max) at render time\n// This avoids needing to update store when max changes\nconst effectiveQuantity=useMemo(()=>{if(rawQuantity===undefined){return initialQuantity;}// Clamp to current effective max\nconst minQty=isCartComponent?0:1;return Math.max(minQty,Math.min(rawQuantity,effectiveMaxInventory));},[rawQuantity,initialQuantity,effectiveMaxInventory,isCartComponent]);// The max quantity to use (always use the prop-based one, not stored)\nconst effectiveMax=effectiveMaxInventory;// Initialize state only once per key, synchronously before paint\nuseLayoutEffect(()=>{// Only initialize if we haven't for this key\nif(initializedRef.current!==quantityKey){initializedRef.current=quantityKey;// If no state exists, create it\nif(!quantityState){setQuantityStore(quantityKey,initialQuantity,effectiveMaxInventory);}}},[quantityKey,quantityState,initialQuantity,effectiveMaxInventory,setQuantityStore]);// Update max in store only when it meaningfully changes (not on every render)\n// Use a ref comparison to prevent loops\nuseLayoutEffect(()=>{// Only run after initialization\nif(initializedRef.current!==quantityKey)return;if(!quantityState)return;// Only update if max actually changed from what we last set\nif(lastMaxRef.current!==effectiveMaxInventory){lastMaxRef.current=effectiveMaxInventory;// Compute clamped quantity\nconst minQty=isCartComponent?0:1;const clampedQty=Math.max(minQty,Math.min(quantityState.quantity,effectiveMaxInventory));// Only update store if values actually differ\nif(quantityState.maxQuantity!==effectiveMaxInventory||quantityState.quantity!==clampedQty){setQuantityStore(quantityKey,clampedQty,effectiveMaxInventory);}}},[quantityKey,effectiveMaxInventory,quantityState,isCartComponent,setQuantityStore]);// Compute ability to increment/decrement\nconst canIncrement=availableForSale&&effectiveQuantity<effectiveMax;const canDecrement=useMemo(()=>{// In cart, allow going to 0 (which triggers removal)\nif(isCartComponent){return effectiveQuantity>0;}// On product page, minimum is 1\nreturn effectiveQuantity>1;},[isCartComponent,effectiveQuantity]);// Action handlers - use effectiveMax for bounds checking\nconst increment=useCallback(()=>{if(availableForSale&&(rawQuantity??initialQuantity)<effectiveMaxInventory){incrementStore(quantityKey);}},[availableForSale,rawQuantity,initialQuantity,effectiveMaxInventory,incrementStore,quantityKey]);const decrement=useCallback(()=>{const currentQty=rawQuantity??initialQuantity;const minQty=isCartComponent?0:1;if(currentQty>minQty){decrementStore(quantityKey);}},[rawQuantity,initialQuantity,isCartComponent,decrementStore,quantityKey]);const setQuantity=useCallback(qty=>{const minQty=isCartComponent?0:1;const clampedQty=Math.max(minQty,Math.min(qty,effectiveMaxInventory));setQuantityStore(quantityKey,clampedQty,effectiveMaxInventory);},[isCartComponent,effectiveMaxInventory,setQuantityStore,quantityKey]);const reset=useCallback(()=>{resetStore(quantityKey);initializedRef.current=null;// Allow re-initialization\n},[resetStore,quantityKey]);return{quantity:effectiveQuantity,maxQuantity:effectiveMax,canIncrement,canDecrement,increment,decrement,setQuantity,reset,quantityKey};}// ============================================================================\n// UTILITY HOOKS\n// ============================================================================\n/**\n * Simple hook to get quantity for a key without full functionality.\n * Useful for read-only displays.\n */export function useQuantityValue(productId,variantId){const key=variantId?`${productId}-${variantId}`:`${productId}-default`;const quantityState=useLocalState(state=>state.quantityByKey[key]);return quantityState?.quantity??1;}/**\n * Hook to reset all quantity states.\n * Useful when cart is cleared or user navigates away.\n */export function useResetAllQuantities(){const resetQuantity=useLocalState(state=>state.resetQuantity);const quantityKeys=useLocalState(state=>Object.keys(state.quantityByKey));return useCallback(()=>{quantityKeys.forEach(key=>resetQuantity(key));},[quantityKeys,resetQuantity]);}\nexport const __FramerMetadata__ = {\"exports\":{\"useQuantity\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"useResetAllQuantities\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"UseQuantityReturn\":{\"type\":\"tsType\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"useQuantityValue\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"UseQuantityOptions\":{\"type\":\"tsType\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}","/*\n * Framer Commerce - Markets v3\n * Consolidated country and currency data\n * Single source of truth for all market-related components\n */// ============================================================================\n// TYPES\n// ============================================================================\n// ============================================================================\n// CURRENCY DATA\n// ============================================================================\nexport const CURRENCIES={AED:{code:\"AED\",symbol:\"د.إ\",name:\"UAE Dirham\",useCodeAsSymbol:false},AFN:{code:\"AFN\",symbol:\"Af\",name:\"Afghan Afghani\",useCodeAsSymbol:true},ALL:{code:\"ALL\",symbol:\"L\",name:\"Albanian Lek\",useCodeAsSymbol:false},AMD:{code:\"AMD\",symbol:\"֏\",name:\"Armenian Dram\",useCodeAsSymbol:true},ANG:{code:\"ANG\",symbol:\"ƒ\",name:\"Netherlands Antillean Guilder\",useCodeAsSymbol:false},AOA:{code:\"AOA\",symbol:\"Kz\",name:\"Angolan Kwanza\",useCodeAsSymbol:false},ARS:{code:\"ARS\",symbol:\"$\",name:\"Argentine Peso\",useCodeAsSymbol:false},AUD:{code:\"AUD\",symbol:\"$\",name:\"Australian Dollar\",useCodeAsSymbol:false},AWG:{code:\"AWG\",symbol:\"ƒ\",name:\"Aruban Florin\",useCodeAsSymbol:false},AZN:{code:\"AZN\",symbol:\"₼\",name:\"Azerbaijani Manat\",useCodeAsSymbol:false},BAM:{code:\"BAM\",symbol:\"KM\",name:\"Bosnia-Herzegovina Convertible Mark\",useCodeAsSymbol:false},BBD:{code:\"BBD\",symbol:\"$\",name:\"Barbadian Dollar\",useCodeAsSymbol:false},BDT:{code:\"BDT\",symbol:\"৳\",name:\"Bangladeshi Taka\",useCodeAsSymbol:false},BGN:{code:\"BGN\",symbol:\"лв\",name:\"Bulgarian Lev\",useCodeAsSymbol:true},BHD:{code:\"BHD\",symbol:\"د.ب\",name:\"Bahraini Dinar\",useCodeAsSymbol:false},BIF:{code:\"BIF\",symbol:\"FBu\",name:\"Burundian Franc\",useCodeAsSymbol:false},BMD:{code:\"BMD\",symbol:\"$\",name:\"Bermudan Dollar\",useCodeAsSymbol:false},BND:{code:\"BND\",symbol:\"$\",name:\"Brunei Dollar\",useCodeAsSymbol:false},BOB:{code:\"BOB\",symbol:\"Bs.\",name:\"Bolivian Boliviano\",useCodeAsSymbol:false},BRL:{code:\"BRL\",symbol:\"R$\",name:\"Brazilian Real\",useCodeAsSymbol:false},BSD:{code:\"BSD\",symbol:\"$\",name:\"Bahamian Dollar\",useCodeAsSymbol:false},BTN:{code:\"BTN\",symbol:\"Nu.\",name:\"Bhutanese Ngultrum\",useCodeAsSymbol:false},BWP:{code:\"BWP\",symbol:\"P\",name:\"Botswanan Pula\",useCodeAsSymbol:false},BYN:{code:\"BYN\",symbol:\"Br\",name:\"Belarusian Ruble\",useCodeAsSymbol:true},BZD:{code:\"BZD\",symbol:\"BZ$\",name:\"Belize Dollar\",useCodeAsSymbol:false},CAD:{code:\"CAD\",symbol:\"$\",name:\"Canadian Dollar\",useCodeAsSymbol:false},CDF:{code:\"CDF\",symbol:\"FC\",name:\"Congolese Franc\",useCodeAsSymbol:false},CHF:{code:\"CHF\",symbol:\"Fr\",name:\"Swiss Franc\",useCodeAsSymbol:true},CLP:{code:\"CLP\",symbol:\"$\",name:\"Chilean Peso\",useCodeAsSymbol:false},CNY:{code:\"CNY\",symbol:\"\\xa5\",name:\"Chinese Yuan\",useCodeAsSymbol:false},COP:{code:\"COP\",symbol:\"$\",name:\"Colombian Peso\",useCodeAsSymbol:false},CRC:{code:\"CRC\",symbol:\"₡\",name:\"Costa Rican Col\\xf3n\",useCodeAsSymbol:false},CVE:{code:\"CVE\",symbol:\"$\",name:\"Cape Verdean Escudo\",useCodeAsSymbol:false},CZK:{code:\"CZK\",symbol:\"Kč\",name:\"Czech Koruna\",useCodeAsSymbol:true},DJF:{code:\"DJF\",symbol:\"Fdj\",name:\"Djiboutian Franc\",useCodeAsSymbol:false},DKK:{code:\"DKK\",symbol:\"kr\",name:\"Danish Krone\",useCodeAsSymbol:true},DOP:{code:\"DOP\",symbol:\"RD$\",name:\"Dominican Peso\",useCodeAsSymbol:false},DZD:{code:\"DZD\",symbol:\"د.ج\",name:\"Algerian Dinar\",useCodeAsSymbol:false},EGP:{code:\"EGP\",symbol:\"\\xa3\",name:\"Egyptian Pound\",useCodeAsSymbol:false},ERN:{code:\"ERN\",symbol:\"Nfk\",name:\"Eritrean Nakfa\",useCodeAsSymbol:false},ETB:{code:\"ETB\",symbol:\"Br\",name:\"Ethiopian Birr\",useCodeAsSymbol:false},EUR:{code:\"EUR\",symbol:\"€\",name:\"Euro\",useCodeAsSymbol:false},FJD:{code:\"FJD\",symbol:\"$\",name:\"Fijian Dollar\",useCodeAsSymbol:false},FKP:{code:\"FKP\",symbol:\"\\xa3\",name:\"Falkland Islands Pound\",useCodeAsSymbol:false},GBP:{code:\"GBP\",symbol:\"\\xa3\",name:\"British Pound\",useCodeAsSymbol:false},GEL:{code:\"GEL\",symbol:\"₾\",name:\"Georgian Lari\",useCodeAsSymbol:true},GHS:{code:\"GHS\",symbol:\"₵\",name:\"Ghanaian Cedi\",useCodeAsSymbol:false},GIP:{code:\"GIP\",symbol:\"\\xa3\",name:\"Gibraltar Pound\",useCodeAsSymbol:false},GMD:{code:\"GMD\",symbol:\"D\",name:\"Gambian Dalasi\",useCodeAsSymbol:false},GNF:{code:\"GNF\",symbol:\"FG\",name:\"Guinean Franc\",useCodeAsSymbol:false},GTQ:{code:\"GTQ\",symbol:\"Q\",name:\"Guatemalan Quetzal\",useCodeAsSymbol:false},GYD:{code:\"GYD\",symbol:\"$\",name:\"Guyanaese Dollar\",useCodeAsSymbol:false},HKD:{code:\"HKD\",symbol:\"$\",name:\"Hong Kong Dollar\",useCodeAsSymbol:false},HNL:{code:\"HNL\",symbol:\"L\",name:\"Honduran Lempira\",useCodeAsSymbol:false},HRK:{code:\"HRK\",symbol:\"kn\",name:\"Croatian Kuna\",useCodeAsSymbol:true},HTG:{code:\"HTG\",symbol:\"G\",name:\"Haitian Gourde\",useCodeAsSymbol:false},HUF:{code:\"HUF\",symbol:\"Ft\",name:\"Hungarian Forint\",useCodeAsSymbol:true},IDR:{code:\"IDR\",symbol:\"Rp\",name:\"Indonesian Rupiah\",useCodeAsSymbol:false},ILS:{code:\"ILS\",symbol:\"₪\",name:\"Israeli New Shekel\",useCodeAsSymbol:false},INR:{code:\"INR\",symbol:\"₹\",name:\"Indian Rupee\",useCodeAsSymbol:false},IQD:{code:\"IQD\",symbol:\"ع.د\",name:\"Iraqi Dinar\",useCodeAsSymbol:false},IRR:{code:\"IRR\",symbol:\"﷼\",name:\"Iranian Rial\",useCodeAsSymbol:false},ISK:{code:\"ISK\",symbol:\"kr\",name:\"Icelandic Kr\\xf3na\",useCodeAsSymbol:true},JMD:{code:\"JMD\",symbol:\"J$\",name:\"Jamaican Dollar\",useCodeAsSymbol:false},JOD:{code:\"JOD\",symbol:\"د.ا\",name:\"Jordanian Dinar\",useCodeAsSymbol:false},JPY:{code:\"JPY\",symbol:\"\\xa5\",name:\"Japanese Yen\",useCodeAsSymbol:false},KES:{code:\"KES\",symbol:\"KSh\",name:\"Kenyan Shilling\",useCodeAsSymbol:false},KGS:{code:\"KGS\",symbol:\"сом\",name:\"Kyrgystani Som\",useCodeAsSymbol:true},KHR:{code:\"KHR\",symbol:\"៛\",name:\"Cambodian Riel\",useCodeAsSymbol:false},KMF:{code:\"KMF\",symbol:\"CF\",name:\"Comorian Franc\",useCodeAsSymbol:false},KRW:{code:\"KRW\",symbol:\"₩\",name:\"South Korean Won\",useCodeAsSymbol:false},KWD:{code:\"KWD\",symbol:\"د.ك\",name:\"Kuwaiti Dinar\",useCodeAsSymbol:false},KYD:{code:\"KYD\",symbol:\"$\",name:\"Cayman Islands Dollar\",useCodeAsSymbol:false},KZT:{code:\"KZT\",symbol:\"₸\",name:\"Kazakhstani Tenge\",useCodeAsSymbol:true},LAK:{code:\"LAK\",symbol:\"₭\",name:\"Laotian Kip\",useCodeAsSymbol:false},LBP:{code:\"LBP\",symbol:\"\\xa3\",name:\"Lebanese Pound\",useCodeAsSymbol:false},LKR:{code:\"LKR\",symbol:\"රු\",name:\"Sri Lankan Rupee\",useCodeAsSymbol:false},LRD:{code:\"LRD\",symbol:\"$\",name:\"Liberian Dollar\",useCodeAsSymbol:false},LSL:{code:\"LSL\",symbol:\"L\",name:\"Lesotho Loti\",useCodeAsSymbol:false},LYD:{code:\"LYD\",symbol:\"ل.د\",name:\"Libyan Dinar\",useCodeAsSymbol:false},MAD:{code:\"MAD\",symbol:\"د.م.\",name:\"Moroccan Dirham\",useCodeAsSymbol:false},MDL:{code:\"MDL\",symbol:\"MDL\",name:\"Moldovan Leu\",useCodeAsSymbol:true},MGA:{code:\"MGA\",symbol:\"Ar\",name:\"Malagasy Ariary\",useCodeAsSymbol:false},MKD:{code:\"MKD\",symbol:\"ден\",name:\"Macedonian Denar\",useCodeAsSymbol:false},MMK:{code:\"MMK\",symbol:\"Ks\",name:\"Myanmar Kyat\",useCodeAsSymbol:false},MNT:{code:\"MNT\",symbol:\"₮\",name:\"Mongolian Tugrik\",useCodeAsSymbol:true},MOP:{code:\"MOP\",symbol:\"MOP$\",name:\"Macanese Pataca\",useCodeAsSymbol:false},MRU:{code:\"MRU\",symbol:\"UM\",name:\"Mauritanian Ouguiya\",useCodeAsSymbol:true},MUR:{code:\"MUR\",symbol:\"₨\",name:\"Mauritian Rupee\",useCodeAsSymbol:false},MVR:{code:\"MVR\",symbol:\"ރ\",name:\"Maldivian Rufiyaa\",useCodeAsSymbol:false},MWK:{code:\"MWK\",symbol:\"MK\",name:\"Malawian Kwacha\",useCodeAsSymbol:false},MXN:{code:\"MXN\",symbol:\"$\",name:\"Mexican Peso\",useCodeAsSymbol:false},MYR:{code:\"MYR\",symbol:\"RM\",name:\"Malaysian Ringgit\",useCodeAsSymbol:false},MZN:{code:\"MZN\",symbol:\"MT\",name:\"Mozambican Metical\",useCodeAsSymbol:false},NAD:{code:\"NAD\",symbol:\"$\",name:\"Namibian Dollar\",useCodeAsSymbol:false},NGN:{code:\"NGN\",symbol:\"₦\",name:\"Nigerian Naira\",useCodeAsSymbol:false},NIO:{code:\"NIO\",symbol:\"C$\",name:\"Nicaraguan C\\xf3rdoba\",useCodeAsSymbol:false},NOK:{code:\"NOK\",symbol:\"kr\",name:\"Norwegian Krone\",useCodeAsSymbol:true},NPR:{code:\"NPR\",symbol:\"रू\",name:\"Nepalese Rupee\",useCodeAsSymbol:false},NZD:{code:\"NZD\",symbol:\"$\",name:\"New Zealand Dollar\",useCodeAsSymbol:false},OMR:{code:\"OMR\",symbol:\"ر.ع.\",name:\"Omani Rial\",useCodeAsSymbol:false},PAB:{code:\"PAB\",symbol:\"B/.\",name:\"Panamanian Balboa\",useCodeAsSymbol:false},PEN:{code:\"PEN\",symbol:\"S/.\",name:\"Peruvian Sol\",useCodeAsSymbol:false},PGK:{code:\"PGK\",symbol:\"K\",name:\"Papua New Guinean Kina\",useCodeAsSymbol:false},PHP:{code:\"PHP\",symbol:\"₱\",name:\"Philippine Peso\",useCodeAsSymbol:false},PKR:{code:\"PKR\",symbol:\"₨\",name:\"Pakistani Rupee\",useCodeAsSymbol:false},PLN:{code:\"PLN\",symbol:\"zł\",name:\"Polish Zloty\",useCodeAsSymbol:true},PYG:{code:\"PYG\",symbol:\"₲\",name:\"Paraguayan Guarani\",useCodeAsSymbol:false},QAR:{code:\"QAR\",symbol:\"ر.ق\",name:\"Qatari Riyal\",useCodeAsSymbol:false},RON:{code:\"RON\",symbol:\"lei\",name:\"Romanian Leu\",useCodeAsSymbol:true},RSD:{code:\"RSD\",symbol:\"Дин.\",name:\"Serbian Dinar\",useCodeAsSymbol:false},RUB:{code:\"RUB\",symbol:\"₽\",name:\"Russian Ruble\",useCodeAsSymbol:false},RWF:{code:\"RWF\",symbol:\"FRw\",name:\"Rwandan Franc\",useCodeAsSymbol:true},SAR:{code:\"SAR\",symbol:\"ر.س\",name:\"Saudi Riyal\",useCodeAsSymbol:false},SBD:{code:\"SBD\",symbol:\"$\",name:\"Solomon Islands Dollar\",useCodeAsSymbol:false},SCR:{code:\"SCR\",symbol:\"₨\",name:\"Seychellois Rupee\",useCodeAsSymbol:false},SDG:{code:\"SDG\",symbol:\"ج.س.\",name:\"Sudanese Pound\",useCodeAsSymbol:false},SEK:{code:\"SEK\",symbol:\"kr\",name:\"Swedish Krona\",useCodeAsSymbol:true},SGD:{code:\"SGD\",symbol:\"$\",name:\"Singapore Dollar\",useCodeAsSymbol:false},SHP:{code:\"SHP\",symbol:\"\\xa3\",name:\"Saint Helena Pound\",useCodeAsSymbol:false},SLL:{code:\"SLL\",symbol:\"Le\",name:\"Sierra Leonean Leone\",useCodeAsSymbol:false},SOS:{code:\"SOS\",symbol:\"Sh\",name:\"Somali Shilling\",useCodeAsSymbol:false},SRD:{code:\"SRD\",symbol:\"$\",name:\"Surinamese Dollar\",useCodeAsSymbol:false},SSP:{code:\"SSP\",symbol:\"\\xa3\",name:\"South Sudanese Pound\",useCodeAsSymbol:false},STN:{code:\"STN\",symbol:\"Db\",name:\"S\\xe3o Tom\\xe9 and Pr\\xedncipe Dobra\",useCodeAsSymbol:false},SYP:{code:\"SYP\",symbol:\"\\xa3\",name:\"Syrian Pound\",useCodeAsSymbol:false},SZL:{code:\"SZL\",symbol:\"E\",name:\"Swazi Lilangeni\",useCodeAsSymbol:false},THB:{code:\"THB\",symbol:\"฿\",name:\"Thai Baht\",useCodeAsSymbol:false},TJS:{code:\"TJS\",symbol:\"ЅМ\",name:\"Tajikistani Somoni\",useCodeAsSymbol:true},TMT:{code:\"TMT\",symbol:\"T\",name:\"Turkmenistani Manat\",useCodeAsSymbol:false},TND:{code:\"TND\",symbol:\"د.ت\",name:\"Tunisian Dinar\",useCodeAsSymbol:false},TOP:{code:\"TOP\",symbol:\"T$\",name:\"Tongan Paʻanga\",useCodeAsSymbol:false},TRY:{code:\"TRY\",symbol:\"₺\",name:\"Turkish Lira\",useCodeAsSymbol:false},TTD:{code:\"TTD\",symbol:\"TT$\",name:\"Trinidad & Tobago Dollar\",useCodeAsSymbol:false},TWD:{code:\"TWD\",symbol:\"NT$\",name:\"New Taiwan Dollar\",useCodeAsSymbol:false},TZS:{code:\"TZS\",symbol:\"TSh\",name:\"Tanzanian Shilling\",useCodeAsSymbol:false},UAH:{code:\"UAH\",symbol:\"₴\",name:\"Ukrainian Hryvnia\",useCodeAsSymbol:false},UGX:{code:\"UGX\",symbol:\"USh\",name:\"Ugandan Shilling\",useCodeAsSymbol:false},USD:{code:\"USD\",symbol:\"$\",name:\"US Dollar\",useCodeAsSymbol:false},UYU:{code:\"UYU\",symbol:\"$\",name:\"Uruguayan Peso\",useCodeAsSymbol:false},UZS:{code:\"UZS\",symbol:\"so'm\",name:\"Uzbekistani Som\",useCodeAsSymbol:true},VES:{code:\"VES\",symbol:\"Bs.\",name:\"Venezuelan Bol\\xedvar\",useCodeAsSymbol:false},VND:{code:\"VND\",symbol:\"₫\",name:\"Vietnamese Dong\",useCodeAsSymbol:false},VUV:{code:\"VUV\",symbol:\"VT\",name:\"Vanuatu Vatu\",useCodeAsSymbol:false},WST:{code:\"WST\",symbol:\"T\",name:\"Samoan Tala\",useCodeAsSymbol:false},XAF:{code:\"XAF\",symbol:\"FCFA\",name:\"Central African CFA Franc\",useCodeAsSymbol:true},XCD:{code:\"XCD\",symbol:\"$\",name:\"East Caribbean Dollar\",useCodeAsSymbol:false},XOF:{code:\"XOF\",symbol:\"CFA\",name:\"West African CFA Franc\",useCodeAsSymbol:true},XPF:{code:\"XPF\",symbol:\"₣\",name:\"CFP Franc\",useCodeAsSymbol:true},YER:{code:\"YER\",symbol:\"﷼\",name:\"Yemeni Rial\",useCodeAsSymbol:false},ZAR:{code:\"ZAR\",symbol:\"R\",name:\"South African Rand\",useCodeAsSymbol:false},ZMW:{code:\"ZMW\",symbol:\"ZK\",name:\"Zambian Kwacha\",useCodeAsSymbol:false}};// ============================================================================\n// COUNTRY DATA WITH DEFAULT CURRENCIES\n// ============================================================================\nexport const COUNTRIES={AF:{code:\"AF\",name:\"Afghanistan\",defaultCurrency:\"AFN\"},AL:{code:\"AL\",name:\"Albania\",defaultCurrency:\"ALL\"},DZ:{code:\"DZ\",name:\"Algeria\",defaultCurrency:\"DZD\"},AS:{code:\"AS\",name:\"American Samoa\",defaultCurrency:\"USD\"},AD:{code:\"AD\",name:\"Andorra\",defaultCurrency:\"EUR\"},AO:{code:\"AO\",name:\"Angola\",defaultCurrency:\"AOA\"},AI:{code:\"AI\",name:\"Anguilla\",defaultCurrency:\"XCD\"},AG:{code:\"AG\",name:\"Antigua and Barbuda\",defaultCurrency:\"XCD\"},AR:{code:\"AR\",name:\"Argentina\",defaultCurrency:\"ARS\"},AM:{code:\"AM\",name:\"Armenia\",defaultCurrency:\"AMD\"},AW:{code:\"AW\",name:\"Aruba\",defaultCurrency:\"AWG\"},AU:{code:\"AU\",name:\"Australia\",defaultCurrency:\"AUD\"},AT:{code:\"AT\",name:\"Austria\",defaultCurrency:\"EUR\"},AZ:{code:\"AZ\",name:\"Azerbaijan\",defaultCurrency:\"AZN\"},BS:{code:\"BS\",name:\"Bahamas\",defaultCurrency:\"BSD\"},BH:{code:\"BH\",name:\"Bahrain\",defaultCurrency:\"BHD\"},BD:{code:\"BD\",name:\"Bangladesh\",defaultCurrency:\"BDT\"},BB:{code:\"BB\",name:\"Barbados\",defaultCurrency:\"BBD\"},BY:{code:\"BY\",name:\"Belarus\",defaultCurrency:\"BYN\"},BE:{code:\"BE\",name:\"Belgium\",defaultCurrency:\"EUR\"},BZ:{code:\"BZ\",name:\"Belize\",defaultCurrency:\"BZD\"},BJ:{code:\"BJ\",name:\"Benin\",defaultCurrency:\"XOF\"},BM:{code:\"BM\",name:\"Bermuda\",defaultCurrency:\"BMD\"},BT:{code:\"BT\",name:\"Bhutan\",defaultCurrency:\"BTN\"},BO:{code:\"BO\",name:\"Bolivia\",defaultCurrency:\"BOB\"},BA:{code:\"BA\",name:\"Bosnia and Herzegovina\",defaultCurrency:\"BAM\"},BW:{code:\"BW\",name:\"Botswana\",defaultCurrency:\"BWP\"},BR:{code:\"BR\",name:\"Brazil\",defaultCurrency:\"BRL\"},BN:{code:\"BN\",name:\"Brunei\",defaultCurrency:\"BND\"},BG:{code:\"BG\",name:\"Bulgaria\",defaultCurrency:\"BGN\"},BF:{code:\"BF\",name:\"Burkina Faso\",defaultCurrency:\"XOF\"},BI:{code:\"BI\",name:\"Burundi\",defaultCurrency:\"BIF\"},CV:{code:\"CV\",name:\"Cabo Verde\",defaultCurrency:\"CVE\"},KH:{code:\"KH\",name:\"Cambodia\",defaultCurrency:\"KHR\"},CM:{code:\"CM\",name:\"Cameroon\",defaultCurrency:\"XAF\"},CA:{code:\"CA\",name:\"Canada\",defaultCurrency:\"CAD\"},KY:{code:\"KY\",name:\"Cayman Islands\",defaultCurrency:\"KYD\"},CF:{code:\"CF\",name:\"Central African Republic\",defaultCurrency:\"XAF\"},TD:{code:\"TD\",name:\"Chad\",defaultCurrency:\"XAF\"},CL:{code:\"CL\",name:\"Chile\",defaultCurrency:\"CLP\"},CN:{code:\"CN\",name:\"China\",defaultCurrency:\"CNY\"},CO:{code:\"CO\",name:\"Colombia\",defaultCurrency:\"COP\"},KM:{code:\"KM\",name:\"Comoros\",defaultCurrency:\"KMF\"},CG:{code:\"CG\",name:\"Republic of the Congo\",defaultCurrency:\"XAF\"},CD:{code:\"CD\",name:\"Democratic Republic of the Congo\",defaultCurrency:\"CDF\"},CK:{code:\"CK\",name:\"Cook Islands\",defaultCurrency:\"NZD\"},CR:{code:\"CR\",name:\"Costa Rica\",defaultCurrency:\"CRC\"},HR:{code:\"HR\",name:\"Croatia\",defaultCurrency:\"EUR\"},CU:{code:\"CU\",name:\"Cuba\",defaultCurrency:\"CUP\"},CW:{code:\"CW\",name:\"Cura\\xe7ao\",defaultCurrency:\"ANG\"},CY:{code:\"CY\",name:\"Cyprus\",defaultCurrency:\"EUR\"},CZ:{code:\"CZ\",name:\"Czech Republic\",defaultCurrency:\"CZK\"},CI:{code:\"CI\",name:\"C\\xf4te d'Ivoire\",defaultCurrency:\"XOF\"},DK:{code:\"DK\",name:\"Denmark\",defaultCurrency:\"DKK\"},DJ:{code:\"DJ\",name:\"Djibouti\",defaultCurrency:\"DJF\"},DM:{code:\"DM\",name:\"Dominica\",defaultCurrency:\"XCD\"},DO:{code:\"DO\",name:\"Dominican Republic\",defaultCurrency:\"DOP\"},EC:{code:\"EC\",name:\"Ecuador\",defaultCurrency:\"USD\"},EG:{code:\"EG\",name:\"Egypt\",defaultCurrency:\"EGP\"},SV:{code:\"SV\",name:\"El Salvador\",defaultCurrency:\"USD\"},GQ:{code:\"GQ\",name:\"Equatorial Guinea\",defaultCurrency:\"XAF\"},ER:{code:\"ER\",name:\"Eritrea\",defaultCurrency:\"ERN\"},EE:{code:\"EE\",name:\"Estonia\",defaultCurrency:\"EUR\"},SZ:{code:\"SZ\",name:\"Eswatini\",defaultCurrency:\"SZL\"},ET:{code:\"ET\",name:\"Ethiopia\",defaultCurrency:\"ETB\"},FK:{code:\"FK\",name:\"Falkland Islands\",defaultCurrency:\"FKP\"},FO:{code:\"FO\",name:\"Faroe Islands\",defaultCurrency:\"DKK\"},FJ:{code:\"FJ\",name:\"Fiji\",defaultCurrency:\"FJD\"},FI:{code:\"FI\",name:\"Finland\",defaultCurrency:\"EUR\"},FR:{code:\"FR\",name:\"France\",defaultCurrency:\"EUR\"},GF:{code:\"GF\",name:\"French Guiana\",defaultCurrency:\"EUR\"},PF:{code:\"PF\",name:\"French Polynesia\",defaultCurrency:\"XPF\"},GA:{code:\"GA\",name:\"Gabon\",defaultCurrency:\"XAF\"},GM:{code:\"GM\",name:\"Gambia\",defaultCurrency:\"GMD\"},GE:{code:\"GE\",name:\"Georgia\",defaultCurrency:\"GEL\"},DE:{code:\"DE\",name:\"Germany\",defaultCurrency:\"EUR\"},GH:{code:\"GH\",name:\"Ghana\",defaultCurrency:\"GHS\"},GI:{code:\"GI\",name:\"Gibraltar\",defaultCurrency:\"GIP\"},GR:{code:\"GR\",name:\"Greece\",defaultCurrency:\"EUR\"},GL:{code:\"GL\",name:\"Greenland\",defaultCurrency:\"DKK\"},GD:{code:\"GD\",name:\"Grenada\",defaultCurrency:\"XCD\"},GP:{code:\"GP\",name:\"Guadeloupe\",defaultCurrency:\"EUR\"},GU:{code:\"GU\",name:\"Guam\",defaultCurrency:\"USD\"},GT:{code:\"GT\",name:\"Guatemala\",defaultCurrency:\"GTQ\"},GG:{code:\"GG\",name:\"Guernsey\",defaultCurrency:\"GBP\"},GN:{code:\"GN\",name:\"Guinea\",defaultCurrency:\"GNF\"},GW:{code:\"GW\",name:\"Guinea-Bissau\",defaultCurrency:\"XOF\"},GY:{code:\"GY\",name:\"Guyana\",defaultCurrency:\"GYD\"},HT:{code:\"HT\",name:\"Haiti\",defaultCurrency:\"HTG\"},VA:{code:\"VA\",name:\"Holy See\",defaultCurrency:\"EUR\"},HN:{code:\"HN\",name:\"Honduras\",defaultCurrency:\"HNL\"},HK:{code:\"HK\",name:\"Hong Kong\",defaultCurrency:\"HKD\"},HU:{code:\"HU\",name:\"Hungary\",defaultCurrency:\"HUF\"},IS:{code:\"IS\",name:\"Iceland\",defaultCurrency:\"ISK\"},IN:{code:\"IN\",name:\"India\",defaultCurrency:\"INR\"},ID:{code:\"ID\",name:\"Indonesia\",defaultCurrency:\"IDR\"},IR:{code:\"IR\",name:\"Iran\",defaultCurrency:\"IRR\"},IQ:{code:\"IQ\",name:\"Iraq\",defaultCurrency:\"IQD\"},IE:{code:\"IE\",name:\"Ireland\",defaultCurrency:\"EUR\"},IM:{code:\"IM\",name:\"Isle of Man\",defaultCurrency:\"GBP\"},IL:{code:\"IL\",name:\"Israel\",defaultCurrency:\"ILS\"},IT:{code:\"IT\",name:\"Italy\",defaultCurrency:\"EUR\"},JM:{code:\"JM\",name:\"Jamaica\",defaultCurrency:\"JMD\"},JP:{code:\"JP\",name:\"Japan\",defaultCurrency:\"JPY\"},JE:{code:\"JE\",name:\"Jersey\",defaultCurrency:\"GBP\"},JO:{code:\"JO\",name:\"Jordan\",defaultCurrency:\"JOD\"},KZ:{code:\"KZ\",name:\"Kazakhstan\",defaultCurrency:\"KZT\"},KE:{code:\"KE\",name:\"Kenya\",defaultCurrency:\"KES\"},KI:{code:\"KI\",name:\"Kiribati\",defaultCurrency:\"AUD\"},KP:{code:\"KP\",name:\"North Korea\",defaultCurrency:\"KPW\"},KR:{code:\"KR\",name:\"South Korea\",defaultCurrency:\"KRW\"},KW:{code:\"KW\",name:\"Kuwait\",defaultCurrency:\"KWD\"},KG:{code:\"KG\",name:\"Kyrgyzstan\",defaultCurrency:\"KGS\"},LA:{code:\"LA\",name:\"Laos\",defaultCurrency:\"LAK\"},LV:{code:\"LV\",name:\"Latvia\",defaultCurrency:\"EUR\"},LB:{code:\"LB\",name:\"Lebanon\",defaultCurrency:\"LBP\"},LS:{code:\"LS\",name:\"Lesotho\",defaultCurrency:\"LSL\"},LR:{code:\"LR\",name:\"Liberia\",defaultCurrency:\"LRD\"},LY:{code:\"LY\",name:\"Libya\",defaultCurrency:\"LYD\"},LI:{code:\"LI\",name:\"Liechtenstein\",defaultCurrency:\"CHF\"},LT:{code:\"LT\",name:\"Lithuania\",defaultCurrency:\"EUR\"},LU:{code:\"LU\",name:\"Luxembourg\",defaultCurrency:\"EUR\"},MO:{code:\"MO\",name:\"Macau\",defaultCurrency:\"MOP\"},MG:{code:\"MG\",name:\"Madagascar\",defaultCurrency:\"MGA\"},MW:{code:\"MW\",name:\"Malawi\",defaultCurrency:\"MWK\"},MY:{code:\"MY\",name:\"Malaysia\",defaultCurrency:\"MYR\"},MV:{code:\"MV\",name:\"Maldives\",defaultCurrency:\"MVR\"},ML:{code:\"ML\",name:\"Mali\",defaultCurrency:\"XOF\"},MT:{code:\"MT\",name:\"Malta\",defaultCurrency:\"EUR\"},MH:{code:\"MH\",name:\"Marshall Islands\",defaultCurrency:\"USD\"},MQ:{code:\"MQ\",name:\"Martinique\",defaultCurrency:\"EUR\"},MR:{code:\"MR\",name:\"Mauritania\",defaultCurrency:\"MRU\"},MU:{code:\"MU\",name:\"Mauritius\",defaultCurrency:\"MUR\"},YT:{code:\"YT\",name:\"Mayotte\",defaultCurrency:\"EUR\"},MX:{code:\"MX\",name:\"Mexico\",defaultCurrency:\"MXN\"},FM:{code:\"FM\",name:\"Federated States of Micronesia\",defaultCurrency:\"USD\"},MD:{code:\"MD\",name:\"Moldova\",defaultCurrency:\"MDL\"},MC:{code:\"MC\",name:\"Monaco\",defaultCurrency:\"EUR\"},MN:{code:\"MN\",name:\"Mongolia\",defaultCurrency:\"MNT\"},ME:{code:\"ME\",name:\"Montenegro\",defaultCurrency:\"EUR\"},MS:{code:\"MS\",name:\"Montserrat\",defaultCurrency:\"XCD\"},MA:{code:\"MA\",name:\"Morocco\",defaultCurrency:\"MAD\"},MZ:{code:\"MZ\",name:\"Mozambique\",defaultCurrency:\"MZN\"},MM:{code:\"MM\",name:\"Myanmar\",defaultCurrency:\"MMK\"},NA:{code:\"NA\",name:\"Namibia\",defaultCurrency:\"NAD\"},NR:{code:\"NR\",name:\"Nauru\",defaultCurrency:\"AUD\"},NP:{code:\"NP\",name:\"Nepal\",defaultCurrency:\"NPR\"},NL:{code:\"NL\",name:\"Netherlands\",defaultCurrency:\"EUR\"},NC:{code:\"NC\",name:\"New Caledonia\",defaultCurrency:\"XPF\"},NZ:{code:\"NZ\",name:\"New Zealand\",defaultCurrency:\"NZD\"},NI:{code:\"NI\",name:\"Nicaragua\",defaultCurrency:\"NIO\"},NE:{code:\"NE\",name:\"Niger\",defaultCurrency:\"XOF\"},NG:{code:\"NG\",name:\"Nigeria\",defaultCurrency:\"NGN\"},NU:{code:\"NU\",name:\"Niue\",defaultCurrency:\"NZD\"},NF:{code:\"NF\",name:\"Norfolk Island\",defaultCurrency:\"AUD\"},MK:{code:\"MK\",name:\"North Macedonia\",defaultCurrency:\"MKD\"},MP:{code:\"MP\",name:\"Northern Mariana Islands\",defaultCurrency:\"USD\"},NO:{code:\"NO\",name:\"Norway\",defaultCurrency:\"NOK\"},OM:{code:\"OM\",name:\"Oman\",defaultCurrency:\"OMR\"},PK:{code:\"PK\",name:\"Pakistan\",defaultCurrency:\"PKR\"},PW:{code:\"PW\",name:\"Palau\",defaultCurrency:\"USD\"},PS:{code:\"PS\",name:\"State of Palestine\",defaultCurrency:\"ILS\"},PA:{code:\"PA\",name:\"Panama\",defaultCurrency:\"PAB\"},PG:{code:\"PG\",name:\"Papua New Guinea\",defaultCurrency:\"PGK\"},PY:{code:\"PY\",name:\"Paraguay\",defaultCurrency:\"PYG\"},PE:{code:\"PE\",name:\"Peru\",defaultCurrency:\"PEN\"},PH:{code:\"PH\",name:\"Philippines\",defaultCurrency:\"PHP\"},PN:{code:\"PN\",name:\"Pitcairn\",defaultCurrency:\"NZD\"},PL:{code:\"PL\",name:\"Poland\",defaultCurrency:\"PLN\"},PT:{code:\"PT\",name:\"Portugal\",defaultCurrency:\"EUR\"},PR:{code:\"PR\",name:\"Puerto Rico\",defaultCurrency:\"USD\"},QA:{code:\"QA\",name:\"Qatar\",defaultCurrency:\"QAR\"},RO:{code:\"RO\",name:\"Romania\",defaultCurrency:\"RON\"},RU:{code:\"RU\",name:\"Russia\",defaultCurrency:\"RUB\"},RW:{code:\"RW\",name:\"Rwanda\",defaultCurrency:\"RWF\"},RE:{code:\"RE\",name:\"R\\xe9union\",defaultCurrency:\"EUR\"},BL:{code:\"BL\",name:\"Saint Barth\\xe9lemy\",defaultCurrency:\"EUR\"},SH:{code:\"SH\",name:\"Saint Helena\",defaultCurrency:\"SHP\"},KN:{code:\"KN\",name:\"Saint Kitts and Nevis\",defaultCurrency:\"XCD\"},LC:{code:\"LC\",name:\"Saint Lucia\",defaultCurrency:\"XCD\"},MF:{code:\"MF\",name:\"Saint Martin\",defaultCurrency:\"EUR\"},PM:{code:\"PM\",name:\"Saint Pierre and Miquelon\",defaultCurrency:\"EUR\"},VC:{code:\"VC\",name:\"Saint Vincent and the Grenadines\",defaultCurrency:\"XCD\"},WS:{code:\"WS\",name:\"Samoa\",defaultCurrency:\"WST\"},SM:{code:\"SM\",name:\"San Marino\",defaultCurrency:\"EUR\"},ST:{code:\"ST\",name:\"Sao Tome and Principe\",defaultCurrency:\"STN\"},SA:{code:\"SA\",name:\"Saudi Arabia\",defaultCurrency:\"SAR\"},SN:{code:\"SN\",name:\"Senegal\",defaultCurrency:\"XOF\"},RS:{code:\"RS\",name:\"Serbia\",defaultCurrency:\"RSD\"},SC:{code:\"SC\",name:\"Seychelles\",defaultCurrency:\"SCR\"},SL:{code:\"SL\",name:\"Sierra Leone\",defaultCurrency:\"SLL\"},SG:{code:\"SG\",name:\"Singapore\",defaultCurrency:\"SGD\"},SX:{code:\"SX\",name:\"Sint Maarten\",defaultCurrency:\"ANG\"},SK:{code:\"SK\",name:\"Slovakia\",defaultCurrency:\"EUR\"},SI:{code:\"SI\",name:\"Slovenia\",defaultCurrency:\"EUR\"},SB:{code:\"SB\",name:\"Solomon Islands\",defaultCurrency:\"SBD\"},SO:{code:\"SO\",name:\"Somalia\",defaultCurrency:\"SOS\"},ZA:{code:\"ZA\",name:\"South Africa\",defaultCurrency:\"ZAR\"},SS:{code:\"SS\",name:\"South Sudan\",defaultCurrency:\"SSP\"},ES:{code:\"ES\",name:\"Spain\",defaultCurrency:\"EUR\"},LK:{code:\"LK\",name:\"Sri Lanka\",defaultCurrency:\"LKR\"},SD:{code:\"SD\",name:\"Sudan\",defaultCurrency:\"SDG\"},SR:{code:\"SR\",name:\"Suriname\",defaultCurrency:\"SRD\"},SE:{code:\"SE\",name:\"Sweden\",defaultCurrency:\"SEK\"},CH:{code:\"CH\",name:\"Switzerland\",defaultCurrency:\"CHF\"},SY:{code:\"SY\",name:\"Syria\",defaultCurrency:\"SYP\"},TW:{code:\"TW\",name:\"Taiwan\",defaultCurrency:\"TWD\"},TJ:{code:\"TJ\",name:\"Tajikistan\",defaultCurrency:\"TJS\"},TZ:{code:\"TZ\",name:\"Tanzania\",defaultCurrency:\"TZS\"},TH:{code:\"TH\",name:\"Thailand\",defaultCurrency:\"THB\"},TL:{code:\"TL\",name:\"Timor-Leste\",defaultCurrency:\"USD\"},TG:{code:\"TG\",name:\"Togo\",defaultCurrency:\"XOF\"},TK:{code:\"TK\",name:\"Tokelau\",defaultCurrency:\"NZD\"},TO:{code:\"TO\",name:\"Tonga\",defaultCurrency:\"TOP\"},TT:{code:\"TT\",name:\"Trinidad and Tobago\",defaultCurrency:\"TTD\"},TN:{code:\"TN\",name:\"Tunisia\",defaultCurrency:\"TND\"},TR:{code:\"TR\",name:\"Turkey\",defaultCurrency:\"TRY\"},TM:{code:\"TM\",name:\"Turkmenistan\",defaultCurrency:\"TMT\"},TC:{code:\"TC\",name:\"Turks and Caicos Islands\",defaultCurrency:\"USD\"},TV:{code:\"TV\",name:\"Tuvalu\",defaultCurrency:\"AUD\"},UG:{code:\"UG\",name:\"Uganda\",defaultCurrency:\"UGX\"},UA:{code:\"UA\",name:\"Ukraine\",defaultCurrency:\"UAH\"},AE:{code:\"AE\",name:\"United Arab Emirates\",defaultCurrency:\"AED\"},GB:{code:\"GB\",name:\"United Kingdom\",defaultCurrency:\"GBP\"},US:{code:\"US\",name:\"United States\",defaultCurrency:\"USD\"},UY:{code:\"UY\",name:\"Uruguay\",defaultCurrency:\"UYU\"},UZ:{code:\"UZ\",name:\"Uzbekistan\",defaultCurrency:\"UZS\"},VU:{code:\"VU\",name:\"Vanuatu\",defaultCurrency:\"VUV\"},VE:{code:\"VE\",name:\"Venezuela\",defaultCurrency:\"VES\"},VN:{code:\"VN\",name:\"Vietnam\",defaultCurrency:\"VND\"},VG:{code:\"VG\",name:\"Virgin Islands (British)\",defaultCurrency:\"USD\"},VI:{code:\"VI\",name:\"Virgin Islands (U.S.)\",defaultCurrency:\"USD\"},WF:{code:\"WF\",name:\"Wallis and Futuna\",defaultCurrency:\"XPF\"},EH:{code:\"EH\",name:\"Western Sahara\",defaultCurrency:\"MAD\"},YE:{code:\"YE\",name:\"Yemen\",defaultCurrency:\"YER\"},ZM:{code:\"ZM\",name:\"Zambia\",defaultCurrency:\"ZMW\"},ZW:{code:\"ZW\",name:\"Zimbabwe\",defaultCurrency:\"USD\"},EU:{code:\"EU\",name:\"European Union\",defaultCurrency:\"EUR\"}};// ============================================================================\n// HELPER FUNCTIONS\n// ============================================================================\n/**\n * Get country name by code\n */export function getCountryName(code){return COUNTRIES[code?.toUpperCase()]?.name??code;}/**\n * Get currency symbol by code\n * If the currency uses code as symbol, returns the code\n */export function getCurrencySymbol(code){const currency=CURRENCIES[code?.toUpperCase()];if(!currency)return code||\"$\";return currency.useCodeAsSymbol?currency.code:currency.symbol;}/**\n * Get currency name by code\n */export function getCurrencyName(code){return CURRENCIES[code?.toUpperCase()]?.name??code;}/**\n * Get default currency code for a country\n */export function getDefaultCurrencyForCountry(countryCode){return COUNTRIES[countryCode?.toUpperCase()]?.defaultCurrency??\"USD\";}/**\n * Check if a currency uses its code as symbol\n */export function currencyUsesCodeAsSymbol(code){return CURRENCIES[code?.toUpperCase()]?.useCodeAsSymbol??false;}// ============================================================================\n// DROPDOWN OPTIONS (for property controls)\n// ============================================================================\n/**\n * Get all country codes sorted by name\n */export function getCountryCodesSortedByName(){return Object.keys(COUNTRIES).sort((a,b)=>COUNTRIES[a].name.localeCompare(COUNTRIES[b].name));}/**\n * Get all currency codes sorted alphabetically\n */export function getCurrencyCodesSorted(){return Object.keys(CURRENCIES).sort();}/**\n * Get country option titles for dropdown (format: \"Country Name (CC)\")\n */export function getCountryOptionTitles(codes){return codes.map(code=>`${COUNTRIES[code]?.name??code} (${code})`);}/**\n * Get country option titles (name only)\n */export function getCountryNames(codes){return codes.map(code=>COUNTRIES[code]?.name??code);}// ============================================================================\n// PRE-COMPUTED ARRAYS FOR PROPERTY CONTROLS\n// ============================================================================\nexport const COUNTRY_CODES_SORTED=getCountryCodesSortedByName();export const COUNTRY_OPTION_TITLES=getCountryOptionTitles(COUNTRY_CODES_SORTED);export const COUNTRY_NAMES_SORTED=getCountryNames(COUNTRY_CODES_SORTED);export const CURRENCY_CODES_SORTED=getCurrencyCodesSorted();// ============================================================================\n// FALLBACK MARKET\n// ============================================================================\nexport const FALLBACK_MARKET={countryCode:\"US\",countryName:\"United States\",currencyCode:\"USD\",currencySymbol:\"$\"};\nexport const __FramerMetadata__ = {\"exports\":{\"getCurrencySymbol\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"COUNTRY_NAMES_SORTED\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"CountryData\":{\"type\":\"tsType\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"FALLBACK_MARKET\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"COUNTRIES\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"COUNTRY_OPTION_TITLES\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"getDefaultCurrencyForCountry\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"CURRENCY_CODES_SORTED\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"getCountryName\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"getCurrencyCodesSorted\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"CurrencyData\":{\"type\":\"tsType\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"currencyUsesCodeAsSymbol\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"getCurrencyName\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"getCountryOptionTitles\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"getCountryNames\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"getCountryCodesSortedByName\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"CURRENCIES\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"COUNTRY_CODES_SORTED\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./marketData.map","/*\n * Framer Commerce - Markets v3\n * Plain text market parsing utilities\n * Handles parsing of setAttribute plain text values\n */import{COUNTRIES,CURRENCIES,getCurrencySymbol,FALLBACK_MARKET}from\"https://framerusercontent.com/modules/hIQ2b6PVgoJAyiF51ie5/pHFb6XqR0ab7X3QUDm2f/marketData.js\";// ============================================================================\n// PARSING FUNCTIONS\n// ============================================================================\nfunction normalizeToken(text){return text.trim().toUpperCase();}/**\n * Parse a strict market code:\n * - COUNTRY-CURRENCY\n * - COUNTRY\n * - CURRENCY\n *\n * Returns codes only; does not infer missing values.\n */export function parseMarketCode(text){if(!text||typeof text!==\"string\")return null;const normalized=normalizeToken(text);if(!normalized)return null;const parts=normalized.split(\"-\").map(part=>part.trim()).filter(Boolean);if(parts.length===2){const[countryCode,currencyCode]=parts;if(!isValidCountryCode(countryCode)||!isValidCurrencyCode(currencyCode)){return null;}return{countryCode,currencyCode};}if(parts.length===1){const token=parts[0];if(isValidCountryCode(token)){return{countryCode:token};}if(isValidCurrencyCode(token)){return{currencyCode:token};}}return null;}/**\n * Parse a plain text market identifier into structured market data\n * Handles various input formats:\n * - Country code: \"US\", \"us\", \"USA\"\n * - Country name: \"United States\", \"united states\"\n *\n * Returns null if unable to parse (triggers fallback behavior)\n */export function parseMarketText(text){if(!text||typeof text!==\"string\")return null;const trimmed=text.trim();if(!trimmed)return null;const normalized=normalizeToken(trimmed);// Try exact country code match first (most common case)\nif(COUNTRIES[normalized]){const country=COUNTRIES[normalized];const currencyCode=country.defaultCurrency;return{countryCode:normalized,countryName:country.name,currencyCode,currencySymbol:getCurrencySymbol(currencyCode)};}// Try country name lookup (case-insensitive)\nconst byName=Object.values(COUNTRIES).find(c=>c.name.toUpperCase()===normalized);if(byName){const currencyCode=byName.defaultCurrency;return{countryCode:byName.code,countryName:byName.name,currencyCode,currencySymbol:getCurrencySymbol(currencyCode)};}// Try partial name match (for common variations)\nconst byPartialName=Object.values(COUNTRIES).find(c=>c.name.toUpperCase().includes(normalized)||normalized.includes(c.name.toUpperCase()));if(byPartialName){const currencyCode=byPartialName.defaultCurrency;return{countryCode:byPartialName.code,countryName:byPartialName.name,currencyCode,currencySymbol:getCurrencySymbol(currencyCode)};}// Unable to parse\nconsole.warn(`FC Markets: Unable to parse market text: \"${text}\"`);return null;}/**\n * Parse an array of plain text market identifiers\n * Filters out invalid entries with warnings\n */export function parseAvailableMarkets(texts){if(!Array.isArray(texts))return[];return texts.map(text=>{const parsedCode=parseMarketCode(text);if(parsedCode?.countryCode){return buildMarketFromCodes(parsedCode.countryCode,parsedCode.currencyCode);}if(parsedCode?.currencyCode){// Cannot build a market without a country\nreturn null;}return parseMarketText(text);}).filter(m=>m!==null);}/**\n * Parse market text with fallback\n * Always returns a valid market (defaults to US/USD)\n */export function parseMarketTextWithFallback(text){const parsedCode=parseMarketCode(text);if(parsedCode?.countryCode){const built=buildMarketFromCodes(parsedCode.countryCode,parsedCode.currencyCode);if(built)return built;}const parsed=parseMarketText(text);if(parsed)return parsed;return{countryCode:FALLBACK_MARKET.countryCode,countryName:FALLBACK_MARKET.countryName,currencyCode:FALLBACK_MARKET.currencyCode,currencySymbol:FALLBACK_MARKET.currencySymbol};}/**\n * Parse currency code from text\n * Returns the currency code if valid, null otherwise\n */export function parseCurrencyCode(text){if(!text||typeof text!==\"string\")return null;const normalized=normalizeToken(text);if(CURRENCIES[normalized]){return normalized;}return null;}/**\n * Build a complete market state from country code\n * Uses the country's default currency\n */export function buildMarketFromCountryCode(countryCode){const code=countryCode?.toUpperCase();const country=COUNTRIES[code];if(!country)return null;const currencyCode=country.defaultCurrency;return{countryCode:code,countryName:country.name,currencyCode,currencySymbol:getCurrencySymbol(currencyCode)};}/**\n * Build a complete market state from country and currency codes\n * Validates both codes, uses country's default currency if currency is invalid\n */export function buildMarketFromCodes(countryCode,currencyCode){const normalizedCountry=countryCode?.toUpperCase();const country=COUNTRIES[normalizedCountry];if(!country)return null;// Validate currency code, fall back to country's default\nlet validCurrency=country.defaultCurrency;if(currencyCode){const normalizedCurrency=currencyCode.toUpperCase();if(CURRENCIES[normalizedCurrency]){validCurrency=normalizedCurrency;}}return{countryCode:normalizedCountry,countryName:country.name,currencyCode:validCurrency,currencySymbol:getCurrencySymbol(validCurrency)};}/**\n * Validate that a country code is valid\n */export function isValidCountryCode(code){if(!code||typeof code!==\"string\")return false;return!!COUNTRIES[code.toUpperCase()];}/**\n * Validate that a currency code is valid\n */export function isValidCurrencyCode(code){if(!code||typeof code!==\"string\")return false;return!!CURRENCIES[code.toUpperCase()];}/**\n * Get the first path segment (locale slug) from a pathname for locale path parsing\n */function getFirstPathSegment(pathname){if(!pathname)return null;const segment=pathname.split(\"/\").filter(Boolean)[0];return segment??null;}/** Parse ISO country from a locale slug (`en-ca` → `CA`). */export function parseCountryCodeFromLocaleSlug(slug){if(!slug)return null;const normalized=slug.trim().toLowerCase();const parts=normalized.split(\"-\");if(parts.length!==2){return null;}const[language,regionSlug]=parts;if(!/^[a-z]{2,3}$/.test(language)||!/^[a-z]{2}$/.test(regionSlug)){return null;}const region=regionSlug.toUpperCase();if(!isValidCountryCode(region)){return null;}return region;}/**\n * Get the market override from a locale path\n * Returns the country code encoded in the locale slug, if valid.\n */export function getMarketOverrideFromLocalePath(pathname){if(typeof window===\"undefined\"&&pathname===undefined){return null;}const path=pathname??(typeof window!==\"undefined\"?window.location.pathname:\"\");const segment=getFirstPathSegment(path);if(!segment)return null;const slug=segment.toLowerCase();const countryCode=parseCountryCodeFromLocaleSlug(slug);if(!countryCode){return null;}return{countryCode,localeSlug:slug};}\nexport const __FramerMetadata__ = {\"exports\":{\"parseCountryCodeFromLocaleSlug\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"buildMarketFromCountryCode\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"getMarketOverrideFromLocalePath\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"parseAvailableMarkets\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"buildMarketFromCodes\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"parseMarketCode\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"parseMarketTextWithFallback\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"isValidCurrencyCode\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"parseMarketText\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"isValidCountryCode\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"ParsedMarketCode\":{\"type\":\"tsType\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"parseCurrencyCode\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"ParsedMarket\":{\"type\":\"tsType\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./marketParser.map","/*\n * Framer Commerce - Markets v3\n * Auto-location via IP geolocation\n * Uses FC Location API with store-specific configuration\n */import{buildMarketFromCountryCode}from\"https://framerusercontent.com/modules/dxekZZB4kZ58H13Ob7ez/vjKg5EPQFaj0q7VTwIpc/marketParser.js\";import{log,warn}from\"https://framerusercontent.com/modules/mVbaWBbLWV8KgrAjqZgm/z1h10vx7UfFAMex4ETyU/log.js\";// ============================================================================\n// CONSTANTS\n// ============================================================================\n// FC Location API endpoint\nconst FC_LOCATION_API_BASE=\"https://staging.app.framercommerce.com/api/location\";// Fallback: freeipapi.com free server (rate limited)\nconst FREEIPAPI_URL=\"https://free.freeipapi.com/api/json\";// ============================================================================\n// HELPERS\n// ============================================================================\n/**\n * Get store ID from butterConfig\n */function getStoreId(){if(typeof window===\"undefined\")return null;return window.butterConfig?.storeId||null;}/**\n * Build the FC Location API URL with store ID\n */function buildLocationApiUrl(){const storeId=getStoreId();if(!storeId){warn(\"FC: Auto-location requires storeId in butterConfig\");return null;}return`${FC_LOCATION_API_BASE}?storeId=${encodeURIComponent(storeId)}`;}// ============================================================================\n// API FUNCTIONS\n// ============================================================================\n/**\n * Fetch location from FC Location API (primary)\n */async function fetchFromFCApi(){const apiUrl=buildLocationApiUrl();if(!apiUrl){return null;}const controller=new AbortController;const timeout=setTimeout(()=>controller.abort(),5e3);// 5s timeout\ntry{const response=await fetch(apiUrl,{signal:controller.signal,headers:{Accept:\"application/json\"}});clearTimeout(timeout);if(!response.ok){warn(\"FC: FC Location API returned\",response.status);return null;}const data=await response.json();if(data.countryCode){return{countryCode:data.countryCode.toUpperCase(),countryName:data.countryName};}return null;}catch(error){clearTimeout(timeout);if(error.name!==\"AbortError\"){warn(\"FC: FC Location API failed:\",error.message);}return null;}}/**\n * Fetch location from freeipapi.com (fallback)\n */async function fetchFromFreeIpApi(){const controller=new AbortController;const timeout=setTimeout(()=>controller.abort(),5e3);// 5s timeout\ntry{const response=await fetch(FREEIPAPI_URL,{signal:controller.signal,headers:{Accept:\"application/json\"}});clearTimeout(timeout);if(!response.ok){warn(\"FC: FreeIpApi returned\",response.status);return null;}const data=await response.json();if(data.countryCode){return{countryCode:data.countryCode.toUpperCase(),countryName:data.countryName};}return null;}catch(error){clearTimeout(timeout);if(error.name!==\"AbortError\"){warn(\"FC: FreeIpApi failed:\",error.message);}return null;}}/**\n * Fetch location from API with fallback\n * Primary: FC Location API (requires storeId)\n * Fallback: freeipapi.com\n */async function fetchLocationFromApi(){// Try FC Location API first (if storeId is available)\nconst fcResult=await fetchFromFCApi();if(fcResult){return fcResult;}// Fallback to freeipapi.com\nlog(\"FC: Falling back to freeipapi.com\");return fetchFromFreeIpApi();}// ============================================================================\n// PUBLIC API\n// ============================================================================\n/**\n * Get user's country via IP geolocation\n *\n * API Priority:\n * 1. FC Location API (requires window.butterConfig.storeId)\n * 2. freeipapi.com (fallback)\n *\n * @returns AutoLocationResult or null if detection fails\n */export async function getAutoLocation(){if(typeof window===\"undefined\")return null;// Fetch from API\nconst location=await fetchLocationFromApi();if(!location)return null;return{countryCode:location.countryCode,countryName:location.countryName,source:\"api\",timestamp:Date.now()};}/**\n * Get market from auto-location, matching against available markets\n * If the detected country is not in available markets, returns null\n *\n * @param availableCountryCodes - Array of available country codes (optional)\n *                                If not provided, any valid country is accepted\n */export async function getAutoLocationMarket(availableCountryCodes){const location=await getAutoLocation();if(!location)return null;// If available markets are specified, check if detected country is available\nif(availableCountryCodes&&availableCountryCodes.length>0){const isAvailable=availableCountryCodes.some(code=>code.toUpperCase()===location.countryCode.toUpperCase());if(!isAvailable){// Country detected but not in available markets\nlog(`FC: Detected country ${location.countryCode} not in available markets`);return null;}}// Build full market state from country code\nreturn buildMarketFromCountryCode(location.countryCode);}/**\n * Clear the auto-location cache\n * Useful for testing or when user explicitly changes market\n */export function clearAutoLocationCache(){if(typeof window===\"undefined\")return;try{localStorage.removeItem(\"fc_auto_location\");}catch{// Ignore\n}}/**\n * Check if auto-location is enabled in butterConfig\n * Note: storeId is recommended for FC Location API, but freeipapi.com fallback works without it\n */export function isAutoLocationEnabled(){if(typeof window===\"undefined\")return false;try{return!!window.butterConfig?.autoLocation;}catch{return false;}}\nexport const __FramerMetadata__ = {\"exports\":{\"AutoLocationResult\":{\"type\":\"tsType\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"clearAutoLocationCache\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"isAutoLocationEnabled\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"getAutoLocation\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"getAutoLocationMarket\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}","/*\n * Framer Commerce - Markets v3\n * Unified hook for market state management\n * Uses Zustand for reactive global state\n */import{useEffect,useCallback,useMemo,useRef}from\"react\";import{COUNTRIES,CURRENCIES,getCurrencySymbol,getCountryName,FALLBACK_MARKET}from\"https://framerusercontent.com/modules/hIQ2b6PVgoJAyiF51ie5/pHFb6XqR0ab7X3QUDm2f/marketData.js\";import{parseMarketText,parseAvailableMarkets,buildMarketFromCodes,isValidCountryCode,isValidCurrencyCode,parseMarketCode,getMarketOverrideFromLocalePath}from\"https://framerusercontent.com/modules/dxekZZB4kZ58H13Ob7ez/vjKg5EPQFaj0q7VTwIpc/marketParser.js\";import{getAutoLocationMarket,isAutoLocationEnabled}from\"https://framerusercontent.com/modules/bPdHoyg1ebdv9zfOZp93/GHDzABoRReV72mKixIcK/autoLocation.js\";import{shouldUsePreviewStorefrontMock}from\"https://framerusercontent.com/modules/FmcSlgUtRS55W3otl8f9/DktpLeyyDbjosM33g22i/IsBrowser.js\";import{log,warn}from\"https://framerusercontent.com/modules/mVbaWBbLWV8KgrAjqZgm/z1h10vx7UfFAMex4ETyU/log.js\";import CartService from\"https://framerusercontent.com/modules/vVBwckC7u10j9jUmDxXI/Fqima0ybfCi6bdQLdRWG/CartService.js\";import{useLocalState}from\"https://framerusercontent.com/modules/xYDZCCqEBzGd7zfHzUX5/cLuhs5H2O0tFIwBfaQKt/useLocalState.js\";import{MARKET_STORAGE_KEY,getMarketFromStorage,saveMarketToStorage}from\"https://framerusercontent.com/modules/t8dxLyFCxQ0drD5zahgE/q1UnvTfMSsnMEJEDyeGA/marketStorage.js\";// ============================================================================\n// CONSTANTS\n// ============================================================================\nconst URL_PARAM_MARKET=\"market\";// Legacy keys for migration\nconst LEGACY_KEYS=[\"selectedCurrency\",\"selectedCountry\",\"selectedCountryCode\",\"selectedCurrencySymbol\"];// ============================================================================\n// URL HELPERS\n// ============================================================================\nfunction getMarketFromUrl(){if(typeof window===\"undefined\")return null;try{const params=new URLSearchParams(window.location.search);const market=params.get(URL_PARAM_MARKET);if(!market)return null;log(\"FC Markets: URL market param found\",{market});return{market};}catch{return null;}}function getGlobalAvailableMarkets(){if(typeof window===\"undefined\")return[];const configWindow=window;return Array.isArray(configWindow.butterConfig?.availableMarkets)?configWindow.butterConfig.availableMarkets:[];}function cleanUrlParams(){if(typeof window===\"undefined\")return;try{const url=new URL(window.location.href);url.searchParams.delete(URL_PARAM_MARKET);window.history.replaceState(history.state,\"\",url.toString());}catch{// Ignore URL manipulation errors\n}}// ============================================================================\n// CART HELPERS\n// ============================================================================\nasync function getMarketFromCart(availableMarkets=[]){if(typeof window===\"undefined\")return null;if(shouldUsePreviewStorefrontMock())return null;try{const cartId=localStorage.getItem(\"fc_cart_id\")||localStorage.getItem(\"shopX_cart_id\");if(!cartId)return null;const shopify=CartService.getClient();const cart=await CartService.getCart(shopify,cartId);const countryCode=cart?.buyerIdentity?.countryCode;if(!countryCode||!isValidCountryCode(countryCode))return null;const storedMarket=getMarketFromStorage();if(storedMarket?.countryCode?.toUpperCase()===countryCode.toUpperCase()){return storedMarket;}const availableMarket=findMarketInAvailableMarkets({countryCode},availableMarkets);if(availableMarket)return availableMarket;return buildMarketFromCodes(countryCode)??null;}catch{return null;}}async function updateCartBuyerIdentity(countryCode){if(typeof window===\"undefined\")return;if(shouldUsePreviewStorefrontMock())return;try{const cartId=localStorage.getItem(\"fc_cart_id\")||localStorage.getItem(\"shopX_cart_id\");if(!cartId)return;const shopify=CartService.getClient();await CartService.updateBuyerIdentity(shopify,cartId,countryCode);}catch(error){console.error(\"FC: Error updating cart buyer identity:\",error);}}async function syncCartBuyerIdentity(countryCode){await updateCartBuyerIdentity(countryCode);useLocalState.getState().triggerCartRefresh();}// ============================================================================\n// MIGRATION\n// ============================================================================\nfunction migrateFromLegacyStorage(){if(typeof window===\"undefined\")return;try{// Check if already migrated\nif(localStorage.getItem(MARKET_STORAGE_KEY))return;// Read legacy keys\nconst oldCurrency=localStorage.getItem(\"selectedCurrency\");const oldCountry=localStorage.getItem(\"selectedCountry\");const oldCountryCode=localStorage.getItem(\"selectedCountryCode\");const oldSymbol=localStorage.getItem(\"selectedCurrencySymbol\");if(oldCurrency&&oldCountryCode){// Migrate to new format\nconst data={countryCode:oldCountryCode,countryName:oldCountry||\"\",currencyCode:oldCurrency,currencySymbol:oldSymbol||\"$\"};localStorage.setItem(MARKET_STORAGE_KEY,JSON.stringify(data));// Clean up legacy keys\nLEGACY_KEYS.forEach(key=>{localStorage.removeItem(key);});console.debug(\"FC: Migrated market data from legacy storage\");}}catch{// Ignore migration errors\n}}function parseMarketParam(value,availableCountries,availableCurrencies){if(!value)return null;const normalized=value.trim().toUpperCase();if(!normalized)return null;const parts=normalized.split(\"-\").map(part=>part.trim()).filter(Boolean);if(parts.length===2){const[countryCode,currencyCode]=parts;if(!isValidCountryCode(countryCode)||!isValidCurrencyCode(currencyCode)){warn(\"FC Markets: Invalid market param (country or currency)\",{input:value,countryCode,currencyCode});return null;}if(!availableCountries.has(countryCode)||!availableCurrencies.has(currencyCode)){warn(\"FC Markets: Market param not in available sets\",{input:value,countryCode,currencyCode});return null;}log(\"FC Markets: Parsed market param (country-currency)\",{countryCode,currencyCode});return{countryCode,currencyCode};}if(parts.length===1){const token=parts[0];if(availableCountries.has(token)){log(\"FC Markets: Parsed market param (country only)\",{countryCode:token});return{countryCode:token};}if(availableCurrencies.has(token)){log(\"FC Markets: Parsed market param (currency only)\",{currencyCode:token});return{currencyCode:token};}warn(\"FC Markets: Market param token not available\",{input:value});}return null;}function applyUrlOverride(base,override,allowPartial){if(!override)return{market:base,applied:false};const hasCountry=Boolean(override.countryCode);const hasCurrency=Boolean(override.currencyCode);const isPartial=hasCountry&&!hasCurrency||!hasCountry&&hasCurrency;if(isPartial&&!allowPartial){return{market:base,applied:false};}let next=base;let applied=false;if(override.countryCode){const country=COUNTRIES[override.countryCode];if(!country)return{market:base,applied:false};next={...next,countryCode:override.countryCode,countryName:country.name};applied=true;}if(override.currencyCode){if(!CURRENCIES[override.currencyCode]){return{market:base,applied:false};}next={...next,currencyCode:override.currencyCode,currencySymbol:getCurrencySymbol(override.currencyCode)};applied=true;}return{market:next,applied};}function deriveAvailableMarketSets(availableMarkets){const countries=new Set;const currencies=new Set;let hasAvailability=false;(availableMarkets||[]).forEach(entry=>{const parsedCode=parseMarketCode(entry);if(parsedCode?.countryCode&&parsedCode?.currencyCode){hasAvailability=true;const countryCode=parsedCode.countryCode.toUpperCase();const currencyCode=parsedCode.currencyCode.toUpperCase();countries.add(countryCode);currencies.add(currencyCode);return;}if(parsedCode?.countryCode){hasAvailability=true;const countryCode=parsedCode.countryCode.toUpperCase();countries.add(countryCode);const defaultCurrency=COUNTRIES[countryCode]?.defaultCurrency;if(defaultCurrency){const currencyCode=defaultCurrency.toUpperCase();currencies.add(currencyCode);}return;}if(parsedCode?.currencyCode){hasAvailability=true;currencies.add(parsedCode.currencyCode.toUpperCase());return;}const parsedText=parseMarketText(entry);if(parsedText){hasAvailability=true;const countryCode=parsedText.countryCode.toUpperCase();const currencyCode=parsedText.currencyCode.toUpperCase();countries.add(countryCode);currencies.add(currencyCode);}});return{countries,currencies,hasAvailability};}function isMarketAllowed(market,availableMarketSets){if(!availableMarketSets.hasAvailability)return true;const countryCode=market.countryCode?.toUpperCase();const currencyCode=market.currencyCode?.toUpperCase();if(!availableMarketSets.countries.has(countryCode))return false;if(!availableMarketSets.currencies.has(currencyCode))return false;return true;}function getFirstAvailableMarket(availableMarketSets){if(!availableMarketSets.hasAvailability)return null;if(availableMarketSets.countries.size>0){const[countryCode]=Array.from(availableMarketSets.countries);const market=buildMarketFromCodes(countryCode);return market??null;}return null;}function findMarketInAvailableMarkets(override,availableMarkets){if(!override)return null;const countryCode=override.countryCode?.toUpperCase();const currencyCode=override.currencyCode?.toUpperCase();return availableMarkets.find(market=>{if(countryCode&&market.countryCode.toUpperCase()!==countryCode){return false;}if(currencyCode&&market.currencyCode.toUpperCase()!==currencyCode){return false;}return Boolean(countryCode||currencyCode);})??null;}// ============================================================================\n// HOOK IMPLEMENTATION\n// ============================================================================\n// Track if market has been resolved globally (prevents duplicate resolution).\n// Stored on globalThis so all Framer code-component bundles share one resolver.\nconst MARKET_RESOLVE_FLAGS_KEY=\"__BUTTER_MARKET_RESOLVE_FLAGS__\";function getMarketResolveFlags(){if(typeof globalThis===\"undefined\"){return{hasResolvedGlobally:false,resolvedWithAvailability:false};}const g=globalThis;if(!g[MARKET_RESOLVE_FLAGS_KEY]){g[MARKET_RESOLVE_FLAGS_KEY]={hasResolvedGlobally:false,resolvedWithAvailability:false};}return g[MARKET_RESOLVE_FLAGS_KEY];}export function useMarkets(config){const isMounted=useRef(true);// Subscribe to Zustand market state (reactive - auto-updates on change)\nconst activeMarket=useLocalState(state=>state.activeMarket);const isLoading=useLocalState(state=>state.marketLoading);const setActiveMarket=useLocalState(state=>state.setActiveMarket);const setMarketLoading=useLocalState(state=>state.setMarketLoading);// Parse available markets from config\nconst available=useMemo(()=>{const parsedMarkets=parseAvailableMarkets(config?.availableMarkets||[]);return{countries:parsedMarkets,currencies:[...new Set(parsedMarkets.map(c=>c.currencyCode))]};},[config?.availableMarkets]);// Get available country codes for validation\nconst availableCountryCodes=useMemo(()=>available.countries.map(c=>c.countryCode),[available.countries]);const availableMarketSets=useMemo(()=>deriveAvailableMarketSets(config?.availableMarkets),[config?.availableMarkets]);const availableCountrySet=useMemo(()=>{if(availableMarketSets.hasAvailability){return new Set(Array.from(availableMarketSets.countries));}return new Set(Object.keys(COUNTRIES));},[availableMarketSets]);const availableCurrencySet=useMemo(()=>{if(availableMarketSets.hasAvailability){return new Set(Array.from(availableMarketSets.currencies));}return new Set(Object.keys(CURRENCIES));},[availableMarketSets]);const globalAvailableMarkets=useMemo(()=>parseAvailableMarkets(getGlobalAvailableMarkets()),[]);// Resolve active market on mount (only once globally)\nuseEffect(()=>{isMounted.current=true;const resolveFlags=getMarketResolveFlags();const shouldResolve=!resolveFlags.hasResolvedGlobally||!resolveFlags.resolvedWithAvailability&&availableMarketSets.hasAvailability;if(!shouldResolve)return;if(resolveFlags.hasResolvedGlobally&&!resolveFlags.resolvedWithAvailability&&availableMarketSets.hasAvailability){const activeCountry=activeMarket?.countryCode?.toUpperCase();if(activeCountry&&availableCountrySet.has(activeCountry)){resolveFlags.resolvedWithAvailability=true;return;}}resolveFlags.hasResolvedGlobally=true;if(availableMarketSets.hasAvailability){resolveFlags.resolvedWithAvailability=true;}// Run migration once\nmigrateFromLegacyStorage();const resolveMarket=async()=>{setMarketLoading(true);// Priority 1: URL Parameter (?market=...)\nconst urlMarketInput=getMarketFromUrl();const urlOverride=urlMarketInput?.market?parseMarketParam(urlMarketInput?.market,availableCountrySet,availableCurrencySet):null;if(urlOverride){const market=findMarketInAvailableMarkets(urlOverride,globalAvailableMarkets)??(urlOverride.countryCode?buildMarketFromCodes(urlOverride.countryCode,urlOverride.currencyCode):null);if(market){if(!isMarketAllowed(market,availableMarketSets)){warn(\"FC Markets: URL market not in available markets\",market);}else if(isMounted.current){setActiveMarket(market);saveMarketToStorage(market);cleanUrlParams();await syncCartBuyerIdentity(market.countryCode);log(\"FC Markets: Resolved from URL market param\",market);return;}}}// Priority 2: Locale path (/en-ca/...)\nconst localePathOverride=getMarketOverrideFromLocalePath();if(localePathOverride){const market=findMarketInAvailableMarkets(localePathOverride,globalAvailableMarkets)??buildMarketFromCodes(localePathOverride.countryCode);if(market){if(!isMarketAllowed(market,availableMarketSets)){warn(\"FC Markets: Locale path market not in available markets\",{market,localeSlug:localePathOverride.localeSlug});}else if(isMounted.current){setActiveMarket(market);saveMarketToStorage(market);await syncCartBuyerIdentity(market.countryCode);log(\"FC Markets: Resolved from locale path\",{market,localeSlug:localePathOverride.localeSlug});return;}}}// Priority 3: Cart buyerIdentity\nconst cartMarket=await getMarketFromCart(globalAvailableMarkets);if(cartMarket){if(!isMarketAllowed(cartMarket,availableMarketSets)){warn(\"FC Markets: Cart market not in available markets\",cartMarket);}else{if(isMounted.current){setActiveMarket(cartMarket);}log(\"FC Markets: Resolved from cart buyer identity\",cartMarket);return;}}// Priority 4: LocalStorage\nconst storedMarket=getMarketFromStorage();if(storedMarket&&isMounted.current){const{market,applied}=applyUrlOverride(storedMarket,urlOverride,true);if(!isMarketAllowed(market,availableMarketSets)){warn(\"FC Markets: Stored market not in available markets\",market);}else{setActiveMarket(market);if(applied){saveMarketToStorage(market);cleanUrlParams();}log(\"FC Markets: Resolved from storage\",{market,urlOverride,applied});return;}}// Priority 5: Auto-location (if enabled)\nif(isAutoLocationEnabled()){const autoMarket=await getAutoLocationMarket(availableMarketSets.hasAvailability?Array.from(availableMarketSets.countries):undefined);if(autoMarket&&isMounted.current){const{market,applied}=applyUrlOverride(autoMarket,urlOverride,true);if(!isMarketAllowed(market,availableMarketSets)){warn(\"FC Markets: Auto-location market not in available markets\",market);}else{setActiveMarket(market);saveMarketToStorage(market);if(applied){cleanUrlParams();}log(\"FC Markets: Resolved from auto-location\",{market,urlOverride,applied});return;}}}// Priority 6: Default from config\nif(config?.defaultMarket){const parsedCode=parseMarketCode(config.defaultMarket);const defaultMarket=parsedCode?.countryCode?buildMarketFromCodes(parsedCode.countryCode,parsedCode.currencyCode):parseMarketText(config.defaultMarket);if(defaultMarket&&isMounted.current){const{market,applied}=applyUrlOverride(defaultMarket,urlOverride,true);if(!isMarketAllowed(market,availableMarketSets)){warn(\"FC Markets: Default market not in available markets\",market);}else{setActiveMarket(market);saveMarketToStorage(market);if(applied){cleanUrlParams();}log(\"FC Markets: Resolved from default market\",{market,urlOverride,applied});return;}}}// Priority 7: USD Fallback\nif(isMounted.current){const fallbackMarket={countryCode:FALLBACK_MARKET.countryCode,countryName:FALLBACK_MARKET.countryName,currencyCode:FALLBACK_MARKET.currencyCode,currencySymbol:FALLBACK_MARKET.currencySymbol};let{market,applied}=applyUrlOverride(fallbackMarket,urlOverride,false);if(!isMarketAllowed(market,availableMarketSets)){const firstAvailable=getFirstAvailableMarket(availableMarketSets);if(firstAvailable){market=firstAvailable;}}setActiveMarket(market);if(applied){saveMarketToStorage(market);cleanUrlParams();}log(\"FC Markets: Resolved from fallback market\",{market,urlOverride,applied});}};resolveMarket();return()=>{isMounted.current=false;};},[config?.defaultMarket,globalAvailableMarkets,availableCountryCodes,availableCountrySet,availableCurrencySet,availableMarketSets,activeMarket?.countryCode,setActiveMarket,setMarketLoading]);// Action: Set market (user selection)\nconst setMarket=useCallback(async(countryCode,currencyCode)=>{const market=findMarketInAvailableMarkets({countryCode,currencyCode},globalAvailableMarkets)??buildMarketFromCodes(countryCode,currencyCode);if(!market){console.warn(`FC: Invalid country code: ${countryCode}`);return;}if(!isMarketAllowed(market,availableMarketSets)){warn(\"FC Markets: Attempted to set unavailable market\",market);return;}// Update Zustand store (all subscribers auto-update)\nsetActiveMarket(market);// Persist to storage\nsaveMarketToStorage(market);// Update cart buyer identity, then trigger re-fetch once Shopify confirms\nawait syncCartBuyerIdentity(countryCode);},[availableMarketSets,globalAvailableMarkets,setActiveMarket]);// Utilities\nconst isAvailable=useCallback(countryCode=>{if(!availableMarketSets.hasAvailability){return isValidCountryCode(countryCode);}return availableCountrySet.has(countryCode.toUpperCase());},[availableMarketSets.hasAvailability,availableCountrySet]);const getCurrencyForCountryFn=useCallback(countryCode=>{const country=COUNTRIES[countryCode?.toUpperCase()];return country?.defaultCurrency||null;},[]);const getCountryNameFn=useCallback(code=>{return getCountryName(code);},[]);const getCurrencySymbolFn=useCallback(code=>{return getCurrencySymbol(code);},[]);// Return with fallback for null state\nconst active=activeMarket||{countryCode:FALLBACK_MARKET.countryCode,countryName:FALLBACK_MARKET.countryName,currencyCode:FALLBACK_MARKET.currencyCode,currencySymbol:FALLBACK_MARKET.currencySymbol};return useMemo(()=>({active,isLoading,available,setMarket,isAvailable,getCurrencyForCountry:getCurrencyForCountryFn,getCountryName:getCountryNameFn,getCurrencySymbol:getCurrencySymbolFn}),[active,isLoading,available,setMarket,isAvailable,getCurrencyForCountryFn,getCountryNameFn,getCurrencySymbolFn]);}// ============================================================================\n// EXPORTS\n// ============================================================================\nexport{COUNTRIES,CURRENCIES,FALLBACK_MARKET}from\"https://framerusercontent.com/modules/hIQ2b6PVgoJAyiF51ie5/pHFb6XqR0ab7X3QUDm2f/marketData.js\";\nexport const __FramerMetadata__ = {\"exports\":{\"AvailableMarket\":{\"type\":\"tsType\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"UseMarketsConfig\":{\"type\":\"tsType\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"ParsedMarket\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"FALLBACK_MARKET\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"MarketState\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"CURRENCIES\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"UseMarketsReturn\":{\"type\":\"tsType\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"COUNTRIES\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"useMarkets\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}","/*\n * Framer Commerce\n * Confidential and Proprietary - All Rights Reserved\n *\n * © 2025 Butter Supply Inc. All Rights Reserved.\n */import{useCallback,useEffect,useRef}from\"react\";import{useLocalState}from\"https://framerusercontent.com/modules/xYDZCCqEBzGd7zfHzUX5/cLuhs5H2O0tFIwBfaQKt/useLocalState.js\";// ============================================================================\n// HOOK: useMiniCartModal\n// ============================================================================\n/**\n * Hook for triggering the mini cart / post-add overlay from anywhere in the app.\n *\n * Uses Zustand global state for cross-component communication.\n * Follows the same counter-based pattern as useCartModal.\n *\n * @example\n * const { openMiniCart } = useMiniCartModal();\n *\n * await addToCart(options);\n * openMiniCart();\n */export function useMiniCartModal(){const triggerMiniCartModal=useLocalState(state=>state.triggerMiniCartModal);const openMiniCart=useCallback(()=>{triggerMiniCartModal();},[triggerMiniCartModal]);return{openMiniCart};}// ============================================================================\n// HOOK: useMiniCartModalListener\n// ============================================================================\n/**\n * Hook for listening to mini cart modal open triggers.\n *\n * Uses a counter-based approach: each call to openMiniCart() increments the\n * counter, and this hook detects the change and fires the callback.\n *\n * @example\n * useMiniCartModalListener({\n *   onOpen: () => triggerShopifyMiniCartModal(),\n * });\n */export function useMiniCartModalListener(options){const{onOpen}=options;const miniCartModalTrigger=useLocalState(state=>state.miniCartModalTrigger);const prevTriggerRef=useRef(miniCartModalTrigger);const isFirstRender=useRef(true);useEffect(()=>{if(isFirstRender.current){isFirstRender.current=false;prevTriggerRef.current=miniCartModalTrigger;return;}if(miniCartModalTrigger!==prevTriggerRef.current){prevTriggerRef.current=miniCartModalTrigger;onOpen();}},[miniCartModalTrigger,onOpen]);}\nexport const __FramerMetadata__ = {\"exports\":{\"useMiniCartModal\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"UseMiniCartModalReturn\":{\"type\":\"tsType\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"UseMiniCartModalListenerOptions\":{\"type\":\"tsType\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"useMiniCartModalListener\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}","/*\n * Framer Commerce\n * Confidential and Proprietary - All Rights Reserved\n *\n * © 2025 Butter Supply Inc. All Rights Reserved.\n */import{useCallback,useEffect,useRef}from\"react\";import{useLocalState}from\"https://framerusercontent.com/modules/xYDZCCqEBzGd7zfHzUX5/cLuhs5H2O0tFIwBfaQKt/useLocalState.js\";// ============================================================================\n// HOOK: useNotifyOverlay\n// ============================================================================\n/**\n * Hook for triggering the notify overlay from anywhere in the app.\n * Typically fired when a user clicks an out-of-stock button that has\n * the notify action enabled.\n *\n * Uses Zustand global state for cross-component communication.\n * Follows the same counter-based pattern as useCartModal.\n *\n * @example\n * const { triggerNotify } = useNotifyOverlay();\n *\n * // When out-of-stock button is clicked\n * triggerNotify();\n */export function useNotifyOverlay(){const triggerNotifyOverlay=useLocalState(state=>state.triggerNotifyOverlay);const triggerNotify=useCallback(()=>{triggerNotifyOverlay();},[triggerNotifyOverlay]);return{triggerNotify};}// ============================================================================\n// HOOK: useNotifyOverlayListener\n// ============================================================================\n/**\n * Hook for listening to notify overlay triggers.\n *\n * Uses a counter-based approach: each call to triggerNotify() increments the\n * counter, and this hook detects the change and fires the callback.\n *\n * @example\n * useNotifyOverlayListener({\n *   onOpen: () => triggerNotifyOverlayAction(),\n * });\n */export function useNotifyOverlayListener(options){const{onOpen}=options;const notifyOverlayTrigger=useLocalState(state=>state.notifyOverlayTrigger);const prevTriggerRef=useRef(notifyOverlayTrigger);const isFirstRender=useRef(true);useEffect(()=>{if(isFirstRender.current){isFirstRender.current=false;prevTriggerRef.current=notifyOverlayTrigger;return;}if(notifyOverlayTrigger!==prevTriggerRef.current){prevTriggerRef.current=notifyOverlayTrigger;onOpen();}},[notifyOverlayTrigger,onOpen]);}\nexport const __FramerMetadata__ = {\"exports\":{\"useNotifyOverlayListener\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"UseNotifyOverlayReturn\":{\"type\":\"tsType\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"useNotifyOverlay\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"UseNotifyOverlayListenerOptions\":{\"type\":\"tsType\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}","/**\n * useSellingPlans Hook\n *\n * Centralized hook for selling plan (subscription) state management.\n * Parses selling plans from FC Data and uses Zustand for cross-component sync.\n *\n * FC Data selling plan format:\n *   [SUBS: Group Name | OPT: Option Name | VAL: value1, value2]\n *   [Plan Name • -10% • recurring:true • 10343219494]                               (percentage)\n *   [Plan Name • -20.00 USD • recurring:false • 10343252262]                         (fixed amount)\n *   [Plan Name • DESC: Billed monthly • Fixed: 69.00 USD • recurring:true • 10343350566]  (fixed price + desc)\n *\n * Legacy format (still supported):\n *   [SUBS: Group Name]\n *   [Plan Name • -10% • 10343219494]\n */import{useMemo,useCallback,useEffect,useRef}from\"react\";import{useLocalState}from\"https://framerusercontent.com/modules/xYDZCCqEBzGd7zfHzUX5/cLuhs5H2O0tFIwBfaQKt/useLocalState.js\";import{parseFCData,normalizeVariantId}from\"https://framerusercontent.com/modules/u4cSQPeOxFZJ30D78T0u/OH103m2xIQZsbXU9KlH0/fcDataParser.js\";// ============================================================================\n// CONSTANTS\n// ============================================================================\nexport const ONE_TIME_ID=\"one-time\";// ============================================================================\n// HELPER FUNCTIONS\n// ============================================================================\n/**\n * Calculate discounted price based on plan discount type\n */export function applyDiscount(basePrice,plan,currencyCode){switch(plan.discountType){case\"percentage\":return basePrice*(1-plan.discountValue/100);case\"fixed_amount\":// Only apply if currency matches (or no currency specified)\nif(!plan.discountCurrency||plan.discountCurrency===currencyCode){return Math.max(0,basePrice-plan.discountValue);}return basePrice;case\"fixed_price\":// Fixed price replaces the base price (currency should match)\nif(!plan.discountCurrency||plan.discountCurrency===currencyCode){return plan.discountValue;}return basePrice;default:return basePrice;}}/**\n * Get discount info for display\n */function getDiscountInfo(plan,isOneTime){if(!plan||isOneTime){return{type:\"none\",value:0,formattedDiscount:\"\"};}switch(plan.discountType){case\"percentage\":return{type:\"percentage\",value:plan.discountValue,formattedDiscount:`${plan.discountValue}% off`};case\"fixed_amount\":return{type:\"fixed_amount\",value:plan.discountValue,currency:plan.discountCurrency,formattedDiscount:plan.discountCurrency?`${plan.discountValue} ${plan.discountCurrency} off`:`${plan.discountValue} off`};case\"fixed_price\":return{type:\"fixed_price\",value:plan.discountValue,currency:plan.discountCurrency,formattedDiscount:plan.discountCurrency?`${plan.discountValue} ${plan.discountCurrency}`:`Fixed ${plan.discountValue}`};default:return{type:\"none\",value:0,formattedDiscount:\"\"};}}// ============================================================================\n// HOOK IMPLEMENTATION\n// ============================================================================\nexport function useSellingPlans(props){const{fcData,defaultSelection=\"One-time\",defaultSubIndex=1,selectedVariantId}=props;// Parse FC Data\nconst parsedData=useMemo(()=>parseFCData(fcData),[fcData]);const productId=parsedData?.productId||\"\";const sellingPlanGroups=parsedData?.sellingPlans||[];// Flatten all plans for easy access\nconst allPlans=useMemo(()=>sellingPlanGroups.flatMap(group=>group.plans||[]),[sellingPlanGroups]);// Filter plans to those applicable to the active variant.\n// Plans without variantIds apply to all variants (backward compatible).\nconst applicablePlans=useMemo(()=>{if(!selectedVariantId)return allPlans;const normalizedId=normalizeVariantId(selectedVariantId);if(!normalizedId)return allPlans;const filtered=allPlans.filter(plan=>{if(!plan.variantIds||plan.variantIds.length===0)return true;return plan.variantIds.includes(normalizedId);});return filtered.length>0?filtered:allPlans;},[allPlans,selectedVariantId]);const hasSellingPlans=allPlans.length>0;// Get/set selection from Zustand store (shared across components)\nconst storedPlanId=useLocalState(state=>state.selectedPlanByProductId[productId]);const setSelectedPlanInStore=useLocalState(state=>state.setSelectedPlan);const setPlanIfChanged=useCallback(nextPlanId=>{if(!productId||!nextPlanId)return;const currentPlanId=useLocalState.getState().selectedPlanByProductId[productId]||ONE_TIME_ID;if(currentPlanId===nextPlanId)return;setSelectedPlanInStore(productId,nextPlanId);},[productId,setSelectedPlanInStore]);// Track the selection position so it survives variant switches.\n// 'one-time' means one-time purchase; a number means the Nth subscription.\nconst selectionPositionRef=useRef(\"one-time\");// Track initialization to prevent re-initialization on re-renders\nconst hasInitialized=useRef(false);const lastProductId=useRef(null);// Reset initialization when productId changes\nuseEffect(()=>{if(lastProductId.current!==productId){hasInitialized.current=false;lastProductId.current=productId;}},[productId]);// Initialize default selection\nuseEffect(()=>{if(hasInitialized.current)return;if(!productId)return;// Only initialize if no stored value exists\nif(storedPlanId){// Sync position ref with stored selection\nif(storedPlanId===ONE_TIME_ID){selectionPositionRef.current=\"one-time\";}else{const idx=applicablePlans.findIndex(p=>p.id===storedPlanId);selectionPositionRef.current=idx>=0?idx:0;}hasInitialized.current=true;return;}// Only write to store for subscription default. One-time is implied\n// by the fallback `storedPlanId || ONE_TIME_ID` — skipping the write\n// prevents a second hook instance from overwriting a subscription\n// default set by the SellingPlans component.\nif(defaultSelection===\"Subscription\"&&applicablePlans.length>0){const idx=Math.min(Math.max(defaultSubIndex-1,0),applicablePlans.length-1);const nextPlanId=applicablePlans[idx].id;if(nextPlanId)setPlanIfChanged(nextPlanId);selectionPositionRef.current=idx;}else{selectionPositionRef.current=\"one-time\";}hasInitialized.current=true;},[productId,defaultSelection,applicablePlans,storedPlanId,setSelectedPlanInStore]);// Current selection\nconst selectedPlanId=storedPlanId||ONE_TIME_ID;const isOneTime=selectedPlanId===ONE_TIME_ID;const selectedPlan=useMemo(()=>{if(isOneTime)return null;return allPlans.find(p=>p.id===selectedPlanId)||null;},[isOneTime,selectedPlanId,allPlans]);// When applicablePlans change (e.g. variant switch), carry the selection\n// position to the new set. If the 2nd subscription was selected on Variant A,\n// select the 2nd subscription on Variant B.\n// NOTE: Multiple components share the Zustand store but each hook instance\n// has its own selectionPositionRef. Always sync the ref from the store first\n// so that cross-component selections (e.g. one-time set by SellingPlans\n// while Frequency also runs this hook) are respected.\nuseEffect(()=>{if(!hasInitialized.current||!productId)return;// Sync local ref with the authoritative store value so that selections\n// made by other component instances are honoured.\nif(selectedPlanId===ONE_TIME_ID){selectionPositionRef.current=\"one-time\";return;}const pos=selectionPositionRef.current;if(pos===\"one-time\")return;if(applicablePlans.length===0)return;const currentStillValid=applicablePlans.some(p=>p.id===selectedPlanId);if(currentStillValid){const idx=applicablePlans.findIndex(p=>p.id===selectedPlanId);if(idx>=0)selectionPositionRef.current=idx;return;}// Clamp the position to the available plans for this variant\nconst targetIndex=Math.min(typeof pos===\"number\"?pos:0,applicablePlans.length-1);const targetPlan=applicablePlans[targetIndex];if(targetPlan?.id&&targetPlan.id!==selectedPlanId){setPlanIfChanged(targetPlan.id);selectionPositionRef.current=targetIndex;}},[applicablePlans,productId,selectedPlanId,setPlanIfChanged]);// Price calculation for current selection\nconst calculateDiscountedPrice=useCallback((basePrice,currencyCode)=>{if(!selectedPlan||isOneTime)return basePrice;return applyDiscount(basePrice,selectedPlan,currencyCode);},[selectedPlan,isOneTime]);// Price calculation for any plan (used for displaying options)\nconst getDiscountedPriceForPlan=useCallback((basePrice,planId,currencyCode)=>{if(planId===ONE_TIME_ID)return basePrice;const plan=allPlans.find(p=>p.id===planId);if(!plan)return basePrice;return applyDiscount(basePrice,plan,currencyCode);},[allPlans]);// Discount info for display\nconst discountInfo=useMemo(()=>getDiscountInfo(selectedPlan,isOneTime),[selectedPlan,isOneTime]);// Actions\nconst selectPlan=useCallback(planId=>{if(!productId)return;if(!planId||planId===selectedPlanId)return;setPlanIfChanged(planId);const idx=applicablePlans.findIndex(p=>p.id===planId);selectionPositionRef.current=idx>=0?idx:0;},[productId,setPlanIfChanged,applicablePlans,selectedPlanId]);const selectOneTime=useCallback(()=>{if(!productId)return;if(selectedPlanId===ONE_TIME_ID)return;setPlanIfChanged(ONE_TIME_ID);selectionPositionRef.current=\"one-time\";},[productId,selectedPlanId,setPlanIfChanged]);return{productId,sellingPlanGroups,allPlans,applicablePlans,hasSellingPlans,selectedPlanId,selectedPlan,isOneTime,calculateDiscountedPrice,getDiscountedPriceForPlan,discountInfo,selectPlan,selectOneTime};}\nexport const __FramerMetadata__ = {\"exports\":{\"ONE_TIME_ID\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"FCDataSellingPlanGroup\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"UseSellingPlansProps\":{\"type\":\"tsType\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"DiscountInfo\":{\"type\":\"tsType\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"FCDataSellingPlan\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"applyDiscount\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"UseSellingPlansReturn\":{\"type\":\"tsType\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"useSellingPlans\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}","/*\n * Framer Commerce\n * Confidential and Proprietary - All Rights Reserved\n *\n * © 2025 Butter Supply Inc. All Rights Reserved.\n */import{useSyncExternalStore,useCallback,useMemo}from\"react\";import{getProductIdFromFCData}from\"https://framerusercontent.com/modules/u4cSQPeOxFZJ30D78T0u/OH103m2xIQZsbXU9KlH0/fcDataParser.js\";// ============================================================================\n// CONSTANTS\n// ============================================================================\nconst STORAGE_KEY=\"recently_viewed\";const MAX_ITEMS=20;// ============================================================================\n// HELPERS\n// ============================================================================\n/**\n * Extract product ID from raw value (handles FC Data strings).\n * Mirrors the same helper used in useCatalogFavorites.\n */function extractProductId(rawId){if(!rawId)return rawId;const extractedId=getProductIdFromFCData(rawId);return extractedId||rawId;}// ============================================================================\n// SHARED STORE (useSyncExternalStore pattern)\n// ============================================================================\nconst subscribers=new Set;let cachedEntries=null;function notifySubscribers(){cachedEntries=null;subscribers.forEach(callback=>callback());}function subscribe(callback){subscribers.add(callback);return()=>{subscribers.delete(callback);};}function getEntries(){if(cachedEntries!==null)return cachedEntries;if(typeof window===\"undefined\")return[];try{const stored=localStorage.getItem(STORAGE_KEY);const parsed=stored?JSON.parse(stored):[];cachedEntries=parsed;return parsed;}catch{cachedEntries=[];return[];}}function setEntries(entries){if(typeof window===\"undefined\")return;try{localStorage.setItem(STORAGE_KEY,JSON.stringify(entries));notifySubscribers();}catch{// localStorage might be full or disabled\n}}function getServerSnapshot(){return[];}// ============================================================================\n// HOOK\n// ============================================================================\n/**\n * Hook for managing recently viewed products via localStorage.\n * Uses useSyncExternalStore for cross-component synchronization.\n *\n * Storage: localStorage key \"recently_viewed\"\n * Format: Array of { productId, viewedAt, variantId } sorted most-recent-first\n * Max: 20 entries (configurable via MAX_ITEMS)\n */export function useRecentlyViewed(){const recentlyViewed=useSyncExternalStore(subscribe,getEntries,getServerSnapshot);const recentProductIds=useMemo(()=>recentlyViewed.map(entry=>entry.productId),[recentlyViewed]);const trackView=useCallback(rawProductId=>{const productId=extractProductId(rawProductId);if(!productId)return;const current=getEntries();const filtered=current.filter(entry=>entry.productId!==productId);const updated=[{productId,viewedAt:Date.now(),variantId:null},...filtered].slice(0,MAX_ITEMS);setEntries(updated);},[]);const isRecentlyViewed=useCallback(rawProductId=>{const productId=extractProductId(rawProductId);return recentlyViewed.some(entry=>entry.productId===productId);},[recentlyViewed]);const clearRecentlyViewed=useCallback(()=>{setEntries([]);},[]);const count=useMemo(()=>recentlyViewed.length,[recentlyViewed]);return{recentlyViewed,recentProductIds,trackView,isRecentlyViewed,clearRecentlyViewed,count};}\nexport const __FramerMetadata__ = {\"exports\":{\"RecentlyViewedEntry\":{\"type\":\"tsType\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"UseRecentlyViewedReturn\":{\"type\":\"tsType\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"useRecentlyViewed\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}","/*\n * Framer Commerce\n * Confidential and Proprietary - All Rights Reserved\n *\n * © 2025 Butter Supply Inc. All Rights Reserved.\n */import{useCallback,useEffect,useMemo}from\"react\";import{useLocalState}from\"https://framerusercontent.com/modules/xYDZCCqEBzGd7zfHzUX5/cLuhs5H2O0tFIwBfaQKt/useLocalState.js\";// ============================================================================\n// EMAIL VALIDATION\n// ============================================================================\nconst EMAIL_PATTERN=/^[a-zA-Z0-9.!#$%&'*+/=?^_`{|}~-]+@[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)*$/;function isValidEmail(email){if(!email||!email.includes(\"@\")||!email.includes(\".\"))return false;if(email.length>254)return false;const[localPart]=email.split(\"@\");if(localPart.length>64)return false;return EMAIL_PATTERN.test(email);}// ============================================================================\n// HOOK IMPLEMENTATION\n// ============================================================================\n/**\n * Hook for managing product attribute input state.\n *\n * Stores values in Zustand for cross-component reactivity. The Purchase Button\n * reads from the same store to attach attributes to cart line items.\n *\n * @example\n * const { value, setValue, showError, errorMessage, validate } =\n *     useProductAttributes({\n *         productId: \"12345\",\n *         attributeKey: \"Order Note\",\n *         required: true,\n *         validateEmail: false,\n *     })\n */export function useProductAttributes(options){const{productId,attributeKey,required,validateEmail}=options;// The key stored in Zustand / on the Shopify line item\nconst resolvedKey=validateEmail?\"Email\":attributeKey;// ---------------------------------------------------------------------------\n// Zustand selectors (stable per productId)\n// ---------------------------------------------------------------------------\nconst value=useLocalState(s=>s.attributesByProductId[productId]?.[resolvedKey])??\"\";const showError=useLocalState(s=>s.attributeErrorByProductId[productId])??false;const setAttribute=useLocalState(s=>s.setAttribute);const setAttributeError=useLocalState(s=>s.setAttributeError);const setAttributeConfig=useLocalState(s=>s.setAttributeConfig);const removeAttributeConfig=useLocalState(s=>s.removeAttributeConfig);// ---------------------------------------------------------------------------\n// Validation helpers\n// ---------------------------------------------------------------------------\nconst isValid=useMemo(()=>{if(required&&!value.trim())return false;if(validateEmail&&value.trim()&&!isValidEmail(value))return false;return true;},[required,validateEmail,value]);const errorMessage=useMemo(()=>{if(required&&!value.trim())return\"Missing field\";if(validateEmail&&value.trim()&&!isValidEmail(value))return\"Please enter a valid email address\";return\"Missing field\";},[required,validateEmail,value]);/** Run validation, update error state, and return whether valid */const validate=useCallback(()=>{const valid=(!required||value.trim()!==\"\")&&(!validateEmail||!value.trim()||isValidEmail(value));setAttributeError(productId,!valid);return valid;},[required,validateEmail,value,productId,setAttributeError]);// ---------------------------------------------------------------------------\n// Setters\n// ---------------------------------------------------------------------------\nconst setValue=useCallback(newValue=>{const sanitized=validateEmail?newValue.trim():newValue;setAttribute(productId,resolvedKey,sanitized);// Clear error when the user starts typing\nif(showError){setAttributeError(productId,false);}},[productId,resolvedKey,validateEmail,showError,setAttribute,setAttributeError]);const setShowError=useCallback(show=>{setAttributeError(productId,show);},[productId,setAttributeError]);// ---------------------------------------------------------------------------\n// Attributes formatted for addToCart()\n// ---------------------------------------------------------------------------\nconst attributes=useMemo(()=>{const trimmed=value.trim();if(!trimmed)return[];return[{key:resolvedKey,value:trimmed}];},[resolvedKey,value]);// ---------------------------------------------------------------------------\n// Register / unregister config so consumers (Purchase Button) know what\n// validation rules apply for this product's attribute input\n// ---------------------------------------------------------------------------\nuseEffect(()=>{if(!productId)return;setAttributeConfig(productId,{required,validateEmail});return()=>removeAttributeConfig(productId);},[productId,required,validateEmail,setAttributeConfig,removeAttributeConfig]);return{value,setValue,showError,setShowError,errorMessage,isValid,validate,attributes};}// ============================================================================\n// STANDALONE HELPERS — for use outside the hook (e.g. Purchase Button)\n// ============================================================================\n/**\n * Read all attributes for a product directly from the Zustand store.\n * Safe to call outside of React render (e.g. in an event handler).\n */export function getAttributesForProduct(productId){const attrs=useLocalState.getState().attributesByProductId[productId]??{};return Object.entries(attrs).filter(([,v])=>v&&v.trim()!==\"\").map(([key,value])=>({key,value:value.trim()}));}/**\n * Validate a product's attributes using its registered config.\n * Returns true if valid (or if no config is registered).\n * Sets the Zustand error flag on failure (call from click handlers, not passive effects).\n */export function validateAttributesForProduct(productId){const state=useLocalState.getState();if(!productId)return true;const config=state.attributeConfigByProductId[productId];// No attribute input registered for this product — always valid\nif(!config){state.setAttributeError(productId,false);return true;}const attrs=state.attributesByProductId[productId]??{};const hasValue=Object.values(attrs).some(v=>v&&v.trim()!==\"\");if(config.required&&!hasValue){state.setAttributeError(productId,true);return false;}if(config.validateEmail){const emailValue=attrs[\"Email\"]??\"\";if(emailValue.trim()&&!isValidEmail(emailValue)){state.setAttributeError(productId,true);return false;}if(config.required&&!emailValue.trim()){state.setAttributeError(productId,true);return false;}}state.setAttributeError(productId,false);return true;}/**\n * Read all attributes across every product from the Zustand store.\n * Used by the Checkout Button to send cart-level custom attributes.\n */export function getAllAttributes(){const byProduct=useLocalState.getState().attributesByProductId;const result=[];for(const attrs of Object.values(byProduct)){for(const[key,value]of Object.entries(attrs)){if(value&&value.trim()!==\"\"){result.push({key,value:value.trim()});}}}return result;}\nexport const __FramerMetadata__ = {\"exports\":{\"getAllAttributes\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"UseProductAttributesOptions\":{\"type\":\"tsType\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"getAttributesForProduct\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"useProductAttributes\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"validateAttributesForProduct\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"UseProductAttributesReturn\":{\"type\":\"tsType\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}","import{useLocalState}from\"https://framerusercontent.com/modules/xYDZCCqEBzGd7zfHzUX5/cLuhs5H2O0tFIwBfaQKt/useLocalState.js\";/**\n * Convenience hook for triggering toast notifications from any component.\n *\n * Usage:\n *   const toast = useToast();\n *   toast.success(\"Added to cart!\");\n *   toast.error(\"Something went wrong\", { description: \"Please try again\" });\n */export function useToast(){const showToast=useLocalState(s=>s.showToast);const dismissToast=useLocalState(s=>s.dismissToast);const clearToasts=useLocalState(s=>s.clearToasts);return{success:(title,options)=>showToast({type:\"success\",title,...options}),error:(title,options)=>showToast({type:\"error\",title,...options}),info:(title,options)=>showToast({type:\"info\",title,...options}),warning:(title,options)=>showToast({type:\"warning\",title,...options}),show:(title,options)=>showToast({type:\"default\",title,...options}),dismiss:dismissToast,clearAll:clearToasts};}\nexport const __FramerMetadata__ = {\"exports\":{\"useToast\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}","/*\n * Framer Commerce\n * Confidential and Proprietary - All Rights Reserved\n *\n * © 2025 Butter Supply Inc. All Rights Reserved.\n *\n * Best-effort border-radius in px from a connected Framer component instance\n * for `useFocusRing(radius)`.\n *\n * Framer often stores radius on component props (`borderRadius`, `radiusTopLeft`, …)\n * rather than only on `style`. Nested Frames under a wrapper may hold the visible radius,\n * so we walk the React element tree (including slot-like props, not only `children`).\n * Native Framer components often omit inner layers from that descriptor tree; use\n * `readMaxBorderRadiusPxFromDomSubtree` on the mounted root when static parsing returns 0.\n *\n * Static helpers do not see className-only radii unless Framer mirrors them into props.\n */import React from\"react\";function maxPxFromToken(raw){if(raw==null)return 0;if(typeof raw===\"number\"&&Number.isFinite(raw)){return Math.max(0,raw);}if(typeof raw===\"string\"){const parts=raw.trim().split(/\\s+/);let max=0;for(const p of parts){const m=p.match(/^(\\d+(?:\\.\\d+)?)px$/i);if(m){max=Math.max(max,parseFloat(m[1]));}}return max;}return 0;}/** Framer FusedNumber-style objects: uniform `radius` or per-side `top`/`right`/… */function maxPxFromFramerFused(raw){if(raw==null)return 0;if(typeof raw===\"number\"&&Number.isFinite(raw))return Math.max(0,raw);if(typeof raw===\"string\")return maxPxFromToken(raw);if(typeof raw!==\"object\")return 0;const o=raw;const fb=typeof o.radius===\"number\"?o.radius:typeof o.top===\"number\"?o.top:typeof o.left===\"number\"?o.left:0;const top=typeof o.top===\"number\"?o.top:fb;const right=typeof o.right===\"number\"?o.right:fb;const bottom=typeof o.bottom===\"number\"?o.bottom:fb;const left=typeof o.left===\"number\"?o.left:fb;return Math.max(0,top,right,bottom,left);}/**\n * Numeric px radius from `style` for use with `useFocusRing`.\n * Picks the max of per-corner radii, then unified `borderRadius` shorthand.\n * Non-px units (% / em) return 0 from shorthand tokens.\n */export function readBorderRadiusPxFromStyle(style){if(!style||typeof style!==\"object\")return 0;const cornerMax=Math.max(maxPxFromToken(style.borderTopLeftRadius),maxPxFromToken(style.borderTopRightRadius),maxPxFromToken(style.borderBottomRightRadius),maxPxFromToken(style.borderBottomLeftRadius));if(cornerMax>0)return cornerMax;return maxPxFromToken(style.borderRadius);}function readRadiusFromFlatProps(props){let m=readBorderRadiusPxFromStyle(props.style);m=Math.max(m,maxPxFromFramerFused(props.borderRadius));m=Math.max(m,maxPxFromFramerFused(props.radius));const cornerProps=[props.radiusTopLeft,props.radiusTopRight,props.radiusBottomRight,props.radiusBottomLeft,props.borderTopLeftRadius,props.borderTopRightRadius,props.borderBottomRightRadius,props.borderBottomLeftRadius];for(const c of cornerProps){m=Math.max(m,maxPxFromToken(c));}return m;}/**\n * Framer sometimes nests layers under prop slots (not only `children`). Scan\n * top-level props for React elements so instance descriptors stay readable.\n */function forEachNestedElementProp(props,visit){for(const[key,value]of Object.entries(props)){if(key===\"children\"||key===\"key\"||key===\"ref\")continue;if(key.startsWith(\"__\"))continue;if(/*#__PURE__*/React.isValidElement(value)){visit(value);continue;}if(Array.isArray(value)){for(const item of value){if(/*#__PURE__*/React.isValidElement(item))visit(item);}}}}const DEFAULT_TREE_DEPTH=8;function maxRadiusFromPropsSubtree(props,maxDepth){if(maxDepth<0)return 0;let m=0;React.Children.forEach(props.children,child=>{if(/*#__PURE__*/React.isValidElement(child)){m=Math.max(m,readBorderRadiusPxFromElement(child,maxDepth-1));}});forEachNestedElementProp(props,el=>{m=Math.max(m,readBorderRadiusPxFromElement(el,maxDepth-1));});return m;}/**\n * Max px radius on this element (props + style) and descendants up to `maxDepth`.\n */export function readBorderRadiusPxFromElement(element,maxDepth=DEFAULT_TREE_DEPTH){if(!element||!/*#__PURE__*/React.isValidElement(element)||maxDepth<0)return 0;const props=element.props;let m=readRadiusFromFlatProps(props);m=Math.max(m,maxRadiusFromPropsSubtree(props,maxDepth));return m;}/** Parse px length(s) from a computed border-radius string (corners / slash elliptical). */function maxPxFromCssRadiusString(value){if(!value||value===\"none\")return 0;let max=0;const tokenRe=/(\\d+(?:\\.\\d+)?)px/gi;let m;while((m=tokenRe.exec(value))!==null){max=Math.max(max,parseFloat(m[1]));}return max;}/**\n * Largest px border-radius found on `root` or any descendant via computed styles.\n * Use when the React descriptor tree is opaque (e.g. native Framer code components).\n *\n * Browser-only; returns 0 when `window` is undefined.\n */export function readMaxBorderRadiusPxFromDomSubtree(root){if(!root||typeof window===\"undefined\")return 0;let max=0;const stack=[root];while(stack.length>0){const el=stack.pop();const cs=getComputedStyle(el);max=Math.max(max,maxPxFromCssRadiusString(cs.borderTopLeftRadius),maxPxFromCssRadiusString(cs.borderTopRightRadius),maxPxFromCssRadiusString(cs.borderBottomRightRadius),maxPxFromCssRadiusString(cs.borderBottomLeftRadius));const children=el.children;for(let i=children.length-1;i>=0;i--){stack.push(children[i]);}}return max;}/**\n * Use the largest radius among several instance roots (e.g. purchase button states).\n */export function maxBorderRadiusPxFromElements(elements,maxDepth=DEFAULT_TREE_DEPTH){let max=0;for(const el of elements){max=Math.max(max,readBorderRadiusPxFromElement(el??undefined,maxDepth));}return max;}\nexport const __FramerMetadata__ = {\"exports\":{\"readBorderRadiusPxFromStyle\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"readMaxBorderRadiusPxFromDomSubtree\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"readBorderRadiusPxFromElement\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"maxBorderRadiusPxFromElements\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./readBorderRadius.map","/*\n * Framer Commerce\n * Confidential and Proprietary - All Rights Reserved\n *\n * © 2025 Butter Supply Inc. All Rights Reserved.\n *\n * Merges descriptor-based border radius with a DOM measurement so native Framer\n * component instances (opaque React trees) still get a matching focus ring.\n */import{useCallback,useMemo,useRef,useState}from\"react\";import{readMaxBorderRadiusPxFromDomSubtree}from\"https://framerusercontent.com/modules/9CvLYVlSjZ0KIrPvDTZ2/bTIjo0Ee6fXTNUPsXyNt/readBorderRadius.js\";function assignRefTarget(ref,instance){if(ref==null)return;if(typeof ref===\"function\"){ref(instance);}else{ref.current=instance;}}/**\n * Focus radius for components that put `ref` on the cloned connected instance root\n * (purchase, checkout, cart remove, etc.). Forwards the slot’s existing ref.\n */export function useMergedFocusRadiusFromSlotRoot(computeStaticPx,deps){const forwardSlotRefHolder=useRef(undefined);const[domPx,setDomPx]=useState(0);const staticPx=useMemo(()=>computeStaticPx(),deps);const prepareSlotRefFromElement=useCallback(slotElement=>{forwardSlotRefHolder.current=slotElement.props.ref;},[]);const stableHostRef=useCallback(node=>{assignRefTarget(forwardSlotRefHolder.current,node);if(!node){setDomPx(0);return;}queueMicrotask(()=>{if(!node.isConnected)return;setDomPx(readMaxBorderRadiusPxFromDomSubtree(node));});},[]);return{focusRadiusPx:Math.max(staticPx,domPx),stableHostRef,prepareSlotRefFromElement};}/**\n * Focus radius when keyboard focus lives on a wrapper but the visible radii are on\n * descendants (quick add, favorites, cart close).\n */export function useMergedFocusRadiusFromSubtreeContainer(computeStaticPx,deps){const[domPx,setDomPx]=useState(0);const staticPx=useMemo(()=>computeStaticPx(),deps);const subtreeMeasureRef=useCallback(node=>{if(!node){setDomPx(0);return;}queueMicrotask(()=>{if(!node.isConnected)return;setDomPx(readMaxBorderRadiusPxFromDomSubtree(node));});},[]);return{focusRadiusPx:Math.max(staticPx,domPx),subtreeMeasureRef};}\nexport const __FramerMetadata__ = {\"exports\":{\"useMergedFocusRadiusFromSlotRoot\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"useMergedFocusRadiusFromSubtreeContainer\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./useMergedFocusRadius.map","/*\n * Framer Commerce\n * Confidential and Proprietary - All Rights Reserved\n *\n * © 2025 Butter Supply Inc. All Rights Reserved.\n */import CartService,{toVariantGid}from\"https://framerusercontent.com/modules/vVBwckC7u10j9jUmDxXI/Fqima0ybfCi6bdQLdRWG/CartService.js\";import ProductsService from\"https://framerusercontent.com/modules/4mS98dhppVkB72s7aW4Q/Kdm2PWssF0QNmZ3uUYUN/ProductsService.js\";import{shouldUsePreviewStorefrontMock}from\"https://framerusercontent.com/modules/GmuMNZuvTFaDnzFFN9sI/Vcac48UxP24yz1GRfGGr/IsBrowser.js\";function variantNumericKey(raw){const s=String(raw??\"\").trim();if(!s)return\"\";return s.includes(\"gid://\")?s.split(\"/\").pop()||\"\":s;}function normalizeVariantGid(nodeId){return nodeId.includes(\"gid://\")?nodeId:toVariantGid(nodeId);}/**\n * Resolves the variant gid used for cart mutations (cross-sells / upsells).\n * When `variantId` is set: loads Storefront product, matches variant, returns gid\n * only if `availableForSale` is true (otherwise null).\n * When `variantId` is empty: returns first available-for-sale variant gid, or null.\n *\n * Preview storefront mock skips availability checks (no live Storefront).\n */export async function resolveCrossSellVariantGidForAdd(productId,variantId){const trimmedVariant=String(variantId??\"\").trim();if(shouldUsePreviewStorefrontMock()){if(trimmedVariant){return toVariantGid(trimmedVariant);}const n=productId.includes(\"gid://\")?productId.split(\"/\").pop()||\"\":productId.trim();return n?toVariantGid(`preview-${n}`):null;}if(trimmedVariant){try{const shopify=CartService.getClient();const product=await ProductsService.getProductById(shopify,productId);const variants=product?.variants?.edges?.map(e=>e.node)??[];const targetKey=variantNumericKey(trimmedVariant);const match=variants.find(v=>{const key=variantNumericKey(String(v?.id??\"\"));return key===targetKey;});if(!match){return null;}if(!match.availableForSale){return null;}return normalizeVariantGid(match.id);}catch{return null;}}try{const shopify=CartService.getClient();const product=await ProductsService.getProductById(shopify,productId);const variants=product?.variants?.edges?.map(e=>e.node)??[];const firstSellable=variants.find(v=>v.availableForSale);if(!firstSellable?.id){return null;}return normalizeVariantGid(firstSellable.id);}catch{return null;}}\nexport const __FramerMetadata__ = {\"exports\":{\"resolveCrossSellVariantGidForAdd\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}","/**\n * Initialization utilities for Framer Commerce\n * Captures UTM and SCA ref parameters on initial page load and on\n * back/forward navigation (popstate). Does NOT patch pushState/replaceState\n * — URL param changes from useUrlState are internal state management and\n * should not trigger UTM re-capture.\n */import{getUTMParameters,getSCARefParameters}from\"https://framerusercontent.com/modules/oiGsOJmAveg7cKvbFZt7/U6z4RVaD1rQukDPTR7e2/utmParams.js\";let _initialized=false;export function initializeStore(){if(typeof window===\"undefined\")return;if(_initialized)return;_initialized=true;getUTMParameters();getSCARefParameters();window.addEventListener(\"popstate\",()=>{getUTMParameters();getSCARefParameters();});}initializeStore();export default initializeStore;\nexport const __FramerMetadata__ = {\"exports\":{\"default\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"initializeStore\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}","/*\n * Framer Commerce\n * Confidential and Proprietary - All Rights Reserved\n *\n * © 2025 Butter Supply Inc. All Rights Reserved.\n */import{jsx as _jsx,jsxs as _jsxs,Fragment as _Fragment}from\"react/jsx-runtime\";import React,{useEffect,useState,useRef,useCallback,useMemo,cloneElement,useId}from\"react\";import{addPropertyControls,ControlType,RenderTarget,useTracking}from\"framer\";// Hooks\nimport{useCart}from\"https://framerusercontent.com/modules/yQT0QcL1a38xf2xvyfye/v0wDi08aR9blqt8R57vx/useCart.js\";import{useSelectedVariant}from\"https://framerusercontent.com/modules/oNgVmb8M8wf4m3aot3fR/zccqZ60HmBrvTm79Qx2L/useSelectedVariant.js\";import{useQuantity}from\"https://framerusercontent.com/modules/mGo1MvlgIgDKPWtRqY9E/S3qhcTdL3nZcBbw2xTwB/useQuantity.js\";import{useDynamicData}from\"https://framerusercontent.com/modules/uuL7sMMqlBVftWrI2cOb/gigdxQVfikfeYGgV9wiM/useDynamicData.js\";import{useMarkets}from\"https://framerusercontent.com/modules/vDx3Q7rUVSfwg92tdx6X/QUghOffOkyAVceCDZdY8/useMarkets.js\";import{useCartModal}from\"https://framerusercontent.com/modules/t7N6rlZCblxDaOdlHre2/teb3wI1OUsxqf6XAwdAF/useCartModal.js\";import{useMiniCartModal}from\"https://framerusercontent.com/modules/y7RZQs6YDDAKlcW0mucz/TsK9JhdPw065nnMdn3lU/useMiniCartModal.js\";import{useNotifyOverlay}from\"https://framerusercontent.com/modules/6fHTXvgmjeY8htknOLCM/gZzs3HKi1CzIoI4VBUnk/useNotifyOverlay.js\";import{useLocalState}from\"https://framerusercontent.com/modules/xYDZCCqEBzGd7zfHzUX5/cLuhs5H2O0tFIwBfaQKt/useLocalState.js\";import{ONE_TIME_ID}from\"https://framerusercontent.com/modules/qnuk5aZ6x3XlkU8Sr5HV/Vufbs5uIeRzpzzy9VUkY/useSellingPlans.js\";import{useRecentlyViewed}from\"https://framerusercontent.com/modules/rb8og0w9SSSyZs8gNZuB/yjteVSM4038rR9OCWwz1/useRecentlyViewed.js\";// Services\nimport CartService,{toSellingPlanGid}from\"https://framerusercontent.com/modules/vVBwckC7u10j9jUmDxXI/Fqima0ybfCi6bdQLdRWG/CartService.js\";// Utilities\nimport{buildFinalCheckoutUrl}from\"https://framerusercontent.com/modules/oiGsOJmAveg7cKvbFZt7/U6z4RVaD1rQukDPTR7e2/utmParams.js\";import{buildShopifyItemId,bareVariantId}from\"https://framerusercontent.com/modules/aX6QtS01fqAPlvWJyU2T/rTc4HLli07wqJGioRBQ4/itemId.js\";import{trackFacebookPixelAddToCart,trackFacebookPixelInitiateCheckout,trackFacebookPixelViewContent}from\"https://framerusercontent.com/modules/v7VmD5MWrkfBivA5RO5R/0UxkpiMoLoGSEEOfODCg/Fb_pixel.js\";import{getProductIdFromFCData,fcDataToProductVariants,parseFCData,getVariantPriceFromFCData}from\"https://framerusercontent.com/modules/u4cSQPeOxFZJ30D78T0u/OH103m2xIQZsbXU9KlH0/fcDataParser.js\";import{buildOptimisticCartLine}from\"https://framerusercontent.com/modules/GZDQTGICwWUzAHOMYgBg/FcYAezwAfnY61t3NIJKA/cartOptimistic.js\";import{resolvePriceSource}from\"https://framerusercontent.com/modules/jKpyquHXGdtIjNY6JlpC/cQkDEESdyNy4kXfK7ymQ/priceSource.js\";import{getAttributesForProduct,validateAttributesForProduct}from\"https://framerusercontent.com/modules/oPVBZREiZcp0A8d38vIN/6mcMMREUoAx3G1ggUmI3/useProductAttributes.js\";import{sanitizeChildrenRecursively}from\"https://framerusercontent.com/modules/WlEThP6hqxPRuGJlw1Os/SeBeGgXRBNvA2rsey4jL/elementCloning.js\";import{isFramerCanvas,shouldUsePreviewStorefrontMock}from\"https://framerusercontent.com/modules/FmcSlgUtRS55W3otl8f9/DktpLeyyDbjosM33g22i/IsBrowser.js\";import{EmptyState}from\"https://framerusercontent.com/modules/G9C9Smzal651QjViNdCG/Zkampd7WodsNZoAb94Ql/EmptyState.js\";import{useToast}from\"https://framerusercontent.com/modules/fbyvMnKO8yM8VtytFxdl/HnzwYQnZtD4SFVhvGKnw/useToast.js\";import{useFocusRing}from\"https://framerusercontent.com/modules/IaCtXF1ZesaQ7iv3U5Gr/wGiuiv1uBHqHDwdnLuWS/useFocusRing.js\";import{maxBorderRadiusPxFromElements}from\"https://framerusercontent.com/modules/9CvLYVlSjZ0KIrPvDTZ2/bTIjo0Ee6fXTNUPsXyNt/readBorderRadius.js\";import{useMergedFocusRadiusFromSlotRoot}from\"https://framerusercontent.com/modules/Sjrt4itg6tMf9nAdiVML/Oc3iXosQ2TZ5JOsY147i/useMergedFocusRadius.js\";import{resolveCrossSellVariantGidForAdd}from\"https://framerusercontent.com/modules/bSS21waP0kZYgwKMEhQ1/5hDUnT0imcaGziySgm5z/crossSellVariantAvailability.js\";// Import initialization utility to ensure UTM tracking is set up\nimport\"https://framerusercontent.com/modules/da2d6NIWuAfZ6ceWI23D/A30KLNBQjxg0v9y6ngbl/initialize.js\";// Helper to clean Shopify GID to numeric ID\nconst cleanShopifyId=gid=>gid?.split(\"/\").pop();/**\n * Butter_ProductPurchaseButton\n *\n * Main purchase button component supporting Add to Cart and Buy Now flows.\n * Uses hooks for reactive state management:\n * - useSelectedVariant: Tracks variant selection across components\n * - useQuantity: Manages quantity state\n * - useDynamicData: Real-time inventory data\n * - useCart: Cart operations and state\n *\n * @framerDisableUnlink\n */export default function Butter_ProductPurchaseButton(props){const{fcData=\"\",available,OutOfStock,SelectVariant,LoadingState,maxQuantity:maxQuantityState,shopifyProductVariantId,BuyNowATC=false,checkoutDomain=\"\",openCart=true,onClickAction,onClickOOSAction,triggerShopifyMiniCartModal,triggerNotifyOverlay,fireViewItem=true,trackingId}=props;const track=useTracking();const{focusRadiusPx,stableHostRef:stableFocusHostRef,prepareSlotRefFromElement}=useMergedFocusRadiusFromSlotRoot(()=>maxBorderRadiusPxFromElements([available?.[0],OutOfStock?.[0],SelectVariant?.[0],maxQuantityState?.[0],LoadingState?.[0]].filter(x=>/*#__PURE__*/React.isValidElement(x))),[available,OutOfStock,SelectVariant,maxQuantityState,LoadingState]);const focusClassName=useFocusRing(focusRadiusPx);// =========================================================================\n// FC DATA PARSING\n// =========================================================================\n// Extract product ID from FC Data\nconst productId=useMemo(()=>getProductIdFromFCData(fcData)||\"\",[fcData]);// Parse full FC Data for metadata\nconst parsedFCData=useMemo(()=>parseFCData(fcData),[fcData]);// Convert FC Data to product variants format\nconst productVariants=useMemo(()=>{if(!fcData||!productId)return[];return fcDataToProductVariants(fcData);},[fcData,productId]);// Product metadata from FC Data\nconst productMetadata=useMemo(()=>({title:\"\",vendor:parsedFCData?.metadata.vendor||null,productType:parsedFCData?.metadata.productType||null,handle:\"\"}),[parsedFCData]);// =========================================================================\n// STATE\n// =========================================================================\nconst[isLoading,setIsLoading]=useState(true);const[shouldShowLoading,setShouldShowLoading]=useState(false);const[hasInitialized,setHasInitialized]=useState(false);const[orderMax,setOrderMax]=useState(0);/** Set only in handleAddToCart when validateAttributesForProduct fails — no Zustand subscription. */const[attributeClickA11yActive,setAttributeClickA11yActive]=useState(false);const purchaseAttributeA11yId=useId();const viewContentFired=useRef(false);const viewItemTrackedRef=useRef(null);// GA-init tick — used to retry the view_item effect once GA finishes\n// initializing (consent grant + gtag config). The dispatcher silently\n// bails when __fcGAInitialized is false, so without this we'd lose\n// view_item events on slow consent grants. See SIGNALS_GA_AUDIT.md.\nconst[gaReadyTick,setGaReadyTick]=useState(0);useEffect(()=>{if(typeof window===\"undefined\")return;if(window.__fcGAInitialized){setGaReadyTick(1);return;}const id=setInterval(()=>{if(window.__fcGAInitialized){setGaReadyTick(t=>t+1);clearInterval(id);}},200);// Stop polling after 10s — if GA hasn't initialized by then it isn't coming\nconst stopId=setTimeout(()=>clearInterval(id),1e4);return()=>{clearInterval(id);clearTimeout(stopId);};},[]);// =========================================================================\n// HOOKS - Reactive State Management\n// =========================================================================\n// Cart hook for mutations and cart state\nconst{addToCart,getQuantityInCart}=useCart();const toast=useToast();// Cart modal trigger hook\nconst{openCart:triggerCartModal}=useCartModal();// Mini cart modal trigger hook\nconst{openMiniCart}=useMiniCartModal();// Notify overlay trigger hook\nconst{triggerNotify}=useNotifyOverlay();// Resolve post-add-to-cart action: onClickAction takes precedence over openCart boolean\nconst resolvedOnClickAction=onClickAction??(openCart?\"cart\":\"none\");const resolvedOnClickOOSAction=onClickOOSAction??\"none\";// Cross-sell selections (reactive — re-renders when toggles change)\nconst crossSellSelections=useLocalState(s=>s.crossSellSelections);// Recently viewed tracking — record this product page view\nconst{trackView}=useRecentlyViewed();useEffect(()=>{if(productId)trackView(productId);},[productId,trackView]);// Selected selling plan (shared via Zustand with Butter_ProductSellingPlanSelector)\nconst selectedPlanId=useLocalState(s=>s.selectedPlanByProductId[productId])||ONE_TIME_ID;const sellingPlanForCart=selectedPlanId!==ONE_TIME_ID?selectedPlanId:undefined;// Check if we should auto-select first variant\nconst shouldAutoSelectFirst=useMemo(()=>{if(productVariants.length===1)return true;if(shopifyProductVariantId)return false;if(typeof window!==\"undefined\"&&window.__fc_autoSelectFirst){return true;}return false;},[productVariants.length,shopifyProductVariantId]);// Selected variant state via hook\nconst{selectedVariantId,selectedVariant,isCompleteSelection}=useSelectedVariant({productId:productId||\"\",productVariants,autoSelectFirst:shouldAutoSelectFirst});// Get the active variant (from hook or direct prop)\nconst activeVariant=useMemo(()=>{if(shopifyProductVariantId){const variantGid=`gid://shopify/ProductVariant/${shopifyProductVariantId}`;return productVariants.find(v=>v.id===variantGid)||null;}if(!selectedVariant&&productVariants.length===1){return productVariants[0];}return selectedVariant;},[shopifyProductVariantId,selectedVariant,productVariants]);// Resolve price source for dynamic pricing\nconst{active:activeMarket}=useMarkets();const priceMode=useMemo(()=>resolvePriceSource(activeMarket.countryCode),[activeMarket.countryCode]);const dynamicCountry=priceMode===\"dynamic\"?activeMarket.countryCode:undefined;// Real-time inventory (+ prices when dynamic)\n// Always pass countryCode for inventory so Shopify returns quantities only\n// from locations that serve the active market, regardless of price mode.\n// dynamicCountry still controls which price branch analytics uses.\nconst{product:dynamicProduct,selectedVariantInventory,selectedVariantAvailable,isInfiniteInventory,isLoading:inventoryLoading}=useDynamicData(productId,activeVariant?.id,activeMarket.countryCode);// Quantity management\nconst{quantity}=useQuantity({productId:productId||\"\",variantId:activeVariant?.id?.split(\"/\").pop()||undefined,maxInventory:orderMax>0?orderMax:isInfiniteInventory?100:selectedVariantInventory??100,availableForSale:selectedVariantAvailable??activeVariant?.availableForSale!==false});// =========================================================================\n// DERIVED STATE\n// =========================================================================\nconst isOutOfStock=useMemo(()=>{if(!activeVariant)return false;if(isInfiniteInventory)return false;// Use real-time availability from Shopify when available, fall back to FC Data\nconst available=selectedVariantAvailable??activeVariant.availableForSale;if(available&&selectedVariantInventory!==0)return false;return selectedVariantInventory===0;},[activeVariant,isInfiniteInventory,selectedVariantInventory,selectedVariantAvailable]);const needsVariantSelection=useMemo(()=>{if(shopifyProductVariantId)return false;if(productVariants.length<=1)return false;if(shouldAutoSelectFirst&&activeVariant)return false;return!isCompleteSelection;},[shopifyProductVariantId,productVariants.length,shouldAutoSelectFirst,activeVariant,isCompleteSelection]);// Check cart quantity for max limit\nconst currentCartQuantity=useMemo(()=>{if(!activeVariant)return 0;return getQuantityInCart(activeVariant.id);},[activeVariant,getQuantityInCart]);const maxQuantityReached=useMemo(()=>{if(orderMax>0){return currentCartQuantity>=orderMax;}if(activeVariant&&!isInfiniteInventory&&selectedVariantInventory){return currentCartQuantity>=selectedVariantInventory;}return false;},[orderMax,currentCartQuantity,activeVariant,isInfiniteInventory,selectedVariantInventory]);const canAddToCart=useMemo(()=>{return!isOutOfStock&&!needsVariantSelection&&!maxQuantityReached&&!!activeVariant;},[isOutOfStock,needsVariantSelection,maxQuantityReached,activeVariant]);useEffect(()=>{setAttributeClickA11yActive(false);},[productId,activeVariant?.id]);// =========================================================================\n// INITIALIZATION\n// =========================================================================\nuseEffect(()=>{if(!productId){setIsLoading(false);return;}// Mark as loaded once we have product data from FC Data\nif(productVariants.length>0){setIsLoading(false);}else{// No variants in FC Data, still mark as loaded\nsetIsLoading(false);}},[productId,productVariants.length]);// =========================================================================\n// ADD TO CART HANDLER\n// =========================================================================\nconst handleAddToCart=useCallback(async()=>{if(!canAddToCart||!activeVariant)return;// Attributes: validate only on click (errors surface on inputs via Zustand).\n// A11y hint below is driven by local state set here only — not attributeErrorByProductId subscriptions.\nif(!validateAttributesForProduct(productId)){setAttributeClickA11yActive(true);return;}setAttributeClickA11yActive(false);// Check order max\nif(orderMax>0&&currentCartQuantity+quantity>orderMax){window.dispatchEvent(new CustomEvent(\"errorChanged\",{detail:`Maximum order quantity is ${orderMax}`}));return;}// Get line item attributes from Zustand\nconst attributes=getAttributesForProduct(productId);const optimisticMainLine=buildOptimisticCartLine({parsedFCData,productId,variantId:activeVariant.id,selectedOptions:activeVariant.selectedOptions,productTitle:productMetadata.title,productHandle:dynamicProduct?.handle,productVendor:productMetadata.vendor,productType:productMetadata.productType,dynamicProduct,countryCode:activeMarket.countryCode,currencyCode:activeMarket.currencyCode,availableForSale:selectedVariantAvailable??activeVariant.availableForSale,quantityAvailable:selectedVariantInventory,sellingPlanId:sellingPlanForCart,attributes:attributes.length>0?attributes:undefined});const trackAnalytics=eventType=>{const dynVariant=dynamicProduct?.variants?.find(v=>v.id===activeVariant.id);const useDynamic=priceMode===\"dynamic\"&&dynVariant?.price;const currency=useDynamic?dynVariant.price.currencyCode:activeMarket.currencyCode||\"USD\";const price=useDynamic?parseFloat(dynVariant.price.amount):getVariantPriceFromFCData(parsedFCData,activeVariant.id,currency,activeMarket.countryCode)?.price||0;const value=parseFloat((price*quantity).toFixed(2));const itemId=buildShopifyItemId({productId,variantId:activeVariant.id,countryCode:activeMarket.countryCode});const sku=bareVariantId(activeVariant.id);// Match Shopify Google + YouTube app: option values joined, no option-name prefix.\n// FC-Data-derived variants don't have `title`, so build from selectedOptions values.\nconst itemVariant=activeVariant.selectedOptions?.map(opt=>opt.value).join(\" / \")||\"\";// GA4: only fire `add_to_cart` here. `begin_checkout` is fired by the\n// Shopify Google + YouTube app on the checkout page itself — duplicating\n// here would double-count. See SIGNALS_GA_AUDIT.md (F1).\nif(eventType===\"add_to_cart\"&&typeof window.fcTrackGAEvent===\"function\"){window.fcTrackGAEvent(\"add_to_cart\",{currency,value,items:[{item_id:itemId,item_name:productMetadata.title||\"\",item_variant:itemVariant,price,quantity,item_brand:productMetadata.vendor||undefined,item_category:productMetadata.productType||undefined,SKU:sku,\"Item Name\":productMetadata.title||\"\"}]});}// Meta Pixel — keep on both paths; FB has no Shopify-side equivalent\nif(eventType===\"add_to_cart\"){trackFacebookPixelAddToCart({variant:activeVariant,product:productMetadata,quantity,currency});}else{trackFacebookPixelInitiateCheckout({variant:activeVariant,product:productMetadata,quantity,currency,useBeacon:true});}};const usePreviewStorefrontMock=shouldUsePreviewStorefrontMock();// Build cross-sell line items from Zustand selections (resolve product ID to variant when needed)\nconst selectedEntries=Object.values(crossSellSelections).filter(entry=>entry.selected&&entry.productId);// Parallel resolution: same wall-clock as one await when only one cross-sell is\n// selected; when several PDP toggles are on, avoids stacking Storefront latency.\nconst resolvedCrossSell=await Promise.all(selectedEntries.map(async entry=>({entry,variantGid:await resolveCrossSellVariantGidForAdd(entry.productId,entry.variantId)})));const additionalLines=[];for(const{entry,variantGid}of resolvedCrossSell){// Omit unavailable lines silently (toggle already warns when selecting).\nif(!variantGid)continue;// Resolve cross-sell quantity:\n// - \"Match\" mirrors the main product quantity from this purchase button\n// - \"Set\" (default) uses the per-toggle quantity prop\nconst resolvedQuantity=entry.quantityMode===\"Match\"?quantity:entry.quantity||1;const crossSellPlan=String(entry.sellingPlanId??\"\").trim();additionalLines.push({variantId:variantGid,quantity:resolvedQuantity,productId:entry.productId,...crossSellPlan?{sellingPlanId:crossSellPlan.includes(\"gid://\")?crossSellPlan:toSellingPlanGid(crossSellPlan)}:{},optimisticLine:entry.optimisticLine});}try{if(BuyNowATC){// Permalink checkout — when a Checkout Domain is set, skip the Storefront\n// API entirely and redirect to a cart permalink that lands on checkout.\n// Works with FC Data only (no connected store), since the variant IDs\n// come straight from the variant GIDs.\nif(checkoutDomain.trim()){const domain=checkoutDomain.trim().replace(/^https?:\\/\\//,\"\").replace(/\\/+$/,\"\");const lineSegs=[{id:activeVariant.id,qty:quantity},...additionalLines.map(l=>({id:l.variantId,qty:l.quantity}))].map(l=>{const numeric=bareVariantId(l.id);return numeric?`${numeric}:${l.qty}`:\"\";}).filter(Boolean).join(\",\");if(lineSegs){if(trackingId)track(trackingId);trackAnalytics(\"begin_checkout\");// `return_to=/checkout` jumps past the cart page straight to checkout.\nwindow.location.assign(`https://${domain}/cart/${lineSegs}?return_to=/checkout`);}return;}if(usePreviewStorefrontMock){toast.info(\"Buy Now is unavailable in Framer Preview.\");return;}// Buy Now - Create temporary cart and redirect\nconst shopify=CartService.getClient();const activeMarket=useLocalState.getState().activeMarket;const buyerIdentity=activeMarket?.countryCode?{countryCode:activeMarket.countryCode}:undefined;const mainLine={merchandiseId:activeVariant.id,quantity,attributes:attributes.length>0?attributes:undefined,sellingPlanId:sellingPlanForCart};const buyNowCrossLines=additionalLines.map(l=>{const line={merchandiseId:l.variantId,quantity:l.quantity};if(l.sellingPlanId?.trim()){const sid=l.sellingPlanId.trim();line.sellingPlanId=sid.includes(\"gid://\")?sid:toSellingPlanGid(sid);}return line;});const newCart=await CartService.createCart(shopify,[mainLine,...buyNowCrossLines],buyerIdentity);if(newCart?.checkoutUrl){if(trackingId){track(trackingId);}trackAnalytics(\"begin_checkout\");const finalUrl=await buildFinalCheckoutUrl(newCart.checkoutUrl);window.location.assign(finalUrl);}}else{// Add to Cart — one Storefront mutation for main + cross-sells; useCart\n// optimisticData applies every line when `additionalLines` is present.\nconst addMainLinePromise=addToCart({variantId:activeVariant.id,quantity,attributes:attributes.length>0?attributes:undefined,sellingPlanId:sellingPlanForCart,optimisticLine:optimisticMainLine||undefined,additionalLines});if(resolvedOnClickAction===\"cart\"){triggerCartModal();}else if(resolvedOnClickAction===\"miniCart\"){if(typeof triggerShopifyMiniCartModal===\"function\"){triggerShopifyMiniCartModal();}else{openMiniCart();}}await addMainLinePromise;if(trackingId){track(trackingId);}trackAnalytics(\"add_to_cart\");}}catch(error){window.dispatchEvent(new CustomEvent(\"errorChanged\",{detail:error.message||\"Failed to add item to cart\"}));}},[canAddToCart,activeVariant,productId,orderMax,currentCartQuantity,quantity,parsedFCData,sellingPlanForCart,BuyNowATC,checkoutDomain,productMetadata,activeMarket.countryCode,activeMarket.currencyCode,dynamicProduct,selectedVariantAvailable,selectedVariantInventory,resolvedOnClickAction,addToCart,triggerCartModal,openMiniCart,triggerShopifyMiniCartModal,crossSellSelections,trackingId,track,toast]);// =========================================================================\n// ANALYTICS - View Item\n// =========================================================================\nuseEffect(()=>{// F4: gate on fireViewItem so card/grid instances don't pollute view_item counts.\n// Set to false on instances rendered inside product cards or collection grids;\n// fire `view_item_list` from the grid component instead.\nif(!fireViewItem)return;if(!productId||!activeVariant)return;if(viewItemTrackedRef.current===activeVariant.id)return;if(typeof window.fcTrackGAEvent!==\"function\")return;// GA dispatcher bails silently when not initialized. Don't mark this\n// event as \"tracked\" until GA is actually ready — let gaReadyTick re-run\n// this effect once init completes. See SIGNALS_GA_AUDIT.md.\nif(!window.__fcGAInitialized)return;// F2: namespaced item_id matching the Shopify Google + YouTube app format\nconst itemId=buildShopifyItemId({productId,variantId:activeVariant.id,countryCode:activeMarket.countryCode});const sku=bareVariantId(activeVariant.id);if(!sku)return;// no variant ID → can't fire a meaningful event\n// Match Shopify Google + YouTube app: option values joined, no option-name prefix.\n// FC-Data-derived variants don't have `title`, so build from selectedOptions values.\nconst itemVariant=activeVariant.selectedOptions?.map(opt=>opt.value).join(\" / \")||\"\";const dynV=dynamicProduct?.variants?.find(v=>v.id===activeVariant.id);const useDyn=priceMode===\"dynamic\"&&dynV?.price;const currency=useDyn?dynV.price.currencyCode:activeMarket.currencyCode||\"USD\";const price=useDyn?parseFloat(dynV.price.amount):getVariantPriceFromFCData(parsedFCData,activeVariant.id,currency,activeMarket.countryCode)?.price||0;// F6: fire even when price is 0 (free items, gifts-with-purchase,\n// or unresolved dynamic price). Previously this gate dropped legit views.\nwindow.fcTrackGAEvent(\"view_item\",{currency,value:price,items:[{item_id:itemId,item_name:productMetadata.title||\"\",item_variant:itemVariant,price,quantity:1,item_brand:productMetadata.vendor||undefined,item_category:productMetadata.productType||undefined,SKU:sku,\"Item Name\":productMetadata.title||\"\"}]});viewItemTrackedRef.current=activeVariant.id;},[fireViewItem,productId,activeVariant,productMetadata,dynamicProduct,priceMode,parsedFCData,activeMarket,gaReadyTick]);// View Content (Facebook)\nuseEffect(()=>{if(!productId||viewContentFired.current)return;const variant=activeVariant||productVariants[0];if(variant){trackFacebookPixelViewContent({variant,product:productMetadata,currency:variant.price?.currencyCode||\"USD\"});viewContentFired.current=true;}},[productId,activeVariant,productVariants,productMetadata]);// =========================================================================\n// LOADING STATE\n// =========================================================================\nuseEffect(()=>{let timer;if(isLoading){setShouldShowLoading(false);timer=setTimeout(()=>setShouldShowLoading(true),200);}else{setShouldShowLoading(false);}return()=>clearTimeout(timer);},[isLoading]);useEffect(()=>{if(productId&&productVariants.length>0){const timer=setTimeout(()=>setHasInitialized(true),50);return()=>clearTimeout(timer);}},[productId,productVariants.length]);// =========================================================================\n// RENDER\n// =========================================================================\nconst isCanvas=isFramerCanvas(RenderTarget.current());// Blur focused element on state transition to prevent stale focus outlines\nconst currentStateRef=useRef(\"\");const stateKey=isLoading?\"loading\":maxQuantityReached?\"maxQty\":isOutOfStock?\"oos\":needsVariantSelection?\"selectVariant\":\"available\";useEffect(()=>{if(currentStateRef.current&&currentStateRef.current!==stateKey){const focused=document.activeElement;if(focused&&focused.closest(\".fc-purchase-button-container\")){focused.blur();}}currentStateRef.current=stateKey;},[stateKey]);// OOS notify: allow clicking the out-of-stock button when notify action is enabled\nconst canTriggerNotifyFromOOS=useMemo(()=>resolvedOnClickOOSAction===\"notify\"&&isOutOfStock&&!!OutOfStock?.[0],[resolvedOnClickOOSAction,isOutOfStock,OutOfStock]);const handleClick=useCallback(e=>{e.stopPropagation();if(canAddToCart){handleAddToCart();}},[canAddToCart,handleAddToCart]);const handleOOSClick=useCallback(()=>{if(!isOutOfStock||resolvedOnClickOOSAction!==\"notify\")return;if(typeof triggerNotifyOverlay===\"function\"){triggerNotifyOverlay();}else{triggerNotify();}},[isOutOfStock,resolvedOnClickOOSAction,triggerNotifyOverlay,triggerNotify]);const attributeA11ySrOnly={position:\"absolute\",width:1,height:1,padding:0,margin:-1,overflow:\"hidden\",clip:\"rect(0, 0, 0, 0)\",whiteSpace:\"nowrap\",border:0};// Helper to render a button state with proper styling and accessibility.\n// Validation runs on click only; aria-invalid / live hint use local state set in handleAddToCart\n// (not subscriptions to attributeErrorByProductId).\nconst renderButtonState=(stateContent,label,opts={})=>{if(!stateContent)return null;const{isAddToCart=false,isOOS=false}=opts;const canClick=isAddToCart&&canAddToCart;const canClickOOS=isOOS&&canTriggerNotifyFromOOS;const sanitized=sanitizeChildrenRecursively(stateContent);prepareSlotRefFromElement(stateContent);const showAttributeA11y=isAddToCart&&attributeClickA11yActive;const cloned=/*#__PURE__*/cloneElement(sanitized,{ref:stableFocusHostRef,className:[stateContent.props?.className,focusClassName].filter(Boolean).join(\" \"),style:{...stateContent.props?.style||{},width:\"100%\",cursor:canClick||canClickOOS?\"pointer\":\"not-allowed\",outline:\"none\"},onClick:canClick?handleClick:canClickOOS?handleOOSClick:undefined,onKeyDown:canClick||canClickOOS?e=>{if(e.key===\"Enter\"||e.key===\" \"){e.preventDefault();canClick?handleClick(e):handleOOSClick();}}:undefined,role:\"button\",\"aria-disabled\":!(canClick||canClickOOS),...showAttributeA11y?{\"aria-invalid\":true,\"aria-describedby\":purchaseAttributeA11yId}:{},\"aria-label\":label,tabIndex:hasInitialized?0:-1});if(!showAttributeA11y)return cloned;return /*#__PURE__*/_jsxs(_Fragment,{children:[/*#__PURE__*/_jsx(\"span\",{id:purchaseAttributeA11yId,style:attributeA11ySrOnly,role:\"status\",\"aria-live\":\"polite\",children:\"Complete required product options before adding to cart.\"}),cloned]});};// Determine which content to render (conditional rendering - only one state at a time)\nconst renderContent=()=>{if(isLoading&&shouldShowLoading&&LoadingState?.[0]){const sanitizedLoading=sanitizeChildrenRecursively(LoadingState[0]);return /*#__PURE__*/cloneElement(sanitizedLoading,{className:[LoadingState[0].props?.className].filter(Boolean).join(\" \"),style:{...LoadingState[0].props?.style||{},width:\"100%\",outline:\"none\"},role:\"status\",\"aria-busy\":true,\"aria-label\":\"Loading button\",tabIndex:-1});}if(maxQuantityReached&&maxQuantityState?.[0]){return renderButtonState(maxQuantityState[0],\"Max quantity reached\");}if(isOutOfStock&&OutOfStock?.[0]){return renderButtonState(OutOfStock[0],\"Out of stock\",{isOOS:true});}if(needsVariantSelection&&SelectVariant?.[0]){return renderButtonState(SelectVariant[0],\"Select variant\");}if(available?.[0]){return renderButtonState(available[0],BuyNowATC?\"Buy now\":\"Add to cart\",{isAddToCart:true});}return null;};return /*#__PURE__*/_jsx(\"div\",{style:{height:\"100%\",width:\"100%\",position:\"relative\"},className:\"fc-purchase-button-container\",children:isCanvas?available?.[0]?(()=>{prepareSlotRefFromElement(available[0]);return /*#__PURE__*/cloneElement(sanitizeChildrenRecursively(available[0]),{ref:stableFocusHostRef,className:[available[0].props?.className,focusClassName].filter(Boolean).join(\" \"),style:{...available[0].props?.style||{},width:\"100%\",cursor:\"pointer\"},onClick:handleClick,role:\"button\",\"aria-label\":BuyNowATC?\"Buy now\":\"Add to cart\"});})():/*#__PURE__*/_jsx(EmptyState,{description:\"Add your design to use as the Available purchase button.\"}):hasInitialized?renderContent():null});}// =========================================================================\n// PROPERTY CONTROLS\n// =========================================================================\naddPropertyControls(Butter_ProductPurchaseButton,{fcData:{type:ControlType.String,title:\"FC Data\",description:\"Connect to CMS\"},LoadingState:{type:ControlType.ComponentInstance,title:\"Loading\",description:\"Display when product/variant is determining state to show.\"},available:{type:ControlType.ComponentInstance,title:\"Available\",description:\"Display when product/variant is available (Add to Cart or Buy Now).\"},SelectVariant:{type:ControlType.ComponentInstance,title:\"Select Variant\",description:\"Display when product/variant requires a variant selection.\"},OutOfStock:{type:ControlType.ComponentInstance,title:\"Out of Stock\",description:\"Display when product/variant is out of stock.\"},maxQuantity:{type:ControlType.ComponentInstance,title:\"Limit Reached\",description:\"Display when maximum cart quantity is reached.\\n\\n––––\\n\\nConnect each state to button component off-page.\\n\\nIf you detach the button component, you'll need to reconnect the states.\"},BuyNowATC:{title:\"Buy Now\",type:ControlType.Boolean,enabledTitle:\"Yes\",disabledTitle:\"No\",defaultValue:false},checkoutDomain:{title:\"Checkout Domain\",type:ControlType.String,defaultValue:\"\",placeholder:\"framer.store\",description:\"Buy Now only. Set a storefront domain to skip the Storefront API and send the shopper straight to checkout via a cart permalink (uses the variant ID from FC Data). Leave blank to use the connected store.\",hidden:props=>!props.BuyNowATC},onClickAction:{title:\"On Click\",description:\"After item successfully gets added to the cart.\",type:ControlType.Enum,options:[\"cart\",\"miniCart\",\"none\"],optionTitles:[\"Trigger Cart Event\",\"Trigger Mini Cart Event\",\"No Trigger\"],defaultValue:\"cart\",displaySegmentedControl:true,segmentedControlDirection:\"vertical\",hidden:props=>props.BuyNowATC},onClickOOSAction:{title:\"Out of Stock\",description:\"When *Out of Stock*, allow the user to click on the button, triggering an Overlay.\",type:ControlType.Enum,options:[\"notify\",\"none\"],optionTitles:[\"Trigger Notify Event\",\"Don't Allow Click\"],defaultValue:\"none\",displaySegmentedControl:true,segmentedControlDirection:\"vertical\"},triggerShopifyMiniCartModal:{type:ControlType.EventHandler,title:\"Post-Add\",hidden:props=>props.BuyNowATC||props.onClickAction!==\"miniCart\"},triggerNotifyOverlay:{type:ControlType.EventHandler,title:\"Notify\",hidden:props=>props.onClickOOSAction!==\"notify\"},fireViewItem:{type:ControlType.Boolean,title:\"Fire view_item\",description:\"Fire GA4 view_item when this button mounts. Enable on PDPs (one button per page). Disable on product cards / collection grids — fire view_item_list from the grid instead.\",enabledTitle:\"Yes\",disabledTitle:\"No\",defaultValue:true},focus:{type:ControlType.Object,title:\"Focus\",controls:{radius:{type:ControlType.BorderRadius,title:\"Radius\",defaultValue:\"0px\"},width:{type:ControlType.Number,title:\"Width\",defaultValue:2,min:1,max:20,step:1,displayStepper:true},offset:{type:ControlType.Number,title:\"Offset\",defaultValue:2,min:0,max:20,step:1,displayStepper:true},color:{type:ControlType.Color,title:\"Color\"}}},shopifyProductVariantId:{type:ControlType.String,title:\"Variant ID\",description:\"Advanced: Manually set a specific product variant ID (optional).\"},trackingId:{title:\"Tracking\",type:ControlType.TrackingId,placeholder:\"ID\"}});\nexport const __FramerMetadata__ = {\"exports\":{\"default\":{\"type\":\"reactComponent\",\"name\":\"Butter_ProductPurchaseButton\",\"slots\":[],\"annotations\":{\"framerDisableUnlink\":\"\",\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}","import { ControlType } from \"framer\";\nexport const fontStack = `\"Inter\", system-ui, -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, Helvetica, Arial, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\"`;\nexport const containerStyles = {\n    position: \"relative\",\n    width: \"100%\",\n    height: \"100%\",\n    display: \"flex\",\n    justifyContent: \"center\",\n    alignItems: \"center\"\n};\nexport const emptyStateStyle = {\n    ...containerStyles,\n    borderRadius: 6,\n    background: \"rgba(136, 85, 255, 0.3)\",\n    color: \"#85F\",\n    border: \"1px dashed #85F\",\n    flexDirection: \"column\"\n};\nexport const defaultEvents = {\n    onClick: {\n        type: ControlType.EventHandler\n    },\n    onMouseEnter: {\n        type: ControlType.EventHandler\n    },\n    onMouseLeave: {\n        type: ControlType.EventHandler\n    }\n};\nexport const fontSizeOptions = {\n    type: ControlType.Number,\n    title: \"Font Size\",\n    min: 2,\n    max: 200,\n    step: 1,\n    displayStepper: true\n};\nexport const fontControls = {\n    font: {\n        type: ControlType.Boolean,\n        title: \"Font\",\n        defaultValue: false,\n        disabledTitle: \"Default\",\n        enabledTitle: \"Custom\"\n    },\n    fontFamily: {\n        type: ControlType.String,\n        title: \"Family\",\n        placeholder: \"Inter\",\n        hidden: ({ font  })=>!font\n    },\n    fontWeight: {\n        type: ControlType.Enum,\n        title: \"Weight\",\n        options: [\n            100,\n            200,\n            300,\n            400,\n            500,\n            600,\n            700,\n            800,\n            900\n        ],\n        optionTitles: [\n            \"Thin\",\n            \"Extra-light\",\n            \"Light\",\n            \"Regular\",\n            \"Medium\",\n            \"Semi-bold\",\n            \"Bold\",\n            \"Extra-bold\",\n            \"Black\", \n        ],\n        hidden: ({ font  })=>!font\n    }\n};\n// @TODO check if we're missing anything here — there doesn't seem to be a reliable browser API for this\nexport const localeOptions = {\n    af: \"Afrikaans\",\n    sq: \"Albanian\",\n    an: \"Aragonese\",\n    ar: \"Arabic (Standard)\",\n    \"ar-dz\": \"Arabic (Algeria)\",\n    \"ar-bh\": \"Arabic (Bahrain)\",\n    \"ar-eg\": \"Arabic (Egypt)\",\n    \"ar-iq\": \"Arabic (Iraq)\",\n    \"ar-jo\": \"Arabic (Jordan)\",\n    \"ar-kw\": \"Arabic (Kuwait)\",\n    \"ar-lb\": \"Arabic (Lebanon)\",\n    \"ar-ly\": \"Arabic (Libya)\",\n    \"ar-ma\": \"Arabic (Morocco)\",\n    \"ar-om\": \"Arabic (Oman)\",\n    \"ar-qa\": \"Arabic (Qatar)\",\n    \"ar-sa\": \"Arabic (Saudi Arabia)\",\n    \"ar-sy\": \"Arabic (Syria)\",\n    \"ar-tn\": \"Arabic (Tunisia)\",\n    \"ar-ae\": \"Arabic (U.A.E.)\",\n    \"ar-ye\": \"Arabic (Yemen)\",\n    hy: \"Armenian\",\n    as: \"Assamese\",\n    ast: \"Asturian\",\n    az: \"Azerbaijani\",\n    eu: \"Basque\",\n    bg: \"Bulgarian\",\n    be: \"Belarusian\",\n    bn: \"Bengali\",\n    bs: \"Bosnian\",\n    br: \"Breton\",\n    my: \"Burmese\",\n    ca: \"Catalan\",\n    ch: \"Chamorro\",\n    ce: \"Chechen\",\n    zh: \"Chinese\",\n    \"zh-hk\": \"Chinese (Hong Kong)\",\n    \"zh-cn\": \"Chinese (PRC)\",\n    \"zh-sg\": \"Chinese (Singapore)\",\n    \"zh-tw\": \"Chinese (Taiwan)\",\n    cv: \"Chuvash\",\n    co: \"Corsican\",\n    cr: \"Cree\",\n    hr: \"Croatian\",\n    cs: \"Czech\",\n    da: \"Danish\",\n    nl: \"Dutch (Standard)\",\n    \"nl-be\": \"Dutch (Belgian)\",\n    en: \"English\",\n    \"en-au\": \"English (Australia)\",\n    \"en-bz\": \"English (Belize)\",\n    \"en-ca\": \"English (Canada)\",\n    \"en-ie\": \"English (Ireland)\",\n    \"en-jm\": \"English (Jamaica)\",\n    \"en-nz\": \"English (New Zealand)\",\n    \"en-ph\": \"English (Philippines)\",\n    \"en-za\": \"English (South Africa)\",\n    \"en-tt\": \"English (Trinidad & Tobago)\",\n    \"en-gb\": \"English (United Kingdom)\",\n    \"en-us\": \"English (United States)\",\n    \"en-zw\": \"English (Zimbabwe)\",\n    eo: \"Esperanto\",\n    et: \"Estonian\",\n    fo: \"Faeroese\",\n    fa: \"Farsi\",\n    fj: \"Fijian\",\n    fi: \"Finnish\",\n    fr: \"French (Standard)\",\n    \"fr-be\": \"French (Belgium)\",\n    \"fr-ca\": \"French (Canada)\",\n    \"fr-fr\": \"French (France)\",\n    \"fr-lu\": \"French (Luxembourg)\",\n    \"fr-mc\": \"French (Monaco)\",\n    \"fr-ch\": \"French (Switzerland)\",\n    fy: \"Frisian\",\n    fur: \"Friulian\",\n    gd: \"Gaelic (Scots)\",\n    \"gd-ie\": \"Gaelic (Irish)\",\n    gl: \"Galacian\",\n    ka: \"Georgian\",\n    de: \"German (Standard)\",\n    \"de-at\": \"German (Austria)\",\n    \"de-de\": \"German (Germany)\",\n    \"de-li\": \"German (Liechtenstein)\",\n    \"de-lu\": \"German (Luxembourg)\",\n    \"de-ch\": \"German (Switzerland)\",\n    el: \"Greek\",\n    gu: \"Gujurati\",\n    ht: \"Haitian\",\n    he: \"Hebrew\",\n    hi: \"Hindi\",\n    hu: \"Hungarian\",\n    is: \"Icelandic\",\n    id: \"Indonesian\",\n    iu: \"Inuktitut\",\n    ga: \"Irish\",\n    it: \"Italian (Standard)\",\n    \"it-ch\": \"Italian (Switzerland)\",\n    ja: \"Japanese\",\n    kn: \"Kannada\",\n    ks: \"Kashmiri\",\n    kk: \"Kazakh\",\n    km: \"Khmer\",\n    ky: \"Kirghiz\",\n    tlh: \"Klingon\",\n    ko: \"Korean\",\n    \"ko-kp\": \"Korean (North Korea)\",\n    \"ko-kr\": \"Korean (South Korea)\",\n    la: \"Latin\",\n    lv: \"Latvian\",\n    lt: \"Lithuanian\",\n    lb: \"Luxembourgish\",\n    mk: \"FYRO Macedonian\",\n    ms: \"Malay\",\n    ml: \"Malayalam\",\n    mt: \"Maltese\",\n    mi: \"Maori\",\n    mr: \"Marathi\",\n    mo: \"Moldavian\",\n    nv: \"Navajo\",\n    ng: \"Ndonga\",\n    ne: \"Nepali\",\n    no: \"Norwegian\",\n    nb: \"Norwegian (Bokmal)\",\n    nn: \"Norwegian (Nynorsk)\",\n    oc: \"Occitan\",\n    or: \"Oriya\",\n    om: \"Oromo\",\n    \"fa-ir\": \"Persian/Iran\",\n    pl: \"Polish\",\n    pt: \"Portuguese\",\n    \"pt-br\": \"Portuguese (Brazil)\",\n    pa: \"Punjabi\",\n    \"pa-in\": \"Punjabi (India)\",\n    \"pa-pk\": \"Punjabi (Pakistan)\",\n    qu: \"Quechua\",\n    rm: \"Rhaeto-Romanic\",\n    ro: \"Romanian\",\n    \"ro-mo\": \"Romanian (Moldavia)\",\n    ru: \"Russian\",\n    \"ru-mo\": \"Russian (Moldavia)\",\n    sz: \"Sami (Lappish)\",\n    sg: \"Sango\",\n    sa: \"Sanskrit\",\n    sc: \"Sardinian\",\n    sd: \"Sindhi\",\n    si: \"Singhalese\",\n    sr: \"Serbian\",\n    sk: \"Slovak\",\n    sl: \"Slovenian\",\n    so: \"Somani\",\n    sb: \"Sorbian\",\n    es: \"Spanish\",\n    \"es-ar\": \"Spanish (Argentina)\",\n    \"es-bo\": \"Spanish (Bolivia)\",\n    \"es-cl\": \"Spanish (Chile)\",\n    \"es-co\": \"Spanish (Colombia)\",\n    \"es-cr\": \"Spanish (Costa Rica)\",\n    \"es-do\": \"Spanish (Dominican Republic)\",\n    \"es-ec\": \"Spanish (Ecuador)\",\n    \"es-sv\": \"Spanish (El Salvador)\",\n    \"es-gt\": \"Spanish (Guatemala)\",\n    \"es-hn\": \"Spanish (Honduras)\",\n    \"es-mx\": \"Spanish (Mexico)\",\n    \"es-ni\": \"Spanish (Nicaragua)\",\n    \"es-pa\": \"Spanish (Panama)\",\n    \"es-py\": \"Spanish (Paraguay)\",\n    \"es-pe\": \"Spanish (Peru)\",\n    \"es-pr\": \"Spanish (Puerto Rico)\",\n    \"es-es\": \"Spanish (Spain)\",\n    \"es-uy\": \"Spanish (Uruguay)\",\n    \"es-ve\": \"Spanish (Venezuela)\",\n    sx: \"Sutu\",\n    sw: \"Swahili\",\n    sv: \"Swedish\",\n    \"sv-fi\": \"Swedish (Finland)\",\n    \"sv-sv\": \"Swedish (Sweden)\",\n    ta: \"Tamil\",\n    tt: \"Tatar\",\n    te: \"Teluga\",\n    th: \"Thai\",\n    tig: \"Tigre\",\n    ts: \"Tsonga\",\n    tn: \"Tswana\",\n    tr: \"Turkish\",\n    tk: \"Turkmen\",\n    uk: \"Ukrainian\",\n    hsb: \"Upper Sorbian\",\n    ur: \"Urdu\",\n    ve: \"Venda\",\n    vi: \"Vietnamese\",\n    vo: \"Volapuk\",\n    wa: \"Walloon\",\n    cy: \"Welsh\",\n    xh: \"Xhosa\",\n    ji: \"Yiddish\",\n    zu: \"Zulu\"\n};\n\nexport const __FramerMetadata__ = {\"exports\":{\"fontSizeOptions\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"fontControls\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"localeOptions\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"fontStack\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"emptyStateStyle\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"containerStyles\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"defaultEvents\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}}}}\n//# sourceMappingURL=./constants.map","import { useIsInCurrentNavigationTarget } from \"framer\";\nimport { useEffect } from \"react\";\nexport function useOnEnter(onEnter, enabled) {\n    return useOnSpecificTargetChange(true, onEnter, enabled);\n}\nexport function useOnExit(onExit, enabled) {\n    return useOnSpecificTargetChange(false, onExit, enabled);\n}\nfunction useOnSpecificTargetChange(goal, callback, enabled = true) {\n    const isInTarget = useIsInCurrentNavigationTarget();\n    useEffect(()=>{\n        if (enabled && isInTarget === goal) callback();\n    }, [\n        isInTarget\n    ]);\n}\n\nexport const __FramerMetadata__ = {\"exports\":{\"useOnEnter\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"useOnExit\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}}}}\n//# sourceMappingURL=./useOnNavigationTargetChange.map","import { useRef } from \"react\";\n/**\n * Creates a constant value over the lifecycle of a component.\n *\n * Even if `useMemo` is provided an empty array as its final argument, it doesn't offer\n * a guarantee that it won't re-run for performance reasons later on. By using `useConstant`\n * you can ensure that initialisers don't execute twice or more.\n */ export function useConstant(init) {\n    const ref = useRef(null);\n    if (ref.current === null) {\n        ref.current = init();\n    }\n    return ref.current;\n}\n\nexport const __FramerMetadata__ = {\"exports\":{\"useConstant\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}}}}\n//# sourceMappingURL=./useConstant.map","import { Color } from \"framer\";\nexport function colorFromToken(color) {\n    if (color.startsWith(\"var(--token-\")) return \"rgb\" + color.split(\") /*\")[0].split(\", rgb\")[1];\n    return color;\n}\nexport function colorTokentoValue(color) {\n    return Color(colorFromToken(color)).toValue();\n}\n\nexport const __FramerMetadata__ = {\"exports\":{\"colorFromToken\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"colorTokentoValue\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}}}}\n//# sourceMappingURL=./colorFromToken.map","import { MotionValue } from \"framer\";\nexport const isMotionValue = (v)=>v instanceof MotionValue\n;\n\nexport const __FramerMetadata__ = {\"exports\":{\"isMotionValue\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}}}}\n//# sourceMappingURL=./isMotionValue.map","import * as React from \"react\";\nconst letters = \"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz\";\nconst l = ()=>letters[Math.floor(Math.random() * letters.length)]\n;\nexport const randomID = ()=>l() + l() + l() + l() + l() + l() + l() + l() + l()\n;\nfunction createUniqueClass(suffix) {\n    return `framer-${suffix}-${randomID()}`;\n}\nexport function useUniqueClassName(suffix, deps) {\n    const [className, setClassName] = React.useState(createUniqueClass(suffix));\n    React.useEffect(()=>{\n        setClassName(createUniqueClass(suffix));\n    }, [\n        suffix,\n        ...deps\n    ]);\n    return className;\n}\n\nexport const __FramerMetadata__ = {\"exports\":{\"useUniqueClassName\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"randomID\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}}}}\n//# sourceMappingURL=./useUniqueClassName.map","import { ControlType } from \"framer\";\n// I realize this only applies to select right now\n// but we can work on it in here\nexport function getVariantControls(Component, variant, additionalControls = {\n}) {\n    return {\n        [`${variant}TextColor`]: {\n            type: ControlType.Color,\n            title: \"Text Color\",\n            defaultValue: Component.defaultProps[`${variant}TextColor`],\n            hidden: (props)=>props.variant !== variant\n        },\n        [`${variant}IconColor`]: {\n            type: ControlType.Color,\n            title: \"Icon Color\",\n            defaultValue: Component.defaultProps[`${variant}IconColor`],\n            hidden: (props)=>props.variant !== variant\n        },\n        [`${variant}BackgroundColor`]: {\n            type: ControlType.Color,\n            title: \"Bg Color\",\n            defaultValue: Component.defaultProps[`${variant}BackgroundColor`],\n            hidden: (props)=>props.variant !== variant\n        },\n        [`${variant}BorderColor`]: {\n            type: ControlType.Color,\n            title: \"Border Color\",\n            defaultValue: Component.defaultProps[`${variant}BorderColor`],\n            hidden: (props)=>props.variant !== variant\n        },\n        [`${variant}BorderWidth`]: {\n            type: ControlType.Number,\n            title: \" \",\n            min: 0,\n            max: 5,\n            displayStepper: true,\n            defaultValue: Component.defaultProps[`${variant}BorderWidth`],\n            hidden: (props)=>props.variant !== variant\n        },\n        ...additionalControls\n    };\n}\n\nexport const __FramerMetadata__ = {\"exports\":{\"getVariantControls\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}}}}\n//# sourceMappingURL=./variantUtils.map","import { useMemo } from \"react\";\nexport const isBrowserSafari = ()=>{\n    if (typeof navigator !== `undefined`) {\n        const userAgent = navigator.userAgent.toLowerCase();\n        const isSafari = (userAgent.indexOf(\"safari\") > -1 || userAgent.indexOf(\"framermobile\") > -1 || userAgent.indexOf(\"framerx\") > -1) && userAgent.indexOf(\"chrome\") < 0;\n        return isSafari;\n    } else return false;\n};\nexport const useIsBrowserSafari = ()=>useMemo(()=>isBrowserSafari()\n    , [])\n;\n\nexport const __FramerMetadata__ = {\"exports\":{\"useIsBrowserSafari\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"isBrowserSafari\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}}}}\n//# sourceMappingURL=./isBrowser.map","import { useEffect } from \"react\";\n//@ts-ignore\nimport { isMotionValue } from \"https://framerusercontent.com/modules/3mKFSGQqKHV82uOV1eBc/5fbRLvOpxZC0JOXugvwm/isMotionValue.js\";\nexport function useOnChange(value, callback) {\n    useEffect(()=>// @ts-ignore this should be detected as a MV :shrug:\n        isMotionValue(value) ? value.onChange(callback) : undefined\n    );\n}\nexport function useMultiOnChange(values, handler) {\n    useEffect(()=>{\n        const subscriptions = values.map((value)=>value.onChange(handler)\n        );\n        return ()=>subscriptions.forEach((unsubscribe)=>unsubscribe()\n            )\n        ;\n    });\n}\n\nexport const __FramerMetadata__ = {\"exports\":{\"Subscriber\":{\"type\":\"tsType\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"useOnChange\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"useMultiOnChange\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}}}}\n//# sourceMappingURL=./useOnChange.map","import { useCallback, useEffect, useRef } from \"react\";\nimport { motionValue, animate, RenderTarget } from \"framer\";\n// @ts-ignore\nimport { isMotionValue } from \"https://framerusercontent.com/modules/3mKFSGQqKHV82uOV1eBc/5fbRLvOpxZC0JOXugvwm/isMotionValue.js\";\n// @ts-ignore\nimport { useConstant } from \"https://framerusercontent.com/modules/ExNgrA7EJTKUPpH6vIlN/eiOrSJ2Ab5M9jPCvVwUz/useConstant.js\";\nexport function useAutoMotionValue(inputValue, options) {\n    var ref;\n    // Put options on a local ref\n    // Might wanna just memo instead but it works for now\n    const optionsRef = useRef(options);\n    const animation = useRef();\n    const didInitialMount = useRef(false);\n    const isOnCanvas = RenderTarget.current() === RenderTarget.canvas;\n    // in-progress - trying to figure out effect hooks\n    const onChangeDeps = (options === null || options === void 0 ? void 0 : options.onChangeDeps) ? options.onChangeDeps : [];\n    // Memoize the onChange handler\n    const onChange = useCallback(options === null || options === void 0 ? void 0 : options.onChange, [\n        ...onChangeDeps, \n    ]);\n    // Optionally scale the value from props\n    const transformer = useCallback((value)=>((ref = optionsRef.current) === null || ref === void 0 ? void 0 : ref.transform) ? optionsRef.current.transform(value) : value\n    , []);\n    // Create new MotionValue from inputValue\n    const value = useConstant(()=>isMotionValue(inputValue) ? inputValue : motionValue(transformer(inputValue))\n    );\n    // Setting value from prop change\n    useEffect(()=>{\n        if (!isMotionValue(inputValue) && didInitialMount.current) {\n            var ref1, ref2;\n            const newValue = transformer(inputValue);\n            (ref1 = animation.current) === null || ref1 === void 0 ? void 0 : ref1.stop();\n            // Call change callback\n            if (onChange) onChange(newValue, value);\n            // Trigger animation to new value\n            if (((ref2 = optionsRef.current) === null || ref2 === void 0 ? void 0 : ref2.animate) && !isOnCanvas) {\n                var ref3;\n                // @ts-ignore\n                animation.current = animate(value, newValue, (ref3 = optionsRef.current) === null || ref3 === void 0 ? void 0 : ref3.transition);\n            } else {\n                value.set(newValue);\n            }\n        }\n        didInitialMount.current = true;\n    }, [\n        inputValue,\n        ...onChangeDeps\n    ]);\n    return value;\n}\n\nexport const __FramerMetadata__ = {\"exports\":{\"useAutoMotionValue\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}}}}","// @ts-ignore\nimport{fontStore}from\"framer\";import{useEffect}from\"react\";import{fontStack}from\"https://framerusercontent.com/modules/VTUDdizacRHpwbkOamr7/AykinQJbgwl92LvMGZwu/constants.js\";const fontWeights={100:\"Thin\",200:\"Extra-light\",300:\"Light\",400:\"Regular\",500:\"Medium\",600:\"Semi-bold\",700:\"Bold\",800:\"Extra-bold\",900:\"Black\"};export function useFontControls(props){const{fontFamily=\"Inter\",fontSize=16,fontWeight=400,font=false}=props;const fontWeightName=fontWeights[fontWeight];const customFontStack=`\"${fontFamily} ${fontWeightName}\", \"${fontFamily}\", ${fontStack}`;const fontFamilyStyle=fontFamily?{fontSize,fontWeight,fontFamily:customFontStack}:{fontSize,fontWeight};const fetchCustomFonts=async()=>{await fontStore.loadWebFontsFromSelectors([`CUSTOM;${fontFamily}`,`CUSTOM;${fontFamily} ${fontWeightName}`,`GF;${fontFamily}-${fontWeightName.toLowerCase()}`,]).catch(e=>console.error(e));};useEffect(()=>{if(font)fetchCustomFonts();},[font,fontFamily,fontWeight]);return fontFamilyStyle;}\nexport const __FramerMetadata__ = {\"exports\":{\"useFontControls\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}}}}\n//# sourceMappingURL=./useFontControls.map","import { useMemo } from \"react\";\nimport { RenderTarget } from \"framer\";\nexport function useRenderTarget() {\n    const currentRenderTarget = useMemo(()=>RenderTarget.current()\n    , []);\n    return currentRenderTarget;\n}\nexport function useIsInPreview() {\n    const inPreview = useMemo(()=>RenderTarget.current() === RenderTarget.preview\n    , []);\n    return inPreview;\n}\nexport function useIsOnCanvas() {\n    const onCanvas = useMemo(()=>RenderTarget.current() === RenderTarget.canvas\n    , []);\n    return onCanvas;\n}\n\nexport const __FramerMetadata__ = {\"exports\":{\"useIsInPreview\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"useRenderTarget\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"useIsOnCanvas\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}}}}\n//# sourceMappingURL=./useRenderTarget.map","import * as React from \"react\";\nexport function useControlledState(value) {\n    const [controlledValue, setValue] = React.useState(value);\n    React.useEffect(()=>{\n        setValue(value);\n    }, [\n        value\n    ]);\n    return [\n        controlledValue,\n        setValue\n    ];\n}\n\nexport const __FramerMetadata__ = {\"exports\":{\"useControlledState\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}}}}\n//# sourceMappingURL=./useControlledState.map","import { useMemo } from \"react\";\nimport { ControlType } from \"framer\";\nexport function useRadius(props) {\n    const { borderRadius , isMixedBorderRadius , topLeftRadius , topRightRadius , bottomRightRadius , bottomLeftRadius ,  } = props;\n    const radiusValue = useMemo(()=>isMixedBorderRadius ? `${topLeftRadius}px ${topRightRadius}px ${bottomRightRadius}px ${bottomLeftRadius}px` : `${borderRadius}px`\n    , [\n        borderRadius,\n        isMixedBorderRadius,\n        topLeftRadius,\n        topRightRadius,\n        bottomRightRadius,\n        bottomLeftRadius, \n    ]);\n    return radiusValue;\n}\nexport const borderRadiusControl = {\n    borderRadius: {\n        title: \"Radius\",\n        type: ControlType.FusedNumber,\n        toggleKey: \"isMixedBorderRadius\",\n        toggleTitles: [\n            \"Radius\",\n            \"Radius per corner\"\n        ],\n        valueKeys: [\n            \"topLeftRadius\",\n            \"topRightRadius\",\n            \"bottomRightRadius\",\n            \"bottomLeftRadius\", \n        ],\n        valueLabels: [\n            \"TL\",\n            \"TR\",\n            \"BR\",\n            \"BL\"\n        ],\n        min: 0\n    }\n};\nexport function usePadding(props) {\n    const { padding , paddingPerSide , paddingTop , paddingRight , paddingBottom , paddingLeft ,  } = props;\n    const paddingValue = useMemo(()=>paddingPerSide ? `${paddingTop}px ${paddingRight}px ${paddingBottom}px ${paddingLeft}px` : padding\n    , [\n        padding,\n        paddingPerSide,\n        paddingTop,\n        paddingRight,\n        paddingBottom,\n        paddingLeft, \n    ]);\n    return paddingValue;\n}\nexport const paddingControl = {\n    padding: {\n        type: ControlType.FusedNumber,\n        toggleKey: \"paddingPerSide\",\n        toggleTitles: [\n            \"Padding\",\n            \"Padding per side\"\n        ],\n        valueKeys: [\n            \"paddingTop\",\n            \"paddingRight\",\n            \"paddingBottom\",\n            \"paddingLeft\", \n        ],\n        valueLabels: [\n            \"T\",\n            \"R\",\n            \"B\",\n            \"L\"\n        ],\n        min: 0,\n        title: \"Padding\"\n    }\n};\n\nexport const __FramerMetadata__ = {\"exports\":{\"borderRadiusControl\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"useRadius\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"RadiusProps\":{\"type\":\"tsType\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"PaddingProps\":{\"type\":\"tsType\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"usePadding\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"paddingControl\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}}}}\n//# sourceMappingURL=./propUtils.map","import{defaultEvents,localeOptions,fontControls,fontSizeOptions,emptyStateStyle,containerStyles,fontStack}from\"https://framerusercontent.com/modules/VTUDdizacRHpwbkOamr7/AykinQJbgwl92LvMGZwu/constants.js\";import{useOnEnter,useOnExit}from\"https://framerusercontent.com/modules/D4TWeLfcxT6Tysr2BlYg/iZjmqdxVx1EOiM3k1FaW/useOnNavigationTargetChange.js\";import{useConstant}from\"https://framerusercontent.com/modules/ExNgrA7EJTKUPpH6vIlN/eiOrSJ2Ab5M9jPCvVwUz/useConstant.js\";import{colorTokentoValue,colorFromToken}from\"https://framerusercontent.com/modules/D2Lz5CmnNVPZFFiZXalt/QaCzPbriZBfXWZIIycFI/colorFromToken.js\";import{isMotionValue}from\"https://framerusercontent.com/modules/3mKFSGQqKHV82uOV1eBc/5fbRLvOpxZC0JOXugvwm/isMotionValue.js\";import{useUniqueClassName,randomID}from\"https://framerusercontent.com/modules/xDiQsqBGXzmMsv7AlEVy/uhunpMiNsbXxzjlXsg1y/useUniqueClassName.js\";import{getVariantControls}from\"https://framerusercontent.com/modules/ETACN5BJyFTSo0VVDJfu/NHRqowOiXkF9UwOzczF7/variantUtils.js\";import{useIsBrowserSafari}from\"https://framerusercontent.com/modules/eMBrwoqQK7h6mEeGQUH8/GuplvPJVjmxpk9zqOTcb/isBrowser.js\";import{useMultiOnChange,useOnChange}from\"https://framerusercontent.com/modules/v9AWX2URmiYsHf7GbctE/XxKAZ9KlhWqf5x1JMyyF/useOnChange.js\";import{mstoMinAndSec,secondsToMinutes}from\"https://framerusercontent.com/modules/4zHZnO5JojN1PrIbu2jm/revv9QCWpkh8lPzi2jje/time.js\";import{useAutoMotionValue}from\"https://framerusercontent.com/modules/kNDwabfjDEb3vUxkQlZS/fSIr3AOAYbGlfSPgXpYu/useAutoMotionValue.js\";import{useFontControls}from\"https://framerusercontent.com/modules/cuQH4dmpDnV8YK1mSgQX/KqRXqunFjE6ufhpc7ZRu/useFontControls.js\";import{useRenderTarget,useIsInPreview,useIsOnCanvas}from\"https://framerusercontent.com/modules/afBE9Yx1W6bY5q32qPxe/m3q7puE2tbo1S2C0s0CT/useRenderTarget.js\";import{useControlledState}from\"https://framerusercontent.com/modules/zGkoP8tPDCkoBzMdt5uq/0zFSjxIYliHxrQQnryFX/useControlledState.js\";import{usePadding,useRadius,paddingControl,borderRadiusControl}from\"https://framerusercontent.com/modules/5SM58HxZHxjjv7aLMOgQ/WXz9i6mVki0bBCrKdqB3/propUtils.js\";import{detectAutoSizingAxis}from\"https://framerusercontent.com/modules/8CkHAZatUz1UR8jNTcfD/HwbnIAZlUmQ2oTpcLkaH/detectAutoSizingAxis.js\";export{useOnEnter,useOnExit,defaultEvents,isMotionValue,colorFromToken,colorTokentoValue,localeOptions,fontControls,fontSizeOptions,emptyStateStyle,containerStyles,fontStack,useUniqueClassName,getVariantControls,useIsBrowserSafari,randomID,useConstant,useMultiOnChange,useOnChange,usePadding,useRadius,paddingControl,borderRadiusControl,mstoMinAndSec,useFontControls,secondsToMinutes,useAutoMotionValue,useRenderTarget,useIsInPreview,useControlledState,detectAutoSizingAxis,useIsOnCanvas,};\nexport const __FramerMetadata__ = {\"exports\":{\"useConstant\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"isMotionValue\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"fontControls\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"defaultEvents\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"useUniqueClassName\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"useMultiOnChange\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"useOnChange\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"useIsOnCanvas\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"useOnExit\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"fontSizeOptions\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"colorTokentoValue\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"useRadius\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"getVariantControls\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"colorFromToken\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"containerStyles\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"usePadding\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"fontStack\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"useControlledState\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"useFontControls\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"useAutoMotionValue\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"emptyStateStyle\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"useIsInPreview\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"useIsBrowserSafari\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"detectAutoSizingAxis\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"borderRadiusControl\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"mstoMinAndSec\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"randomID\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"localeOptions\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"useOnEnter\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"secondsToMinutes\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"useRenderTarget\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"paddingControl\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}}}}","/*\n * index (framer/default-utils@0.45.0)\n *\n * Learn More: https://www.framer.com/asset-urls\n */\n\nexport * from \"https://framerusercontent.com/modules/G4IfyjvwmaeSBpdb4TWu/OIjZRBmWDcIE2B6qgG1j/index.js\"\n","import{jsx as _jsx,jsxs as _jsxs}from\"react/jsx-runtime\";import*as React from\"react\";import{useRef,useEffect}from\"react\";import{addPropertyControls,ControlType,useAnimation,motion}from\"framer\";import{defaultEvents,useOnEnter,useOnExit}from\"https://framer.com/m/framer/default-utils.js@^0.45.0\";var Indicators;(function(Indicators){Indicators[\"DotWave\"]=\"Dots\";Indicators[\"Material\"]=\"Material\";Indicators[\"IOS\"]=\"iOS\";})(Indicators||(Indicators={}));const angleInRadians=angleInDegrees=>(angleInDegrees-90)*(Math.PI/180);const polarToCartesian=(centerX,centerY,radius,angleInDegrees)=>{const a=angleInRadians(angleInDegrees);return{x:centerX+radius*Math.cos(a),y:centerY+radius*Math.sin(a)};};const arc=(x,y,radius,startAngle,endAngle)=>{const fullCircle=endAngle-startAngle===360;const start=polarToCartesian(x,y,radius,endAngle-0.01);const end=polarToCartesian(x,y,radius,startAngle);const arcFlag=endAngle-startAngle<=180?\"0\":\"1\";let d=[\"M\",start.x,start.y,\"A\",radius,radius,0,arcFlag,0,end.x,end.y,].join(\" \");if(fullCircle)d+=\"z\";return d;};function Spinner({color}){const length=360;const endPercentage=length/360*100;const strokeWidth=10;const width=100;const height=100;return(/*#__PURE__*/ _jsxs(motion.div,{style:{height:\"85%\",width:\"85%\",position:\"relative\",originX:0.5,originY:0.5},animate:{rotate:360},transition:{loop:Infinity,ease:\"linear\",duration:0.5},children:[/*#__PURE__*/ _jsx(motion.svg,{style:{height:\"100%\",width:\"100%\",top:0,left:0,right:0,bottom:0,position:\"absolute\",WebkitMask:`conic-gradient(rgba(0, 0, 0, 0.0) 0%, rgba(0, 0, 0,1.0) ${endPercentage}%)`},viewBox:\"0 0 100 100\",children:/*#__PURE__*/ _jsx(\"g\",{transform:\"translate(0 0)\",children:/*#__PURE__*/ _jsx(\"path\",{d:arc(width/2,height/2,width/2-strokeWidth/2,0,length),fill:\"none\",stroke:color,strokeWidth:strokeWidth,strokeLinecap:\"round\"})})}),/*#__PURE__*/ _jsx(motion.svg,{style:{height:\"100%\",width:\"100%\",position:\"absolute\"},viewBox:\"0 0 100 100\",children:/*#__PURE__*/ _jsx(\"g\",{transform:\"translate(50 0)\",children:/*#__PURE__*/ _jsx(\"path\",{d:\"M 0 0 C 2.761 0 5 2.239 5 5 C 5 7.761 2.761 10 0 10 C 0 10 0 0 0 0 Z\",fill:color})})})]}));}// <path d=\"M 0 0 C 2.761 0 5 2.239 5 5 C 5 7.761 2.761 10 0 10 C 0 10 0 0 0 0 Z\" fill=\"#CCC\"></path>\n// function Spinner({ color }) {\n//     return (\n//         <svg style={{ height: \"85%\", width: \"85%\" }} viewBox=\"0 0 100 100\">\n//             <motion.g\n//                 transform=\"translate(3 3)\"\n//                 animate={{ rotate: 360 }}\n//                 transition={{ loop: Infinity, ease: \"linear\", duration: 1 }}\n//             >\n//                 {pathStrings.map((data, i) => {\n//                     return <path d={data} fill={color} opacity={i / pathStrings.length} />\n//                 })}\n//             </motion.g>\n//         </svg>\n//     )\n// }\nfunction DotWave({color,animation}){const circles=[0,1,2];const{delay,ease,duration,...animProps}=animation;const transition=animation.type===\"spring\"?animProps:{...animProps,ease,duration};// console.log(animProps)\nreturn(/*#__PURE__*/ _jsx(motion.svg,{style:{height:\"85%\",width:\"85%\"},viewBox:\"0 0 30 30\",variants:{show:{transition:{delayChildren:0.1,staggerChildren:0.12}}},animate:\"show\",children:circles.map(circle=>/*#__PURE__*/ _jsx(motion.circle,{style:{fill:color},variants:{hidden:{y:0},show:{y:[0,0,0,-10,0,0,0]}},transition:{...transition,yoyo:Infinity},r:3,cx:circle*10+5,cy:15},circle))}));}function Material({color,animation}){return(/*#__PURE__*/ _jsx(motion.svg,{style:{height:\"85%\",width:\"85%\",overflow:\"visible\",originX:\"50%\",originY:\"50%\"},animate:{rotate:360},transition:{ease:\"linear\",loop:Infinity,duration:2},viewBox:\"25 25 50 50\",children:/*#__PURE__*/ _jsx(motion.circle,{style:{stroke:color,strokeLinecap:\"round\"},animate:{strokeDasharray:[\"1, 200\",\"89, 200\",\"89, 200\"],strokeDashoffset:[0,-35,-124]},transition:{...animation,loop:Infinity,ease:\"easeInOut\"},cx:\"50\",cy:\"50\",r:\"20\",fill:\"none\",strokeWidth:2,strokeMiterlimit:\"10\"})}));}function IOS({color,animation}){const particles=12;// this was the death of me\nconst arrayRotate=(arr,n)=>arr.slice(n,arr.length).concat(arr.slice(0,n));const lines=[...new Array(particles)].map((l,i)=>0.9/particles*i+0.1).reverse();const lineOpacities=lines.map((l,i)=>arrayRotate(lines,i));return(/*#__PURE__*/ _jsx(motion.svg,{viewBox:\"-15 -15 30 30\",style:{width:\"100%\",height:\"100%\"},children:lineOpacities.map((lineKeyframes,i)=>/*#__PURE__*/ _jsx(motion.g,{initial:{opacity:lineKeyframes[0]},animate:{opacity:lineKeyframes},transition:{...animation,loop:Infinity,repeatDelay:0.0005},children:/*#__PURE__*/ _jsx(\"rect\",{style:{width:7,height:2,fill:color,transform:`rotate(${(particles-i)/particles*360-90}deg)`},x:5,y:-1,rx:1})},i))}));}function getIndicator(indicator,props){switch(indicator){case Indicators.DotWave:return(/*#__PURE__*/ _jsx(DotWave,{...props}));case Indicators.Material:return(/*#__PURE__*/ _jsx(Material,{...props}));case Indicators.IOS:return(/*#__PURE__*/ _jsx(IOS,{...props}));// case Indicators.Spinner:\n//     return <Spinner {...props} />\ndefault:return(/*#__PURE__*/ _jsx(DotWave,{...props}));}}export function handleTimeout(duration,callback){const id=setTimeout(callback,duration*1e3);return()=>clearTimeout(id);}/**\n * Loading\n *\n * @framerIntrinsicWidth 40\n * @framerIntrinsicHeight 40\n *\n * @framerSupportedLayoutWidth fixed\n * @framerSupportedLayoutHeight fixed\n */ export function Loading(props){const{duration,onTimeout,fadeOut,hasDuration,indicator,onClick,onMouseDown,onMouseUp,onMouseEnter,onMouseLeave,style}=props;const controls=useAnimation();const animDuration=fadeOut?Math.min(duration,0.35):0;const animDelay=fadeOut?duration-animDuration:duration;const currentIndicator=getIndicator(indicator,props);const handlers=useRef([]);const onFadeOut=React.useCallback(()=>{if(hasDuration)controls.start({opacity:0,transition:{duration:animDuration,ease:\"easeIn\"}});},[hasDuration,animDuration]);const resetOpacity=async()=>{controls.set({opacity:1});};useOnEnter(()=>{resetOpacity();if(hasDuration)handlers.current=[handleTimeout(duration,onTimeout),handleTimeout(animDelay,onFadeOut),];});// Cancel all timers on exit.\nuseOnExit(()=>handlers.current.forEach(cleanup=>cleanup));// Cancel all timers on unmount.\nuseEffect(()=>()=>handlers.current.forEach(cleanup=>cleanup),[]);return(/*#__PURE__*/ _jsx(motion.div,{onClick,onMouseDown,onMouseUp,onMouseEnter,onMouseLeave,animate:controls,style:{position:\"relative\",overflow:\"show\",display:\"flex\",justifyContent:\"center\",alignItems:\"center\",...style},children:currentIndicator}));}Loading.defaultProps={height:40,width:40,duration:2,color:\"#888\",animation:{type:\"tween\",ease:\"linear\",duration:1.3},hasDuration:false};// Learn more: https://framer.com/api/property-controls/\naddPropertyControls(Loading,{indicator:{title:\"Indicator\",type:ControlType.Enum,options:Object.keys(Indicators).map(i=>Indicators[i])},color:{type:ControlType.Color,defaultValue:\"#888\"},// transition: { title: \"Animation\", type: ControlType.Transition },\nhasDuration:{title:\"Duration\",type:ControlType.Boolean,defaultValue:Loading.defaultProps.hasDuration,enabledTitle:\"Timeout\",disabledTitle:\"Infinity\"},duration:{title:\"Time\",hidden:({hasDuration})=>!hasDuration,min:0.1,max:10,defaultValue:Loading.defaultProps.duration,type:ControlType.Number,step:0.1},animation:{type:ControlType.Transition},fadeOut:{title:\"Fade Out\",hidden:({hasDuration})=>!hasDuration,type:ControlType.Boolean,enabledTitle:\"Yes\",disabledTitle:\"No\"},onTimeout:{type:ControlType.EventHandler},...defaultEvents});\nexport const __FramerMetadata__ = {\"exports\":{\"handleTimeout\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"Loading\":{\"type\":\"reactComponent\",\"name\":\"Loading\",\"slots\":[],\"annotations\":{\"framerIntrinsicWidth\":\"40\",\"framerContractVersion\":\"1\",\"framerSupportedLayoutHeight\":\"fixed\",\"framerSupportedLayoutWidth\":\"fixed\",\"framerIntrinsicHeight\":\"40\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./Loading.map","/*\n * Framer Commerce\n * Confidential and Proprietary - All Rights Reserved\n * Unauthorized use, reproduction, distribution, or disclosure of this\n * source code or any related information is strictly prohibited.\n *\n * This software is the exclusive property of Framer Commerce (\"Company\").\n * It is considered highly confidential and proprietary information.\n *\n * Any use, copying, modification, distribution, or sharing of this software,\n * in whole or in part, without the express written permission of the Company\n * is strictly prohibited and may result in legal action.\n *\n * DISCLAIMER: This software does not provide any express or\n * implied warranties, including, but not limited to, the implied warranties\n * of merchantability and fitness for a particular purpose. In no event shall\n * Framer Commerce be liable for any direct, indirect, incidental, special,\n * exemplary, or consequential damages (including, but not limited to, procurement\n * of substitute goods or services; loss of use, data, or profits; or business\n * interruption) however caused and on any theory of liability, whether in\n * contract, strict liability, or tort (including negligence or otherwise)\n * arising in any way out of the use of this software, even if advised of\n * the possibility of such damage.\n *\n * Any unauthorized possession, use, copying, distribution, or dissemination\n * of this software will be considered a breach of confidentiality and may\n * result in legal action.\n *\n * For inquiries, contact:\n * Framer Commerce\n * Email: hello@framercommerce.com\n *\n * © 2025 Butter Supply Inc. All Rights Reserved.\n */import{jsx as _jsx}from\"react/jsx-runtime\";import{addPropertyControls,ControlType}from\"framer\";import{useMemo}from\"react\";import{parseFCData,fcDataToProductVariants}from\"https://framerusercontent.com/modules/u4cSQPeOxFZJ30D78T0u/OH103m2xIQZsbXU9KlH0/fcDataParser.js\";import{useSelectedVariant}from\"https://framerusercontent.com/modules/oNgVmb8M8wf4m3aot3fR/zccqZ60HmBrvTm79Qx2L/useSelectedVariant.js\";// ============================================================================\n// COMPONENT\n// ============================================================================\n/**\n * @framerDisableUnlink\n *\n * Butter_ProductVariantRequirement displays the current variant selection state.\n * Shows a message when options are not yet selected (e.g., \"Select Size\").\n */export default function Butter_ProductVariantRequirement(props){const{fcData,textTemplate,font,color,textTransform}=props;// ========================================================================\n// PARSE FC DATA\n// ========================================================================\nconst parsed=useMemo(()=>parseFCData(fcData),[fcData]);const productId=parsed?.productId||\"\";// Selling plan option names to exclude\nconst SELLING_PLAN_OPTION_NAMES=[\"subs\",\"subscription\",\"selling plan\",\"delivery\",\"frequency\"];const productVariants=useMemo(()=>{const variants=fcDataToProductVariants(fcData);return variants.map(v=>({...v,selectedOptions:v.selectedOptions.filter(opt=>{const lowerName=opt.name.toLowerCase().trim();return!SELLING_PLAN_OPTION_NAMES.some(sp=>lowerName.includes(sp));})}));},[fcData]);const allOptionNames=useMemo(()=>{if(!parsed)return[];return Object.keys(parsed.variantOptions).filter(name=>{const lowerName=name.toLowerCase().trim();return!SELLING_PLAN_OPTION_NAMES.some(sp=>lowerName.includes(sp));});},[parsed]);// ========================================================================\n// HOOKS - Selection state from global store\n// ========================================================================\nconst{selectedOptions,productOptions}=useSelectedVariant({productId,productVariants,autoSelectFirst:false});const optionToCheck=useMemo(()=>{const unselectedOption=productOptions.find(opt=>!selectedOptions[opt]);return unselectedOption||allOptionNames[0];},[allOptionNames,productOptions,selectedOptions]);// ========================================================================\n// DERIVE DISPLAY STATE\n// ========================================================================\nconst isSelected=optionToCheck?!!selectedOptions[optionToCheck]:false;// Format display text using template\nconst displayText=useMemo(()=>{// If option is selected or no option name exists, show nothing\nif(isSelected||!optionToCheck)return\"\";// Replace placeholder with option name\nreturn textTemplate.replace(\"{{variant}}\",optionToCheck);},[isSelected,optionToCheck,textTemplate]);// ========================================================================\n// CANVAS PREVIEW\n// ========================================================================\nconst isCanvas=typeof window===\"undefined\"||!window.shopXtools;const previewText=useMemo(()=>{if(!isCanvas)return\"\";// In canvas, show preview with option name or \"Size\"\nconst previewOptionName=optionToCheck||\"Size\";return textTemplate.replace(\"{{variant}}\",previewOptionName);},[isCanvas,optionToCheck,textTemplate]);// Determine what to show\nconst textToDisplay=isCanvas?previewText:displayText;// ========================================================================\n// RENDER\n// ========================================================================\nif(!textToDisplay){// Return invisible placeholder to maintain layout\nreturn /*#__PURE__*/_jsx(\"div\",{style:{width:\"100%\",height:\"100%\"}});}return /*#__PURE__*/_jsx(\"div\",{style:{width:\"100%\",height:\"100%\",display:\"flex\",alignItems:\"center\",justifyContent:\"center\"},children:/*#__PURE__*/_jsx(\"p\",{style:{...font,color,margin:0,textAlign:\"center\",textTransform:textTransform},children:textToDisplay})});}// ============================================================================\n// DEFAULT PROPS\n// ============================================================================\nButter_ProductVariantRequirement.defaultProps={fcData:\"\",textTemplate:\"Select {{variant}}\",textTransform:\"none\",color:\"#000000\"};// ============================================================================\n// PROPERTY CONTROLS\n// ============================================================================\naddPropertyControls(Butter_ProductVariantRequirement,{fcData:{type:ControlType.String,title:\"FC Data\",description:\"Connect to FC Data from CMS\"},textTemplate:{type:ControlType.String,title:\"Format\",description:\"Use {{variant}} to insert the variant name\"},font:{type:ControlType.Font,title:\"Font\",controls:\"extended\"},color:{type:ControlType.Color,title:\"Color\",defaultValue:\"#000000\"},textTransform:{type:ControlType.Enum,title:\"Transform\",options:[\"none\",\"uppercase\",\"lowercase\",\"capitalize\"],optionTitles:[\"None\",\"Uppercase\",\"Lowercase\",\"Capitalize\"],defaultValue:\"none\"}});\nexport const __FramerMetadata__ = {\"exports\":{\"default\":{\"type\":\"reactComponent\",\"name\":\"Butter_ProductVariantRequirement\",\"slots\":[],\"annotations\":{\"framerContractVersion\":\"1\",\"framerDisableUnlink\":\"*\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}","// Generated by Framer (27ad407)\nimport{fontStore}from\"framer\";fontStore.loadFonts([\"Inter-SemiBold\",\"Inter-Bold\",\"Inter-BoldItalic\",\"Inter-SemiBoldItalic\"]);export const fonts=[{explicitInter:true,fonts:[{family:\"Inter\",source:\"framer\",style:\"normal\",unicodeRange:\"U+0460-052F, U+1C80-1C88, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F\",url:\"https://framerusercontent.com/assets/hyOgCu0Xnghbimh0pE8QTvtt2AU.woff2\",weight:\"600\"},{family:\"Inter\",source:\"framer\",style:\"normal\",unicodeRange:\"U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116\",url:\"https://framerusercontent.com/assets/NeGmSOXrPBfEFIy5YZeHq17LEDA.woff2\",weight:\"600\"},{family:\"Inter\",source:\"framer\",style:\"normal\",unicodeRange:\"U+1F00-1FFF\",url:\"https://framerusercontent.com/assets/oYaAX5himiTPYuN8vLWnqBbfD2s.woff2\",weight:\"600\"},{family:\"Inter\",source:\"framer\",style:\"normal\",unicodeRange:\"U+0370-03FF\",url:\"https://framerusercontent.com/assets/lEJLP4R0yuCaMCjSXYHtJw72M.woff2\",weight:\"600\"},{family:\"Inter\",source:\"framer\",style:\"normal\",unicodeRange:\"U+0100-024F, U+0259, U+1E00-1EFF, U+2020, U+20A0-20AB, U+20AD-20CF, U+2113, U+2C60-2C7F, U+A720-A7FF\",url:\"https://framerusercontent.com/assets/cRJyLNuTJR5jbyKzGi33wU9cqIQ.woff2\",weight:\"600\"},{family:\"Inter\",source:\"framer\",style:\"normal\",unicodeRange:\"U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD\",url:\"https://framerusercontent.com/assets/1ZFS7N918ojhhd0nQWdj3jz4w.woff2\",weight:\"600\"},{family:\"Inter\",source:\"framer\",style:\"normal\",unicodeRange:\"U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+1EA0-1EF9, U+20AB\",url:\"https://framerusercontent.com/assets/A0Wcc7NgXMjUuFdquHDrIZpzZw0.woff2\",weight:\"600\"},{family:\"Inter\",source:\"framer\",style:\"normal\",unicodeRange:\"U+0460-052F, U+1C80-1C88, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F\",url:\"https://framerusercontent.com/assets/DpPBYI0sL4fYLgAkX8KXOPVt7c.woff2\",weight:\"700\"},{family:\"Inter\",source:\"framer\",style:\"normal\",unicodeRange:\"U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116\",url:\"https://framerusercontent.com/assets/4RAEQdEOrcnDkhHiiCbJOw92Lk.woff2\",weight:\"700\"},{family:\"Inter\",source:\"framer\",style:\"normal\",unicodeRange:\"U+1F00-1FFF\",url:\"https://framerusercontent.com/assets/1K3W8DizY3v4emK8Mb08YHxTbs.woff2\",weight:\"700\"},{family:\"Inter\",source:\"framer\",style:\"normal\",unicodeRange:\"U+0370-03FF\",url:\"https://framerusercontent.com/assets/tUSCtfYVM1I1IchuyCwz9gDdQ.woff2\",weight:\"700\"},{family:\"Inter\",source:\"framer\",style:\"normal\",unicodeRange:\"U+0100-024F, U+0259, U+1E00-1EFF, U+2020, U+20A0-20AB, U+20AD-20CF, U+2113, U+2C60-2C7F, U+A720-A7FF\",url:\"https://framerusercontent.com/assets/VgYFWiwsAC5OYxAycRXXvhze58.woff2\",weight:\"700\"},{family:\"Inter\",source:\"framer\",style:\"normal\",unicodeRange:\"U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD\",url:\"https://framerusercontent.com/assets/DXD0Q7LSl7HEvDzucnyLnGBHM.woff2\",weight:\"700\"},{family:\"Inter\",source:\"framer\",style:\"normal\",unicodeRange:\"U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+1EA0-1EF9, U+20AB\",url:\"https://framerusercontent.com/assets/GIryZETIX4IFypco5pYZONKhJIo.woff2\",weight:\"700\"},{family:\"Inter\",source:\"framer\",style:\"italic\",unicodeRange:\"U+0460-052F, U+1C80-1C88, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F\",url:\"https://framerusercontent.com/assets/H89BbHkbHDzlxZzxi8uPzTsp90.woff2\",weight:\"700\"},{family:\"Inter\",source:\"framer\",style:\"italic\",unicodeRange:\"U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116\",url:\"https://framerusercontent.com/assets/u6gJwDuwB143kpNK1T1MDKDWkMc.woff2\",weight:\"700\"},{family:\"Inter\",source:\"framer\",style:\"italic\",unicodeRange:\"U+1F00-1FFF\",url:\"https://framerusercontent.com/assets/43sJ6MfOPh1LCJt46OvyDuSbA6o.woff2\",weight:\"700\"},{family:\"Inter\",source:\"framer\",style:\"italic\",unicodeRange:\"U+0370-03FF\",url:\"https://framerusercontent.com/assets/wccHG0r4gBDAIRhfHiOlq6oEkqw.woff2\",weight:\"700\"},{family:\"Inter\",source:\"framer\",style:\"italic\",unicodeRange:\"U+0100-024F, U+0259, U+1E00-1EFF, U+2020, U+20A0-20AB, U+20AD-20CF, U+2113, U+2C60-2C7F, U+A720-A7FF\",url:\"https://framerusercontent.com/assets/WZ367JPwf9bRW6LdTHN8rXgSjw.woff2\",weight:\"700\"},{family:\"Inter\",source:\"framer\",style:\"italic\",unicodeRange:\"U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD\",url:\"https://framerusercontent.com/assets/QxmhnWTzLtyjIiZcfaLIJ8EFBXU.woff2\",weight:\"700\"},{family:\"Inter\",source:\"framer\",style:\"italic\",unicodeRange:\"U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+1EA0-1EF9, U+20AB\",url:\"https://framerusercontent.com/assets/2A4Xx7CngadFGlVV4xrO06OBHY.woff2\",weight:\"700\"},{family:\"Inter\",source:\"framer\",style:\"italic\",unicodeRange:\"U+0460-052F, U+1C80-1C88, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F\",url:\"https://framerusercontent.com/assets/vxBnBhH8768IFAXAb4Qf6wQHKs.woff2\",weight:\"600\"},{family:\"Inter\",source:\"framer\",style:\"italic\",unicodeRange:\"U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116\",url:\"https://framerusercontent.com/assets/zSsEuoJdh8mcFVk976C05ZfQr8.woff2\",weight:\"600\"},{family:\"Inter\",source:\"framer\",style:\"italic\",unicodeRange:\"U+1F00-1FFF\",url:\"https://framerusercontent.com/assets/b8ezwLrN7h2AUoPEENcsTMVJ0.woff2\",weight:\"600\"},{family:\"Inter\",source:\"framer\",style:\"italic\",unicodeRange:\"U+0370-03FF\",url:\"https://framerusercontent.com/assets/mvNEIBLyHbscgHtwfsByjXUz3XY.woff2\",weight:\"600\"},{family:\"Inter\",source:\"framer\",style:\"italic\",unicodeRange:\"U+0100-024F, U+0259, U+1E00-1EFF, U+2020, U+20A0-20AB, U+20AD-20CF, U+2113, U+2C60-2C7F, U+A720-A7FF\",url:\"https://framerusercontent.com/assets/6FI2EneKzM3qBy5foOZXey7coCA.woff2\",weight:\"600\"},{family:\"Inter\",source:\"framer\",style:\"italic\",unicodeRange:\"U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD\",url:\"https://framerusercontent.com/assets/qrVgiXNd6RuQjETYQiVQ9nqCk.woff2\",weight:\"600\"},{family:\"Inter\",source:\"framer\",style:\"italic\",unicodeRange:\"U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+1EA0-1EF9, U+20AB\",url:\"https://framerusercontent.com/assets/NHHeAKJVP0ZWHk5YZnQQChIsBM.woff2\",weight:\"600\"}]}];export const css=['.framer-3sQBI .framer-styles-preset-8meb43:not(.rich-text-wrapper), .framer-3sQBI .framer-styles-preset-8meb43.rich-text-wrapper p { --framer-font-family: \"Inter\", \"Inter Placeholder\", sans-serif; --framer-font-family-bold: \"Inter\", \"Inter Placeholder\", sans-serif; --framer-font-family-bold-italic: \"Inter\", \"Inter Placeholder\", sans-serif; --framer-font-family-italic: \"Inter\", \"Inter Placeholder\", sans-serif; --framer-font-open-type-features: \\'ss03\\' on, \\'ss04\\' on; --framer-font-size: 12px; --framer-font-style: normal; --framer-font-style-bold: normal; --framer-font-style-bold-italic: italic; --framer-font-style-italic: italic; --framer-font-variation-axes: normal; --framer-font-weight: 600; --framer-font-weight-bold: 700; --framer-font-weight-bold-italic: 700; --framer-font-weight-italic: 600; --framer-letter-spacing: 0em; --framer-line-height: 100%; --framer-paragraph-spacing: 20px; --framer-text-alignment: start; --framer-text-color: var(--token-2de60d55-30ed-45f4-87e6-158824b868d3, #211a1a); --framer-text-decoration: none; --framer-text-stroke-color: initial; --framer-text-stroke-width: initial; --framer-text-transform: uppercase; }'];export const className=\"framer-3sQBI\";\nexport const __FramerMetadata__ = {\"exports\":{\"css\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"fonts\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"className\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}","// Generated by Framer (8bbc62e)\nimport{jsx as _jsx,jsxs as _jsxs}from\"react/jsx-runtime\";import{addFonts,addPropertyControls,ComponentViewportProvider,ControlType,cx,getFonts,getFontsFromSharedStyle,RichText,SmartComponentScopedContainer,useComponentViewport,useLocaleInfo,useVariantState,withCSS}from\"framer\";import{LayoutGroup,motion,MotionConfigContext}from\"framer-motion\";import*as React from\"react\";import{useRef}from\"react\";import{Loading}from\"https://framerusercontent.com/modules/NQ9LlTfXzHTRhTTi6qMI/5u9VoSaQM7qxLI2scUcH/Loading.js\";import Butter_ProductVariantRequirement from\"https://framerusercontent.com/modules/4aDVDO5CU17fZbWNieji/YtRzDdjHGYFoTrxhLgpM/Butter_ProductVariantRequirement.js\";import*as sharedStyle from\"https://framerusercontent.com/modules/3aU0iWSrT7RQP2qjF8A5/TAz2tFjGKJddrZ8rfeoq/Bb9Q1WYR9.js\";const Butter_ProductVariantRequirementFonts=getFonts(Butter_ProductVariantRequirement);const LoadingFonts=getFonts(Loading);const enabledGestures={qiv395MRY:{hover:true}};const cycleOrder=[\"qiv395MRY\",\"B7b72A4cy\",\"mtL6j6SKd\",\"FHPHnpq_F\",\"yRunEojXH\"];const serializationHash=\"framer-Z1AO6\";const variantClassNames={B7b72A4cy:\"framer-v-1izu2x4\",FHPHnpq_F:\"framer-v-1vr5r15\",mtL6j6SKd:\"framer-v-3druyj\",qiv395MRY:\"framer-v-ovdptl\",yRunEojXH:\"framer-v-9helxo\"};function addPropertyOverrides(overrides,...variants){const nextOverrides={};variants?.forEach(variant=>variant&&Object.assign(nextOverrides,overrides[variant]));return nextOverrides;}const elgRTGdr9=undefined;const transition1={delay:0,duration:.3,ease:[.44,0,.56,1],type:\"tween\"};const Transition=({value,children})=>{const config=React.useContext(MotionConfigContext);const transition=value??config.transition;const contextValue=React.useMemo(()=>({...config,transition}),[JSON.stringify(transition)]);return /*#__PURE__*/_jsx(MotionConfigContext.Provider,{value:contextValue,children:children});};const humanReadableVariantMap={\"Add to Cart\":\"qiv395MRY\",\"Max Reached\":\"yRunEojXH\",\"Out of Stock\":\"mtL6j6SKd\",\"Select Variant\":\"B7b72A4cy\",Loading:\"FHPHnpq_F\"};const Variants=motion.create(React.Fragment);const getProps=({fCData,height,id,width,...props})=>{return{...props,elgRTGdr9:fCData??props.elgRTGdr9,variant:humanReadableVariantMap[props.variant]??props.variant??\"qiv395MRY\"};};const createLayoutDependency=(props,variants)=>{if(props.layoutDependency)return variants.join(\"-\")+props.layoutDependency;return variants.join(\"-\");};const Component=/*#__PURE__*/React.forwardRef(function(props,ref){const fallbackRef=useRef(null);const refBinding=ref??fallbackRef;const defaultLayoutId=React.useId();const{activeLocale,setLocale}=useLocaleInfo();const componentViewport=useComponentViewport();const{style,className,layoutId,variant,elgRTGdr9,...restProps}=getProps(props);const{baseVariant,classNames,clearLoadingGesture,gestureHandlers,gestureVariant,isLoading,setGestureState,setVariant,variants}=useVariantState({cycleOrder,defaultVariant:\"qiv395MRY\",enabledGestures,ref:refBinding,variant,variantClassNames});const layoutDependency=createLayoutDependency(props,variants);const sharedStyleClassNames=[sharedStyle.className];const scopingClassNames=cx(serializationHash,...sharedStyleClassNames);const isDisplayed=()=>{if([\"B7b72A4cy\",\"mtL6j6SKd\",\"FHPHnpq_F\",\"yRunEojXH\"].includes(baseVariant))return false;return true;};const isDisplayed1=()=>{if([\"mtL6j6SKd\",\"yRunEojXH\"].includes(baseVariant))return true;return false;};const isDisplayed2=()=>{if(baseVariant===\"B7b72A4cy\")return true;return false;};const isDisplayed3=()=>{if(baseVariant===\"FHPHnpq_F\")return true;return false;};return /*#__PURE__*/_jsx(LayoutGroup,{id:layoutId??defaultLayoutId,children:/*#__PURE__*/_jsx(Variants,{animate:variants,initial:false,children:/*#__PURE__*/_jsx(Transition,{value:transition1,children:/*#__PURE__*/_jsxs(motion.div,{...restProps,...gestureHandlers,className:cx(scopingClassNames,\"framer-ovdptl\",className,classNames),\"data-framer-name\":\"Add to Cart\",layoutDependency:layoutDependency,layoutId:\"qiv395MRY\",ref:refBinding,style:{\"--border-bottom-width\":\"0px\",\"--border-color\":\"rgba(0, 0, 0, 0)\",\"--border-left-width\":\"0px\",\"--border-right-width\":\"0px\",\"--border-style\":\"solid\",\"--border-top-width\":\"0px\",backgroundColor:\"var(--token-d35e5398-af28-4f97-8e2e-13717c50156f, rgb(255, 255, 255))\",borderBottomLeftRadius:80,borderBottomRightRadius:80,borderTopLeftRadius:80,borderTopRightRadius:80,...style},variants:{\"qiv395MRY-hover\":{\"--border-bottom-width\":\"0px\",\"--border-left-width\":\"0px\",\"--border-right-width\":\"0px\",\"--border-top-width\":\"0px\",backgroundColor:\"rgba(255, 255, 255, 0.8)\"},B7b72A4cy:{\"--border-bottom-width\":\"1px\",\"--border-color\":\"var(--token-0a6abb4f-f476-4507-95f5-7e99bae63ff7, rgba(255, 255, 255, 0.16))\",\"--border-left-width\":\"1px\",\"--border-right-width\":\"1px\",\"--border-style\":\"solid\",\"--border-top-width\":\"1px\",backgroundColor:\"rgba(255, 255, 255, 0)\"},FHPHnpq_F:{\"--border-bottom-width\":\"0px\",\"--border-left-width\":\"0px\",\"--border-right-width\":\"0px\",\"--border-top-width\":\"0px\",backgroundColor:\"var(--token-ae8ee2a3-db43-4346-aa65-c9685dfafd51, rgba(231, 236, 229, 0.48))\"},mtL6j6SKd:{\"--border-bottom-width\":\"0px\",\"--border-left-width\":\"0px\",\"--border-right-width\":\"0px\",\"--border-top-width\":\"0px\",backgroundColor:\"var(--token-ae8ee2a3-db43-4346-aa65-c9685dfafd51, rgba(231, 236, 229, 0.48))\"},yRunEojXH:{\"--border-bottom-width\":\"0px\",\"--border-left-width\":\"0px\",\"--border-right-width\":\"0px\",\"--border-top-width\":\"0px\",backgroundColor:\"var(--token-ae8ee2a3-db43-4346-aa65-c9685dfafd51, rgba(231, 236, 229, 0.48))\"}},...addPropertyOverrides({\"qiv395MRY-hover\":{\"data-framer-name\":undefined},B7b72A4cy:{\"data-border\":true,\"data-framer-name\":\"Select Variant\"},FHPHnpq_F:{\"data-framer-name\":\"Loading\"},mtL6j6SKd:{\"data-framer-name\":\"Out of Stock\"},yRunEojXH:{\"data-framer-name\":\"Max Reached\"}},baseVariant,gestureVariant),children:[isDisplayed()&&/*#__PURE__*/_jsx(RichText,{__fromCanvasComponent:true,children:/*#__PURE__*/_jsx(React.Fragment,{children:/*#__PURE__*/_jsx(motion.p,{dir:\"auto\",style:{\"--font-selector\":\"SW50ZXItU2VtaUJvbGQ=\",\"--framer-font-open-type-features\":\"'ss03' on, 'ss04' on, 'salt' on\",\"--framer-font-size\":\"14px\",\"--framer-font-weight\":\"600\",\"--framer-line-height\":\"100%\",\"--framer-text-color\":\"var(--extracted-r6o4lv, var(--token-2de60d55-30ed-45f4-87e6-158824b868d3, rgb(0, 0, 0)))\",\"--framer-text-transform\":\"inherit\"},children:\"Buy now\"})}),className:\"framer-1hx38cg\",fonts:[\"Inter-SemiBold\"],layoutDependency:layoutDependency,layoutId:\"Ju4M6n2qJ\",style:{\"--extracted-r6o4lv\":\"var(--token-2de60d55-30ed-45f4-87e6-158824b868d3, rgb(0, 0, 0))\",\"--framer-link-text-color\":\"rgb(0, 153, 255)\",\"--framer-link-text-decoration\":\"underline\"},verticalAlignment:\"top\",withExternalLayout:true}),isDisplayed1()&&/*#__PURE__*/_jsx(RichText,{__fromCanvasComponent:true,children:/*#__PURE__*/_jsx(React.Fragment,{children:/*#__PURE__*/_jsx(motion.p,{className:\"framer-styles-preset-8meb43\",\"data-styles-preset\":\"Bb9Q1WYR9\",style:{\"--framer-text-color\":\"var(--extracted-r6o4lv, var(--token-25dffb6f-7224-457b-8095-a82c7fa5a8b9, rgba(0, 0, 0, 0.48)))\"},children:\"OUT OF STOCK\"})}),className:\"framer-6ax5tz\",fonts:[\"Inter\"],layoutDependency:layoutDependency,layoutId:\"HkBucgBig\",style:{\"--extracted-r6o4lv\":\"var(--token-25dffb6f-7224-457b-8095-a82c7fa5a8b9, rgba(0, 0, 0, 0.48))\",\"--framer-link-text-color\":\"rgb(0, 153, 255)\",\"--framer-link-text-decoration\":\"underline\"},variants:{mtL6j6SKd:{\"--extracted-r6o4lv\":\"var(--token-d35e5398-af28-4f97-8e2e-13717c50156f, rgb(255, 255, 255))\"},yRunEojXH:{\"--extracted-r6o4lv\":\"var(--token-d35e5398-af28-4f97-8e2e-13717c50156f, rgb(255, 255, 255))\"}},verticalAlignment:\"top\",withExternalLayout:true,...addPropertyOverrides({mtL6j6SKd:{children:/*#__PURE__*/_jsx(React.Fragment,{children:/*#__PURE__*/_jsx(motion.p,{className:\"framer-styles-preset-8meb43\",\"data-styles-preset\":\"Bb9Q1WYR9\",dir:\"auto\",style:{\"--framer-text-color\":\"var(--extracted-r6o4lv, var(--token-d35e5398-af28-4f97-8e2e-13717c50156f, rgb(255, 255, 255)))\"},children:\"OUT OF STOCK\"})})},yRunEojXH:{children:/*#__PURE__*/_jsx(React.Fragment,{children:/*#__PURE__*/_jsx(motion.p,{className:\"framer-styles-preset-8meb43\",\"data-styles-preset\":\"Bb9Q1WYR9\",dir:\"auto\",style:{\"--framer-text-color\":\"var(--extracted-r6o4lv, var(--token-d35e5398-af28-4f97-8e2e-13717c50156f, rgb(255, 255, 255)))\"},children:\"Max QTY Reached\"})})}},baseVariant,gestureVariant)}),isDisplayed2()&&/*#__PURE__*/_jsx(ComponentViewportProvider,{children:/*#__PURE__*/_jsx(SmartComponentScopedContainer,{className:\"framer-1h93h9d-container\",isAuthoredByUser:true,layoutDependency:layoutDependency,layoutId:\"VGXt7LpEL-container\",nodeId:\"VGXt7LpEL\",rendersWithMotion:true,scopeId:\"tmZW16Ab4\",children:/*#__PURE__*/_jsx(Butter_ProductVariantRequirement,{color:\"var(--token-d35e5398-af28-4f97-8e2e-13717c50156f, rgb(255, 255, 255))\",fcData:elgRTGdr9,font:{fontFamily:'\"Inter\", \"Inter Placeholder\", sans-serif',fontFeatureSettings:\"'salt' on\",fontSize:\"12px\",fontStyle:\"normal\",fontWeight:600,letterSpacing:\"0em\",lineHeight:\"1em\"},height:\"100%\",id:\"VGXt7LpEL\",layoutId:\"VGXt7LpEL\",textTemplate:\"Select {{variant}}\",textTransform:\"none\",width:\"100%\"})})}),isDisplayed3()&&/*#__PURE__*/_jsx(ComponentViewportProvider,{children:/*#__PURE__*/_jsx(SmartComponentScopedContainer,{className:\"framer-169mmhr-container\",isAuthoredByUser:true,isModuleExternal:true,layoutDependency:layoutDependency,layoutId:\"naiYMjKJg-container\",nodeId:\"naiYMjKJg\",rendersWithMotion:true,scopeId:\"tmZW16Ab4\",children:/*#__PURE__*/_jsx(Loading,{animation:{delay:0,duration:1.3,ease:[.44,0,.56,1],type:\"tween\"},color:\"var(--token-32039339-f64a-42c6-a8f4-f7fdfa12eb53, rgba(0, 0, 0, 0.16))\",duration:2,fadeOut:true,hasDuration:false,height:\"100%\",id:\"naiYMjKJg\",indicator:\"Material\",layoutId:\"naiYMjKJg\",style:{height:\"100%\",width:\"100%\"},width:\"100%\"})})})]})})})});});const css=[\"@supports (aspect-ratio: 1) { body { --framer-aspect-ratio-supported: auto; } }\",\".framer-Z1AO6.framer-1jp0h5p, .framer-Z1AO6 .framer-1jp0h5p { display: block; }\",\".framer-Z1AO6.framer-ovdptl { align-content: center; align-items: center; cursor: pointer; display: flex; flex-direction: row; flex-wrap: nowrap; gap: 0px; height: 48px; justify-content: center; overflow: hidden; padding: 0px 24px 0px 24px; position: relative; width: 200px; will-change: var(--framer-will-change-override, transform); }\",\".framer-Z1AO6 .framer-1hx38cg { flex: none; height: auto; position: relative; white-space: pre; width: auto; z-index: 1; }\",\".framer-Z1AO6 .framer-6ax5tz { -webkit-user-select: none; flex: none; height: auto; position: relative; user-select: none; white-space: pre; width: auto; }\",\".framer-Z1AO6 .framer-1h93h9d-container { -webkit-user-select: none; flex: none; height: auto; position: relative; user-select: none; width: auto; }\",\".framer-Z1AO6 .framer-169mmhr-container { flex: none; height: 32px; position: relative; width: 32px; }\",\".framer-Z1AO6.framer-v-1izu2x4.framer-ovdptl, .framer-Z1AO6.framer-v-3druyj.framer-ovdptl, .framer-Z1AO6.framer-v-1vr5r15.framer-ovdptl, .framer-Z1AO6.framer-v-9helxo.framer-ovdptl { cursor: unset; }\",...sharedStyle.css,'.framer-Z1AO6[data-border=\"true\"]::after, .framer-Z1AO6 [data-border=\"true\"]::after { content: \"\"; border-width: var(--border-top-width, 0) var(--border-right-width, 0) var(--border-bottom-width, 0) var(--border-left-width, 0); border-color: var(--border-color, none); border-style: var(--border-style, none); width: 100%; height: 100%; position: absolute; box-sizing: border-box; left: 0; top: 0; border-radius: inherit; corner-shape: inherit; pointer-events: none; }'];/**\n * This is a generated Framer component.\n * @framerIntrinsicHeight 48\n * @framerIntrinsicWidth 200\n * @framerCanvasComponentVariantDetails {\"propertyName\":\"variant\",\"data\":{\"default\":{\"layout\":[\"fixed\",\"fixed\"]},\"B7b72A4cy\":{\"layout\":[\"fixed\",\"fixed\"]},\"mtL6j6SKd\":{\"layout\":[\"fixed\",\"fixed\"]},\"FHPHnpq_F\":{\"layout\":[\"fixed\",\"fixed\"]},\"yRunEojXH\":{\"layout\":[\"fixed\",\"fixed\"]},\"nGr75WALs\":{\"layout\":[\"fixed\",\"fixed\"]}}}\n * @framerVariables {\"elgRTGdr9\":\"fCData\"}\n * @framerImmutableVariables true\n * @framerDisplayContentsDiv false\n * @framerAutoSizeImages true\n * @framerComponentViewportWidth true\n * @framerColorSyntax true\n */const FramertmZW16Ab4=withCSS(Component,css,\"framer-Z1AO6\");export default FramertmZW16Ab4;FramertmZW16Ab4.displayName=\"Purchase Button\";FramertmZW16Ab4.defaultProps={height:48,width:200};addPropertyControls(FramertmZW16Ab4,{variant:{options:[\"qiv395MRY\",\"B7b72A4cy\",\"mtL6j6SKd\",\"FHPHnpq_F\",\"yRunEojXH\"],optionTitles:[\"Add to Cart\",\"Select Variant\",\"Out of Stock\",\"Loading\",\"Max Reached\"],title:\"Variant\",type:ControlType.Enum},elgRTGdr9:{defaultValue:\"\",title:\"FC Data\",type:ControlType.String},onelgRTGdr9Change:{changes:\"elgRTGdr9\",type:ControlType.ChangeHandler}});addFonts(FramertmZW16Ab4,[{explicitInter:true,fonts:[{cssFamilyName:\"Inter\",source:\"framer\",style:\"normal\",uiFamilyName:\"Inter\",unicodeRange:\"U+0460-052F, U+1C80-1C88, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F\",url:\"https://framerusercontent.com/assets/hyOgCu0Xnghbimh0pE8QTvtt2AU.woff2\",weight:\"600\"},{cssFamilyName:\"Inter\",source:\"framer\",style:\"normal\",uiFamilyName:\"Inter\",unicodeRange:\"U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116\",url:\"https://framerusercontent.com/assets/NeGmSOXrPBfEFIy5YZeHq17LEDA.woff2\",weight:\"600\"},{cssFamilyName:\"Inter\",source:\"framer\",style:\"normal\",uiFamilyName:\"Inter\",unicodeRange:\"U+1F00-1FFF\",url:\"https://framerusercontent.com/assets/oYaAX5himiTPYuN8vLWnqBbfD2s.woff2\",weight:\"600\"},{cssFamilyName:\"Inter\",source:\"framer\",style:\"normal\",uiFamilyName:\"Inter\",unicodeRange:\"U+0370-03FF\",url:\"https://framerusercontent.com/assets/lEJLP4R0yuCaMCjSXYHtJw72M.woff2\",weight:\"600\"},{cssFamilyName:\"Inter\",source:\"framer\",style:\"normal\",uiFamilyName:\"Inter\",unicodeRange:\"U+0100-024F, U+0259, U+1E00-1EFF, U+2020, U+20A0-20AB, U+20AD-20CF, U+2113, U+2C60-2C7F, U+A720-A7FF\",url:\"https://framerusercontent.com/assets/cRJyLNuTJR5jbyKzGi33wU9cqIQ.woff2\",weight:\"600\"},{cssFamilyName:\"Inter\",source:\"framer\",style:\"normal\",uiFamilyName:\"Inter\",unicodeRange:\"U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2070, U+2074-207E, U+2080-208E, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD\",url:\"https://framerusercontent.com/assets/yDtI2UI8XcEg1W2je9XPN3Noo.woff2\",weight:\"600\"},{cssFamilyName:\"Inter\",source:\"framer\",style:\"normal\",uiFamilyName:\"Inter\",unicodeRange:\"U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+1EA0-1EF9, U+20AB\",url:\"https://framerusercontent.com/assets/A0Wcc7NgXMjUuFdquHDrIZpzZw0.woff2\",weight:\"600\"},{cssFamilyName:\"Inter\",source:\"framer\",style:\"normal\",uiFamilyName:\"Inter\",unicodeRange:\"U+0460-052F, U+1C80-1C88, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F\",url:\"https://framerusercontent.com/assets/5vvr9Vy74if2I6bQbJvbw7SY1pQ.woff2\",weight:\"400\"},{cssFamilyName:\"Inter\",source:\"framer\",style:\"normal\",uiFamilyName:\"Inter\",unicodeRange:\"U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116\",url:\"https://framerusercontent.com/assets/EOr0mi4hNtlgWNn9if640EZzXCo.woff2\",weight:\"400\"},{cssFamilyName:\"Inter\",source:\"framer\",style:\"normal\",uiFamilyName:\"Inter\",unicodeRange:\"U+1F00-1FFF\",url:\"https://framerusercontent.com/assets/Y9k9QrlZAqio88Klkmbd8VoMQc.woff2\",weight:\"400\"},{cssFamilyName:\"Inter\",source:\"framer\",style:\"normal\",uiFamilyName:\"Inter\",unicodeRange:\"U+0370-03FF\",url:\"https://framerusercontent.com/assets/OYrD2tBIBPvoJXiIHnLoOXnY9M.woff2\",weight:\"400\"},{cssFamilyName:\"Inter\",source:\"framer\",style:\"normal\",uiFamilyName:\"Inter\",unicodeRange:\"U+0100-024F, U+0259, U+1E00-1EFF, U+2020, U+20A0-20AB, U+20AD-20CF, U+2113, U+2C60-2C7F, U+A720-A7FF\",url:\"https://framerusercontent.com/assets/JeYwfuaPfZHQhEG8U5gtPDZ7WQ.woff2\",weight:\"400\"},{cssFamilyName:\"Inter\",source:\"framer\",style:\"normal\",uiFamilyName:\"Inter\",unicodeRange:\"U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2070, U+2074-207E, U+2080-208E, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD\",url:\"https://framerusercontent.com/assets/GrgcKwrN6d3Uz8EwcLHZxwEfC4.woff2\",weight:\"400\"},{cssFamilyName:\"Inter\",source:\"framer\",style:\"normal\",uiFamilyName:\"Inter\",unicodeRange:\"U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+1EA0-1EF9, U+20AB\",url:\"https://framerusercontent.com/assets/b6Y37FthZeALduNqHicBT6FutY.woff2\",weight:\"400\"}]},...Butter_ProductVariantRequirementFonts,...LoadingFonts,...getFontsFromSharedStyle(sharedStyle.fonts)],{supportsExplicitInterCodegen:true});\nexport const __FramerMetadata__ = {\"exports\":{\"default\":{\"type\":\"reactComponent\",\"name\":\"FramertmZW16Ab4\",\"slots\":[],\"annotations\":{\"framerIntrinsicWidth\":\"200\",\"framerAutoSizeImages\":\"true\",\"framerColorSyntax\":\"true\",\"framerVariables\":\"{\\\"elgRTGdr9\\\":\\\"fCData\\\"}\",\"framerCanvasComponentVariantDetails\":\"{\\\"propertyName\\\":\\\"variant\\\",\\\"data\\\":{\\\"default\\\":{\\\"layout\\\":[\\\"fixed\\\",\\\"fixed\\\"]},\\\"B7b72A4cy\\\":{\\\"layout\\\":[\\\"fixed\\\",\\\"fixed\\\"]},\\\"mtL6j6SKd\\\":{\\\"layout\\\":[\\\"fixed\\\",\\\"fixed\\\"]},\\\"FHPHnpq_F\\\":{\\\"layout\\\":[\\\"fixed\\\",\\\"fixed\\\"]},\\\"yRunEojXH\\\":{\\\"layout\\\":[\\\"fixed\\\",\\\"fixed\\\"]},\\\"nGr75WALs\\\":{\\\"layout\\\":[\\\"fixed\\\",\\\"fixed\\\"]}}}\",\"framerImmutableVariables\":\"true\",\"framerDisplayContentsDiv\":\"false\",\"framerIntrinsicHeight\":\"48\",\"framerComponentViewportWidth\":\"true\",\"framerContractVersion\":\"1\"}},\"Props\":{\"type\":\"tsType\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./tmZW16Ab4.map","// Generated by Framer (b44fae2)\nimport{jsx as _jsx}from\"react/jsx-runtime\";import{addFonts,addPropertyControls,ComponentViewportProvider,ControlType,cx,forwardLoader,getFonts,SmartComponentScopedContainer,useActiveVariantCallback,useComponentViewport,useLocaleInfo,useVariantState,withCSS}from\"framer\";import{LayoutGroup,motion,MotionConfigContext}from\"framer-motion\";import*as React from\"react\";import{useRef}from\"react\";import Butter_ProductPurchaseButton from\"https://framerusercontent.com/modules/gcHCDMWOsDvLgd7ZXwPi/FZnNhTkrB7NSjcPG0yms/Butter_ProductPurchaseButton.js\";import PurchaseButton from\"https://framerusercontent.com/modules/xSoXSvKc5lAnWlmq9F30/f77cSj2mcxOeyx6AKlGP/tmZW16Ab4.js\";const PurchaseButtonFonts=getFonts(PurchaseButton);const Butter_ProductPurchaseButtonFonts=getFonts(Butter_ProductPurchaseButton);const serializationHash=\"framer-qYbjB\";const variantClassNames={RcrAKAnuK:\"framer-v-h0lpas\"};function addPropertyOverrides(overrides,...variants){const nextOverrides={};variants?.forEach(variant=>variant&&Object.assign(nextOverrides,overrides[variant]));return nextOverrides;}const gzPkfrIbf=undefined;const FzRawiT6B=undefined;const z1uvL_dR5=undefined;const setgzPkfrIbf=undefined;const transition1={bounce:.2,delay:0,duration:.4,type:\"spring\"};const matchVariant=(...args)=>{for(const arg of args){if(arg&&typeof arg===\"string\")return arg;}return undefined;};const Transition=({value,children})=>{const config=React.useContext(MotionConfigContext);const transition=value??config.transition;const contextValue=React.useMemo(()=>({...config,transition}),[JSON.stringify(transition)]);return /*#__PURE__*/_jsx(MotionConfigContext.Provider,{value:contextValue,children:children});};const Variants=motion.create(React.Fragment);const useStateVariable=(externalState,setExternalState)=>{const[internalState,setInternalState]=React.useState(externalState);const[previousExternalState,setPreviousExternalState]=React.useState(externalState);if(setExternalState){return[externalState,setExternalState];}if(externalState!==previousExternalState){setInternalState(externalState);setPreviousExternalState(externalState);}return[internalState,setInternalState];};const getProps=({fCData,height,id,miniCart,outOfStock,width,...props})=>{return{...props,FzRawiT6B:miniCart??props.FzRawiT6B,gzPkfrIbf:fCData??props.gzPkfrIbf??\"9914855981350\",z1uvL_dR5:outOfStock??props.z1uvL_dR5};};const createLayoutDependency=(props,variants)=>{if(props.layoutDependency)return variants.join(\"-\")+props.layoutDependency;return variants.join(\"-\");};const Component=/*#__PURE__*/React.forwardRef(function(props,ref){const fallbackRef=useRef(null);const refBinding=ref??fallbackRef;const defaultLayoutId=React.useId();const{activeLocale,setLocale}=useLocaleInfo();const componentViewport=useComponentViewport();const{style,className,layoutId,variant,\"gzPkfrIbf\":externalgzPkfrIbf,\"ongzPkfrIbfChange\":setExternalgzPkfrIbf,FzRawiT6B,z1uvL_dR5,...restProps}=getProps(props);const[gzPkfrIbf,setgzPkfrIbf]=useStateVariable(externalgzPkfrIbf,setExternalgzPkfrIbf);const{baseVariant,classNames,clearLoadingGesture,gestureHandlers,gestureVariant,isLoading,setGestureState,setVariant,variants}=useVariantState({defaultVariant:\"RcrAKAnuK\",ref:refBinding,variant,variantClassNames});const layoutDependency=createLayoutDependency(props,variants);const{activeVariantCallback,delay}=useActiveVariantCallback(baseVariant);const triggerShopifyMiniCartModal1khpaja=activeVariantCallback(async(...args)=>{if(FzRawiT6B){const res=await FzRawiT6B(...args);if(res===false)return false;}});const triggerNotifyOverlay17g6s6i=activeVariantCallback(async(...args)=>{if(z1uvL_dR5){const res=await z1uvL_dR5(...args);if(res===false)return false;}});const sharedStyleClassNames=[];const scopingClassNames=cx(serializationHash,...sharedStyleClassNames);return /*#__PURE__*/_jsx(LayoutGroup,{id:layoutId??defaultLayoutId,children:/*#__PURE__*/_jsx(Variants,{animate:variants,initial:false,children:/*#__PURE__*/_jsx(Transition,{value:transition1,children:/*#__PURE__*/_jsx(motion.div,{...restProps,...gestureHandlers,className:cx(scopingClassNames,\"framer-h0lpas\",className,classNames),\"data-framer-name\":\"Variant 1\",layoutDependency:layoutDependency,layoutId:\"RcrAKAnuK\",ref:refBinding,style:{...style},children:/*#__PURE__*/_jsx(ComponentViewportProvider,{children:/*#__PURE__*/_jsx(SmartComponentScopedContainer,{className:\"framer-xdf30e-container\",isAuthoredByUser:true,layoutDependency:layoutDependency,layoutId:\"GKsicjjSy-container\",nodeId:\"GKsicjjSy\",rendersWithMotion:true,scopeId:\"UnsogWI8Z\",children:/*#__PURE__*/_jsx(Butter_ProductPurchaseButton,{available:[/*#__PURE__*/_jsx(ComponentViewportProvider,{height:48,width:\"400px\",children:/*#__PURE__*/_jsx(SmartComponentScopedContainer,{className:\"framer-gjpd2-container\",\"data-framer-name\":\"Add to Cart\",inComponentSlot:true,layoutDependency:layoutDependency,layoutId:\"olS5qP9CS-container\",name:\"Add to Cart\",nodeId:\"olS5qP9CS\",rendersWithMotion:true,scopeId:\"UnsogWI8Z\",children:/*#__PURE__*/_jsx(PurchaseButton,{elgRTGdr9:gzPkfrIbf,height:\"100%\",id:\"olS5qP9CS\",layoutId:\"olS5qP9CS\",name:\"Add to Cart\",onelgRTGdr9Change:setgzPkfrIbf,style:{width:\"100%\"},variant:matchVariant(\"qiv395MRY\"),width:\"100%\"})})})],BuyNowATC:true,checkoutDomain:\"frmrspply.myshopify.com\",fcData:gzPkfrIbf,fireViewItem:false,focus:{color:\"rgb(0, 122, 255)\",offset:2,radius:\"200px\",width:2},height:\"100%\",id:\"GKsicjjSy\",layoutId:\"GKsicjjSy\",LoadingState:[/*#__PURE__*/_jsx(ComponentViewportProvider,{height:48,width:\"400px\",children:/*#__PURE__*/_jsx(SmartComponentScopedContainer,{className:\"framer-1g8220y-container\",\"data-framer-name\":\"Loading\",inComponentSlot:true,layoutDependency:layoutDependency,layoutId:\"Hf_aywAYy-container\",name:\"Loading\",nodeId:\"Hf_aywAYy\",rendersWithMotion:true,scopeId:\"UnsogWI8Z\",children:/*#__PURE__*/_jsx(PurchaseButton,{elgRTGdr9:gzPkfrIbf,height:\"100%\",id:\"Hf_aywAYy\",layoutId:\"Hf_aywAYy\",name:\"Loading\",onelgRTGdr9Change:setgzPkfrIbf,style:{width:\"100%\"},variant:matchVariant(\"FHPHnpq_F\"),width:\"100%\"})})})],maxQuantity:[/*#__PURE__*/_jsx(ComponentViewportProvider,{height:48,width:\"400px\",children:/*#__PURE__*/_jsx(SmartComponentScopedContainer,{className:\"framer-uw7bb-container\",\"data-framer-name\":\"Max Reached\",inComponentSlot:true,layoutDependency:layoutDependency,layoutId:\"vSKvLHc9q-container\",name:\"Max Reached\",nodeId:\"vSKvLHc9q\",rendersWithMotion:true,scopeId:\"UnsogWI8Z\",children:/*#__PURE__*/_jsx(PurchaseButton,{elgRTGdr9:gzPkfrIbf,height:\"100%\",id:\"vSKvLHc9q\",layoutId:\"vSKvLHc9q\",name:\"Max Reached\",onelgRTGdr9Change:setgzPkfrIbf,style:{width:\"100%\"},variant:matchVariant(\"yRunEojXH\"),width:\"100%\"})})})],onClickAction:\"none\",onClickOOSAction:\"none\",OutOfStock:[/*#__PURE__*/_jsx(ComponentViewportProvider,{height:48,width:\"400px\",children:/*#__PURE__*/_jsx(SmartComponentScopedContainer,{className:\"framer-1vvrptf-container\",\"data-framer-name\":\"Out of Stock\",inComponentSlot:true,layoutDependency:layoutDependency,layoutId:\"igAutchvn-container\",name:\"Out of Stock\",nodeId:\"igAutchvn\",rendersWithMotion:true,scopeId:\"UnsogWI8Z\",children:/*#__PURE__*/_jsx(PurchaseButton,{elgRTGdr9:gzPkfrIbf,height:\"100%\",id:\"igAutchvn\",layoutId:\"igAutchvn\",name:\"Out of Stock\",onelgRTGdr9Change:setgzPkfrIbf,style:{width:\"100%\"},variant:matchVariant(\"mtL6j6SKd\"),width:\"100%\"})})})],SelectVariant:[/*#__PURE__*/_jsx(ComponentViewportProvider,{height:48,width:\"400px\",children:/*#__PURE__*/_jsx(SmartComponentScopedContainer,{className:\"framer-19yest9-container\",\"data-framer-name\":\"Select Variant\",inComponentSlot:true,layoutDependency:layoutDependency,layoutId:\"FYIZkok5E-container\",name:\"Select Variant\",nodeId:\"FYIZkok5E\",rendersWithMotion:true,scopeId:\"UnsogWI8Z\",children:/*#__PURE__*/_jsx(PurchaseButton,{elgRTGdr9:gzPkfrIbf,height:\"100%\",id:\"FYIZkok5E\",layoutId:\"FYIZkok5E\",name:\"Select Variant\",onelgRTGdr9Change:setgzPkfrIbf,style:{width:\"100%\"},variant:matchVariant(\"B7b72A4cy\"),width:\"100%\"})})})],shopifyProductVariantId:\"\",style:{width:\"100%\"},triggerNotifyOverlay:triggerNotifyOverlay17g6s6i,triggerShopifyMiniCartModal:triggerShopifyMiniCartModal1khpaja,width:\"100%\"})})})})})})});});const css=[\"@supports (aspect-ratio: 1) { body { --framer-aspect-ratio-supported: auto; } }\",\".framer-qYbjB.framer-1di2lge, .framer-qYbjB .framer-1di2lge { display: block; }\",\".framer-qYbjB.framer-h0lpas { align-content: center; align-items: center; display: flex; flex-direction: row; flex-wrap: nowrap; gap: 0px; height: min-content; justify-content: center; overflow: visible; padding: 0px; position: relative; width: 132px; }\",\".framer-qYbjB .framer-xdf30e-container { flex: 1 0 0px; height: auto; position: relative; width: 1px; }\",\".framer-qYbjB .framer-1g8220y-container, .framer-qYbjB .framer-gjpd2-container, .framer-qYbjB .framer-19yest9-container, .framer-qYbjB .framer-1vvrptf-container, .framer-qYbjB .framer-uw7bb-container { height: auto; position: relative; width: 400px; }\"];/**\n * This is a generated Framer component.\n * @framerIntrinsicHeight 48\n * @framerIntrinsicWidth 132\n * @framerCanvasComponentVariantDetails {\"propertyName\":\"variant\",\"data\":{\"default\":{\"layout\":[\"fixed\",\"auto\"]}}}\n * @framerVariables {\"gzPkfrIbf\":\"fCData\",\"FzRawiT6B\":\"miniCart\",\"z1uvL_dR5\":\"outOfStock\"}\n * @framerImmutableVariables true\n * @framerDisplayContentsDiv false\n * @framerAutoSizeImages true\n * @framerComponentViewportWidth true\n * @framerColorSyntax true\n */const FramerUnsogWI8Z=withCSS(Component,css,\"framer-qYbjB\");export default FramerUnsogWI8Z;FramerUnsogWI8Z.displayName=\"FC Purchase Button\";FramerUnsogWI8Z.defaultProps={height:48,width:132};addPropertyControls(FramerUnsogWI8Z,{gzPkfrIbf:{defaultValue:\"9914855981350\",title:\"FC Data\",type:ControlType.String},ongzPkfrIbfChange:{changes:\"gzPkfrIbf\",type:ControlType.ChangeHandler},FzRawiT6B:{title:\"Mini Cart\",type:ControlType.EventHandler},z1uvL_dR5:{title:\"Out Of Stock\",type:ControlType.EventHandler}});addFonts(FramerUnsogWI8Z,[{explicitInter:true,fonts:[]},...PurchaseButtonFonts,...Butter_ProductPurchaseButtonFonts],{supportsExplicitInterCodegen:true});FramerUnsogWI8Z.loader={load:(props,context)=>{const locale=context.locale;return Promise.allSettled([forwardLoader(PurchaseButton,{},context)]);}};\nexport const __FramerMetadata__ = {\"exports\":{\"Props\":{\"type\":\"tsType\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"default\":{\"type\":\"reactComponent\",\"name\":\"FramerUnsogWI8Z\",\"slots\":[],\"annotations\":{\"framerAutoSizeImages\":\"true\",\"framerContractVersion\":\"1\",\"framerComponentViewportWidth\":\"true\",\"framerIntrinsicWidth\":\"132\",\"framerCanvasComponentVariantDetails\":\"{\\\"propertyName\\\":\\\"variant\\\",\\\"data\\\":{\\\"default\\\":{\\\"layout\\\":[\\\"fixed\\\",\\\"auto\\\"]}}}\",\"framerImmutableVariables\":\"true\",\"framerColorSyntax\":\"true\",\"framerDisplayContentsDiv\":\"false\",\"framerVariables\":\"{\\\"gzPkfrIbf\\\":\\\"fCData\\\",\\\"FzRawiT6B\\\":\\\"miniCart\\\",\\\"z1uvL_dR5\\\":\\\"outOfStock\\\"}\",\"framerIntrinsicHeight\":\"48\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./UnsogWI8Z.map","// Generated by Framer (b44fae2)\nimport{jsx as _jsx,jsxs as _jsxs}from\"react/jsx-runtime\";import{addFonts,addPropertyControls,ComponentViewportProvider,ControlType,cx,forwardLoader,getFonts,getFontsFromSharedStyle,Link,RichText,SmartComponentScopedContainer,useActiveVariantCallback,useComponentViewport,useLocaleInfo,useVariantState,withCSS}from\"framer\";import{LayoutGroup,motion,MotionConfigContext}from\"framer-motion\";import*as React from\"react\";import{useRef}from\"react\";import Butter_ShoppableVideoTap from\"https://framerusercontent.com/modules/kgLjYSffJmCJgAIPKmrP/qVc3gazAmhvymgUrriOF/Butter_ShoppableVideoTap.js\";import Butter_ProductMediaVariantActive from\"https://framerusercontent.com/modules/zwJngOdM9Nix1jLULzyB/1b5nN9Y0VJPzvD89LLH8/Butter_ProductMediaVariantActive.js\";import Butter_ProductVariantSelector from\"https://framerusercontent.com/modules/yyv2Lz1sagbCMJb7N2xY/8zFOaAHLZ1vrsFUTsbjG/Butter_ProductVariantSelector.js\";import*as sharedStyle from\"https://framerusercontent.com/modules/zbtLyemUX3dkjbfFdh9Z/lPjvFIjgFqlj83wa7vg9/VPSAKxccK.js\";import ItemModalAccordionItem from\"https://framerusercontent.com/modules/qoT1qP0Uu3F5OEwypVmI/Sq1EJDhfkyXQQct3a5ID/J6X_yT9v_.js\";import Close from\"https://framerusercontent.com/modules/7SIzcytkvWhvCeo5LVmQ/2mwuw77eFqZ499LvPzE2/QsKhzMg4b.js\";import FCPurchaseButton from\"https://framerusercontent.com/modules/uRpCdTLggXLK4ARqBT5i/KWsYcVtmf4muSGUMMcs6/UnsogWI8Z.js\";const Butter_ProductMediaVariantActiveFonts=getFonts(Butter_ProductMediaVariantActive);const CloseFonts=getFonts(Close);const Butter_ShoppableVideoTapFonts=getFonts(Butter_ShoppableVideoTap);const Butter_ProductVariantSelectorFonts=getFonts(Butter_ProductVariantSelector);const FCPurchaseButtonFonts=getFonts(FCPurchaseButton);const ItemModalAccordionItemFonts=getFonts(ItemModalAccordionItem);const cycleOrder=[\"mPjEF4Zv7\",\"C2QwiBgDY\"];const serializationHash=\"framer-0xqSE\";const variantClassNames={C2QwiBgDY:\"framer-v-34t3me\",mPjEF4Zv7:\"framer-v-3nxkqp\"};function addPropertyOverrides(overrides,...variants){const nextOverrides={};variants?.forEach(variant=>variant&&Object.assign(nextOverrides,overrides[variant]));return nextOverrides;}const v2juIQyoc=undefined;const VZyc5E5ia=undefined;const vZrrWmU5a=undefined;const EkuCLfAlE=undefined;const UKtoGwqAl=undefined;const P5H8drhrX=undefined;const Kh_81khNe=undefined;const Xe1hQJ4Yz=undefined;const setv2juIQyoc=undefined;const transition1={bounce:.2,delay:0,duration:.4,type:\"spring\"};const toImageSrc=value=>{if(typeof value===\"object\"&&value!==null&&typeof value.src===\"string\"){return value.src;}return typeof value===\"string\"?value:undefined;};const matchVariant=(...args)=>{for(const arg of args){if(arg&&typeof arg===\"string\")return arg;}return undefined;};const Transition=({value,children})=>{const config=React.useContext(MotionConfigContext);const transition=value??config.transition;const contextValue=React.useMemo(()=>({...config,transition}),[JSON.stringify(transition)]);return /*#__PURE__*/_jsx(MotionConfigContext.Provider,{value:contextValue,children:children});};const humanReadableVariantMap={\"Variant 1\":\"mPjEF4Zv7\",\"Variant 2\":\"C2QwiBgDY\"};const Variants=motion.create(React.Fragment);const useStateVariable=(externalState,setExternalState)=>{const[internalState,setInternalState]=React.useState(externalState);const[previousExternalState,setPreviousExternalState]=React.useState(externalState);if(setExternalState){return[externalState,setExternalState];}if(externalState!==previousExternalState){setInternalState(externalState);setPreviousExternalState(externalState);}return[internalState,setInternalState];};const getProps=({closePlay,description,fCData,height,id,image1,image2,image3,price,title,width,...props})=>{return{...props,EkuCLfAlE:image3??props.EkuCLfAlE,Kh_81khNe:closePlay??props.Kh_81khNe,P5H8drhrX:price??props.P5H8drhrX??\"$23\",UKtoGwqAl:title??props.UKtoGwqAl??\"Washed Logo Cap\",v2juIQyoc:fCData??props.v2juIQyoc,variant:humanReadableVariantMap[props.variant]??props.variant??\"mPjEF4Zv7\",vZrrWmU5a:image2??props.vZrrWmU5a,VZyc5E5ia:image1??props.VZyc5E5ia,Xe1hQJ4Yz:description??props.Xe1hQJ4Yz??\"Adjustable hat featuring an embroidered Framer logo, a washed finish, and an adjustable back strap for an easy everyday fit.\"};};const createLayoutDependency=(props,variants)=>{if(props.layoutDependency)return variants.join(\"-\")+props.layoutDependency;return variants.join(\"-\");};const Component=/*#__PURE__*/React.forwardRef(function(props,ref){const fallbackRef=useRef(null);const refBinding=ref??fallbackRef;const defaultLayoutId=React.useId();const{activeLocale,setLocale}=useLocaleInfo();const componentViewport=useComponentViewport();const{style,className,layoutId,variant,UKtoGwqAl,P5H8drhrX,Xe1hQJ4Yz,\"v2juIQyoc\":externalv2juIQyoc,\"onv2juIQyocChange\":setExternalv2juIQyoc,VZyc5E5ia,vZrrWmU5a,EkuCLfAlE,Kh_81khNe,...restProps}=getProps(props);const[v2juIQyoc,setv2juIQyoc]=useStateVariable(externalv2juIQyoc,setExternalv2juIQyoc);const{baseVariant,classNames,clearLoadingGesture,gestureHandlers,gestureVariant,isLoading,setGestureState,setVariant,variants}=useVariantState({cycleOrder,defaultVariant:\"mPjEF4Zv7\",ref:refBinding,variant,variantClassNames});const layoutDependency=createLayoutDependency(props,variants);const{activeVariantCallback,delay}=useActiveVariantCallback(baseVariant);const onTap18y8fbv=activeVariantCallback(async(...args)=>{setVariant(\"mPjEF4Zv7\");});const onTap1ix2qt=activeVariantCallback(async(...args)=>{if(Kh_81khNe){const res=await Kh_81khNe(...args);if(res===false)return false;}});const sharedStyleClassNames=[sharedStyle.className];const scopingClassNames=cx(serializationHash,...sharedStyleClassNames);const isDisplayed=()=>{if(baseVariant===\"C2QwiBgDY\")return true;return false;};return /*#__PURE__*/_jsx(LayoutGroup,{id:layoutId??defaultLayoutId,children:/*#__PURE__*/_jsx(Variants,{animate:variants,initial:false,children:/*#__PURE__*/_jsx(Transition,{value:transition1,children:/*#__PURE__*/_jsxs(motion.div,{...restProps,...gestureHandlers,className:cx(scopingClassNames,\"framer-3nxkqp\",className,classNames),\"data-framer-name\":\"Variant 1\",layoutDependency:layoutDependency,layoutId:\"mPjEF4Zv7\",ref:refBinding,style:{...style},...addPropertyOverrides({C2QwiBgDY:{\"data-framer-name\":\"Variant 2\"}},baseVariant,gestureVariant),children:[isDisplayed()&&/*#__PURE__*/_jsxs(motion.div,{className:\"framer-1pcdhtw\",layoutDependency:layoutDependency,layoutId:\"Srvv70MJU\",style:{backgroundColor:\"rgb(0, 0, 0)\",borderBottomLeftRadius:24,borderBottomRightRadius:24,borderTopLeftRadius:24,borderTopRightRadius:24},children:[/*#__PURE__*/_jsx(RichText,{__fromCanvasComponent:true,children:/*#__PURE__*/_jsx(React.Fragment,{children:/*#__PURE__*/_jsx(motion.p,{dir:\"auto\",style:{\"--framer-font-open-type-features\":\"'salt' on\",\"--framer-text-alignment\":\"center\",\"--framer-text-color\":\"var(--extracted-r6o4lv, var(--token-d35e5398-af28-4f97-8e2e-13717c50156f, rgb(255, 255, 255)))\"},children:\"This site is for Hackathon demo purposes only, so we ask you to complete this purchase directly from the Framer merch store.\"})}),className:\"framer-1cmhuj\",fonts:[\"Inter\"],layoutDependency:layoutDependency,layoutId:\"S8Pa_qr4l\",style:{\"--extracted-r6o4lv\":\"var(--token-d35e5398-af28-4f97-8e2e-13717c50156f, rgb(255, 255, 255))\",\"--framer-link-text-color\":\"rgb(0, 153, 255)\",\"--framer-link-text-decoration\":\"underline\"},verticalAlignment:\"top\",withExternalLayout:true}),/*#__PURE__*/_jsx(motion.div,{className:\"framer-14ywce\",\"data-highlight\":true,layoutDependency:layoutDependency,layoutId:\"j63dPLKSc\",onTap:onTap18y8fbv,children:/*#__PURE__*/_jsx(RichText,{__fromCanvasComponent:true,children:/*#__PURE__*/_jsx(React.Fragment,{children:/*#__PURE__*/_jsx(motion.p,{dir:\"auto\",style:{\"--framer-font-open-type-features\":\"'salt' on\",\"--framer-text-alignment\":\"center\",\"--framer-text-color\":\"var(--extracted-r6o4lv, var(--token-d35e5398-af28-4f97-8e2e-13717c50156f, rgb(255, 255, 255)))\"},children:\"Back\"})}),className:\"framer-1vh0b8p\",fonts:[\"Inter\"],layoutDependency:layoutDependency,layoutId:\"nEidl_LTG\",style:{\"--extracted-r6o4lv\":\"var(--token-d35e5398-af28-4f97-8e2e-13717c50156f, rgb(255, 255, 255))\",\"--framer-link-text-color\":\"rgb(0, 153, 255)\",\"--framer-link-text-decoration\":\"underline\"},verticalAlignment:\"top\",withExternalLayout:true})}),/*#__PURE__*/_jsx(RichText,{__fromCanvasComponent:true,children:/*#__PURE__*/_jsx(React.Fragment,{children:/*#__PURE__*/_jsx(motion.p,{dir:\"auto\",style:{\"--framer-font-open-type-features\":\"'salt' on\",\"--framer-font-size\":\"14px\",\"--framer-text-alignment\":\"center\",\"--framer-text-color\":\"var(--extracted-r6o4lv, var(--token-d35e5398-af28-4f97-8e2e-13717c50156f, rgb(255, 255, 255)))\"},children:/*#__PURE__*/_jsx(Link,{href:\"framer.store\",motionChild:true,nodeId:\"aKWMHfe12\",openInNewTab:true,relValues:[],scopeId:\"WY1RXYlZX\",smoothScroll:false,children:/*#__PURE__*/_jsx(motion.a,{className:\"framer-styles-preset-1ked9qm\",\"data-styles-preset\":\"VPSAKxccK\",children:\"Visit the official Framer Merch Store\"})})})}),className:\"framer-18xqpjb\",fonts:[\"Inter\"],layoutDependency:layoutDependency,layoutId:\"aKWMHfe12\",style:{\"--extracted-r6o4lv\":\"var(--token-d35e5398-af28-4f97-8e2e-13717c50156f, rgb(255, 255, 255))\"},verticalAlignment:\"top\",withExternalLayout:true})]}),/*#__PURE__*/_jsxs(motion.div,{className:\"framer-wfopz7\",layoutDependency:layoutDependency,layoutId:\"ZhRR77y3q\",style:{backgroundColor:\"rgb(0, 0, 0)\",borderBottomLeftRadius:24,borderBottomRightRadius:24,borderTopLeftRadius:24,borderTopRightRadius:24},children:[/*#__PURE__*/_jsxs(motion.div,{className:\"framer-160ytev\",layoutDependency:layoutDependency,layoutId:\"xQJtjLAXq\",children:[/*#__PURE__*/_jsx(motion.div,{className:\"framer-367c9w\",layoutDependency:layoutDependency,layoutId:\"opVN084fy\",style:{borderBottomLeftRadius:8,borderBottomRightRadius:8,borderTopLeftRadius:8,borderTopRightRadius:8},children:/*#__PURE__*/_jsx(ComponentViewportProvider,{children:/*#__PURE__*/_jsx(SmartComponentScopedContainer,{className:\"framer-11kutyo-container\",\"data-code-component-plugin-id\":\"api\",isAuthoredByUser:true,layoutDependency:layoutDependency,layoutId:\"v7WGk1R7N-container\",nodeId:\"v7WGk1R7N\",rendersWithMotion:true,scopeId:\"WY1RXYlZX\",children:/*#__PURE__*/_jsx(Butter_ProductMediaVariantActive,{amount:8,Click:{customCursor:\"No\",followCursor:\"Yes\",zoomScale:1},cursorHover:[],cursorVideoPause:[],cursorVideoPlay:[],cursorZoomIn:[],fcData:v2juIQyoc,filterMatch:\"Any\",filterVariants:\"Always\",height:\"100%\",Hover:{filterMatch:\"Any\",filterVariants:\"Always\",followCursor:\"No\",hoverMode:\"None\",hoverOpacity:1,hoverScale:1,pushDirection:\"→\",swapAnimation:\"Instant\",swapType:\"Any\",transition:{damping:60,delay:0,mass:1,stiffness:500,type:\"spring\"}},id:\"v7WGk1R7N\",image1:toImageSrc(VZyc5E5ia),image2:toImageSrc(vZrrWmU5a),image3:toImageSrc(EkuCLfAlE),images:\"Set\",layoutId:\"v7WGk1R7N\",mediaSource:\"Framer CMS\",Style:{backgroundColor:\"rgb(245, 245, 245)\",borderRadius:0,customCursor:\"No\",padding:0,paddingBottom:0,paddingLeft:0,paddingPerSide:false,paddingRight:0,paddingTop:0,radiusBottomLeft:0,radiusBottomRight:0,radiusPerCorner:false,radiusTopLeft:0,radiusTopRight:0,type:\"Fill\"},style:{height:\"100%\",width:\"100%\"},Video:{autoPlay:true,Controls:{bg:\"rgba(0, 0, 0, 0.5)\",color:\"rgb(255, 255, 255)\",containerSize:40,fullscreen:\"Off\",fullscreenPosition:\"Bottom Right\",gap:8,iconSize:16,inset:8,insetBottom:8,insetLeft:8,insetPerSide:false,insetRight:8,insetTop:8,mute:\"Off\",mutePosition:\"Bottom Right\",playPause:\"On\",playPauseMode:\"Button only\",playPausePosition:\"Bottom Left\",radius:80,visibility:\"Always\"},loop:true,muted:true,Poster:{bg:\"rgba(0, 0, 0, 0.5)\",color:\"rgb(255, 255, 255)\",containerSize:40,iconSize:16,inset:8,insetBottom:8,insetLeft:8,insetPerSide:false,insetRight:8,insetTop:8,position:\"Center\",posterStyle:\"Inherit\",radius:80}},videoAmount:0,videos:\"Auto\",width:\"100%\"})})})}),/*#__PURE__*/_jsxs(motion.div,{className:\"framer-ahrd2m\",layoutDependency:layoutDependency,layoutId:\"Rl_WJ15NC\",children:[/*#__PURE__*/_jsx(RichText,{__fromCanvasComponent:true,children:/*#__PURE__*/_jsx(React.Fragment,{children:/*#__PURE__*/_jsx(motion.p,{dir:\"auto\",style:{\"--font-selector\":\"SW50ZXItU2VtaUJvbGQ=\",\"--framer-font-open-type-features\":\"'salt' on\",\"--framer-font-size\":\"18px\",\"--framer-font-weight\":\"600\",\"--framer-text-alignment\":\"left\",\"--framer-text-color\":\"var(--extracted-r6o4lv, var(--token-d35e5398-af28-4f97-8e2e-13717c50156f, rgb(255, 255, 255)))\"},children:\"Washed Logo Cap\"})}),className:\"framer-1f3c5zg\",fonts:[\"Inter-SemiBold\"],layoutDependency:layoutDependency,layoutId:\"sAFx6ufHD\",style:{\"--extracted-r6o4lv\":\"var(--token-d35e5398-af28-4f97-8e2e-13717c50156f, rgb(255, 255, 255))\",\"--framer-link-text-color\":\"rgb(0, 153, 255)\",\"--framer-link-text-decoration\":\"underline\"},text:UKtoGwqAl,verticalAlignment:\"top\",withExternalLayout:true}),/*#__PURE__*/_jsx(RichText,{__fromCanvasComponent:true,children:/*#__PURE__*/_jsx(React.Fragment,{children:/*#__PURE__*/_jsx(motion.p,{dir:\"auto\",style:{\"--font-selector\":\"SW50ZXItTWVkaXVt\",\"--framer-font-open-type-features\":\"'salt' on\",\"--framer-font-weight\":\"500\",\"--framer-text-alignment\":\"left\",\"--framer-text-color\":\"var(--extracted-r6o4lv, rgba(255, 255, 255, 0.64))\"},children:\"$23\"})}),className:\"framer-6gx517\",fonts:[\"Inter-Medium\"],layoutDependency:layoutDependency,layoutId:\"JlaVtAlbz\",style:{\"--extracted-r6o4lv\":\"rgba(255, 255, 255, 0.64)\",\"--framer-link-text-color\":\"rgb(0, 153, 255)\",\"--framer-link-text-decoration\":\"underline\"},text:P5H8drhrX,verticalAlignment:\"top\",withExternalLayout:true})]}),/*#__PURE__*/_jsx(motion.div,{className:\"framer-17zolb9\",layoutDependency:layoutDependency,layoutId:\"ZDp3D050e\",children:/*#__PURE__*/_jsx(ComponentViewportProvider,{children:/*#__PURE__*/_jsx(SmartComponentScopedContainer,{className:\"framer-5gb6m4-container\",\"data-code-component-plugin-id\":\"api\",isAuthoredByUser:true,layoutDependency:layoutDependency,layoutId:\"BUnXiR8vO-container\",nodeId:\"BUnXiR8vO\",rendersWithMotion:true,scopeId:\"WY1RXYlZX\",children:/*#__PURE__*/_jsx(Butter_ShoppableVideoTap,{content:[/*#__PURE__*/_jsx(ComponentViewportProvider,{height:32,width:\"32px\",children:/*#__PURE__*/_jsx(SmartComponentScopedContainer,{className:\"framer-1mzrqam-container\",inComponentSlot:true,layoutDependency:layoutDependency,layoutId:\"nOeB7p9zu-container\",nodeId:\"nOeB7p9zu\",rendersWithMotion:true,scopeId:\"WY1RXYlZX\",children:/*#__PURE__*/_jsx(Close,{height:\"100%\",id:\"nOeB7p9zu\",layoutId:\"nOeB7p9zu\",width:\"100%\"})})})],height:\"100%\",id:\"BUnXiR8vO\",layoutId:\"BUnXiR8vO\",onTap:onTap1ix2qt,width:\"100%\"})})})})]}),/*#__PURE__*/_jsx(RichText,{__fromCanvasComponent:true,children:/*#__PURE__*/_jsx(React.Fragment,{children:/*#__PURE__*/_jsx(motion.p,{dir:\"auto\",style:{\"--framer-font-open-type-features\":\"'salt' on\",\"--framer-text-alignment\":\"left\",\"--framer-text-color\":\"var(--extracted-r6o4lv, var(--token-d35e5398-af28-4f97-8e2e-13717c50156f, rgb(255, 255, 255)))\"},children:\"Adjustable hat featuring an embroidered Framer logo, a washed finish, and an adjustable back strap for an easy everyday fit.\"})}),className:\"framer-167xu41\",fonts:[\"Inter\"],layoutDependency:layoutDependency,layoutId:\"jAJNEygsI\",style:{\"--extracted-r6o4lv\":\"var(--token-d35e5398-af28-4f97-8e2e-13717c50156f, rgb(255, 255, 255))\",\"--framer-link-text-color\":\"rgb(0, 153, 255)\",\"--framer-link-text-decoration\":\"underline\"},text:Xe1hQJ4Yz,verticalAlignment:\"top\",withExternalLayout:true}),/*#__PURE__*/_jsxs(motion.div,{className:\"framer-skxmjo\",layoutDependency:layoutDependency,layoutId:\"tzSFqeEvY\",children:[/*#__PURE__*/_jsx(ComponentViewportProvider,{children:/*#__PURE__*/_jsx(SmartComponentScopedContainer,{className:\"framer-71nysp-container\",isAuthoredByUser:true,layoutDependency:layoutDependency,layoutId:\"r0Ziyk5Ic-container\",nodeId:\"r0Ziyk5Ic\",rendersWithMotion:true,scopeId:\"WY1RXYlZX\",children:/*#__PURE__*/_jsx(Butter_ProductVariantSelector,{behaviorConfigs:{action:\"Update Active\",autoSelectFirst:true,filterVariants:{variantGroups:\"all\",variantTitles:[]},productPage:true,selectOutOfStock:false,showSingleVariants:false,triggerCart:true,updateOn:\"Click\"},buttonConfigs:{columnCount:4,columns:\"fixed\",direction:\"horizontal\",gap:8,gapY:8,gridWidth:100,hovered:{background:\"rgba(255, 255, 255, 0.24)\",border:{borderColor:\"rgb(0, 0, 0)\",borderStyle:\"solid\",borderWidth:0},color:\"var(--token-d35e5398-af28-4f97-8e2e-13717c50156f, rgb(255, 255, 255))\",font:{fontFamily:'\"Inter\", \"Inter Placeholder\", sans-serif',fontFeatureSettings:\"'salt' on\",fontSize:\"14px\",fontStyle:\"normal\",fontWeight:500,letterSpacing:\"0em\",lineHeight:\"1em\"},textTransform:\"None\"},layout:\"stack\",maxColumns:4,outOfStock:{background:\"rgba(0, 0, 0, 0.08)\",border:{borderColor:\"rgb(255, 255, 255)\",borderStyle:\"solid\",borderWidth:1},color:\"rgba(0, 0, 0, 0.4)\",font:{fontFamily:'\"Inter\", \"Inter Placeholder\", sans-serif',fontSize:\"14px\",fontStyle:\"normal\",fontWeight:500,letterSpacing:\"0em\",lineHeight:\"1em\"},preview:false,strike:{color:\"rgba(0, 0, 0, 0.16)\",direction:\"diagonal-down\",line:false,size:\"container\"},textTransform:\"None\"},padding:\"12px\",radius:\"80px\",selected:{background:\"var(--token-d35e5398-af28-4f97-8e2e-13717c50156f, rgb(255, 255, 255))\",border:{borderColor:\"rgb(0, 0, 0)\",borderStyle:\"solid\",borderWidth:0},color:\"var(--token-2de60d55-30ed-45f4-87e6-158824b868d3, rgb(0, 0, 0))\",font:{fontFamily:'\"Inter\", \"Inter Placeholder\", sans-serif',fontFeatureSettings:\"'salt' on\",fontSize:\"14px\",fontStyle:\"normal\",fontWeight:500,letterSpacing:\"0em\",lineHeight:\"1em\"},textTransform:\"None\"},unselected:{background:\"rgba(255, 255, 255, 0.08)\",border:{borderColor:\"rgba(0, 0, 0, 0.08)\",borderStyle:\"solid\",borderWidth:0},color:\"var(--token-d35e5398-af28-4f97-8e2e-13717c50156f, rgb(255, 255, 255))\",font:{fontFamily:'\"Inter\", \"Inter Placeholder\", sans-serif',fontFeatureSettings:\"'salt' on\",fontSize:\"14px\",fontStyle:\"normal\",fontWeight:500,letterSpacing:\"0em\",lineHeight:\"1em\"},textTransform:\"None\"}},containerConfigs:{background:\"rgba(0, 0, 0, 0)\",border:{borderColor:\"rgba(0, 0, 0, 0)\",borderStyle:\"solid\",borderWidth:0},direction:\"vertical\",gap:0,gap2:0,padding:\"0px\",radius:\"0px\"},customLayout:{align:\"start\",alignH:\"start\",background:\"rgba(255, 255, 255, 0)\",columnCount:3,columns:\"fixed\",direction:\"vertical\",distribute:\"start\",gap:8,gapY:24,gridAlign:\"center\",gridWidth:300,maxColumns:4,padding:0,paddingBottom:0,paddingLeft:0,paddingPerSide:false,paddingRight:0,paddingTop:0,radius:0,radiusBottomLeft:0,radiusBottomRight:0,radiusPerSide:false,radiusTopLeft:0,radiusTopRight:0,stackMinWidth:200,type:\"stack\",wrap:false},customMode:\"Templated\",customOptionTitle1:\"\",customOptionTitle10:\"\",customOptionTitle100:\"\",customOptionTitle11:\"\",customOptionTitle12:\"\",customOptionTitle13:\"\",customOptionTitle14:\"\",customOptionTitle15:\"\",customOptionTitle16:\"\",customOptionTitle17:\"\",customOptionTitle18:\"\",customOptionTitle19:\"\",customOptionTitle2:\"\",customOptionTitle20:\"\",customOptionTitle21:\"\",customOptionTitle22:\"\",customOptionTitle23:\"\",customOptionTitle24:\"\",customOptionTitle25:\"\",customOptionTitle26:\"\",customOptionTitle27:\"\",customOptionTitle28:\"\",customOptionTitle29:\"\",customOptionTitle3:\"\",customOptionTitle30:\"\",customOptionTitle31:\"\",customOptionTitle32:\"\",customOptionTitle33:\"\",customOptionTitle34:\"\",customOptionTitle35:\"\",customOptionTitle36:\"\",customOptionTitle37:\"\",customOptionTitle38:\"\",customOptionTitle39:\"\",customOptionTitle4:\"\",customOptionTitle40:\"\",customOptionTitle41:\"\",customOptionTitle42:\"\",customOptionTitle43:\"\",customOptionTitle44:\"\",customOptionTitle45:\"\",customOptionTitle46:\"\",customOptionTitle47:\"\",customOptionTitle48:\"\",customOptionTitle49:\"\",customOptionTitle5:\"\",customOptionTitle50:\"\",customOptionTitle51:\"\",customOptionTitle52:\"\",customOptionTitle53:\"\",customOptionTitle54:\"\",customOptionTitle55:\"\",customOptionTitle56:\"\",customOptionTitle57:\"\",customOptionTitle58:\"\",customOptionTitle59:\"\",customOptionTitle6:\"\",customOptionTitle60:\"\",customOptionTitle61:\"\",customOptionTitle62:\"\",customOptionTitle63:\"\",customOptionTitle64:\"\",customOptionTitle65:\"\",customOptionTitle66:\"\",customOptionTitle67:\"\",customOptionTitle68:\"\",customOptionTitle69:\"\",customOptionTitle7:\"\",customOptionTitle70:\"\",customOptionTitle71:\"\",customOptionTitle72:\"\",customOptionTitle73:\"\",customOptionTitle74:\"\",customOptionTitle75:\"\",customOptionTitle76:\"\",customOptionTitle77:\"\",customOptionTitle78:\"\",customOptionTitle79:\"\",customOptionTitle8:\"\",customOptionTitle80:\"\",customOptionTitle81:\"\",customOptionTitle82:\"\",customOptionTitle83:\"\",customOptionTitle84:\"\",customOptionTitle85:\"\",customOptionTitle86:\"\",customOptionTitle87:\"\",customOptionTitle88:\"\",customOptionTitle89:\"\",customOptionTitle9:\"\",customOptionTitle90:\"\",customOptionTitle91:\"\",customOptionTitle92:\"\",customOptionTitle93:\"\",customOptionTitle94:\"\",customOptionTitle95:\"\",customOptionTitle96:\"\",customOptionTitle97:\"\",customOptionTitle98:\"\",customOptionTitle99:\"\",customOptionValue1:\"\",customOptionValue10:\"\",customOptionValue100:\"\",customOptionValue11:\"\",customOptionValue12:\"\",customOptionValue13:\"\",customOptionValue14:\"\",customOptionValue15:\"\",customOptionValue16:\"\",customOptionValue17:\"\",customOptionValue18:\"\",customOptionValue19:\"\",customOptionValue2:\"\",customOptionValue20:\"\",customOptionValue21:\"\",customOptionValue22:\"\",customOptionValue23:\"\",customOptionValue24:\"\",customOptionValue25:\"\",customOptionValue26:\"\",customOptionValue27:\"\",customOptionValue28:\"\",customOptionValue29:\"\",customOptionValue3:\"\",customOptionValue30:\"\",customOptionValue31:\"\",customOptionValue32:\"\",customOptionValue33:\"\",customOptionValue34:\"\",customOptionValue35:\"\",customOptionValue36:\"\",customOptionValue37:\"\",customOptionValue38:\"\",customOptionValue39:\"\",customOptionValue4:\"\",customOptionValue40:\"\",customOptionValue41:\"\",customOptionValue42:\"\",customOptionValue43:\"\",customOptionValue44:\"\",customOptionValue45:\"\",customOptionValue46:\"\",customOptionValue47:\"\",customOptionValue48:\"\",customOptionValue49:\"\",customOptionValue5:\"\",customOptionValue50:\"\",customOptionValue51:\"\",customOptionValue52:\"\",customOptionValue53:\"\",customOptionValue54:\"\",customOptionValue55:\"\",customOptionValue56:\"\",customOptionValue57:\"\",customOptionValue58:\"\",customOptionValue59:\"\",customOptionValue6:\"\",customOptionValue60:\"\",customOptionValue61:\"\",customOptionValue62:\"\",customOptionValue63:\"\",customOptionValue64:\"\",customOptionValue65:\"\",customOptionValue66:\"\",customOptionValue67:\"\",customOptionValue68:\"\",customOptionValue69:\"\",customOptionValue7:\"\",customOptionValue70:\"\",customOptionValue71:\"\",customOptionValue72:\"\",customOptionValue73:\"\",customOptionValue74:\"\",customOptionValue75:\"\",customOptionValue76:\"\",customOptionValue77:\"\",customOptionValue78:\"\",customOptionValue79:\"\",customOptionValue8:\"\",customOptionValue80:\"\",customOptionValue81:\"\",customOptionValue82:\"\",customOptionValue83:\"\",customOptionValue84:\"\",customOptionValue85:\"\",customOptionValue86:\"\",customOptionValue87:\"\",customOptionValue88:\"\",customOptionValue89:\"\",customOptionValue9:\"\",customOptionValue90:\"\",customOptionValue91:\"\",customOptionValue92:\"\",customOptionValue93:\"\",customOptionValue94:\"\",customOptionValue95:\"\",customOptionValue96:\"\",customOptionValue97:\"\",customOptionValue98:\"\",customOptionValue99:\"\",CustomOutOfStock:[],customOutOfStock1:[],customOutOfStock10:[],customOutOfStock100:[],customOutOfStock11:[],customOutOfStock12:[],customOutOfStock13:[],customOutOfStock14:[],customOutOfStock15:[],customOutOfStock16:[],customOutOfStock17:[],customOutOfStock18:[],customOutOfStock19:[],customOutOfStock2:[],customOutOfStock20:[],customOutOfStock21:[],customOutOfStock22:[],customOutOfStock23:[],customOutOfStock24:[],customOutOfStock25:[],customOutOfStock26:[],customOutOfStock27:[],customOutOfStock28:[],customOutOfStock29:[],customOutOfStock3:[],customOutOfStock30:[],customOutOfStock31:[],customOutOfStock32:[],customOutOfStock33:[],customOutOfStock34:[],customOutOfStock35:[],customOutOfStock36:[],customOutOfStock37:[],customOutOfStock38:[],customOutOfStock39:[],customOutOfStock4:[],customOutOfStock40:[],customOutOfStock41:[],customOutOfStock42:[],customOutOfStock43:[],customOutOfStock44:[],customOutOfStock45:[],customOutOfStock46:[],customOutOfStock47:[],customOutOfStock48:[],customOutOfStock49:[],customOutOfStock5:[],customOutOfStock50:[],customOutOfStock51:[],customOutOfStock52:[],customOutOfStock53:[],customOutOfStock54:[],customOutOfStock55:[],customOutOfStock56:[],customOutOfStock57:[],customOutOfStock58:[],customOutOfStock59:[],customOutOfStock6:[],customOutOfStock60:[],customOutOfStock61:[],customOutOfStock62:[],customOutOfStock63:[],customOutOfStock64:[],customOutOfStock65:[],customOutOfStock66:[],customOutOfStock67:[],customOutOfStock68:[],customOutOfStock69:[],customOutOfStock7:[],customOutOfStock70:[],customOutOfStock71:[],customOutOfStock72:[],customOutOfStock73:[],customOutOfStock74:[],customOutOfStock75:[],customOutOfStock76:[],customOutOfStock77:[],customOutOfStock78:[],customOutOfStock79:[],customOutOfStock8:[],customOutOfStock80:[],customOutOfStock81:[],customOutOfStock82:[],customOutOfStock83:[],customOutOfStock84:[],customOutOfStock85:[],customOutOfStock86:[],customOutOfStock87:[],customOutOfStock88:[],customOutOfStock89:[],customOutOfStock9:[],customOutOfStock90:[],customOutOfStock91:[],customOutOfStock92:[],customOutOfStock93:[],customOutOfStock94:[],customOutOfStock95:[],customOutOfStock96:[],customOutOfStock97:[],customOutOfStock98:[],customOutOfStock99:[],CustomSelected:[],customSelected1:[],customSelected10:[],customSelected100:[],customSelected11:[],customSelected12:[],customSelected13:[],customSelected14:[],customSelected15:[],customSelected16:[],customSelected17:[],customSelected18:[],customSelected19:[],customSelected2:[],customSelected20:[],customSelected21:[],customSelected22:[],customSelected23:[],customSelected24:[],customSelected25:[],customSelected26:[],customSelected27:[],customSelected28:[],customSelected29:[],customSelected3:[],customSelected30:[],customSelected31:[],customSelected32:[],customSelected33:[],customSelected34:[],customSelected35:[],customSelected36:[],customSelected37:[],customSelected38:[],customSelected39:[],customSelected4:[],customSelected40:[],customSelected41:[],customSelected42:[],customSelected43:[],customSelected44:[],customSelected45:[],customSelected46:[],customSelected47:[],customSelected48:[],customSelected49:[],customSelected5:[],customSelected50:[],customSelected51:[],customSelected52:[],customSelected53:[],customSelected54:[],customSelected55:[],customSelected56:[],customSelected57:[],customSelected58:[],customSelected59:[],customSelected6:[],customSelected60:[],customSelected61:[],customSelected62:[],customSelected63:[],customSelected64:[],customSelected65:[],customSelected66:[],customSelected67:[],customSelected68:[],customSelected69:[],customSelected7:[],customSelected70:[],customSelected71:[],customSelected72:[],customSelected73:[],customSelected74:[],customSelected75:[],customSelected76:[],customSelected77:[],customSelected78:[],customSelected79:[],customSelected8:[],customSelected80:[],customSelected81:[],customSelected82:[],customSelected83:[],customSelected84:[],customSelected85:[],customSelected86:[],customSelected87:[],customSelected88:[],customSelected89:[],customSelected9:[],customSelected90:[],customSelected91:[],customSelected92:[],customSelected93:[],customSelected94:[],customSelected95:[],customSelected96:[],customSelected97:[],customSelected98:[],customSelected99:[],CustomUnselected:[],customUnselected1:[],customUnselected10:[],customUnselected100:[],customUnselected11:[],customUnselected12:[],customUnselected13:[],customUnselected14:[],customUnselected15:[],customUnselected16:[],customUnselected17:[],customUnselected18:[],customUnselected19:[],customUnselected2:[],customUnselected20:[],customUnselected21:[],customUnselected22:[],customUnselected23:[],customUnselected24:[],customUnselected25:[],customUnselected26:[],customUnselected27:[],customUnselected28:[],customUnselected29:[],customUnselected3:[],customUnselected30:[],customUnselected31:[],customUnselected32:[],customUnselected33:[],customUnselected34:[],customUnselected35:[],customUnselected36:[],customUnselected37:[],customUnselected38:[],customUnselected39:[],customUnselected4:[],customUnselected40:[],customUnselected41:[],customUnselected42:[],customUnselected43:[],customUnselected44:[],customUnselected45:[],customUnselected46:[],customUnselected47:[],customUnselected48:[],customUnselected49:[],customUnselected5:[],customUnselected50:[],customUnselected51:[],customUnselected52:[],customUnselected53:[],customUnselected54:[],customUnselected55:[],customUnselected56:[],customUnselected57:[],customUnselected58:[],customUnselected59:[],customUnselected6:[],customUnselected60:[],customUnselected61:[],customUnselected62:[],customUnselected63:[],customUnselected64:[],customUnselected65:[],customUnselected66:[],customUnselected67:[],customUnselected68:[],customUnselected69:[],customUnselected7:[],customUnselected70:[],customUnselected71:[],customUnselected72:[],customUnselected73:[],customUnselected74:[],customUnselected75:[],customUnselected76:[],customUnselected77:[],customUnselected78:[],customUnselected79:[],customUnselected8:[],customUnselected80:[],customUnselected81:[],customUnselected82:[],customUnselected83:[],customUnselected84:[],customUnselected85:[],customUnselected86:[],customUnselected87:[],customUnselected88:[],customUnselected89:[],customUnselected9:[],customUnselected90:[],customUnselected91:[],customUnselected92:[],customUnselected93:[],customUnselected94:[],customUnselected95:[],customUnselected96:[],customUnselected97:[],customUnselected98:[],customUnselected99:[],customValueCount:1,dropdownConfigs:{font:{},hover:{background:\"rgba(0, 0, 0, 0.04)\",border:{borderColor:\"rgb(0, 0, 0)\",borderStyle:\"solid\",borderWidth:1},color:\"rgb(0, 0, 0)\"},icon:{color:\"rgb(0, 0, 0)\",size:12,type:\"default\",weight:2},padding:\"16px\",radius:\"4px\",selected:{background:\"rgb(255, 255, 255)\",border:{borderColor:\"rgba(0, 0, 0, 0.16)\",borderStyle:\"solid\",borderWidth:1},color:\"rgb(0, 0, 0)\"},textTransform:\"None\",unselected:{background:\"rgb(255, 255, 255)\",border:{borderColor:\"rgba(0, 0, 0, 0.08)\",borderStyle:\"solid\",borderWidth:1},color:\"rgba(0, 0, 0, 0.48)\",text:\"Select {{variant}}\"}},fcData:v2juIQyoc,height:\"100%\",id:\"r0Ziyk5Ic\",images:{imageChange:true,imageTrigger:\"None\",offsetY:0},layoutId:\"r0Ziyk5Ic\",mode:\"Configure\",selectedConfigs:{color:\"rgb(0, 0, 0)\",emptyText:\"Select {{Option Value}}\",emptyVisible:true,font:{},gap:8,textTransform:\"None\",visible:false},style:\"Buttons\",swatches:{gap:8,height:32,hovered:{background:\"rgba(0, 0, 0, 0)\",border:{borderColor:\"var(--token-0a6abb4f-f476-4507-95f5-7e99bae63ff7, rgba(255, 255, 255, 0.16))\",borderStyle:\"solid\",borderWidth:2}},outOfStock:{background:\"rgba(0, 0, 0, 0)\",border:{borderColor:\"rgb(255, 255, 255)\",borderStyle:\"solid\",borderWidth:2},opacity:.5},padding:\"2px\",radius:\"100%\",selected:{background:\"rgba(0, 0, 0, 0)\",border:{borderColor:\"var(--token-d35e5398-af28-4f97-8e2e-13717c50156f, rgb(255, 255, 255))\",borderStyle:\"solid\",borderWidth:2}},swatchValues:{optionTitles:[\"Color\"],values:[{hex:\"rgb(76, 147, 217)\",name:\"Blue\",url:\"\"},{hex:\"rgb(123, 63, 60)\",name:\"Orange\",url:\"\"},{hex:\"rgb(134, 140, 107)\",name:\"Sage\",url:\"\"}],variantImageTitles:[]},unselected:{background:\"rgba(0, 0, 0, 0)\",border:{borderColor:\"rgba(255, 255, 255, 0)\",borderStyle:\"solid\",borderWidth:2}},variantImages:\"framer\",width:32},titleConfigs:{color:\"rgb(0, 0, 0)\",display:\"{{Option}}\",font:{},textTransform:\"None\",visible:false},trackingId:\"butter-variant-selector\",width:\"100%\"})})}),/*#__PURE__*/_jsx(motion.div,{className:\"framer-7gz1b5\",layoutDependency:layoutDependency,layoutId:\"EQu_tMho1\",children:/*#__PURE__*/_jsx(ComponentViewportProvider,{height:48,children:/*#__PURE__*/_jsx(SmartComponentScopedContainer,{className:\"framer-sk6h6q-container\",layoutDependency:layoutDependency,layoutId:\"ePhf2Ylco-container\",nodeId:\"ePhf2Ylco\",rendersWithMotion:true,scopeId:\"WY1RXYlZX\",children:/*#__PURE__*/_jsx(FCPurchaseButton,{gzPkfrIbf:v2juIQyoc,height:\"100%\",id:\"ePhf2Ylco\",layoutId:\"ePhf2Ylco\",ongzPkfrIbfChange:setv2juIQyoc,width:\"100%\"})})})})]}),/*#__PURE__*/_jsxs(motion.div,{className:\"framer-vsyatt\",\"data-framer-name\":\"Product Details Accordion\",layoutDependency:layoutDependency,layoutId:\"micWp94ge\",style:{backdropFilter:\"blur(8px)\",WebkitBackdropFilter:\"blur(8px)\"},children:[/*#__PURE__*/_jsx(motion.div,{className:\"framer-tcgjql\",layoutDependency:layoutDependency,layoutId:\"gB4R3f1hl\",style:{backgroundColor:\"rgba(255, 255, 255, 0.16)\"}}),/*#__PURE__*/_jsxs(motion.div,{className:\"framer-l7smbw\",layoutDependency:layoutDependency,layoutId:\"T9TQLUzcZ\",children:[/*#__PURE__*/_jsx(ComponentViewportProvider,{height:112,width:`calc(${componentViewport?.width||\"100vw\"} - 48px)`,children:/*#__PURE__*/_jsx(SmartComponentScopedContainer,{className:\"framer-1hfdocd-container\",layoutDependency:layoutDependency,layoutId:\"jgp8NGvtb-container\",nodeId:\"jgp8NGvtb\",rendersWithMotion:true,scopeId:\"WY1RXYlZX\",children:/*#__PURE__*/_jsx(ItemModalAccordionItem,{height:\"100%\",id:\"jgp8NGvtb\",KjhLDVi5D:\"If you are located in the EU or UK, you have the right to return your order within 14 calendar days after delivery for any reason. At this time, we can’t accept returns from the USA due to sustainability reasons.\",layoutId:\"jgp8NGvtb\",OLDximS_Q:\"Return Policy\",style:{width:\"100%\"},variant:matchVariant(\"qBxwCSEC4\"),width:\"100%\"})})}),/*#__PURE__*/_jsx(ComponentViewportProvider,{height:112,width:`calc(${componentViewport?.width||\"100vw\"} - 48px)`,children:/*#__PURE__*/_jsx(SmartComponentScopedContainer,{className:\"framer-wvsquv-container\",layoutDependency:layoutDependency,layoutId:\"oAiXBBX8x-container\",nodeId:\"oAiXBBX8x\",rendersWithMotion:true,scopeId:\"WY1RXYlZX\",children:/*#__PURE__*/_jsx(ItemModalAccordionItem,{height:\"100%\",id:\"oAiXBBX8x\",KjhLDVi5D:\"All orders are fulfilled and shipped by Monday Merch from the Netherlands. Shipping costs are calculated at checkout based on your location.\",layoutId:\"oAiXBBX8x\",OLDximS_Q:\"Shipping & fulfillment\",style:{width:\"100%\"},variant:matchVariant(\"qBxwCSEC4\"),width:\"100%\"})})})]})]})]})]})})})});});const css=[\"@supports (aspect-ratio: 1) { body { --framer-aspect-ratio-supported: auto; } }\",\".framer-0xqSE.framer-pqpf40, .framer-0xqSE .framer-pqpf40 { display: block; }\",\".framer-0xqSE.framer-3nxkqp { align-content: flex-start; align-items: flex-start; display: flex; flex-direction: column; flex-wrap: nowrap; gap: 8px; height: min-content; justify-content: flex-start; max-width: 500px; overflow: visible; padding: 0px; position: relative; width: 500px; }\",\".framer-0xqSE .framer-1pcdhtw { align-content: center; align-items: center; display: flex; flex: none; flex-direction: column; flex-wrap: nowrap; gap: 24px; height: 100%; justify-content: center; left: calc(50.00000000000002% - 100% / 2); overflow: visible; padding: 40px; position: absolute; top: 0px; width: 100%; z-index: 8; }\",\".framer-0xqSE .framer-1cmhuj, .framer-0xqSE .framer-18xqpjb, .framer-0xqSE .framer-1f3c5zg, .framer-0xqSE .framer-6gx517, .framer-0xqSE .framer-167xu41 { flex: none; height: auto; position: relative; white-space: pre-wrap; width: 100%; word-break: break-word; word-wrap: break-word; }\",\".framer-0xqSE .framer-14ywce { align-content: center; align-items: center; cursor: pointer; display: flex; flex: none; flex-direction: row; flex-wrap: nowrap; gap: 10px; height: min-content; justify-content: center; overflow: visible; padding: 0px; position: relative; width: min-content; }\",\".framer-0xqSE .framer-1vh0b8p { flex: none; height: auto; position: relative; white-space: pre; width: auto; }\",\".framer-0xqSE .framer-wfopz7 { align-content: center; align-items: center; display: flex; flex: none; flex-direction: column; flex-wrap: nowrap; gap: 24px; height: min-content; justify-content: center; overflow: visible; padding: 24px; position: relative; width: 100%; }\",\".framer-0xqSE .framer-160ytev { align-content: center; align-items: center; display: flex; flex: none; flex-direction: row; flex-wrap: nowrap; gap: 16px; height: min-content; justify-content: flex-start; overflow: var(--overflow-clip-fallback, clip); padding: 0px; position: relative; width: 100%; }\",\".framer-0xqSE .framer-367c9w { align-content: center; align-items: center; display: flex; flex: none; flex-direction: row; flex-wrap: nowrap; gap: 0px; height: min-content; justify-content: center; overflow: var(--overflow-clip-fallback, clip); padding: 0px; position: relative; width: min-content; will-change: var(--framer-will-change-override, transform); }\",\".framer-0xqSE .framer-11kutyo-container { flex: none; height: 80px; position: relative; width: 80px; }\",\".framer-0xqSE .framer-ahrd2m { align-content: center; align-items: center; display: flex; flex: 1 0 0px; flex-direction: column; flex-wrap: nowrap; gap: 8px; height: min-content; justify-content: center; overflow: var(--overflow-clip-fallback, clip); padding: 0px; position: relative; width: 1px; }\",\".framer-0xqSE .framer-17zolb9 { align-content: flex-start; align-items: flex-start; align-self: stretch; display: flex; flex: none; flex-direction: row; flex-wrap: nowrap; gap: 0px; height: auto; justify-content: center; overflow: visible; padding: 0px; position: relative; width: min-content; }\",\".framer-0xqSE .framer-5gb6m4-container, .framer-0xqSE .framer-sk6h6q-container { flex: none; height: auto; position: relative; width: auto; }\",\".framer-0xqSE .framer-1mzrqam-container { height: auto; position: relative; width: auto; }\",\".framer-0xqSE .framer-skxmjo { align-content: center; align-items: center; display: flex; flex: none; flex-direction: row; flex-wrap: wrap; height: min-content; justify-content: space-between; overflow: visible; padding: 0px; position: relative; width: 100%; }\",\".framer-0xqSE .framer-71nysp-container { flex: 1 0 0px; height: auto; max-width: 200px; position: relative; width: 1px; }\",\".framer-0xqSE .framer-7gz1b5 { align-content: center; align-items: center; display: flex; flex: none; flex-direction: row; flex-wrap: nowrap; gap: 10px; height: min-content; justify-content: center; overflow: visible; padding: 0px; position: relative; width: min-content; }\",\".framer-0xqSE .framer-vsyatt { align-content: flex-start; align-items: flex-start; display: flex; flex: none; flex-direction: column; flex-wrap: nowrap; gap: 0px; height: min-content; justify-content: flex-start; overflow: var(--overflow-clip-fallback, clip); padding: 0px; position: relative; width: 100%; }\",\".framer-0xqSE .framer-tcgjql { flex: none; height: 1px; overflow: visible; position: relative; width: 100%; }\",\".framer-0xqSE .framer-l7smbw { align-content: center; align-items: center; display: flex; flex: none; flex-direction: column; flex-wrap: nowrap; gap: 0px; height: min-content; justify-content: center; overflow: visible; padding: 12px 0px 0px 0px; position: relative; width: 100%; }\",\".framer-0xqSE .framer-1hfdocd-container, .framer-0xqSE .framer-wvsquv-container { flex: none; height: auto; position: relative; width: 100%; }\",\".framer-0xqSE.framer-v-34t3me .framer-1cmhuj { order: 0; }\",\".framer-0xqSE.framer-v-34t3me .framer-14ywce { order: 2; }\",\".framer-0xqSE.framer-v-34t3me .framer-18xqpjb { order: 1; }\",...sharedStyle.css];/**\n * This is a generated Framer component.\n * @framerIntrinsicHeight 414.5\n * @framerIntrinsicWidth 500\n * @framerCanvasComponentVariantDetails {\"propertyName\":\"variant\",\"data\":{\"default\":{\"layout\":[\"fixed\",\"auto\"],\"constraints\":[null,\"500px\",null,null]},\"C2QwiBgDY\":{\"layout\":[\"fixed\",\"auto\"],\"constraints\":[null,\"500px\",null,null]}}}\n * @framerVariables {\"UKtoGwqAl\":\"title\",\"P5H8drhrX\":\"price\",\"Xe1hQJ4Yz\":\"description\",\"v2juIQyoc\":\"fCData\",\"VZyc5E5ia\":\"image1\",\"vZrrWmU5a\":\"image2\",\"EkuCLfAlE\":\"image3\",\"Kh_81khNe\":\"closePlay\"}\n * @framerImmutableVariables true\n * @framerDisplayContentsDiv false\n * @framerAutoSizeImages true\n * @framerComponentViewportWidth true\n * @framerColorSyntax true\n * @framerTrackingIds [{\"id\":\"_2hym62\",\"trackingId\":\"butter-variant-selector\"}]\n */const FramerWY1RXYlZX=withCSS(Component,css,\"framer-0xqSE\");export default FramerWY1RXYlZX;FramerWY1RXYlZX.displayName=\"ItemModal\";FramerWY1RXYlZX.defaultProps={height:414.5,width:500};addPropertyControls(FramerWY1RXYlZX,{variant:{options:[\"mPjEF4Zv7\",\"C2QwiBgDY\"],optionTitles:[\"Variant 1\",\"Variant 2\"],title:\"Variant\",type:ControlType.Enum},UKtoGwqAl:{defaultValue:\"Washed Logo Cap\",displayTextArea:false,title:\"Title\",type:ControlType.String},onUKtoGwqAlChange:{changes:\"UKtoGwqAl\",type:ControlType.ChangeHandler},P5H8drhrX:{defaultValue:\"$23\",displayTextArea:false,title:\"Price\",type:ControlType.String},onP5H8drhrXChange:{changes:\"P5H8drhrX\",type:ControlType.ChangeHandler},Xe1hQJ4Yz:{defaultValue:\"Adjustable hat featuring an embroidered Framer logo, a washed finish, and an adjustable back strap for an easy everyday fit.\",displayTextArea:false,title:\"Description\",type:ControlType.String},onXe1hQJ4YzChange:{changes:\"Xe1hQJ4Yz\",type:ControlType.ChangeHandler},v2juIQyoc:{defaultValue:\"\",title:\"FC Data\",type:ControlType.String},onv2juIQyocChange:{changes:\"v2juIQyoc\",type:ControlType.ChangeHandler},VZyc5E5ia:{title:\"Image 1\",type:ControlType.ResponsiveImage},vZrrWmU5a:{title:\"Image 2\",type:ControlType.ResponsiveImage},EkuCLfAlE:{title:\"Image 3\",type:ControlType.ResponsiveImage},Kh_81khNe:{title:\"Close Play\",type:ControlType.EventHandler}});addFonts(FramerWY1RXYlZX,[{explicitInter:true,fonts:[{cssFamilyName:\"Inter\",source:\"framer\",style:\"normal\",uiFamilyName:\"Inter\",unicodeRange:\"U+0460-052F, U+1C80-1C88, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F\",url:\"https://framerusercontent.com/assets/5vvr9Vy74if2I6bQbJvbw7SY1pQ.woff2\",weight:\"400\"},{cssFamilyName:\"Inter\",source:\"framer\",style:\"normal\",uiFamilyName:\"Inter\",unicodeRange:\"U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116\",url:\"https://framerusercontent.com/assets/EOr0mi4hNtlgWNn9if640EZzXCo.woff2\",weight:\"400\"},{cssFamilyName:\"Inter\",source:\"framer\",style:\"normal\",uiFamilyName:\"Inter\",unicodeRange:\"U+1F00-1FFF\",url:\"https://framerusercontent.com/assets/Y9k9QrlZAqio88Klkmbd8VoMQc.woff2\",weight:\"400\"},{cssFamilyName:\"Inter\",source:\"framer\",style:\"normal\",uiFamilyName:\"Inter\",unicodeRange:\"U+0370-03FF\",url:\"https://framerusercontent.com/assets/OYrD2tBIBPvoJXiIHnLoOXnY9M.woff2\",weight:\"400\"},{cssFamilyName:\"Inter\",source:\"framer\",style:\"normal\",uiFamilyName:\"Inter\",unicodeRange:\"U+0100-024F, U+0259, U+1E00-1EFF, U+2020, U+20A0-20AB, U+20AD-20CF, U+2113, U+2C60-2C7F, U+A720-A7FF\",url:\"https://framerusercontent.com/assets/JeYwfuaPfZHQhEG8U5gtPDZ7WQ.woff2\",weight:\"400\"},{cssFamilyName:\"Inter\",source:\"framer\",style:\"normal\",uiFamilyName:\"Inter\",unicodeRange:\"U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2070, U+2074-207E, U+2080-208E, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD\",url:\"https://framerusercontent.com/assets/GrgcKwrN6d3Uz8EwcLHZxwEfC4.woff2\",weight:\"400\"},{cssFamilyName:\"Inter\",source:\"framer\",style:\"normal\",uiFamilyName:\"Inter\",unicodeRange:\"U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+1EA0-1EF9, U+20AB\",url:\"https://framerusercontent.com/assets/b6Y37FthZeALduNqHicBT6FutY.woff2\",weight:\"400\"},{cssFamilyName:\"Inter\",source:\"framer\",style:\"normal\",uiFamilyName:\"Inter\",unicodeRange:\"U+0460-052F, U+1C80-1C88, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F\",url:\"https://framerusercontent.com/assets/hyOgCu0Xnghbimh0pE8QTvtt2AU.woff2\",weight:\"600\"},{cssFamilyName:\"Inter\",source:\"framer\",style:\"normal\",uiFamilyName:\"Inter\",unicodeRange:\"U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116\",url:\"https://framerusercontent.com/assets/NeGmSOXrPBfEFIy5YZeHq17LEDA.woff2\",weight:\"600\"},{cssFamilyName:\"Inter\",source:\"framer\",style:\"normal\",uiFamilyName:\"Inter\",unicodeRange:\"U+1F00-1FFF\",url:\"https://framerusercontent.com/assets/oYaAX5himiTPYuN8vLWnqBbfD2s.woff2\",weight:\"600\"},{cssFamilyName:\"Inter\",source:\"framer\",style:\"normal\",uiFamilyName:\"Inter\",unicodeRange:\"U+0370-03FF\",url:\"https://framerusercontent.com/assets/lEJLP4R0yuCaMCjSXYHtJw72M.woff2\",weight:\"600\"},{cssFamilyName:\"Inter\",source:\"framer\",style:\"normal\",uiFamilyName:\"Inter\",unicodeRange:\"U+0100-024F, U+0259, U+1E00-1EFF, U+2020, U+20A0-20AB, U+20AD-20CF, U+2113, U+2C60-2C7F, U+A720-A7FF\",url:\"https://framerusercontent.com/assets/cRJyLNuTJR5jbyKzGi33wU9cqIQ.woff2\",weight:\"600\"},{cssFamilyName:\"Inter\",source:\"framer\",style:\"normal\",uiFamilyName:\"Inter\",unicodeRange:\"U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2070, U+2074-207E, U+2080-208E, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD\",url:\"https://framerusercontent.com/assets/yDtI2UI8XcEg1W2je9XPN3Noo.woff2\",weight:\"600\"},{cssFamilyName:\"Inter\",source:\"framer\",style:\"normal\",uiFamilyName:\"Inter\",unicodeRange:\"U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+1EA0-1EF9, U+20AB\",url:\"https://framerusercontent.com/assets/A0Wcc7NgXMjUuFdquHDrIZpzZw0.woff2\",weight:\"600\"},{cssFamilyName:\"Inter\",source:\"framer\",style:\"normal\",uiFamilyName:\"Inter\",unicodeRange:\"U+0460-052F, U+1C80-1C88, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F\",url:\"https://framerusercontent.com/assets/5A3Ce6C9YYmCjpQx9M4inSaKU.woff2\",weight:\"500\"},{cssFamilyName:\"Inter\",source:\"framer\",style:\"normal\",uiFamilyName:\"Inter\",unicodeRange:\"U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116\",url:\"https://framerusercontent.com/assets/Qx95Xyt0Ka3SGhinnbXIGpEIyP4.woff2\",weight:\"500\"},{cssFamilyName:\"Inter\",source:\"framer\",style:\"normal\",uiFamilyName:\"Inter\",unicodeRange:\"U+1F00-1FFF\",url:\"https://framerusercontent.com/assets/6mJuEAguuIuMog10gGvH5d3cl8.woff2\",weight:\"500\"},{cssFamilyName:\"Inter\",source:\"framer\",style:\"normal\",uiFamilyName:\"Inter\",unicodeRange:\"U+0370-03FF\",url:\"https://framerusercontent.com/assets/xYYWaj7wCU5zSQH0eXvSaS19wo.woff2\",weight:\"500\"},{cssFamilyName:\"Inter\",source:\"framer\",style:\"normal\",uiFamilyName:\"Inter\",unicodeRange:\"U+0100-024F, U+0259, U+1E00-1EFF, U+2020, U+20A0-20AB, U+20AD-20CF, U+2113, U+2C60-2C7F, U+A720-A7FF\",url:\"https://framerusercontent.com/assets/otTaNuNpVK4RbdlT7zDDdKvQBA.woff2\",weight:\"500\"},{cssFamilyName:\"Inter\",source:\"framer\",style:\"normal\",uiFamilyName:\"Inter\",unicodeRange:\"U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2070, U+2074-207E, U+2080-208E, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD\",url:\"https://framerusercontent.com/assets/UjlFhCnUjxhNfep4oYBPqnEssyo.woff2\",weight:\"500\"},{cssFamilyName:\"Inter\",source:\"framer\",style:\"normal\",uiFamilyName:\"Inter\",unicodeRange:\"U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+1EA0-1EF9, U+20AB\",url:\"https://framerusercontent.com/assets/DolVirEGb34pEXEp8t8FQBSK4.woff2\",weight:\"500\"}]},...Butter_ProductMediaVariantActiveFonts,...CloseFonts,...Butter_ShoppableVideoTapFonts,...Butter_ProductVariantSelectorFonts,...FCPurchaseButtonFonts,...ItemModalAccordionItemFonts,...getFontsFromSharedStyle(sharedStyle.fonts)],{supportsExplicitInterCodegen:true});FramerWY1RXYlZX.loader={load:(props,context)=>{const locale=context.locale;return Promise.allSettled([forwardLoader(Close,{},context),forwardLoader(FCPurchaseButton,{},context),forwardLoader(ItemModalAccordionItem,{},context)]);}};\nexport const __FramerMetadata__ = {\"exports\":{\"Props\":{\"type\":\"tsType\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"default\":{\"type\":\"reactComponent\",\"name\":\"FramerWY1RXYlZX\",\"slots\":[],\"annotations\":{\"framerCanvasComponentVariantDetails\":\"{\\\"propertyName\\\":\\\"variant\\\",\\\"data\\\":{\\\"default\\\":{\\\"layout\\\":[\\\"fixed\\\",\\\"auto\\\"],\\\"constraints\\\":[null,\\\"500px\\\",null,null]},\\\"C2QwiBgDY\\\":{\\\"layout\\\":[\\\"fixed\\\",\\\"auto\\\"],\\\"constraints\\\":[null,\\\"500px\\\",null,null]}}}\",\"framerColorSyntax\":\"true\",\"framerAutoSizeImages\":\"true\",\"framerVariables\":\"{\\\"UKtoGwqAl\\\":\\\"title\\\",\\\"P5H8drhrX\\\":\\\"price\\\",\\\"Xe1hQJ4Yz\\\":\\\"description\\\",\\\"v2juIQyoc\\\":\\\"fCData\\\",\\\"VZyc5E5ia\\\":\\\"image1\\\",\\\"vZrrWmU5a\\\":\\\"image2\\\",\\\"EkuCLfAlE\\\":\\\"image3\\\",\\\"Kh_81khNe\\\":\\\"closePlay\\\"}\",\"framerComponentViewportWidth\":\"true\",\"framerTrackingIds\":\"[{\\\"id\\\":\\\"_2hym62\\\",\\\"trackingId\\\":\\\"butter-variant-selector\\\"}]\",\"framerImmutableVariables\":\"true\",\"framerIntrinsicHeight\":\"414.5\",\"framerDisplayContentsDiv\":\"false\",\"framerIntrinsicWidth\":\"500\",\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}","/*\n * Framer Commerce — Butter_ShoppableVideo\n * Shoppable video player with a custom follow-cursor and tracked item areas.\n *\n * Writes videoCurrentTime / videoIsPlaying / videoDuration to the shared\n * useLocalState Zustand store so Butter_ShoppableVideoGrid can react.\n *\n * Interaction:\n *  - A connected ComponentInstance follows the pointer over the whole video.\n *  - It swaps to Cursor (hover) over an item area, Cursor (paused) when paused.\n *  - Clicking anywhere toggles play/pause.\n *  - While paused, the hovered item's product card appears beside the cursor.\n *\n * Property controls (set in Framer canvas):\n *  - videoFile / videoSrc — uploaded video (wins) or URL\n *  - cursorDefault/Hover/Paused — follow-cursor ComponentInstances\n *  - item1 / item2   — product cards for the two tracked items\n *  - hotspotData     — JSON string: VideoHotspotFrame[] (pre-baked from SAM 2)\n *\n * @framerSupportedLayoutWidth any\n * @framerSupportedLayoutHeight any\n */import{jsx as _jsx,jsxs as _jsxs,Fragment as _Fragment}from\"react/jsx-runtime\";import React,{useCallback,useEffect,useRef,useState}from\"react\";import{addPropertyControls,ControlType,RenderTarget}from\"framer\";import{useLocalState}from\"https://framerusercontent.com/modules/xYDZCCqEBzGd7zfHzUX5/cLuhs5H2O0tFIwBfaQKt/useLocalState.js\";// ============================================================================\n// HELPERS\n// ============================================================================\nfunction parseHotspotData(raw){try{const parsed=JSON.parse(raw);if(Array.isArray(parsed))return parsed;}catch{// ignore\n}return[];}/** Group keyframes by product, keeping the full outline for hover hit-testing. */function buildTracks(frames){const byProduct=new Map;for(const f of frames){if(!f.outline?.length)continue;let track=byProduct.get(f.productId);if(!track){track={productId:f.productId,label:f.label,keyframes:[]};byProduct.set(f.productId,track);}if(f.label&&!track.label)track.label=f.label;track.keyframes.push({time:f.time,outline:f.outline});}for(const t of byProduct.values()){t.keyframes.sort((a,b)=>a.time-b.time);}return[...byProduct.values()];}/**\n * Interpolated mapped area at time `t`. Outlines with matching point counts are\n * lerped point-by-point so the area glides smoothly between sparse keyframes;\n * mismatched counts fall back to the nearest-prior keyframe.\n * `visible` is false outside the track's time range (with a small tail).\n */function sampleOutline(track,t){const kfs=track.keyframes;if(!kfs.length)return{outline:[],visible:false};const first=kfs[0];const last=kfs[kfs.length-1];const visible=t>=first.time-.05&&t<=last.time+.25;if(t<=first.time)return{outline:first.outline,visible};if(t>=last.time)return{outline:last.outline,visible};for(let i=0;i<kfs.length-1;i++){const a=kfs[i];const b=kfs[i+1];if(t>=a.time&&t<=b.time){if(a.outline.length!==b.outline.length)return{outline:a.outline,visible};const span=b.time-a.time||1;const f=(t-a.time)/span;const outline=a.outline.map((pa,idx)=>{const pb=b.outline[idx];return{x:pa.x+(pb.x-pa.x)*f,y:pa.y+(pb.y-pa.y)*f};});return{outline,visible};}}return{outline:last.outline,visible};}/** Ray-casting point-in-polygon test. Point and polygon are in the same space. */function pointInPolygon(px,py,poly){let inside=false;for(let i=0,j=poly.length-1;i<poly.length;j=i++){const xi=poly[i].x;const yi=poly[i].y;const xj=poly[j].x;const yj=poly[j].y;const intersect=yi>py!==yj>py&&px<(xj-xi)*(py-yi)/(yj-yi||1e-9)+xi;if(intersect)inside=!inside;}return inside;}/** Framer ComponentInstance props can arrive as a node or a single-item array. */function instance(x){if(Array.isArray(x))return x[0]??null;return x??null;}/** Fallback follow-cursor when no Cursor (default) component is connected. */function DefaultCursorDot(){return /*#__PURE__*/_jsx(\"div\",{style:{width:22,height:22,borderRadius:\"50%\",background:\"rgba(255,255,255,0.92)\",boxShadow:\"0 0 0 1.5px rgba(0,0,0,0.35), 0 2px 8px rgba(0,0,0,0.35)\"}});}export default function Butter_ShoppableVideo({videoFile=\"\",videoSrc=\"\",posterImage=\"\",posterSrc,autoPlay=true,loop=true,hotspotData=\"\",updateIntervalMs=50,lockAspectRatio=true,cursorDefault,cursorHover1,cursorHover2,cursorPaused,item1,item2,onTapItem1,onTapItem2}){const isCanvas=RenderTarget.current()===RenderTarget.canvas;// Uploaded file/image wins over a pasted URL.\nconst resolvedSrc=videoFile||videoSrc;const resolvedPoster=posterImage||posterSrc||\"\";const videoRef=useRef(null);const lastWriteRef=useRef(0);// Zustand writers\nconst setVideoCurrentTime=useLocalState(s=>s.setVideoCurrentTime);const setVideoIsPlaying=useLocalState(s=>s.setVideoIsPlaying);const setVideoDuration=useLocalState(s=>s.setVideoDuration);// External tap triggers increment this to request playback.\nconst videoPlayIntent=useLocalState(s=>s.videoPlayIntent);// Paused state drives which follow-cursor shows + the beside-cursor item card.\nconst[paused,setPaused]=useState(!autoPlay);// Index of the item area currently under the pointer (-1 = none).\nconst[hoverIndex,setHoverIndex]=useState(-1);// Source aspect ratio (width / height), auto-measured from the video so the\n// player matches the native frame. Hotspot outlines are normalised to the\n// source frame, so locking the aspect ratio keeps them aligned (objectFit\n// cover then crops nothing).\nconst[videoAspect,setVideoAspect]=useState(null);const hotspots=React.useMemo(()=>parseHotspotData(hotspotData),[hotspotData]);const containerRef=useRef(null);// ---- video event wiring ----\nconst handleTimeUpdate=useCallback(()=>{const video=videoRef.current;if(!video)return;const now=performance.now();if(now-lastWriteRef.current>=updateIntervalMs){lastWriteRef.current=now;setVideoCurrentTime(video.currentTime);}},[setVideoCurrentTime,updateIntervalMs]);const handleDurationChange=useCallback(()=>{setVideoDuration(videoRef.current?.duration??0);},[setVideoDuration]);const handleLoadedMetadata=useCallback(()=>{const v=videoRef.current;if(v&&v.videoWidth&&v.videoHeight){setVideoAspect(v.videoWidth/v.videoHeight);}},[]);const handlePlay=useCallback(()=>{setVideoIsPlaying(true);setPaused(false);},[setVideoIsPlaying]);const handlePause=useCallback(()=>{setVideoIsPlaying(false);setPaused(true);},[setVideoIsPlaying]);// auto-play: trigger on mount AND whenever the src loads (canplay event)\nuseEffect(()=>{if(isCanvas||!videoRef.current)return;const video=videoRef.current;const tryPlay=()=>{if(autoPlay)video.play().catch(()=>{});};tryPlay();video.addEventListener(\"canplay\",tryPlay);return()=>video.removeEventListener(\"canplay\",tryPlay);},[autoPlay,isCanvas,resolvedSrc]);// Play when an external tap trigger increments videoPlayIntent.\n// (Skip the initial 0 so it doesn't fight autoPlay/loop on mount.)\nuseEffect(()=>{if(isCanvas||videoPlayIntent===0)return;videoRef.current?.play().catch(()=>{});},[videoPlayIntent,isCanvas]);// ---- hotspot tracks (mapped areas over time, for hover hit-testing) ----\nconst tracks=React.useMemo(()=>buildTracks(hotspots),[hotspots]);// The follow-cursor layer element, moved by the rAF loop.\nconst cursorLayerRef=useRef(null);// Pointer position: normalised (for hit-testing) + px (for cursor placement).\nconst mouseRef=useRef(null);const mousePxRef=useRef(null);// Last hover index pushed to React state, so we only setState on change.\nconst hoverIndexRef=useRef(-1);const handlePointerMove=useCallback(e=>{const rect=containerRef.current?.getBoundingClientRect();if(!rect||rect.width===0||rect.height===0)return;mouseRef.current={x:(e.clientX-rect.left)/rect.width,y:(e.clientY-rect.top)/rect.height};mousePxRef.current={x:e.clientX-rect.left,y:e.clientY-rect.top};},[]);const handlePointerLeave=useCallback(()=>{mouseRef.current=null;mousePxRef.current=null;if(hoverIndexRef.current!==-1){hoverIndexRef.current=-1;setHoverIndex(-1);}},[]);// rAF loop: position the follow-cursor at the pointer, and hit-test the\n// pointer against each item's interpolated mapped area to drive hover state.\n// Runs per-frame because the areas keep moving with the video — a static\n// pointer can fall in/out of an area as the item slides under it.\nuseEffect(()=>{if(isCanvas)return;let raf=0;const tick=()=>{const v=videoRef.current;const t=v?v.currentTime:0;const mouse=mouseRef.current;const px=mousePxRef.current;// Move + show/hide the follow-cursor.\nconst layer=cursorLayerRef.current;if(layer){if(px){layer.style.transform=`translate(${px.x}px, ${px.y}px)`;layer.style.opacity=\"1\";}else{layer.style.opacity=\"0\";}}// Which item area is under the pointer?\nlet idx=-1;if(mouse){for(let i=0;i<tracks.length;i++){const s=sampleOutline(tracks[i],t);if(s.visible&&pointInPolygon(mouse.x,mouse.y,s.outline)){idx=i;break;}}}if(idx!==hoverIndexRef.current){hoverIndexRef.current=idx;setHoverIndex(idx);}raf=requestAnimationFrame(tick);};raf=requestAnimationFrame(tick);return()=>cancelAnimationFrame(raf);},[tracks,isCanvas]);// Hit-test the pointer against the item areas at the given client coords.\nconst hitTestAt=useCallback((clientX,clientY)=>{const rect=containerRef.current?.getBoundingClientRect();if(!rect||rect.width===0||rect.height===0)return-1;const x=(clientX-rect.left)/rect.width;const y=(clientY-rect.top)/rect.height;const t=videoRef.current?.currentTime??0;for(let i=0;i<tracks.length;i++){const s=sampleOutline(tracks[i],t);if(s.visible&&pointInPolygon(x,y,s.outline))return i;}return-1;},[tracks]);// Use pointerdown (not click) — in a follow-cursor UI the pointer is often\n// moving during the press, which suppresses the synthetic `click` event.\nconst handlePointerDown=useCallback(e=>{const v=videoRef.current;// Re-hit-test at the actual press coords; fall back to the live ref.\nconst fromEvent=hitTestAt(e.clientX,e.clientY);const idx=fromEvent>=0?fromEvent:hoverIndexRef.current;// Clicking an item fires its tap event and pauses if playing, but\n// never resumes — so a tap while paused stays paused.\nif(idx===0||idx===1){if(idx===0)onTapItem1?.();else onTapItem2?.();if(v&&!v.paused)v.pause();return;}// Clicking empty space toggles play/pause.\nif(!v)return;if(v.paused)v.play().catch(()=>{});else v.pause();},[hitTestAt,onTapItem1,onTapItem2]);// ---- derive the active follow-cursor + the beside-cursor item card ----\nconst items=[item1,item2];const hoverCursors=[cursorHover1,cursorHover2];const hoverCursor=hoverIndex>=0?instance(hoverCursors[hoverIndex]):null;// Hovering an item always wins (even when paused); otherwise paused, then default.\nconst activeCursor=hoverIndex>=0?hoverCursor??instance(cursorDefault):paused?instance(cursorPaused)??instance(cursorDefault):instance(cursorDefault);const cursorNode=activeCursor??/*#__PURE__*/_jsx(DefaultCursorDot,{});// Show the hovered item's card next to the cursor (hover or paused).\nconst besideCard=hoverIndex>=0?instance(items[hoverIndex]):null;// ---- canvas placeholder: show the poster image if one is set ----\nif(isCanvas){return /*#__PURE__*/_jsx(\"div\",{style:{position:\"relative\",width:\"100%\",height:\"100%\",background:\"#111\",display:\"flex\",alignItems:\"center\",justifyContent:\"center\",color:\"#fff\",fontSize:14,fontFamily:\"sans-serif\",borderRadius:8,gap:8,overflow:\"hidden\"},children:resolvedPoster?/*#__PURE__*/_jsx(\"img\",{src:resolvedPoster,alt:\"\",style:{width:\"100%\",height:\"100%\",objectFit:lockAspectRatio?\"contain\":\"cover\",display:\"block\"}}):/*#__PURE__*/_jsxs(_Fragment,{children:[/*#__PURE__*/_jsx(\"span\",{style:{opacity:.5},children:\"▶\"}),/*#__PURE__*/_jsx(\"span\",{children:\"Shoppable Video\"}),resolvedSrc&&/*#__PURE__*/_jsx(\"span\",{style:{opacity:.4,fontSize:11},children:resolvedSrc.split(\"/\").pop()})]})});}return /*#__PURE__*/_jsxs(\"div\",{ref:containerRef,onPointerMove:handlePointerMove,onPointerLeave:handlePointerLeave,onPointerDown:handlePointerDown,style:{position:\"relative\",overflow:\"hidden\",cursor:\"none\",// When locked, match the source aspect ratio (centered in the\n// Framer frame) so normalised hotspot coords align 1:1.\n...lockAspectRatio&&videoAspect?{width:\"100%\",height:\"100%\",aspectRatio:String(videoAspect),maxWidth:\"100%\",maxHeight:\"100%\",margin:\"auto\"}:{width:\"100%\",height:\"100%\"}},children:[/*#__PURE__*/_jsx(\"video\",{ref:videoRef,src:resolvedSrc||undefined,poster:resolvedPoster||undefined,loop:loop,muted:true,playsInline:true,onTimeUpdate:handleTimeUpdate,onDurationChange:handleDurationChange,onLoadedMetadata:handleLoadedMetadata,onPlay:handlePlay,onPause:handlePause,style:{width:\"100%\",height:\"100%\",objectFit:lockAspectRatio?\"contain\":\"cover\",display:\"block\"}}),/*#__PURE__*/_jsxs(\"div\",{ref:cursorLayerRef,style:{position:\"absolute\",top:0,left:0,pointerEvents:\"none\",willChange:\"transform\",zIndex:10,opacity:0},children:[/*#__PURE__*/_jsx(\"div\",{style:{position:\"absolute\",transform:\"translate(-50%, -50%)\",display:\"flex\",alignItems:\"center\"},children:cursorNode}),besideCard&&/*#__PURE__*/_jsx(\"div\",{style:{position:\"absolute\",left:28,top:\"-50%\",transform:\"translateY(-50%)\"},children:besideCard})]})]});}addPropertyControls(Butter_ShoppableVideo,{videoFile:{type:ControlType.File,title:\"Video File\",allowedFileTypes:[\"mp4\",\"webm\",\"mov\",\"m4v\",\"ogg\"],description:\"Upload a video. Takes precedence over the URL below.\"},videoSrc:{type:ControlType.String,title:\"Video URL\",placeholder:\"https://…/campaign.mp4\"},posterImage:{type:ControlType.Image,title:\"Poster\",description:\"Shown on the canvas and before the video plays. Wins over the URL below.\"},posterSrc:{type:ControlType.String,title:\"Poster URL\",placeholder:\"https://…/poster.jpg\"},autoPlay:{type:ControlType.Boolean,title:\"Auto Play\",defaultValue:true},loop:{type:ControlType.Boolean,title:\"Loop\",defaultValue:true},lockAspectRatio:{type:ControlType.Boolean,title:\"Lock Aspect\",defaultValue:true,description:\"Match the source video's aspect ratio so hotspot outlines stay aligned. Leave on when using SAM 2 hotspots.\"},cursorDefault:{type:ControlType.ComponentInstance,title:\"Cursor (default)\"},cursorHover1:{type:ControlType.ComponentInstance,title:\"Cursor (hover 1)\"},cursorHover2:{type:ControlType.ComponentInstance,title:\"Cursor (hover 2)\"},cursorPaused:{type:ControlType.ComponentInstance,title:\"Cursor (paused)\"},item1:{type:ControlType.ComponentInstance,title:\"Item 1\"},item2:{type:ControlType.ComponentInstance,title:\"Item 2\"},onTapItem1:{type:ControlType.EventHandler,title:\"Tap Item 1\"},onTapItem2:{type:ControlType.EventHandler,title:\"Tap Item 2\"},hotspotData:{type:ControlType.String,title:\"Hotspot JSON\",displayTextArea:true,placeholder:'[{\"time\":0,\"productId\":\"shirt-001\",\"outline\":[{\"x\":0.2,\"y\":0.1},…]}]',description:\"Pre-baked from Grounded SAM 2. Paste the exported JSON array of VideoHotspotFrame objects.\"},updateIntervalMs:{type:ControlType.Number,title:\"Update Interval\",defaultValue:50,min:16,max:500,step:1,unit:\"ms\",description:\"How often to push the current time to the catalog filter.\"}});\nexport const __FramerMetadata__ = {\"exports\":{\"HotspotPoint\":{\"type\":\"tsType\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"default\":{\"type\":\"reactComponent\",\"name\":\"Butter_ShoppableVideo\",\"slots\":[],\"annotations\":{\"framerContractVersion\":\"1\"}},\"VideoHotspotFrame\":{\"type\":\"tsType\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./Butter_ShoppableVideo.map","// Generated by Framer (b44fae2)\nexport default function metadata(params,activeLocale){return{description:\"Entry for Framer Hackathon | Built with Framer Commerce\",favicon:\"https://framerusercontent.com/assets/Ia7BqRwRLPVuP62SHy602Ke6g.png\",robots:\"max-image-preview:large\",socialImage:\"https://framerusercontent.com/assets/Orqn9YBMQ5YuAF7ZNflKDPJbJTw.jpg\",title:\"Shoppable Video\"};}export const metadataVersion=1;\nexport const __FramerMetadata__ = {\"exports\":{\"default\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"metadataVersion\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}","// Generated by Framer (b44fae2)\nimport siteMetadata from\"#framer/local/siteMetadata/siteMetadata/siteMetadata.js\";export default function metadata(params,activeLocale){return{breakpoints:[{hash:\"1c5c2ey\"}],description:siteMetadata(params,activeLocale).description,elements:{},robots:\"max-image-preview:large\",serializationId:\"framer-J1e8P\",title:siteMetadata(params,activeLocale).title||\"Home\",viewport:\"width=1200\"};}export const metadataVersion=1;\nexport const __FramerMetadata__ = {\"exports\":{\"default\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"metadataVersion\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}","// Generated by Framer (b44fae2)\nimport{jsx as _jsx,jsxs as _jsxs,Fragment as _Fragment}from\"react/jsx-runtime\";import{addFonts,ComponentViewportProvider,Container,cx,forwardLoader,GeneratedComponentContext,getFonts,getFontsFromSharedStyle,InjectSelectionStyle,Link,ResetOuterLinkContext,RichText,useActiveVariantCallback,useComponentViewport,useCustomCursors,useHydratedBreakpointVariants,useIsOnFramerCanvas,useLocaleInfo,useMetadata,useOverlayState,withCSS}from\"framer\";import{AnimatePresence,LayoutGroup,motion,MotionConfigContext}from\"framer-motion\";import*as React from\"react\";import{useRef}from\"react\";import*as ReactDOM from\"react-dom\";import Cursor from\"#framer/local/canvasComponent/dLzfFO0pa/dLzfFO0pa.js\";import ItemModal from\"#framer/local/canvasComponent/WY1RXYlZX/WY1RXYlZX.js\";import Butter_ShoppableVideo from\"#framer/local/codeFile/TCYgEaF/Butter_ShoppableVideo.js\";import Butter_ShoppableVideoTap from\"#framer/local/codeFile/zk5kEKx/Butter_ShoppableVideoTap.js\";import*as sharedStyle from\"#framer/local/css/VPSAKxccK/VPSAKxccK.js\";import metadataProvider from\"#framer/local/webPageMetadata/rQGvODKHR/rQGvODKHR.js\";const CursorFonts=getFonts(Cursor);const Butter_ShoppableVideoFonts=getFonts(Butter_ShoppableVideo);const Butter_ShoppableVideoTapFonts=getFonts(Butter_ShoppableVideoTap);const ItemModalFonts=getFonts(ItemModal);const breakpoints={};const isBrowser=()=>typeof document!==\"undefined\";export const queryParamNames=[];const serializationHash=\"framer-J1e8P\";const variantClassNames={iHCFoR0AR:\"framer-v-1c5c2ey\"};const getRootLayoutProp=(hasLayoutTemplate,hasInheritedFlowEffect,fallback)=>{if(!hasLayoutTemplate)return fallback;return hasInheritedFlowEffect?\"position\":fallback;};const matchVariant=(...args)=>{for(const arg of args){if(arg&&typeof arg===\"string\")return arg;}return undefined;};const transition1={delay:0,duration:.8,ease:[.8,0,.24,1],type:\"tween\"};const animation={opacity:0,rotate:0,rotateX:0,rotateY:0,scale:1,skewX:0,skewY:0,transition:transition1,x:0,y:480};const animation1={opacity:1,rotate:0,rotateX:0,rotateY:0,scale:1,skewX:0,skewY:0,transition:transition1,x:0,y:0};const animation2={opacity:0,rotate:0,rotateX:0,rotateY:0,scale:1,skewX:0,skewY:0,x:0,y:480};const addImageAlt=(image,alt)=>{if(!image||typeof image!==\"object\"){return;}return{...image,alt};};const getContainer=()=>{return document.querySelector(\"#template-overlay\")??document.querySelector(\"#overlay\")??document.body;};const Overlay=({children,blockDocumentScrolling,dismissWithEsc,enabled=true})=>{const[visible,setVisible]=useOverlayState({blockDocumentScrolling,dismissWithEsc:enabled&&dismissWithEsc});return children({hide:()=>setVisible(false),show:()=>setVisible(true),toggle:()=>setVisible(!visible),visible:enabled&&visible});};const HTMLStyle=({value})=>{const onCanvas=useIsOnFramerCanvas();if(onCanvas)return null;return /*#__PURE__*/_jsx(\"style\",{dangerouslySetInnerHTML:{__html:value},\"data-framer-html-style\":\"\"});};const getProps=({height,id,width,...props})=>{return{...props};};const Component=/*#__PURE__*/React.forwardRef(function(props,ref){const fallbackRef=useRef(null);const refBinding=ref??fallbackRef;const defaultLayoutId=React.useId();const{activeLocale,setLocale}=useLocaleInfo();const componentViewport=useComponentViewport();const{style,className,layoutId,variant,...restProps}=getProps(props);const metadata=React.useMemo(()=>metadataProvider({},activeLocale),[activeLocale]);useMetadata(metadata);const[baseVariant,hydratedBaseVariant]=useHydratedBreakpointVariants(variant,breakpoints,false);const gestureVariant=undefined;const{activeVariantCallback,delay}=useActiveVariantCallback(undefined);const onTapItem1ko9la1=({overlay})=>activeVariantCallback(async(...args)=>{overlay.toggle();});const onTapItem2ko9la1=({overlay})=>activeVariantCallback(async(...args)=>{overlay.toggle();});const onTap1q29jei=({overlay})=>activeVariantCallback(async(...args)=>{overlay.hide();});const Kh_81khNe1q29jei=({overlay})=>activeVariantCallback(async(...args)=>{overlay.hide();});const sharedStyleClassNames=[sharedStyle.className];const scopingClassNames=cx(serializationHash,...sharedStyleClassNames);const hasLayoutTemplate=React.useContext(GeneratedComponentContext)?.isLayoutTemplate;const hasInheritedFlowEffect=Boolean(React.useContext(MotionConfigContext)?.transition?.layout);const motionLayout=getRootLayoutProp(hasLayoutTemplate,hasInheritedFlowEffect);useCustomCursors({});return /*#__PURE__*/_jsx(GeneratedComponentContext.Provider,{value:{activeVariantId:baseVariant,primaryVariantId:\"iHCFoR0AR\",variantClassNames},children:/*#__PURE__*/_jsxs(LayoutGroup,{id:layoutId??defaultLayoutId,children:[/*#__PURE__*/_jsx(HTMLStyle,{value:\"html body { background: rgb(0, 0, 0); }\"}),/*#__PURE__*/_jsx(motion.div,{...restProps,className:cx(scopingClassNames,\"framer-1c5c2ey\",className),ref:refBinding,style:{...style},children:/*#__PURE__*/_jsxs(motion.div,{className:\"framer-8ox0hl\",\"data-framer-name\":\"Container\",layout:motionLayout,children:[/*#__PURE__*/_jsxs(\"div\",{className:\"framer-vrsjki\",\"data-framer-name\":\"Video\",children:[/*#__PURE__*/_jsx(Overlay,{dismissWithEsc:true,children:overlay1=>/*#__PURE__*/_jsx(Overlay,{dismissWithEsc:true,children:overlay=>/*#__PURE__*/_jsx(_Fragment,{children:/*#__PURE__*/_jsx(ComponentViewportProvider,{children:/*#__PURE__*/_jsxs(Container,{className:\"framer-tfu0ie-container\",\"data-code-component-plugin-id\":\"api\",id:\"tfu0ie\",isAuthoredByUser:true,nodeId:\"ERy8rGwqU\",scopeId:\"rQGvODKHR\",children:[/*#__PURE__*/_jsx(Butter_ShoppableVideo,{autoPlay:true,cursorDefault:[/*#__PURE__*/_jsx(ComponentViewportProvider,{height:32,width:\"32px\",children:/*#__PURE__*/_jsx(Container,{className:\"framer-13l5khj-container\",inComponentSlot:true,nodeId:\"TfYf6IXBY\",rendersWithMotion:true,scopeId:\"rQGvODKHR\",children:/*#__PURE__*/_jsx(Cursor,{height:\"100%\",id:\"TfYf6IXBY\",layoutId:\"TfYf6IXBY\",variant:matchVariant(\"uW3NzJkOp\"),width:\"100%\"})})})],cursorHover1:[/*#__PURE__*/_jsx(ComponentViewportProvider,{height:32,width:\"141px\",children:/*#__PURE__*/_jsx(Container,{className:\"framer-q3nypn-container\",\"data-framer-name\":\"Cap\",inComponentSlot:true,name:\"Cap\",nodeId:\"v85BCuvVB\",rendersWithMotion:true,scopeId:\"rQGvODKHR\",children:/*#__PURE__*/_jsx(Cursor,{height:\"100%\",id:\"v85BCuvVB\",layoutId:\"v85BCuvVB\",name:\"Cap\",variant:matchVariant(\"KsXLVbyoF\"),width:\"100%\"})})})],cursorHover2:[/*#__PURE__*/_jsx(ComponentViewportProvider,{height:32,children:/*#__PURE__*/_jsx(Container,{className:\"framer-xlnf4x-container\",\"data-framer-name\":\"Tee\",inComponentSlot:true,name:\"Tee\",nodeId:\"wRPiB6aVH\",rendersWithMotion:true,scopeId:\"rQGvODKHR\",children:/*#__PURE__*/_jsx(Cursor,{height:\"100%\",id:\"wRPiB6aVH\",layoutId:\"wRPiB6aVH\",name:\"Tee\",variant:matchVariant(\"ceUkNAG7z\"),width:\"100%\"})})})],cursorPaused:[/*#__PURE__*/_jsx(ComponentViewportProvider,{height:32,width:\"32px\",children:/*#__PURE__*/_jsx(Container,{className:\"framer-1fr4p1k-container\",\"data-framer-name\":\"Play\",inComponentSlot:true,name:\"Play\",nodeId:\"isoIvgCTP\",rendersWithMotion:true,scopeId:\"rQGvODKHR\",children:/*#__PURE__*/_jsx(Cursor,{height:\"100%\",id:\"isoIvgCTP\",layoutId:\"isoIvgCTP\",name:\"Play\",variant:matchVariant(\"YGIVWm5jX\"),width:\"100%\"})})})],height:\"100%\",hotspotData:'[\\n  {\\n    \"time\": 0.0,\\n    \"productId\": \"1234567890\",\\n    \"outline\": [\\n      {\\n        \"x\": 0.45,\\n        \"y\": 0.078\\n      },\\n      {\\n        \"x\": 0.5032,\\n        \"y\": 0.03\\n      },\\n      {\\n        \"x\": 0.5868,\\n        \"y\": 0.03\\n      },\\n      {\\n        \"x\": 0.64,\\n        \"y\": 0.078\\n      },\\n      {\\n        \"x\": 0.64,\\n        \"y\": 0.142\\n      },\\n      {\\n        \"x\": 0.6081,\\n        \"y\": 0.19\\n      },\\n      {\\n        \"x\": 0.4819,\\n        \"y\": 0.19\\n      },\\n      {\\n        \"x\": 0.45,\\n        \"y\": 0.142\\n      }\\n    ],\\n    \"label\": \"Hat\"\\n  },\\n  {\\n    \"time\": 0.0,\\n    \"productId\": \"5534567890\",\\n    \"outline\": [\\n      {\\n        \"x\": 0.33,\\n        \"y\": 0.346\\n      },\\n      {\\n        \"x\": 0.429,\\n        \"y\": 0.3\\n      },\\n      {\\n        \"x\": 0.495,\\n        \"y\": 0.3276\\n      },\\n      {\\n        \"x\": 0.561,\\n        \"y\": 0.3\\n      },\\n      {\\n        \"x\": 0.66,\\n        \"y\": 0.346\\n      },\\n      {\\n        \"x\": 0.6468,\\n        \"y\": 0.4472\\n      },\\n      {\\n        \"x\": 0.6501,\\n        \"y\": 0.76\\n      },\\n      {\\n        \"x\": 0.3399,\\n        \"y\": 0.76\\n      },\\n      {\\n        \"x\": 0.3432,\\n        \"y\": 0.4472\\n      }\\n    ],\\n    \"label\": \"Shirt\"\\n  },\\n  {\\n    \"time\": 0.3,\\n    \"productId\": \"1234567890\",\\n    \"outline\": [\\n      {\\n        \"x\": 0.46,\\n        \"y\": 0.088\\n      },\\n      {\\n        \"x\": 0.5048,\\n        \"y\": 0.04\\n      },\\n      {\\n        \"x\": 0.5752,\\n        \"y\": 0.04\\n      },\\n      {\\n        \"x\": 0.62,\\n        \"y\": 0.088\\n      },\\n      {\\n        \"x\": 0.62,\\n        \"y\": 0.152\\n      },\\n      {\\n        \"x\": 0.5931,\\n        \"y\": 0.2\\n      },\\n      {\\n        \"x\": 0.4869,\\n        \"y\": 0.2\\n      },\\n      {\\n        \"x\": 0.46,\\n        \"y\": 0.152\\n      }\\n    ],\\n    \"label\": \"Hat\"\\n  },\\n  {\\n    \"time\": 0.3,\\n    \"productId\": \"5534567890\",\\n    \"outline\": [\\n      {\\n        \"x\": 0.35,\\n        \"y\": 0.353\\n      },\\n      {\\n        \"x\": 0.44,\\n        \"y\": 0.31\\n      },\\n      {\\n        \"x\": 0.5,\\n        \"y\": 0.3358\\n      },\\n      {\\n        \"x\": 0.56,\\n        \"y\": 0.31\\n      },\\n      {\\n        \"x\": 0.65,\\n        \"y\": 0.353\\n      },\\n      {\\n        \"x\": 0.638,\\n        \"y\": 0.4476\\n      },\\n      {\\n        \"x\": 0.641,\\n        \"y\": 0.74\\n      },\\n      {\\n        \"x\": 0.359,\\n        \"y\": 0.74\\n      },\\n      {\\n        \"x\": 0.362,\\n        \"y\": 0.4476\\n      }\\n    ],\\n    \"label\": \"Shirt\"\\n  },\\n  {\\n    \"time\": 0.6,\\n    \"productId\": \"1234567890\",\\n    \"outline\": [\\n      {\\n        \"x\": 0.46,\\n        \"y\": 0.078\\n      },\\n      {\\n        \"x\": 0.5048,\\n        \"y\": 0.03\\n      },\\n      {\\n        \"x\": 0.5752,\\n        \"y\": 0.03\\n      },\\n      {\\n        \"x\": 0.62,\\n        \"y\": 0.078\\n      },\\n      {\\n        \"x\": 0.62,\\n        \"y\": 0.142\\n      },\\n      {\\n        \"x\": 0.5931,\\n        \"y\": 0.19\\n      },\\n      {\\n        \"x\": 0.4869,\\n        \"y\": 0.19\\n      },\\n      {\\n        \"x\": 0.46,\\n        \"y\": 0.142\\n      }\\n    ],\\n    \"label\": \"Hat\"\\n  },\\n  {\\n    \"time\": 0.6,\\n    \"productId\": \"5534567890\",\\n    \"outline\": [\\n      {\\n        \"x\": 0.34,\\n        \"y\": 0.344\\n      },\\n      {\\n        \"x\": 0.433,\\n        \"y\": 0.3\\n      },\\n      {\\n        \"x\": 0.495,\\n        \"y\": 0.3264\\n      },\\n      {\\n        \"x\": 0.557,\\n        \"y\": 0.3\\n      },\\n      {\\n        \"x\": 0.65,\\n        \"y\": 0.344\\n      },\\n      {\\n        \"x\": 0.6376,\\n        \"y\": 0.4408\\n      },\\n      {\\n        \"x\": 0.6407,\\n        \"y\": 0.74\\n      },\\n      {\\n        \"x\": 0.3493,\\n        \"y\": 0.74\\n      },\\n      {\\n        \"x\": 0.3524,\\n        \"y\": 0.4408\\n      }\\n    ],\\n    \"label\": \"Shirt\"\\n  },\\n  {\\n    \"time\": 0.9,\\n    \"productId\": \"1234567890\",\\n    \"outline\": [\\n      {\\n        \"x\": 0.46,\\n        \"y\": 0.068\\n      },\\n      {\\n        \"x\": 0.502,\\n        \"y\": 0.02\\n      },\\n      {\\n        \"x\": 0.568,\\n        \"y\": 0.02\\n      },\\n      {\\n        \"x\": 0.61,\\n        \"y\": 0.068\\n      },\\n      {\\n        \"x\": 0.61,\\n        \"y\": 0.132\\n      },\\n      {\\n        \"x\": 0.5848,\\n        \"y\": 0.18\\n      },\\n      {\\n        \"x\": 0.4852,\\n        \"y\": 0.18\\n      },\\n      {\\n        \"x\": 0.46,\\n        \"y\": 0.132\\n      }\\n    ],\\n    \"label\": \"Hat\"\\n  },\\n  {\\n    \"time\": 0.9,\\n    \"productId\": \"5534567890\",\\n    \"outline\": [\\n      {\\n        \"x\": 0.35,\\n        \"y\": 0.326\\n      },\\n      {\\n        \"x\": 0.44,\\n        \"y\": 0.28\\n      },\\n      {\\n        \"x\": 0.5,\\n        \"y\": 0.3076\\n      },\\n      {\\n        \"x\": 0.56,\\n        \"y\": 0.28\\n      },\\n      {\\n        \"x\": 0.65,\\n        \"y\": 0.326\\n      },\\n      {\\n        \"x\": 0.638,\\n        \"y\": 0.4272\\n      },\\n      {\\n        \"x\": 0.641,\\n        \"y\": 0.74\\n      },\\n      {\\n        \"x\": 0.359,\\n        \"y\": 0.74\\n      },\\n      {\\n        \"x\": 0.362,\\n        \"y\": 0.4272\\n      }\\n    ],\\n    \"label\": \"Shirt\"\\n  },\\n  {\\n    \"time\": 1.2,\\n    \"productId\": \"1234567890\",\\n    \"outline\": [\\n      {\\n        \"x\": 0.45,\\n        \"y\": 0.068\\n      },\\n      {\\n        \"x\": 0.492,\\n        \"y\": 0.02\\n      },\\n      {\\n        \"x\": 0.558,\\n        \"y\": 0.02\\n      },\\n      {\\n        \"x\": 0.6,\\n        \"y\": 0.068\\n      },\\n      {\\n        \"x\": 0.6,\\n        \"y\": 0.132\\n      },\\n      {\\n        \"x\": 0.5748,\\n        \"y\": 0.18\\n      },\\n      {\\n        \"x\": 0.4752,\\n        \"y\": 0.18\\n      },\\n      {\\n        \"x\": 0.45,\\n        \"y\": 0.132\\n      }\\n    ],\\n    \"label\": \"Hat\"\\n  },\\n  {\\n    \"time\": 1.2,\\n    \"productId\": \"5534567890\",\\n    \"outline\": [\\n      {\\n        \"x\": 0.34,\\n        \"y\": 0.326\\n      },\\n      {\\n        \"x\": 0.43,\\n        \"y\": 0.28\\n      },\\n      {\\n        \"x\": 0.49,\\n        \"y\": 0.3076\\n      },\\n      {\\n        \"x\": 0.55,\\n        \"y\": 0.28\\n      },\\n      {\\n        \"x\": 0.64,\\n        \"y\": 0.326\\n      },\\n      {\\n        \"x\": 0.628,\\n        \"y\": 0.4272\\n      },\\n      {\\n        \"x\": 0.631,\\n        \"y\": 0.74\\n      },\\n      {\\n        \"x\": 0.349,\\n        \"y\": 0.74\\n      },\\n      {\\n        \"x\": 0.352,\\n        \"y\": 0.4272\\n      }\\n    ],\\n    \"label\": \"Shirt\"\\n  },\\n  {\\n    \"time\": 1.5,\\n    \"productId\": \"1234567890\",\\n    \"outline\": [\\n      {\\n        \"x\": 0.44,\\n        \"y\": 0.072\\n      },\\n      {\\n        \"x\": 0.482,\\n        \"y\": 0.03\\n      },\\n      {\\n        \"x\": 0.548,\\n        \"y\": 0.03\\n      },\\n      {\\n        \"x\": 0.59,\\n        \"y\": 0.072\\n      },\\n      {\\n        \"x\": 0.59,\\n        \"y\": 0.128\\n      },\\n      {\\n        \"x\": 0.5648,\\n        \"y\": 0.17\\n      },\\n      {\\n        \"x\": 0.4652,\\n        \"y\": 0.17\\n      },\\n      {\\n        \"x\": 0.44,\\n        \"y\": 0.128\\n      }\\n    ],\\n    \"label\": \"Hat\"\\n  },\\n  {\\n    \"time\": 1.5,\\n    \"productId\": \"5534567890\",\\n    \"outline\": [\\n      {\\n        \"x\": 0.34,\\n        \"y\": 0.336\\n      },\\n      {\\n        \"x\": 0.427,\\n        \"y\": 0.29\\n      },\\n      {\\n        \"x\": 0.485,\\n        \"y\": 0.3176\\n      },\\n      {\\n        \"x\": 0.543,\\n        \"y\": 0.29\\n      },\\n      {\\n        \"x\": 0.63,\\n        \"y\": 0.336\\n      },\\n      {\\n        \"x\": 0.6184,\\n        \"y\": 0.4372\\n      },\\n      {\\n        \"x\": 0.6213,\\n        \"y\": 0.75\\n      },\\n      {\\n        \"x\": 0.3487,\\n        \"y\": 0.75\\n      },\\n      {\\n        \"x\": 0.3516,\\n        \"y\": 0.4372\\n      }\\n    ],\\n    \"label\": \"Shirt\"\\n  },\\n  {\\n    \"time\": 1.8,\\n    \"productId\": \"1234567890\",\\n    \"outline\": [\\n      {\\n        \"x\": 0.4,\\n        \"y\": 0.082\\n      },\\n      {\\n        \"x\": 0.442,\\n        \"y\": 0.04\\n      },\\n      {\\n        \"x\": 0.508,\\n        \"y\": 0.04\\n      },\\n      {\\n        \"x\": 0.55,\\n        \"y\": 0.082\\n      },\\n      {\\n        \"x\": 0.55,\\n        \"y\": 0.138\\n      },\\n      {\\n        \"x\": 0.5248,\\n        \"y\": 0.18\\n      },\\n      {\\n        \"x\": 0.4252,\\n        \"y\": 0.18\\n      },\\n      {\\n        \"x\": 0.4,\\n        \"y\": 0.138\\n      }\\n    ],\\n    \"label\": \"Hat\"\\n  },\\n  {\\n    \"time\": 1.8,\\n    \"productId\": \"5534567890\",\\n    \"outline\": [\\n      {\\n        \"x\": 0.31,\\n        \"y\": 0.342\\n      },\\n      {\\n        \"x\": 0.403,\\n        \"y\": 0.3\\n      },\\n      {\\n        \"x\": 0.465,\\n        \"y\": 0.3252\\n      },\\n      {\\n        \"x\": 0.527,\\n        \"y\": 0.3\\n      },\\n      {\\n        \"x\": 0.62,\\n        \"y\": 0.342\\n      },\\n      {\\n        \"x\": 0.6076,\\n        \"y\": 0.4344\\n      },\\n      {\\n        \"x\": 0.6107,\\n        \"y\": 0.72\\n      },\\n      {\\n        \"x\": 0.3193,\\n        \"y\": 0.72\\n      },\\n      {\\n        \"x\": 0.3224,\\n        \"y\": 0.4344\\n      }\\n    ],\\n    \"label\": \"Shirt\"\\n  },\\n  {\\n    \"time\": 2.1,\\n    \"productId\": \"1234567890\",\\n    \"outline\": [\\n      {\\n        \"x\": 0.4,\\n        \"y\": 0.085\\n      },\\n      {\\n        \"x\": 0.4392,\\n        \"y\": 0.04\\n      },\\n      {\\n        \"x\": 0.5008,\\n        \"y\": 0.04\\n      },\\n      {\\n        \"x\": 0.54,\\n        \"y\": 0.085\\n      },\\n      {\\n        \"x\": 0.54,\\n        \"y\": 0.145\\n      },\\n      {\\n        \"x\": 0.5165,\\n        \"y\": 0.19\\n      },\\n      {\\n        \"x\": 0.4235,\\n        \"y\": 0.19\\n      },\\n      {\\n        \"x\": 0.4,\\n        \"y\": 0.145\\n      }\\n    ],\\n    \"label\": \"Hat\"\\n  },\\n  {\\n    \"time\": 2.1,\\n    \"productId\": \"5534567890\",\\n    \"outline\": [\\n      {\\n        \"x\": 0.31,\\n        \"y\": 0.333\\n      },\\n      {\\n        \"x\": 0.403,\\n        \"y\": 0.29\\n      },\\n      {\\n        \"x\": 0.465,\\n        \"y\": 0.3158\\n      },\\n      {\\n        \"x\": 0.527,\\n        \"y\": 0.29\\n      },\\n      {\\n        \"x\": 0.62,\\n        \"y\": 0.333\\n      },\\n      {\\n        \"x\": 0.6076,\\n        \"y\": 0.4276\\n      },\\n      {\\n        \"x\": 0.6107,\\n        \"y\": 0.72\\n      },\\n      {\\n        \"x\": 0.3193,\\n        \"y\": 0.72\\n      },\\n      {\\n        \"x\": 0.3224,\\n        \"y\": 0.4276\\n      }\\n    ],\\n    \"label\": \"Shirt\"\\n  },\\n  {\\n    \"time\": 2.4,\\n    \"productId\": \"1234567890\",\\n    \"outline\": [\\n      {\\n        \"x\": 0.4,\\n        \"y\": 0.095\\n      },\\n      {\\n        \"x\": 0.442,\\n        \"y\": 0.05\\n      },\\n      {\\n        \"x\": 0.508,\\n        \"y\": 0.05\\n      },\\n      {\\n        \"x\": 0.55,\\n        \"y\": 0.095\\n      },\\n      {\\n        \"x\": 0.55,\\n        \"y\": 0.155\\n      },\\n      {\\n        \"x\": 0.5248,\\n        \"y\": 0.2\\n      },\\n      {\\n        \"x\": 0.4252,\\n        \"y\": 0.2\\n      },\\n      {\\n        \"x\": 0.4,\\n        \"y\": 0.155\\n      }\\n    ],\\n    \"label\": \"Hat\"\\n  },\\n  {\\n    \"time\": 2.4,\\n    \"productId\": \"5534567890\",\\n    \"outline\": [\\n      {\\n        \"x\": 0.34,\\n        \"y\": 0.333\\n      },\\n      {\\n        \"x\": 0.427,\\n        \"y\": 0.29\\n      },\\n      {\\n        \"x\": 0.485,\\n        \"y\": 0.3158\\n      },\\n      {\\n        \"x\": 0.543,\\n        \"y\": 0.29\\n      },\\n      {\\n        \"x\": 0.63,\\n        \"y\": 0.333\\n      },\\n      {\\n        \"x\": 0.6184,\\n        \"y\": 0.4276\\n      },\\n      {\\n        \"x\": 0.6213,\\n        \"y\": 0.72\\n      },\\n      {\\n        \"x\": 0.3487,\\n        \"y\": 0.72\\n      },\\n      {\\n        \"x\": 0.3516,\\n        \"y\": 0.4276\\n      }\\n    ],\\n    \"label\": \"Shirt\"\\n  },\\n  {\\n    \"time\": 2.7,\\n    \"productId\": \"1234567890\",\\n    \"outline\": [\\n      {\\n        \"x\": 0.42,\\n        \"y\": 0.098\\n      },\\n      {\\n        \"x\": 0.4564,\\n        \"y\": 0.05\\n      },\\n      {\\n        \"x\": 0.5136,\\n        \"y\": 0.05\\n      },\\n      {\\n        \"x\": 0.55,\\n        \"y\": 0.098\\n      },\\n      {\\n        \"x\": 0.55,\\n        \"y\": 0.162\\n      },\\n      {\\n        \"x\": 0.5282,\\n        \"y\": 0.21\\n      },\\n      {\\n        \"x\": 0.4418,\\n        \"y\": 0.21\\n      },\\n      {\\n        \"x\": 0.42,\\n        \"y\": 0.162\\n      }\\n    ],\\n    \"label\": \"Hat\"\\n  },\\n  {\\n    \"time\": 2.7,\\n    \"productId\": \"5534567890\",\\n    \"outline\": [\\n      {\\n        \"x\": 0.36,\\n        \"y\": 0.313\\n      },\\n      {\\n        \"x\": 0.444,\\n        \"y\": 0.27\\n      },\\n      {\\n        \"x\": 0.5,\\n        \"y\": 0.2958\\n      },\\n      {\\n        \"x\": 0.556,\\n        \"y\": 0.27\\n      },\\n      {\\n        \"x\": 0.64,\\n        \"y\": 0.313\\n      },\\n      {\\n        \"x\": 0.6288,\\n        \"y\": 0.4076\\n      },\\n      {\\n        \"x\": 0.6316,\\n        \"y\": 0.7\\n      },\\n      {\\n        \"x\": 0.3684,\\n        \"y\": 0.7\\n      },\\n      {\\n        \"x\": 0.3712,\\n        \"y\": 0.4076\\n      }\\n    ],\\n    \"label\": \"Shirt\"\\n  },\\n  {\\n    \"time\": 3.0,\\n    \"productId\": \"1234567890\",\\n    \"outline\": [\\n      {\\n        \"x\": 0.44,\\n        \"y\": 0.115\\n      },\\n      {\\n        \"x\": 0.4764,\\n        \"y\": 0.07\\n      },\\n      {\\n        \"x\": 0.5336,\\n        \"y\": 0.07\\n      },\\n      {\\n        \"x\": 0.57,\\n        \"y\": 0.115\\n      },\\n      {\\n        \"x\": 0.57,\\n        \"y\": 0.175\\n      },\\n      {\\n        \"x\": 0.5482,\\n        \"y\": 0.22\\n      },\\n      {\\n        \"x\": 0.4618,\\n        \"y\": 0.22\\n      },\\n      {\\n        \"x\": 0.44,\\n        \"y\": 0.175\\n      }\\n    ],\\n    \"label\": \"Hat\"\\n  },\\n  {\\n    \"time\": 3.0,\\n    \"productId\": \"5534567890\",\\n    \"outline\": [\\n      {\\n        \"x\": 0.37,\\n        \"y\": 0.32\\n      },\\n      {\\n        \"x\": 0.451,\\n        \"y\": 0.28\\n      },\\n      {\\n        \"x\": 0.505,\\n        \"y\": 0.304\\n      },\\n      {\\n        \"x\": 0.559,\\n        \"y\": 0.28\\n      },\\n      {\\n        \"x\": 0.64,\\n        \"y\": 0.32\\n      },\\n      {\\n        \"x\": 0.6292,\\n        \"y\": 0.408\\n      },\\n      {\\n        \"x\": 0.6319,\\n        \"y\": 0.68\\n      },\\n      {\\n        \"x\": 0.3781,\\n        \"y\": 0.68\\n      },\\n      {\\n        \"x\": 0.3808,\\n        \"y\": 0.408\\n      }\\n    ],\\n    \"label\": \"Shirt\"\\n  },\\n  {\\n    \"time\": 3.3,\\n    \"productId\": \"1234567890\",\\n    \"outline\": [\\n      {\\n        \"x\": 0.45,\\n        \"y\": 0.125\\n      },\\n      {\\n        \"x\": 0.4836,\\n        \"y\": 0.08\\n      },\\n      {\\n        \"x\": 0.5364,\\n        \"y\": 0.08\\n      },\\n      {\\n        \"x\": 0.57,\\n        \"y\": 0.125\\n      },\\n      {\\n        \"x\": 0.57,\\n        \"y\": 0.185\\n      },\\n      {\\n        \"x\": 0.5498,\\n        \"y\": 0.23\\n      },\\n      {\\n        \"x\": 0.4702,\\n        \"y\": 0.23\\n      },\\n      {\\n        \"x\": 0.45,\\n        \"y\": 0.185\\n      }\\n    ],\\n    \"label\": \"Hat\"\\n  },\\n  {\\n    \"time\": 3.3,\\n    \"productId\": \"5534567890\",\\n    \"outline\": [\\n      {\\n        \"x\": 0.38,\\n        \"y\": 0.32\\n      },\\n      {\\n        \"x\": 0.458,\\n        \"y\": 0.28\\n      },\\n      {\\n        \"x\": 0.51,\\n        \"y\": 0.304\\n      },\\n      {\\n        \"x\": 0.562,\\n        \"y\": 0.28\\n      },\\n      {\\n        \"x\": 0.64,\\n        \"y\": 0.32\\n      },\\n      {\\n        \"x\": 0.6296,\\n        \"y\": 0.408\\n      },\\n      {\\n        \"x\": 0.6322,\\n        \"y\": 0.68\\n      },\\n      {\\n        \"x\": 0.3878,\\n        \"y\": 0.68\\n      },\\n      {\\n        \"x\": 0.3904,\\n        \"y\": 0.408\\n      }\\n    ],\\n    \"label\": \"Shirt\"\\n  },\\n  {\\n    \"time\": 3.6,\\n    \"productId\": \"1234567890\",\\n    \"outline\": [\\n      {\\n        \"x\": 0.46,\\n        \"y\": 0.118\\n      },\\n      {\\n        \"x\": 0.4936,\\n        \"y\": 0.07\\n      },\\n      {\\n        \"x\": 0.5464,\\n        \"y\": 0.07\\n      },\\n      {\\n        \"x\": 0.58,\\n        \"y\": 0.118\\n      },\\n      {\\n        \"x\": 0.58,\\n        \"y\": 0.182\\n      },\\n      {\\n        \"x\": 0.5598,\\n        \"y\": 0.23\\n      },\\n      {\\n        \"x\": 0.4802,\\n        \"y\": 0.23\\n      },\\n      {\\n        \"x\": 0.46,\\n        \"y\": 0.182\\n      }\\n    ],\\n    \"label\": \"Hat\"\\n  },\\n  {\\n    \"time\": 3.6,\\n    \"productId\": \"5534567890\",\\n    \"outline\": [\\n      {\\n        \"x\": 0.4,\\n        \"y\": 0.3\\n      },\\n      {\\n        \"x\": 0.472,\\n        \"y\": 0.26\\n      },\\n      {\\n        \"x\": 0.52,\\n        \"y\": 0.284\\n      },\\n      {\\n        \"x\": 0.568,\\n        \"y\": 0.26\\n      },\\n      {\\n        \"x\": 0.64,\\n        \"y\": 0.3\\n      },\\n      {\\n        \"x\": 0.6304,\\n        \"y\": 0.388\\n      },\\n      {\\n        \"x\": 0.6328,\\n        \"y\": 0.66\\n      },\\n      {\\n        \"x\": 0.4072,\\n        \"y\": 0.66\\n      },\\n      {\\n        \"x\": 0.4096,\\n        \"y\": 0.388\\n      }\\n    ],\\n    \"label\": \"Shirt\"\\n  }\\n]',id:\"ERy8rGwqU\",item1:[],item2:[],layoutId:\"ERy8rGwqU\",lockAspectRatio:true,loop:true,onTapItem1:onTapItem1ko9la1({overlay}),onTapItem2:onTapItem2ko9la1({overlay:overlay1}),posterImage:\"https://framerusercontent.com/images/y6Hzg3B7mn5VqKFDcvcUgBocOU.jpg?width=2496&height=1664\",posterSrc:\"\",style:{height:\"100%\",width:\"100%\"},updateIntervalMs:50,videoFile:\"https://framerusercontent.com/assets/ncvWFgDlGbb8DzjKaeaPOI8tZs.mp4\",videoSrc:\"https://public-assets.content-platform.envatousercontent.com/6b473ada-93c0-40c1-b3be-b9e9fedddd98/60e0f251-1127-42e5-b27b-9dbf1f2e16f6/6b473ada-93c0-40c1-b3be-b9e9fedddd98/preview_540p_crf22_higher_quality.mp4\",width:\"100%\"}),/*#__PURE__*/_jsx(AnimatePresence,{children:overlay1.visible&&/*#__PURE__*/_jsx(_Fragment,{children:/*#__PURE__*/ReactDOM.createPortal(/*#__PURE__*/_jsx(InjectSelectionStyle,{triggerId:\"tfu0ie\",children:/*#__PURE__*/_jsxs(ResetOuterLinkContext,{children:[/*#__PURE__*/_jsx(motion.div,{animate:{opacity:1},className:cx(scopingClassNames,\"framer-1n0ndhe\"),\"data-framer-name\":\"Tee\",\"data-framer-portal-id\":\"tfu0ie\",exit:{opacity:0},initial:{opacity:0},onTap:()=>overlay1.hide(),transition:{damping:80,delay:.4,mass:1,stiffness:400,type:\"spring\"}},\"mX39__URa\"),/*#__PURE__*/_jsxs(motion.div,{className:cx(scopingClassNames,\"framer-1imyimk\"),\"data-framer-portal-id\":\"tfu0ie\",children:[/*#__PURE__*/_jsx(ComponentViewportProvider,{children:/*#__PURE__*/_jsx(Container,{className:\"framer-1ewhso9-container\",\"data-code-component-plugin-id\":\"api\",inComponentSlot:true,isAuthoredByUser:true,nodeId:\"kb8FWj5Nr\",rendersWithMotion:true,scopeId:\"rQGvODKHR\",children:/*#__PURE__*/_jsx(Butter_ShoppableVideoTap,{content:[],height:\"100%\",id:\"kb8FWj5Nr\",layoutId:\"kb8FWj5Nr\",onTap:onTap1q29jei({overlay:overlay1}),style:{height:\"100%\",width:\"100%\"},width:\"100%\"})})}),/*#__PURE__*/_jsx(ComponentViewportProvider,{width:\"min(max(100vw - 80px, 1px), 500px)\",children:/*#__PURE__*/_jsx(Container,{animate:animation1,className:\"framer-sgjbeq-container\",exit:animation,inComponentSlot:true,initial:animation2,nodeId:\"UiMTkEwkc\",rendersWithMotion:true,scopeId:\"rQGvODKHR\",children:/*#__PURE__*/_jsx(ItemModal,{height:\"100%\",id:\"UiMTkEwkc\",Kh_81khNe:Kh_81khNe1q29jei({overlay:overlay1}),layoutId:\"UiMTkEwkc\",P5H8drhrX:\"$25\",style:{maxWidth:\"100%\",width:\"100%\"},UKtoGwqAl:\"Logo Tee\",v2juIQyoc:\"[ID: 8234567890125 | 4 Variants][Size: S, M, L, XL][S | 52817963745613 | MEDIA_01 | US-USD: 25.00 : 32.00 | QTY: 24][M | 52817963778381 | MEDIA_01 | US-USD: 25.00 : 32.00 | QTY: 28][L | 52817963811149 | MEDIA_01 | US-USD: 25.00 : 32.00 | QTY: 22][XL | 52817963843917 | MEDIA_01 | US-USD: 26.00 : 32.00 | QTY: 18][Title: Logo Tee | Vendor: Demo Brand | Type: Tops | Tags: Prototype, FC Data | Collections: Demo | Created 2026-06-17][MediaCatalog: 01 https://placehold.co/535x535/e8e8e8/888888.png?text=Logo+Tee Logo Tee — main]\",variant:matchVariant(\"mPjEF4Zv7\"),VZyc5E5ia:addImageAlt({pixelHeight:400,pixelWidth:400,src:\"https://framerusercontent.com/images/4MlLMrQST1YG23luOM6s7kZCM.png?width=400&height=400\"},\"\"),width:\"100%\",Xe1hQJ4Yz:\"Heavyweight, oversized unisex tee with an embroidered Framer logo. Clean, minimal, and made from high-quality 100% cotton for long shipping days and everyday comfort.\"})})})]})]})}),getContainer())})}),/*#__PURE__*/_jsx(AnimatePresence,{children:overlay.visible&&/*#__PURE__*/_jsx(_Fragment,{children:/*#__PURE__*/ReactDOM.createPortal(/*#__PURE__*/_jsx(InjectSelectionStyle,{triggerId:\"tfu0ie\",children:/*#__PURE__*/_jsxs(ResetOuterLinkContext,{children:[/*#__PURE__*/_jsx(motion.div,{animate:{opacity:1},className:cx(scopingClassNames,\"framer-13whj2n\"),\"data-framer-name\":\"Cap\",\"data-framer-portal-id\":\"tfu0ie\",exit:{opacity:0},initial:{opacity:0},onTap:()=>overlay.hide(),transition:{damping:80,delay:.4,mass:1,stiffness:400,type:\"spring\"}},\"eBhgDQzcx\"),/*#__PURE__*/_jsxs(motion.div,{className:cx(scopingClassNames,\"framer-ifzb4f\"),\"data-framer-portal-id\":\"tfu0ie\",children:[/*#__PURE__*/_jsx(ComponentViewportProvider,{children:/*#__PURE__*/_jsx(Container,{className:\"framer-1tcxumf-container\",\"data-code-component-plugin-id\":\"api\",inComponentSlot:true,isAuthoredByUser:true,nodeId:\"FB9ZhDL2K\",rendersWithMotion:true,scopeId:\"rQGvODKHR\",children:/*#__PURE__*/_jsx(Butter_ShoppableVideoTap,{content:[],height:\"100%\",id:\"FB9ZhDL2K\",layoutId:\"FB9ZhDL2K\",onTap:onTap1q29jei({overlay}),style:{height:\"100%\",width:\"100%\"},width:\"100%\"})})}),/*#__PURE__*/_jsx(ComponentViewportProvider,{width:\"min(max(100vw - 80px, 1px), 500px)\",children:/*#__PURE__*/_jsx(Container,{animate:animation1,className:\"framer-5im75k-container\",exit:animation,inComponentSlot:true,initial:animation2,nodeId:\"Az1IAYIr4\",rendersWithMotion:true,scopeId:\"rQGvODKHR\",children:/*#__PURE__*/_jsx(ItemModal,{EkuCLfAlE:addImageAlt({pixelHeight:400,pixelWidth:400,src:\"https://framerusercontent.com/images/sFMi8GC4xfZnfTV4ThysX7CB6Q.png?width=400&height=400\"},\"\"),height:\"100%\",id:\"Az1IAYIr4\",Kh_81khNe:Kh_81khNe1q29jei({overlay}),layoutId:\"Az1IAYIr4\",P5H8drhrX:\"$23\",style:{maxWidth:\"100%\",width:\"100%\"},UKtoGwqAl:\"Washed Logo Cap\",v2juIQyoc:\"[ID: 8234567890126 | 3 Variants][Color: Blue, Orange, Sage][Blue | 53998149763405 | MEDIA_01 | US-USD: 23.00 : 29.00 | QTY: 12][Orange | 53998149730637 | MEDIA_02 | US-USD: 23.00 : 29.00 | QTY: 15][Sage | 53998149796173 | MEDIA_03 | US-USD: 23.00 : 29.00 | QTY: 14][Title: Washed Logo Cap | Vendor: Demo Brand | Type: Accessories | Tags: Prototype, FC Data | Collections: Demo | Created 2026-06-17][MediaCatalog: 01 https://placehold.co/535x535/4a90d9/ffffff.png?text=Blue+Cap Washed Logo Cap — Blue — main | 02 https://placehold.co/535x535/f4a442/ffffff.png?text=Orange+Cap Washed Logo Cap — Orange — main | 03 https://placehold.co/535x535/8fad88/ffffff.png?text=Sage+Cap Washed Logo Cap — Sage — main]\",variant:matchVariant(\"mPjEF4Zv7\"),vZrrWmU5a:addImageAlt({pixelHeight:400,pixelWidth:400,src:\"https://framerusercontent.com/images/YUxR3nPOCcNCf1TUx3BK1cqxpos.png?width=400&height=400\"},\"\"),VZyc5E5ia:addImageAlt({pixelHeight:400,pixelWidth:400,src:\"https://framerusercontent.com/images/fwnX9J5IztPDSjtfOX0UZIQPOs8.png?width=400&height=400\"},\"\"),width:\"100%\",Xe1hQJ4Yz:\"Adjustable hat featuring an embroidered Framer logo, a washed finish, and an adjustable back strap for an easy everyday fit.\"})})})]})]})}),getContainer())})})]})})})})}),/*#__PURE__*/_jsx(\"div\",{className:\"framer-154s64g\",\"data-framer-name\":\"Instructions\",children:/*#__PURE__*/_jsx(RichText,{__fromCanvasComponent:true,children:/*#__PURE__*/_jsx(React.Fragment,{children:/*#__PURE__*/_jsx(\"p\",{dir:\"auto\",style:{\"--font-selector\":\"SW50ZXItTWVkaXVt\",\"--framer-font-open-type-features\":\"'salt' on\",\"--framer-font-size\":\"12px\",\"--framer-font-weight\":\"500\",\"--framer-line-height\":\"150%\",\"--framer-text-color\":\"rgb(255, 255, 255)\"},children:\"Hover over an item to interact\"})}),className:\"framer-176d3u\",fonts:[\"Inter-Medium\"],verticalAlignment:\"top\",withExternalLayout:true})})]}),/*#__PURE__*/_jsxs(\"div\",{className:\"framer-5j5emy\",\"data-framer-name\":\"Credit\",children:[/*#__PURE__*/_jsx(RichText,{__fromCanvasComponent:true,children:/*#__PURE__*/_jsx(React.Fragment,{children:/*#__PURE__*/_jsx(\"p\",{dir:\"auto\",style:{\"--font-selector\":\"SW50ZXItU2VtaUJvbGQ=\",\"--framer-font-size\":\"12px\",\"--framer-font-weight\":\"600\",\"--framer-text-color\":\"var(--token-d35e5398-af28-4f97-8e2e-13717c50156f, rgb(255, 255, 255))\"},children:\"Shoppable Video (Framer Hackathon)\"})}),className:\"framer-1yf46w\",fonts:[\"Inter-SemiBold\"],verticalAlignment:\"top\",withExternalLayout:true}),/*#__PURE__*/_jsx(RichText,{__fromCanvasComponent:true,children:/*#__PURE__*/_jsx(React.Fragment,{children:/*#__PURE__*/_jsxs(\"p\",{dir:\"auto\",style:{\"--font-selector\":\"SW50ZXItTWVkaXVt\",\"--framer-font-size\":\"12px\",\"--framer-font-weight\":\"500\",\"--framer-line-height\":\"150%\",\"--framer-text-color\":\"rgba(255, 255, 255, 0.64)\"},children:[\"Built by \",/*#__PURE__*/_jsx(Link,{href:\"x.com/mattjumper\",motionChild:true,nodeId:\"JRaSF2cl8\",openInNewTab:true,relValues:[],scopeId:\"rQGvODKHR\",smoothScroll:false,children:/*#__PURE__*/_jsx(motion.a,{className:\"framer-styles-preset-1ked9qm\",\"data-styles-preset\":\"VPSAKxccK\",children:\"Matt Jumper\"})}),\" using \",/*#__PURE__*/_jsx(Link,{href:\"framercommerce.com\",motionChild:true,nodeId:\"JRaSF2cl8\",openInNewTab:true,relValues:[],scopeId:\"rQGvODKHR\",smoothScroll:false,children:/*#__PURE__*/_jsx(motion.a,{className:\"framer-styles-preset-1ked9qm\",\"data-styles-preset\":\"VPSAKxccK\",children:\"Framer Commerce\"})})]})}),className:\"framer-rpp0cx\",fonts:[\"Inter-Medium\"],verticalAlignment:\"top\",withExternalLayout:true})]})]})}),/*#__PURE__*/_jsx(\"div\",{id:\"overlay\"})]})});});const css=[\"@supports (aspect-ratio: 1) { body { --framer-aspect-ratio-supported: auto; } }\",\".framer-J1e8P.framer-1iraquz, .framer-J1e8P .framer-1iraquz { display: block; }\",\".framer-J1e8P.framer-1c5c2ey { align-content: center; align-items: center; background-color: #000000; display: flex; flex-direction: column; flex-wrap: nowrap; gap: 0px; height: min-content; justify-content: flex-start; overflow: var(--overflow-clip-fallback, clip); padding: 0px; position: relative; width: 1200px; }\",\".framer-J1e8P .framer-8ox0hl { align-content: center; align-items: center; display: flex; flex: none; flex-direction: column; flex-wrap: nowrap; gap: 24px; height: min-content; justify-content: center; overflow: var(--overflow-clip-fallback, clip); padding: 80px; position: relative; width: 100%; }\",\".framer-J1e8P .framer-vrsjki { align-content: center; align-items: center; border-bottom-left-radius: 16px; border-bottom-right-radius: 16px; border-top-left-radius: 16px; border-top-right-radius: 16px; display: flex; flex: none; flex-direction: row; flex-wrap: nowrap; gap: 0px; height: min-content; justify-content: center; max-width: 1200px; overflow: var(--overflow-clip-fallback, clip); padding: 0px; position: relative; width: 100%; will-change: var(--framer-will-change-override, transform); }\",\".framer-J1e8P .framer-tfu0ie-container { aspect-ratio: 1.3333333333333333 / 1; flex: 1 0 0px; height: var(--framer-aspect-ratio-supported, 780px); position: relative; width: 1px; z-index: 1; }\",\".framer-J1e8P .framer-13l5khj-container, .framer-J1e8P .framer-q3nypn-container, .framer-J1e8P .framer-xlnf4x-container, .framer-J1e8P .framer-1fr4p1k-container { height: auto; position: relative; width: auto; }\",\".framer-J1e8P.framer-1n0ndhe, .framer-J1e8P.framer-13whj2n { background-color: rgba(0, 0, 0, 0.8); inset: 0px; position: fixed; user-select: none; z-index: 10; }\",\".framer-J1e8P.framer-1imyimk, .framer-J1e8P.framer-ifzb4f { align-content: center; align-items: center; display: flex; flex: none; flex-direction: row; flex-wrap: nowrap; gap: 0px; height: 100%; justify-content: center; left: calc(50.00000000000002% - 100% / 2); overflow: var(--overflow-clip-fallback, clip); padding: 40px; position: fixed; top: calc(50.00000000000002% - 100% / 2); width: 100%; z-index: 10; }\",\".framer-J1e8P .framer-1ewhso9-container, .framer-J1e8P .framer-1tcxumf-container { flex: none; height: 100%; left: calc(50.00000000000002% - 100% / 2); position: absolute; top: calc(50.00000000000002% - 100% / 2); width: 100%; z-index: 1; }\",\".framer-J1e8P .framer-sgjbeq-container, .framer-J1e8P .framer-5im75k-container { flex: 1 0 0px; height: auto; max-width: 500px; position: relative; width: 1px; will-change: var(--framer-will-change-effect-override, transform); z-index: 8; }\",\".framer-J1e8P .framer-154s64g { -webkit-backdrop-filter: blur(8px); -webkit-user-select: none; align-content: center; align-items: center; backdrop-filter: blur(8px); background-color: var(--token-e568eaca-76fb-4a8a-85c4-ef6c471fbdfe, rgba(0, 0, 0, 0.06)); border-bottom-left-radius: 80px; border-bottom-right-radius: 80px; border-top-left-radius: 80px; border-top-right-radius: 80px; bottom: 12px; display: flex; flex: none; flex-direction: column; flex-wrap: nowrap; gap: 0px; height: min-content; justify-content: center; overflow: var(--overflow-clip-fallback, clip); padding: 4px 12px 4px 12px; position: absolute; right: 12px; user-select: none; width: min-content; will-change: var(--framer-will-change-override, transform); z-index: 1; }\",\".framer-J1e8P .framer-176d3u { --framer-link-text-color: #0099ff; --framer-link-text-decoration: underline; --framer-paragraph-spacing: 12px; flex: none; height: auto; position: relative; white-space: pre; width: auto; }\",\".framer-J1e8P .framer-5j5emy { align-content: center; align-items: center; display: flex; flex: none; flex-direction: row; flex-wrap: wrap; height: min-content; justify-content: space-between; max-width: 1200px; overflow: var(--overflow-clip-fallback, clip); padding: 0px; position: relative; width: 100%; }\",\".framer-J1e8P .framer-1yf46w { --framer-link-text-color: #0099ff; --framer-link-text-decoration: underline; flex: none; height: auto; position: relative; white-space: pre; width: auto; }\",\".framer-J1e8P .framer-rpp0cx { --framer-paragraph-spacing: 12px; flex: none; height: auto; position: relative; white-space: pre; width: auto; }\",...sharedStyle.css];/**\n * This is a generated Framer component.\n * @framerIntrinsicHeight 982\n * @framerIntrinsicWidth 1200\n * @framerCanvasComponentVariantDetails {\"propertyName\":\"variant\",\"data\":{\"default\":{\"layout\":[\"fixed\",\"auto\"]}}}\n * @framerImmutableVariables true\n * @framerDisplayContentsDiv false\n * @framerAutoSizeImages true\n * @framerComponentViewportWidth true\n * @framerColorSyntax true\n * @framerAcceptsLayoutTemplate true\n * @framerScrollSections false\n * @framerResponsiveScreen true\n * @framerLayoutTemplateFlowEffect true\n */const FramerrQGvODKHR=withCSS(Component,css,\"framer-J1e8P\");export default FramerrQGvODKHR;FramerrQGvODKHR.displayName=\"Page\";FramerrQGvODKHR.defaultProps={height:982,width:1200};addFonts(FramerrQGvODKHR,[{explicitInter:true,fonts:[{cssFamilyName:\"Inter\",source:\"framer\",style:\"normal\",uiFamilyName:\"Inter\",unicodeRange:\"U+0460-052F, U+1C80-1C88, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F\",url:\"https://framerusercontent.com/assets/5A3Ce6C9YYmCjpQx9M4inSaKU.woff2\",weight:\"500\"},{cssFamilyName:\"Inter\",source:\"framer\",style:\"normal\",uiFamilyName:\"Inter\",unicodeRange:\"U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116\",url:\"https://framerusercontent.com/assets/Qx95Xyt0Ka3SGhinnbXIGpEIyP4.woff2\",weight:\"500\"},{cssFamilyName:\"Inter\",source:\"framer\",style:\"normal\",uiFamilyName:\"Inter\",unicodeRange:\"U+1F00-1FFF\",url:\"https://framerusercontent.com/assets/6mJuEAguuIuMog10gGvH5d3cl8.woff2\",weight:\"500\"},{cssFamilyName:\"Inter\",source:\"framer\",style:\"normal\",uiFamilyName:\"Inter\",unicodeRange:\"U+0370-03FF\",url:\"https://framerusercontent.com/assets/xYYWaj7wCU5zSQH0eXvSaS19wo.woff2\",weight:\"500\"},{cssFamilyName:\"Inter\",source:\"framer\",style:\"normal\",uiFamilyName:\"Inter\",unicodeRange:\"U+0100-024F, U+0259, U+1E00-1EFF, U+2020, U+20A0-20AB, U+20AD-20CF, U+2113, U+2C60-2C7F, U+A720-A7FF\",url:\"https://framerusercontent.com/assets/otTaNuNpVK4RbdlT7zDDdKvQBA.woff2\",weight:\"500\"},{cssFamilyName:\"Inter\",source:\"framer\",style:\"normal\",uiFamilyName:\"Inter\",unicodeRange:\"U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2070, U+2074-207E, U+2080-208E, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD\",url:\"https://framerusercontent.com/assets/UjlFhCnUjxhNfep4oYBPqnEssyo.woff2\",weight:\"500\"},{cssFamilyName:\"Inter\",source:\"framer\",style:\"normal\",uiFamilyName:\"Inter\",unicodeRange:\"U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+1EA0-1EF9, U+20AB\",url:\"https://framerusercontent.com/assets/DolVirEGb34pEXEp8t8FQBSK4.woff2\",weight:\"500\"},{cssFamilyName:\"Inter\",source:\"framer\",style:\"normal\",uiFamilyName:\"Inter\",unicodeRange:\"U+0460-052F, U+1C80-1C88, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F\",url:\"https://framerusercontent.com/assets/hyOgCu0Xnghbimh0pE8QTvtt2AU.woff2\",weight:\"600\"},{cssFamilyName:\"Inter\",source:\"framer\",style:\"normal\",uiFamilyName:\"Inter\",unicodeRange:\"U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116\",url:\"https://framerusercontent.com/assets/NeGmSOXrPBfEFIy5YZeHq17LEDA.woff2\",weight:\"600\"},{cssFamilyName:\"Inter\",source:\"framer\",style:\"normal\",uiFamilyName:\"Inter\",unicodeRange:\"U+1F00-1FFF\",url:\"https://framerusercontent.com/assets/oYaAX5himiTPYuN8vLWnqBbfD2s.woff2\",weight:\"600\"},{cssFamilyName:\"Inter\",source:\"framer\",style:\"normal\",uiFamilyName:\"Inter\",unicodeRange:\"U+0370-03FF\",url:\"https://framerusercontent.com/assets/lEJLP4R0yuCaMCjSXYHtJw72M.woff2\",weight:\"600\"},{cssFamilyName:\"Inter\",source:\"framer\",style:\"normal\",uiFamilyName:\"Inter\",unicodeRange:\"U+0100-024F, U+0259, U+1E00-1EFF, U+2020, U+20A0-20AB, U+20AD-20CF, U+2113, U+2C60-2C7F, U+A720-A7FF\",url:\"https://framerusercontent.com/assets/cRJyLNuTJR5jbyKzGi33wU9cqIQ.woff2\",weight:\"600\"},{cssFamilyName:\"Inter\",source:\"framer\",style:\"normal\",uiFamilyName:\"Inter\",unicodeRange:\"U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2070, U+2074-207E, U+2080-208E, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD\",url:\"https://framerusercontent.com/assets/yDtI2UI8XcEg1W2je9XPN3Noo.woff2\",weight:\"600\"},{cssFamilyName:\"Inter\",source:\"framer\",style:\"normal\",uiFamilyName:\"Inter\",unicodeRange:\"U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+1EA0-1EF9, U+20AB\",url:\"https://framerusercontent.com/assets/A0Wcc7NgXMjUuFdquHDrIZpzZw0.woff2\",weight:\"600\"}]},...CursorFonts,...Butter_ShoppableVideoFonts,...Butter_ShoppableVideoTapFonts,...ItemModalFonts,...getFontsFromSharedStyle(sharedStyle.fonts)],{supportsExplicitInterCodegen:true});FramerrQGvODKHR.loader={load:(props,context)=>{const locale=context.locale;return Promise.allSettled([forwardLoader(Cursor,{},context),forwardLoader(ItemModal,{},context)]);}};\nexport const __FramerMetadata__ = {\"exports\":{\"Props\":{\"type\":\"tsType\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"default\":{\"type\":\"reactComponent\",\"name\":\"FramerrQGvODKHR\",\"slots\":[],\"annotations\":{\"framerResponsiveScreen\":\"true\",\"framerScrollSections\":\"false\",\"framerDisplayContentsDiv\":\"false\",\"framerCanvasComponentVariantDetails\":\"{\\\"propertyName\\\":\\\"variant\\\",\\\"data\\\":{\\\"default\\\":{\\\"layout\\\":[\\\"fixed\\\",\\\"auto\\\"]}}}\",\"framerContractVersion\":\"1\",\"framerLayoutTemplateFlowEffect\":\"true\",\"framerComponentViewportWidth\":\"true\",\"framerColorSyntax\":\"true\",\"framerImmutableVariables\":\"true\",\"framerIntrinsicHeight\":\"982\",\"framerIntrinsicWidth\":\"1200\",\"framerAutoSizeImages\":\"true\",\"framerAcceptsLayoutTemplate\":\"true\"}},\"queryParamNames\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}","// Generated by Framer (b44fae2)\nconst snippets=[];const queryLoaders={};export const snippetsSorting={bodyEnd:[],bodyStart:[],headEnd:[],headStart:[]};export async function getSnippets(pageId,pathVariables,activeLocale){const queryLoader=queryLoaders[pageId];const params=queryLoader?await queryLoader(pathVariables,activeLocale):undefined;const result={bodyEnd:[],bodyStart:[],headEnd:[],headStart:[]};for(const snippet of snippets){if(snippet.pageIds&&!snippet.pageIds.has(pageId))continue;const code=snippet.code(params);if(code){result[snippet.placement].push({...snippet,code});}}return result;}\nexport const __FramerMetadata__ = {\"exports\":{\"snippetsSorting\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"getSnippets\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}","import{jsx as _jsx,jsxs as _jsxs}from\"react/jsx-runtime\";import*as React from\"react\";import{withCSS}from\"framer\";const NotFoundPage=()=>{React.useEffect(()=>{let robotsTag=document.querySelector('meta[name=\"robots\"]');if(robotsTag){robotsTag.setAttribute(\"content\",\"noindex\");}else{robotsTag=document.createElement(\"meta\");robotsTag.setAttribute(\"name\",\"robots\");robotsTag.setAttribute(\"content\",\"noindex\");document.head.appendChild(robotsTag);}},[]);return /*#__PURE__*/_jsx(\"div\",{className:\"__framer-not-found-page\",style:{display:\"flex\",height:\"100vh\",alignItems:\"center\",justifyContent:\"center\",backgroundColor:\"var(--color-primary)\",background:\"var(--color-background)\",fontSize:\"var(--font-size-body)\",boxSizing:\"border-box\",fontFeatureSettings:'\"liga\", \"clig\"',fontVariantLigatures:\"common-ligatures\",textRendering:\"optimizeLegibility\"},children:/*#__PURE__*/_jsxs(\"main\",{style:{boxSizing:\"border-box\",fontFamily:'\"Inter\", sans-serif',fontWeight:500,maxWidth:\"240px\",width:\"100%\",display:\"flex\",alignItems:\"center\",flexDirection:\"column\",padding:\"0 20px\",textWrap:\"balance\"},children:[/*#__PURE__*/_jsx(\"svg\",{xmlns:\"http://www.w3.org/2000/svg\",width:\"14\",height:\"21\",style:{verticalAlign:\"middle\",color:\"var(--color-primary)\",marginBottom:\"20px\"},children:/*#__PURE__*/_jsx(\"path\",{d:\"M 14 0 L 14 7 L 7 7 L 0 0 Z M 14 14 L 7 14 L 7 21 L 0 14 L 0 7 L 7 7 Z\",fill:\"currentColor\"})}),/*#__PURE__*/_jsx(\"h1\",{style:{margin:\"0 0 10px 0\",fontSize:\"var(--font-size-title)\",color:\"var(--color-primary)\",textAlign:\"center\"},children:\"Page Not Found\"}),/*#__PURE__*/_jsx(\"div\",{style:{color:\"var(--color-secondary)\",marginBottom:\"20px\",lineHeight:\"1.5em\",textAlign:\"center\"},children:\"The page you are looking for does not exist or may have been moved.\"}),/*#__PURE__*/_jsx(\"a\",{href:\"/\",role:\"button\",style:{backgroundColor:\"var(--color-tint)\",color:\"#ffffff\",paddingLeft:\"8px\",paddingRight:\"8px\",borderRadius:\"8px\",lineHeight:\"30px\",height:\"30px\",textDecoration:\"none\",verticalAlign:\"baseline\"},children:\"Back to Home\"})]})});};const css=[`@font-face {\n      font-family: Inter;\n      src: url(https://framerusercontent.com/assets/hyOgCu0Xnghbimh0pE8QTvtt2AU.woff2);\n      font-display: swap;\n      font-style: normal;\n      font-weight: 600;\n      unicode-range: U+0460-052F, U+1C80-1C88, U+20B4, U+2DE0-2DFF, U+A640-A69F,\n        U+FE2E-FE2F;\n    }`,`@font-face {\n      font-family: Inter;\n      src: url(https://framerusercontent.com/assets/NeGmSOXrPBfEFIy5YZeHq17LEDA.woff2);\n      font-display: swap;\n      font-style: normal;\n      font-weight: 600;\n      unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;\n    }`,`@font-face {\n      font-family: Inter;\n      src: url(https://framerusercontent.com/assets/oYaAX5himiTPYuN8vLWnqBbfD2s.woff2);\n      font-display: swap;\n      font-style: normal;\n      font-weight: 600;\n      unicode-range: U+1F00-1FFF;\n    }`,`@font-face {\n      font-family: Inter;\n      src: url(https://framerusercontent.com/assets/lEJLP4R0yuCaMCjSXYHtJw72M.woff2);\n      font-display: swap;\n      font-style: normal;\n      font-weight: 600;\n      unicode-range: U+0370-03FF;\n    }`,`@font-face {\n      font-family: Inter;\n      src: url(https://framerusercontent.com/assets/cRJyLNuTJR5jbyKzGi33wU9cqIQ.woff2);\n      font-display: swap;\n      font-style: normal;\n      font-weight: 600;\n      unicode-range: U+0100-024F, U+0259, U+1E00-1EFF, U+2020, U+20A0-20AB,\n        U+20AD-20CF, U+2113, U+2C60-2C7F, U+A720-A7FF;\n    }`,`@font-face {\n      font-family: Inter;\n      src: url(https://framerusercontent.com/assets/1ZFS7N918ojhhd0nQWdj3jz4w.woff2);\n      font-display: swap;\n      font-style: normal;\n      font-weight: 600;\n      unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6,\n        U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193,\n        U+2212, U+2215, U+FEFF, U+FFFD;\n    }`,`@font-face {\n      font-family: Inter;\n      src: url(https://framerusercontent.com/assets/A0Wcc7NgXMjUuFdquHDrIZpzZw0.woff2);\n      font-display: swap;\n      font-style: normal;\n      font-weight: 600;\n      unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169,\n        U+01A0-01A1, U+01AF-01B0, U+1EA0-1EF9, U+20AB;\n    }`,`@font-face {\n      font-family: Inter;\n      src: url(https://framerusercontent.com/assets/5A3Ce6C9YYmCjpQx9M4inSaKU.woff2);\n      font-display: swap;\n      font-style: normal;\n      font-weight: 500;\n      unicode-range: U+0460-052F, U+1C80-1C88, U+20B4, U+2DE0-2DFF, U+A640-A69F,\n        U+FE2E-FE2F;\n    }`,`@font-face {\n      font-family: Inter;\n      src: url(https://framerusercontent.com/assets/Qx95Xyt0Ka3SGhinnbXIGpEIyP4.woff2);\n      font-display: swap;\n      font-style: normal;\n      font-weight: 500;\n      unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;\n    }`,`@font-face {\n      font-family: Inter;\n      src: url(https://framerusercontent.com/assets/6mJuEAguuIuMog10gGvH5d3cl8.woff2);\n      font-display: swap;\n      font-style: normal;\n      font-weight: 500;\n      unicode-range: U+1F00-1FFF;\n    }`,`@font-face {\n      font-family: Inter;\n      src: url(https://framerusercontent.com/assets/xYYWaj7wCU5zSQH0eXvSaS19wo.woff2);\n      font-display: swap;\n      font-style: normal;\n      font-weight: 500;\n      unicode-range: U+0370-03FF;\n    }`,`@font-face {\n      font-family: Inter;\n      src: url(https://framerusercontent.com/assets/otTaNuNpVK4RbdlT7zDDdKvQBA.woff2);\n      font-display: swap;\n      font-style: normal;\n      font-weight: 500;\n      unicode-range: U+0100-024F, U+0259, U+1E00-1EFF, U+2020, U+20A0-20AB,\n        U+20AD-20CF, U+2113, U+2C60-2C7F, U+A720-A7FF;\n    }`,`@font-face {\n      font-family: Inter;\n      src: url(https://framerusercontent.com/assets/d3tHnaQIAeqiE5hGcRw4mmgWYU.woff2);\n      font-display: swap;\n      font-style: normal;\n      font-weight: 500;\n      unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6,\n        U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193,\n        U+2212, U+2215, U+FEFF, U+FFFD;\n    }`,`@font-face {\n      font-family: Inter;\n      src: url(https://framerusercontent.com/assets/DolVirEGb34pEXEp8t8FQBSK4.woff2);\n      font-display: swap;\n      font-style: normal;\n      font-weight: 500;\n      unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169,\n        U+01A0-01A1, U+01AF-01B0, U+1EA0-1EF9, U+20AB;\n    }`,`@font-face {\n      font-family: Inter Placeholder;\n      src: local(\"Arial\");\n      ascent-override: 89.79%;\n      descent-override: 22.36%;\n      line-gap-override: 0%;\n      size-adjust: 107.89%;\n    }`,`.__framer-not-found-page {\n      --color-background: #ffffff;\n      --color-primary: #333;\n      --color-secondary: #888;\n      --color-tint: #0099ff;\n      --font-size-body: 12px;\n      --font-size-title: 12px;\n    }`,`@media (prefers-color-scheme: dark) {\n      .__framer-not-found-page {\n        --color-background: #000000;\n        --color-primary: #fff;\n        --color-secondary: #888;\n      }\n    }`];const component=withCSS(NotFoundPage,css);export default component;\nexport const __FramerMetadata__ = {\"exports\":{\"default\":{\"type\":\"reactComponent\",\"name\":\"component\",\"slots\":[],\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./NotFoundPage.map","/*\n * NotFoundPage (framer/SitesNotFoundPage@1.4.0)\n *\n * Learn More: https://www.framer.com/asset-urls\n */\n\nexport * from \"https://framerusercontent.com/modules/7cPhjQw0EGNBHRZlzbhH/4hSO1fMoujYmMhk8FjXZ/NotFoundPage.js\"\nexport { default } from \"https://framerusercontent.com/modules/7cPhjQw0EGNBHRZlzbhH/4hSO1fMoujYmMhk8FjXZ/NotFoundPage.js\"\n","// DO NOT DELETE THIS FILE! It's integral functionality of the badge.\nimport{jsx as _jsx,jsxs as _jsxs,Fragment as _Fragment}from\"react/jsx-runtime\";import{useSyncExternalStore,forwardRef}from\"react\";import{RenderTarget}from\"framer\";/**\n * Override for the \"Made in Framer\" badge that adds two behaviors:\n * 1. Hides the badge when in an iframe with a framer.com parent domain\n * 2. Adds click handler to open Framer with UTM tracking\n *\n * Badge hiding works by detecting if the current page is running inside an iframe\n * and checking if the parent domain is framer.com or a subdomain. This allows\n * embedding sites (e.g., Components pages) to hide the badge when appropriate.\n *\n * Cross-browser compatibility:\n * - Chrome, Safari, Edge: Uses window.location.ancestorOrigins API\n * - Firefox: Falls back to document.referrer (limited by security restrictions)\n *\n * Note: Also hides the badge in Framer's Preview mode since it runs in a\n * framer.com iframe.\n */const FRAMER_DOMAIN=\"framer.com\";function getIsIframeOnFramerDomain(){let isIframe=false;// Check if we're in an iframe\ntry{isIframe=window.self!==window.top;}catch{// If we can't access window.top, we're likely in a cross-origin iframe\nisIframe=true;}if(!isIframe){return false;}// Check if we're running on framer.com\nlet parentHost=null;let isFramerDomain=false;// Try ancestorOrigins first (Chrome, Safari, Edge)\nif(window.location.ancestorOrigins&&window.location.ancestorOrigins.length>0){const ancestorOrigin=window.location.ancestorOrigins[0];try{const ancestorUrl=new URL(ancestorOrigin);parentHost=ancestorUrl.host;}catch(error){// ignore malformed URL\n}}else if(document.referrer){// Fallback to referrer for browsers without ancestorOrigins (Firefox)\ntry{const referrerUrl=new URL(document.referrer);parentHost=referrerUrl.host;}catch(error){// ignore malformed URL\n}}if(parentHost){isFramerDomain=parentHost===FRAMER_DOMAIN||parentHost.endsWith(`.${FRAMER_DOMAIN}`);}return isFramerDomain;}const noopSubscribe=()=>()=>{};const getSnapshot=()=>getIsIframeOnFramerDomain();const getServerSnapshot=()=>false;export function withFramerBadgeHandling(Component){return /*#__PURE__*/forwardRef((props,ref)=>{const shouldHide=useSyncExternalStore(noopSubscribe,getSnapshot,getServerSnapshot);const isCanvas=RenderTarget.current()===RenderTarget.canvas;if(shouldHide&&!isCanvas){return null;}return /*#__PURE__*/_jsx(Component,{...props,ref:ref,onClick:e=>{e.preventDefault();window.open(// This is the link that will actually open (we prevent the default click handler; the link is important for SEO.)\n`https://www.framer.com/r/badge/?utm_campaign=freeplanbadge&utm_source=${encodeURIComponent(window?.location?.origin)}`);},style:{...props.style,pointerEvents:\"auto\"},// important for SEO:\ntitle:\"Create a free website with Framer, the website builder loved by startups, designers and agencies.\",className:props.className+\" __framer-badge\"});});}// We use overrides so that the badge doesn't load custom fonts, as the text is visually hidden.\n// This is important for SEO:\nexport function withText(Component){return /*#__PURE__*/forwardRef((props,ref)=>{return /*#__PURE__*/_jsxs(_Fragment,{children:[/*#__PURE__*/_jsx(\"p\",{style:{position:\"absolute\",transform:\"scale(0.001)\"},children:\"Create a free website with Framer, the website builder loved by startups, designers and agencies.\"}),/*#__PURE__*/_jsx(Component,{...props,ref:ref})]});});}\nexport const __FramerMetadata__ = {\"exports\":{\"withFramerBadgeHandling\":{\"type\":\"reactHoc\",\"name\":\"withFramerBadgeHandling\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"withText\":{\"type\":\"reactHoc\",\"name\":\"withText\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./Click.map","// Generated by Framer (464f719-dev)\nimport{jsx as _jsx}from\"react/jsx-runtime\";import{addPropertyControls,ControlType,cx,motion,withCSS}from\"framer\";import*as React from\"react\";import{forwardRef}from\"react\";const maskImage='url(\\'data:image/svg+xml,<svg display=\"block\" role=\"presentation\" viewBox=\"0 0 97 10\" xmlns=\"http://www.w3.org/2000/svg\"><path d=\"M 91.736 9.781 L 91.736 2.818 L 93.316 2.818 L 93.316 3.98 L 93.374 3.98 C 93.501 3.577 93.714 3.269 94.014 3.053 C 94.328 2.833 94.704 2.72 95.087 2.729 C 95.185 2.729 95.287 2.733 95.392 2.742 C 95.498 2.75 95.587 2.759 95.659 2.767 L 95.659 4.253 C 95.552 4.23 95.444 4.215 95.335 4.209 C 95.188 4.192 95.039 4.184 94.891 4.184 C 94.603 4.184 94.343 4.247 94.11 4.374 C 93.882 4.497 93.702 4.674 93.57 4.907 C 93.434 5.16 93.366 5.445 93.374 5.732 L 93.374 9.782 L 91.736 9.782 Z M 87.286 9.927 C 86.588 9.927 85.985 9.779 85.477 9.483 C 84.969 9.183 84.577 8.761 84.303 8.22 C 84.032 7.678 83.897 7.048 83.897 6.328 C 83.897 5.618 84.032 4.988 84.303 4.443 C 84.56 3.917 84.96 3.475 85.458 3.167 C 85.953 2.858 86.531 2.704 87.191 2.704 C 87.64 2.704 88.059 2.78 88.448 2.932 C 88.841 3.08 89.186 3.305 89.482 3.605 C 89.779 3.901 90.009 4.272 90.174 4.715 C 90.344 5.155 90.428 5.67 90.428 6.258 L 90.428 6.748 L 84.627 6.748 L 84.627 5.629 L 89.609 5.629 L 88.86 5.946 C 88.868 5.594 88.801 5.243 88.664 4.918 C 88.549 4.641 88.355 4.404 88.105 4.238 C 87.86 4.074 87.559 3.991 87.204 3.991 C 86.852 3.991 86.55 4.074 86.296 4.239 C 86.042 4.404 85.847 4.629 85.712 4.912 C 85.576 5.213 85.509 5.54 85.515 5.87 L 85.515 6.62 C 85.515 7.047 85.587 7.413 85.731 7.717 C 85.879 8.017 86.089 8.248 86.359 8.409 C 86.63 8.566 86.948 8.644 87.312 8.644 C 87.562 8.644 87.786 8.608 87.984 8.536 C 88.177 8.467 88.353 8.356 88.499 8.212 C 88.642 8.072 88.749 7.906 88.816 7.711 L 90.326 7.921 C 90.228 8.313 90.032 8.673 89.756 8.968 C 89.476 9.268 89.125 9.503 88.702 9.672 C 88.282 9.842 87.811 9.926 87.286 9.926 Z M 72.643 9.781 L 72.643 2.818 L 74.191 2.818 L 74.235 4.443 L 74.115 4.443 C 74.225 4.041 74.385 3.713 74.597 3.459 C 74.798 3.212 75.055 3.016 75.347 2.888 C 75.63 2.761 75.928 2.698 76.241 2.698 C 76.753 2.698 77.177 2.854 77.511 3.167 C 77.849 3.48 78.074 3.922 78.184 4.494 L 77.987 4.494 C 78.066 4.132 78.232 3.795 78.469 3.51 C 78.691 3.248 78.972 3.041 79.289 2.907 C 79.615 2.766 79.968 2.695 80.323 2.697 C 80.746 2.697 81.127 2.79 81.465 2.977 C 81.808 3.159 82.077 3.429 82.272 3.789 C 82.47 4.149 82.57 4.591 82.57 5.116 L 82.57 9.781 L 80.939 9.781 L 80.939 5.363 C 80.939 4.923 80.818 4.602 80.577 4.398 C 80.333 4.19 80.021 4.08 79.701 4.088 C 79.434 4.088 79.204 4.145 79.009 4.258 C 78.816 4.371 78.66 4.536 78.559 4.735 C 78.449 4.953 78.394 5.195 78.399 5.439 L 78.399 9.781 L 76.813 9.781 L 76.813 5.287 C 76.813 4.923 76.698 4.633 76.47 4.417 C 76.246 4.197 75.958 4.087 75.606 4.087 C 75.366 4.087 75.143 4.145 74.94 4.259 C 74.737 4.374 74.569 4.543 74.458 4.748 C 74.339 4.963 74.28 5.23 74.28 5.548 L 74.28 9.781 L 72.642 9.781 Z M 67.291 9.915 C 66.724 9.915 66.221 9.771 65.781 9.483 C 65.344 9.191 65 8.776 64.746 8.239 C 64.496 7.701 64.371 7.059 64.371 6.309 C 64.371 5.552 64.498 4.904 64.752 4.367 C 65.01 3.829 65.359 3.419 65.799 3.135 C 66.244 2.851 66.763 2.703 67.291 2.71 C 67.668 2.71 67.987 2.771 68.25 2.894 C 68.516 3.013 68.736 3.164 68.91 3.351 C 69.083 3.533 69.22 3.719 69.322 3.91 L 69.38 3.91 L 69.38 2.818 L 70.998 2.818 L 70.998 9.781 L 69.38 9.781 L 69.38 8.696 L 69.322 8.696 C 69.211 8.908 69.07 9.102 68.903 9.273 C 68.726 9.46 68.503 9.614 68.237 9.737 C 67.938 9.863 67.615 9.923 67.291 9.915 Z M 67.723 8.563 C 68.078 8.563 68.383 8.469 68.637 8.283 C 68.901 8.079 69.101 7.804 69.215 7.49 C 69.35 7.147 69.418 6.751 69.418 6.303 C 69.418 5.85 69.35 5.456 69.214 5.123 C 69.103 4.811 68.902 4.539 68.637 4.341 C 68.387 4.155 68.083 4.062 67.723 4.062 C 67.363 4.062 67.058 4.155 66.809 4.342 C 66.559 4.528 66.369 4.788 66.237 5.122 C 66.107 5.456 66.041 5.85 66.041 6.302 C 66.041 6.752 66.106 7.145 66.237 7.483 C 66.369 7.822 66.559 8.086 66.809 8.277 C 67.063 8.467 67.367 8.563 67.723 8.563 Z M 59.909 9.781 L 59.909 2.818 L 61.489 2.818 L 61.489 3.98 L 61.546 3.98 C 61.673 3.577 61.887 3.269 62.188 3.053 C 62.488 2.837 62.846 2.729 63.26 2.729 C 63.358 2.729 63.46 2.733 63.565 2.742 C 63.671 2.75 63.76 2.759 63.832 2.767 L 63.832 4.253 C 63.725 4.23 63.617 4.215 63.508 4.209 C 63.361 4.192 63.212 4.184 63.064 4.184 C 62.776 4.184 62.516 4.247 62.283 4.374 C 62.054 4.497 61.875 4.674 61.743 4.907 C 61.607 5.16 61.539 5.445 61.546 5.732 L 61.546 9.782 L 59.909 9.782 Z M 52.647 9.781 L 52.647 0.323 L 58.804 0.323 L 58.804 1.758 L 54.336 1.758 L 54.336 4.513 L 58.411 4.513 L 58.411 5.928 L 54.336 5.928 L 54.336 9.781 Z M 43.265 5.744 L 43.265 9.781 L 41.628 9.781 L 41.628 2.818 L 43.195 2.818 L 43.215 4.551 L 43.024 4.551 C 43.223 3.946 43.517 3.489 43.906 3.18 C 44.296 2.867 44.78 2.71 45.36 2.71 C 45.842 2.71 46.263 2.814 46.623 3.021 C 46.987 3.228 47.268 3.531 47.467 3.929 C 47.67 4.322 47.772 4.805 47.772 5.376 L 47.772 9.781 L 46.141 9.781 L 46.141 5.63 C 46.141 5.147 46.018 4.775 45.773 4.513 C 45.531 4.246 45.195 4.113 44.763 4.113 C 44.475 4.113 44.217 4.176 43.989 4.303 C 43.762 4.429 43.576 4.619 43.456 4.849 C 43.329 5.09 43.266 5.389 43.266 5.744 Z M 38.353 9.781 L 38.353 2.818 L 39.99 2.818 L 39.99 9.781 L 38.352 9.781 Z M 39.171 1.815 C 38.919 1.821 38.675 1.728 38.491 1.555 C 38.31 1.389 38.208 1.153 38.212 0.907 C 38.208 0.663 38.31 0.43 38.492 0.267 C 38.674 0.091 38.918 -0.005 39.171 0 C 39.438 0 39.664 0.088 39.851 0.266 C 40.041 0.44 40.136 0.653 40.136 0.907 C 40.136 1.161 40.041 1.377 39.85 1.555 C 39.667 1.728 39.423 1.821 39.171 1.815 Z M 30.741 9.927 C 30.043 9.927 29.44 9.779 28.932 9.483 C 28.426 9.185 28.018 8.746 27.758 8.22 C 27.488 7.678 27.352 7.048 27.352 6.328 C 27.352 5.618 27.487 4.988 27.758 4.443 C 28.015 3.917 28.415 3.475 28.913 3.167 C 29.408 2.858 29.986 2.704 30.646 2.704 C 31.095 2.704 31.514 2.78 31.903 2.932 C 32.293 3.079 32.646 3.308 32.938 3.605 C 33.234 3.901 33.464 4.272 33.629 4.715 C 33.799 5.155 33.883 5.67 33.883 6.258 L 33.883 6.748 L 28.083 6.748 L 28.083 5.629 L 33.066 5.629 L 32.316 5.946 C 32.316 5.553 32.251 5.21 32.12 4.918 C 32.005 4.641 31.811 4.404 31.561 4.238 C 31.316 4.074 31.015 3.991 30.66 3.991 C 30.34 3.983 30.024 4.069 29.752 4.239 C 29.498 4.404 29.303 4.629 29.168 4.912 C 29.032 5.213 28.965 5.54 28.971 5.87 L 28.971 6.62 C 28.971 7.047 29.043 7.413 29.187 7.717 C 29.335 8.017 29.545 8.248 29.816 8.409 C 30.086 8.566 30.404 8.644 30.768 8.644 C 31.018 8.644 31.242 8.608 31.441 8.536 C 31.634 8.467 31.809 8.356 31.955 8.212 C 32.099 8.072 32.205 7.906 32.272 7.711 L 33.782 7.921 C 33.684 8.313 33.488 8.673 33.212 8.968 C 32.932 9.268 32.581 9.503 32.158 9.672 C 31.707 9.847 31.226 9.934 30.742 9.926 Z M 22.312 9.915 C 21.777 9.924 21.251 9.774 20.801 9.483 C 20.361 9.191 20.016 8.776 19.766 8.239 C 19.516 7.701 19.392 7.059 19.392 6.309 C 19.392 5.552 19.519 4.904 19.772 4.367 C 20.027 3.829 20.374 3.419 20.814 3.135 C 21.254 2.852 21.751 2.71 22.305 2.71 C 22.682 2.71 23.001 2.771 23.264 2.894 C 23.53 3.013 23.748 3.164 23.918 3.351 C 24.091 3.533 24.228 3.721 24.33 3.916 L 24.381 3.916 L 24.381 0.323 L 26.019 0.323 L 26.019 9.781 L 24.413 9.781 L 24.413 8.689 L 24.343 8.689 C 24.233 8.904 24.091 9.101 23.923 9.273 C 23.734 9.468 23.51 9.626 23.263 9.737 C 23.001 9.855 22.684 9.915 22.312 9.915 Z M 22.737 8.563 C 23.092 8.563 23.397 8.469 23.651 8.283 C 23.915 8.079 24.115 7.804 24.229 7.49 C 24.364 7.147 24.432 6.751 24.432 6.303 C 24.432 5.85 24.364 5.456 24.229 5.123 C 24.118 4.811 23.917 4.539 23.651 4.341 C 23.385 4.151 23.064 4.053 22.737 4.062 C 22.41 4.053 22.089 4.152 21.823 4.342 C 21.573 4.528 21.383 4.79 21.252 5.128 C 21.118 5.505 21.054 5.903 21.062 6.303 C 21.062 6.751 21.127 7.145 21.258 7.483 C 21.389 7.822 21.58 8.086 21.829 8.277 C 22.079 8.467 22.381 8.563 22.737 8.563 Z M 14.352 9.915 C 13.817 9.924 13.291 9.774 12.841 9.483 C 12.405 9.191 12.061 8.776 11.806 8.239 C 11.556 7.701 11.432 7.059 11.432 6.309 C 11.432 5.552 11.559 4.904 11.812 4.367 C 12.071 3.829 12.42 3.419 12.86 3.135 C 13.3 2.852 13.797 2.71 14.352 2.71 C 14.728 2.71 15.048 2.771 15.31 2.894 C 15.577 3.013 15.797 3.164 15.97 3.351 C 16.144 3.533 16.281 3.719 16.383 3.91 L 16.44 3.91 L 16.44 2.818 L 18.059 2.818 L 18.059 9.781 L 16.44 9.781 L 16.44 8.696 L 16.383 8.696 C 16.272 8.908 16.131 9.102 15.964 9.273 C 15.786 9.46 15.564 9.614 15.298 9.737 C 14.999 9.863 14.676 9.923 14.352 9.915 Z M 14.783 8.563 C 15.139 8.563 15.443 8.469 15.697 8.283 C 15.951 8.093 16.144 7.828 16.275 7.49 C 16.41 7.147 16.478 6.751 16.478 6.303 C 16.478 5.85 16.41 5.456 16.275 5.123 C 16.164 4.811 15.963 4.539 15.697 4.341 C 15.447 4.155 15.143 4.062 14.783 4.062 C 14.423 4.062 14.119 4.155 13.869 4.342 C 13.608 4.543 13.41 4.813 13.298 5.122 C 13.167 5.456 13.101 5.85 13.101 6.302 C 13.101 6.752 13.167 7.145 13.298 7.483 C 13.429 7.822 13.62 8.086 13.869 8.277 C 14.123 8.467 14.428 8.563 14.783 8.563 Z M 0 9.781 L 0 0.323 L 2.507 0.323 L 4.322 5.236 C 4.382 5.418 4.452 5.646 4.532 5.922 C 4.612 6.197 4.695 6.493 4.779 6.811 C 4.864 7.124 4.942 7.428 5.014 7.725 C 5.09 8.017 5.154 8.273 5.204 8.493 L 4.843 8.493 C 5.045 7.633 5.267 6.778 5.509 5.928 C 5.589 5.648 5.662 5.418 5.725 5.236 L 7.509 0.323 L 10.023 0.323 L 10.023 9.781 L 8.347 9.781 L 8.347 4.989 C 8.35 4.443 8.358 3.897 8.372 3.351 L 8.398 2.38 C 8.406 2.054 8.412 1.743 8.417 1.447 L 8.563 1.447 C 8.473 1.773 8.379 2.107 8.277 2.45 L 7.979 3.446 C 7.886 3.764 7.795 4.056 7.706 4.322 C 7.636 4.546 7.561 4.768 7.483 4.989 L 5.719 9.781 L 4.303 9.781 L 2.513 4.989 L 2.291 4.329 C 2.198 4.04 2.107 3.75 2.018 3.459 L 1.713 2.469 C 1.613 2.129 1.514 1.788 1.415 1.447 L 1.593 1.447 C 1.597 1.73 1.603 2.035 1.612 2.361 C 1.62 2.682 1.627 3.006 1.631 3.332 C 1.639 3.654 1.646 3.958 1.65 4.246 C 1.658 4.534 1.663 4.781 1.663 4.989 L 1.663 9.781 Z\" fill=\"var(--1bd4d3i, rgb(0, 0, 0))\" height=\"9.927205036163329px\" id=\"LLqmOOyHA\" transform=\"translate(0 -0.25)\" width=\"95.65900006103517px\"/></svg>\\'), var(--framer-icon-mask, none)';const maskMode=\"alpha, var(--framer-icon-mask-mode, add)\";const maskRepeat=\"no-repeat\";const maskPosition=\"center\";const maskSize=\"auto\";const SVG=/*#__PURE__*/forwardRef((props,ref)=>{const{animated,layoutId,children,...rest}=props;return animated?/*#__PURE__*/_jsx(motion.div,{...rest,layoutId:layoutId,ref:ref}):/*#__PURE__*/_jsx(\"div\",{...rest,ref:ref});});const getProps=({fill,fill2,height,id,width,...props})=>{return{...props,vtL2DrqsL:fill2??props.vtL2DrqsL??\"rgb(0, 0, 0)\",Z1QnXqTEb:fill??props.Z1QnXqTEb??\"rgb(0, 0, 0)\"};};const Component=/*#__PURE__*/React.forwardRef(function(props,ref){const{style,className,layoutId,variant,Z1QnXqTEb,vtL2DrqsL,...restProps}=getProps(props);return /*#__PURE__*/_jsx(SVG,{...restProps,className:cx(\"framer-g7oZR\",className),layoutId:layoutId,ref:ref,style:{\"--1bd4d3i\":Z1QnXqTEb,...style}});});const css=[`.framer-g7oZR { -webkit-mask-image: ${maskImage}; -webkit-mask-position: ${maskPosition}; -webkit-mask-repeat: ${maskRepeat}; -webkit-mask-size: ${maskSize}; aspect-ratio: 9.7; background-color: var(--1bd4d3i); mask-image: ${maskImage}; mask-mode: ${maskMode}; mask-position: ${maskPosition}; mask-repeat: ${maskRepeat}; mask-size: ${maskSize}; width: 97px; }`];/**\n * This is a generated Framer component.\n * @framerIntrinsicWidth 97\n * @framerIntrinsicHeight 10\n * @framerSupportedLayoutWidth any-prefer-fixed\n * @framerSupportedLayoutHeight any-prefer-fixed\n * @framerVariables {\"Z1QnXqTEb\":\"fill\",\"vtL2DrqsL\":\"fill2\"}\n * @framerImmutableVariables true\n * @framerVector {\"name\":\"Text\",\"color\":{\"type\":\"variable\",\"value\":\"1bd4d3i\"},\"set\":{\"localId\":\"vectorSet/thvUZpt_P\",\"id\":\"thvUZpt_P\",\"moduleId\":\"E4PMWqXdwPvchBxv0O7p\"}}\n */const Icon=withCSS(Component,css,\"framer-g7oZR\");Icon.displayName=\"Text\";export default Icon;addPropertyControls(Icon,{Z1QnXqTEb:{defaultValue:\"rgb(0, 0, 0)\",hidden:false,title:\"Fill\",type:ControlType.Color},vtL2DrqsL:{defaultValue:\"rgb(0, 0, 0)\",hidden:true,title:\"Fill 2\",type:ControlType.Color}});\nexport const __FramerMetadata__ = {\"exports\":{\"default\":{\"type\":\"reactComponent\",\"name\":\"Icon\",\"slots\":[],\"annotations\":{\"framerIntrinsicWidth\":\"97\",\"framerIntrinsicHeight\":\"10\",\"framerSupportedLayoutWidth\":\"any-prefer-fixed\",\"framerContractVersion\":\"1\",\"framerVariables\":\"{\\\"Z1QnXqTEb\\\":\\\"fill\\\",\\\"vtL2DrqsL\\\":\\\"fill2\\\"}\",\"framerImmutableVariables\":\"true\",\"framerVector\":\"{\\\"name\\\":\\\"Text\\\",\\\"color\\\":{\\\"type\\\":\\\"variable\\\",\\\"value\\\":\\\"1bd4d3i\\\"},\\\"set\\\":{\\\"localId\\\":\\\"vectorSet/thvUZpt_P\\\",\\\"id\\\":\\\"thvUZpt_P\\\",\\\"moduleId\\\":\\\"E4PMWqXdwPvchBxv0O7p\\\"}}\",\"framerSupportedLayoutHeight\":\"any-prefer-fixed\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}","// Generated by Framer (464f719-dev)\nimport{jsx as _jsx}from\"react/jsx-runtime\";import{addPropertyControls,ControlType,cx,motion,withCSS}from\"framer\";import*as React from\"react\";import{forwardRef}from\"react\";const maskImage='url(\\'data:image/svg+xml,<svg display=\"block\" role=\"presentation\" viewBox=\"0 0 12 20\" xmlns=\"http://www.w3.org/2000/svg\"><path d=\"M 0 0 L 12 0 L 12 6 L 6 6 Z M 0 6 L 6 6 L 12 12 L 6 12 L 6 18 L 0 12 Z\" fill=\"var(--1bd4d3i, rgb(0, 0, 0))\" height=\"18px\" id=\"td4SVg2I8\" transform=\"translate(0 1.5)\" width=\"12px\"/></svg>\\'), var(--framer-icon-mask, none)';const maskMode=\"alpha, var(--framer-icon-mask-mode, add)\";const maskRepeat=\"no-repeat\";const maskPosition=\"center\";const maskSize=\"auto\";const SVG=/*#__PURE__*/forwardRef((props,ref)=>{const{animated,layoutId,children,...rest}=props;return animated?/*#__PURE__*/_jsx(motion.div,{...rest,layoutId:layoutId,ref:ref}):/*#__PURE__*/_jsx(\"div\",{...rest,ref:ref});});const getProps=({fill,fill2,height,id,width,...props})=>{return{...props,vtL2DrqsL:fill2??props.vtL2DrqsL??\"rgb(0, 0, 0)\",Z1QnXqTEb:fill??props.Z1QnXqTEb??\"rgb(0, 0, 0)\"};};const Component=/*#__PURE__*/React.forwardRef(function(props,ref){const{style,className,layoutId,variant,Z1QnXqTEb,vtL2DrqsL,...restProps}=getProps(props);return /*#__PURE__*/_jsx(SVG,{...restProps,className:cx(\"framer-hcsc7\",className),layoutId:layoutId,ref:ref,style:{\"--1bd4d3i\":Z1QnXqTEb,...style}});});const css=[`.framer-hcsc7 { -webkit-mask-image: ${maskImage}; -webkit-mask-position: ${maskPosition}; -webkit-mask-repeat: ${maskRepeat}; -webkit-mask-size: ${maskSize}; aspect-ratio: 0.6; background-color: var(--1bd4d3i); mask-image: ${maskImage}; mask-mode: ${maskMode}; mask-position: ${maskPosition}; mask-repeat: ${maskRepeat}; mask-size: ${maskSize}; width: 12px; }`];/**\n * This is a generated Framer component.\n * @framerIntrinsicWidth 12\n * @framerIntrinsicHeight 20\n * @framerSupportedLayoutWidth any-prefer-fixed\n * @framerSupportedLayoutHeight any-prefer-fixed\n * @framerVariables {\"Z1QnXqTEb\":\"fill\",\"vtL2DrqsL\":\"fill2\"}\n * @framerImmutableVariables true\n * @framerVector {\"name\":\"Framer\",\"color\":{\"type\":\"variable\",\"value\":\"1bd4d3i\"},\"set\":{\"localId\":\"vectorSet/thvUZpt_P\",\"id\":\"thvUZpt_P\",\"moduleId\":\"E4PMWqXdwPvchBxv0O7p\"}}\n */const Icon=withCSS(Component,css,\"framer-hcsc7\");Icon.displayName=\"Framer\";export default Icon;addPropertyControls(Icon,{Z1QnXqTEb:{defaultValue:\"rgb(0, 0, 0)\",hidden:false,title:\"Fill\",type:ControlType.Color},vtL2DrqsL:{defaultValue:\"rgb(0, 0, 0)\",hidden:true,title:\"Fill 2\",type:ControlType.Color}});\nexport const __FramerMetadata__ = {\"exports\":{\"default\":{\"type\":\"reactComponent\",\"name\":\"Icon\",\"slots\":[],\"annotations\":{\"framerContractVersion\":\"1\",\"framerImmutableVariables\":\"true\",\"framerVariables\":\"{\\\"Z1QnXqTEb\\\":\\\"fill\\\",\\\"vtL2DrqsL\\\":\\\"fill2\\\"}\",\"framerIntrinsicWidth\":\"12\",\"framerSupportedLayoutWidth\":\"any-prefer-fixed\",\"framerVector\":\"{\\\"name\\\":\\\"Framer\\\",\\\"color\\\":{\\\"type\\\":\\\"variable\\\",\\\"value\\\":\\\"1bd4d3i\\\"},\\\"set\\\":{\\\"localId\\\":\\\"vectorSet/thvUZpt_P\\\",\\\"id\\\":\\\"thvUZpt_P\\\",\\\"moduleId\\\":\\\"E4PMWqXdwPvchBxv0O7p\\\"}}\",\"framerIntrinsicHeight\":\"20\",\"framerSupportedLayoutHeight\":\"any-prefer-fixed\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}","// Generated by Framer (332c618)\nimport{jsx as _jsx,jsxs as _jsxs}from\"react/jsx-runtime\";import{addFonts,cx,getFonts,Link,useComponentViewport,useLocaleInfo,useVariantState,withCodeBoundaryForOverrides,withCSS,withFX,withOptimizedAppearEffect}from\"framer\";import{LayoutGroup,motion,MotionConfigContext}from\"framer-motion\";import*as React from\"react\";import{useRef}from\"react\";import{withFramerBadgeHandling,withText}from\"https://framerusercontent.com/modules/gHq0X0Tq3Bov414yjLXK/MareZLDFu3yAaERz5qaC/Click.js\";import Text from\"https://framerusercontent.com/modules/Fsj5Q1wuxJqcJKikrUcr/DWPTg36TPcxWwMyIKjQB/L33Hu7YVx.js\";import Framer from\"https://framerusercontent.com/modules/OW7AYQ4a6z9WWvElhH6S/qf8XQgO3ASsbBnwlgbKi/XCOJBBdvI.js\";const FramerFonts=getFonts(Framer);const TextFonts=getFonts(Text);const TextWithText1um7t9d=withCodeBoundaryForOverrides(Text,{nodeId:\"pBR1Ew0r8\",override:withText,scopeId:\"PX9hIOIVM\"});const MotionAWithFramerBadgeHandlingn0ccwkWithFXWithOptimizedAppearEffect=withOptimizedAppearEffect(withFX(withCodeBoundaryForOverrides(motion.a,{nodeId:\"HK2sXlagE\",override:withFramerBadgeHandling,scopeId:\"PX9hIOIVM\"})));const serializationHash=\"framer-6jWyo\";const variantClassNames={HK2sXlagE:\"framer-v-n0ccwk\"};function addPropertyOverrides(overrides,...variants){const nextOverrides={};variants?.forEach(variant=>variant&&Object.assign(nextOverrides,overrides[variant]));return nextOverrides;}const transition1={damping:40,delay:1,mass:1.5,stiffness:350,type:\"spring\"};const animation={opacity:1,rotate:0,rotateX:0,rotateY:0,scale:1,skewX:0,skewY:0,transition:transition1,x:0,y:0};const animation1={opacity:.001,rotate:0,rotateX:0,rotateY:0,scale:1,skewX:0,skewY:0,x:0,y:10};const transition2={duration:0,type:\"tween\"};const transformTemplate1=(_,t)=>`translate(-50%, -50%) ${t}`;const transformTemplate2=(_,t)=>`translateX(-50%) ${t}`;const Transition=({value,children})=>{const config=React.useContext(MotionConfigContext);const transition=value??config.transition;const contextValue=React.useMemo(()=>({...config,transition}),[JSON.stringify(transition)]);return /*#__PURE__*/_jsx(MotionConfigContext.Provider,{value:contextValue,children:children});};const Variants=motion.create(React.Fragment);const getProps=({height,id,width,...props})=>{return{...props};};const createLayoutDependency=(props,variants)=>{if(props.layoutDependency)return variants.join(\"-\")+props.layoutDependency;return variants.join(\"-\");};const Component=/*#__PURE__*/React.forwardRef(function(props,ref){const fallbackRef=useRef(null);const refBinding=ref??fallbackRef;const defaultLayoutId=React.useId();const{activeLocale,setLocale}=useLocaleInfo();const componentViewport=useComponentViewport();const{style,className,layoutId,variant,...restProps}=getProps(props);const{baseVariant,classNames,clearLoadingGesture,gestureHandlers,gestureVariant,isLoading,setGestureState,setVariant,variants}=useVariantState({defaultVariant:\"HK2sXlagE\",ref:refBinding,variant,variantClassNames});const layoutDependency=createLayoutDependency(props,variants);const sharedStyleClassNames=[];const scopingClassNames=cx(serializationHash,...sharedStyleClassNames);return /*#__PURE__*/_jsx(LayoutGroup,{id:layoutId??defaultLayoutId,children:/*#__PURE__*/_jsx(Variants,{animate:variants,initial:false,children:/*#__PURE__*/_jsx(Transition,{value:transition2,children:/*#__PURE__*/_jsx(Link,{href:\"https://www.framer.com\",motionChild:true,nodeId:\"HK2sXlagE\",openInNewTab:false,relValues:[],scopeId:\"PX9hIOIVM\",children:/*#__PURE__*/_jsxs(MotionAWithFramerBadgeHandlingn0ccwkWithFXWithOptimizedAppearEffect,{...restProps,...gestureHandlers,__framer__presenceAnimate:animation,__framer__presenceInitial:animation1,__perspectiveFX:false,__smartComponentFX:true,__targetOpacity:1,className:`${cx(scopingClassNames,\"framer-n0ccwk\",className,classNames)} framer-bmpgw8`,\"data-framer-appear-id\":\"n0ccwk\",\"data-framer-name\":\"Light\",\"data-nosnippet\":true,layoutDependency:layoutDependency,layoutId:\"HK2sXlagE\",optimized:true,ref:refBinding,style:{...style},children:[/*#__PURE__*/_jsx(motion.div,{className:\"framer-13yxzio\",\"data-framer-name\":\"Backdrop\",layoutDependency:layoutDependency,layoutId:\"IH1cvP0s5\",style:{backgroundColor:\"rgb(255, 255, 255)\",borderBottomLeftRadius:10,borderBottomRightRadius:10,borderTopLeftRadius:10,borderTopRightRadius:10,boxShadow:\"0px 0.6021873017743928px 1.5656869846134214px -1.5px rgba(0, 0, 0, 0.17), 0px 2.288533303243457px 5.950186588432988px -3px rgba(0, 0, 0, 0.14), 0px 10px 26px -4.5px rgba(0, 0, 0, 0.02)\"}}),/*#__PURE__*/_jsxs(motion.div,{className:\"framer-19yaanm\",\"data-framer-name\":\"Content\",layoutDependency:layoutDependency,layoutId:\"U6HIU1IEW\",transformTemplate:transformTemplate1,children:[/*#__PURE__*/_jsx(motion.div,{className:\"framer-1kflzx5\",layoutDependency:layoutDependency,layoutId:\"roMJYXHnO\",children:/*#__PURE__*/_jsx(Framer,{animated:true,className:\"framer-e50co\",\"data-framer-name\":\"Logo\",layoutDependency:layoutDependency,layoutId:\"O3s3GcxMZ\",style:{\"--1bd4d3i\":\"rgb(0, 0, 0)\",\"--otdjsv\":\"rgb(0, 0, 0)\"},transformTemplate:transformTemplate2})}),/*#__PURE__*/_jsx(TextWithText1um7t9d,{animated:true,className:\"framer-1um7t9d\",\"data-framer-name\":\"Text\",layoutDependency:layoutDependency,layoutId:\"pBR1Ew0r8\",style:{\"--1bd4d3i\":\"rgb(0, 0, 0)\",\"--otdjsv\":\"rgb(0, 0, 0)\"}})]}),/*#__PURE__*/_jsx(motion.div,{className:\"framer-j4ugry\",\"data-framer-name\":\"Bottom\",layoutDependency:layoutDependency,layoutId:\"vCwsHyUh8\",style:{borderBottomLeftRadius:11,borderBottomRightRadius:11,borderTopLeftRadius:11,borderTopRightRadius:11,boxShadow:\"inset 0px 0px 0px 1px rgb(0, 0, 0)\",mask:\"linear-gradient(180deg, rgba(0,0,0,0) 65%, rgba(0,0,0,1) 100%) add\",opacity:.06,WebkitMask:\"linear-gradient(180deg, rgba(0,0,0,0) 65%, rgba(0,0,0,1) 100%) add\"}}),/*#__PURE__*/_jsx(motion.div,{className:\"framer-jnuwbw\",\"data-framer-name\":\"Border\",layoutDependency:layoutDependency,layoutId:\"ZirFGX8Eh\",style:{borderBottomLeftRadius:11,borderBottomRightRadius:11,borderTopLeftRadius:11,borderTopRightRadius:11,boxShadow:\"inset 0px 0px 0px 1px rgb(0, 0, 0)\",opacity:.04}})]})})})})});});const css=[\"@supports (aspect-ratio: 1) { body { --framer-aspect-ratio-supported: auto; } }\",\".framer-6jWyo.framer-bmpgw8, .framer-6jWyo .framer-bmpgw8 { display: block; }\",\".framer-6jWyo.framer-n0ccwk { gap: 10px; height: 38px; overflow: visible; position: relative; text-decoration: none; width: 140px; }\",\".framer-6jWyo .framer-13yxzio { bottom: 1px; flex: none; left: 1px; overflow: hidden; position: absolute; right: 1px; top: 1px; will-change: var(--framer-will-change-override, transform); }\",\".framer-6jWyo .framer-19yaanm { align-content: center; align-items: center; display: flex; flex: none; flex-direction: row; flex-wrap: nowrap; gap: 10px; height: min-content; justify-content: flex-start; left: 50%; overflow: visible; padding: 0px; position: absolute; top: 50%; width: min-content; }\",\".framer-6jWyo .framer-1kflzx5 { flex: none; height: 16px; overflow: visible; position: relative; width: 12px; }\",\".framer-6jWyo .framer-e50co { flex: none; height: var(--framer-aspect-ratio-supported, 20px); left: 50%; position: absolute; top: -2px; }\",\".framer-6jWyo .framer-1um7t9d { flex: none; height: var(--framer-aspect-ratio-supported, 10px); position: relative; }\",\".framer-6jWyo .framer-j4ugry, .framer-6jWyo .framer-jnuwbw { bottom: 0px; flex: none; left: 0px; overflow: visible; pointer-events: none; position: absolute; right: 0px; top: 0px; }\"];/**\n * This is a generated Framer component.\n * @framerIntrinsicHeight 38\n * @framerIntrinsicWidth 140\n * @framerCanvasComponentVariantDetails {\"propertyName\":\"variant\",\"data\":{\"default\":{\"layout\":[\"fixed\",\"fixed\"]}}}\n * @framerImmutableVariables true\n * @framerDisplayContentsDiv false\n * @framerAutoSizeImages true\n * @framerComponentViewportWidth true\n * @framerColorSyntax true\n */const FramerPX9hIOIVM=withCSS(Component,css,\"framer-6jWyo\");export default FramerPX9hIOIVM;FramerPX9hIOIVM.displayName=\"Badge\";FramerPX9hIOIVM.defaultProps={height:38,width:140};addFonts(FramerPX9hIOIVM,[{explicitInter:true,fonts:[]},...FramerFonts,...TextFonts],{supportsExplicitInterCodegen:true});\nexport const __FramerMetadata__ = {\"exports\":{\"Props\":{\"type\":\"tsType\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"default\":{\"type\":\"reactComponent\",\"name\":\"FramerPX9hIOIVM\",\"slots\":[],\"annotations\":{\"framerAutoSizeImages\":\"true\",\"framerContractVersion\":\"1\",\"framerComponentViewportWidth\":\"true\",\"framerCanvasComponentVariantDetails\":\"{\\\"propertyName\\\":\\\"variant\\\",\\\"data\\\":{\\\"default\\\":{\\\"layout\\\":[\\\"fixed\\\",\\\"fixed\\\"]}}}\",\"framerIntrinsicWidth\":\"140\",\"framerIntrinsicHeight\":\"38\",\"framerColorSyntax\":\"true\",\"framerDisplayContentsDiv\":\"false\",\"framerImmutableVariables\":\"true\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}"],"mappings":"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GAAG,oBAAoB,GAAG,oBAAoB,GAAG,oBAAoB,GAAG,oBAAoB,GAAG,oBAAoB,GAAG,oBAAoB,GAAG,oBAAoB,GAAG,oBAAoB,GAAG,oBAAoB,GAAG,oBAAoB,GAAG,mBAAmB,GAAG,oBAAoB,GAAG,oBAAoB,GAAG,oBAAoB,GAAG,oBAAoB,GAAG,oBAAoB,GAAG,oBAAoB,GAAG,oBAAoB,GAAG,oBAAoB,GAAG,oBAAoB,GAAG,oBAAoB,GAAG,mBAAmB,GAAG,oBAAoB,GAAG,oBAAoB,GAAG,oBAAoB,GAAG,oBAAoB,GAAG,oBAAoB,GAAG,oBAAoB,GAAG,oBAAoB,GAAG,oBAAoB,GAAG,oBAAoB,GAAG,oBAAoB,GAAG,mBAAmB,GAAG,oBAAoB,GAAG,oBAAoB,GAAG,oBAAoB,GAAG,oBAAoB,GAAG,oBAAoB,GAAG,oBAAoB,GAAG,oBAAoB,GAAG,oBAAoB,GAAG,oBAAoB,GAAG,oBAAoB,GAAG,mBAAmB,GAAG,oBAAoB,GAAG,qBAAqB,GAAG,oBAAoB,GAAG,oBAAoB,GAAG,oBAAoB,GAAG,oBAAoB,GAAG,oBAAoB,GAAG,oBAAoB,GAAG,oBAAoB,GAAG,oBAAoB,GAAG,oBAAoB,GAAG,mBAAmB,GAAG,oBAAoB,GAAG,oBAAoB,GAAG,oBAAoB,GAAG,oBAAoB,GAAG,oBAAoB,GAAG,oBAAoB,GAAG,oBAAoB,GAAG,oBAAoB,GAAG,oBAAoB,GAAG,oBAAoB,GAAG,mBAAmB,GAAG,oBAAoB,GAAG,oBAAoB,GAAG,oBAAoB,GAAG,oBAAoB,GAAG,oBAAoB,GAAG,oBAAoB,GAAG,oBAAoB,GAAG,oBAAoB,GAAG,oBAAoB,GAAG,oBAAoB,GAAG,mBAAmB,GAAG,oBAAoB,GAAG,oBAAoB,GAAG,oBAAoB,GAAG,oBAAoB,GAAG,oBAAoB,GAAG,oBAAoB,GAAG,oBAAoB,GAAG,oBAAoB,GAAG,oBAAoB,GAAG,oBAAoB,GAAG,mBAAmB,GAAG,oBAAoB,GAAG,oBAAoB,GAAG,oBAAoB,GAAG,oBAAoB,GAAG,oBAAoB,GAAG,oBAAoB,GAAG,oBAAoB,GAAG,oBAAoB,GAAG,oBAAoB,GAAG,oBAAoB,GAAG,mBAAmB,GAAG,oBAAoB,GAAG,oBAAoB,GAAG,oBAAoB,GAAG,oBAAoB,GAAG,oBAAoB,GAAG,oBAAoB,GAAG,oBAAoB,GAAG,oBAAoB,GAAG,oBAAoB,GAAG,oBAAoB,GAAG,mBAAmB,GAAG,oBAAoB,GAAG,oBAAoB,GAAG,oBAAoB,GAAG,oBAAoB,GAAG,oBAAoB,GAAG,oBAAoB,GAAG,oBAAoB,GAAG,oBAAoB,GAAG,oBAAoB,GAAG,oBAAoB,GAAG,mBAAmB,GAAG,oBAAoB,GAAG,oBAAoB,GAAG,oBAAoB,GAAG,oBAAoB,GAAG,oBAAoB,GAAG,oBAAoB,GAAG,oBAAoB,GAAG,oBAAoB,GAAG,oBAAoB,GAAG,oBAAoB,GAAG,mBAAmB,GAAG,oBAAoB,GAAG,oBAAoB,GAAG,oBAAoB,GAAG,oBAAoB,GAAG,oBAAoB,GAAG,oBAAoB,GAAG,oBAAoB,GAAG,oBAAoB,GAAG,oBAAoB,GAAG,oBAAoB,GAAG,iBAAiB,EAAE,CAAC,kBAAkB,EAAE,CAAC,mBAAmB,EAAE,CAAC,oBAAoB,EAAE,CAAC,mBAAmB,EAAE,CAAC,mBAAmB,EAAE,CAAC,mBAAmB,EAAE,CAAC,mBAAmB,EAAE,CAAC,mBAAmB,EAAE,CAAC,mBAAmB,EAAE,CAAC,mBAAmB,EAAE,CAAC,mBAAmB,EAAE,CAAC,mBAAmB,EAAE,CAAC,kBAAkB,EAAE,CAAC,mBAAmB,EAAE,CAAC,mBAAmB,EAAE,CAAC,mBAAmB,EAAE,CAAC,mBAAmB,EAAE,CAAC,mBAAmB,EAAE,CAAC,mBAAmB,EAAE,CAAC,mBAAmB,EAAE,CAAC,mBAAmB,EAAE,CAAC,mBAAmB,EAAE,CAAC,mBAAmB,EAAE,CAAC,kBAAkB,EAAE,CAAC,mBAAmB,EAAE,CAAC,mBAAmB,EAAE,CAAC,mBAAmB,EAAE,CAAC,mBAAmB,EAAE,CAAC,mBAAmB,EAAE,CAAC,mBAAmB,EAAE,CAAC,mBAAmB,EAAE,CAAC,mBAAmB,EAAE,CAAC,mBAAmB,EAAE,CAAC,mBAAmB,EAAE,CAAC,kBAAkB,EAAE,CAAC,mBAAmB,EAAE,CAAC,mBAAmB,EAAE,CAAC,mBAAmB,EAAE,CAAC,mBAAmB,EAAE,CAAC,mBAAmB,EAAE,CAAC,mBAAmB,EAAE,CAAC,mBAAmB,EAAE,CAAC,mBAAmB,EAAE,CAAC,mBAAmB,EAAE,CAAC,mBAAmB,EAAE,CAAC,kBAAkB,EAAE,CAAC,mBAAmB,EAAE,CAAC,mBAAmB,EAAE,CAAC,mBAAmB,EAAE,CAAC,mBAAmB,EAAE,CAAC,mBAAmB,EAAE,CAAC,mBAAmB,EAAE,CAAC,mBAAmB,EAAE,CAAC,mBAAmB,EAAE,CAAC,mBAAmB,EAAE,CAAC,mBAAmB,EAAE,CAAC,kBAAkB,EAAE,CAAC,mBAAmB,EAAE,CAAC,mBAAmB,EAAE,CAAC,mBAAmB,EAAE,CAAC,mBAAmB,EAAE,CAAC,mBAAmB,EAAE,CAAC,mBAAmB,EAAE,CAAC,mBAAmB,EAAE,CAAC,mBAAmB,EAAE,CAAC,mBAAmB,EAAE,CAAC,mBAAmB,EAAE,CAAC,kBAAkB,EAAE,CAAC,mBAAmB,EAAE,CAAC,mBAAmB,EAAE,CAAC,mBAAmB,EAAE,CAAC,mBAAmB,EAAE,CAAC,mBAAmB,EAAE,CAAC,mBAAmB,EAAE,CAAC,mBAAmB,EAAE,CAAC,mBAAmB,EAAE,CAAC,mBAAmB,EAAE,CAAC,mBAAmB,EAAE,CAAC,kBAAkB,EAAE,CAAC,mBAAmB,EAAE,CAAC,mBAAmB,EAAE,CAAC,mBAAmB,EAAE,CAAC,mBAAmB,EAAE,CAAC,mBAAmB,EAAE,CAAC,mBAAmB,EAAE,CAAC,mBAAmB,EAAE,CAAC,mBAAmB,EAAE,CAAC,mBAAmB,EAAE,CAAC,mBAAmB,EAAE,CAAC,kBAAkB,EAAE,CAAC,mBAAmB,EAAE,CAAC,mBAAmB,EAAE,CAAC,mBAAmB,EAAE,CAAC,mBAAmB,EAAE,CAAC,mBAAmB,EAAE,CAAC,mBAAmB,EAAE,CAAC,mBAAmB,EAAE,CAAC,mBAAmB,EAAE,CAAC,mBAAmB,EAAE,CAAC,mBAAmB,EAAE,CAAC,eAAe,EAAE,CAAC,gBAAgB,EAAE,CAAC,iBAAiB,EAAE,CAAC,kBAAkB,EAAE,CAAC,iBAAiB,EAAE,CAAC,iBAAiB,EAAE,CAAC,iBAAiB,EAAE,CAAC,iBAAiB,EAAE,CAAC,iBAAiB,EAAE,CAAC,iBAAiB,EAAE,CAAC,iBAAiB,EAAE,CAAC,iBAAiB,EAAE,CAAC,iBAAiB,EAAE,CAAC,gBAAgB,EAAE,CAAC,iBAAiB,EAAE,CAAC,iBAAiB,EAAE,CAAC,iBAAiB,EAAE,CAAC,iBAAiB,EAAE,CAAC,iBAAiB,EAAE,CAAC,iBAAiB,EAAE,CAAC,iBAAiB,EAAE,CAAC,iBAAiB,EAAE,CAAC,iBAAiB,EAAE,CAAC,iBAAiB,EAAE,CAAC,gBAAgB,EAAE,CAAC,iBAAiB,EAAE,CAAC,iBAAiB,EAAE,CAAC,iBAAiB,EAAE,CAAC,iBAAiB,EAAE,CAAC,iBAAiB,EAAE,CAAC,iBAAiB,EAAE,CAAC,iBAAiB,EAAE,CAAC,iBAAiB,EAAE,CAAC,iBAAiB,EAAE,CAAC,iBAAiB,EAAE,CAAC,gBAAgB,EAAE,CAAC,iBAAiB,EAAE,CAAC,iBAAiB,EAAE,CAAC,iBAAiB,EAAE,CAAC,iBAAiB,EAAE,CAAC,iBAAiB,EAAE,CAAC,iBAAiB,EAAE,CAAC,iBAAiB,EAAE,CAAC,iBAAiB,EAAE,CAAC,iBAAiB,EAAE,CAAC,iBAAiB,EAAE,CAAC,gBAAgB,EAAE,CAAC,iBAAiB,EAAE,CAAC,iBAAiB,EAAE,CAAC,iBAAiB,EAAE,CAAC,iBAAiB,EAAE,CAAC,iBAAiB,EAAE,CAAC,iBAAiB,EAAE,CAAC,iBAAiB,EAAE,CAAC,iBAAiB,EAAE,CAAC,iBAAiB,EAAE,CAAC,iBAAiB,EAAE,CAAC,gBAAgB,EAAE,CAAC,iBAAiB,EAAE,CAAC,iBAAiB,EAAE,CAAC,iBAAiB,EAAE,CAAC,iBAAiB,EAAE,CAAC,iBAAiB,EAAE,CAAC,iBAAiB,EAAE,CAAC,iBAAiB,EAAE,CAAC,iBAAiB,EAAE,CAAC,iBAAiB,EAAE,CAAC,iBAAiB,EAAE,CAAC,gBAAgB,EAAE,CAAC,iBAAiB,EAAE,CAAC,iBAAiB,EAAE,CAAC,iBAAiB,EAAE,CAAC,iBAAiB,EAAE,CAAC,iBAAiB,EAAE,CAAC,iBAAiB,EAAE,CAAC,iBAAiB,EAAE,CAAC,iBAAiB,EAAE,CAAC,iBAAiB,EAAE,CAAC,iBAAiB,EAAE,CAAC,gBAAgB,EAAE,CAAC,iBAAiB,EAAE,CAAC,iBAAiB,EAAE,CAAC,iBAAiB,EAAE,CAAC,iBAAiB,EAAE,CAAC,iBAAiB,EAAE,CAAC,iBAAiB,EAAE,CAAC,iBAAiB,EAAE,CAAC,iBAAiB,EAAE,CAAC,iBAAiB,EAAE,CAAC,iBAAiB,EAAE,CAAC,gBAAgB,EAAE,CAAC,iBAAiB,EAAE,CAAC,iBAAiB,EAAE,CAAC,iBAAiB,EAAE,CAAC,iBAAiB,EAAE,CAAC,iBAAiB,EAAE,CAAC,iBAAiB,EAAE,CAAC,iBAAiB,EAAE,CAAC,iBAAiB,EAAE,CAAC,iBAAiB,EAAE,CAAC,iBAAiB,EAAE,CAAC,iBAAiB,EAAE,CAAC,kBAAkB,EAAE,CAAC,mBAAmB,EAAE,CAAC,oBAAoB,EAAE,CAAC,mBAAmB,EAAE,CAAC,mBAAmB,EAAE,CAAC,mBAAmB,EAAE,CAAC,mBAAmB,EAAE,CAAC,mBAAmB,EAAE,CAAC,mBAAmB,EAAE,CAAC,mBAAmB,EAAE,CAAC,mBAAmB,EAAE,CAAC,mBAAmB,EAAE,CAAC,kBAAkB,EAAE,CAAC,mBAAmB,EAAE,CAAC,mBAAmB,EAAE,CAAC,mBAAmB,EAAE,CAAC,mBAAmB,EAAE,CAAC,mBAAmB,EAAE,CAAC,mBAAmB,EAAE,CAAC,mBAAmB,EAAE,CAAC,mBAAmB,EAAE,CAAC,mBAAmB,EAAE,CAAC,mBAAmB,EAAE,CAAC,kBAAkB,EAAE,CAAC,mBAAmB,EAAE,CAAC,mBAAmB,EAAE,CAAC,mBAAmB,EAAE,CAAC,mBAAmB,EAAE,CAAC,mBAAmB,EAAE,CAAC,mBAAmB,EAAE,CAAC,mBAAmB,EAAE,CAAC,mBAAmB,EAAE,CAAC,mBAAmB,EAAE,CAAC,mBAAmB,EAAE,CAAC,kBAAkB,EAAE,CAAC,mBAAmB,EAAE,CAAC,mBAAmB,EAAE,CAAC,mBAAmB,EAAE,CAAC,mBAAmB,EAAE,CAAC,mBAAmB,EAAE,CAAC,mBAAmB,EAAE,CAAC,mBAAmB,EAAE,CAAC,mBAAmB,EAAE,CAAC,mBAAmB,EAAE,CAAC,mBAAmB,EAAE,CAAC,kBAAkB,EAAE,CAAC,mBAAmB,EAAE,CAAC,mBAAmB,EAAE,CAAC,mBAAmB,EAAE,CAAC,mBAAmB,EAAE,CAAC,mBAAmB,EAAE,CAAC,mBAAmB,EAAE,CAAC,mBAAmB,EAAE,CAAC,mBAAmB,EAAE,CAAC,mBAAmB,EAAE,CAAC,mBAAmB,EAAE,CAAC,kBAAkB,EAAE,CAAC,mBAAmB,EAAE,CAAC,mBAAmB,EAAE,CAAC,mBAAmB,EAAE,CAAC,mBAAmB,EAAE,CAAC,mBAAmB,EAAE,CAAC,mBAAmB,EAAE,CAAC,mBAAmB,EAAE,CAAC,mBAAmB,EAAE,CAAC,mBAAmB,EAAE,CAAC,mBAAmB,EAAE,CAAC,kBAAkB,EAAE,CAAC,mBAAmB,EAAE,CAAC,mBAAmB,EAAE,CAAC,mBAAmB,EAAE,CAAC,mBAAmB,EAAE,CAAC,mBAAmB,EAAE,CAAC,mBAAmB,EAAE,CAAC,mBAAmB,EAAE,CAAC,mBAAmB,EAAE,CAAC,mBAAmB,EAAE,CAAC,mBAAmB,EAAE,CAAC,kBAAkB,EAAE,CAAC,mBAAmB,EAAE,CAAC,mBAAmB,EAAE,CAAC,mBAAmB,EAAE,CAAC,mBAAmB,EAAE,CAAC,mBAAmB,EAAE,CAAC,mBAAmB,EAAE,CAAC,mBAAmB,EAAE,CAAC,mBAAmB,EAAE,CAAC,mBAAmB,EAAE,CAAC,mBAAmB,EAAE,CAAC,kBAAkB,EAAE,CAAC,mBAAmB,EAAE,CAAC,mBAAmB,EAAE,CAAC,mBAAmB,EAAE,CAAC,mBAAmB,EAAE,CAAC,mBAAmB,EAAE,CAAC,mBAAmB,EAAE,CAAC,mBAAmB,EAAE,CAAC,mBAAmB,EAAE,CAAC,mBAAmB,EAAE,CAAC,mBAAmB,EAAE,CAAC,iBAAiB,EAAE,gBAAgB,CAAC,KAAK,EAAE,CAAC,MAAM,CAAC,WAAW,sBAAsB,OAAO,CAAC,YAAY,eAAe,YAAY,QAAQ,YAAY,EAAE,CAAC,MAAM,eAAe,CAAC,KAAK,CAAC,MAAM,eAAe,KAAK,GAAG,KAAK,UAAU,OAAO,EAAE,CAAC,QAAQ,OAAO,OAAO,MAAM,SAAS,CAAC,WAAW,qBAAqB,OAAO,CAAC,YAAY,sBAAsB,YAAY,QAAQ,YAAY,EAAE,CAAC,MAAM,eAAe,CAAC,cAAc,OAAO,WAAW,CAAC,WAAW,qBAAqB,OAAO,CAAC,YAAY,sBAAsB,YAAY,QAAQ,YAAY,EAAE,CAAC,MAAM,sBAAsB,KAAK,qBAAqB,CAAC,CAAC,OAAO,EAAU,OAAO,OAAO,GAAG,YAAY,OAAO,CAAC,YAAY,GAAK,aAAa,OAAO,QAAQ,EAAE,CAAC,SAAS,YAAY,KAAK,YAAY,gBAAgB,CAAC,MAAM,eAAe,UAAU,0BAA0B,aAAa,GAAK,KAAK,EAAE,CAAC,IAAI,EAAE,cAAc,OAAO,QAAQ,GAAM,CAAC,MAAM,UAAU,SAAS,CAAC,IAAI,EAAE,OAAO,GAAG,QAAQ,CAAC,WAAW,mBAAmB,OAAO,CAAC,YAAY,+EAA+E,YAAY,QAAQ,YAAY,EAAE,CAAC,CAAC,WAAW,CAAC,WAAW,mBAAmB,OAAO,CAAC,YAAY,qBAAqB,YAAY,QAAQ,YAAY,EAAE,CAAC,QAAQ,GAAG,CAAC,QAAQ,MAAM,OAAO,OAAO,SAAS,CAAC,WAAW,mBAAmB,OAAO,CAAC,YAAY,wEAAwE,YAAY,QAAQ,YAAY,EAAE,CAAC,CAAC,aAAa,CAAC,aAAa,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,IAAI,oBAAoB,KAAK,OAAO,IAAI,GAAG,CAAC,CAAC,IAAI,mBAAmB,KAAK,SAAS,IAAI,GAAG,CAAC,CAAC,IAAI,qBAAqB,KAAK,OAAO,IAAI,GAAG,CAAC,CAAC,mBAAmB,EAAE,CAAC,CAAC,WAAW,CAAC,WAAW,mBAAmB,OAAO,CAAC,YAAY,yBAAyB,YAAY,QAAQ,YAAY,EAAE,CAAC,CAAC,cAAc,SAAS,MAAM,GAAG,CAAC,aAAa,CAAC,MAAM,eAAe,QAAQ,aAAa,KAAK,EAAE,CAAC,cAAc,OAAO,QAAQ,GAAM,CAAC,WAAW,0BAA0B,MAAM,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAc,EAAK,EAAO,IAAI,CAAC,UAAU,gBAAiC,mBAAiB,SAAS,YAAY,SAAsB,EAAK,GAA0B,CAAC,OAAO,GAAG,SAAsB,EAAK,GAA8B,CAAC,UAAU,0BAA2C,mBAAiB,SAAS,sBAAsB,OAAO,YAAY,kBAAkB,GAAK,QAAQ,YAAY,SAAsB,EAAKV,GAAiB,CAAC,UAAU,EAAU,OAAO,OAAO,GAAG,YAAY,SAAS,YAAY,kBAAkB,EAAa,MAAM,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAc,EAAM,EAAO,IAAI,CAAC,UAAU,gBAAgB,mBAAmB,4BAA6C,mBAAiB,SAAS,YAAY,MAAM,CAAC,eAAe,YAAY,qBAAqB,YAAY,CAAC,SAAS,CAAc,EAAK,EAAO,IAAI,CAAC,UAAU,gBAAiC,mBAAiB,SAAS,YAAY,MAAM,CAAC,gBAAgB,4BAA4B,CAAC,CAAC,CAAc,EAAM,EAAO,IAAI,CAAC,UAAU,gBAAiC,mBAAiB,SAAS,YAAY,SAAS,CAAc,EAAK,GAA0B,CAAC,OAAO,IAAI,MAAM,QAAQ,GAAmB,OAAO,QAAQ,UAAU,SAAsB,EAAK,GAA8B,CAAC,UAAU,2BAA4C,mBAAiB,SAAS,sBAAsB,OAAO,YAAY,kBAAkB,GAAK,QAAQ,YAAY,SAAsB,EAAKC,GAAuB,CAAC,OAAO,OAAO,GAAG,YAAY,UAAU,uNAAuN,SAAS,YAAY,UAAU,gBAAgB,MAAM,CAAC,MAAM,OAAO,CAAC,QAAQI,GAAa,YAAY,CAAC,MAAM,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAc,EAAK,GAA0B,CAAC,OAAO,IAAI,MAAM,QAAQ,GAAmB,OAAO,QAAQ,UAAU,SAAsB,EAAK,GAA8B,CAAC,UAAU,0BAA2C,mBAAiB,SAAS,sBAAsB,OAAO,YAAY,kBAAkB,GAAK,QAAQ,YAAY,SAAsB,EAAKJ,GAAuB,CAAC,OAAO,OAAO,GAAG,YAAY,UAAU,+IAA+I,SAAS,YAAY,UAAU,yBAAyB,MAAM,CAAC,MAAM,OAAO,CAAC,QAAQI,GAAa,YAAY,CAAC,MAAM,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAG,CAAW,CAAC,kFAAkF,gFAAgF,iSAAiS,4UAA4U,+RAA+R,qSAAqS,iHAAiH,iRAAiR,8SAA8S,2WAA2W,yGAAyG,6SAA6S,0SAA0S,gJAAgJ,6FAA6F,uQAAuQ,4HAA4H,oRAAoR,uTAAuT,gHAAgH,4RAA4R,iJAAiJ,6DAA6D,6DAA6D,8DAA8D,GAAGc,GAAgB,CAY7psC,eAAe,IAAgB,GAAgB,GAAgB,YAAY,YAAY,GAAgB,aAAa,CAAC,OAAO,MAAM,MAAM,IAAI,CAAC,EAAoB,GAAgB,CAAC,QAAQ,CAAC,QAAQ,CAAC,YAAY,YAAY,CAAC,aAAa,CAAC,YAAY,YAAY,CAAC,MAAM,UAAU,KAAK,EAAY,KAAK,CAAC,UAAU,CAAC,aAAa,kBAAkB,gBAAgB,GAAM,MAAM,QAAQ,KAAK,EAAY,OAAO,CAAC,kBAAkB,CAAC,QAAQ,YAAY,KAAK,EAAY,cAAc,CAAC,UAAU,CAAC,aAAa,MAAM,gBAAgB,GAAM,MAAM,QAAQ,KAAK,EAAY,OAAO,CAAC,kBAAkB,CAAC,QAAQ,YAAY,KAAK,EAAY,cAAc,CAAC,UAAU,CAAC,aAAa,+HAA+H,gBAAgB,GAAM,MAAM,cAAc,KAAK,EAAY,OAAO,CAAC,kBAAkB,CAAC,QAAQ,YAAY,KAAK,EAAY,cAAc,CAAC,UAAU,CAAC,aAAa,GAAG,MAAM,UAAU,KAAK,EAAY,OAAO,CAAC,kBAAkB,CAAC,QAAQ,YAAY,KAAK,EAAY,cAAc,CAAC,UAAU,CAAC,MAAM,UAAU,KAAK,EAAY,gBAAgB,CAAC,UAAU,CAAC,MAAM,UAAU,KAAK,EAAY,gBAAgB,CAAC,UAAU,CAAC,MAAM,UAAU,KAAK,EAAY,gBAAgB,CAAC,UAAU,CAAC,MAAM,aAAa,KAAK,EAAY,aAAa,CAAC,CAAC,CAAC,EAAS,GAAgB,CAAC,CAAC,cAAc,GAAK,MAAM,CAAC,CAAC,cAAc,QAAQ,OAAO,SAAS,MAAM,SAAS,aAAa,QAAQ,aAAa,0EAA0E,IAAI,yEAAyE,OAAO,MAAM,CAAC,CAAC,cAAc,QAAQ,OAAO,SAAS,MAAM,SAAS,aAAa,QAAQ,aAAa,wDAAwD,IAAI,yEAAyE,OAAO,MAAM,CAAC,CAAC,cAAc,QAAQ,OAAO,SAAS,MAAM,SAAS,aAAa,QAAQ,aAAa,cAAc,IAAI,wEAAwE,OAAO,MAAM,CAAC,CAAC,cAAc,QAAQ,OAAO,SAAS,MAAM,SAAS,aAAa,QAAQ,aAAa,cAAc,IAAI,wEAAwE,OAAO,MAAM,CAAC,CAAC,cAAc,QAAQ,OAAO,SAAS,MAAM,SAAS,aAAa,QAAQ,aAAa,uGAAuG,IAAI,wEAAwE,OAAO,MAAM,CAAC,CAAC,cAAc,QAAQ,OAAO,SAAS,MAAM,SAAS,aAAa,QAAQ,aAAa,uLAAuL,IAAI,wEAAwE,OAAO,MAAM,CAAC,CAAC,cAAc,QAAQ,OAAO,SAAS,MAAM,SAAS,aAAa,QAAQ,aAAa,oGAAoG,IAAI,wEAAwE,OAAO,MAAM,CAAC,CAAC,cAAc,QAAQ,OAAO,SAAS,MAAM,SAAS,aAAa,QAAQ,aAAa,0EAA0E,IAAI,yEAAyE,OAAO,MAAM,CAAC,CAAC,cAAc,QAAQ,OAAO,SAAS,MAAM,SAAS,aAAa,QAAQ,aAAa,wDAAwD,IAAI,yEAAyE,OAAO,MAAM,CAAC,CAAC,cAAc,QAAQ,OAAO,SAAS,MAAM,SAAS,aAAa,QAAQ,aAAa,cAAc,IAAI,yEAAyE,OAAO,MAAM,CAAC,CAAC,cAAc,QAAQ,OAAO,SAAS,MAAM,SAAS,aAAa,QAAQ,aAAa,cAAc,IAAI,uEAAuE,OAAO,MAAM,CAAC,CAAC,cAAc,QAAQ,OAAO,SAAS,MAAM,SAAS,aAAa,QAAQ,aAAa,uGAAuG,IAAI,yEAAyE,OAAO,MAAM,CAAC,CAAC,cAAc,QAAQ,OAAO,SAAS,MAAM,SAAS,aAAa,QAAQ,aAAa,uLAAuL,IAAI,uEAAuE,OAAO,MAAM,CAAC,CAAC,cAAc,QAAQ,OAAO,SAAS,MAAM,SAAS,aAAa,QAAQ,aAAa,oGAAoG,IAAI,yEAAyE,OAAO,MAAM,CAAC,CAAC,cAAc,QAAQ,OAAO,SAAS,MAAM,SAAS,aAAa,QAAQ,aAAa,0EAA0E,IAAI,uEAAuE,OAAO,MAAM,CAAC,CAAC,cAAc,QAAQ,OAAO,SAAS,MAAM,SAAS,aAAa,QAAQ,aAAa,wDAAwD,IAAI,yEAAyE,OAAO,MAAM,CAAC,CAAC,cAAc,QAAQ,OAAO,SAAS,MAAM,SAAS,aAAa,QAAQ,aAAa,cAAc,IAAI,wEAAwE,OAAO,MAAM,CAAC,CAAC,cAAc,QAAQ,OAAO,SAAS,MAAM,SAAS,aAAa,QAAQ,aAAa,cAAc,IAAI,wEAAwE,OAAO,MAAM,CAAC,CAAC,cAAc,QAAQ,OAAO,SAAS,MAAM,SAAS,aAAa,QAAQ,aAAa,uGAAuG,IAAI,wEAAwE,OAAO,MAAM,CAAC,CAAC,cAAc,QAAQ,OAAO,SAAS,MAAM,SAAS,aAAa,QAAQ,aAAa,uLAAuL,IAAI,yEAAyE,OAAO,MAAM,CAAC,CAAC,cAAc,QAAQ,OAAO,SAAS,MAAM,SAAS,aAAa,QAAQ,aAAa,oGAAoG,IAAI,uEAAuE,OAAO,MAAM,CAAC,CAAC,CAAC,GAAG,GAAsC,GAAG,GAAW,GAAGpB,GAA8B,GAAG,GAAmC,GAAG,GAAsB,GAAG,GAA4B,GAAG,EAAwBqB,GAAkB,CAAC,CAAC,CAAC,6BAA6B,GAAK,CAAC,CAAC,GAAgB,OAAO,CAAC,MAAM,EAAM,KAAwB,EAAQ,OAAc,QAAQ,WAAW,CAAC,GAActB,GAAM,EAAE,CAAC,EAAQ,CAAC,GAAcE,GAAiB,EAAE,CAAC,EAAQ,CAAC,GAAcC,GAAuB,EAAE,CAAC,EAAQ,CAAC,CAAC,EAAG,ICWlnO,SAAS,GAAiB,EAAI,CAAC,GAAG,CAAC,IAAM,EAAO,KAAK,MAAM,EAAI,CAAC,GAAG,MAAM,QAAQ,EAAO,CAAC,OAAO,OAAa,EAC5G,MAAM,EAAE,CAAoF,SAAS,GAAY,EAAO,CAAC,IAAM,EAAU,IAAI,IAAI,IAAI,IAAMoB,KAAK,EAAO,CAAC,GAAG,CAACA,EAAE,SAAS,OAAO,SAAS,IAAI,EAAM,EAAU,IAAIA,EAAE,UAAU,CAAK,IAAO,EAAM,CAAC,UAAUA,EAAE,UAAU,MAAMA,EAAE,MAAM,UAAU,EAAE,CAAC,CAAC,EAAU,IAAIA,EAAE,UAAU,EAAM,EAAKA,EAAE,OAAO,CAAC,EAAM,QAAM,EAAM,MAAMA,EAAE,OAAM,EAAM,UAAU,KAAK,CAAC,KAAKA,EAAE,KAAK,QAAQA,EAAE,QAAQ,CAAC,CAAE,IAAI,IAAMC,KAAK,EAAU,QAAQ,CAAE,EAAE,UAAU,MAAM,EAAE,IAAIC,EAAE,KAAKC,EAAE,KAAK,CAAE,MAAM,CAAC,GAAG,EAAU,QAAQ,CAAC,CAK5hB,SAAS,GAAc,EAAM,EAAE,CAAC,IAAM,EAAI,EAAM,UAAU,GAAG,CAAC,EAAI,OAAO,MAAM,CAAC,QAAQ,EAAE,CAAC,QAAQ,GAAM,CAAC,IAAM,EAAM,EAAI,GAAS,EAAK,EAAI,EAAI,OAAO,GAAS,EAAQF,GAAG,EAAM,KAAK,KAAKA,GAAG,EAAK,KAAK,IAAI,GAAGA,GAAG,EAAM,KAAK,MAAM,CAAC,QAAQ,EAAM,QAAQ,UAAQ,CAAC,GAAGA,GAAG,EAAK,KAAK,MAAM,CAAC,QAAQ,EAAK,QAAQ,UAAQ,CAAC,IAAI,IAAIG,EAAE,EAAEA,EAAE,EAAI,OAAO,EAAE,IAAI,CAAC,IAAMF,EAAE,EAAIE,GAASD,EAAE,EAAIC,EAAE,GAAG,GAAGH,GAAGC,EAAE,MAAMD,GAAGE,EAAE,KAAK,CAAC,GAAGD,EAAE,QAAQ,SAASC,EAAE,QAAQ,OAAO,MAAM,CAAC,QAAQD,EAAE,QAAQ,UAAQ,CAAC,IAAM,EAAKC,EAAE,KAAKD,EAAE,MAAM,EAAQF,GAAGC,EAAEC,EAAE,MAAM,EAAyH,MAAM,CAAC,QAA7GA,EAAE,QAAQ,KAAK,EAAG,IAAM,CAAC,IAAM,EAAGC,EAAE,QAAQ,GAAK,MAAM,CAAC,EAAE,EAAG,GAAG,EAAG,EAAE,EAAG,GAAGH,EAAE,EAAE,EAAG,GAAG,EAAG,EAAE,EAAG,GAAGA,EAAE,EAAG,CAAgB,UAAQ,EAAG,MAAM,CAAC,QAAQ,EAAK,QAAQ,UAAQ,CAAoF,SAAS,GAAe,EAAG,EAAG,EAAK,CAAC,IAAI,EAAO,GAAM,IAAI,IAAII,EAAE,EAAEC,EAAE,EAAK,OAAO,EAAED,EAAE,EAAK,OAAO,EAAE,IAAI,CAAC,IAAM,EAAG,EAAKA,GAAG,EAAQ,EAAG,EAAKA,GAAG,EAAQ,EAAG,EAAKC,GAAG,EAAQ,EAAG,EAAKA,GAAG,EAAkB,EAAG,GAAK,EAAG,GAAI,GAAI,EAAG,IAAK,EAAG,IAAK,EAAG,GAAI,MAAM,IAAgB,EAAO,CAAC,GAAQ,OAAO,EAA0F,SAAS,GAAS,EAAE,CAAuC,OAAnC,MAAM,QAAQC,EAAE,CAAQA,EAAE,IAAI,KAAYA,GAAG,KAAoF,SAAS,IAAkB,CAAC,OAAoB,EAAK,MAAM,CAAC,MAAM,CAAC,MAAM,GAAG,OAAO,GAAG,aAAa,MAAM,WAAW,yBAAyB,UAAU,2DAA2D,CAAC,CAAC,CAAE,SAAwB,GAAsB,CAAC,YAAU,GAAG,WAAS,GAAG,cAAY,GAAG,YAAU,WAAS,GAAK,OAAK,GAAK,cAAY,GAAG,mBAAiB,GAAG,kBAAgB,GAAK,gBAAc,eAAa,eAAa,eAAa,QAAM,QAAM,aAAW,cAAY,CAAC,IAAM,EAAS,GAAa,SAAS,GAAG,GAAa,OAClzD,EAAY,GAAW,EAAe,EAAe,GAAa,GAAW,GAAS,GAASC,EAAO,KAAK,CAAO,EAAaA,EAAO,EAAE,CACxI,GAAoB,EAAc,GAAGC,EAAE,oBAAoB,CAAO,GAAkB,EAAc,GAAGA,EAAE,kBAAkB,CAAO,GAAiB,EAAc,GAAGA,EAAE,iBAAiB,CACrL,EAAgB,EAAc,GAAGA,EAAE,gBAAgB,CACpD,CAAC,EAAO,IAAWC,EAAS,CAAC,EAAS,CACtC,CAAC,EAAW,GAAeA,EAAS,GAAG,CAIvC,CAAC,EAAY,IAAgBA,EAAS,KAAK,CAAO,GAASC,EAAM,YAAY,GAAiB,EAAY,CAAC,CAAC,EAAY,CAAC,CAAO,EAAaH,EAAO,KAAK,CACxJ,GAAiBI,MAAgB,CAAC,IAAM,EAAM,GAAS,QAAQ,GAAG,CAAC,EAAM,OAAO,IAAM,EAAI,YAAY,KAAK,CAAI,EAAI,EAAa,SAAS,IAAkB,EAAa,QAAQ,EAAI,GAAoB,EAAM,YAAY,GAAI,CAAC,GAAoB,EAAiB,CAAC,CAAO,GAAqBA,MAAgB,CAAC,GAAiB,GAAS,SAAS,UAAU,EAAE,EAAG,CAAC,GAAiB,CAAC,CAAO,EAAqBA,MAAgB,CAAC,IAAMC,EAAE,GAAS,QAAWA,GAAGA,EAAE,YAAYA,EAAE,aAAa,GAAeA,EAAE,WAAWA,EAAE,YAAY,EAAI,EAAE,CAAC,CAAO,GAAWD,MAAgB,CAAC,GAAkB,GAAK,CAAC,GAAU,GAAM,EAAG,CAAC,GAAkB,CAAC,CAAO,EAAYA,MAAgB,CAAC,GAAkB,GAAM,CAAC,GAAU,GAAK,EAAG,CAAC,GAAkB,CAAC,CAC5tB,MAAc,CAAC,GAAG,GAAU,CAAC,GAAS,QAAQ,OAAO,IAAM,EAAM,GAAS,QAAc,MAAY,CAAI,GAAS,EAAM,MAAM,CAAC,UAAU,GAAG,EAAuD,OAApD,GAAS,CAAC,EAAM,iBAAiB,UAAU,EAAQ,KAAW,EAAM,oBAAoB,UAAU,EAAQ,EAAG,CAAC,EAAS,EAAS,EAAY,CAAC,CAE3R,MAAc,CAAI,GAAU,IAAkB,GAAS,GAAS,SAAS,MAAM,CAAC,UAAU,GAAG,EAAG,CAAC,EAAgB,EAAS,CAAC,CAC3H,IAAM,EAAOD,EAAM,YAAY,GAAY,GAAS,CAAC,CAAC,GAAS,CAAC,CAC1D,GAAeH,EAAO,KAAK,CAC3B,GAASA,EAAO,KAAK,CAAO,GAAWA,EAAO,KAAK,CACnD,GAAcA,EAAO,GAAG,CAAO,GAAkBI,EAAY,GAAG,CAAC,IAAM,EAAK,EAAa,SAAS,uBAAuB,CAAI,CAAC,GAAM,EAAK,QAAQ,GAAG,EAAK,SAAS,IAAS,GAAS,QAAQ,CAAC,GAAGE,EAAE,QAAQ,EAAK,MAAM,EAAK,MAAM,GAAGA,EAAE,QAAQ,EAAK,KAAK,EAAK,OAAO,CAAC,GAAW,QAAQ,CAAC,EAAEA,EAAE,QAAQ,EAAK,KAAK,EAAEA,EAAE,QAAQ,EAAK,IAAI,GAAG,EAAE,CAAC,CAAO,GAAmBF,MAAgB,CAAC,GAAS,QAAQ,KAAK,GAAW,QAAQ,KAAQ,GAAc,UAAU,KAAI,GAAc,QAAQ,GAAG,EAAc,GAAG,GAAI,EAAE,CAAC,CAIxf,MAAc,CAAC,GAAG,EAAS,OAAO,IAAI,EAAI,EAAQ,MAAS,CAAC,IAAMC,EAAE,GAAS,QAAcX,EAAEW,EAAEA,EAAE,YAAY,EAAQ,EAAM,GAAS,QAAc,EAAG,GAAW,QAC1J,EAAM,GAAe,QAAW,IAAU,GAAI,EAAM,MAAM,UAAU,aAAa,EAAG,EAAE,MAAM,EAAG,EAAE,KAAK,EAAM,MAAM,QAAQ,KAAU,EAAM,MAAM,QAAQ,KAC9J,IAAI,EAAI,GAAG,GAAG,EAAO,IAAI,IAAIR,EAAE,EAAEA,EAAE,EAAO,OAAO,IAAI,CAAC,IAAMI,EAAE,GAAc,EAAOJ,GAAGH,EAAE,CAAC,GAAGO,EAAE,SAAS,GAAe,EAAM,EAAE,EAAM,EAAEA,EAAE,QAAQ,CAAC,CAAC,EAAIJ,EAAE,OAAY,IAAM,GAAc,UAAS,GAAc,QAAQ,EAAI,EAAc,EAAI,EAAE,EAAI,sBAAsB,EAAK,EAAmC,MAAhC,GAAI,sBAAsB,EAAK,KAAW,qBAAqB,EAAI,EAAG,CAAC,EAAO,EAAS,CAAC,CACzW,IAAM,GAAUO,GAAa,EAAQ,IAAU,CAAC,IAAM,EAAK,EAAa,SAAS,uBAAuB,CAAC,GAAG,CAAC,GAAM,EAAK,QAAQ,GAAG,EAAK,SAAS,EAAE,MAAM,GAAG,IAAML,GAAG,EAAQ,EAAK,MAAM,EAAK,MAAYQ,GAAG,EAAQ,EAAK,KAAK,EAAK,OAAab,EAAE,GAAS,SAAS,aAAa,EAAE,IAAI,IAAIG,EAAE,EAAEA,EAAE,EAAO,OAAO,IAAI,CAAC,IAAMI,EAAE,GAAc,EAAOJ,GAAGH,EAAE,CAAC,GAAGO,EAAE,SAAS,GAAeF,EAAEQ,EAAEN,EAAE,QAAQ,CAAC,OAAOJ,EAAG,MAAM,IAAK,CAAC,EAAO,CAAC,CAE3Z,GAAkBO,EAAY,GAAG,CAAC,IAAMC,EAAE,GAAS,QACnD,EAAU,GAAUC,EAAE,QAAQA,EAAE,QAAQ,CAAO,EAAI,GAAW,EAAE,EAAU,GAAc,QAE9F,GAAG,IAAM,GAAG,IAAM,EAAE,CAAI,IAAM,EAAE,KAAc,CAAM,KAAc,CAAID,GAAG,CAACA,EAAE,QAAO,EAAE,OAAO,CAAC,OACzFA,IAAYA,EAAE,OAAO,EAAE,MAAM,CAAC,UAAU,GAAG,CAAM,EAAE,OAAO,GAAG,CAAC,GAAU,EAAW,EAAW,CAAC,CAC7F,GAAM,CAAC,EAAM,EAAM,CAAsD,GAAY,GAAY,EAAE,GAA5D,CAAC,EAAa,EAAa,CAAuD,GAAY,CAAC,KACe,IAAxI,GAAY,EAAE,IAAa,GAAS,EAAc,CAAC,EAAO,GAAS,EAAa,EAAE,GAAS,EAAc,CAAC,GAAS,EAAc,GAA6C,EAAK,GAAiB,EAAE,CAAC,CACpN,GAAW,GAAY,EAAE,GAAS,GAAM,GAAY,CAAC,KACyoB,OAAjsB,EAA8B,EAAK,MAAM,CAAC,MAAM,CAAC,SAAS,WAAW,MAAM,OAAO,OAAO,OAAO,WAAW,OAAO,QAAQ,OAAO,WAAW,SAAS,eAAe,SAAS,MAAM,OAAO,SAAS,GAAG,WAAW,aAAa,aAAa,EAAE,IAAI,EAAE,SAAS,SAAS,CAAC,SAAS,EAA4B,EAAK,MAAM,CAAC,IAAI,EAAe,IAAI,GAAG,MAAM,CAAC,MAAM,OAAO,OAAO,OAAO,UAAU,EAAgB,UAAU,QAAQ,QAAQ,QAAQ,CAAC,CAAC,CAAc,EAAMG,EAAU,CAAC,SAAS,CAAc,EAAK,OAAO,CAAC,MAAM,CAAC,QAAQ,GAAG,CAAC,SAAS,IAAI,CAAC,CAAc,EAAK,OAAO,CAAC,SAAS,kBAAkB,CAAC,CAAC,GAA0B,EAAK,OAAO,CAAC,MAAM,CAAC,QAAQ,GAAG,SAAS,GAAG,CAAC,SAAS,EAAY,MAAM,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAsB,EAAM,MAAM,CAAC,IAAI,EAAa,cAAc,GAAkB,eAAe,GAAmB,cAAc,GAAkB,MAAM,CAAC,SAAS,WAAW,SAAS,SAAS,OAAO,OAE54B,GAAG,GAAiB,EAAY,CAAC,MAAM,OAAO,OAAO,OAAO,YAAY,OAAO,EAAY,CAAC,SAAS,OAAO,UAAU,OAAO,OAAO,OAAO,CAAC,CAAC,MAAM,OAAO,OAAO,OAAO,CAAC,CAAC,SAAS,CAAc,EAAK,QAAQ,CAAC,IAAI,GAAS,IAAI,GAAa,IAAA,GAAU,OAAO,GAAgB,IAAA,GAAe,OAAK,MAAM,GAAK,YAAY,GAAK,aAAa,GAAiB,iBAAiB,GAAqB,iBAAiB,EAAqB,OAAO,GAAW,QAAQ,EAAY,MAAM,CAAC,MAAM,OAAO,OAAO,OAAO,UAAU,EAAgB,UAAU,QAAQ,QAAQ,QAAQ,CAAC,CAAC,CAAc,EAAM,MAAM,CAAC,IAAI,GAAe,MAAM,CAAC,SAAS,WAAW,IAAI,EAAE,KAAK,EAAE,cAAc,OAAO,WAAW,YAAY,OAAO,GAAG,QAAQ,EAAE,CAAC,SAAS,CAAc,EAAK,MAAM,CAAC,MAAM,CAAC,SAAS,WAAW,UAAU,wBAAwB,QAAQ,OAAO,WAAW,SAAS,CAAC,SAAS,GAAW,CAAC,CAAC,IAAyB,EAAK,MAAM,CAAC,MAAM,CAAC,SAAS,WAAW,KAAK,GAAG,IAAI,OAAO,UAAU,mBAAmB,CAAC,SAAS,GAAW,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,mBA7Cz5B,IAAgE,IAAiE,KAA4H,CA6C8pB,EAAoB,GAAsB,CAAC,UAAU,CAAC,KAAK,EAAY,KAAK,MAAM,aAAa,iBAAiB,CAAC,MAAM,OAAO,MAAM,MAAM,MAAM,CAAC,YAAY,uDAAuD,CAAC,SAAS,CAAC,KAAK,EAAY,OAAO,MAAM,YAAY,YAAY,yBAAyB,CAAC,YAAY,CAAC,KAAK,EAAY,MAAM,MAAM,SAAS,YAAY,2EAA2E,CAAC,UAAU,CAAC,KAAK,EAAY,OAAO,MAAM,aAAa,YAAY,uBAAuB,CAAC,SAAS,CAAC,KAAK,EAAY,QAAQ,MAAM,YAAY,aAAa,GAAK,CAAC,KAAK,CAAC,KAAK,EAAY,QAAQ,MAAM,OAAO,aAAa,GAAK,CAAC,gBAAgB,CAAC,KAAK,EAAY,QAAQ,MAAM,cAAc,aAAa,GAAK,YAAY,8GAA8G,CAAC,cAAc,CAAC,KAAK,EAAY,kBAAkB,MAAM,mBAAmB,CAAC,aAAa,CAAC,KAAK,EAAY,kBAAkB,MAAM,mBAAmB,CAAC,aAAa,CAAC,KAAK,EAAY,kBAAkB,MAAM,mBAAmB,CAAC,aAAa,CAAC,KAAK,EAAY,kBAAkB,MAAM,kBAAkB,CAAC,MAAM,CAAC,KAAK,EAAY,kBAAkB,MAAM,SAAS,CAAC,MAAM,CAAC,KAAK,EAAY,kBAAkB,MAAM,SAAS,CAAC,WAAW,CAAC,KAAK,EAAY,aAAa,MAAM,aAAa,CAAC,WAAW,CAAC,KAAK,EAAY,aAAa,MAAM,aAAa,CAAC,YAAY,CAAC,KAAK,EAAY,OAAO,MAAM,eAAe,gBAAgB,GAAK,YAAY,uEAAuE,YAAY,6FAA6F,CAAC,iBAAiB,CAAC,KAAK,EAAY,OAAO,MAAM,kBAAkB,aAAa,GAAG,IAAI,GAAG,IAAI,IAAI,KAAK,EAAE,KAAK,KAAK,YAAY,4DAA4D,CAAC,CAAC,ICjEvzF,SAAwBC,GAAS,EAAO,EAAa,CAAC,MAAM,CAAC,YAAY,0DAA0D,QAAQ,qEAAqE,OAAO,0BAA0B,YAAY,uEAAuE,MAAM,kBAAkB,oBCA1Q,SAAwB,GAAS,EAAO,EAAa,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC,KAAK,UAAU,CAAC,CAAC,YAAYC,GAAa,EAAO,EAAa,CAAC,YAAY,SAAS,EAAE,CAAC,OAAO,0BAA0B,gBAAgB,eAAe,MAAMA,GAAa,EAAO,EAAa,CAAC,OAAO,OAAO,SAAS,aAAa,0BAA9S,CAA6T,GAAgB,EAClZC,GAAqB,CAAC,QAAU,CAAC,QAAU,CAAC,KAAO,WAAW,YAAc,CAAC,sBAAwB,IAAI,CAAC,CAAC,gBAAkB,CAAC,KAAO,WAAW,YAAc,CAAC,sBAAwB,IAAI,CAAC,CAAC,mBAAqB,CAAC,KAAO,WAAW,CAAC,CAAA,oFCDpK,IAAyW,IAAkF,IAA4B,IAA6D,KAAyE,KAA4E,KAA2F,KAAiG,KAAqE,KAAmF,CAAM,GAAY,EAASC,GAAO,CAAO,GAA2B,EAAS,GAAsB,CAAO,GAA8B,EAAS,GAAyB,CAAO,GAAe,EAASC,GAAU,CAAO,GAAY,EAAE,CAAgE,GAAgB,EAAE,CAAOC,GAAkB,eAAqBC,GAAkB,CAAC,UAAU,mBAAmB,CAAO,IAAmB,EAAkB,EAAuB,IAAgB,GAAyC,EAAuB,WAAW,EAAiB,IAAc,GAAG,IAAO,CAAC,IAAI,IAAM,KAAO,EAAM,GAAG,GAAK,OAAO,GAAM,SAAS,OAAO,GAA8B,GAAY,CAAC,MAAM,EAAE,SAAS,GAAG,KAAK,CAAC,GAAG,EAAE,IAAI,EAAE,CAAC,KAAK,QAAQ,CAAOC,GAAU,CAAC,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,WAAW,GAAY,EAAE,EAAE,EAAE,IAAI,CAAOC,GAAW,CAAC,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,WAAW,GAAY,EAAE,EAAE,EAAE,EAAE,CAAO,GAAW,CAAC,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,EAAE,EAAE,EAAE,IAAI,CAAO,IAAa,EAAM,IAAM,CAAI,MAAC,GAAO,OAAO,GAAQ,UAAkB,MAAM,CAAC,GAAG,EAAM,MAAI,EAAS,OAAyB,SAAS,cAAc,oBAAoB,EAAE,SAAS,cAAc,WAAW,EAAE,SAAS,KAAa,IAAS,CAAC,WAAS,yBAAuB,iBAAe,UAAQ,MAAQ,CAAC,GAAK,CAAC,EAAQ,GAAY,GAAgB,CAAC,yBAAuB,eAAe,GAAS,EAAe,CAAC,CAAC,OAAO,EAAS,CAAC,SAAS,EAAW,GAAM,CAAC,SAAS,EAAW,GAAK,CAAC,WAAW,EAAW,CAAC,EAAQ,CAAC,QAAQ,GAAS,EAAQ,CAAC,EAAS,IAAW,CAAC,WAAyB,IAAqB,CAAoB,KAAyB,EAAK,QAAQ,CAAC,wBAAwB,CAAC,OAAO,EAAM,CAAC,yBAAyB,GAAG,CAAC,CAASC,IAAU,CAAC,SAAO,GAAA,EAAG,QAAM,GAAG,MAAgB,CAAC,GAAG,EAAM,EAc95F,GAAgB,GAd86F,EAAiB,SAAS,EAAM,EAAI,CAAC,IAAM,EAAYC,EAAO,KAAK,CAAO,EAAW,GAAK,EAAkB,EAAgBC,IAAa,CAAM,CAAC,eAAa,aAAW,IAAe,CAAyB,IAAsB,CAAC,GAAK,CAAC,QAAM,UAAA,EAAU,WAAS,UAAQ,GAAG,GAAWF,GAAS,EAAM,CAAoF,GAApEG,MAAkBC,GAAiB,EAAE,CAAC,EAAa,CAAC,CAAC,EAAa,CAAC,CAAsB,CAAC,GAAK,CAAC,EAAY,GAAqB,EAA8B,EAAQ,GAAY,GAAM,CAAqC,CAAC,wBAAsB,SAAO,GAAyB,IAAA,GAAU,CAAO,GAAkB,CAAC,aAAW,EAAsB,MAAM,GAAG,IAAO,CAAC,EAAQ,QAAQ,EAAG,CAAO,GAAkB,CAAC,aAAW,EAAsB,MAAM,GAAG,IAAO,CAAC,EAAQ,QAAQ,EAAG,CAAO,GAAc,CAAC,aAAW,EAAsB,MAAM,GAAG,IAAO,CAAC,EAAQ,MAAM,EAAG,CAAO,GAAkB,CAAC,aAAW,EAAsB,MAAM,GAAG,IAAO,CAAC,EAAQ,MAAM,EAAG,CAA2D,EAAkB,GAAGR,GAAlDS,GAA6F,CAAO,GAAkBC,EAAiB,GAA0B,EAAE,iBAAuH,GAAa,GAAkB,GAAxG,EAAQA,EAAiB,EAAoB,EAAE,YAAY,OAAsF,CAAsB,OAArB,GAAiB,EAAE,CAAC,CAAqB,EAAK,GAA0B,SAAS,CAAC,MAAM,CAAC,gBAAgB,EAAY,iBAAiB,YAAY,kBAAA,GAAkB,CAAC,SAAsB,EAAM,EAAY,CAAC,GAAG,GAAU,EAAgB,SAAS,CAAc,EAAK,GAAU,CAAC,MAAM,0CAA0C,CAAC,CAAc,EAAK,EAAO,IAAI,CAAC,GAAG,EAAU,UAAU,GAAG,EAAkB,iBAAiBC,EAAU,CAAC,IAAI,EAAW,MAAM,CAAC,GAAG,EAAM,CAAC,SAAsB,EAAM,EAAO,IAAI,CAAC,UAAU,gBAAgB,mBAAmB,YAAY,OAAO,GAAa,SAAS,CAAc,EAAM,MAAM,CAAC,UAAU,gBAAgB,mBAAmB,QAAQ,SAAS,CAAc,EAAK,GAAQ,CAAC,eAAe,GAAK,SAAS,GAAuB,EAAK,GAAQ,CAAC,eAAe,GAAK,SAAS,GAAsB,EAAKC,EAAU,CAAC,SAAsB,EAAK,GAA0B,CAAC,SAAsB,EAAM,GAAU,CAAC,UAAU,0BAA0B,gCAAgC,MAAM,GAAG,SAAS,iBAAiB,GAAK,OAAO,YAAY,QAAQ,YAAY,SAAS,CAAc,EAAK,GAAsB,CAAC,SAAS,GAAK,cAAc,CAAc,EAAK,GAA0B,CAAC,OAAO,GAAG,MAAM,OAAO,SAAsB,EAAK,GAAU,CAAC,UAAU,2BAA2B,gBAAgB,GAAK,OAAO,YAAY,kBAAkB,GAAK,QAAQ,YAAY,SAAsB,EAAKd,GAAO,CAAC,OAAO,OAAO,GAAG,YAAY,SAAS,YAAY,QAAQ,GAAa,YAAY,CAAC,MAAM,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,aAAa,CAAc,EAAK,GAA0B,CAAC,OAAO,GAAG,MAAM,QAAQ,SAAsB,EAAK,GAAU,CAAC,UAAU,0BAA0B,mBAAmB,MAAM,gBAAgB,GAAK,KAAK,MAAM,OAAO,YAAY,kBAAkB,GAAK,QAAQ,YAAY,SAAsB,EAAKA,GAAO,CAAC,OAAO,OAAO,GAAG,YAAY,SAAS,YAAY,KAAK,MAAM,QAAQ,GAAa,YAAY,CAAC,MAAM,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,aAAa,CAAc,EAAK,GAA0B,CAAC,OAAO,GAAG,SAAsB,EAAK,GAAU,CAAC,UAAU,0BAA0B,mBAAmB,MAAM,gBAAgB,GAAK,KAAK,MAAM,OAAO,YAAY,kBAAkB,GAAK,QAAQ,YAAY,SAAsB,EAAKA,GAAO,CAAC,OAAO,OAAO,GAAG,YAAY,SAAS,YAAY,KAAK,MAAM,QAAQ,GAAa,YAAY,CAAC,MAAM,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,aAAa,CAAc,EAAK,GAA0B,CAAC,OAAO,GAAG,MAAM,OAAO,SAAsB,EAAK,GAAU,CAAC,UAAU,2BAA2B,mBAAmB,OAAO,gBAAgB,GAAK,KAAK,OAAO,OAAO,YAAY,kBAAkB,GAAK,QAAQ,YAAY,SAAsB,EAAKA,GAAO,CAAC,OAAO,OAAO,GAAG,YAAY,SAAS,YAAY,KAAK,OAAO,QAAQ,GAAa,YAAY,CAAC,MAAM,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,OAAO,YAAY;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAA8jf,GAAG,YAAY,MAAM,EAAE,CAAC,MAAM,EAAE,CAAC,SAAS,YAAY,gBAAgB,GAAK,KAAK,GAAK,WAAW,EAAiB,CAAC,UAAQ,CAAC,CAAC,WAAW,EAAiB,CAAC,QAAQ,EAAS,CAAC,CAAC,YAAY,6FAA6F,UAAU,GAAG,MAAM,CAAC,OAAO,OAAO,MAAM,OAAO,CAAC,iBAAiB,GAAG,UAAU,sEAAsE,SAAS,oNAAoN,MAAM,OAAO,CAAC,CAAc,EAAK,GAAgB,CAAC,SAAS,EAAS,SAAsB,EAAKc,EAAU,CAAC,SAAsB,EAAmC,EAAK,GAAqB,CAAC,UAAU,SAAS,SAAsB,EAAM,GAAsB,CAAC,SAAS,CAAc,EAAK,EAAO,IAAI,CAAC,QAAQ,CAAC,QAAQ,EAAE,CAAC,UAAU,GAAG,EAAkB,iBAAiB,CAAC,mBAAmB,MAAM,wBAAwB,SAAS,KAAK,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,QAAQ,EAAE,CAAC,UAAU,EAAS,MAAM,CAAC,WAAW,CAAC,QAAQ,GAAG,MAAM,GAAG,KAAK,EAAE,UAAU,IAAI,KAAK,SAAS,CAAC,CAAC,YAAY,CAAc,EAAM,EAAO,IAAI,CAAC,UAAU,GAAG,EAAkB,iBAAiB,CAAC,wBAAwB,SAAS,SAAS,CAAc,EAAK,GAA0B,CAAC,SAAsB,EAAK,GAAU,CAAC,UAAU,2BAA2B,gCAAgC,MAAM,gBAAgB,GAAK,iBAAiB,GAAK,OAAO,YAAY,kBAAkB,GAAK,QAAQ,YAAY,SAAsB,EAAK,GAAyB,CAAC,QAAQ,EAAE,CAAC,OAAO,OAAO,GAAG,YAAY,SAAS,YAAY,MAAM,EAAa,CAAC,QAAQ,EAAS,CAAC,CAAC,MAAM,CAAC,OAAO,OAAO,MAAM,OAAO,CAAC,MAAM,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAc,EAAK,GAA0B,CAAC,MAAM,qCAAqC,SAAsB,EAAK,GAAU,CAAC,QAAQT,GAAW,UAAU,0BAA0B,KAAKD,GAAU,gBAAgB,GAAK,QAAQ,GAAW,OAAO,YAAY,kBAAkB,GAAK,QAAQ,YAAY,SAAsB,EAAKH,GAAU,CAAC,OAAO,OAAO,GAAG,YAAY,UAAU,EAAiB,CAAC,QAAQ,EAAS,CAAC,CAAC,SAAS,YAAY,UAAU,MAAM,MAAM,CAAC,SAAS,OAAO,MAAM,OAAO,CAAC,UAAU,WAAW,UAAU,ihBAAihB,QAAQ,GAAa,YAAY,CAAC,UAAU,GAAY,CAAC,YAAY,IAAI,WAAW,IAAI,IAAI,0FAA0F,CAAC,GAAG,CAAC,MAAM,OAAO,UAAU,yKAAyK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAc,CAAC,CAAC,CAAC,CAAC,CAAC,CAAc,EAAK,GAAgB,CAAC,SAAS,EAAQ,SAAsB,EAAKa,EAAU,CAAC,SAAsB,EAAmC,EAAK,GAAqB,CAAC,UAAU,SAAS,SAAsB,EAAM,GAAsB,CAAC,SAAS,CAAc,EAAK,EAAO,IAAI,CAAC,QAAQ,CAAC,QAAQ,EAAE,CAAC,UAAU,GAAG,EAAkB,iBAAiB,CAAC,mBAAmB,MAAM,wBAAwB,SAAS,KAAK,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,QAAQ,EAAE,CAAC,UAAU,EAAQ,MAAM,CAAC,WAAW,CAAC,QAAQ,GAAG,MAAM,GAAG,KAAK,EAAE,UAAU,IAAI,KAAK,SAAS,CAAC,CAAC,YAAY,CAAc,EAAM,EAAO,IAAI,CAAC,UAAU,GAAG,EAAkB,gBAAgB,CAAC,wBAAwB,SAAS,SAAS,CAAc,EAAK,GAA0B,CAAC,SAAsB,EAAK,GAAU,CAAC,UAAU,2BAA2B,gCAAgC,MAAM,gBAAgB,GAAK,iBAAiB,GAAK,OAAO,YAAY,kBAAkB,GAAK,QAAQ,YAAY,SAAsB,EAAK,GAAyB,CAAC,QAAQ,EAAE,CAAC,OAAO,OAAO,GAAG,YAAY,SAAS,YAAY,MAAM,EAAa,CAAC,UAAQ,CAAC,CAAC,MAAM,CAAC,OAAO,OAAO,MAAM,OAAO,CAAC,MAAM,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAc,EAAK,GAA0B,CAAC,MAAM,qCAAqC,SAAsB,EAAK,GAAU,CAAC,QAAQT,GAAW,UAAU,0BAA0B,KAAKD,GAAU,gBAAgB,GAAK,QAAQ,GAAW,OAAO,YAAY,kBAAkB,GAAK,QAAQ,YAAY,SAAsB,EAAKH,GAAU,CAAC,UAAU,GAAY,CAAC,YAAY,IAAI,WAAW,IAAI,IAAI,2FAA2F,CAAC,GAAG,CAAC,OAAO,OAAO,GAAG,YAAY,UAAU,EAAiB,CAAC,UAAQ,CAAC,CAAC,SAAS,YAAY,UAAU,MAAM,MAAM,CAAC,SAAS,OAAO,MAAM,OAAO,CAAC,UAAU,kBAAkB,UAAU,ksBAAksB,QAAQ,GAAa,YAAY,CAAC,UAAU,GAAY,CAAC,YAAY,IAAI,WAAW,IAAI,IAAI,4FAA4F,CAAC,GAAG,CAAC,UAAU,GAAY,CAAC,YAAY,IAAI,WAAW,IAAI,IAAI,4FAA4F,CAAC,GAAG,CAAC,MAAM,OAAO,UAAU,+HAA+H,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAc,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAc,EAAK,MAAM,CAAC,UAAU,iBAAiB,mBAAmB,eAAe,SAAsB,EAAKc,GAAS,CAAC,sBAAsB,GAAK,SAAsB,EAAKC,EAAe,CAAC,SAAsB,EAAK,IAAI,CAAC,IAAI,OAAO,MAAM,CAAC,kBAAkB,mBAAmB,mCAAmC,YAAY,qBAAqB,OAAO,uBAAuB,MAAM,uBAAuB,OAAO,sBAAsB,qBAAqB,CAAC,SAAS,iCAAiC,CAAC,CAAC,CAAC,CAAC,UAAU,gBAAgB,MAAM,CAAC,eAAe,CAAC,kBAAkB,MAAM,mBAAmB,GAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAc,EAAM,MAAM,CAAC,UAAU,gBAAgB,mBAAmB,SAAS,SAAS,CAAc,EAAKD,GAAS,CAAC,sBAAsB,GAAK,SAAsB,EAAKC,EAAe,CAAC,SAAsB,EAAK,IAAI,CAAC,IAAI,OAAO,MAAM,CAAC,kBAAkB,uBAAuB,qBAAqB,OAAO,uBAAuB,MAAM,sBAAsB,wEAAwE,CAAC,SAAS,qCAAqC,CAAC,CAAC,CAAC,CAAC,UAAU,gBAAgB,MAAM,CAAC,iBAAiB,CAAC,kBAAkB,MAAM,mBAAmB,GAAK,CAAC,CAAc,EAAKD,GAAS,CAAC,sBAAsB,GAAK,SAAsB,EAAKC,EAAe,CAAC,SAAsB,EAAM,IAAI,CAAC,IAAI,OAAO,MAAM,CAAC,kBAAkB,mBAAmB,qBAAqB,OAAO,uBAAuB,MAAM,uBAAuB,OAAO,sBAAsB,4BAA4B,CAAC,SAAS,CAAC,YAAyB,EAAK,GAAK,CAAC,KAAK,mBAAmB,YAAY,GAAK,OAAO,YAAY,aAAa,GAAK,UAAU,EAAE,CAAC,QAAQ,YAAY,aAAa,GAAM,SAAsB,EAAK,EAAO,EAAE,CAAC,UAAU,+BAA+B,qBAAqB,YAAY,SAAS,cAAc,CAAC,CAAC,CAAC,CAAC,UAAuB,EAAK,GAAK,CAAC,KAAK,qBAAqB,YAAY,GAAK,OAAO,YAAY,aAAa,GAAK,UAAU,EAAE,CAAC,QAAQ,YAAY,aAAa,GAAM,SAAsB,EAAK,EAAO,EAAE,CAAC,UAAU,+BAA+B,qBAAqB,YAAY,SAAS,kBAAkB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,UAAU,gBAAgB,MAAM,CAAC,eAAe,CAAC,kBAAkB,MAAM,mBAAmB,GAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAc,EAAK,MAAM,CAAC,GAAG,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAG,CAAW,CAAC,kFAAkF,kFAAkF,gUAAgU,6SAA6S,ufAAuf,mMAAmM,sNAAsN,oKAAoK,8ZAA8Z,mPAAmP,mPAAmP,4uBAA4uB,+NAA+N,sTAAsT,6LAA6L,kJAAkJ,GAAGC,GAAgB,CAclwmC,eAAe,IAAgB,GAAgB,GAAgB,YAAY,OAAO,GAAgB,aAAa,CAAC,OAAO,IAAI,MAAM,KAAK,CAAC,EAAS,GAAgB,CAAC,CAAC,cAAc,GAAK,MAAM,CAAC,CAAC,cAAc,QAAQ,OAAO,SAAS,MAAM,SAAS,aAAa,QAAQ,aAAa,0EAA0E,IAAI,uEAAuE,OAAO,MAAM,CAAC,CAAC,cAAc,QAAQ,OAAO,SAAS,MAAM,SAAS,aAAa,QAAQ,aAAa,wDAAwD,IAAI,yEAAyE,OAAO,MAAM,CAAC,CAAC,cAAc,QAAQ,OAAO,SAAS,MAAM,SAAS,aAAa,QAAQ,aAAa,cAAc,IAAI,wEAAwE,OAAO,MAAM,CAAC,CAAC,cAAc,QAAQ,OAAO,SAAS,MAAM,SAAS,aAAa,QAAQ,aAAa,cAAc,IAAI,wEAAwE,OAAO,MAAM,CAAC,CAAC,cAAc,QAAQ,OAAO,SAAS,MAAM,SAAS,aAAa,QAAQ,aAAa,uGAAuG,IAAI,wEAAwE,OAAO,MAAM,CAAC,CAAC,cAAc,QAAQ,OAAO,SAAS,MAAM,SAAS,aAAa,QAAQ,aAAa,uLAAuL,IAAI,yEAAyE,OAAO,MAAM,CAAC,CAAC,cAAc,QAAQ,OAAO,SAAS,MAAM,SAAS,aAAa,QAAQ,aAAa,oGAAoG,IAAI,uEAAuE,OAAO,MAAM,CAAC,CAAC,cAAc,QAAQ,OAAO,SAAS,MAAM,SAAS,aAAa,QAAQ,aAAa,0EAA0E,IAAI,yEAAyE,OAAO,MAAM,CAAC,CAAC,cAAc,QAAQ,OAAO,SAAS,MAAM,SAAS,aAAa,QAAQ,aAAa,wDAAwD,IAAI,yEAAyE,OAAO,MAAM,CAAC,CAAC,cAAc,QAAQ,OAAO,SAAS,MAAM,SAAS,aAAa,QAAQ,aAAa,cAAc,IAAI,yEAAyE,OAAO,MAAM,CAAC,CAAC,cAAc,QAAQ,OAAO,SAAS,MAAM,SAAS,aAAa,QAAQ,aAAa,cAAc,IAAI,uEAAuE,OAAO,MAAM,CAAC,CAAC,cAAc,QAAQ,OAAO,SAAS,MAAM,SAAS,aAAa,QAAQ,aAAa,uGAAuG,IAAI,yEAAyE,OAAO,MAAM,CAAC,CAAC,cAAc,QAAQ,OAAO,SAAS,MAAM,SAAS,aAAa,QAAQ,aAAa,uLAAuL,IAAI,uEAAuE,OAAO,MAAM,CAAC,CAAC,cAAc,QAAQ,OAAO,SAAS,MAAM,SAAS,aAAa,QAAQ,aAAa,oGAAoG,IAAI,yEAAyE,OAAO,MAAM,CAAC,CAAC,CAAC,GAAG,GAAY,GAAG,GAA2B,GAAG,GAA8B,GAAG,GAAe,GAAG,EAAwBC,GAAkB,CAAC,CAAC,CAAC,6BAA6B,GAAK,CAAC,CAAC,GAAgB,OAAO,CAAC,MAAM,EAAM,KAAwB,EAAQ,OAAc,QAAQ,WAAW,CAAC,GAAclB,GAAO,EAAE,CAAC,EAAQ,CAAC,GAAcC,GAAU,EAAE,CAAC,EAAQ,CAAC,CAAC,EAAG,CAClkIkB,GAAqB,CAAC,QAAU,CAAC,MAAQ,CAAC,KAAO,SAAS,YAAc,CAAC,sBAAwB,IAAI,CAAC,CAAC,QAAU,CAAC,KAAO,iBAAiB,KAAO,kBAAkB,MAAQ,EAAE,CAAC,YAAc,CAAC,uBAAyB,OAAO,qBAAuB,QAAQ,yBAA2B,QAAQ,oCAAsC,4EAA0F,sBAAwB,IAAI,+BAAiC,OAAO,6BAA+B,OAAO,kBAAoB,OAAO,yBAA2B,OAAO,sBAAwB,MAAM,qBAAuB,OAAO,qBAAuB,OAAO,4BAA8B,OAAO,CAAC,CAAC,gBAAkB,CAAC,KAAO,WAAW,YAAc,CAAC,sBAAwB,IAAI,CAAC,CAAC,mBAAqB,CAAC,KAAO,WAAW,CAAC,CAAA,ICfxtB,eAAsB,GAAY,EAAO,EAAc,EAAa,CAAC,IAAM,EAAY,GAAa,GAAc,EAAO,EAAY,MAAM,EAAY,EAAc,EAAa,CAAC,IAAA,GAAgB,EAAO,CAAC,QAAQ,EAAE,CAAC,UAAU,EAAE,CAAC,QAAQ,EAAE,CAAC,UAAU,EAAE,CAAC,CAAC,IAAI,IAAM,KAAW,GAAS,CAAC,GAAG,EAAQ,SAAS,CAAC,EAAQ,QAAQ,IAAI,EAAO,CAAC,SAAS,IAAM,EAAK,EAAQ,KAAK,EAAO,CAAI,GAAM,EAAO,EAAQ,WAAW,KAAK,CAAC,GAAG,EAAQ,OAAK,CAAC,CAAG,OAAO,6BAA1iB,GAAS,EAAE,CAAO,GAAa,EAAE,CAAc,GAAgB,CAAC,QAAQ,EAAE,CAAC,UAAU,EAAE,CAAC,QAAQ,EAAE,CAAC,UAAU,EAAE,CAAC,CACzGC,GAAqB,CAAC,QAAU,CAAC,gBAAkB,CAAC,KAAO,WAAW,YAAc,CAAC,sBAAwB,IAAI,CAAC,CAAC,YAAc,CAAC,KAAO,WAAW,YAAc,CAAC,sBAAwB,IAAI,CAAC,CAAC,mBAAqB,CAAC,KAAO,WAAW,CAAC,CAAA,8BCF9L,IAA4B,IAA4B,CAAM,QAAkB,MAAoB,CAAC,IAAI,EAAU,SAAS,cAAc,sBAAsB,CAAI,EAAW,EAAU,aAAa,UAAU,UAAU,EAAO,EAAU,SAAS,cAAc,OAAO,CAAC,EAAU,aAAa,OAAO,SAAS,CAAC,EAAU,aAAa,UAAU,UAAU,CAAC,SAAS,KAAK,YAAY,EAAU,GAAI,EAAE,CAAC,CAAqB,EAAK,MAAM,CAAC,UAAU,0BAA0B,MAAM,CAAC,QAAQ,OAAO,OAAO,QAAQ,WAAW,SAAS,eAAe,SAAS,gBAAgB,uBAAuB,WAAW,0BAA0B,SAAS,wBAAwB,UAAU,aAAa,oBAAoB,iBAAiB,qBAAqB,mBAAmB,cAAc,qBAAqB,CAAC,SAAsB,EAAM,OAAO,CAAC,MAAM,CAAC,UAAU,aAAa,WAAW,sBAAsB,WAAW,IAAI,SAAS,QAAQ,MAAM,OAAO,QAAQ,OAAO,WAAW,SAAS,cAAc,SAAS,QAAQ,SAAS,SAAS,UAAU,CAAC,SAAS,CAAc,EAAK,MAAM,CAAC,MAAM,6BAA6B,MAAM,KAAK,OAAO,KAAK,MAAM,CAAC,cAAc,SAAS,MAAM,uBAAuB,aAAa,OAAO,CAAC,SAAsB,EAAK,OAAO,CAAC,EAAE,yEAAyE,KAAK,eAAe,CAAC,CAAC,CAAC,CAAc,EAAK,KAAK,CAAC,MAAM,CAAC,OAAO,aAAa,SAAS,yBAAyB,MAAM,uBAAuB,UAAU,SAAS,CAAC,SAAS,iBAAiB,CAAC,CAAc,EAAK,MAAM,CAAC,MAAM,CAAC,MAAM,yBAAyB,aAAa,OAAO,WAAW,QAAQ,UAAU,SAAS,CAAC,SAAS,sEAAsE,CAAC,CAAc,EAAK,IAAI,CAAC,KAAK,IAAI,KAAK,SAAS,MAAM,CAAC,gBAAgB,oBAAoB,MAAM,UAAU,YAAY,MAAM,aAAa,MAAM,aAAa,MAAM,WAAW,OAAO,OAAO,OAAO,eAAe,OAAO,cAAc,WAAW,CAAC,SAAS,eAAe,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAgI79D,GAAU,GAAQ,GAhIw9D,CAAC;;;;;;;;OAQl/D;;;;;;;OAOA;;;;;;;OAOA;;;;;;;OAOA;;;;;;;;OAQA;;;;;;;;;OASA;;;;;;;;OAQA;;;;;;;;OAQA;;;;;;;OAOA;;;;;;;OAOA;;;;;;;OAOA;;;;;;;;OAQA;;;;;;;;;OASA;;;;;;;;OAQA;;;;;;;OAOA;;;;;;;OAOA;;;;;;OAMA,CAA0C,IAAgB,GACpDC,GAAqB,CAAC,QAAU,CAAC,QAAU,CAAC,KAAO,iBAAiB,KAAO,YAAY,MAAQ,EAAE,CAAC,YAAc,CAAC,sBAAwB,IAAI,CAAC,CAAC,mBAAqB,CAAC,KAAO,WAAW,CAAC,CAAC,wBC1H7E,ICSrF,SAAS,IAA2B,CAAC,IAAI,EAAS,GACtF,GAAG,CAAC,EAAS,EAAO,OAAO,EAAO,SAAU,CAC5C,EAAS,GAAM,GAAG,CAAC,EAAU,MAAO,GACpC,IAAI,EAAW,KAAS,EAAe,GACvC,GAAG,EAAO,SAAS,iBAAiB,EAAO,SAAS,gBAAgB,OAAO,EAAE,CAAC,IAAM,EAAe,EAAO,SAAS,gBAAgB,GAAG,GAAG,CAA2C,EAAxB,IAAI,IAAI,EAAe,CAAwB,UAAkB,WACnN,SAAS,SACnB,GAAG,CAA8C,EAA3B,IAAI,IAAI,SAAS,SAAS,CAAwB,UAAkB,EACY,OAAjG,IAAY,EAAe,IAAa,IAAe,EAAW,SAAS,IAAI,KAAgB,EAAS,EAAmI,SAAgB,GAAwB,EAAU,CAAC,OAAoB,GAAY,EAAM,IAAM,CAAC,IAAM,EAAWC,GAAqB,GAAc,GAAY,GAAkB,CAAO,EAAS,GAAa,SAAS,GAAG,GAAa,OAA8C,OAApC,GAAY,CAAC,EAAiB,KAA0B,EAAKC,EAAU,CAAC,GAAG,EAAU,MAAI,QAAQ,GAAG,CAAC,EAAE,gBAAgB,CAAC,EAAO,KACjmB,yEAAyE,mBAAmB,GAAQ,UAAU,OAAO,GAAG,EAAG,MAAM,CAAC,GAAG,EAAM,MAAM,cAAc,OAAO,CACtK,MAAM,oGAAoG,UAAU,EAAM,UAAU,kBAAkB,CAAC,EAAG,CAE1J,SAAgB,GAAS,EAAU,CAAC,OAAoB,GAAY,EAAM,IAA2B,EAAMC,EAAU,CAAC,SAAS,CAAc,EAAK,IAAI,CAAC,MAAM,CAAC,SAAS,WAAW,UAAU,eAAe,CAAC,SAAS,oGAAoG,CAAC,CAAc,EAAKD,EAAU,CAAC,GAAG,EAAU,MAAI,CAAC,CAAC,CAAC,CAAC,CAAG,mCA1BjS,IAAmD,IAAiC,CAe1J,GAAc,aAO4G,WAAsB,GAAS,OAAgB,IAA2B,CAAO,OAAsB,+CCtB/L,IAAsE,IAA4B,CAAoCE,GAAU,qtTAA6tTC,GAAS,2CAAiDC,GAAW,YAAkBC,GAAa,SAAeC,GAAS,OAAaC,GAAiB,GAAY,EAAM,IAAM,CAAC,GAAK,CAAC,WAAS,WAAS,WAAS,GAAG,GAAM,EAAM,OAAO,EAAsB,EAAK,EAAO,IAAI,CAAC,GAAG,EAAc,WAAa,MAAI,CAAC,CAAc,EAAK,MAAM,CAAC,GAAG,EAAS,MAAI,CAAC,EAAG,CAAOC,IAAU,CAAC,OAAK,QAAM,SAAO,GAAA,EAAG,QAAM,GAAG,MAAgB,CAAC,GAAG,EAAM,UAAU,GAAO,EAAM,WAAW,eAAe,UAAU,GAAM,EAAM,WAAW,eAAe,EAS55UC,GAAK,GATu7U,EAAiB,SAAS,EAAM,EAAI,CAAC,GAAK,CAAC,QAAM,UAAA,EAAU,WAAS,UAAQ,YAAU,YAAU,GAAG,GAAWD,GAAS,EAAM,CAAC,OAAoB,EAAKD,GAAI,CAAC,GAAG,EAAU,UAAU,GAAG,eAAeG,EAAU,CAAU,WAAa,MAAI,MAAM,CAAC,YAAY,EAAU,GAAG,EAAM,CAAC,CAAC,EAAG,CAAW,CAAC,uCAAuCR,GAAU,2BAA2BG,GAAa,yBAAyBD,GAAW,uBAAuBE,GAAS,qEAAqEJ,GAAU,eAAeC,GAAS,mBAAmBE,GAAa,iBAAiBD,GAAW,eAAeE,GAAS,kBAAkB,CAS5iW,eAAe,CAAC,GAAK,YAAY,UAAsBG,GAAK,EAAoBA,GAAK,CAAC,UAAU,CAAC,aAAa,eAAe,OAAO,GAAM,MAAM,OAAO,KAAK,EAAY,MAAM,CAAC,UAAU,CAAC,aAAa,eAAe,OAAO,GAAK,MAAM,SAAS,KAAK,EAAY,MAAM,CAAC,CAAC,6CCTnQ,IAAsE,IAA4B,CAAoC,GAAU,+VAAuW,GAAS,2CAAiD,GAAW,YAAkB,GAAa,SAAe,GAAS,OAAa,GAAiB,GAAY,EAAM,IAAM,CAAC,GAAK,CAAC,WAAS,WAAS,WAAS,GAAG,GAAM,EAAM,OAAO,EAAsB,EAAK,EAAO,IAAI,CAAC,GAAG,EAAc,WAAa,MAAI,CAAC,CAAc,EAAK,MAAM,CAAC,GAAG,EAAS,MAAI,CAAC,EAAG,CAAOE,IAAU,CAAC,OAAK,QAAM,SAAO,GAAA,EAAG,QAAM,GAAG,MAAgB,CAAC,GAAG,EAAM,UAAU,GAAO,EAAM,WAAW,eAAe,UAAU,GAAM,EAAM,WAAW,eAAe,EAStiC,GAAK,GATikC,EAAiB,SAAS,EAAM,EAAI,CAAC,GAAK,CAAC,QAAM,UAAA,EAAU,WAAS,UAAQ,YAAU,YAAU,GAAG,GAAWA,GAAS,EAAM,CAAC,OAAoB,EAAK,GAAI,CAAC,GAAG,EAAU,UAAU,GAAG,eAAeC,EAAU,CAAU,WAAa,MAAI,MAAM,CAAC,YAAY,EAAU,GAAG,EAAM,CAAC,CAAC,EAAG,CAAW,CAAC,uCAAuC,GAAU,2BAA2B,GAAa,yBAAyB,GAAW,uBAAuB,GAAS,qEAAqE,GAAU,eAAe,GAAS,mBAAmB,GAAa,iBAAiB,GAAW,eAAe,GAAS,kBAAkB,CAStrD,eAAe,CAAC,GAAK,YAAY,YAAwB,GAAK,EAAoB,GAAK,CAAC,UAAU,CAAC,aAAa,eAAe,OAAO,GAAM,MAAM,OAAO,KAAK,EAAY,MAAM,CAAC,UAAU,CAAC,aAAa,eAAe,OAAO,GAAK,MAAM,SAAS,KAAK,EAAY,MAAM,CAAC,CAAC,wECTvP,IAAuK,IAAkE,IAA4B,KAAiK,KAA+G,KAAiH,CAAM,GAAY,EAASC,GAAO,CAAO,GAAU,EAASC,GAAK,CAAO,GAAoB,GAA6BA,GAAK,CAAC,OAAO,YAAY,SAAS,GAAS,QAAQ,YAAY,CAAC,CAAO,GAAoE,GAA0B,GAAO,GAA6B,EAAO,EAAE,CAAC,OAAO,YAAY,SAAS,GAAwB,QAAQ,YAAY,CAAC,CAAC,CAAC,CAAO,GAAkB,eAAqB,GAAkB,CAAC,UAAU,kBAAkB,CAA0Q,GAAU,CAAC,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,WAA1I,CAAC,QAAQ,GAAG,MAAM,EAAE,KAAK,IAAI,UAAU,IAAI,KAAK,SAAS,CAAwG,EAAE,EAAE,EAAE,EAAE,CAAO,GAAW,CAAC,QAAQ,KAAK,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,EAAE,EAAE,EAAE,GAAG,CAAO,GAAY,CAAC,SAAS,EAAE,KAAK,QAAQ,CAAO,IAAoB,EAAE,IAAI,yBAAyBC,IAAU,IAAoB,EAAE,IAAI,oBAAoBA,IAAU,IAAY,CAAC,QAAM,cAAY,CAAC,IAAM,EAAOC,EAAiB,EAAoB,CAAO,EAAW,GAAO,EAAO,WAAiB,EAAaC,OAAmB,CAAC,GAAG,EAAO,aAAW,EAAE,CAAC,KAAK,UAAU,EAAW,CAAC,CAAC,CAAC,OAAoB,EAAK,EAAoB,SAAS,CAAC,MAAM,EAAsB,WAAS,CAAC,EAAS,GAAS,EAAO,OAAOC,EAAe,CAAO,IAAU,CAAC,SAAO,GAAA,EAAG,QAAM,GAAG,MAAgB,CAAC,GAAG,EAAM,EAAS,IAAwB,EAAM,IAAe,EAAM,iBAAwB,EAAS,KAAK,IAAI,CAAC,EAAM,iBAAwB,EAAS,KAAK,IAAI,CAU91E,GAAgB,GAV82E,EAAiB,SAAS,EAAM,EAAI,CAAC,IAAM,EAAYC,EAAO,KAAK,CAAO,EAAW,GAAK,EAAkB,EAAgBC,IAAa,CAAM,CAAC,eAAa,aAAW,IAAe,CAAyB,IAAsB,CAAC,GAAK,CAAC,QAAM,UAAA,EAAU,WAAS,UAAQ,GAAG,GAAW,GAAS,EAAM,CAAM,CAAC,cAAY,aAAW,sBAAoB,kBAAgB,iBAAe,YAAU,kBAAgB,aAAW,YAAU,EAAgB,CAAC,eAAe,YAAY,IAAI,EAAW,UAAQ,qBAAkB,CAAC,CAAO,EAAiB,GAAuB,EAAM,EAAS,CAAsC,EAAkB,GAAG,GAA2C,CAAC,OAAoB,EAAK,EAAY,CAAC,GAAG,GAAU,EAAgB,SAAsB,EAAK,GAAS,CAAC,QAAQ,EAAS,QAAQ,GAAM,SAAsB,EAAK,GAAW,CAAC,MAAM,GAAY,SAAsB,EAAK,GAAK,CAAC,KAAK,yBAAyB,YAAY,GAAK,OAAO,YAAY,aAAa,GAAM,UAAU,EAAE,CAAC,QAAQ,YAAY,SAAsB,EAAM,GAAoE,CAAC,GAAG,EAAU,GAAG,EAAgB,0BAA0B,GAAU,0BAA0B,GAAW,gBAAgB,GAAM,mBAAmB,GAAK,gBAAgB,EAAE,UAAU,GAAG,GAAG,EAAkB,gBAAgBC,EAAU,EAAW,CAAC,gBAAgB,wBAAwB,SAAS,mBAAmB,QAAQ,iBAAiB,GAAsB,mBAAiB,SAAS,YAAY,UAAU,GAAK,IAAI,EAAW,MAAM,CAAC,GAAG,EAAM,CAAC,SAAS,CAAc,EAAK,EAAO,IAAI,CAAC,UAAU,iBAAiB,mBAAmB,WAA4B,mBAAiB,SAAS,YAAY,MAAM,CAAC,gBAAgB,qBAAqB,uBAAuB,GAAG,wBAAwB,GAAG,oBAAoB,GAAG,qBAAqB,GAAG,UAAU,2LAA2L,CAAC,CAAC,CAAc,EAAM,EAAO,IAAI,CAAC,UAAU,iBAAiB,mBAAmB,UAA2B,mBAAiB,SAAS,YAAY,kBAAkB,GAAmB,SAAS,CAAc,EAAK,EAAO,IAAI,CAAC,UAAU,iBAAkC,mBAAiB,SAAS,YAAY,SAAsB,EAAKR,GAAO,CAAC,SAAS,GAAK,UAAU,eAAe,mBAAmB,OAAwB,mBAAiB,SAAS,YAAY,MAAM,CAAC,YAAY,eAAe,WAAW,eAAe,CAAC,kBAAkB,GAAmB,CAAC,CAAC,CAAC,CAAc,EAAK,GAAoB,CAAC,SAAS,GAAK,UAAU,iBAAiB,mBAAmB,OAAwB,mBAAiB,SAAS,YAAY,MAAM,CAAC,YAAY,eAAe,WAAW,eAAe,CAAC,CAAC,CAAC,CAAC,CAAC,CAAc,EAAK,EAAO,IAAI,CAAC,UAAU,gBAAgB,mBAAmB,SAA0B,mBAAiB,SAAS,YAAY,MAAM,CAAC,uBAAuB,GAAG,wBAAwB,GAAG,oBAAoB,GAAG,qBAAqB,GAAG,UAAU,qCAAqC,KAAK,qEAAqE,QAAQ,IAAI,WAAW,qEAAqE,CAAC,CAAC,CAAc,EAAK,EAAO,IAAI,CAAC,UAAU,gBAAgB,mBAAmB,SAA0B,mBAAiB,SAAS,YAAY,MAAM,CAAC,uBAAuB,GAAG,wBAAwB,GAAG,oBAAoB,GAAG,qBAAqB,GAAG,UAAU,qCAAqC,QAAQ,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAG,CAAW,CAAC,kFAAkF,gFAAgF,uIAAuI,gMAAgM,8SAA8S,kHAAkH,4IAA4I,wHAAwH,wLAAwL,CAUhtO,eAAe,IAAgB,GAAgB,GAAgB,YAAY,QAAQ,GAAgB,aAAa,CAAC,OAAO,GAAG,MAAM,IAAI,CAAC,EAAS,GAAgB,CAAC,CAAC,cAAc,GAAK,MAAM,EAAE,CAAC,CAAC,GAAG,GAAY,GAAG,GAAU,CAAC,CAAC,6BAA6B,GAAK,CAAC,CACjS,GAAqB,CAAC,QAAU,CAAC,MAAQ,CAAC,KAAO,SAAS,YAAc,CAAC,sBAAwB,IAAI,CAAC,CAAC,QAAU,CAAC,KAAO,iBAAiB,KAAO,kBAAkB,MAAQ,EAAE,CAAC,YAAc,CAAC,qBAAuB,OAAO,sBAAwB,IAAI,6BAA+B,OAAO,oCAAsC,6EAA2F,qBAAuB,MAAM,sBAAwB,KAAK,kBAAoB,OAAO,yBAA2B,QAAQ,yBAA2B,OAAO,CAAC,CAAC,mBAAqB,CAAC,KAAO,WAAW,CAAC,CAAA"}