{"version":3,"sources":["webpack:///./node_modules/gatsby-background-image/index.js","webpack:///./node_modules/warning/warning.js","webpack:///./node_modules/uuid/lib/rng-browser.js","webpack:///./node_modules/dom-helpers/esm/getComputedStyle.js","webpack:///./node_modules/dom-helpers/esm/ownerWindow.js","webpack:///./node_modules/dom-helpers/esm/hyphenate.js","webpack:///./node_modules/dom-helpers/esm/hyphenateStyle.js","webpack:///./node_modules/dom-helpers/esm/isTransform.js","webpack:///./node_modules/dom-helpers/esm/css.js","webpack:///./node_modules/react-side-effect/lib/index.js","webpack:///./node_modules/gatsby-image/index.js","webpack:///./node_modules/gatsby-background-image/lib/ImageRef.js","webpack:///./node_modules/gatsby-background-image/lib/ImageUtils.js","webpack:///./node_modules/dom-helpers/esm/addEventListener.js","webpack:///./node_modules/dom-helpers/esm/removeEventListener.js","webpack:///./node_modules/dom-helpers/esm/listen.js","webpack:///./node_modules/uuid/lib/bytesToUuid.js","webpack:///./node_modules/any-base/index.js","webpack:///./node_modules/html-attributes/lib/html-attributes.js","webpack:///./node_modules/uncontrollable/esm/utils.js","webpack:///./node_modules/uncontrollable/esm/hook.js","webpack:///./node_modules/prop-types-extra/lib/all.js","webpack:///./node_modules/gatsby-background-image/lib/MediaUtils.js","webpack:///./node_modules/gatsby-background-image/lib/StyleUtils.js","webpack:///./node_modules/gatsby-background-image/lib/StyleCreation.js","webpack:///./src/components/seo.js","webpack:///./node_modules/react-bootstrap/esm/ThemeProvider.js","webpack:///./node_modules/react-bootstrap/esm/Container.js","webpack:///./node_modules/dom-helpers/esm/camelize.js","webpack:///./node_modules/react-bootstrap/esm/createWithBsPrefix.js","webpack:///./node_modules/react-bootstrap/esm/NavbarBrand.js","webpack:///./node_modules/dom-helpers/esm/transitionEnd.js","webpack:///./node_modules/react-transition-group/esm/config.js","webpack:///./node_modules/react-transition-group/esm/TransitionGroupContext.js","webpack:///./node_modules/react-transition-group/esm/Transition.js","webpack:///./node_modules/react-bootstrap/esm/createChainedFunction.js","webpack:///./node_modules/react-bootstrap/esm/Collapse.js","webpack:///./node_modules/react-bootstrap/esm/triggerBrowserReflow.js","webpack:///./node_modules/react-bootstrap/esm/NavbarContext.js","webpack:///./node_modules/react-bootstrap/esm/NavbarCollapse.js","webpack:///./node_modules/react-bootstrap/esm/NavbarToggle.js","webpack:///./node_modules/react-bootstrap/esm/SelectableContext.js","webpack:///./node_modules/react-bootstrap/esm/Navbar.js","webpack:///./node_modules/react-bootstrap/esm/CardContext.js","webpack:///./node_modules/react-bootstrap/esm/NavContext.js","webpack:///./node_modules/react-bootstrap/esm/TabContext.js","webpack:///./node_modules/react-bootstrap/esm/AbstractNav.js","webpack:///./node_modules/react-bootstrap/esm/NavItem.js","webpack:///./node_modules/react-bootstrap/esm/SafeAnchor.js","webpack:///./node_modules/react-bootstrap/esm/AbstractNavItem.js","webpack:///./node_modules/react-bootstrap/esm/NavLink.js","webpack:///./node_modules/react-bootstrap/esm/Nav.js","webpack:///./node_modules/react-bootstrap/esm/Button.js","webpack:///./src/pages/index.js","webpack:///./node_modules/filter-invalid-dom-props/dist/index.js","webpack:///./node_modules/dom-helpers/esm/canUseDOM.js","webpack:///./node_modules/classnames/index.js","webpack:///./node_modules/xtend/immutable.js","webpack:///./node_modules/any-base/src/converter.js","webpack:///./node_modules/@restart/hooks/esm/useForceUpdate.js","webpack:///./node_modules/gatsby-background-image/lib/ClassCache.js","webpack:///./node_modules/@restart/hooks/esm/useCommittedRef.js","webpack:///./node_modules/@restart/hooks/esm/useEventCallback.js","webpack:///./node_modules/dom-helpers/esm/querySelectorAll.js","webpack:///./node_modules/react-helmet/node_modules/react-fast-compare/index.js","webpack:///./node_modules/sort-media-queries/lib/index.js","webpack:///./src/images/ms-partner-animated.gif","webpack:///./node_modules/dom-helpers/esm/ownerDocument.js","webpack:///./node_modules/short-uuid/index.js","webpack:///./node_modules/gatsby-background-image/lib/SimpleUtils.js","webpack:///./node_modules/@restart/hooks/esm/useMergedRefs.js","webpack:///./node_modules/gatsby-background-image/lib/IntersectionObserverUtils.js","webpack:///./node_modules/gatsby-background-image/lib/ImageHandling.js","webpack:///./node_modules/prop-types-extra/lib/utils/createChainableTypeChecker.js","webpack:///./node_modules/react-helmet/es/Helmet.js","webpack:///./node_modules/gatsby-background-image/lib/HelperUtils.js","webpack:///./node_modules/gatsby-background-image/lib/ImageCache.js","webpack:///./node_modules/@babel/runtime/helpers/esm/extends.js","webpack:///./node_modules/uuid/v4.js","webpack:///./node_modules/gatsby-background-image/lib/BackgroundUtils.js","webpack:///(webpack)/buildin/global.js","webpack:///./node_modules/@babel/runtime/helpers/esm/objectWithoutPropertiesLoose.js"],"names":["_interopRequireDefault","require","exports","__esModule","default","_objectWithoutPropertiesLoose2","_extends2","_assertThisInitialized2","_inheritsLoose2","_react","_propTypes","_BackgroundUtils","_HelperUtils","_ImageUtils","_ImageCache","_ImageRef","_ImageHandling","_StyleUtils","_StyleCreation","_IntersectionObserverUtils","_SimpleUtils","BackgroundImage","_React$Component","props","_this","call","this","intersectionListener","imageInCache","inImageCache","state","isVisible","onStartLoad","wasCached","imageRef","activatePictureRef","selfRef","setState","imageState","imgLoaded","imgCached","hasActivatedPictureRefs","convertedProps","convertProps","IOSupported","fadeIn","seenBefore","window","IntersectionObserver","critical","hasNoScript","currentClassNames","fixClassName","backgroundStyles","presetBackgroundStyles","className","handleImageLoaded","bind","handleRef","createPictureRef","_proto","prototype","componentDidMount","imageReferenceCompleted","componentDidUpdate","prevProps","_this2","imagePropsChanged","bgImage","getCurrentFromData","data","propName","returnArray","componentWillUnmount","Array","isArray","forEach","currentImageRef","isString","onload","cleanUpListeners","ref","listenToIntersections","rootMargin","activateCacheForImage","onLoad","render","_fixOpacity","fixOpacity","preserveStackingContext","_fixOpacity$style","style","fluid","fixed","backgroundColor","durationFadeIn","Tag","children","remainingProps","stripRemainingProps","bgColor","shouldFadeIn","transitionDelay","divStyle","position","opacity","image","getCurrentSrcData","noScriptImageData","width","height","display","newImageSettings","switchImageSettings","nextImageArray","nextImage","pseudoStyles","createPseudoStyles","originalData","noScriptPseudoStyles","createNoScriptStyles","componentKey","JSON","stringify","srcSet","currentStyles","createElement","key","dangerouslySetInnerHTML","__html","Component","defaultProps","fixedObject","shape","number","isRequired","src","string","base64","tracedSVG","srcWebp","srcSetWebp","media","fluidObject","aspectRatio","sizes","propTypes","oneOfType","arrayOf","bool","object","crossOrigin","array","func","onError","_default","warning","module","getRandomValues","crypto","msCrypto","rnds8","Uint8Array","rnds","r","i","Math","random","getComputedStyle","node","psuedoElement","doc","ownerDocument","defaultView","ownerWindow","rUpper","msPattern","hyphenateStyleName","replace","toLowerCase","hyphenate","supportedTransforms","property","css","transforms","getPropertyValue","Object","keys","value","test","isTransform","removeProperty","cssText","ex","React","React__default","_defineProperty","obj","defineProperty","enumerable","configurable","writable","canUseDOM","document","reducePropsToState","handleStateChangeOnClient","mapStateOnServer","Error","WrappedComponent","mountedInstances","emitChange","map","instance","SideEffect","_PureComponent","subClass","superClass","apply","arguments","create","constructor","__proto__","peek","rewind","recordedState","undefined","UNSAFE_componentWillMount","push","index","indexOf","splice","PureComponent","displayName","name","getDisplayName","io","resolutions","loading","groupByMedia","concat","matchesMedia","_ref","isBrowser","matchMedia","matches","getImageCacheKey","_ref2","srcData","currentData","some","hasArtDirectionSupport","foundMedia","findIndex","noMedia","imageCache","cacheKey","hasNativeLazyLoadSupport","HTMLImageElement","hasIOSupport","listeners","WeakMap","generateImageSources","imageVariants","_ref3","Fragment","type","withMedia","without","variant","generateTracedSVGSources","_ref4","generateBase64Sources","_ref5","generateNoscriptSource","_ref6","isWebp","el","cb","observer","entries","entry","has","target","get","isIntersecting","intersectionRatio","unobserve","delete","observe","set","noscriptImg","title","alt","draggable","join","Placeholder","forwardRef","generateSources","spreadProps","ariaHidden","baseImage","Img","length","otherProps","top","left","objectFit","objectPosition","Image","isCritical","addNoScript","useIOSupport","isHydrated","createRef","placeholderRef","img","current","complete","currentSrc","_convertProps","_convertProps$style","_convertProps$imgStyl","imgStyle","_convertProps$placeho","placeholderStyle","placeholderClassName","itemProp","shouldReveal","imageStyle","transition","delayHideStyle","imagePlaceholderStyle","placeholderImageProps","overflow","maxWidth","maxHeight","paddingBottom","bottom","right","requireFixedOrFluid","originalPropTypes","componentName","_PropTypes$checkPropT","checkPropTypes","oneOf","hasPictureRef","activateMultiplePictureRefs","createMultiplePictureRefs","_MediaUtils","isLoop","hasImageArray","hasArtDirectionArray","addEventListener","imageRefs","imageData","isImageStack","bodyClone","getSelectedImage","hasPictureElement","pic","offsetWidth","offsetHeight","createArtDirectionSources","reverse","currentSource","appendChild","sourcesWebP","srcset","every","singleImageRef","imageLoaded","createDummyImageArray","imageArrayPropsChanged","hasImageUrl","isBase64","getUrlString","getImageSrcKey","HTMLPictureElement","Boolean","_ref$addUrl","addUrl","_ref$returnArray","_ref$checkLoaded","checkLoaded","imageString","dataElement","mediaData","slice","_ref5$tracedSVG","_ref5$addUrl","_ref5$returnArray","_ref5$hasImageUrls","hasImageUrls","stringArray","currentString","_base","_imageUrl","currentReturnString","filteredJoin","imageUrl","returnString","base64String","substr","isPropsFluidArray","isPrevPropsFluidArray","isPropsFixedArray","isPrevPropsFixedArray","dummyImageURI","fill","naturalWidth","naturalHeight","optionsSupported","onceSupported","removeEventListener","e","eventName","handler","options","once","capture","wrappedHandler","__once","onceHandler","event","byteToHex","toString","buf","offset","bth","Converter","anyBase","srcAlphabet","dstAlphabet","converter","convert","BIN","OCT","DEC","HEX","defaultKey","charAt","toUpperCase","_toPropertyKey","arg","input","hint","prim","Symbol","toPrimitive","res","TypeError","String","Number","_toPrimitive","useUncontrolled","config","reduce","result","fieldName","defaultValue","propsValue","rest","handlerName","_useUncontrolledProp","propValue","wasPropRef","_useState","stateValue","isProp","wasProp","_len","args","_key","useUncontrolledProp","validators","allPropTypes","_len2","_key2","error","validator","_createChainableTypeChecker2","_createChainableTypeChecker","_sortMediaQueries","sortedVariants","sources","source","prop","setTransitionStyles","kebabifyBackgroundStyles","escapeClassNames","_shortUuid","_ClassCache","elementExists","inComponentClassCache","additionalClassname","generate","randomClass","hashString","componentClassNames","trim","activateCacheForComponentClass","classNames","specialChars","_gbiSpecialChars","__GBI_SPECIAL_CHARS__","specialCharRegEx","RegExp","styles","filter","resultingStyles","toKebabCase","styledProps","isNaN","backgroundPosition","backgroundRepeat","backgroundSize","createStyleImage","createPseudoElementMediaQuery","createPseudoElementWithContent","createPseudoElement","appendix","escapedClassName","classes","stringToArray","pseudoClasses","c","pseudoElementString","imageSource","imageSourceWebP","lastImage","afterOpacity","finalImage","pseudoBefore","pseudoAfter","currentBackgroundStyles","hasStackedImages","allSources","sourcesAsUrl","sourcesAsUrlWithCSS","cssStrings","combineArray","currentMedia","sourceString","webPString","SEO","description","lang","meta","keywords","Helmet","htmlAttributes","content","ThemeContext","createContext","Consumer","Provider","useBootstrapPrefix","prefix","defaultPrefix","prefixes","Container","bsPrefix","_ref$as","as","suffix","rHyphen","str","_","chr","NavbarBrand","href","emulateTransitionEnd","element","duration","padding","called","handle","setTimeout","evt","createEvent","initEvent","dispatchEvent","triggerTransitionEnd","remove","listen","clearTimeout","transitionEnd","mult","parseFloat","removeEmulate","Transition","context","initialStatus","appear","isMounting","enter","appearStatus","in","unmountOnExit","mountOnEnter","status","nextCallback","getDerivedStateFromProps","prevState","updateStatus","nextStatus","cancelNextCallback","getTimeouts","exit","timeout","mounting","performEnter","performExit","appearing","nodeRef","findDOMNode","maybeNode","maybeAppearing","timeouts","enterTimeout","safeSetState","onEntered","onEnter","onEntering","onTransitionEnd","_this3","onExit","onExiting","onExited","cancel","nextState","callback","setNextCallback","_this4","active","doesNotHaveTimeoutOrListener","addEndListener","maybeNextCallback","_this$props","childProps","TransitionGroupContext","cloneElement","Children","only","noop","contextType","UNMOUNTED","EXITED","ENTERING","ENTERED","EXITING","_collapseStyles","funcs","f","acc","MARGINS","getDefaultDimensionValue","dimension","elem","margins","parseInt","collapseStyles","getDimensionValue","Collapse","_ref$dimension","_ref$getDimensionValu","computedDimension","handleEnter","handleEntering","scroll","handleEntered","handleExit","handleExiting","role","innerProps","NavbarCollapse","NavbarContext","expanded","NavbarToggle","label","onClick","onToggle","handleClick","useEventCallback","_temp","_ref$displayName","BsComponent","SelectableContext","makeEventKey","eventKey","NavbarText","_ref2$as","resolvedPrefix","Navbar","_useUncontrolled","initialBsPrefix","expand","bg","sticky","_useUncontrolled$as","_onToggle","onSelect","collapseOnSelect","controlledProps","handleCollapse","expandClass","navbarContext","Brand","Toggle","Text","NavContext","getControlledId","getControllerId","activeKey","onKeyDown","forceUpdate","useForceUpdate","needsRefocusRef","parentOnSelect","tabContext","listNode","getNextActiveChild","currentListNode","items","activeChild","querySelector","nextIndex","handleSelect","focus","mergedRef","useMergedRefs","nextActiveChild","preventDefault","dataset","rbEventKey","NavItem","isTrivialHref","SafeAnchor","disabled","stopPropagation","tabIndex","AbstractNavItem","navKey","navContext","isActive","contextControllerId","contextControlledId","id","handleOnclick","NavLink","Nav","uncontrolledProps","_classNames","navbarBsPrefix","cardHeaderBsPrefix","justify","navbar","isNavbar","cardContext","CardContext","Item","Link","Button","size","block","query","IndexPage","logo","childImageSharp","withWebP","tag","hero","blueGeometric","dbIcon","telescopeIcon","productivityIcon","reportingIcon","cloudIcon","logoBlackAndWhite","linkedInIcon","Date","getFullYear","domProps","hasOwnProperty","isValidDOMProp","_htmlAttributes","_htmlAttributes2","eventProps","onCopy","onCut","onPaste","onWheel","onScroll","onCompositionEnd","onCompositionStart","onCompositionUpdate","onKeyPress","onKeyUp","onFocus","onBlur","onChange","onInput","onSubmit","onContextMenu","onDoubleClick","onDrag","onDragEnd","onDragEnter","onDragExit","onDragLeave","onDragOver","onDragStart","onDrop","onMouseDown","onMouseEnter","onMouseLeave","onMouseMove","onMouseOut","onMouseOver","onMouseUp","onTouchCancel","onTouchEnd","onTouchMove","onTouchStart","onAnimationStart","onAnimationEnd","onAnimationIteration","hasOwn","argType","inner","divide","newlen","numberMap","fromBase","toBase","isValid","resetComponentClassCache","componentClassCache","fn","toArray","Function","qsa","selector","querySelectorAll","hasElementType","Element","hasMap","Map","hasSet","Set","hasArrayBuffer","ArrayBuffer","isView","a","b","equal","it","next","done","flags","valueOf","$$typeof","message","match","console","warn","extend","mqTypes","determineSortOrder","isMax","sortValA","sortVal","sortValB","ruleA","item","__media","ruleB","sortInit","rules","flag","rulesLength","itemsValid","allValid","collection","mqCollection","mqTypesLength","createCollection","o","prepareRules","rule","collectionType","valMatch","addRulesToCollection","sorter","sort","sortCollection","transformed","iterateCollectionItem","collectionItem","resultVal","typeLength","transformCollection","toFlickr","uuidV4","flickrBase58","shortenUUID","longId","translator","MakeConvertor","toAlphabet","useAlphabet","fromHex","toHex","new","uuid","fromUUID","toUUID","shortUuid","shortId","m","uu1","leftPad","len","enlargeUUID","alphabet","constants","cookieBase90","toCamelCase","isObject","letter","delimiter","includes","split","hash","charCodeAt","arrayToJoin","fromArray","toFnRef","refA","refB","mergeRefs","getIO","callbackIO","currentSources","dummyArray","validate","checkType","location","propFullName","componentNameSafe","propFullNameSafe","chainedCheckType","clock","_class","ATTRIBUTE_NAMES","TAG_NAMES","BASE","BODY","HEAD","HTML","LINK","META","NOSCRIPT","SCRIPT","STYLE","TITLE","TAG_PROPERTIES","REACT_TAG_MAP","accesskey","charset","class","contenteditable","contextmenu","itemprop","tabindex","HELMET_PROPS","HTML_TAG_MAP","SELF_CLOSING_TAGS","_typeof","iterator","classCallCheck","Constructor","createClass","defineProperties","descriptor","protoProps","staticProps","_extends","assign","objectWithoutProperties","possibleConstructorReturn","self","ReferenceError","encodeSpecialCharacters","encode","getTitleFromPropsList","propsList","innermostTitle","getInnermostProperty","innermostTemplate","innermostDefaultTitle","getOnChangeClientState","getAttributesFromPropsList","tagType","tagAttrs","getBaseTagFromPropsList","primaryAttributes","innermostBaseTag","lowerCaseAttributeKey","getTagsFromPropsList","tagName","approvedSeenTags","approvedTags","instanceTags","instanceSeenTags","primaryAttributeKey","attributeKey","tagUnion","rafPolyfill","now","currentTime","cafPolyfill","requestAnimationFrame","webkitRequestAnimationFrame","mozRequestAnimationFrame","global","cancelAnimationFrame","webkitCancelAnimationFrame","mozCancelAnimationFrame","msg","_helmetCallback","commitTagChanges","newState","baseTag","bodyAttributes","linkTags","metaTags","noscriptTags","onChangeClientState","scriptTags","styleTags","titleAttributes","updateAttributes","updateTitle","tagUpdates","updateTags","addedTags","removedTags","_tagUpdates$tagType","newTags","oldTags","flattenArray","possibleArray","attributes","elementTag","getElementsByTagName","helmetAttributeString","getAttribute","helmetAttributes","attributesToRemove","attributeKeys","attribute","setAttribute","indexToSave","_i","removeAttribute","tags","headElement","head","tagNodes","indexToDelete","newElement","innerHTML","styleSheet","createTextNode","existingTag","isEqualNode","parentNode","removeChild","generateElementAttributesAsString","attr","convertElementAttributestoReactProps","initProps","getMethodsForTag","toComponent","_initProps","attributeString","flattenedTitle","generateTitleAsString","_mappedTag","mappedTag","mappedAttribute","generateTagsAsReactComponent","attributeHtml","tagContent","isSelfClosing","generateTagsAsString","_ref$title","base","link","noscript","script","HelmetSideEffects","defer","HelmetExport","HelmetWrapper","setPrototypeOf","inherits","shouldComponentUpdate","nextProps","mapNestedChildrenToProps","child","nestedChildren","flattenArrayTypeChildren","_babelHelpers$extends","arrayTypeChildren","newChildProps","mapObjectTypeChildren","_babelHelpers$extends2","_babelHelpers$extends3","newProps","mapArrayTypeChildrenToProps","newFlattenedProps","arrayChildName","_babelHelpers$extends4","warnOnInvalidChildren","mapChildrenToProps","_child$props","initAttributes","convertReactPropstoHtmlAttributes","_props","defaultTitle","titleTemplate","mappedState","renderStatic","_filterInvalidDomProps","resetImageCache","activateCacheForMultipleImages","allInImageCache","objectSrc","rng","bytesToUuid","ii","getBackgroundStylesForSingleClass","getStyleRules","getStyleRulesForClassName","styleSheets","cssRules","foundClass","foundAcc","styleRule","selectorText","cssStyleRules","values","newData","classObjects","g","_objectWithoutPropertiesLoose","excluded","sourceKeys"],"mappings":"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","file":"component---src-pages-index-js-ae09bf5a33d203404b61.js","sourcesContent":["\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nexports.__esModule = true;\nexports.default = void 0;\n\nvar _objectWithoutPropertiesLoose2 = _interopRequireDefault(require(\"@babel/runtime/helpers/objectWithoutPropertiesLoose\"));\n\nvar _extends2 = _interopRequireDefault(require(\"@babel/runtime/helpers/extends\"));\n\nvar _assertThisInitialized2 = _interopRequireDefault(require(\"@babel/runtime/helpers/assertThisInitialized\"));\n\nvar _inheritsLoose2 = _interopRequireDefault(require(\"@babel/runtime/helpers/inheritsLoose\"));\n\nvar _react = _interopRequireDefault(require(\"react\"));\n\nvar _propTypes = _interopRequireDefault(require(\"prop-types\"));\n\nvar _BackgroundUtils = _interopRequireDefault(require(\"./lib/BackgroundUtils\"));\n\nvar _HelperUtils = require(\"./lib/HelperUtils\");\n\nvar _ImageUtils = require(\"./lib/ImageUtils\");\n\nvar _ImageCache = require(\"./lib/ImageCache\");\n\nvar _ImageRef = require(\"./lib/ImageRef\");\n\nvar _ImageHandling = require(\"./lib/ImageHandling\");\n\nvar _StyleUtils = require(\"./lib/StyleUtils\");\n\nvar _StyleCreation = require(\"./lib/StyleCreation\");\n\nvar _IntersectionObserverUtils = require(\"./lib/IntersectionObserverUtils\");\n\nvar _SimpleUtils = require(\"./lib/SimpleUtils\");\n\nvar BackgroundImage = function (_React$Component) {\n (0, _inheritsLoose2.default)(BackgroundImage, _React$Component);\n\n function BackgroundImage(props) {\n var _this;\n\n _this = _React$Component.call(this, props) || this;\n\n _this.intersectionListener = function () {\n var imageInCache = (0, _ImageCache.inImageCache)(_this.props);\n\n if (!_this.state.isVisible && typeof _this.props.onStartLoad === \"function\") {\n _this.props.onStartLoad({\n wasCached: imageInCache\n });\n }\n\n _this.imageRef = (0, _ImageRef.activatePictureRef)(_this.imageRef, _this.props, _this.selfRef);\n\n _this.setState(function (state) {\n return {\n isVisible: true,\n imageState: state.imageState + 1\n };\n }, function () {\n _this.setState(function (state) {\n return {\n imgLoaded: imageInCache,\n imgCached: (0, _ImageRef.hasActivatedPictureRefs)(_this.imageRef),\n imageState: state.imageState + 1\n };\n });\n });\n };\n\n var convertedProps = (0, _HelperUtils.convertProps)(props);\n var isVisible = true;\n var imgLoaded = false;\n var IOSupported = false;\n var fadeIn = convertedProps.fadeIn;\n var seenBefore = (0, _ImageCache.inImageCache)(convertedProps);\n\n if (!seenBefore && typeof window !== \"undefined\" && window.IntersectionObserver) {\n isVisible = false;\n IOSupported = true;\n }\n\n if (typeof window === \"undefined\") {\n isVisible = false;\n }\n\n if (convertedProps.critical) {\n isVisible = true;\n IOSupported = false;\n }\n\n var hasNoScript = !(convertedProps.critical && !fadeIn);\n var imageState = 0;\n\n var _fixClassName = (0, _StyleUtils.fixClassName)(convertedProps),\n currentClassNames = _fixClassName[0];\n\n _this.backgroundStyles = (0, _StyleUtils.presetBackgroundStyles)((0, _BackgroundUtils.default)(convertedProps.className));\n _this.handleImageLoaded = _this.handleImageLoaded.bind((0, _assertThisInitialized2.default)(_this));\n _this.handleRef = _this.handleRef.bind((0, _assertThisInitialized2.default)(_this));\n _this.imageRef = (0, _ImageRef.createPictureRef)((0, _extends2.default)({}, convertedProps, {\n isVisible: isVisible\n }), _this.handleImageLoaded);\n _this.selfRef = null;\n _this.state = {\n isVisible: isVisible,\n imgLoaded: imgLoaded,\n IOSupported: IOSupported,\n fadeIn: fadeIn,\n hasNoScript: hasNoScript,\n seenBefore: seenBefore,\n imageState: imageState,\n currentClassNames: currentClassNames\n };\n return _this;\n }\n\n var _proto = BackgroundImage.prototype;\n\n _proto.componentDidMount = function componentDidMount() {\n this.backgroundStyles = (0, _StyleUtils.presetBackgroundStyles)((0, _BackgroundUtils.default)(this.props.className));\n\n if (this.state.isVisible && typeof this.props.onStartLoad === \"function\") {\n this.props.onStartLoad({\n wasCached: (0, _ImageCache.inImageCache)(this.props)\n });\n }\n\n if (this.props.critical || this.state.seenBefore) {\n if ((0, _ImageRef.imageReferenceCompleted)(this.imageRef, this.props)) {\n this.handleImageLoaded();\n }\n }\n\n var _fixClassName2 = (0, _StyleUtils.fixClassName)(this.props),\n currentClassNames = _fixClassName2[0];\n\n this.setState({\n currentClassNames: currentClassNames\n });\n };\n\n _proto.componentDidUpdate = function componentDidUpdate(prevProps) {\n var _this2 = this;\n\n if ((0, _ImageUtils.imagePropsChanged)(this.props, prevProps)) {\n var convertedProps = (0, _HelperUtils.convertProps)(this.props);\n var imageInCache = (0, _ImageCache.inImageCache)(convertedProps);\n\n var _fixClassName3 = (0, _StyleUtils.fixClassName)(convertedProps),\n currentClassNames = _fixClassName3[0];\n\n this.setState({\n isVisible: imageInCache || convertedProps.critical,\n imgLoaded: imageInCache,\n seenBefore: imageInCache,\n currentClassNames: currentClassNames\n }, function () {\n _this2.bgImage = (0, _ImageUtils.getCurrentFromData)({\n data: _this2.imageRef,\n propName: \"currentSrc\",\n returnArray: true\n }) || (0, _ImageUtils.getCurrentFromData)({\n data: _this2.imageRef,\n propName: \"src\",\n returnArray: true\n });\n _this2.imageRef = (0, _ImageRef.createPictureRef)((0, _extends2.default)({}, convertedProps, {\n isVisible: _this2.state.isVisible\n }), _this2.handleImageLoaded);\n });\n }\n };\n\n _proto.componentWillUnmount = function componentWillUnmount() {\n if (this.imageRef) {\n if (Array.isArray(this.imageRef)) {\n this.imageRef.forEach(function (currentImageRef) {\n if (!!currentImageRef && !(0, _SimpleUtils.isString)(currentImageRef)) {\n currentImageRef.onload = null;\n }\n });\n } else {\n this.imageRef.onload = null;\n }\n }\n\n if (this.cleanUpListeners) {\n this.cleanUpListeners();\n }\n };\n\n _proto.handleRef = function handleRef(ref) {\n this.selfRef = ref;\n\n if (this.state.IOSupported && ref) {\n this.cleanUpListeners = (0, _IntersectionObserverUtils.listenToIntersections)(ref, this.intersectionListener, this.props.rootMargin);\n }\n };\n\n _proto.handleImageLoaded = function handleImageLoaded() {\n (0, _ImageCache.activateCacheForImage)(this.props);\n this.setState(function (state) {\n return {\n imgLoaded: true,\n imageState: state.imageState + 1\n };\n });\n\n if (this.state.seenBefore) {\n this.setState({\n fadeIn: false\n });\n }\n\n if (this.props.onLoad) {\n this.props.onLoad();\n }\n };\n\n _proto.render = function render() {\n var _fixOpacity = (0, _StyleUtils.fixOpacity)((0, _HelperUtils.convertProps)(this.props), this.props.preserveStackingContext),\n className = _fixOpacity.className,\n _fixOpacity$style = _fixOpacity.style,\n style = _fixOpacity$style === void 0 ? {} : _fixOpacity$style,\n fluid = _fixOpacity.fluid,\n fixed = _fixOpacity.fixed,\n backgroundColor = _fixOpacity.backgroundColor,\n durationFadeIn = _fixOpacity.durationFadeIn,\n Tag = _fixOpacity.Tag,\n children = _fixOpacity.children,\n props = (0, _objectWithoutPropertiesLoose2.default)(_fixOpacity, [\"className\", \"style\", \"fluid\", \"fixed\", \"backgroundColor\", \"durationFadeIn\", \"Tag\", \"children\"]);\n\n var remainingProps = (0, _HelperUtils.stripRemainingProps)(props);\n var bgColor = typeof backgroundColor === \"boolean\" ? \"lightgray\" : typeof backgroundColor !== \"undefined\" ? backgroundColor : \"\";\n var shouldFadeIn = this.state.fadeIn === true && !this.state.imgCached || this.props.fadeIn === \"soft\";\n var transitionDelay = shouldFadeIn ? durationFadeIn / 2 + \"ms\" : \"none\";\n var divStyle = (0, _extends2.default)({\n position: \"relative\"\n }, style);\n if (!this.props.preserveStackingContext) divStyle.opacity = 0.99;\n var image = (0, _ImageUtils.getCurrentSrcData)({\n fluid: fluid,\n fixed: fixed,\n returnArray: true\n });\n var noScriptImageData = (0, _ImageUtils.getCurrentSrcData)({\n fluid: fluid,\n fixed: fixed\n });\n\n if (fluid || fixed) {\n if (fixed) {\n divStyle.width = style.width || image.width;\n divStyle.height = style.height || image.height;\n divStyle.display = \"inline-block\";\n\n if (style.display === \"inherit\") {\n delete divStyle.display;\n }\n }\n } else {\n return null;\n }\n\n var newImageSettings = (0, _ImageHandling.switchImageSettings)({\n image: image,\n bgImage: this.bgImage,\n imageRef: this.imageRef,\n state: this.state\n });\n this.bgImage = newImageSettings.nextImageArray || newImageSettings.nextImage || this.bgImage;\n var pseudoStyles = (0, _StyleCreation.createPseudoStyles)((0, _extends2.default)({\n className: this.state.currentClassNames,\n transitionDelay: transitionDelay,\n bgColor: bgColor,\n backgroundStyles: this.backgroundStyles,\n style: style,\n fadeIn: shouldFadeIn\n }, newImageSettings, {\n originalData: fluid || fixed\n }));\n var noScriptPseudoStyles = (0, _StyleCreation.createNoScriptStyles)({\n image: image,\n bgColor: bgColor,\n className: this.state.currentClassNames,\n backgroundStyles: this.backgroundStyles,\n style: style\n });\n var componentKey = \"\" + (fluid ? \"fluid\" : \"\") + (fixed ? \"fixed\" : \"\") + \"-\" + JSON.stringify(noScriptImageData.srcSet);\n var currentStyles = (0, _extends2.default)({}, this.backgroundStyles, divStyle);\n return _react.default.createElement(Tag, (0, _extends2.default)({\n className: this.state.currentClassNames,\n style: currentStyles,\n ref: this.handleRef,\n key: componentKey\n }, remainingProps), _react.default.createElement(\"style\", {\n dangerouslySetInnerHTML: {\n __html: pseudoStyles\n }\n }), this.state.hasNoScript && _react.default.createElement(\"noscript\", null, _react.default.createElement(\"style\", {\n dangerouslySetInnerHTML: {\n __html: noScriptPseudoStyles\n }\n })), children);\n };\n\n return BackgroundImage;\n}(_react.default.Component);\n\nBackgroundImage.defaultProps = {\n critical: false,\n fadeIn: true,\n durationFadeIn: 500,\n Tag: \"div\",\n preserveStackingContext: false,\n rootMargin: \"200px\"\n};\n\nvar fixedObject = _propTypes.default.shape({\n width: _propTypes.default.number.isRequired,\n height: _propTypes.default.number.isRequired,\n src: _propTypes.default.string.isRequired,\n srcSet: _propTypes.default.string.isRequired,\n base64: _propTypes.default.string,\n tracedSVG: _propTypes.default.string,\n srcWebp: _propTypes.default.string,\n srcSetWebp: _propTypes.default.string,\n media: _propTypes.default.string\n});\n\nvar fluidObject = _propTypes.default.shape({\n aspectRatio: _propTypes.default.number.isRequired,\n src: _propTypes.default.string.isRequired,\n srcSet: _propTypes.default.string.isRequired,\n sizes: _propTypes.default.string,\n base64: _propTypes.default.string,\n tracedSVG: _propTypes.default.string,\n srcWebp: _propTypes.default.string,\n srcSetWebp: _propTypes.default.string,\n media: _propTypes.default.string\n});\n\nBackgroundImage.propTypes = {\n fixed: _propTypes.default.oneOfType([fixedObject, _propTypes.default.arrayOf(fixedObject), _propTypes.default.arrayOf(_propTypes.default.oneOfType([fixedObject, _propTypes.default.string]))]),\n fluid: _propTypes.default.oneOfType([fluidObject, _propTypes.default.arrayOf(fluidObject), _propTypes.default.arrayOf(_propTypes.default.oneOfType([fluidObject, _propTypes.default.string]))]),\n fadeIn: _propTypes.default.oneOfType([_propTypes.default.string, _propTypes.default.bool]),\n durationFadeIn: _propTypes.default.number,\n className: _propTypes.default.oneOfType([_propTypes.default.string, _propTypes.default.object]),\n critical: _propTypes.default.bool,\n crossOrigin: _propTypes.default.oneOfType([_propTypes.default.string, _propTypes.default.bool]),\n style: _propTypes.default.oneOfType([_propTypes.default.object, _propTypes.default.array]),\n backgroundColor: _propTypes.default.oneOfType([_propTypes.default.string, _propTypes.default.bool]),\n onLoad: _propTypes.default.func,\n onError: _propTypes.default.func,\n onStartLoad: _propTypes.default.func,\n Tag: _propTypes.default.oneOfType([_propTypes.default.string, _propTypes.default.func]),\n preserveStackingContext: _propTypes.default.bool,\n rootMargin: _propTypes.default.string\n};\nvar _default = BackgroundImage;\nexports.default = _default;","/**\n * Copyright (c) 2014-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n'use strict';\n\n/**\n * Similar to invariant but only logs a warning if the condition is not met.\n * This can be used to log issues in development environments in critical\n * paths. Removing the logging code for production environments will keep the\n * same logic and follow the same code paths.\n */\n\nvar __DEV__ = process.env.NODE_ENV !== 'production';\n\nvar warning = function() {};\n\nif (__DEV__) {\n var printWarning = function printWarning(format, args) {\n var len = arguments.length;\n args = new Array(len > 1 ? len - 1 : 0);\n for (var key = 1; key < len; key++) {\n args[key - 1] = arguments[key];\n }\n var argIndex = 0;\n var message = 'Warning: ' +\n format.replace(/%s/g, function() {\n return args[argIndex++];\n });\n if (typeof console !== 'undefined') {\n console.error(message);\n }\n try {\n // --- Welcome to debugging React ---\n // This error was thrown as a convenience so that you can use this stack\n // to find the callsite that caused this warning to fire.\n throw new Error(message);\n } catch (x) {}\n }\n\n warning = function(condition, format, args) {\n var len = arguments.length;\n args = new Array(len > 2 ? len - 2 : 0);\n for (var key = 2; key < len; key++) {\n args[key - 2] = arguments[key];\n }\n if (format === undefined) {\n throw new Error(\n '`warning(condition, format, ...args)` requires a warning ' +\n 'message argument'\n );\n }\n if (!condition) {\n printWarning.apply(null, [format].concat(args));\n }\n };\n}\n\nmodule.exports = warning;\n","// Unique ID creation requires a high quality random # generator. In the\n// browser this is a little complicated due to unknown quality of Math.random()\n// and inconsistent support for the `crypto` API. We do the best we can via\n// feature-detection\n// getRandomValues needs to be invoked in a context where \"this\" is a Crypto\n// implementation. Also, find the complete implementation of crypto on IE11.\nvar getRandomValues = typeof crypto != 'undefined' && crypto.getRandomValues && crypto.getRandomValues.bind(crypto) || typeof msCrypto != 'undefined' && typeof window.msCrypto.getRandomValues == 'function' && msCrypto.getRandomValues.bind(msCrypto);\n\nif (getRandomValues) {\n // WHATWG crypto RNG - http://wiki.whatwg.org/wiki/Crypto\n var rnds8 = new Uint8Array(16); // eslint-disable-line no-undef\n\n module.exports = function whatwgRNG() {\n getRandomValues(rnds8);\n return rnds8;\n };\n} else {\n // Math.random()-based (RNG)\n //\n // If all else fails, use Math.random(). It's fast, but is of unspecified\n // quality.\n var rnds = new Array(16);\n\n module.exports = function mathRNG() {\n for (var i = 0, r; i < 16; i++) {\n if ((i & 0x03) === 0) r = Math.random() * 0x100000000;\n rnds[i] = r >>> ((i & 0x03) << 3) & 0xff;\n }\n\n return rnds;\n };\n}","import ownerWindow from './ownerWindow';\nexport default function getComputedStyle(node, psuedoElement) {\n return ownerWindow(node).getComputedStyle(node, psuedoElement);\n}","import ownerDocument from './ownerDocument';\nexport default function ownerWindow(node) {\n var doc = ownerDocument(node);\n return doc && doc.defaultView || window;\n}","var rUpper = /([A-Z])/g;\nexport default function hyphenate(string) {\n return string.replace(rUpper, '-$1').toLowerCase();\n}","/**\n * Copyright 2013-2014, Facebook, Inc.\n * All rights reserved.\n * https://github.com/facebook/react/blob/2aeb8a2a6beb00617a4217f7f8284924fa2ad819/src/vendor/core/hyphenateStyleName.js\n */\nimport hyphenate from './hyphenate';\nvar msPattern = /^ms-/;\nexport default function hyphenateStyleName(string) {\n return hyphenate(string).replace(msPattern, '-ms-');\n}","var supportedTransforms = /^((translate|rotate|scale)(X|Y|Z|3d)?|matrix(3d)?|perspective|skew(X|Y)?)$/i;\nexport default function isTransform(value) {\n return !!(value && supportedTransforms.test(value));\n}","import getComputedStyle from './getComputedStyle';\nimport hyphenate from './hyphenateStyle';\nimport isTransform from './isTransform';\n\nfunction style(node, property) {\n var css = '';\n var transforms = '';\n\n if (typeof property === 'string') {\n return node.style.getPropertyValue(hyphenate(property)) || getComputedStyle(node).getPropertyValue(hyphenate(property));\n }\n\n Object.keys(property).forEach(function (key) {\n var value = property[key];\n\n if (!value && value !== 0) {\n node.style.removeProperty(hyphenate(key));\n } else if (isTransform(key)) {\n transforms += key + \"(\" + value + \") \";\n } else {\n css += hyphenate(key) + \": \" + value + \";\";\n }\n });\n\n if (transforms) {\n css += \"transform: \" + transforms + \";\";\n }\n\n node.style.cssText += \";\" + css;\n}\n\nexport default style;","'use strict';\n\nfunction _interopDefault(ex) {\n return ex && typeof ex === 'object' && 'default' in ex ? ex['default'] : ex;\n}\n\nvar React = require('react');\n\nvar React__default = _interopDefault(React);\n\nfunction _defineProperty(obj, key, value) {\n if (key in obj) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n } else {\n obj[key] = value;\n }\n\n return obj;\n}\n\nfunction _inheritsLoose(subClass, superClass) {\n subClass.prototype = Object.create(superClass.prototype);\n subClass.prototype.constructor = subClass;\n subClass.__proto__ = superClass;\n}\n\nvar canUseDOM = !!(typeof window !== 'undefined' && window.document && window.document.createElement);\n\nfunction withSideEffect(reducePropsToState, handleStateChangeOnClient, mapStateOnServer) {\n if (typeof reducePropsToState !== 'function') {\n throw new Error('Expected reducePropsToState to be a function.');\n }\n\n if (typeof handleStateChangeOnClient !== 'function') {\n throw new Error('Expected handleStateChangeOnClient to be a function.');\n }\n\n if (typeof mapStateOnServer !== 'undefined' && typeof mapStateOnServer !== 'function') {\n throw new Error('Expected mapStateOnServer to either be undefined or a function.');\n }\n\n function getDisplayName(WrappedComponent) {\n return WrappedComponent.displayName || WrappedComponent.name || 'Component';\n }\n\n return function wrap(WrappedComponent) {\n if (typeof WrappedComponent !== 'function') {\n throw new Error('Expected WrappedComponent to be a React component.');\n }\n\n var mountedInstances = [];\n var state;\n\n function emitChange() {\n state = reducePropsToState(mountedInstances.map(function (instance) {\n return instance.props;\n }));\n\n if (SideEffect.canUseDOM) {\n handleStateChangeOnClient(state);\n } else if (mapStateOnServer) {\n state = mapStateOnServer(state);\n }\n }\n\n var SideEffect = /*#__PURE__*/function (_PureComponent) {\n _inheritsLoose(SideEffect, _PureComponent);\n\n function SideEffect() {\n return _PureComponent.apply(this, arguments) || this;\n } // Try to use displayName of wrapped component\n // Expose canUseDOM so tests can monkeypatch it\n\n\n SideEffect.peek = function peek() {\n return state;\n };\n\n SideEffect.rewind = function rewind() {\n if (SideEffect.canUseDOM) {\n throw new Error('You may only call rewind() on the server. Call peek() to read the current state.');\n }\n\n var recordedState = state;\n state = undefined;\n mountedInstances = [];\n return recordedState;\n };\n\n var _proto = SideEffect.prototype;\n\n _proto.UNSAFE_componentWillMount = function UNSAFE_componentWillMount() {\n mountedInstances.push(this);\n emitChange();\n };\n\n _proto.componentDidUpdate = function componentDidUpdate() {\n emitChange();\n };\n\n _proto.componentWillUnmount = function componentWillUnmount() {\n var index = mountedInstances.indexOf(this);\n mountedInstances.splice(index, 1);\n emitChange();\n };\n\n _proto.render = function render() {\n return React__default.createElement(WrappedComponent, this.props);\n };\n\n return SideEffect;\n }(React.PureComponent);\n\n _defineProperty(SideEffect, \"displayName\", \"SideEffect(\" + getDisplayName(WrappedComponent) + \")\");\n\n _defineProperty(SideEffect, \"canUseDOM\", canUseDOM);\n\n return SideEffect;\n };\n}\n\nmodule.exports = withSideEffect;","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nexports.__esModule = true;\nexports.default = void 0;\n\nvar _assertThisInitialized2 = _interopRequireDefault(require(\"@babel/runtime/helpers/assertThisInitialized\"));\n\nvar _inheritsLoose2 = _interopRequireDefault(require(\"@babel/runtime/helpers/inheritsLoose\"));\n\nvar _objectWithoutPropertiesLoose2 = _interopRequireDefault(require(\"@babel/runtime/helpers/objectWithoutPropertiesLoose\"));\n\nvar _extends2 = _interopRequireDefault(require(\"@babel/runtime/helpers/extends\"));\n\nvar _react = _interopRequireDefault(require(\"react\"));\n\nvar _propTypes = _interopRequireDefault(require(\"prop-types\"));\n\nvar logDeprecationNotice = function logDeprecationNotice(prop, replacement) {\n if (process.env.NODE_ENV === \"production\") {\n return;\n }\n\n console.log(\"\\n The \\\"\" + prop + \"\\\" prop is now deprecated and will be removed in the next major version\\n of \\\"gatsby-image\\\".\\n \");\n\n if (replacement) {\n console.log(\"Please use \" + replacement + \" instead of \\\"\" + prop + \"\\\".\");\n }\n}; // Handle legacy props during their deprecation phase\n\n\nvar convertProps = function convertProps(props) {\n var convertedProps = (0, _extends2.default)({}, props);\n var resolutions = convertedProps.resolutions,\n sizes = convertedProps.sizes,\n critical = convertedProps.critical;\n\n if (resolutions) {\n convertedProps.fixed = resolutions;\n logDeprecationNotice(\"resolutions\", \"the gatsby-image v2 prop \\\"fixed\\\"\");\n delete convertedProps.resolutions;\n }\n\n if (sizes) {\n convertedProps.fluid = sizes;\n logDeprecationNotice(\"sizes\", \"the gatsby-image v2 prop \\\"fluid\\\"\");\n delete convertedProps.sizes;\n }\n\n if (critical) {\n logDeprecationNotice(\"critical\", \"the native \\\"loading\\\" attribute\");\n convertedProps.loading = \"eager\";\n } // convert fluid & fixed to arrays so we only have to work with arrays\n\n\n if (convertedProps.fluid) {\n convertedProps.fluid = groupByMedia([].concat(convertedProps.fluid));\n }\n\n if (convertedProps.fixed) {\n convertedProps.fixed = groupByMedia([].concat(convertedProps.fixed));\n }\n\n return convertedProps;\n};\n/**\n * Checks if fluid or fixed are art-direction arrays.\n *\n * @param currentData {{media?: string}[]} The props to check for images.\n * @return {boolean}\n */\n\n\nvar hasArtDirectionSupport = function hasArtDirectionSupport(currentData) {\n return !!currentData && Array.isArray(currentData) && currentData.some(function (image) {\n return typeof image.media !== \"undefined\";\n });\n};\n/**\n * Tries to detect if a media query matches the current viewport.\n * @property media {{media?: string}} A media query string.\n * @return {boolean}\n */\n\n\nvar matchesMedia = function matchesMedia(_ref) {\n var media = _ref.media;\n return media ? isBrowser && !!window.matchMedia(media).matches : false;\n};\n/**\n * Find the source of an image to use as a key in the image cache.\n * Use `the first image in either `fixed` or `fluid`\n * @param {{fluid: {src: string, media?: string}[], fixed: {src: string, media?: string}[]}} args\n * @return {string?} Returns image src or undefined it not given.\n */\n\n\nvar getImageCacheKey = function getImageCacheKey(_ref2) {\n var fluid = _ref2.fluid,\n fixed = _ref2.fixed;\n var srcData = getCurrentSrcData(fluid || fixed || []);\n return srcData && srcData.src;\n};\n/**\n * Returns the current src - Preferably with art-direction support.\n * @param currentData {{media?: string}[], maxWidth?: Number, maxHeight?: Number} The fluid or fixed image array.\n * @return {{src: string, media?: string, maxWidth?: Number, maxHeight?: Number}}\n */\n\n\nvar getCurrentSrcData = function getCurrentSrcData(currentData) {\n if (isBrowser && hasArtDirectionSupport(currentData)) {\n // Do we have an image for the current Viewport?\n var foundMedia = currentData.findIndex(matchesMedia);\n\n if (foundMedia !== -1) {\n return currentData[foundMedia];\n } // No media matches, select first element without a media condition\n\n\n var noMedia = currentData.findIndex(function (image) {\n return typeof image.media === \"undefined\";\n });\n\n if (noMedia !== -1) {\n return currentData[noMedia];\n }\n } // Else return the first image.\n\n\n return currentData[0];\n}; // Cache if we've seen an image before so we don't bother with\n// lazy-loading & fading in on subsequent mounts.\n\n\nvar imageCache = Object.create({});\n\nvar inImageCache = function inImageCache(props) {\n var convertedProps = convertProps(props);\n var cacheKey = getImageCacheKey(convertedProps);\n return imageCache[cacheKey] || false;\n};\n\nvar activateCacheForImage = function activateCacheForImage(props) {\n var convertedProps = convertProps(props);\n var cacheKey = getImageCacheKey(convertedProps);\n\n if (cacheKey) {\n imageCache[cacheKey] = true;\n }\n}; // Native lazy-loading support: https://addyosmani.com/blog/lazy-loading/\n\n\nvar hasNativeLazyLoadSupport = typeof HTMLImageElement !== \"undefined\" && \"loading\" in HTMLImageElement.prototype;\nvar isBrowser = typeof window !== \"undefined\";\nvar hasIOSupport = isBrowser && window.IntersectionObserver;\nvar io;\nvar listeners = new WeakMap();\n\nfunction getIO() {\n if (typeof io === \"undefined\" && typeof window !== \"undefined\" && window.IntersectionObserver) {\n io = new window.IntersectionObserver(function (entries) {\n entries.forEach(function (entry) {\n if (listeners.has(entry.target)) {\n var cb = listeners.get(entry.target); // Edge doesn't currently support isIntersecting, so also test for an intersectionRatio > 0\n\n if (entry.isIntersecting || entry.intersectionRatio > 0) {\n io.unobserve(entry.target);\n listeners.delete(entry.target);\n cb();\n }\n }\n });\n }, {\n rootMargin: \"200px\"\n });\n }\n\n return io;\n}\n\nfunction generateImageSources(imageVariants) {\n return imageVariants.map(function (_ref3) {\n var src = _ref3.src,\n srcSet = _ref3.srcSet,\n srcSetWebp = _ref3.srcSetWebp,\n media = _ref3.media,\n sizes = _ref3.sizes;\n return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, {\n key: src\n }, srcSetWebp && /*#__PURE__*/_react.default.createElement(\"source\", {\n type: \"image/webp\",\n media: media,\n srcSet: srcSetWebp,\n sizes: sizes\n }), srcSet && /*#__PURE__*/_react.default.createElement(\"source\", {\n media: media,\n srcSet: srcSet,\n sizes: sizes\n }));\n });\n} // Return an array ordered by elements having a media prop, does not use\n// native sort, as a stable sort is not guaranteed by all browsers/versions\n\n\nfunction groupByMedia(imageVariants) {\n var withMedia = [];\n var without = [];\n imageVariants.forEach(function (variant) {\n return (variant.media ? withMedia : without).push(variant);\n });\n\n if (without.length > 1 && process.env.NODE_ENV !== \"production\") {\n console.warn(\"We've found \" + without.length + \" sources without a media property. They might be ignored by the browser, see: https://www.gatsbyjs.org/packages/gatsby-image/#art-directing-multiple-images\");\n }\n\n return [].concat(withMedia, without);\n}\n\nfunction generateTracedSVGSources(imageVariants) {\n return imageVariants.map(function (_ref4) {\n var src = _ref4.src,\n media = _ref4.media,\n tracedSVG = _ref4.tracedSVG;\n return /*#__PURE__*/_react.default.createElement(\"source\", {\n key: src,\n media: media,\n srcSet: tracedSVG\n });\n });\n}\n\nfunction generateBase64Sources(imageVariants) {\n return imageVariants.map(function (_ref5) {\n var src = _ref5.src,\n media = _ref5.media,\n base64 = _ref5.base64;\n return /*#__PURE__*/_react.default.createElement(\"source\", {\n key: src,\n media: media,\n srcSet: base64\n });\n });\n}\n\nfunction generateNoscriptSource(_ref6, isWebp) {\n var srcSet = _ref6.srcSet,\n srcSetWebp = _ref6.srcSetWebp,\n media = _ref6.media,\n sizes = _ref6.sizes;\n var src = isWebp ? srcSetWebp : srcSet;\n var mediaAttr = media ? \"media=\\\"\" + media + \"\\\" \" : \"\";\n var typeAttr = isWebp ? \"type='image/webp' \" : \"\";\n var sizesAttr = sizes ? \"sizes=\\\"\" + sizes + \"\\\" \" : \"\";\n return \"\";\n}\n\nfunction generateNoscriptSources(imageVariants) {\n return imageVariants.map(function (variant) {\n return (variant.srcSetWebp ? generateNoscriptSource(variant, true) : \"\") + generateNoscriptSource(variant);\n }).join(\"\");\n}\n\nvar listenToIntersections = function listenToIntersections(el, cb) {\n var observer = getIO();\n\n if (observer) {\n observer.observe(el);\n listeners.set(el, cb);\n }\n\n return function () {\n observer.unobserve(el);\n listeners.delete(el);\n };\n};\n\nvar noscriptImg = function noscriptImg(props) {\n // Check if prop exists before adding each attribute to the string output below to prevent\n // HTML validation issues caused by empty values like width=\"\" and height=\"\"\n var src = props.src ? \"src=\\\"\" + props.src + \"\\\" \" : \"src=\\\"\\\" \"; // required attribute\n\n var sizes = props.sizes ? \"sizes=\\\"\" + props.sizes + \"\\\" \" : \"\";\n var srcSet = props.srcSet ? \"srcset=\\\"\" + props.srcSet + \"\\\" \" : \"\";\n var title = props.title ? \"title=\\\"\" + props.title + \"\\\" \" : \"\";\n var alt = props.alt ? \"alt=\\\"\" + props.alt + \"\\\" \" : \"alt=\\\"\\\" \"; // required attribute\n\n var width = props.width ? \"width=\\\"\" + props.width + \"\\\" \" : \"\";\n var height = props.height ? \"height=\\\"\" + props.height + \"\\\" \" : \"\";\n var crossOrigin = props.crossOrigin ? \"crossorigin=\\\"\" + props.crossOrigin + \"\\\" \" : \"\";\n var loading = props.loading ? \"loading=\\\"\" + props.loading + \"\\\" \" : \"\";\n var draggable = props.draggable ? \"draggable=\\\"\" + props.draggable + \"\\\" \" : \"\";\n var sources = generateNoscriptSources(props.imageVariants);\n return \"\" + sources + \"\";\n}; // Earlier versions of gatsby-image during the 2.x cycle did not wrap\n// the `Img` component in a `picture` element. This maintains compatibility\n// until a breaking change can be introduced in the next major release\n\n\nvar Placeholder = /*#__PURE__*/_react.default.forwardRef(function (props, ref) {\n var src = props.src,\n imageVariants = props.imageVariants,\n generateSources = props.generateSources,\n spreadProps = props.spreadProps,\n ariaHidden = props.ariaHidden;\n\n var baseImage = /*#__PURE__*/_react.default.createElement(Img, (0, _extends2.default)({\n ref: ref,\n src: src\n }, spreadProps, {\n ariaHidden: ariaHidden\n }));\n\n return imageVariants.length > 1 ? /*#__PURE__*/_react.default.createElement(\"picture\", null, generateSources(imageVariants), baseImage) : baseImage;\n});\n\nvar Img = /*#__PURE__*/_react.default.forwardRef(function (props, ref) {\n var sizes = props.sizes,\n srcSet = props.srcSet,\n src = props.src,\n style = props.style,\n onLoad = props.onLoad,\n onError = props.onError,\n loading = props.loading,\n draggable = props.draggable,\n ariaHidden = props.ariaHidden,\n otherProps = (0, _objectWithoutPropertiesLoose2.default)(props, [\"sizes\", \"srcSet\", \"src\", \"style\", \"onLoad\", \"onError\", \"loading\", \"draggable\", \"ariaHidden\"]);\n return /*#__PURE__*/_react.default.createElement(\"img\", (0, _extends2.default)({\n \"aria-hidden\": ariaHidden,\n sizes: sizes,\n srcSet: srcSet,\n src: src\n }, otherProps, {\n onLoad: onLoad,\n onError: onError,\n ref: ref,\n loading: loading,\n draggable: draggable,\n style: (0, _extends2.default)({\n position: \"absolute\",\n top: 0,\n left: 0,\n width: \"100%\",\n height: \"100%\",\n objectFit: \"cover\",\n objectPosition: \"center\"\n }, style)\n }));\n});\n\nImg.propTypes = {\n style: _propTypes.default.object,\n onError: _propTypes.default.func,\n onLoad: _propTypes.default.func\n};\n\nvar Image = /*#__PURE__*/function (_React$Component) {\n (0, _inheritsLoose2.default)(Image, _React$Component);\n\n function Image(props) {\n var _this;\n\n _this = _React$Component.call(this, props) || this; // If this image has already been loaded before then we can assume it's\n // already in the browser cache so it's cheap to just show directly.\n\n _this.seenBefore = isBrowser && inImageCache(props);\n _this.isCritical = props.loading === \"eager\" || props.critical;\n _this.addNoScript = !(_this.isCritical && !props.fadeIn);\n _this.useIOSupport = !hasNativeLazyLoadSupport && hasIOSupport && !_this.isCritical && !_this.seenBefore;\n var isVisible = _this.isCritical || isBrowser && (hasNativeLazyLoadSupport || !_this.useIOSupport);\n _this.state = {\n isVisible: isVisible,\n imgLoaded: false,\n imgCached: false,\n fadeIn: !_this.seenBefore && props.fadeIn,\n isHydrated: false\n };\n _this.imageRef = /*#__PURE__*/_react.default.createRef();\n _this.placeholderRef = props.placeholderRef || /*#__PURE__*/_react.default.createRef();\n _this.handleImageLoaded = _this.handleImageLoaded.bind((0, _assertThisInitialized2.default)(_this));\n _this.handleRef = _this.handleRef.bind((0, _assertThisInitialized2.default)(_this));\n return _this;\n }\n\n var _proto = Image.prototype;\n\n _proto.componentDidMount = function componentDidMount() {\n this.setState({\n isHydrated: isBrowser\n });\n\n if (this.state.isVisible && typeof this.props.onStartLoad === \"function\") {\n this.props.onStartLoad({\n wasCached: inImageCache(this.props)\n });\n }\n\n if (this.isCritical) {\n var img = this.imageRef.current;\n\n if (img && img.complete) {\n this.handleImageLoaded();\n }\n }\n };\n\n _proto.componentWillUnmount = function componentWillUnmount() {\n if (this.cleanUpListeners) {\n this.cleanUpListeners();\n }\n } // Specific to IntersectionObserver based lazy-load support\n ;\n\n _proto.handleRef = function handleRef(ref) {\n var _this2 = this;\n\n if (this.useIOSupport && ref) {\n this.cleanUpListeners = listenToIntersections(ref, function () {\n var imageInCache = inImageCache(_this2.props);\n\n if (!_this2.state.isVisible && typeof _this2.props.onStartLoad === \"function\") {\n _this2.props.onStartLoad({\n wasCached: imageInCache\n });\n } // imgCached and imgLoaded must update after isVisible,\n // Once isVisible is true, imageRef becomes accessible, which imgCached needs access to.\n // imgLoaded and imgCached are in a 2nd setState call to be changed together,\n // avoiding initiating unnecessary animation frames from style changes.\n\n\n _this2.setState({\n isVisible: true\n }, function () {\n _this2.setState({\n imgLoaded: imageInCache,\n // `currentSrc` should be a string, but can be `undefined` in IE,\n // !! operator validates the value is not undefined/null/\"\"\n // for lazyloaded components this might be null\n // TODO fix imgCached behaviour as it's now false when it's lazyloaded\n imgCached: !!(_this2.imageRef.current && _this2.imageRef.current.currentSrc)\n });\n });\n });\n }\n };\n\n _proto.handleImageLoaded = function handleImageLoaded() {\n activateCacheForImage(this.props);\n this.setState({\n imgLoaded: true\n });\n\n if (this.props.onLoad) {\n this.props.onLoad();\n }\n };\n\n _proto.render = function render() {\n var _convertProps = convertProps(this.props),\n title = _convertProps.title,\n alt = _convertProps.alt,\n className = _convertProps.className,\n _convertProps$style = _convertProps.style,\n style = _convertProps$style === void 0 ? {} : _convertProps$style,\n _convertProps$imgStyl = _convertProps.imgStyle,\n imgStyle = _convertProps$imgStyl === void 0 ? {} : _convertProps$imgStyl,\n _convertProps$placeho = _convertProps.placeholderStyle,\n placeholderStyle = _convertProps$placeho === void 0 ? {} : _convertProps$placeho,\n placeholderClassName = _convertProps.placeholderClassName,\n fluid = _convertProps.fluid,\n fixed = _convertProps.fixed,\n backgroundColor = _convertProps.backgroundColor,\n durationFadeIn = _convertProps.durationFadeIn,\n Tag = _convertProps.Tag,\n itemProp = _convertProps.itemProp,\n loading = _convertProps.loading,\n draggable = _convertProps.draggable;\n\n var imageVariants = fluid || fixed; // Abort early if missing image data (#25371)\n\n if (!imageVariants) {\n return null;\n }\n\n var shouldReveal = this.state.fadeIn === false || this.state.imgLoaded;\n var shouldFadeIn = this.state.fadeIn === true && !this.state.imgCached;\n var imageStyle = (0, _extends2.default)({\n opacity: shouldReveal ? 1 : 0,\n transition: shouldFadeIn ? \"opacity \" + durationFadeIn + \"ms\" : \"none\"\n }, imgStyle);\n var bgColor = typeof backgroundColor === \"boolean\" ? \"lightgray\" : backgroundColor;\n var delayHideStyle = {\n transitionDelay: durationFadeIn + \"ms\"\n };\n var imagePlaceholderStyle = (0, _extends2.default)({\n opacity: this.state.imgLoaded ? 0 : 1\n }, shouldFadeIn && delayHideStyle, imgStyle, placeholderStyle);\n var placeholderImageProps = {\n title: title,\n alt: !this.state.isVisible ? alt : \"\",\n style: imagePlaceholderStyle,\n className: placeholderClassName,\n itemProp: itemProp\n }; // Initial client render state needs to match SSR until hydration finishes.\n // Once hydration completes, render again to update to the correct image.\n // `imageVariants` is always an Array type at this point due to `convertProps()`\n\n var image = !this.state.isHydrated ? imageVariants[0] : getCurrentSrcData(imageVariants);\n\n if (fluid) {\n return /*#__PURE__*/_react.default.createElement(Tag, {\n className: (className ? className : \"\") + \" gatsby-image-wrapper\",\n style: (0, _extends2.default)({\n position: \"relative\",\n overflow: \"hidden\",\n maxWidth: image.maxWidth ? image.maxWidth + \"px\" : null,\n maxHeight: image.maxHeight ? image.maxHeight + \"px\" : null\n }, style),\n ref: this.handleRef,\n key: \"fluid-\" + JSON.stringify(image.srcSet)\n }, /*#__PURE__*/_react.default.createElement(Tag, {\n \"aria-hidden\": true,\n style: {\n width: \"100%\",\n paddingBottom: 100 / image.aspectRatio + \"%\"\n }\n }), bgColor && /*#__PURE__*/_react.default.createElement(Tag, {\n \"aria-hidden\": true,\n title: title,\n style: (0, _extends2.default)({\n backgroundColor: bgColor,\n position: \"absolute\",\n top: 0,\n bottom: 0,\n opacity: !this.state.imgLoaded ? 1 : 0,\n right: 0,\n left: 0\n }, shouldFadeIn && delayHideStyle)\n }), image.base64 && /*#__PURE__*/_react.default.createElement(Placeholder, {\n ariaHidden: true,\n ref: this.placeholderRef,\n src: image.base64,\n spreadProps: placeholderImageProps,\n imageVariants: imageVariants,\n generateSources: generateBase64Sources\n }), image.tracedSVG && /*#__PURE__*/_react.default.createElement(Placeholder, {\n ariaHidden: true,\n ref: this.placeholderRef,\n src: image.tracedSVG,\n spreadProps: placeholderImageProps,\n imageVariants: imageVariants,\n generateSources: generateTracedSVGSources\n }), this.state.isVisible && /*#__PURE__*/_react.default.createElement(\"picture\", null, generateImageSources(imageVariants), /*#__PURE__*/_react.default.createElement(Img, {\n alt: alt,\n title: title,\n sizes: image.sizes,\n src: image.src,\n crossOrigin: this.props.crossOrigin,\n srcSet: image.srcSet,\n style: imageStyle,\n ref: this.imageRef,\n onLoad: this.handleImageLoaded,\n onError: this.props.onError,\n itemProp: itemProp,\n loading: loading,\n draggable: draggable\n })), this.addNoScript && /*#__PURE__*/_react.default.createElement(\"noscript\", {\n dangerouslySetInnerHTML: {\n __html: noscriptImg((0, _extends2.default)({\n alt: alt,\n title: title,\n loading: loading\n }, image, {\n imageVariants: imageVariants\n }))\n }\n }));\n }\n\n if (fixed) {\n var divStyle = (0, _extends2.default)({\n position: \"relative\",\n overflow: \"hidden\",\n display: \"inline-block\",\n width: image.width,\n height: image.height\n }, style);\n\n if (style.display === \"inherit\") {\n delete divStyle.display;\n }\n\n return /*#__PURE__*/_react.default.createElement(Tag, {\n className: (className ? className : \"\") + \" gatsby-image-wrapper\",\n style: divStyle,\n ref: this.handleRef,\n key: \"fixed-\" + JSON.stringify(image.srcSet)\n }, bgColor && /*#__PURE__*/_react.default.createElement(Tag, {\n \"aria-hidden\": true,\n title: title,\n style: (0, _extends2.default)({\n backgroundColor: bgColor,\n width: image.width,\n opacity: !this.state.imgLoaded ? 1 : 0,\n height: image.height\n }, shouldFadeIn && delayHideStyle)\n }), image.base64 && /*#__PURE__*/_react.default.createElement(Placeholder, {\n ariaHidden: true,\n ref: this.placeholderRef,\n src: image.base64,\n spreadProps: placeholderImageProps,\n imageVariants: imageVariants,\n generateSources: generateBase64Sources\n }), image.tracedSVG && /*#__PURE__*/_react.default.createElement(Placeholder, {\n ariaHidden: true,\n ref: this.placeholderRef,\n src: image.tracedSVG,\n spreadProps: placeholderImageProps,\n imageVariants: imageVariants,\n generateSources: generateTracedSVGSources\n }), this.state.isVisible && /*#__PURE__*/_react.default.createElement(\"picture\", null, generateImageSources(imageVariants), /*#__PURE__*/_react.default.createElement(Img, {\n alt: alt,\n title: title,\n width: image.width,\n height: image.height,\n sizes: image.sizes,\n src: image.src,\n crossOrigin: this.props.crossOrigin,\n srcSet: image.srcSet,\n style: imageStyle,\n ref: this.imageRef,\n onLoad: this.handleImageLoaded,\n onError: this.props.onError,\n itemProp: itemProp,\n loading: loading,\n draggable: draggable\n })), this.addNoScript && /*#__PURE__*/_react.default.createElement(\"noscript\", {\n dangerouslySetInnerHTML: {\n __html: noscriptImg((0, _extends2.default)({\n alt: alt,\n title: title,\n loading: loading\n }, image, {\n imageVariants: imageVariants\n }))\n }\n }));\n }\n\n return null;\n };\n\n return Image;\n}(_react.default.Component);\n\nImage.defaultProps = {\n fadeIn: true,\n durationFadeIn: 500,\n alt: \"\",\n Tag: \"div\",\n // We set it to `lazy` by default because it's best to default to a performant\n // setting and let the user \"opt out\" to `eager`\n loading: \"lazy\"\n};\n\nvar fixedObject = _propTypes.default.shape({\n width: _propTypes.default.number.isRequired,\n height: _propTypes.default.number.isRequired,\n src: _propTypes.default.string.isRequired,\n srcSet: _propTypes.default.string.isRequired,\n base64: _propTypes.default.string,\n tracedSVG: _propTypes.default.string,\n srcWebp: _propTypes.default.string,\n srcSetWebp: _propTypes.default.string,\n media: _propTypes.default.string\n});\n\nvar fluidObject = _propTypes.default.shape({\n aspectRatio: _propTypes.default.number.isRequired,\n src: _propTypes.default.string.isRequired,\n srcSet: _propTypes.default.string.isRequired,\n sizes: _propTypes.default.string.isRequired,\n base64: _propTypes.default.string,\n tracedSVG: _propTypes.default.string,\n srcWebp: _propTypes.default.string,\n srcSetWebp: _propTypes.default.string,\n media: _propTypes.default.string,\n maxWidth: _propTypes.default.number,\n maxHeight: _propTypes.default.number\n});\n\nfunction requireFixedOrFluid(originalPropTypes) {\n return function (props, propName, componentName) {\n var _PropTypes$checkPropT;\n\n if (!props.fixed && !props.fluid) {\n throw new Error(\"The prop `fluid` or `fixed` is marked as required in `\" + componentName + \"`, but their values are both `undefined`.\");\n }\n\n _propTypes.default.checkPropTypes((_PropTypes$checkPropT = {}, _PropTypes$checkPropT[propName] = originalPropTypes, _PropTypes$checkPropT), props, \"prop\", componentName);\n };\n} // If you modify these propTypes, please don't forget to update following files as well:\n// https://github.com/gatsbyjs/gatsby/blob/master/packages/gatsby-image/index.d.ts\n// https://github.com/gatsbyjs/gatsby/blob/master/packages/gatsby-image/README.md#gatsby-image-props\n// https://github.com/gatsbyjs/gatsby/blob/master/docs/docs/gatsby-image.md#gatsby-image-props\n\n\nImage.propTypes = {\n resolutions: fixedObject,\n sizes: fluidObject,\n fixed: requireFixedOrFluid(_propTypes.default.oneOfType([fixedObject, _propTypes.default.arrayOf(fixedObject)])),\n fluid: requireFixedOrFluid(_propTypes.default.oneOfType([fluidObject, _propTypes.default.arrayOf(fluidObject)])),\n fadeIn: _propTypes.default.bool,\n durationFadeIn: _propTypes.default.number,\n title: _propTypes.default.string,\n alt: _propTypes.default.string,\n className: _propTypes.default.oneOfType([_propTypes.default.string, _propTypes.default.object]),\n // Support Glamor's css prop.\n critical: _propTypes.default.bool,\n crossOrigin: _propTypes.default.oneOfType([_propTypes.default.string, _propTypes.default.bool]),\n style: _propTypes.default.object,\n imgStyle: _propTypes.default.object,\n placeholderStyle: _propTypes.default.object,\n placeholderClassName: _propTypes.default.string,\n backgroundColor: _propTypes.default.oneOfType([_propTypes.default.string, _propTypes.default.bool]),\n onLoad: _propTypes.default.func,\n onError: _propTypes.default.func,\n onStartLoad: _propTypes.default.func,\n Tag: _propTypes.default.string,\n itemProp: _propTypes.default.string,\n loading: _propTypes.default.oneOf([\"auto\", \"lazy\", \"eager\"]),\n draggable: _propTypes.default.bool\n};\nvar _default = Image;\nexports.default = _default;","\"use strict\";\n\nexports.__esModule = true;\nexports.imageReferenceCompleted = exports.hasPictureRef = exports.hasActivatedPictureRefs = exports.activateMultiplePictureRefs = exports.activatePictureRef = exports.createMultiplePictureRefs = exports.createPictureRef = void 0;\n\nvar _HelperUtils = require(\"./HelperUtils\");\n\nvar _ImageUtils = require(\"./ImageUtils\");\n\nvar _MediaUtils = require(\"./MediaUtils\");\n\nvar _SimpleUtils = require(\"./SimpleUtils\");\n\nvar _ImageCache = require(\"./ImageCache\");\n\nvar createPictureRef = function createPictureRef(props, onLoad, index, isLoop) {\n if (isLoop === void 0) {\n isLoop = false;\n }\n\n var convertedProps = (0, _HelperUtils.convertProps)(props);\n\n if ((0, _SimpleUtils.isBrowser)() && (typeof convertedProps.fluid !== \"undefined\" || typeof convertedProps.fixed !== \"undefined\")) {\n var isImageStack = (0, _ImageUtils.hasImageArray)(convertedProps) && !(0, _MediaUtils.hasArtDirectionArray)(convertedProps);\n\n if (isImageStack && !isLoop) {\n return createMultiplePictureRefs(props, onLoad);\n }\n\n var img = new Image();\n\n img.onload = function () {\n return onLoad();\n };\n\n if (!img.complete && typeof convertedProps.onLoad === \"function\") {\n img.addEventListener('load', convertedProps.onLoad);\n }\n\n if (typeof convertedProps.onError === \"function\") {\n img.addEventListener('error', convertedProps.onError);\n }\n\n if (convertedProps.crossOrigin) {\n img.crossOrigin = convertedProps.crossOrigin;\n }\n\n if ((convertedProps.critical || convertedProps.isVisible) && !isLoop) {\n return activatePictureRef(img, convertedProps, index, isLoop);\n }\n\n return img;\n }\n\n return null;\n};\n\nexports.createPictureRef = createPictureRef;\n\nvar createMultiplePictureRefs = function createMultiplePictureRefs(props, onLoad) {\n var convertedProps = (0, _HelperUtils.convertProps)(props);\n var imageStack = convertedProps.fluid || convertedProps.fixed;\n var imageRefs = imageStack.map(function (imageData, index) {\n return createPictureRef(convertedProps, onLoad, index, true);\n });\n\n if (convertedProps.critical || convertedProps.isVisible) {\n return activatePictureRef(imageRefs, convertedProps);\n }\n\n return imageRefs;\n};\n\nexports.createMultiplePictureRefs = createMultiplePictureRefs;\n\nvar activatePictureRef = function activatePictureRef(imageRef, props, selfRef, index, isLoop) {\n if (selfRef === void 0) {\n selfRef = null;\n }\n\n if (index === void 0) {\n index = 0;\n }\n\n if (isLoop === void 0) {\n isLoop = false;\n }\n\n var convertedProps = (0, _HelperUtils.convertProps)(props);\n\n if ((0, _SimpleUtils.isBrowser)() && (typeof convertedProps.fluid !== \"undefined\" || typeof convertedProps.fixed !== \"undefined\")) {\n var isImageStack = (0, _ImageUtils.hasImageArray)(convertedProps) && !(0, _MediaUtils.hasArtDirectionArray)(convertedProps);\n\n if (isImageStack && !isLoop) {\n return activateMultiplePictureRefs(imageRef, props, selfRef);\n }\n\n var bodyClone = document.createElement('body');\n var imageData = isImageStack ? (0, _ImageUtils.getSelectedImage)(convertedProps, index) : (0, _ImageUtils.getCurrentSrcData)(convertedProps);\n\n if (!imageData) {\n return null;\n }\n\n if ((0, _SimpleUtils.isString)(imageData)) {\n return imageData;\n }\n\n if ((0, _ImageUtils.hasPictureElement)()) {\n var pic = document.createElement('picture');\n\n if (selfRef) {\n imageRef.width = selfRef.offsetWidth;\n imageRef.height = selfRef.offsetHeight;\n pic.width = imageRef.width;\n pic.height = imageRef.height;\n }\n\n if ((0, _MediaUtils.hasArtDirectionArray)(convertedProps)) {\n var sources = (0, _MediaUtils.createArtDirectionSources)(convertedProps).reverse();\n sources.forEach(function (currentSource) {\n return pic.appendChild(currentSource);\n });\n }\n\n if (imageData.srcSetWebp) {\n var sourcesWebP = document.createElement('source');\n sourcesWebP.type = \"image/webp\";\n sourcesWebP.srcset = imageData.srcSetWebp;\n sourcesWebP.sizes = imageData.sizes;\n pic.appendChild(sourcesWebP);\n }\n\n pic.appendChild(imageRef);\n bodyClone.appendChild(pic);\n } else if (selfRef) {\n imageRef.width = selfRef.offsetWidth;\n imageRef.height = selfRef.offsetHeight;\n }\n\n imageRef.sizes = imageData.sizes || \"\";\n imageRef.srcset = imageData.srcSet || \"\";\n imageRef.src = imageData.src || \"\";\n return imageRef;\n }\n\n return null;\n};\n\nexports.activatePictureRef = activatePictureRef;\n\nvar activateMultiplePictureRefs = function activateMultiplePictureRefs(imageRefs, props, selfRef) {\n return imageRefs.map(function (imageRef, index) {\n return activatePictureRef(imageRef, props, selfRef, index, true);\n });\n};\n\nexports.activateMultiplePictureRefs = activateMultiplePictureRefs;\n\nvar hasActivatedPictureRefs = function hasActivatedPictureRefs(imageRefs) {\n return Array.isArray(imageRefs) ? imageRefs.every(function (imageRef) {\n return hasPictureRef(imageRef);\n }) : hasPictureRef(imageRefs);\n};\n\nexports.hasActivatedPictureRefs = hasActivatedPictureRefs;\n\nvar hasPictureRef = function hasPictureRef(imageRef) {\n return (0, _SimpleUtils.isString)(imageRef) || !!imageRef && !!imageRef.currentSrc;\n};\n\nexports.hasPictureRef = hasPictureRef;\n\nvar imageReferenceCompleted = function imageReferenceCompleted(imageRef, props) {\n return imageRef ? Array.isArray(imageRef) ? imageRef.every(function (singleImageRef) {\n return (0, _ImageUtils.imageLoaded)(singleImageRef);\n }) || (0, _ImageCache.inImageCache)(props) : (0, _ImageUtils.imageLoaded)(imageRef) || (0, _ImageCache.inImageCache)(props) : (0, _SimpleUtils.isString)(imageRef);\n};\n\nexports.imageReferenceCompleted = imageReferenceCompleted;","\"use strict\";\n\nexports.__esModule = true;\nexports.imageLoaded = exports.createDummyImageArray = exports.imageArrayPropsChanged = exports.imagePropsChanged = exports.hasImageUrl = exports.isBase64 = exports.getUrlString = exports.getSelectedImage = exports.getCurrentSrcData = exports.getImageSrcKey = exports.getCurrentFromData = exports.hasImageArray = exports.hasPictureElement = void 0;\n\nvar _MediaUtils = require(\"./MediaUtils\");\n\nvar _SimpleUtils = require(\"./SimpleUtils\");\n\nvar hasPictureElement = function hasPictureElement() {\n return typeof HTMLPictureElement !== \"undefined\" || typeof window === \"undefined\";\n};\n\nexports.hasPictureElement = hasPictureElement;\n\nvar hasImageArray = function hasImageArray(props) {\n return Boolean(props.fluid && Array.isArray(props.fluid) || props.fixed && Array.isArray(props.fixed));\n};\n\nexports.hasImageArray = hasImageArray;\n\nvar getCurrentFromData = function getCurrentFromData(_ref) {\n var data = _ref.data,\n propName = _ref.propName,\n _ref$addUrl = _ref.addUrl,\n addUrl = _ref$addUrl === void 0 ? true : _ref$addUrl,\n _ref$returnArray = _ref.returnArray,\n returnArray = _ref$returnArray === void 0 ? false : _ref$returnArray,\n _ref$checkLoaded = _ref.checkLoaded,\n checkLoaded = _ref$checkLoaded === void 0 ? true : _ref$checkLoaded;\n if (!data || !propName) return \"\";\n var tracedSVG = propName === \"tracedSVG\";\n\n if (Array.isArray(data) && !(0, _MediaUtils.hasArtDirectionArray)({\n fluid: data\n })) {\n var imageString = data.map(function (dataElement) {\n if (propName === \"currentSrc\" || propName === 'src') {\n return checkLoaded ? imageLoaded(dataElement) && dataElement[propName] || \"\" : dataElement[propName];\n }\n\n if (propName === \"CSS_STRING\" && (0, _SimpleUtils.isString)(dataElement)) {\n return dataElement;\n }\n\n return (0, _SimpleUtils.isString)(dataElement) ? dataElement : dataElement && propName in dataElement ? dataElement[propName] : \"\";\n });\n return getUrlString({\n imageString: imageString,\n tracedSVG: tracedSVG,\n addUrl: addUrl,\n returnArray: returnArray\n });\n }\n\n if ((0, _MediaUtils.hasArtDirectionArray)({\n fluid: data\n }) && (propName === \"currentSrc\" || propName === \"src\" || propName === \"base64\" || tracedSVG)) {\n var currentData = getCurrentSrcData({\n fluid: data\n });\n return propName in currentData ? getUrlString({\n imageString: currentData[propName],\n tracedSVG: tracedSVG,\n addUrl: addUrl\n }) : \"\";\n }\n\n if ((propName === \"currentSrc\" || propName === 'src') && propName in data) {\n return getUrlString({\n imageString: checkLoaded ? imageLoaded(data) && data[propName] || \"\" : data[propName],\n addUrl: addUrl\n });\n }\n\n return propName in data ? getUrlString({\n imageString: data[propName],\n tracedSVG: tracedSVG,\n addUrl: addUrl\n }) : \"\";\n};\n\nexports.getCurrentFromData = getCurrentFromData;\n\nvar getImageSrcKey = function getImageSrcKey(_ref2) {\n var fluid = _ref2.fluid,\n fixed = _ref2.fixed;\n var data = getCurrentSrcData({\n fluid: fluid,\n fixed: fixed\n });\n return data ? data.src || null : null;\n};\n\nexports.getImageSrcKey = getImageSrcKey;\n\nvar getCurrentSrcData = function getCurrentSrcData(_ref3, index) {\n var fluid = _ref3.fluid,\n fixed = _ref3.fixed,\n returnArray = _ref3.returnArray;\n\n if (index === void 0) {\n index = 0;\n }\n\n var currentData = fluid || fixed;\n\n if (hasImageArray({\n fluid: fluid,\n fixed: fixed\n })) {\n if (returnArray) {\n return currentData;\n }\n\n if ((0, _SimpleUtils.isBrowser)() && (0, _MediaUtils.hasArtDirectionArray)({\n fluid: fluid,\n fixed: fixed\n })) {\n var mediaData = currentData.slice().reverse();\n var foundMedia = mediaData.findIndex(_MediaUtils.matchesMedia);\n\n if (foundMedia !== -1) {\n return mediaData[foundMedia];\n }\n }\n\n return currentData[index];\n }\n\n return currentData;\n};\n\nexports.getCurrentSrcData = getCurrentSrcData;\n\nvar getSelectedImage = function getSelectedImage(_ref4, index) {\n var fluid = _ref4.fluid,\n fixed = _ref4.fixed;\n\n if (index === void 0) {\n index = 0;\n }\n\n var currentData = fluid || fixed;\n\n if (hasImageArray({\n fluid: fluid,\n fixed: fixed\n })) {\n return currentData[index] || currentData[0];\n }\n\n return currentData;\n};\n\nexports.getSelectedImage = getSelectedImage;\n\nvar getUrlString = function getUrlString(_ref5) {\n var imageString = _ref5.imageString,\n _ref5$tracedSVG = _ref5.tracedSVG,\n tracedSVG = _ref5$tracedSVG === void 0 ? false : _ref5$tracedSVG,\n _ref5$addUrl = _ref5.addUrl,\n addUrl = _ref5$addUrl === void 0 ? true : _ref5$addUrl,\n _ref5$returnArray = _ref5.returnArray,\n returnArray = _ref5$returnArray === void 0 ? false : _ref5$returnArray,\n _ref5$hasImageUrls = _ref5.hasImageUrls,\n hasImageUrls = _ref5$hasImageUrls === void 0 ? false : _ref5$hasImageUrls;\n\n if (Array.isArray(imageString)) {\n var stringArray = imageString.map(function (currentString) {\n if (currentString) {\n var _base = isBase64(currentString);\n\n var _imageUrl = hasImageUrls || hasImageUrl(imageString);\n\n var currentReturnString = currentString && tracedSVG ? \"\\\"\" + currentString + \"\\\"\" : currentString && !_base && !tracedSVG && _imageUrl ? \"'\" + currentString + \"'\" : currentString;\n return addUrl && currentString ? \"url(\" + currentReturnString + \")\" : currentReturnString;\n }\n\n return currentString;\n });\n return returnArray ? stringArray : (0, _SimpleUtils.filteredJoin)(stringArray);\n }\n\n var base64 = isBase64(imageString);\n var imageUrl = hasImageUrls || hasImageUrl(imageString);\n var returnString = imageString && tracedSVG ? \"\\\"\" + imageString + \"\\\"\" : imageString && !base64 && !tracedSVG && imageUrl ? \"'\" + imageString + \"'\" : imageString;\n return imageString ? addUrl ? \"url(\" + returnString + \")\" : returnString : \"\";\n};\n\nexports.getUrlString = getUrlString;\n\nvar isBase64 = function isBase64(base64String) {\n return (0, _SimpleUtils.isString)(base64String) && base64String.indexOf(\"base64\") !== -1;\n};\n\nexports.isBase64 = isBase64;\n\nvar hasImageUrl = function hasImageUrl(imageString) {\n return (0, _SimpleUtils.isString)(imageString) && imageString.substr(0, 4) === \"http\";\n};\n\nexports.hasImageUrl = hasImageUrl;\n\nvar imagePropsChanged = function imagePropsChanged(props, prevProps) {\n return props.fluid && !prevProps.fluid || props.fixed && !prevProps.fixed || imageArrayPropsChanged(props, prevProps) || props.fluid && prevProps.fluid && props.fluid.src !== prevProps.fluid.src || props.fixed && prevProps.fixed && props.fixed.src !== prevProps.fixed.src;\n};\n\nexports.imagePropsChanged = imagePropsChanged;\n\nvar imageArrayPropsChanged = function imageArrayPropsChanged(props, prevProps) {\n var isPropsFluidArray = Array.isArray(props.fluid);\n var isPrevPropsFluidArray = Array.isArray(prevProps.fluid);\n var isPropsFixedArray = Array.isArray(props.fixed);\n var isPrevPropsFixedArray = Array.isArray(prevProps.fixed);\n\n if (isPropsFluidArray && !isPrevPropsFluidArray || isPropsFixedArray && !isPrevPropsFixedArray || !isPropsFluidArray && isPrevPropsFluidArray || !isPropsFixedArray && isPrevPropsFixedArray) {\n return true;\n }\n\n if (isPropsFluidArray && isPrevPropsFluidArray) {\n if (props.fluid.length === prevProps.fluid.length) {\n return props.fluid.some(function (image, index) {\n return image.src !== prevProps.fluid[index].src;\n });\n }\n\n return true;\n }\n\n if (isPropsFixedArray && isPrevPropsFixedArray) {\n if (props.fixed.length === prevProps.fixed.length) {\n return props.fixed.some(function (image, index) {\n return image.src !== prevProps.fixed[index].src;\n });\n }\n\n return true;\n }\n};\n\nexports.imageArrayPropsChanged = imageArrayPropsChanged;\n\nvar createDummyImageArray = function createDummyImageArray(length) {\n var DUMMY_IMG = \"data:image/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw==\";\n var dummyImageURI = getUrlString({\n imageString: DUMMY_IMG\n });\n return Array(length).fill(dummyImageURI);\n};\n\nexports.createDummyImageArray = createDummyImageArray;\n\nvar imageLoaded = function imageLoaded(imageRef) {\n return imageRef ? (0, _SimpleUtils.isString)(imageRef) || imageRef.complete && imageRef.naturalWidth !== 0 && imageRef.naturalHeight !== 0 : false;\n};\n\nexports.imageLoaded = imageLoaded;","/* eslint-disable no-return-assign */\nimport canUseDOM from './canUseDOM';\nexport var optionsSupported = false;\nexport var onceSupported = false;\n\ntry {\n var options = {\n get passive() {\n return optionsSupported = true;\n },\n\n get once() {\n // eslint-disable-next-line no-multi-assign\n return onceSupported = optionsSupported = true;\n }\n\n };\n\n if (canUseDOM) {\n window.addEventListener('test', options, options);\n window.removeEventListener('test', options, true);\n }\n} catch (e) {\n /* */\n}\n\n/**\n * An `addEventListener` ponyfill, supports the `once` option\n */\nfunction addEventListener(node, eventName, handler, options) {\n if (options && typeof options !== 'boolean' && !onceSupported) {\n var once = options.once,\n capture = options.capture;\n var wrappedHandler = handler;\n\n if (!onceSupported && once) {\n wrappedHandler = handler.__once || function onceHandler(event) {\n this.removeEventListener(eventName, onceHandler, capture);\n handler.call(this, event);\n };\n\n handler.__once = wrappedHandler;\n }\n\n node.addEventListener(eventName, wrappedHandler, optionsSupported ? options : capture);\n }\n\n node.addEventListener(eventName, handler, options);\n}\n\nexport default addEventListener;","function removeEventListener(node, eventName, handler, options) {\n var capture = options && typeof options !== 'boolean' ? options.capture : options;\n node.removeEventListener(eventName, handler, capture);\n\n if (handler.__once) {\n node.removeEventListener(eventName, handler.__once, capture);\n }\n}\n\nexport default removeEventListener;","import addEventListener from './addEventListener';\nimport removeEventListener from './removeEventListener';\n\nfunction listen(node, eventName, handler, options) {\n addEventListener(node, eventName, handler, options);\n return function () {\n removeEventListener(node, eventName, handler, options);\n };\n}\n\nexport default listen;","/**\n * Convert array of 16 byte values to UUID string format of the form:\n * XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX\n */\nvar byteToHex = [];\n\nfor (var i = 0; i < 256; ++i) {\n byteToHex[i] = (i + 0x100).toString(16).substr(1);\n}\n\nfunction bytesToUuid(buf, offset) {\n var i = offset || 0;\n var bth = byteToHex; // join used to fix memory issue caused by concatenation: https://bugs.chromium.org/p/v8/issues/detail?id=3175#c4\n\n return [bth[buf[i++]], bth[buf[i++]], bth[buf[i++]], bth[buf[i++]], '-', bth[buf[i++]], bth[buf[i++]], '-', bth[buf[i++]], bth[buf[i++]], '-', bth[buf[i++]], bth[buf[i++]], '-', bth[buf[i++]], bth[buf[i++]], bth[buf[i++]], bth[buf[i++]], bth[buf[i++]], bth[buf[i++]]].join('');\n}\n\nmodule.exports = bytesToUuid;","var Converter = require('./src/converter');\n/**\n * Function get source and destination alphabet and return convert function\n *\n * @param {string|Array} srcAlphabet\n * @param {string|Array} dstAlphabet\n *\n * @returns {function(number|Array)}\n */\n\n\nfunction anyBase(srcAlphabet, dstAlphabet) {\n var converter = new Converter(srcAlphabet, dstAlphabet);\n /**\n * Convert function\n *\n * @param {string|Array} number\n *\n * @return {string|Array} number\n */\n\n return function (number) {\n return converter.convert(number);\n };\n}\n\n;\nanyBase.BIN = '01';\nanyBase.OCT = '01234567';\nanyBase.DEC = '0123456789';\nanyBase.HEX = '0123456789abcdef';\nmodule.exports = anyBase;","/*!\n * html-attributes\n * https://github.com/alexmingoia/html-attributes\n */\n'use strict';\n/**\n * @module html-attributes\n */\n\nmodule.exports = {\n \"abbr\": \"abbr\",\n \"accept\": \"accept\",\n \"acceptCharset\": \"accept-charset\",\n \"accessKey\": \"accesskey\",\n \"action\": \"action\",\n \"allowFullScreen\": \"allowfullscreen\",\n \"allowTransparency\": \"allowtransparency\",\n \"alt\": \"alt\",\n \"async\": \"async\",\n \"autoComplete\": \"autocomplete\",\n \"autoFocus\": \"autofocus\",\n \"autoPlay\": \"autoplay\",\n \"cellPadding\": \"cellpadding\",\n \"cellSpacing\": \"cellspacing\",\n \"challenge\": \"challenge\",\n \"charset\": \"charset\",\n \"checked\": \"checked\",\n \"cite\": \"cite\",\n \"class\": \"class\",\n \"className\": \"class\",\n \"cols\": \"cols\",\n \"colSpan\": \"colspan\",\n \"command\": \"command\",\n \"content\": \"content\",\n \"contentEditable\": \"contenteditable\",\n \"contextMenu\": \"contextmenu\",\n \"controls\": \"controls\",\n \"coords\": \"coords\",\n \"crossOrigin\": \"crossorigin\",\n \"data\": \"data\",\n \"dateTime\": \"datetime\",\n \"default\": \"default\",\n \"defer\": \"defer\",\n \"dir\": \"dir\",\n \"disabled\": \"disabled\",\n \"download\": \"download\",\n \"draggable\": \"draggable\",\n \"dropzone\": \"dropzone\",\n \"encType\": \"enctype\",\n \"for\": \"for\",\n \"form\": \"form\",\n \"formAction\": \"formaction\",\n \"formEncType\": \"formenctype\",\n \"formMethod\": \"formmethod\",\n \"formNoValidate\": \"formnovalidate\",\n \"formTarget\": \"formtarget\",\n \"frameBorder\": \"frameBorder\",\n \"headers\": \"headers\",\n \"height\": \"height\",\n \"hidden\": \"hidden\",\n \"high\": \"high\",\n \"href\": \"href\",\n \"hrefLang\": \"hreflang\",\n \"htmlFor\": \"for\",\n \"httpEquiv\": \"http-equiv\",\n \"icon\": \"icon\",\n \"id\": \"id\",\n \"inputMode\": \"inputmode\",\n \"isMap\": \"ismap\",\n \"itemId\": \"itemid\",\n \"itemProp\": \"itemprop\",\n \"itemRef\": \"itemref\",\n \"itemScope\": \"itemscope\",\n \"itemType\": \"itemtype\",\n \"kind\": \"kind\",\n \"label\": \"label\",\n \"lang\": \"lang\",\n \"list\": \"list\",\n \"loop\": \"loop\",\n \"manifest\": \"manifest\",\n \"max\": \"max\",\n \"maxLength\": \"maxlength\",\n \"media\": \"media\",\n \"mediaGroup\": \"mediagroup\",\n \"method\": \"method\",\n \"min\": \"min\",\n \"minLength\": \"minlength\",\n \"multiple\": \"multiple\",\n \"muted\": \"muted\",\n \"name\": \"name\",\n \"noValidate\": \"novalidate\",\n \"open\": \"open\",\n \"optimum\": \"optimum\",\n \"pattern\": \"pattern\",\n \"ping\": \"ping\",\n \"placeholder\": \"placeholder\",\n \"poster\": \"poster\",\n \"preload\": \"preload\",\n \"radioGroup\": \"radiogroup\",\n \"readOnly\": \"readonly\",\n \"rel\": \"rel\",\n \"required\": \"required\",\n \"role\": \"role\",\n \"rows\": \"rows\",\n \"rowSpan\": \"rowspan\",\n \"sandbox\": \"sandbox\",\n \"scope\": \"scope\",\n \"scoped\": \"scoped\",\n \"scrolling\": \"scrolling\",\n \"seamless\": \"seamless\",\n \"selected\": \"selected\",\n \"shape\": \"shape\",\n \"size\": \"size\",\n \"sizes\": \"sizes\",\n \"sortable\": \"sortable\",\n \"span\": \"span\",\n \"spellCheck\": \"spellcheck\",\n \"src\": \"src\",\n \"srcDoc\": \"srcdoc\",\n \"srcSet\": \"srcset\",\n \"start\": \"start\",\n \"step\": \"step\",\n \"style\": \"style\",\n \"tabIndex\": \"tabindex\",\n \"target\": \"target\",\n \"title\": \"title\",\n \"translate\": \"translate\",\n \"type\": \"type\",\n \"typeMustMatch\": \"typemustmatch\",\n \"useMap\": \"usemap\",\n \"value\": \"value\",\n \"width\": \"width\",\n \"wmode\": \"wmode\",\n \"wrap\": \"wrap\"\n};","import invariant from 'invariant';\n\nvar noop = function noop() {};\n\nfunction readOnlyPropType(handler, name) {\n return function (props, propName) {\n if (props[propName] !== undefined) {\n if (!props[handler]) {\n return new Error(\"You have provided a `\" + propName + \"` prop to `\" + name + \"` \" + (\"without an `\" + handler + \"` handler prop. This will render a read-only field. \") + (\"If the field should be mutable use `\" + defaultKey(propName) + \"`. \") + (\"Otherwise, set `\" + handler + \"`.\"));\n }\n }\n };\n}\n\nexport function uncontrolledPropTypes(controlledValues, displayName) {\n var propTypes = {};\n Object.keys(controlledValues).forEach(function (prop) {\n // add default propTypes for folks that use runtime checks\n propTypes[defaultKey(prop)] = noop;\n\n if (process.env.NODE_ENV !== 'production') {\n var handler = controlledValues[prop];\n !(typeof handler === 'string' && handler.trim().length) ? process.env.NODE_ENV !== \"production\" ? invariant(false, 'Uncontrollable - [%s]: the prop `%s` needs a valid handler key name in order to make it uncontrollable', displayName, prop) : invariant(false) : void 0;\n propTypes[prop] = readOnlyPropType(handler, displayName);\n }\n });\n return propTypes;\n}\nexport function isProp(props, prop) {\n return props[prop] !== undefined;\n}\nexport function defaultKey(key) {\n return 'default' + key.charAt(0).toUpperCase() + key.substr(1);\n}\n/**\n * Copyright (c) 2013-present, Facebook, Inc.\n * All rights reserved.\n *\n * This source code is licensed under the BSD-style license found in the\n * LICENSE file in the root directory of this source tree. An additional grant\n * of patent rights can be found in the PATENTS file in the same directory.\n */\n\nexport function canAcceptRef(component) {\n return !!component && (typeof component !== 'function' || component.prototype && component.prototype.isReactComponent);\n}","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\n\nfunction _toPropertyKey(arg) {\n var key = _toPrimitive(arg, \"string\");\n\n return typeof key === \"symbol\" ? key : String(key);\n}\n\nfunction _toPrimitive(input, hint) {\n if (typeof input !== \"object\" || input === null) return input;\n var prim = input[Symbol.toPrimitive];\n\n if (prim !== undefined) {\n var res = prim.call(input, hint || \"default\");\n if (typeof res !== \"object\") return res;\n throw new TypeError(\"@@toPrimitive must return a primitive value.\");\n }\n\n return (hint === \"string\" ? String : Number)(input);\n}\n\nimport { useCallback, useRef, useState } from 'react';\nimport * as Utils from './utils';\n\nfunction useUncontrolledProp(propValue, defaultValue, handler) {\n var wasPropRef = useRef(propValue !== undefined);\n\n var _useState = useState(defaultValue),\n stateValue = _useState[0],\n setState = _useState[1];\n\n var isProp = propValue !== undefined;\n var wasProp = wasPropRef.current;\n wasPropRef.current = isProp;\n /**\n * If a prop switches from controlled to Uncontrolled\n * reset its value to the defaultValue\n */\n\n if (!isProp && wasProp && stateValue !== defaultValue) {\n setState(defaultValue);\n }\n\n return [isProp ? propValue : stateValue, useCallback(function (value) {\n for (var _len = arguments.length, args = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {\n args[_key - 1] = arguments[_key];\n }\n\n if (handler) handler.apply(void 0, [value].concat(args));\n setState(value);\n }, [handler])];\n}\n\nexport { useUncontrolledProp };\nexport default function useUncontrolled(props, config) {\n return Object.keys(config).reduce(function (result, fieldName) {\n var _extends2;\n\n var _ref = result,\n defaultValue = _ref[Utils.defaultKey(fieldName)],\n propsValue = _ref[fieldName],\n rest = _objectWithoutPropertiesLoose(_ref, [Utils.defaultKey(fieldName), fieldName].map(_toPropertyKey));\n\n var handlerName = config[fieldName];\n\n var _useUncontrolledProp = useUncontrolledProp(propsValue, defaultValue, props[handlerName]),\n value = _useUncontrolledProp[0],\n handler = _useUncontrolledProp[1];\n\n return _extends({}, rest, (_extends2 = {}, _extends2[fieldName] = value, _extends2[handlerName] = handler, _extends2));\n }, props);\n}","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = all;\n\nvar _createChainableTypeChecker = require('./utils/createChainableTypeChecker');\n\nvar _createChainableTypeChecker2 = _interopRequireDefault(_createChainableTypeChecker);\n\nfunction _interopRequireDefault(obj) {\n return obj && obj.__esModule ? obj : {\n default: obj\n };\n}\n\nfunction all() {\n for (var _len = arguments.length, validators = Array(_len), _key = 0; _key < _len; _key++) {\n validators[_key] = arguments[_key];\n }\n\n function allPropTypes() {\n for (var _len2 = arguments.length, args = Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {\n args[_key2] = arguments[_key2];\n }\n\n var error = null;\n validators.forEach(function (validator) {\n if (error != null) {\n return;\n }\n\n var result = validator.apply(undefined, args);\n\n if (result != null) {\n error = result;\n }\n });\n return error;\n }\n\n return (0, _createChainableTypeChecker2.default)(allPropTypes);\n}\n\nmodule.exports = exports['default'];","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nexports.__esModule = true;\nexports.matchesMedia = exports.hasArtDirectionArray = exports.hasArtDirectionSupport = exports.createArtDirectionSources = exports.groupByMedia = void 0;\n\nvar _sortMediaQueries = _interopRequireDefault(require(\"sort-media-queries\"));\n\nvar _SimpleUtils = require(\"./SimpleUtils\");\n\nvar groupByMedia = function groupByMedia(imageVariants) {\n var without = [];\n var sortedVariants = (0, _sortMediaQueries.default)(imageVariants, 'media');\n sortedVariants.forEach(function (variant) {\n return !variant.media && without.push(variant);\n });\n\n if (without.length > 1 && process.env.NODE_ENV !== \"production\") {\n console.warn(\"We've found \" + without.length + \" sources without a media property. They might be ignored by the browser, see: https://www.gatsbyjs.org/packages/gatsby-image/#art-directing-multiple-images\");\n }\n\n return sortedVariants;\n};\n\nexports.groupByMedia = groupByMedia;\n\nvar createArtDirectionSources = function createArtDirectionSources(_ref) {\n var fluid = _ref.fluid,\n fixed = _ref.fixed;\n var currentSource = fluid || fixed;\n return currentSource.reduce(function (sources, image) {\n if (!image.media) {\n return sources;\n }\n\n var source = document.createElement('source');\n\n if (image.srcSetWebp) {\n source.type = \"image/webp\";\n source.srcset = image.srcSetWebp;\n }\n\n if (image.sizes) {\n source.sizes = image.sizes;\n }\n\n source.media = image.media;\n sources.push(source);\n return sources;\n }, []);\n};\n\nexports.createArtDirectionSources = createArtDirectionSources;\n\nvar hasArtDirectionSupport = function hasArtDirectionSupport(props, prop) {\n return props[prop] && Array.isArray(props[prop]) && props[prop].some(function (image) {\n return !!image && typeof image.media !== 'undefined';\n });\n};\n\nexports.hasArtDirectionSupport = hasArtDirectionSupport;\n\nvar hasArtDirectionArray = function hasArtDirectionArray(props) {\n return hasArtDirectionSupport(props, 'fluid') || hasArtDirectionSupport(props, 'fixed');\n};\n\nexports.hasArtDirectionArray = hasArtDirectionArray;\n\nvar matchesMedia = function matchesMedia(_ref2) {\n var media = _ref2.media;\n return media ? (0, _SimpleUtils.isBrowser)() && typeof window.matchMedia !== \"undefined\" && !!window.matchMedia(media).matches : false;\n};\n\nexports.matchesMedia = matchesMedia;","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nexports.__esModule = true;\nexports.presetBackgroundStyles = exports.fixOpacity = exports.setTransitionStyles = exports.kebabifyBackgroundStyles = exports.escapeClassNames = exports.fixClassName = void 0;\n\nvar _extends2 = _interopRequireDefault(require(\"@babel/runtime/helpers/extends\"));\n\nvar _objectWithoutPropertiesLoose2 = _interopRequireDefault(require(\"@babel/runtime/helpers/objectWithoutPropertiesLoose\"));\n\nvar _shortUuid = _interopRequireDefault(require(\"short-uuid\"));\n\nvar _HelperUtils = require(\"./HelperUtils\");\n\nvar _ClassCache = require(\"./ClassCache\");\n\nvar _ImageUtils = require(\"./ImageUtils\");\n\nvar _SimpleUtils = require(\"./SimpleUtils\");\n\nvar fixClassName = function fixClassName(_ref) {\n var className = _ref.className,\n props = (0, _objectWithoutPropertiesLoose2.default)(_ref, [\"className\"]);\n var convertedProps = (0, _HelperUtils.convertProps)(props);\n var elementExists = (0, _ClassCache.inComponentClassCache)(className);\n var imageData = (0, _ImageUtils.getCurrentSrcData)(convertedProps);\n\n var additionalClassname = _shortUuid.default.generate();\n\n var randomClass = \" gbi-\" + (0, _SimpleUtils.hashString)(imageData && imageData.srcSet || className || \"noclass\") + \"-\" + additionalClassname;\n var additionalClass = elementExists || !className ? randomClass : \"\";\n var componentClassNames = (\"\" + (className || \"\") + (additionalClass || \"\")).trim();\n if (!elementExists) (0, _ClassCache.activateCacheForComponentClass)(className);\n return [componentClassNames];\n};\n\nexports.fixClassName = fixClassName;\n\nvar escapeClassNames = function escapeClassNames(classNames) {\n if (classNames) {\n var specialChars = (0, _SimpleUtils.isBrowser)() && window._gbiSpecialChars ? window._gbiSpecialChars : typeof __GBI_SPECIAL_CHARS__ !== \"undefined\" ? __GBI_SPECIAL_CHARS__ : ':/';\n var specialCharRegEx = new RegExp(\"[\" + specialChars + \"]\", 'g');\n return classNames.replace(specialCharRegEx, '\\\\$&');\n }\n\n return classNames;\n};\n\nexports.escapeClassNames = escapeClassNames;\n\nvar kebabifyBackgroundStyles = function kebabifyBackgroundStyles(styles) {\n if ((0, _SimpleUtils.isString)(styles)) {\n return styles;\n }\n\n if (styles instanceof Object) {\n return Object.keys(styles).filter(function (key) {\n return key.indexOf('background') === 0 && styles[key] !== '';\n }).reduce(function (resultingStyles, key) {\n return \"\" + resultingStyles + (0, _SimpleUtils.toKebabCase)(key) + \": \" + styles[key] + \";\\n\";\n }, \"\");\n }\n\n return \"\";\n};\n\nexports.kebabifyBackgroundStyles = kebabifyBackgroundStyles;\n\nvar setTransitionStyles = function setTransitionStyles(transitionDelay, fadeIn) {\n if (transitionDelay === void 0) {\n transitionDelay = \"0.25s\";\n }\n\n if (fadeIn === void 0) {\n fadeIn = true;\n }\n\n return fadeIn ? \"transition: opacity 0.5s ease \" + transitionDelay + \";\" : \"transition: none;\";\n};\n\nexports.setTransitionStyles = setTransitionStyles;\n\nvar fixOpacity = function fixOpacity(props) {\n var styledProps = (0, _extends2.default)({}, props);\n\n if (!styledProps.preserveStackingContext) {\n try {\n if (styledProps.style && styledProps.style.opacity) {\n if (isNaN(styledProps.style.opacity) || styledProps.style.opacity > 0.99) {\n styledProps.style.opacity = 0.99;\n }\n }\n } catch (e) {}\n }\n\n return styledProps;\n};\n\nexports.fixOpacity = fixOpacity;\n\nvar presetBackgroundStyles = function presetBackgroundStyles(backgroundStyles) {\n var defaultBackgroundStyles = {\n backgroundPosition: \"center\",\n backgroundRepeat: \"no-repeat\",\n backgroundSize: \"cover\"\n };\n return (0, _extends2.default)({}, defaultBackgroundStyles, backgroundStyles);\n};\n\nexports.presetBackgroundStyles = presetBackgroundStyles;","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nexports.__esModule = true;\nexports.createNoScriptStyles = exports.createStyleImage = exports.createPseudoStyles = exports.createPseudoElementMediaQuery = exports.createPseudoElementWithContent = exports.createPseudoElement = void 0;\n\nvar _extends2 = _interopRequireDefault(require(\"@babel/runtime/helpers/extends\"));\n\nvar _StyleUtils = require(\"./StyleUtils\");\n\nvar _ImageUtils = require(\"./ImageUtils\");\n\nvar _MediaUtils = require(\"./MediaUtils\");\n\nvar _SimpleUtils = require(\"./SimpleUtils\");\n\nvar createPseudoElement = function createPseudoElement(className, appendix) {\n if (appendix === void 0) {\n appendix = \":before\";\n }\n\n var escapedClassName = (0, _StyleUtils.escapeClassNames)(className);\n var classes = (0, _SimpleUtils.stringToArray)(escapedClassName);\n var pseudoClasses = \"\";\n\n if (Array.isArray(classes)) {\n classes = classes.filter(function (c) {\n return c !== '';\n });\n\n if (classes.length > 0) {\n pseudoClasses = \".\" + classes.join('.') + appendix;\n }\n }\n\n return pseudoClasses;\n};\n\nexports.createPseudoElement = createPseudoElement;\n\nvar createPseudoElementWithContent = function createPseudoElementWithContent(pseudoElementString, imageSource) {\n return \"\\n \" + pseudoElementString + \" {\\n opacity: 1;\\n background-image: \" + imageSource + \";\\n }\";\n};\n\nexports.createPseudoElementWithContent = createPseudoElementWithContent;\n\nvar createPseudoElementMediaQuery = function createPseudoElementMediaQuery(pseudoElementString, media, imageSource, imageSourceWebP) {\n return \"\\n @media \" + media + \" {\\n \" + createPseudoElementWithContent(pseudoElementString, imageSource) + \"\\n }\\n \" + (imageSourceWebP && \"@media \" + media + \" {\\n \" + createPseudoElementWithContent(pseudoElementString, imageSourceWebP) + \"\\n }\") + \"\\n \";\n};\n\nexports.createPseudoElementMediaQuery = createPseudoElementMediaQuery;\n\nvar createPseudoStyles = function createPseudoStyles(_ref) {\n var className = _ref.className,\n transitionDelay = _ref.transitionDelay,\n lastImage = _ref.lastImage,\n nextImage = _ref.nextImage,\n afterOpacity = _ref.afterOpacity,\n bgColor = _ref.bgColor,\n fadeIn = _ref.fadeIn,\n backgroundStyles = _ref.backgroundStyles,\n style = _ref.style,\n finalImage = _ref.finalImage,\n originalData = _ref.originalData;\n var pseudoBefore = createPseudoElement(className);\n var pseudoAfter = createPseudoElement(className, \":after\");\n var currentBackgroundStyles = (0, _extends2.default)({}, backgroundStyles, style);\n return \"\\n \" + pseudoBefore + \",\\n \" + pseudoAfter + \" {\\n content: '';\\n display: block;\\n position: absolute;\\n width: 100%;\\n height: 100%;\\n top: 0;\\n left: 0;\\n \" + (bgColor && \"background-color: \" + bgColor + \";\") + \"\\n \" + (0, _StyleUtils.setTransitionStyles)(transitionDelay, fadeIn) + \"\\n \" + (0, _StyleUtils.kebabifyBackgroundStyles)(currentBackgroundStyles) + \"\\n }\\n \" + pseudoBefore + \" {\\n z-index: -100;\\n \" + ((!afterOpacity || finalImage) && createStyleImage(nextImage, originalData) || \"\") + \"\\n \" + (afterOpacity && lastImage && createStyleImage(lastImage, originalData) || \"\") + \"\\n opacity: \" + Number(!afterOpacity) + \"; \\n }\\n \" + pseudoAfter + \" {\\n z-index: -101;\\n \" + ((afterOpacity || finalImage) && createStyleImage(nextImage, originalData) || \"\") + \"\\n \" + (!afterOpacity && lastImage && createStyleImage(lastImage, originalData) || \"\") + \"\\n \" + (finalImage ? \"opacity: \" + Number(afterOpacity) + \";\" : \"\") + \"\\n }\\n \";\n};\n\nexports.createPseudoStyles = createPseudoStyles;\n\nvar createStyleImage = function createStyleImage(image, originalData) {\n var hasStackedImages = (0, _ImageUtils.hasImageArray)({\n fluid: originalData\n }) && !(0, _MediaUtils.hasArtDirectionArray)({\n fluid: originalData\n });\n\n if ((0, _SimpleUtils.isBrowser)() || hasStackedImages) {\n return image ? \"background-image: \" + image + \";\" : \"\";\n }\n\n return \"\";\n};\n\nexports.createStyleImage = createStyleImage;\n\nvar createNoScriptStyles = function createNoScriptStyles(_ref2) {\n var className = _ref2.className,\n image = _ref2.image;\n\n if (image) {\n var returnArray = Array.isArray(image) && !(0, _MediaUtils.hasArtDirectionArray)({\n fluid: image\n });\n var addUrl = false;\n var allSources = (0, _ImageUtils.getCurrentFromData)({\n data: image,\n propName: \"src\",\n checkLoaded: false,\n addUrl: addUrl,\n returnArray: returnArray\n });\n var sourcesAsUrl = (0, _ImageUtils.getUrlString)({\n imageString: allSources,\n hasImageUrls: true,\n returnArray: returnArray\n });\n var sourcesAsUrlWithCSS = \"\";\n\n if (returnArray) {\n var cssStrings = (0, _ImageUtils.getCurrentFromData)({\n data: image,\n propName: \"CSS_STRING\",\n addUrl: false,\n returnArray: returnArray\n });\n sourcesAsUrlWithCSS = (0, _SimpleUtils.filteredJoin)((0, _SimpleUtils.combineArray)(sourcesAsUrl, cssStrings));\n }\n\n var pseudoBefore = createPseudoElement(className);\n\n if ((0, _MediaUtils.hasArtDirectionArray)({\n fluid: image\n })) {\n return image.map(function (currentMedia) {\n var sourceString = (0, _ImageUtils.getUrlString)({\n imageString: currentMedia.src\n });\n var webPString = (0, _ImageUtils.getUrlString)({\n imageString: currentMedia.srcWebp || \"\"\n });\n\n if (currentMedia.media) {\n return createPseudoElementMediaQuery(pseudoBefore, currentMedia.media, sourceString, webPString);\n }\n\n return createPseudoElementMediaQuery(pseudoBefore, 'screen', sourceString, webPString);\n }).join('');\n }\n\n return createPseudoElementWithContent(pseudoBefore, sourcesAsUrlWithCSS || sourcesAsUrl);\n }\n\n return \"\";\n};\n\nexports.createNoScriptStyles = createNoScriptStyles;","import React from \"react\"\nimport PropTypes from \"prop-types\"\nimport { Helmet } from \"react-helmet\"\n\nfunction SEO({ description, lang, meta, title, keywords }) {\n return (\n \n )\n}\n\nSEO.defaultProps = {\n lang: \"en\",\n meta: [],\n description: \"\",\n keywords: \"\",\n}\n\nSEO.propTypes = {\n description: PropTypes.string,\n lang: PropTypes.string,\n meta: PropTypes.arrayOf(PropTypes.object),\n title: PropTypes.string.isRequired,\n}\n\nexport default SEO\n","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport React, { useContext, useMemo } from 'react';\nvar ThemeContext = React.createContext({});\nvar Consumer = ThemeContext.Consumer,\n Provider = ThemeContext.Provider;\n\nfunction ThemeProvider(_ref) {\n var prefixes = _ref.prefixes,\n children = _ref.children;\n var copiedPrefixes = useMemo(function () {\n return _extends({}, prefixes);\n }, [prefixes]);\n return /*#__PURE__*/React.createElement(Provider, {\n value: copiedPrefixes\n }, children);\n}\n\nexport function useBootstrapPrefix(prefix, defaultPrefix) {\n var prefixes = useContext(ThemeContext);\n return prefix || prefixes[defaultPrefix] || defaultPrefix;\n}\n\nfunction createBootstrapComponent(Component, opts) {\n if (typeof opts === 'string') opts = {\n prefix: opts\n };\n var isClassy = Component.prototype && Component.prototype.isReactComponent; // If it's a functional component make sure we don't break it with a ref\n\n var _opts = opts,\n prefix = _opts.prefix,\n _opts$forwardRefAs = _opts.forwardRefAs,\n forwardRefAs = _opts$forwardRefAs === void 0 ? isClassy ? 'ref' : 'innerRef' : _opts$forwardRefAs;\n var Wrapped = React.forwardRef(function (_ref2, ref) {\n var props = _extends({}, _ref2);\n\n props[forwardRefAs] = ref;\n var bsPrefix = useBootstrapPrefix(props.bsPrefix, prefix);\n return /*#__PURE__*/React.createElement(Component, _extends({}, props, {\n bsPrefix: bsPrefix\n }));\n });\n Wrapped.displayName = \"Bootstrap(\" + (Component.displayName || Component.name) + \")\";\n return Wrapped;\n}\n\nexport { createBootstrapComponent, Consumer as ThemeConsumer };\nexport default ThemeProvider;","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nimport classNames from 'classnames';\nimport React from 'react';\nimport { useBootstrapPrefix } from './ThemeProvider';\nvar defaultProps = {\n fluid: false\n};\nvar Container = React.forwardRef(function (_ref, ref) {\n var bsPrefix = _ref.bsPrefix,\n fluid = _ref.fluid,\n _ref$as = _ref.as,\n Component = _ref$as === void 0 ? 'div' : _ref$as,\n className = _ref.className,\n props = _objectWithoutPropertiesLoose(_ref, [\"bsPrefix\", \"fluid\", \"as\", \"className\"]);\n\n var prefix = useBootstrapPrefix(bsPrefix, 'container');\n var suffix = typeof fluid === 'string' ? \"-\" + fluid : '-fluid';\n return /*#__PURE__*/React.createElement(Component, _extends({\n ref: ref\n }, props, {\n className: classNames(className, fluid ? \"\" + prefix + suffix : prefix)\n }));\n});\nContainer.displayName = 'Container';\nContainer.defaultProps = defaultProps;\nexport default Container;","var rHyphen = /-(.)/g;\nexport default function camelize(string) {\n return string.replace(rHyphen, function (_, chr) {\n return chr.toUpperCase();\n });\n}","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nimport classNames from 'classnames';\nimport camelize from 'dom-helpers/camelize';\nimport React from 'react';\nimport { useBootstrapPrefix } from './ThemeProvider';\n\nvar pascalCase = function pascalCase(str) {\n return str[0].toUpperCase() + camelize(str).slice(1);\n}; // TODO: emstricten & fix the typing here! `createWithBsPrefix...`\n\n\nexport default function createWithBsPrefix(prefix, _temp) {\n var _ref = _temp === void 0 ? {} : _temp,\n _ref$displayName = _ref.displayName,\n displayName = _ref$displayName === void 0 ? pascalCase(prefix) : _ref$displayName,\n Component = _ref.Component,\n defaultProps = _ref.defaultProps;\n\n var BsComponent = React.forwardRef(function (_ref2, ref) {\n var className = _ref2.className,\n bsPrefix = _ref2.bsPrefix,\n _ref2$as = _ref2.as,\n Tag = _ref2$as === void 0 ? Component || 'div' : _ref2$as,\n props = _objectWithoutPropertiesLoose(_ref2, [\"className\", \"bsPrefix\", \"as\"]);\n\n var resolvedPrefix = useBootstrapPrefix(bsPrefix, prefix);\n return /*#__PURE__*/React.createElement(Tag, _extends({\n ref: ref,\n className: classNames(className, resolvedPrefix)\n }, props));\n });\n BsComponent.defaultProps = defaultProps;\n BsComponent.displayName = displayName;\n return BsComponent;\n}","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nimport classNames from 'classnames';\nimport React from 'react';\nimport { useBootstrapPrefix } from './ThemeProvider';\nvar NavbarBrand = React.forwardRef(function (_ref, ref) {\n var bsPrefix = _ref.bsPrefix,\n className = _ref.className,\n as = _ref.as,\n props = _objectWithoutPropertiesLoose(_ref, [\"bsPrefix\", \"className\", \"as\"]);\n\n bsPrefix = useBootstrapPrefix(bsPrefix, 'navbar-brand');\n var Component = as || (props.href ? 'a' : 'span');\n return /*#__PURE__*/React.createElement(Component, _extends({}, props, {\n ref: ref,\n className: classNames(className, bsPrefix)\n }));\n});\nNavbarBrand.displayName = 'NavbarBrand';\nexport default NavbarBrand;","import css from './css';\nimport listen from './listen';\n\nfunction parseDuration(node) {\n var str = css(node, 'transitionDuration') || '';\n var mult = str.indexOf('ms') === -1 ? 1000 : 1;\n return parseFloat(str) * mult;\n}\n\nfunction triggerTransitionEnd(element) {\n var evt = document.createEvent('HTMLEvents');\n evt.initEvent('transitionend', true, true);\n element.dispatchEvent(evt);\n}\n\nfunction emulateTransitionEnd(element, duration, padding) {\n if (padding === void 0) {\n padding = 5;\n }\n\n var called = false;\n var handle = setTimeout(function () {\n if (!called) triggerTransitionEnd(element);\n }, duration + padding);\n var remove = listen(element, 'transitionend', function () {\n called = true;\n }, {\n once: true\n });\n return function () {\n clearTimeout(handle);\n remove();\n };\n}\n\nexport default function transitionEnd(element, handler, duration, padding) {\n if (duration == null) duration = parseDuration(element) || 0;\n var removeEmulate = emulateTransitionEnd(element, duration, padding);\n var remove = listen(element, 'transitionend', handler);\n return function () {\n removeEmulate();\n remove();\n };\n}","export default {\n disabled: false\n};","import React from 'react';\nexport default React.createContext(null);","import _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nimport _inheritsLoose from \"@babel/runtime/helpers/esm/inheritsLoose\";\nimport React from 'react';\nimport ReactDOM from 'react-dom';\nimport config from './config';\nimport { timeoutsShape } from './utils/PropTypes';\nimport TransitionGroupContext from './TransitionGroupContext';\nexport var UNMOUNTED = 'unmounted';\nexport var EXITED = 'exited';\nexport var ENTERING = 'entering';\nexport var ENTERED = 'entered';\nexport var EXITING = 'exiting';\n/**\n * The Transition component lets you describe a transition from one component\n * state to another _over time_ with a simple declarative API. Most commonly\n * it's used to animate the mounting and unmounting of a component, but can also\n * be used to describe in-place transition states as well.\n *\n * ---\n *\n * **Note**: `Transition` is a platform-agnostic base component. If you're using\n * transitions in CSS, you'll probably want to use\n * [`CSSTransition`](https://reactcommunity.org/react-transition-group/css-transition)\n * instead. It inherits all the features of `Transition`, but contains\n * additional features necessary to play nice with CSS transitions (hence the\n * name of the component).\n *\n * ---\n *\n * By default the `Transition` component does not alter the behavior of the\n * component it renders, it only tracks \"enter\" and \"exit\" states for the\n * components. It's up to you to give meaning and effect to those states. For\n * example we can add styles to a component when it enters or exits:\n *\n * ```jsx\n * import { Transition } from 'react-transition-group';\n *\n * const duration = 300;\n *\n * const defaultStyle = {\n * transition: `opacity ${duration}ms ease-in-out`,\n * opacity: 0,\n * }\n *\n * const transitionStyles = {\n * entering: { opacity: 1 },\n * entered: { opacity: 1 },\n * exiting: { opacity: 0 },\n * exited: { opacity: 0 },\n * };\n *\n * const Fade = ({ in: inProp }) => (\n * \n * {state => (\n *
\n * I'm a fade Transition!\n *
\n * )}\n *
\n * );\n * ```\n *\n * There are 4 main states a Transition can be in:\n * - `'entering'`\n * - `'entered'`\n * - `'exiting'`\n * - `'exited'`\n *\n * Transition state is toggled via the `in` prop. When `true` the component\n * begins the \"Enter\" stage. During this stage, the component will shift from\n * its current transition state, to `'entering'` for the duration of the\n * transition and then to the `'entered'` stage once it's complete. Let's take\n * the following example (we'll use the\n * [useState](https://reactjs.org/docs/hooks-reference.html#usestate) hook):\n *\n * ```jsx\n * function App() {\n * const [inProp, setInProp] = useState(false);\n * return (\n *
\n * \n * {state => (\n * // ...\n * )}\n * \n * \n *
\n * );\n * }\n * ```\n *\n * When the button is clicked the component will shift to the `'entering'` state\n * and stay there for 500ms (the value of `timeout`) before it finally switches\n * to `'entered'`.\n *\n * When `in` is `false` the same thing happens except the state moves from\n * `'exiting'` to `'exited'`.\n */\n\nvar Transition = /*#__PURE__*/function (_React$Component) {\n _inheritsLoose(Transition, _React$Component);\n\n function Transition(props, context) {\n var _this;\n\n _this = _React$Component.call(this, props, context) || this;\n var parentGroup = context; // In the context of a TransitionGroup all enters are really appears\n\n var appear = parentGroup && !parentGroup.isMounting ? props.enter : props.appear;\n var initialStatus;\n _this.appearStatus = null;\n\n if (props.in) {\n if (appear) {\n initialStatus = EXITED;\n _this.appearStatus = ENTERING;\n } else {\n initialStatus = ENTERED;\n }\n } else {\n if (props.unmountOnExit || props.mountOnEnter) {\n initialStatus = UNMOUNTED;\n } else {\n initialStatus = EXITED;\n }\n }\n\n _this.state = {\n status: initialStatus\n };\n _this.nextCallback = null;\n return _this;\n }\n\n Transition.getDerivedStateFromProps = function getDerivedStateFromProps(_ref, prevState) {\n var nextIn = _ref.in;\n\n if (nextIn && prevState.status === UNMOUNTED) {\n return {\n status: EXITED\n };\n }\n\n return null;\n } // getSnapshotBeforeUpdate(prevProps) {\n // let nextStatus = null\n // if (prevProps !== this.props) {\n // const { status } = this.state\n // if (this.props.in) {\n // if (status !== ENTERING && status !== ENTERED) {\n // nextStatus = ENTERING\n // }\n // } else {\n // if (status === ENTERING || status === ENTERED) {\n // nextStatus = EXITING\n // }\n // }\n // }\n // return { nextStatus }\n // }\n ;\n\n var _proto = Transition.prototype;\n\n _proto.componentDidMount = function componentDidMount() {\n this.updateStatus(true, this.appearStatus);\n };\n\n _proto.componentDidUpdate = function componentDidUpdate(prevProps) {\n var nextStatus = null;\n\n if (prevProps !== this.props) {\n var status = this.state.status;\n\n if (this.props.in) {\n if (status !== ENTERING && status !== ENTERED) {\n nextStatus = ENTERING;\n }\n } else {\n if (status === ENTERING || status === ENTERED) {\n nextStatus = EXITING;\n }\n }\n }\n\n this.updateStatus(false, nextStatus);\n };\n\n _proto.componentWillUnmount = function componentWillUnmount() {\n this.cancelNextCallback();\n };\n\n _proto.getTimeouts = function getTimeouts() {\n var timeout = this.props.timeout;\n var exit, enter, appear;\n exit = enter = appear = timeout;\n\n if (timeout != null && typeof timeout !== 'number') {\n exit = timeout.exit;\n enter = timeout.enter; // TODO: remove fallback for next major\n\n appear = timeout.appear !== undefined ? timeout.appear : enter;\n }\n\n return {\n exit: exit,\n enter: enter,\n appear: appear\n };\n };\n\n _proto.updateStatus = function updateStatus(mounting, nextStatus) {\n if (mounting === void 0) {\n mounting = false;\n }\n\n if (nextStatus !== null) {\n // nextStatus will always be ENTERING or EXITING.\n this.cancelNextCallback();\n\n if (nextStatus === ENTERING) {\n this.performEnter(mounting);\n } else {\n this.performExit();\n }\n } else if (this.props.unmountOnExit && this.state.status === EXITED) {\n this.setState({\n status: UNMOUNTED\n });\n }\n };\n\n _proto.performEnter = function performEnter(mounting) {\n var _this2 = this;\n\n var enter = this.props.enter;\n var appearing = this.context ? this.context.isMounting : mounting;\n\n var _ref2 = this.props.nodeRef ? [appearing] : [ReactDOM.findDOMNode(this), appearing],\n maybeNode = _ref2[0],\n maybeAppearing = _ref2[1];\n\n var timeouts = this.getTimeouts();\n var enterTimeout = appearing ? timeouts.appear : timeouts.enter; // no enter animation skip right to ENTERED\n // if we are mounting and running this it means appear _must_ be set\n\n if (!mounting && !enter || config.disabled) {\n this.safeSetState({\n status: ENTERED\n }, function () {\n _this2.props.onEntered(maybeNode);\n });\n return;\n }\n\n this.props.onEnter(maybeNode, maybeAppearing);\n this.safeSetState({\n status: ENTERING\n }, function () {\n _this2.props.onEntering(maybeNode, maybeAppearing);\n\n _this2.onTransitionEnd(enterTimeout, function () {\n _this2.safeSetState({\n status: ENTERED\n }, function () {\n _this2.props.onEntered(maybeNode, maybeAppearing);\n });\n });\n });\n };\n\n _proto.performExit = function performExit() {\n var _this3 = this;\n\n var exit = this.props.exit;\n var timeouts = this.getTimeouts();\n var maybeNode = this.props.nodeRef ? undefined : ReactDOM.findDOMNode(this); // no exit animation skip right to EXITED\n\n if (!exit || config.disabled) {\n this.safeSetState({\n status: EXITED\n }, function () {\n _this3.props.onExited(maybeNode);\n });\n return;\n }\n\n this.props.onExit(maybeNode);\n this.safeSetState({\n status: EXITING\n }, function () {\n _this3.props.onExiting(maybeNode);\n\n _this3.onTransitionEnd(timeouts.exit, function () {\n _this3.safeSetState({\n status: EXITED\n }, function () {\n _this3.props.onExited(maybeNode);\n });\n });\n });\n };\n\n _proto.cancelNextCallback = function cancelNextCallback() {\n if (this.nextCallback !== null) {\n this.nextCallback.cancel();\n this.nextCallback = null;\n }\n };\n\n _proto.safeSetState = function safeSetState(nextState, callback) {\n // This shouldn't be necessary, but there are weird race conditions with\n // setState callbacks and unmounting in testing, so always make sure that\n // we can cancel any pending setState callbacks after we unmount.\n callback = this.setNextCallback(callback);\n this.setState(nextState, callback);\n };\n\n _proto.setNextCallback = function setNextCallback(callback) {\n var _this4 = this;\n\n var active = true;\n\n this.nextCallback = function (event) {\n if (active) {\n active = false;\n _this4.nextCallback = null;\n callback(event);\n }\n };\n\n this.nextCallback.cancel = function () {\n active = false;\n };\n\n return this.nextCallback;\n };\n\n _proto.onTransitionEnd = function onTransitionEnd(timeout, handler) {\n this.setNextCallback(handler);\n var node = this.props.nodeRef ? this.props.nodeRef.current : ReactDOM.findDOMNode(this);\n var doesNotHaveTimeoutOrListener = timeout == null && !this.props.addEndListener;\n\n if (!node || doesNotHaveTimeoutOrListener) {\n setTimeout(this.nextCallback, 0);\n return;\n }\n\n if (this.props.addEndListener) {\n var _ref3 = this.props.nodeRef ? [this.nextCallback] : [node, this.nextCallback],\n maybeNode = _ref3[0],\n maybeNextCallback = _ref3[1];\n\n this.props.addEndListener(maybeNode, maybeNextCallback);\n }\n\n if (timeout != null) {\n setTimeout(this.nextCallback, timeout);\n }\n };\n\n _proto.render = function render() {\n var status = this.state.status;\n\n if (status === UNMOUNTED) {\n return null;\n }\n\n var _this$props = this.props,\n children = _this$props.children,\n _in = _this$props.in,\n _mountOnEnter = _this$props.mountOnEnter,\n _unmountOnExit = _this$props.unmountOnExit,\n _appear = _this$props.appear,\n _enter = _this$props.enter,\n _exit = _this$props.exit,\n _timeout = _this$props.timeout,\n _addEndListener = _this$props.addEndListener,\n _onEnter = _this$props.onEnter,\n _onEntering = _this$props.onEntering,\n _onEntered = _this$props.onEntered,\n _onExit = _this$props.onExit,\n _onExiting = _this$props.onExiting,\n _onExited = _this$props.onExited,\n _nodeRef = _this$props.nodeRef,\n childProps = _objectWithoutPropertiesLoose(_this$props, [\"children\", \"in\", \"mountOnEnter\", \"unmountOnExit\", \"appear\", \"enter\", \"exit\", \"timeout\", \"addEndListener\", \"onEnter\", \"onEntering\", \"onEntered\", \"onExit\", \"onExiting\", \"onExited\", \"nodeRef\"]);\n\n return (\n /*#__PURE__*/\n // allows for nested Transitions\n React.createElement(TransitionGroupContext.Provider, {\n value: null\n }, typeof children === 'function' ? children(status, childProps) : React.cloneElement(React.Children.only(children), childProps))\n );\n };\n\n return Transition;\n}(React.Component);\n\nTransition.contextType = TransitionGroupContext;\n\n// Name the function so it is clearer in the documentation\nfunction noop() {}\n\nTransition.defaultProps = {\n in: false,\n mountOnEnter: false,\n unmountOnExit: false,\n appear: false,\n enter: true,\n exit: true,\n onEnter: noop,\n onEntering: noop,\n onEntered: noop,\n onExit: noop,\n onExiting: noop,\n onExited: noop\n};\nTransition.UNMOUNTED = UNMOUNTED;\nTransition.EXITED = EXITED;\nTransition.ENTERING = ENTERING;\nTransition.ENTERED = ENTERED;\nTransition.EXITING = EXITING;\nexport default Transition;","/**\n * Safe chained function\n *\n * Will only create a new function if needed,\n * otherwise will pass back existing functions or null.\n *\n * @param {function} functions to chain\n * @returns {function|null}\n */\nfunction createChainedFunction() {\n for (var _len = arguments.length, funcs = new Array(_len), _key = 0; _key < _len; _key++) {\n funcs[_key] = arguments[_key];\n }\n\n return funcs.filter(function (f) {\n return f != null;\n }).reduce(function (acc, f) {\n if (typeof f !== 'function') {\n throw new Error('Invalid Argument Type, must only provide functions, undefined, or null.');\n }\n\n if (acc === null) return f;\n return function chainedFunction() {\n for (var _len2 = arguments.length, args = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {\n args[_key2] = arguments[_key2];\n } // @ts-ignore\n\n\n acc.apply(this, args); // @ts-ignore\n\n f.apply(this, args);\n };\n }, null);\n}\n\nexport default createChainedFunction;","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\n\nvar _collapseStyles;\n\nimport classNames from 'classnames';\nimport css from 'dom-helpers/css';\nimport transitionEnd from 'dom-helpers/transitionEnd';\nimport React, { useMemo } from 'react';\nimport Transition, { ENTERED, ENTERING, EXITED, EXITING } from 'react-transition-group/Transition';\nimport createChainedFunction from './createChainedFunction';\nimport triggerBrowserReflow from './triggerBrowserReflow';\nvar MARGINS = {\n height: ['marginTop', 'marginBottom'],\n width: ['marginLeft', 'marginRight']\n};\n\nfunction getDefaultDimensionValue(dimension, elem) {\n var offset = \"offset\" + dimension[0].toUpperCase() + dimension.slice(1);\n var value = elem[offset];\n var margins = MARGINS[dimension];\n return value + // @ts-ignore\n parseInt(css(elem, margins[0]), 10) + // @ts-ignore\n parseInt(css(elem, margins[1]), 10);\n}\n\nvar collapseStyles = (_collapseStyles = {}, _collapseStyles[EXITED] = 'collapse', _collapseStyles[EXITING] = 'collapsing', _collapseStyles[ENTERING] = 'collapsing', _collapseStyles[ENTERED] = 'collapse show', _collapseStyles);\nvar defaultProps = {\n in: false,\n timeout: 300,\n mountOnEnter: false,\n unmountOnExit: false,\n appear: false,\n getDimensionValue: getDefaultDimensionValue\n};\nvar Collapse = React.forwardRef(function (_ref, ref) {\n var onEnter = _ref.onEnter,\n onEntering = _ref.onEntering,\n onEntered = _ref.onEntered,\n onExit = _ref.onExit,\n onExiting = _ref.onExiting,\n className = _ref.className,\n children = _ref.children,\n _ref$dimension = _ref.dimension,\n dimension = _ref$dimension === void 0 ? 'height' : _ref$dimension,\n _ref$getDimensionValu = _ref.getDimensionValue,\n getDimensionValue = _ref$getDimensionValu === void 0 ? getDefaultDimensionValue : _ref$getDimensionValu,\n props = _objectWithoutPropertiesLoose(_ref, [\"onEnter\", \"onEntering\", \"onEntered\", \"onExit\", \"onExiting\", \"className\", \"children\", \"dimension\", \"getDimensionValue\"]);\n /* Compute dimension */\n\n\n var computedDimension = typeof dimension === 'function' ? dimension() : dimension;\n /* -- Expanding -- */\n\n var handleEnter = useMemo(function () {\n return createChainedFunction(function (elem) {\n elem.style[computedDimension] = '0';\n }, onEnter);\n }, [computedDimension, onEnter]);\n var handleEntering = useMemo(function () {\n return createChainedFunction(function (elem) {\n var scroll = \"scroll\" + computedDimension[0].toUpperCase() + computedDimension.slice(1);\n elem.style[computedDimension] = elem[scroll] + \"px\";\n }, onEntering);\n }, [computedDimension, onEntering]);\n var handleEntered = useMemo(function () {\n return createChainedFunction(function (elem) {\n elem.style[computedDimension] = null;\n }, onEntered);\n }, [computedDimension, onEntered]);\n /* -- Collapsing -- */\n\n var handleExit = useMemo(function () {\n return createChainedFunction(function (elem) {\n elem.style[computedDimension] = getDimensionValue(computedDimension, elem) + \"px\";\n triggerBrowserReflow(elem);\n }, onExit);\n }, [onExit, getDimensionValue, computedDimension]);\n var handleExiting = useMemo(function () {\n return createChainedFunction(function (elem) {\n elem.style[computedDimension] = null;\n }, onExiting);\n }, [computedDimension, onExiting]);\n return /*#__PURE__*/React.createElement(Transition // @ts-ignore\n , _extends({\n ref: ref,\n addEndListener: transitionEnd\n }, props, {\n \"aria-expanded\": props.role ? props.in : null,\n onEnter: handleEnter,\n onEntering: handleEntering,\n onEntered: handleEntered,\n onExit: handleExit,\n onExiting: handleExiting\n }), function (state, innerProps) {\n return React.cloneElement(children, _extends({}, innerProps, {\n className: classNames(className, children.props.className, collapseStyles[state], computedDimension === 'width' && 'width')\n }));\n });\n}); // @ts-ignore\n// @ts-ignore\n\nCollapse.defaultProps = defaultProps;\nexport default Collapse;","// reading a dimension prop will cause the browser to recalculate,\n// which will let our animations work\nexport default function triggerBrowserReflow(node) {\n // eslint-disable-next-line @typescript-eslint/no-unused-expressions\n node.offsetHeight;\n}","import React from 'react'; // TODO: check\n\nvar context = React.createContext(null);\ncontext.displayName = 'NavbarContext';\nexport default context;","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nimport React from 'react';\nimport Collapse from './Collapse';\nimport { useBootstrapPrefix } from './ThemeProvider';\nimport NavbarContext from './NavbarContext';\nvar NavbarCollapse = React.forwardRef(function (_ref, ref) {\n var children = _ref.children,\n bsPrefix = _ref.bsPrefix,\n props = _objectWithoutPropertiesLoose(_ref, [\"children\", \"bsPrefix\"]);\n\n bsPrefix = useBootstrapPrefix(bsPrefix, 'navbar-collapse');\n return /*#__PURE__*/React.createElement(NavbarContext.Consumer, null, function (context) {\n return /*#__PURE__*/React.createElement(Collapse, _extends({\n in: !!(context && context.expanded)\n }, props), /*#__PURE__*/React.createElement(\"div\", {\n ref: ref,\n className: bsPrefix\n }, children));\n });\n});\nNavbarCollapse.displayName = 'NavbarCollapse';\nexport default NavbarCollapse;","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nimport classNames from 'classnames';\nimport React, { useContext } from 'react';\nimport useEventCallback from '@restart/hooks/useEventCallback';\nimport { useBootstrapPrefix } from './ThemeProvider';\nimport NavbarContext from './NavbarContext';\nvar defaultProps = {\n label: 'Toggle navigation'\n};\nvar NavbarToggle = React.forwardRef(function (_ref, ref) {\n var bsPrefix = _ref.bsPrefix,\n className = _ref.className,\n children = _ref.children,\n label = _ref.label,\n _ref$as = _ref.as,\n Component = _ref$as === void 0 ? 'button' : _ref$as,\n onClick = _ref.onClick,\n props = _objectWithoutPropertiesLoose(_ref, [\"bsPrefix\", \"className\", \"children\", \"label\", \"as\", \"onClick\"]);\n\n bsPrefix = useBootstrapPrefix(bsPrefix, 'navbar-toggler');\n\n var _ref2 = useContext(NavbarContext) || {},\n onToggle = _ref2.onToggle,\n expanded = _ref2.expanded;\n\n var handleClick = useEventCallback(function (e) {\n if (onClick) onClick(e);\n if (onToggle) onToggle();\n });\n\n if (Component === 'button') {\n props.type = 'button';\n }\n\n return /*#__PURE__*/React.createElement(Component, _extends({}, props, {\n ref: ref,\n onClick: handleClick,\n \"aria-label\": label,\n className: classNames(className, bsPrefix, !expanded && 'collapsed')\n }), children || /*#__PURE__*/React.createElement(\"span\", {\n className: bsPrefix + \"-icon\"\n }));\n});\nNavbarToggle.displayName = 'NavbarToggle';\nNavbarToggle.defaultProps = defaultProps;\nexport default NavbarToggle;","import React from 'react'; // TODO (apparently this is a bare \"onSelect\"?)\n\nvar SelectableContext = React.createContext(null);\nexport var makeEventKey = function makeEventKey(eventKey, href) {\n if (href === void 0) {\n href = null;\n }\n\n if (eventKey != null) return String(eventKey);\n return href || null;\n};\nexport default SelectableContext;","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nimport classNames from 'classnames';\nimport React, { useCallback, useMemo } from 'react';\nimport { useUncontrolled } from 'uncontrollable';\nimport createWithBsPrefix from './createWithBsPrefix';\nimport NavbarBrand from './NavbarBrand';\nimport NavbarCollapse from './NavbarCollapse';\nimport NavbarToggle from './NavbarToggle';\nimport { useBootstrapPrefix } from './ThemeProvider';\nimport NavbarContext from './NavbarContext';\nimport SelectableContext from './SelectableContext';\nvar NavbarText = createWithBsPrefix('navbar-text', {\n Component: 'span'\n});\nvar defaultProps = {\n expand: true,\n variant: 'light',\n collapseOnSelect: false\n};\nvar Navbar = React.forwardRef(function (props, ref) {\n var _useUncontrolled = useUncontrolled(props, {\n expanded: 'onToggle'\n }),\n initialBsPrefix = _useUncontrolled.bsPrefix,\n expand = _useUncontrolled.expand,\n variant = _useUncontrolled.variant,\n bg = _useUncontrolled.bg,\n fixed = _useUncontrolled.fixed,\n sticky = _useUncontrolled.sticky,\n className = _useUncontrolled.className,\n children = _useUncontrolled.children,\n _useUncontrolled$as = _useUncontrolled.as,\n Component = _useUncontrolled$as === void 0 ? 'nav' : _useUncontrolled$as,\n expanded = _useUncontrolled.expanded,\n _onToggle = _useUncontrolled.onToggle,\n onSelect = _useUncontrolled.onSelect,\n collapseOnSelect = _useUncontrolled.collapseOnSelect,\n controlledProps = _objectWithoutPropertiesLoose(_useUncontrolled, [\"bsPrefix\", \"expand\", \"variant\", \"bg\", \"fixed\", \"sticky\", \"className\", \"children\", \"as\", \"expanded\", \"onToggle\", \"onSelect\", \"collapseOnSelect\"]);\n\n var bsPrefix = useBootstrapPrefix(initialBsPrefix, 'navbar');\n var handleCollapse = useCallback(function () {\n if (onSelect) onSelect.apply(void 0, arguments);\n\n if (collapseOnSelect && expanded) {\n if (_onToggle) {\n _onToggle(false);\n }\n }\n }, [onSelect, collapseOnSelect, expanded, _onToggle]); // will result in some false positives but that seems better\n // than false negatives. strict `undefined` check allows explicit\n // \"nulling\" of the role if the user really doesn't want one\n\n if (controlledProps.role === undefined && Component !== 'nav') {\n controlledProps.role = 'navigation';\n }\n\n var expandClass = bsPrefix + \"-expand\";\n if (typeof expand === 'string') expandClass = expandClass + \"-\" + expand;\n var navbarContext = useMemo(function () {\n return {\n onToggle: function onToggle() {\n return _onToggle && _onToggle(!expanded);\n },\n bsPrefix: bsPrefix,\n expanded: !!expanded\n };\n }, [bsPrefix, expanded, _onToggle]);\n return /*#__PURE__*/React.createElement(NavbarContext.Provider, {\n value: navbarContext\n }, /*#__PURE__*/React.createElement(SelectableContext.Provider, {\n value: handleCollapse\n }, /*#__PURE__*/React.createElement(Component, _extends({\n ref: ref\n }, controlledProps, {\n className: classNames(className, bsPrefix, expand && expandClass, variant && bsPrefix + \"-\" + variant, bg && \"bg-\" + bg, sticky && \"sticky-\" + sticky, fixed && \"fixed-\" + fixed)\n }), children)));\n});\nNavbar.defaultProps = defaultProps;\nNavbar.displayName = 'Navbar';\nNavbar.Brand = NavbarBrand;\nNavbar.Toggle = NavbarToggle;\nNavbar.Collapse = NavbarCollapse;\nNavbar.Text = NavbarText;\nexport default Navbar;","import React from 'react';\nvar context = React.createContext(null);\ncontext.displayName = 'CardContext';\nexport default context;","import React from 'react'; // TODO: check this\n\nvar NavContext = React.createContext(null);\nNavContext.displayName = 'NavContext';\nexport default NavContext;","import React from 'react';\nvar TabContext = React.createContext(null);\nexport default TabContext;","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nimport qsa from 'dom-helpers/querySelectorAll';\nimport React, { useContext, useEffect, useRef } from 'react';\nimport useForceUpdate from '@restart/hooks/useForceUpdate';\nimport useMergedRefs from '@restart/hooks/useMergedRefs';\nimport NavContext from './NavContext';\nimport SelectableContext, { makeEventKey } from './SelectableContext';\nimport TabContext from './TabContext'; // eslint-disable-next-line @typescript-eslint/no-empty-function\n\nvar noop = function noop() {};\n\nvar AbstractNav = React.forwardRef(function (_ref, ref) {\n var _ref$as = _ref.as,\n Component = _ref$as === void 0 ? 'ul' : _ref$as,\n onSelect = _ref.onSelect,\n activeKey = _ref.activeKey,\n role = _ref.role,\n onKeyDown = _ref.onKeyDown,\n props = _objectWithoutPropertiesLoose(_ref, [\"as\", \"onSelect\", \"activeKey\", \"role\", \"onKeyDown\"]); // A ref and forceUpdate for refocus, b/c we only want to trigger when needed\n // and don't want to reset the set in the effect\n\n\n var forceUpdate = useForceUpdate();\n var needsRefocusRef = useRef(false);\n var parentOnSelect = useContext(SelectableContext);\n var tabContext = useContext(TabContext);\n var getControlledId, getControllerId;\n\n if (tabContext) {\n role = role || 'tablist';\n activeKey = tabContext.activeKey;\n getControlledId = tabContext.getControlledId;\n getControllerId = tabContext.getControllerId;\n }\n\n var listNode = useRef(null);\n\n var getNextActiveChild = function getNextActiveChild(offset) {\n var currentListNode = listNode.current;\n if (!currentListNode) return null;\n var items = qsa(currentListNode, '[data-rb-event-key]:not(.disabled)');\n var activeChild = currentListNode.querySelector('.active');\n if (!activeChild) return null;\n var index = items.indexOf(activeChild);\n if (index === -1) return null;\n var nextIndex = index + offset;\n if (nextIndex >= items.length) nextIndex = 0;\n if (nextIndex < 0) nextIndex = items.length - 1;\n return items[nextIndex];\n };\n\n var handleSelect = function handleSelect(key, event) {\n if (key == null) return;\n if (onSelect) onSelect(key, event);\n if (parentOnSelect) parentOnSelect(key, event);\n };\n\n var handleKeyDown = function handleKeyDown(event) {\n if (onKeyDown) onKeyDown(event);\n var nextActiveChild;\n\n switch (event.key) {\n case 'ArrowLeft':\n case 'ArrowUp':\n nextActiveChild = getNextActiveChild(-1);\n break;\n\n case 'ArrowRight':\n case 'ArrowDown':\n nextActiveChild = getNextActiveChild(1);\n break;\n\n default:\n return;\n }\n\n if (!nextActiveChild) return;\n event.preventDefault();\n handleSelect(nextActiveChild.dataset.rbEventKey, event);\n needsRefocusRef.current = true;\n forceUpdate();\n };\n\n useEffect(function () {\n if (listNode.current && needsRefocusRef.current) {\n var activeChild = listNode.current.querySelector('[data-rb-event-key].active');\n if (activeChild) activeChild.focus();\n }\n\n needsRefocusRef.current = false;\n });\n var mergedRef = useMergedRefs(ref, listNode);\n return /*#__PURE__*/React.createElement(SelectableContext.Provider, {\n value: handleSelect\n }, /*#__PURE__*/React.createElement(NavContext.Provider, {\n value: {\n role: role,\n // used by NavLink to determine it's role\n activeKey: makeEventKey(activeKey),\n getControlledId: getControlledId || noop,\n getControllerId: getControllerId || noop\n }\n }, /*#__PURE__*/React.createElement(Component, _extends({}, props, {\n onKeyDown: handleKeyDown,\n ref: mergedRef,\n role: role\n }))));\n});\nexport default AbstractNav;","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nimport classNames from 'classnames';\nimport React from 'react';\nimport { useBootstrapPrefix } from './ThemeProvider';\nvar NavItem = React.forwardRef( // Need to define the default \"as\" during prop destructuring to be compatible with styled-components github.com/react-bootstrap/react-bootstrap/issues/3595\nfunction (_ref, ref) {\n var bsPrefix = _ref.bsPrefix,\n className = _ref.className,\n children = _ref.children,\n _ref$as = _ref.as,\n Component = _ref$as === void 0 ? 'div' : _ref$as,\n props = _objectWithoutPropertiesLoose(_ref, [\"bsPrefix\", \"className\", \"children\", \"as\"]);\n\n bsPrefix = useBootstrapPrefix(bsPrefix, 'nav-item');\n return /*#__PURE__*/React.createElement(Component, _extends({}, props, {\n ref: ref,\n className: classNames(className, bsPrefix)\n }), children);\n});\nNavItem.displayName = 'NavItem';\nexport default NavItem;","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nimport React from 'react';\nimport createChainedFunction from './createChainedFunction';\n\nfunction isTrivialHref(href) {\n return !href || href.trim() === '#';\n}\n/**\n * There are situations due to browser quirks or Bootstrap CSS where\n * an anchor tag is needed, when semantically a button tag is the\n * better choice. SafeAnchor ensures that when an anchor is used like a\n * button its accessible. It also emulates input `disabled` behavior for\n * links, which is usually desirable for Buttons, NavItems, DropdownItems, etc.\n */\n\n\nvar SafeAnchor = React.forwardRef(function (_ref, ref) {\n var _ref$as = _ref.as,\n Component = _ref$as === void 0 ? 'a' : _ref$as,\n disabled = _ref.disabled,\n onKeyDown = _ref.onKeyDown,\n props = _objectWithoutPropertiesLoose(_ref, [\"as\", \"disabled\", \"onKeyDown\"]);\n\n var handleClick = function handleClick(event) {\n var href = props.href,\n onClick = props.onClick;\n\n if (disabled || isTrivialHref(href)) {\n event.preventDefault();\n }\n\n if (disabled) {\n event.stopPropagation();\n return;\n }\n\n if (onClick) {\n onClick(event);\n }\n };\n\n var handleKeyDown = function handleKeyDown(event) {\n if (event.key === ' ') {\n event.preventDefault();\n handleClick(event);\n }\n };\n\n if (isTrivialHref(props.href)) {\n props.role = props.role || 'button'; // we want to make sure there is a href attribute on the node\n // otherwise, the cursor incorrectly styled (except with role='button')\n\n props.href = props.href || '#';\n }\n\n if (disabled) {\n props.tabIndex = -1;\n props['aria-disabled'] = true;\n }\n\n return /*#__PURE__*/React.createElement(Component, _extends({\n ref: ref\n }, props, {\n onClick: handleClick,\n onKeyDown: createChainedFunction(handleKeyDown, onKeyDown)\n }));\n});\nSafeAnchor.displayName = 'SafeAnchor';\nexport default SafeAnchor;","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nimport classNames from 'classnames';\nimport React, { useContext } from 'react';\nimport useEventCallback from '@restart/hooks/useEventCallback';\nimport warning from 'warning';\nimport NavContext from './NavContext';\nimport SelectableContext, { makeEventKey } from './SelectableContext';\nvar defaultProps = {\n disabled: false\n};\nvar AbstractNavItem = React.forwardRef(function (_ref, ref) {\n var active = _ref.active,\n className = _ref.className,\n eventKey = _ref.eventKey,\n onSelect = _ref.onSelect,\n onClick = _ref.onClick,\n Component = _ref.as,\n props = _objectWithoutPropertiesLoose(_ref, [\"active\", \"className\", \"eventKey\", \"onSelect\", \"onClick\", \"as\"]);\n\n var navKey = makeEventKey(eventKey, props.href);\n var parentOnSelect = useContext(SelectableContext);\n var navContext = useContext(NavContext);\n var isActive = active;\n\n if (navContext) {\n if (!props.role && navContext.role === 'tablist') props.role = 'tab';\n var contextControllerId = navContext.getControllerId(navKey);\n var contextControlledId = navContext.getControlledId(navKey);\n process.env.NODE_ENV !== \"production\" ? warning(!contextControllerId || !props.id, \"[react-bootstrap] The provided id '\" + props.id + \"' was overwritten by the current navContext with '\" + contextControllerId + \"'.\") : void 0;\n process.env.NODE_ENV !== \"production\" ? warning(!contextControlledId || !props['aria-controls'], \"[react-bootstrap] The provided aria-controls value '\" + props['aria-controls'] + \"' was overwritten by the current navContext with '\" + contextControlledId + \"'.\") : void 0;\n props['data-rb-event-key'] = navKey;\n props.id = contextControllerId || props.id;\n props['aria-controls'] = contextControlledId || props['aria-controls'];\n isActive = active == null && navKey != null ? navContext.activeKey === navKey : active;\n }\n\n if (props.role === 'tab') {\n props.tabIndex = isActive ? props.tabIndex : -1;\n props['aria-selected'] = isActive;\n }\n\n var handleOnclick = useEventCallback(function (e) {\n if (onClick) onClick(e);\n if (navKey == null) return;\n if (onSelect) onSelect(navKey, e);\n if (parentOnSelect) parentOnSelect(navKey, e);\n });\n return /*#__PURE__*/React.createElement(Component, _extends({}, props, {\n ref: ref,\n onClick: handleOnclick,\n className: classNames(className, isActive && 'active')\n }));\n});\nAbstractNavItem.defaultProps = defaultProps;\nexport default AbstractNavItem;","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nimport classNames from 'classnames';\nimport React from 'react';\nimport SafeAnchor from './SafeAnchor';\nimport AbstractNavItem from './AbstractNavItem';\nimport { useBootstrapPrefix } from './ThemeProvider';\nvar defaultProps = {\n disabled: false,\n as: SafeAnchor\n};\nvar NavLink = React.forwardRef(function (_ref, ref) {\n var bsPrefix = _ref.bsPrefix,\n disabled = _ref.disabled,\n className = _ref.className,\n href = _ref.href,\n eventKey = _ref.eventKey,\n onSelect = _ref.onSelect,\n as = _ref.as,\n props = _objectWithoutPropertiesLoose(_ref, [\"bsPrefix\", \"disabled\", \"className\", \"href\", \"eventKey\", \"onSelect\", \"as\"]);\n\n bsPrefix = useBootstrapPrefix(bsPrefix, 'nav-link');\n return /*#__PURE__*/React.createElement(AbstractNavItem, _extends({}, props, {\n href: href,\n ref: ref,\n eventKey: eventKey,\n as: as,\n disabled: disabled,\n onSelect: onSelect,\n className: classNames(className, bsPrefix, disabled && 'disabled')\n }));\n});\nNavLink.displayName = 'NavLink';\nNavLink.defaultProps = defaultProps;\nexport default NavLink;","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nimport classNames from 'classnames';\nimport all from 'prop-types-extra/lib/all';\nimport React, { useContext } from 'react';\nimport { useUncontrolled } from 'uncontrollable';\nimport { useBootstrapPrefix } from './ThemeProvider';\nimport NavbarContext from './NavbarContext';\nimport CardContext from './CardContext';\nimport AbstractNav from './AbstractNav';\nimport NavItem from './NavItem';\nimport NavLink from './NavLink';\nvar defaultProps = {\n justify: false,\n fill: false\n};\nvar Nav = React.forwardRef(function (uncontrolledProps, ref) {\n var _classNames;\n\n var _useUncontrolled = useUncontrolled(uncontrolledProps, {\n activeKey: 'onSelect'\n }),\n _useUncontrolled$as = _useUncontrolled.as,\n as = _useUncontrolled$as === void 0 ? 'div' : _useUncontrolled$as,\n initialBsPrefix = _useUncontrolled.bsPrefix,\n variant = _useUncontrolled.variant,\n fill = _useUncontrolled.fill,\n justify = _useUncontrolled.justify,\n navbar = _useUncontrolled.navbar,\n className = _useUncontrolled.className,\n children = _useUncontrolled.children,\n activeKey = _useUncontrolled.activeKey,\n props = _objectWithoutPropertiesLoose(_useUncontrolled, [\"as\", \"bsPrefix\", \"variant\", \"fill\", \"justify\", \"navbar\", \"className\", \"children\", \"activeKey\"]);\n\n var bsPrefix = useBootstrapPrefix(initialBsPrefix, 'nav');\n var navbarBsPrefix;\n var cardHeaderBsPrefix;\n var isNavbar = false;\n var navbarContext = useContext(NavbarContext);\n var cardContext = useContext(CardContext);\n\n if (navbarContext) {\n navbarBsPrefix = navbarContext.bsPrefix;\n isNavbar = navbar == null ? true : navbar;\n } else if (cardContext) {\n cardHeaderBsPrefix = cardContext.cardHeaderBsPrefix;\n }\n\n return /*#__PURE__*/React.createElement(AbstractNav, _extends({\n as: as,\n ref: ref,\n activeKey: activeKey,\n className: classNames(className, (_classNames = {}, _classNames[bsPrefix] = !isNavbar, _classNames[navbarBsPrefix + \"-nav\"] = isNavbar, _classNames[cardHeaderBsPrefix + \"-\" + variant] = !!cardHeaderBsPrefix, _classNames[bsPrefix + \"-\" + variant] = !!variant, _classNames[bsPrefix + \"-fill\"] = fill, _classNames[bsPrefix + \"-justified\"] = justify, _classNames))\n }, props), children);\n});\nNav.displayName = 'Nav';\nNav.defaultProps = defaultProps;\nNav.Item = NavItem;\nNav.Link = NavLink;\nexport default Nav;","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nimport classNames from 'classnames';\nimport React from 'react';\nimport { useBootstrapPrefix } from './ThemeProvider';\nimport SafeAnchor from './SafeAnchor';\nvar defaultProps = {\n variant: 'primary',\n active: false,\n disabled: false\n};\nvar Button = React.forwardRef(function (_ref, ref) {\n var bsPrefix = _ref.bsPrefix,\n variant = _ref.variant,\n size = _ref.size,\n active = _ref.active,\n className = _ref.className,\n block = _ref.block,\n type = _ref.type,\n as = _ref.as,\n props = _objectWithoutPropertiesLoose(_ref, [\"bsPrefix\", \"variant\", \"size\", \"active\", \"className\", \"block\", \"type\", \"as\"]);\n\n var prefix = useBootstrapPrefix(bsPrefix, 'btn');\n var classes = classNames(className, prefix, active && 'active', prefix + \"-\" + variant, block && prefix + \"-block\", size && prefix + \"-\" + size);\n\n if (props.href) {\n return /*#__PURE__*/React.createElement(SafeAnchor, _extends({}, props, {\n as: as,\n ref: ref,\n className: classNames(classes, props.disabled && 'disabled')\n }));\n }\n\n if (ref) {\n props.ref = ref;\n }\n\n if (type) {\n props.type = type;\n } else if (!as) {\n props.type = 'button';\n }\n\n var Component = as || 'button';\n return /*#__PURE__*/React.createElement(Component, _extends({}, props, {\n className: classes\n }));\n});\nButton.displayName = 'Button';\nButton.defaultProps = defaultProps;\nexport default Button;","import React from \"react\"\nimport { graphql } from \"gatsby\"\nimport Img from \"gatsby-image\"\nimport Carousel from \"react-bootstrap/Carousel\"\n\nimport \"../styles/styles.scss\"\nimport msPartnerAnimated from \"../images/ms-partner-animated.gif\"\n\nimport SEO from \"../components/seo\"\nimport { Button, Container, Nav, Navbar } from \"react-bootstrap\"\nimport BackgroundImage from \"gatsby-background-image\"\nimport \"typeface-raleway\"\n\nconst IndexPage = ({ data }) => (\n \n \n\n \n \n \n \n \n \n\n \n

\n Build the best solutions.\n
\n Build for the future.\n

\n

We help businesses get the most out of their data assets.

\n \n\n \n \n
\n

Data solutions that deliver.

\n

\n You need to know that you're getting the maximum value possible out of\n your data systems. We build solutions completely tailored to your\n goals that ensure ROI.\n

\n

Our specialist services include:

\n
    \n
  • Microsoft data platforms (SQL Server)
  • \n
  • Consultancy & troubleshooting
  • \n
  • System integrations
  • \n
  • Migrations & upgrades
  • \n
  • Collaboration & support
  • \n
\n
\n \n\n {/*
*/}\n {/*
*/}\n {/* */}{/* */}\n {/* */}\n {/*
*/}\n {/* */}{/*
*/}{/*\n */}{/*
*/}{/*\n */}{/* We've got time back to focus on the important things.*/}{/*\n */}{/* John Smith, Company & Company*/}{/*\n */}{/*
*/}{/*\n */}{/*

*/}{/*\n */}{/* */}{/*\n */}{/* More testimonials*/}{/*\n */}{/* */}{/*\n */}{/*

*/}{/*\n */}{/*
*/}\n {/*
*/}\n\n {/*
\n \n \n
\n \n Lorem ipsum dolor sit amet, consectetur adipiscing elit.\n Vestibulum viverra ac orci sit amet mattis. Maecenas rutrum\n ultricies ultrices. Duis eu quam ipsum. Mauris eu tincidunt felis.\n Aliquam ac libero sollicitudin, facilisis augue et, tempus quam.\n \n \n Lorem ipsum dolor sit amet, consectetur adipiscing elit.{\" \"}\n \n
\n \n
\n \n
\n \n Lorem ipsum dolor sit amet, consectetur adipiscing elit.\n Vestibulum viverra ac orci sit amet mattis. Maecenas rutrum\n ultricies ultrices. Duis eu quam ipsum. Mauris eu tincidunt felis.\n Aliquam ac libero sollicitudin, facilisis augue et, tempus quam.\n \n \n Lorem ipsum dolor sit amet, consectetur adipiscing elit.{\" \"}\n \n
\n \n
\n \n
\n \n Lorem ipsum dolor sit amet, consectetur adipiscing elit.\n Vestibulum viverra ac orci sit amet mattis. Maecenas rutrum\n ultricies ultrices. Duis eu quam ipsum. Mauris eu tincidunt felis.\n Aliquam ac libero sollicitudin, facilisis augue et, tempus quam.\n \n \n Lorem ipsum dolor sit amet, consectetur adipiscing elit.{\" \"}\n \n
\n \n
\n
\n
*/}\n\n
\n
\n

\n The\n
Syswright\n
Promise\n

\n

\n Our services offer more than just a quick fix to an immediate problem\n – we build for the future, always.​\n

\n\n \n
\n
\n

\n With better data management, companies can recover and redeploy up to\n 35% of their spend.​\n

\n

\n Source:{\" \"}\n \n McKinsey\n \n

\n
\n
\n\n
\n

\n Leverage your digital power. ​ Focus on what's important with data\n solutions that maximise your opportunities and return on investment.​\n

\n\n
\n
\n

Optimise insights and performance​

\n
\n \n
\n
\n\n
\n

Improve analytics and intelligence​

\n
\n \n
\n
\n\n
\n

Connect, integrate and grow​

\n
\n \n
\n
\n
\n
\n\n
\n
\n

About Us

\n

\n For more than 15 years, Syswright has been working with clients to\n solve data and technology challenges, from consultancy and\n troubleshooting to systems integrations, migrations and\n enterprise-level data strategy. We care about building the best\n solutions, and we care about building for the future.​\n

\n \n
\n
\n

Contact

\n
\n \n Find us on LinkedIn\n
\n \n info@syswright.co.uk\n \n
\n Syswright Limited,
\n 4 Station Cottages,
\n Craig Close,
\n Crowhurst,
\n Battle,
\n TN33 9DE,
\n United Kingdom\n
\n

+44 1892 342910

\n

\n \n Terms and Conditions\n \n

\n

Copyright © {new Date().getFullYear()} - All Rights Reserved

\n
\n
\n
\n)\n\nexport default IndexPage\n\n// export const currentYear = new Date().getFullYear()\nexport const query = graphql`\n query {\n logo: file(relativePath: { eq: \"logo-with-text.png\" }) {\n childImageSharp {\n fixed(height: 60) {\n ...GatsbyImageSharpFixed_withWebp\n }\n }\n }\n\n logoBlackAndWhite: file(\n relativePath: { eq: \"logo-with-text-black-and-white.png\" }\n ) {\n childImageSharp {\n fixed(height: 60) {\n ...GatsbyImageSharpFixed_withWebp\n }\n }\n }\n\n linkedInIcon: file(relativePath: { eq: \"linked-in-icon.png\" }) {\n childImageSharp {\n fixed(height: 50, width: 50) {\n ...GatsbyImageSharpFixed_withWebp\n }\n }\n }\n\n hero: file(relativePath: { eq: \"brooke-cagle.png\" }) {\n childImageSharp {\n fluid(maxWidth: 1920) {\n ...GatsbyImageSharpFluid_withWebp\n }\n }\n }\n\n blueGeometric: file(relativePath: { eq: \"blue-geometric-background.jpg\" }) {\n childImageSharp {\n fluid(maxWidth: 1920) {\n ...GatsbyImageSharpFluid_withWebp\n }\n }\n }\n\n dbIcon: file(relativePath: { eq: \"db-icon.png\" }) {\n childImageSharp {\n fluid(maxWidth: 800) {\n ...GatsbyImageSharpFluid_withWebp\n }\n }\n }\n\n rnidLogo: file(relativePath: { eq: \"rnid-logo.png\" }) {\n childImageSharp {\n fluid(maxWidth: 800) {\n ...GatsbyImageSharpFluid_withWebp\n }\n }\n }\n\n saveTheChildrenLogo: file(\n relativePath: { eq: \"save-the-children-logo.png\" }\n ) {\n childImageSharp {\n fluid(maxWidth: 800) {\n ...GatsbyImageSharpFluid_withWebp\n }\n }\n }\n\n catsProtectionLogo: file(relativePath: { eq: \"cats-protection-logo.png\" }) {\n childImageSharp {\n fluid(maxWidth: 800) {\n ...GatsbyImageSharpFluid_withWebp\n }\n }\n }\n\n telescopeIcon: file(relativePath: { eq: \"telescope-icon.png\" }) {\n childImageSharp {\n fluid(maxWidth: 800) {\n ...GatsbyImageSharpFluid_withWebp\n }\n }\n }\n\n cloudIcon: file(relativePath: { eq: \"cloud-icon.png\" }) {\n childImageSharp {\n fluid(maxWidth: 400) {\n ...GatsbyImageSharpFluid_withWebp\n }\n }\n }\n\n productivityIcon: file(relativePath: { eq: \"productivity-icon.png\" }) {\n childImageSharp {\n fluid(maxWidth: 400) {\n ...GatsbyImageSharpFluid_withWebp\n }\n }\n }\n\n reportingIcon: file(relativePath: { eq: \"reporting-icon.png\" }) {\n childImageSharp {\n fluid(maxWidth: 400) {\n ...GatsbyImageSharpFluid_withWebp\n }\n }\n }\n\n msPartner: file(relativePath: { eq: \"ms-partner.png\" }) {\n childImageSharp {\n fluid(maxWidth: 800) {\n ...GatsbyImageSharpFluid_withWebp\n }\n }\n }\n\n msPartnerLarge: file(relativePath: { eq: \"ms-partner-large.png\" }) {\n childImageSharp {\n fluid(maxWidth: 800) {\n ...GatsbyImageSharpFluid_withWebp\n }\n }\n }\n }\n`\n","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = filterInvalidDOMProps;\n\nvar _htmlAttributes = require(\"html-attributes\");\n\nvar _htmlAttributes2 = _interopRequireDefault(_htmlAttributes);\n\nfunction _interopRequireDefault(obj) {\n return obj && obj.__esModule ? obj : {\n default: obj\n };\n}\n\nvar eventProps = {\n onCopy: true,\n onCut: true,\n onPaste: true,\n onLoad: true,\n onError: true,\n onWheel: true,\n onScroll: true,\n onCompositionEnd: true,\n onCompositionStart: true,\n onCompositionUpdate: true,\n onKeyDown: true,\n onKeyPress: true,\n onKeyUp: true,\n onFocus: true,\n onBlur: true,\n onChange: true,\n onInput: true,\n onSubmit: true,\n onClick: true,\n onContextMenu: true,\n onDoubleClick: true,\n onDrag: true,\n onDragEnd: true,\n onDragEnter: true,\n onDragExit: true,\n onDragLeave: true,\n onDragOver: true,\n onDragStart: true,\n onDrop: true,\n onMouseDown: true,\n onMouseEnter: true,\n onMouseLeave: true,\n onMouseMove: true,\n onMouseOut: true,\n onMouseOver: true,\n onMouseUp: true,\n onSelect: true,\n onTouchCancel: true,\n onTouchEnd: true,\n onTouchMove: true,\n onTouchStart: true,\n onAnimationStart: true,\n onAnimationEnd: true,\n onAnimationIteration: true,\n onTransitionEnd: true\n};\n\nfunction isValidDOMProp(prop) {\n return eventProps[prop] || _htmlAttributes2.default[prop] || /^(data|aria)-/.test(prop);\n}\n\nfunction filterInvalidDOMProps(props) {\n var domProps = {};\n\n for (var prop in props) {\n if (props.hasOwnProperty(prop) && isValidDOMProp(prop)) {\n domProps[prop] = props[prop];\n }\n }\n\n return domProps;\n}","export default !!(typeof window !== 'undefined' && window.document && window.document.createElement);","/*!\n Copyright (c) 2017 Jed Watson.\n Licensed under the MIT License (MIT), see\n http://jedwatson.github.io/classnames\n*/\n\n/* global define */\n(function () {\n 'use strict';\n\n var hasOwn = {}.hasOwnProperty;\n\n function classNames() {\n var classes = [];\n\n for (var i = 0; i < arguments.length; i++) {\n var arg = arguments[i];\n if (!arg) continue;\n var argType = typeof arg;\n\n if (argType === 'string' || argType === 'number') {\n classes.push(arg);\n } else if (Array.isArray(arg) && arg.length) {\n var inner = classNames.apply(null, arg);\n\n if (inner) {\n classes.push(inner);\n }\n } else if (argType === 'object') {\n for (var key in arg) {\n if (hasOwn.call(arg, key) && arg[key]) {\n classes.push(key);\n }\n }\n }\n }\n\n return classes.join(' ');\n }\n\n if (typeof module !== 'undefined' && module.exports) {\n classNames.default = classNames;\n module.exports = classNames;\n } else if (typeof define === 'function' && typeof define.amd === 'object' && define.amd) {\n // register as 'classnames', consistent with npm package name\n define('classnames', [], function () {\n return classNames;\n });\n } else {\n window.classNames = classNames;\n }\n})();","module.exports = extend;\nvar hasOwnProperty = Object.prototype.hasOwnProperty;\n\nfunction extend() {\n var target = {};\n\n for (var i = 0; i < arguments.length; i++) {\n var source = arguments[i];\n\n for (var key in source) {\n if (hasOwnProperty.call(source, key)) {\n target[key] = source[key];\n }\n }\n }\n\n return target;\n}","'use strict';\n/**\n * Converter\n *\n * @param {string|Array} srcAlphabet\n * @param {string|Array} dstAlphabet\n * @constructor\n */\n\nfunction Converter(srcAlphabet, dstAlphabet) {\n if (!srcAlphabet || !dstAlphabet || !srcAlphabet.length || !dstAlphabet.length) {\n throw new Error('Bad alphabet');\n }\n\n this.srcAlphabet = srcAlphabet;\n this.dstAlphabet = dstAlphabet;\n}\n/**\n * Convert number from source alphabet to destination alphabet\n *\n * @param {string|Array} number - number represented as a string or array of points\n *\n * @returns {string|Array}\n */\n\n\nConverter.prototype.convert = function (number) {\n var i,\n divide,\n newlen,\n numberMap = {},\n fromBase = this.srcAlphabet.length,\n toBase = this.dstAlphabet.length,\n length = number.length,\n result = typeof number === 'string' ? '' : [];\n\n if (!this.isValid(number)) {\n throw new Error('Number \"' + number + '\" contains of non-alphabetic digits (' + this.srcAlphabet + ')');\n }\n\n if (this.srcAlphabet === this.dstAlphabet) {\n return number;\n }\n\n for (i = 0; i < length; i++) {\n numberMap[i] = this.srcAlphabet.indexOf(number[i]);\n }\n\n do {\n divide = 0;\n newlen = 0;\n\n for (i = 0; i < length; i++) {\n divide = divide * fromBase + numberMap[i];\n\n if (divide >= toBase) {\n numberMap[newlen++] = parseInt(divide / toBase, 10);\n divide = divide % toBase;\n } else if (newlen > 0) {\n numberMap[newlen++] = 0;\n }\n }\n\n length = newlen;\n result = this.dstAlphabet.slice(divide, divide + 1).concat(result);\n } while (newlen !== 0);\n\n return result;\n};\n/**\n * Valid number with source alphabet\n *\n * @param {number} number\n *\n * @returns {boolean}\n */\n\n\nConverter.prototype.isValid = function (number) {\n var i = 0;\n\n for (; i < number.length; ++i) {\n if (this.srcAlphabet.indexOf(number[i]) === -1) {\n return false;\n }\n }\n\n return true;\n};\n\nmodule.exports = Converter;","import { useReducer } from 'react';\n/**\n * Returns a function that triggers a component update. the hook equivalent to\n * `this.forceUpdate()` in a class component. In most cases using a state value directly\n * is preferable but may be required in some advanced usages of refs for interop or\n * when direct DOM manipulation is required.\n *\n * ```ts\n * const forceUpdate = useForceUpdate();\n *\n * const updateOnClick = useCallback(() => {\n * forceUpdate()\n * }, [forceUpdate])\n *\n * return \n * ```\n */\n\nexport default function useForceUpdate() {\n // The toggling state value is designed to defeat React optimizations for skipping\n // updates when they are stricting equal to the last state value\n var _useReducer = useReducer(function (state) {\n return !state;\n }, false),\n dispatch = _useReducer[1];\n\n return dispatch;\n}","\"use strict\";\n\nexports.__esModule = true;\nexports.resetComponentClassCache = exports.activateCacheForComponentClass = exports.inComponentClassCache = void 0;\nvar componentClassCache = Object.create({});\n\nvar inComponentClassCache = function inComponentClassCache(className) {\n return componentClassCache[className] || false;\n};\n\nexports.inComponentClassCache = inComponentClassCache;\n\nvar activateCacheForComponentClass = function activateCacheForComponentClass(className) {\n if (className) {\n componentClassCache[className] = true;\n }\n};\n\nexports.activateCacheForComponentClass = activateCacheForComponentClass;\n\nvar resetComponentClassCache = function resetComponentClassCache() {\n for (var className in componentClassCache) {\n delete componentClassCache[className];\n }\n};\n\nexports.resetComponentClassCache = resetComponentClassCache;","import { useEffect, useRef } from 'react';\n/**\n * Creates a `Ref` whose value is updated in an effect, ensuring the most recent\n * value is the one rendered with. Generally only required for Concurrent mode usage\n * where previous work in `render()` may be discarded befor being used.\n *\n * This is safe to access in an event handler.\n *\n * @param value The `Ref` value\n */\n\nfunction useCommittedRef(value) {\n var ref = useRef(value);\n useEffect(function () {\n ref.current = value;\n }, [value]);\n return ref;\n}\n\nexport default useCommittedRef;","import { useCallback } from 'react';\nimport useCommittedRef from './useCommittedRef';\nexport default function useEventCallback(fn) {\n var ref = useCommittedRef(fn);\n return useCallback(function () {\n return ref.current && ref.current.apply(ref, arguments);\n }, [ref]);\n}","var toArray = Function.prototype.bind.call(Function.prototype.call, [].slice);\nexport default function qsa(element, selector) {\n return toArray(element.querySelectorAll(selector));\n}","/* global Map:readonly, Set:readonly, ArrayBuffer:readonly */\nvar hasElementType = typeof Element !== 'undefined';\nvar hasMap = typeof Map === 'function';\nvar hasSet = typeof Set === 'function';\nvar hasArrayBuffer = typeof ArrayBuffer === 'function' && !!ArrayBuffer.isView; // Note: We **don't** need `envHasBigInt64Array` in fde es6/index.js\n\nfunction equal(a, b) {\n // START: fast-deep-equal es6/index.js 3.1.1\n if (a === b) return true;\n\n if (a && b && typeof a == 'object' && typeof b == 'object') {\n if (a.constructor !== b.constructor) return false;\n var length, i, keys;\n\n if (Array.isArray(a)) {\n length = a.length;\n if (length != b.length) return false;\n\n for (i = length; i-- !== 0;) {\n if (!equal(a[i], b[i])) return false;\n }\n\n return true;\n } // START: Modifications:\n // 1. Extra `has &&` helpers in initial condition allow es6 code\n // to co-exist with es5.\n // 2. Replace `for of` with es5 compliant iteration using `for`.\n // Basically, take:\n //\n // ```js\n // for (i of a.entries())\n // if (!b.has(i[0])) return false;\n // ```\n //\n // ... and convert to:\n //\n // ```js\n // it = a.entries();\n // while (!(i = it.next()).done)\n // if (!b.has(i.value[0])) return false;\n // ```\n //\n // **Note**: `i` access switches to `i.value`.\n\n\n var it;\n\n if (hasMap && a instanceof Map && b instanceof Map) {\n if (a.size !== b.size) return false;\n it = a.entries();\n\n while (!(i = it.next()).done) {\n if (!b.has(i.value[0])) return false;\n }\n\n it = a.entries();\n\n while (!(i = it.next()).done) {\n if (!equal(i.value[1], b.get(i.value[0]))) return false;\n }\n\n return true;\n }\n\n if (hasSet && a instanceof Set && b instanceof Set) {\n if (a.size !== b.size) return false;\n it = a.entries();\n\n while (!(i = it.next()).done) {\n if (!b.has(i.value[0])) return false;\n }\n\n return true;\n } // END: Modifications\n\n\n if (hasArrayBuffer && ArrayBuffer.isView(a) && ArrayBuffer.isView(b)) {\n length = a.length;\n if (length != b.length) return false;\n\n for (i = length; i-- !== 0;) {\n if (a[i] !== b[i]) return false;\n }\n\n return true;\n }\n\n if (a.constructor === RegExp) return a.source === b.source && a.flags === b.flags;\n if (a.valueOf !== Object.prototype.valueOf) return a.valueOf() === b.valueOf();\n if (a.toString !== Object.prototype.toString) return a.toString() === b.toString();\n keys = Object.keys(a);\n length = keys.length;\n if (length !== Object.keys(b).length) return false;\n\n for (i = length; i-- !== 0;) {\n if (!Object.prototype.hasOwnProperty.call(b, keys[i])) return false;\n } // END: fast-deep-equal\n // START: react-fast-compare\n // custom handling for DOM elements\n\n\n if (hasElementType && a instanceof Element) return false; // custom handling for React/Preact\n\n for (i = length; i-- !== 0;) {\n if ((keys[i] === '_owner' || keys[i] === '__v' || keys[i] === '__o') && a.$$typeof) {\n // React-specific: avoid traversing React elements' _owner\n // Preact-specific: avoid traversing Preact elements' __v and __o\n // __v = $_original / $_vnode\n // __o = $_owner\n // These properties contain circular references and are not needed when\n // comparing the actual elements (and not their owners)\n // .$$typeof and ._store on just reasonable markers of elements\n continue;\n } // all other properties should be traversed as usual\n\n\n if (!equal(a[keys[i]], b[keys[i]])) return false;\n } // END: react-fast-compare\n // START: fast-deep-equal\n\n\n return true;\n }\n\n return a !== a && b !== b;\n} // end fast-deep-equal\n\n\nmodule.exports = function isEqual(a, b) {\n try {\n return equal(a, b);\n } catch (error) {\n if ((error.message || '').match(/stack|recursion/i)) {\n // warn on circular references, don't crash\n // browsers give this different errors name and messages:\n // chrome/safari: \"RangeError\", \"Maximum call stack size exceeded\"\n // firefox: \"InternalError\", too much recursion\"\n // edge: \"Error\", \"Out of stack space\"\n console.warn('react-fast-compare cannot handle circular refs');\n return false;\n } // some other error. we should definitely know about these\n\n\n throw error;\n }\n};","var extend = require('xtend');\n\nvar mqTypes = ['blank', 'all', 'minWidth', 'minHeight', 'maxWidth', 'maxHeight', 'print'];\n/**\n * @param {Array} rules\n * @param {String} type\n * @param {String} prop\n *\n * @return {Boolean}\n */\n\nfunction itemsValid(rules, type, prop) {\n var flag = true;\n\n for (var i = 0, rulesLength = rules.length; i < rulesLength; i++) {\n if (typeof rules[i] !== type || prop && !rules[i].hasOwnProperty(prop)) {\n flag = false;\n break;\n }\n }\n\n return flag;\n}\n/**\n * @param {Array} rules\n * @param {String} type\n * @param {String} prop\n *\n * @return {Boolean}\n */\n\n\nfunction allValid(rules, type, prop) {\n if (!rules || !rules.length || typeof rules === 'string') {\n return 'none';\n }\n\n if (type === 'object' && (!prop || typeof prop !== 'string') || !itemsValid(rules, type, prop)) {\n return 'some';\n }\n\n return 'all';\n}\n/**\n * Normalize between array with strings and array with objects\n *\n * @param {Array} rules\n * @param {String} type\n * @param {String} prop\n *\n * @return {Object}\n */\n\n\nfunction prepareRules(rules, type, prop) {\n var collection = [];\n var o = {};\n\n for (var i = 0, rulesLength = rules.length; i < rulesLength; i++) {\n if (type === 'string') {\n o = extend({}, {\n __media: rules[i]\n });\n } else {\n o = extend({}, rules[i]);\n o.__media = rules[i][prop];\n }\n\n collection.push(o);\n }\n\n return collection;\n}\n/**\n * @param {Boolean} isMax\n *\n * @return {Function}\n */\n\n\nfunction determineSortOrder(isMax) {\n /**\n * Determine sort order based on provided arguments\n *\n * @param {Object} a\n * @param {Object} b\n *\n * @return {Integer}\n */\n return function (a, b) {\n var sortValA = a.sortVal;\n var sortValB = b.sortVal;\n var ruleA = a.item.__media;\n var ruleB = b.item.__media;\n isMax = typeof isMax !== 'undefined' ? isMax : false; // Consider print for sorting if sortVals are equal\n\n if (sortValA === sortValB) {\n if (ruleA.match(/print/)) {\n // a contains print and should be sorted after b\n return 1;\n }\n\n if (ruleB.match(/print/)) {\n // b contains print and should be sorted after a\n return -1;\n }\n } // Return descending sort order for max-(width|height) media queries\n\n\n if (isMax) {\n return sortValB - sortValA;\n } // Return ascending sort order\n\n\n return sortValA - sortValB;\n };\n}\n/**\n * @return {Object}\n */\n\n\nfunction createCollection() {\n var mqCollection = {};\n\n for (var i = 0, mqTypesLength = mqTypes.length; i < mqTypesLength; i++) {\n mqCollection[mqTypes[i]] = [];\n }\n\n return mqCollection;\n}\n/**\n * @param {Object} collection\n * @param {Array} rules\n *\n * @return {Object}\n */\n\n\nfunction addRulesToCollection(collection, rules) {\n // Sort media queries by kind, this is needed to output them in the right order\n for (var i = 0, rulesLength = rules.length; i < rulesLength; i++) {\n var item = rules[i];\n var rule = item.__media;\n var collectionType = 'blank';\n var valMatch = rule.match(/\\d+/g);\n\n if (rule.match(/min-width/)) {\n collectionType = 'minWidth';\n } else if (rule.match(/min-height/)) {\n collectionType = 'minHeight';\n } else if (rule.match(/max-width/)) {\n collectionType = 'maxWidth';\n } else if (rule.match(/max-height/)) {\n collectionType = 'maxHeight';\n } else if (rule.match(/print/)) {\n collectionType = 'print';\n } else if (rule.match(/all/)) {\n collectionType = 'all';\n }\n\n collection[collectionType].push({\n item: item,\n sortVal: valMatch ? valMatch[0] : 0\n });\n }\n\n return collection;\n}\n/**\n * @param {Object} collection\n *\n * @return {Object}\n */\n\n\nfunction sortCollection(collection) {\n var sorter;\n\n for (var collectionType in collection) {\n if (collection.hasOwnProperty(collectionType)) {\n sorter = determineSortOrder(false);\n\n if (collectionType === 'maxWidth' || collectionType === 'maxHeight') {\n sorter = determineSortOrder(true);\n }\n\n collection[collectionType].sort(sorter);\n }\n }\n\n return collection;\n}\n/**\n * @param {Object} collection\n * @param {String} type\n * @param {String} prop\n *\n * @return {Array}\n */\n\n\nfunction transformCollection(collection, type, prop) {\n var transformed = [];\n var collectionItem;\n\n function iterateCollectionItem(collectionItem) {\n var resultVal;\n\n for (var i = 0, typeLength = collectionItem.length; i < typeLength; i++) {\n if (type === 'string') {\n resultVal = collectionItem[i].item.__media;\n } else {\n resultVal = collectionItem[i].item;\n delete resultVal.__media;\n }\n\n transformed.push(resultVal);\n }\n }\n\n for (var i = 0, mqTypesLength = mqTypes.length; i < mqTypesLength; i++) {\n iterateCollectionItem(collection[mqTypes[i]]);\n }\n\n return transformed;\n}\n/**\n * @param {Array} rules\n * @param {String} type\n * @param {String} prop\n *\n * @return {Array}\n */\n\n\nfunction sortInit(rules, type, prop) {\n switch (allValid(rules, type, prop)) {\n case 'none':\n return [];\n\n case 'some':\n return rules;\n }\n\n var collection = createCollection();\n rules = prepareRules(rules, type, prop);\n addRulesToCollection(collection, rules);\n sortCollection(collection);\n return transformCollection(collection, type, prop);\n}\n/**\n * @param {Array} rules\n * @param {String} prop\n *\n * @return {Array}\n */\n\n\nmodule.exports = function (rules, prop) {\n if (rules) {\n if (prop) {\n return sortInit(rules, 'object', prop);\n }\n\n return sortInit(rules, 'string');\n }\n\n return [];\n};","module.exports = __webpack_public_path__ + \"static/ms-partner-animated-d230167acda29843b148d362ea9516d9.gif\";","export default function ownerDocument(node) {\n return node && node.ownerDocument || document;\n}","/**\n * Created by Samuel on 6/4/2016.\n * Simple wrapper functions to produce shorter UUIDs for cookies, maybe everything?\n */\nvar anyBase = require('any-base');\n\nvar uuidV4 = require('uuid/v4');\n\nvar flickrBase58 = '123456789abcdefghijkmnopqrstuvwxyzABCDEFGHJKLMNPQRSTUVWXYZ';\nvar cookieBase90 = \"0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ!#$%&'()*+-./:<=>?@[]^_`{|}~\";\nvar toFlickr;\n/**\n * Takes a UUID, strips the dashes, and translates.\n * @param {string} longId\n * @param {function(string)} translator\n * @returns {string}\n */\n\nfunction shortenUUID(longId, translator) {\n return translator(longId.toLowerCase().replace(/-/g, ''));\n}\n/**\n * Translate back to hex and turn back into UUID format, with dashes\n * @param {string} shortId\n * @param {function(string)} translator\n * @returns {string}\n */\n\n\nfunction enlargeUUID(shortId, translator) {\n var uu1 = translator(shortId);\n var leftPad = \"\";\n var m; // Pad out UUIDs beginning with zeros (any number shorter than 32 characters of hex)\n\n for (var i = 0, len = 32 - uu1.length; i < len; ++i) {\n leftPad += \"0\";\n } // Join the zero padding and the UUID and then slice it up with match\n\n\n m = (leftPad + uu1).match(/(\\w{8})(\\w{4})(\\w{4})(\\w{4})(\\w{12})/); // Accumulate the matches and join them.\n\n return [m[1], m[2], m[3], m[4], m[5]].join('-');\n}\n\nmodule.exports = function () {\n /**\n * @constructor\n * @param {string?} toAlphabet - Defaults to flickrBase58 if not provided\n * @returns {{new: (function()),\n * uuid: (function()),\n * fromUUID: (function(string)),\n * toUUID: (function(string)),\n * alphabet: (string)}}\n */\n function MakeConvertor(toAlphabet) {\n // Default to Flickr 58\n var useAlphabet = toAlphabet || flickrBase58; // UUIDs are in hex, so we translate to and from.\n\n var fromHex = anyBase(anyBase.HEX, useAlphabet);\n var toHex = anyBase(useAlphabet, anyBase.HEX);\n\n var generate = function generate() {\n return shortenUUID(uuidV4(), fromHex);\n };\n\n return {\n new: generate,\n generate: generate,\n uuid: uuidV4,\n fromUUID: function fromUUID(uuid) {\n return shortenUUID(uuid, fromHex);\n },\n toUUID: function toUUID(shortUuid) {\n return enlargeUUID(shortUuid, toHex);\n },\n alphabet: useAlphabet\n };\n } // Expose the constants for other purposes.\n\n\n MakeConvertor.constants = {\n flickrBase58: flickrBase58,\n cookieBase90: cookieBase90\n }; // Expose the generic v4 UUID generator for convenience\n\n MakeConvertor.uuid = uuidV4; // Provide a generic generator\n\n MakeConvertor.generate = function () {\n if (!toFlickr) {\n // Generate on first use;\n toFlickr = anyBase(anyBase.HEX, flickrBase58);\n }\n\n return shortenUUID(uuidV4(), toFlickr);\n };\n\n return MakeConvertor;\n}();","\"use strict\";\n\nexports.__esModule = true;\nexports.combineArray = exports.filteredJoin = exports.hashString = exports.stringToArray = exports.toKebabCase = exports.toCamelCase = exports.isObject = exports.isString = exports.isBrowser = void 0;\n\nvar isBrowser = function isBrowser() {\n return typeof window !== 'undefined';\n};\n\nexports.isBrowser = isBrowser;\n\nvar isString = function isString(value) {\n return Object.prototype.toString.call(value) === '[object String]';\n};\n\nexports.isString = isString;\n\nvar isObject = function isObject(value) {\n return Object.prototype.toString.call(value) === '[object Object]';\n};\n\nexports.isObject = isObject;\n\nvar toCamelCase = function toCamelCase(str) {\n return isString(str) && str.indexOf('-') !== -1 && str.toLowerCase().replace(/(?:^\\w|-|[A-Z]|\\b\\w)/g, function (letter, index) {\n return index === 0 ? letter.toLowerCase() : letter.toUpperCase();\n }).replace(/\\s|\\W+/g, '') || str;\n};\n\nexports.toCamelCase = toCamelCase;\n\nvar toKebabCase = function toKebabCase(str) {\n return isString(str) && str.replace(/\\s|\\W+/g, '').replace(/[A-Z]/g, function (match) {\n return \"-\" + match.toLowerCase();\n });\n};\n\nexports.toKebabCase = toKebabCase;\n\nvar stringToArray = function stringToArray(str, delimiter) {\n if (delimiter === void 0) {\n delimiter = \" \";\n }\n\n if (str instanceof Array) {\n return str;\n }\n\n if (isString(str)) {\n if (str.includes(delimiter)) {\n return str.split(delimiter);\n }\n\n return [str];\n }\n\n return false;\n};\n\nexports.stringToArray = stringToArray;\n\nvar hashString = function hashString(str) {\n return isString(str) && [].reduce.call(str, function (hash, item) {\n hash = (hash << 5) - hash + item.charCodeAt(0);\n return hash | 0;\n }, 0);\n};\n\nexports.hashString = hashString;\n\nvar filteredJoin = function filteredJoin(arrayToJoin) {\n return arrayToJoin.filter(function (item) {\n return item !== \"\";\n }).join();\n};\n\nexports.filteredJoin = filteredJoin;\n\nvar combineArray = function combineArray(fromArray, toArray) {\n if (!Array.isArray(fromArray)) {\n return [fromArray];\n }\n\n return fromArray.map(function (item, index) {\n return item || toArray && toArray[index];\n });\n};\n\nexports.combineArray = combineArray;","import { useMemo } from 'react';\n\nvar toFnRef = function toFnRef(ref) {\n return !ref || typeof ref === 'function' ? ref : function (value) {\n ref.current = value;\n };\n};\n\nexport function mergeRefs(refA, refB) {\n var a = toFnRef(refA);\n var b = toFnRef(refB);\n return function (value) {\n if (a) a(value);\n if (b) b(value);\n };\n}\n/**\n * Create and returns a single callback ref composed from two other Refs.\n *\n * ```tsx\n * const Button = React.forwardRef((props, ref) => {\n * const [element, attachRef] = useCallbackRef();\n * const mergedRef = useMergedRefs(ref, attachRef);\n *\n * return