{"version":3,"sources":["webpack:///./node_modules/react-side-effect/lib/index.js","webpack:///./node_modules/jsonp/index.js","webpack:///./src/components/header.tsx","webpack:///./src/components/footer.tsx","webpack:///./src/components/layout.tsx","webpack:///./node_modules/gatsby-plugin-mailchimp/index.js","webpack:///./node_modules/jsonp/node_modules/debug/src/browser.js","webpack:///./node_modules/email-validator/index.js","webpack:///./src/components/seo.tsx","webpack:///./node_modules/gatsby-plugin-react-i18next/dist/Link.js","webpack:///./node_modules/jsonp/node_modules/ms/index.js","webpack:///./node_modules/gatsby-plugin-react-i18next/index.js","webpack:///./node_modules/jsonp/node_modules/debug/src/debug.js","webpack:///./node_modules/react-fast-compare/index.js","webpack:///./node_modules/gatsby-plugin-react-i18next/dist/Helmet.js","webpack:///./node_modules/gatsby-plugin-react-i18next/dist/useI18next.js","webpack:///./node_modules/regenerator-runtime/runtime.js","webpack:///./node_modules/@babel/runtime/regenerator/index.js","webpack:///./node_modules/react-helmet/es/Helmet.js","webpack:///./node_modules/gatsby-plugin-react-i18next/dist/index.js","webpack:///./node_modules/@babel/runtime/helpers/esm/asyncToGenerator.js","webpack:///./src/components/newsletter.tsx"],"names":["ex","React","React__default","_defineProperty","obj","key","value","Object","defineProperty","enumerable","configurable","writable","canUseDOM","window","document","createElement","module","exports","reducePropsToState","handleStateChangeOnClient","mapStateOnServer","Error","WrappedComponent","state","mountedInstances","emitChange","map","instance","props","SideEffect","_PureComponent","subClass","superClass","apply","this","arguments","prototype","create","constructor","__proto__","peek","rewind","recordedState","undefined","_proto","UNSAFE_componentWillMount","push","componentDidUpdate","componentWillUnmount","index","indexOf","splice","render","PureComponent","displayName","name","getDisplayName","debug","url","opts","fn","script","timer","prefix","id","count","param","timeout","enc","encodeURIComponent","target","getElementsByTagName","head","setTimeout","cleanup","parentNode","removeChild","noop","clearTimeout","data","replace","src","insertBefore","Header","path","location","pathname","useState","client","setClient","useEffect","setProductListVisible","menuVisible","setMenuVisible","productListVisible","useI18next","t","languages","changeLanguage","useTranslation","MENUS","title","slug","ProductList","className","to","alt","onClick","type","xmlns","viewBox","d","product","item","startsWith","Footer","href","itemProp","itemScope","itemType","Layout","children","useStaticQuery","_jsonp","require","__esModule","default","_emailValidator","subscribeEmailToMailchimp","_ref","Promise","resolve","reject","err","convertListFields","fields","queryParams","field","hasOwnProperty","call","fieldTransformed","substring","toUpperCase","concat","_default","email","endpointOverride","isEmailValid","validate","emailEncoded","result","msg","endpoint","__GATSBY_PLUGIN_MAILCHIMP_ADDRESS__","__GATSBY_PLUGIN_MAILCHIMP_TIMEOUT__","length","load","r","storage","e","process","DEBUG","log","console","Function","formatArgs","args","useColors","namespace","humanize","diff","c","color","lastC","match","save","namespaces","removeItem","documentElement","style","WebkitAppearance","firebug","exception","table","navigator","userAgent","toLowerCase","parseInt","RegExp","$1","chrome","local","localStorage","localstorage","colors","formatters","j","v","JSON","stringify","message","enable","tester","test","parts","split","some","part","SEO","description","lang","meta","ogImage","ogUrl","site","metaDescription","siteMetadata","htmlAttributes","titleTemplate","content","property","author","defaultProps","_interopRequireWildcard","_interopRequireDefault","Link","_extends2","_objectWithoutPropertiesLoose2","_react","_i18nextContext","_gatsby","_types","language","_onClick","rest","context","useContext","I18nextContext","urlLanguage","link","defaultLanguage","hrefLang","setItem","LANGUAGE_KEY","s","m","h","plural","ms","n","Math","floor","ceil","val","options","str","String","exec","parseFloat","parse","isNaN","long","round","fmtShort","prevTime","createDebug","enabled","self","curr","Date","prev","Array","i","coerce","unshift","format","formatter","logFn","bind","hash","charCodeAt","abs","selectColor","init","stack","disable","names","skips","len","substr","hasElementType","Element","hasMap","Map","hasSet","Set","hasArrayBuffer","ArrayBuffer","isView","a","b","equal","keys","it","isArray","size","entries","next","done","has","get","source","flags","valueOf","toString","$$typeof","error","warn","Helmet","_reactHelmet","_useI18next2","_useI18next","originalPath","_useI18next$siteUrl","siteUrl","createUrlWithLang","lng","endsWith","rel","_reactI18next","ns","_useTranslation","i18n","ready","routed","getLanguagePath","navigate","languagePath","removeLocalePart","search","runtime","Op","hasOwn","$Symbol","Symbol","iteratorSymbol","iterator","asyncIteratorSymbol","asyncIterator","toStringTagSymbol","toStringTag","define","wrap","innerFn","outerFn","tryLocsList","protoGenerator","Generator","generator","Context","_invoke","method","arg","doneResult","delegate","delegateResult","maybeInvokeDelegate","ContinueSentinel","sent","_sent","dispatchException","abrupt","record","tryCatch","makeInvokeMethod","GeneratorFunction","GeneratorFunctionPrototype","IteratorPrototype","getProto","getPrototypeOf","NativeIteratorPrototype","values","Gp","defineIteratorMethods","forEach","AsyncIterator","PromiseImpl","previousPromise","callInvokeWithMethodAndArg","invoke","__await","then","unwrapped","TypeError","info","resultName","nextLoc","pushTryEntry","locs","entry","tryLoc","catchLoc","finallyLoc","afterLoc","tryEntries","resetTryEntry","completion","reset","iterable","iteratorMethod","isGeneratorFunction","genFun","ctor","mark","setPrototypeOf","awrap","async","iter","object","reverse","pop","skipTempReset","charAt","slice","stop","rootRecord","rval","handle","loc","caught","hasCatch","hasFinally","finallyEntry","complete","finish","thrown","delegateYield","regeneratorRuntime","accidentalStrictMode","clock","Component","_class","_temp","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","reduce","SELF_CLOSING_TAGS","_typeof","classCallCheck","Constructor","createClass","defineProperties","descriptor","protoProps","staticProps","_extends","assign","objectWithoutProperties","possibleConstructorReturn","ReferenceError","encodeSpecialCharacters","encode","getTitleFromPropsList","propsList","innermostTitle","getInnermostProperty","innermostTemplate","join","innermostDefaultTitle","getOnChangeClientState","getAttributesFromPropsList","tagType","filter","tagAttrs","current","getBaseTagFromPropsList","primaryAttributes","innermostBaseTag","tag","lowerCaseAttributeKey","getTagsFromPropsList","tagName","approvedSeenTags","approvedTags","instanceTags","instanceSeenTags","primaryAttributeKey","attributeKey","tagUnion","rafPolyfill","now","callback","currentTime","cafPolyfill","requestAnimationFrame","webkitRequestAnimationFrame","mozRequestAnimationFrame","global","cancelAnimationFrame","webkitCancelAnimationFrame","mozCancelAnimationFrame","_helmetCallback","commitTagChanges","newState","cb","baseTag","bodyAttributes","linkTags","metaTags","noscriptTags","onChangeClientState","scriptTags","styleTags","titleAttributes","updateAttributes","updateTitle","tagUpdates","updateTags","addedTags","removedTags","_tagUpdates$tagType","newTags","oldTags","flattenArray","possibleArray","attributes","elementTag","helmetAttributeString","getAttribute","helmetAttributes","attributesToRemove","attributeKeys","attribute","setAttribute","indexToSave","_i","removeAttribute","tags","headElement","querySelector","tagNodes","querySelectorAll","indexToDelete","newElement","innerHTML","styleSheet","cssText","appendChild","createTextNode","existingTag","isEqualNode","generateElementAttributesAsString","attr","convertElementAttributestoReactProps","initProps","getMethodsForTag","toComponent","_initProps","attributeString","flattenedTitle","generateTitleAsString","_mappedTag","mappedTag","mappedAttribute","dangerouslySetInnerHTML","__html","generateTagsAsReactComponent","attributeHtml","string","tagContent","isSelfClosing","generateTagsAsString","_ref$title","base","noscript","HelmetSideEffects","defer","HelmetExport","_React$Component","HelmetWrapper","inherits","shouldComponentUpdate","nextProps","mapNestedChildrenToProps","child","nestedChildren","flattenArrayTypeChildren","_babelHelpers$extends","arrayTypeChildren","newChildProps","mapObjectTypeChildren","_ref2","_babelHelpers$extends2","_babelHelpers$extends3","newProps","mapArrayTypeChildrenToProps","newFlattenedProps","arrayChildName","_babelHelpers$extends4","warnOnInvalidChildren","mapChildrenToProps","_this2","Children","_child$props","initAttributes","convertReactPropstoHtmlAttributes","_props","set","propTypes","oneOfType","arrayOf","node","defaultTitle","bool","func","mappedState","renderStatic","_Link","_Helmet","asyncGeneratorStep","gen","_next","_throw","Newsletter","setEmail","setData","handleSubmit","preventDefault","stopPropagation","addToMailchimp","response","onSubmit","placeholder","required","onChange","trim"],"mappings":"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","file":"925f83980a9eae56693e5450eaaa3cbf8bca4492-1065bb3f8ac46729abe1.js","sourcesContent":["'use strict';\n\nfunction _interopDefault(ex) {\n return ex && typeof ex === 'object' && 'default' in ex ? ex['default'] : ex;\n}\n\nvar React = require('react');\n\nvar React__default = _interopDefault(React);\n\nfunction _defineProperty(obj, key, value) {\n if (key in obj) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n } else {\n obj[key] = value;\n }\n\n return obj;\n}\n\nfunction _inheritsLoose(subClass, superClass) {\n subClass.prototype = Object.create(superClass.prototype);\n subClass.prototype.constructor = subClass;\n subClass.__proto__ = superClass;\n}\n\nvar canUseDOM = !!(typeof window !== 'undefined' && window.document && window.document.createElement);\n\nfunction withSideEffect(reducePropsToState, handleStateChangeOnClient, mapStateOnServer) {\n if (typeof reducePropsToState !== 'function') {\n throw new Error('Expected reducePropsToState to be a function.');\n }\n\n if (typeof handleStateChangeOnClient !== 'function') {\n throw new Error('Expected handleStateChangeOnClient to be a function.');\n }\n\n if (typeof mapStateOnServer !== 'undefined' && typeof mapStateOnServer !== 'function') {\n throw new Error('Expected mapStateOnServer to either be undefined or a function.');\n }\n\n function getDisplayName(WrappedComponent) {\n return WrappedComponent.displayName || WrappedComponent.name || 'Component';\n }\n\n return function wrap(WrappedComponent) {\n if (typeof WrappedComponent !== 'function') {\n throw new Error('Expected WrappedComponent to be a React component.');\n }\n\n var mountedInstances = [];\n var state;\n\n function emitChange() {\n state = reducePropsToState(mountedInstances.map(function (instance) {\n return instance.props;\n }));\n\n if (SideEffect.canUseDOM) {\n handleStateChangeOnClient(state);\n } else if (mapStateOnServer) {\n state = mapStateOnServer(state);\n }\n }\n\n var SideEffect = /*#__PURE__*/function (_PureComponent) {\n _inheritsLoose(SideEffect, _PureComponent);\n\n function SideEffect() {\n return _PureComponent.apply(this, arguments) || this;\n } // Try to use displayName of wrapped component\n // Expose canUseDOM so tests can monkeypatch it\n\n\n SideEffect.peek = function peek() {\n return state;\n };\n\n SideEffect.rewind = function rewind() {\n if (SideEffect.canUseDOM) {\n throw new Error('You may only call rewind() on the server. Call peek() to read the current state.');\n }\n\n var recordedState = state;\n state = undefined;\n mountedInstances = [];\n return recordedState;\n };\n\n var _proto = SideEffect.prototype;\n\n _proto.UNSAFE_componentWillMount = function UNSAFE_componentWillMount() {\n mountedInstances.push(this);\n emitChange();\n };\n\n _proto.componentDidUpdate = function componentDidUpdate() {\n emitChange();\n };\n\n _proto.componentWillUnmount = function componentWillUnmount() {\n var index = mountedInstances.indexOf(this);\n mountedInstances.splice(index, 1);\n emitChange();\n };\n\n _proto.render = function render() {\n return /*#__PURE__*/React__default.createElement(WrappedComponent, this.props);\n };\n\n return SideEffect;\n }(React.PureComponent);\n\n _defineProperty(SideEffect, \"displayName\", \"SideEffect(\" + getDisplayName(WrappedComponent) + \")\");\n\n _defineProperty(SideEffect, \"canUseDOM\", canUseDOM);\n\n return SideEffect;\n };\n}\n\nmodule.exports = withSideEffect;","/**\n * Module dependencies\n */\nvar debug = require('debug')('jsonp');\n/**\n * Module exports.\n */\n\n\nmodule.exports = jsonp;\n/**\n * Callback index.\n */\n\nvar count = 0;\n/**\n * Noop function.\n */\n\nfunction noop() {}\n/**\n * JSONP handler\n *\n * Options:\n * - param {String} qs parameter (`callback`)\n * - prefix {String} qs parameter (`__jp`)\n * - name {String} qs parameter (`prefix` + incr)\n * - timeout {Number} how long after a timeout error is emitted (`60000`)\n *\n * @param {String} url\n * @param {Object|Function} optional options / callback\n * @param {Function} optional callback\n */\n\n\nfunction jsonp(url, opts, fn) {\n if ('function' == typeof opts) {\n fn = opts;\n opts = {};\n }\n\n if (!opts) opts = {};\n var prefix = opts.prefix || '__jp'; // use the callback name that was passed if one was provided.\n // otherwise generate a unique name by incrementing our counter.\n\n var id = opts.name || prefix + count++;\n var param = opts.param || 'callback';\n var timeout = null != opts.timeout ? opts.timeout : 60000;\n var enc = encodeURIComponent;\n var target = document.getElementsByTagName('script')[0] || document.head;\n var script;\n var timer;\n\n if (timeout) {\n timer = setTimeout(function () {\n cleanup();\n if (fn) fn(new Error('Timeout'));\n }, timeout);\n }\n\n function cleanup() {\n if (script.parentNode) script.parentNode.removeChild(script);\n window[id] = noop;\n if (timer) clearTimeout(timer);\n }\n\n function cancel() {\n if (window[id]) {\n cleanup();\n }\n }\n\n window[id] = function (data) {\n debug('jsonp got', data);\n cleanup();\n if (fn) fn(null, data);\n }; // add qs component\n\n\n url += (~url.indexOf('?') ? '&' : '?') + param + '=' + enc(id);\n url = url.replace('?&', '?');\n debug('jsonp req \"%s\"', url); // create script\n\n script = document.createElement('script');\n script.src = url;\n target.parentNode.insertBefore(script, target);\n return cancel;\n}","import React, { useState, useEffect } from \"react\";\nimport { Link, Trans, useTranslation, useI18next } from \"gatsby-plugin-react-i18next\";\n\ninterface Menu {\n\ttitle: string;\n\tslug: string;\n}\n\nconst LOCALIZATION_ENABLED = false;\n\nconst Header = () => {\n\tlet path = \"\";\n\tif (typeof window !== \"undefined\") {\n\t\tpath = window.location.pathname;\n\t}\n\n\tconst [client, setClient] = useState(false);\n\n\tuseEffect(() => {\n\t\tif (path.indexOf(\"/products\") > -1) {\n\t\t\tsetProductListVisible(true);\n\t\t}\n\t\tsetClient(true);\n\t}, []);\n\n\tconst [menuVisible, setMenuVisible] = useState(false);\n\tconst [productListVisible, setProductListVisible] = useState(false);\n\tconst { languages, changeLanguage } = useI18next();\n\tconst { t } = useTranslation();\n\n\t/* Navbar buttons without Products */\n\tconst MENUS: Menu[] = [\n\t\t{ title: t(\"Services\"), slug: \"/services\" },\n\t\t{ title: t(\"Industries\"), slug: \"/industries\" },\n\t\t{ title: t(\"Blog\"), slug: \"/blog\" },\n\t\t{ title: t(\"Jobs\"), slug: \"/jobs\" },\n\t\t{ title: t(\"Contact\"), slug: \"/#contact\" },\n\t];\n\n\t/* Products list*/\n\tconst ProductList = [\n\t\t{\n\t\t\ttitle: t(\"DEEP Travel Reservation\"),\n\t\t\tslug: \"/products/travel-reservation-system\",\n\t\t},\n\t\t{\n\t\t\ttitle: t(\"DEEP Airline Booking Engine\"),\n\t\t\tslug: \"/products/airline-booking-engine\",\n\t\t},\n\t\t{\n\t\t\ttitle: t(\"DEEP Travel Connector\"),\n\t\t\tslug: \"/products/travel-connector\",\n\t\t},\n\t\t{\n\t\t\ttitle: t(\"DEEP Business Travel\"),\n\t\t\tslug: \"/products/business-travel-management\",\n\t\t},\n\t];\n\n\treturn (\n\t\t
\n\t\t\t
\n\t\t\t\t
\n\t\t\t\t\t
\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\"Logo\"\n\t\t\t\t\t\t\n\t\t\t\t\t
\n\n\t\t\t\t\t
\n\t\t\t\t\t\t setMenuVisible(!menuVisible)}\n\t\t\t\t\t\t\ttype=\"button\"\n\t\t\t\t\t\t\tclassName=\"block text-gray-600 focus:outline-none\"\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\n\t\t\t\t\t
\n\t\t\t\t
\n\t\t\t\t\n\t\t\t\t\t{/* Products button */}\n\t\t\t\t\t setProductListVisible(!productListVisible)}\n\t\t\t\t\t\tclassName={`menu flex justify-between relative p-4 sm:p-0 flex items-center cursor-pointer ${\n\t\t\t\t\t\t\tclient && path.indexOf(\"/products\") > -1 ? \"active\" : \"\"\n\t\t\t\t\t\t}`}\n\t\t\t\t\t>\n\t\t\t\t\t\t

\n\t\t\t\t\t\t\tProducts\n\t\t\t\t\t\t

\n\t\t\t\t\t\t -1 || productListVisible ? \"-rotate-90\" : \"rotate-90\"\n\t\t\t\t\t\t\t} block transform sm:hidden font-bold text-lg text-brand-grayt z-20 mr-5`}\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t❯\n\t\t\t\t\t\t\n\t\t\t\t\t\t
\n\t\t\t\t\t
\n\t\t\t\t\t{/* Product list mobile */}\n\t\t\t\t\t -1)\n\t\t\t\t\t\t\t\t? \"block\"\n\t\t\t\t\t\t\t\t: \"hidden\"\n\t\t\t\t\t\t} bg-white`}\n\t\t\t\t\t>\n\t\t\t\t\t\t{ProductList.map((product) => (\n\t\t\t\t\t\t\t -1 ? \"active\" : \"\"\n\t\t\t\t\t\t\t\t}`}\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t

\n\t\t\t\t\t\t\t\t\t{product.title}\n\t\t\t\t\t\t\t\t

\n\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t))}\n\t\t\t\t\t\n\t\t\t\t\t{/* Navbar buttons */}\n\t\t\t\t\t{MENUS.map((item) => (\n\t\t\t\t\t\t -1 ? \"active\" : \"\"\n\t\t\t\t\t\t\t}`}\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t

\n\t\t\t\t\t\t\t\t{item.title}\n\t\t\t\t\t\t\t

\n\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\n\t\t\t\t\t))}\n\t\t\t\t\t{LOCALIZATION_ENABLED\n\t\t\t\t\t\t? languages.map((lng) => (\n\t\t\t\t\t\t\t\t {\n\t\t\t\t\t\t\t\t\t\tchangeLanguage(lng);\n\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t{lng}\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t ))\n\t\t\t\t\t\t: \"\"}\n\t\t\t\t\n\t\t\t\n\t\t\t{/* Product list desktop */}\n\t\t\t\n\t\t\t\t
\n\t\t\t\t\t{ProductList.map((product) => (\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t

{product.title}

\n\t\t\t\t\t\t\n\t\t\t\t\t))}\n\t\t\t\t
\n\t\t\t\n\t\t
\n\t);\n};\n\nexport default Header;\n","import React from \"react\";\nimport { Link, Trans, useTranslation } from \"gatsby-plugin-react-i18next\";\nimport Newsletter from \"./newsletter\";\n\nconst Footer = () => {\n\tconst { t } = useTranslation();\n\n\treturn (\n\t\t\n\t);\n};\n\nexport default Footer;\n","/**\n * Layout component that queries for data\n * with Gatsby's useStaticQuery component\n *\n * See: https://www.gatsbyjs.org/docs/use-static-query/\n */\n\nimport React from \"react\";\nimport PropTypes from \"prop-types\";\nimport { useStaticQuery, graphql } from \"gatsby\";\n\nimport Header from \"./header\";\nimport Footer from \"./footer\";\n\nconst Layout = ({ children }: any) => {\n const data = useStaticQuery(graphql`\n\t\tquery SiteTitleQuery {\n\t\t\tsite {\n\t\t\t\tsiteMetadata {\n\t\t\t\t\ttitle\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t`);\n\n return (\n <>\n
\n
\n
{children}
\n {process.env.NODE_ENV === \"development\" ? (\n
\n
XS
\n
SM
\n
MD
\n
LG
\n
XL
\n
\n ) : (\n \"\"\n )}\n
\n
\n \n );\n};\n\nLayout.propTypes = {\n children: PropTypes.node.isRequired,\n};\n\nexport default Layout;\n","'use strict';\n\nObject.defineProperty(exports, '__esModule', {\n value: true,\n});\nexports['default'] = void 0;\n\nvar _jsonp = _interopRequireDefault(require('jsonp'));\n\nvar _emailValidator = require('email-validator');\n\nfunction _interopRequireDefault(obj) {\n return obj && obj.__esModule ? obj : { default: obj };\n}\n\n/**\n * Make a jsonp request to user's mailchimp list\n * `param` object avoids CORS issues\n * timeout to 3.5s so user isn't waiting forever\n * usually occurs w/ privacy plugins enabled\n * 3.5s is a bit longer than the time it would take on a Slow 3G connection\n *\n * @param {String} url - concatenated string of user's gatsby-config.js\n * options, along with any MC list fields as query params.\n *\n * @return {Promise} - a promise that resolves a data object\n * or rejects an error object\n */\nvar subscribeEmailToMailchimp = function subscribeEmailToMailchimp(_ref) {\n var url = _ref.url,\n timeout = _ref.timeout;\n return new Promise(function(resolve, reject) {\n return (0, _jsonp['default'])(\n url,\n {\n param: 'c',\n timeout: timeout,\n },\n function(err, data) {\n if (err) reject(err);\n if (data) resolve(data);\n },\n );\n });\n};\n/**\n * Build a query string of MC list fields\n *\n * @param {Object} fields - a list of mailchimp audience field labels\n * and their values. We uppercase because that's what MC requires.\n * NOTE: GROUPS stay as lowercase (ex: MC uses group field names as `group[21269]`)\n *\n * @return {String} - `&FIELD1=value1&FIELD2=value2&group[21265][2]=group1`\n */\n\nvar convertListFields = function convertListFields(fields) {\n var queryParams = '';\n\n for (var field in fields) {\n if (Object.prototype.hasOwnProperty.call(fields, field)) {\n // If this is a list group, not user field then keep lowercase, as per MC reqs\n // https://github.com/benjaminhoffman/gatsby-plugin-mailchimp/blob/master/README.md#groups\n var fieldTransformed = field.substring(0, 6) === 'group[' ? field : field.toUpperCase();\n queryParams = queryParams.concat(\n '&'.concat(fieldTransformed, '=').concat(fields[field]),\n );\n }\n }\n\n return queryParams;\n};\n/**\n * Subscribe an email address to a Mailchimp email list.\n * We use ES5 function syntax (instead of arrow) because we need `arguments.length`\n *\n * @param {String} email - required; the email address you want to subscribe\n * @param {Object} fields - optional; add'l info (columns) you want included w/ this subscriber\n * @param {String} endpointOverride - optional; if you want to override the default MC mailing list\n * that's listed in your gatsby-config, pass the list in here\n *\n * @return {Object} -\n * {\n * result: (`success` || `error`)\n * msg: (`Thank you for subscribing!` || `The email you entered is not valid.`),\n * }\n */\n\nvar addToMailchimp = function addToMailchimp(email, fields, endpointOverride) {\n var isEmailValid = (0, _emailValidator.validate)(email);\n var emailEncoded = encodeURIComponent(email);\n\n if (!isEmailValid) {\n return Promise.resolve({\n result: 'error',\n msg: 'The email you entered is not valid.',\n });\n }\n\n var endpoint = __GATSBY_PLUGIN_MAILCHIMP_ADDRESS__; // eslint-disable-line no-undef\n\n var timeout = __GATSBY_PLUGIN_MAILCHIMP_TIMEOUT__; // eslint-disable-line no-undef\n // The following tests for whether you passed in a `fields` object. If\n // there are only two params and the second is a string, then we can safely\n // assume the second param is a MC mailing list, and not a fields object.\n\n if (arguments.length < 3 && typeof fields === 'string') {\n endpoint = fields;\n } else if (typeof endpointOverride === 'string') {\n endpoint = endpointOverride;\n } // Generates MC endpoint for our jsonp request. We have to\n // change `/post` to `/post-json` otherwise, MC returns an error\n\n endpoint = endpoint.replace(/\\/post/g, '/post-json');\n var queryParams = '&EMAIL='.concat(emailEncoded).concat(convertListFields(fields));\n var url = ''.concat(endpoint).concat(queryParams);\n return subscribeEmailToMailchimp({\n url: url,\n timeout: timeout,\n });\n};\n\nvar _default = addToMailchimp;\nexports['default'] = _default;\n","/**\n * This is the web browser implementation of `debug()`.\n *\n * Expose `debug()` as the module.\n */\nexports = module.exports = require('./debug');\nexports.log = log;\nexports.formatArgs = formatArgs;\nexports.save = save;\nexports.load = load;\nexports.useColors = useColors;\nexports.storage = 'undefined' != typeof chrome && 'undefined' != typeof chrome.storage ? chrome.storage.local : localstorage();\n/**\n * Colors.\n */\n\nexports.colors = ['lightseagreen', 'forestgreen', 'goldenrod', 'dodgerblue', 'darkorchid', 'crimson'];\n/**\n * Currently only WebKit-based Web Inspectors, Firefox >= v31,\n * and the Firebug extension (any Firefox version) are known\n * to support \"%c\" CSS customizations.\n *\n * TODO: add a `localStorage` variable to explicitly enable/disable colors\n */\n\nfunction useColors() {\n // NB: In an Electron preload script, document will be defined but not fully\n // initialized. Since we know we're in Chrome, we'll just detect this case\n // explicitly\n if (typeof window !== 'undefined' && window.process && window.process.type === 'renderer') {\n return true;\n } // is webkit? http://stackoverflow.com/a/16459606/376773\n // document is undefined in react-native: https://github.com/facebook/react-native/pull/1632\n\n\n return typeof document !== 'undefined' && document.documentElement && document.documentElement.style && document.documentElement.style.WebkitAppearance || // is firebug? http://stackoverflow.com/a/398120/376773\n typeof window !== 'undefined' && window.console && (window.console.firebug || window.console.exception && window.console.table) || // is firefox >= v31?\n // https://developer.mozilla.org/en-US/docs/Tools/Web_Console#Styling_messages\n typeof navigator !== 'undefined' && navigator.userAgent && navigator.userAgent.toLowerCase().match(/firefox\\/(\\d+)/) && parseInt(RegExp.$1, 10) >= 31 || // double check webkit in userAgent just in case we are in a worker\n typeof navigator !== 'undefined' && navigator.userAgent && navigator.userAgent.toLowerCase().match(/applewebkit\\/(\\d+)/);\n}\n/**\n * Map %j to `JSON.stringify()`, since no Web Inspectors do that by default.\n */\n\n\nexports.formatters.j = function (v) {\n try {\n return JSON.stringify(v);\n } catch (err) {\n return '[UnexpectedJSONParseError]: ' + err.message;\n }\n};\n/**\n * Colorize log arguments if enabled.\n *\n * @api public\n */\n\n\nfunction formatArgs(args) {\n var useColors = this.useColors;\n args[0] = (useColors ? '%c' : '') + this.namespace + (useColors ? ' %c' : ' ') + args[0] + (useColors ? '%c ' : ' ') + '+' + exports.humanize(this.diff);\n if (!useColors) return;\n var c = 'color: ' + this.color;\n args.splice(1, 0, c, 'color: inherit'); // the final \"%c\" is somewhat tricky, because there could be other\n // arguments passed either before or after the %c, so we need to\n // figure out the correct index to insert the CSS into\n\n var index = 0;\n var lastC = 0;\n args[0].replace(/%[a-zA-Z%]/g, function (match) {\n if ('%%' === match) return;\n index++;\n\n if ('%c' === match) {\n // we only are interested in the *last* %c\n // (the user may have provided their own)\n lastC = index;\n }\n });\n args.splice(lastC, 0, c);\n}\n/**\n * Invokes `console.log()` when available.\n * No-op when `console.log` is not a \"function\".\n *\n * @api public\n */\n\n\nfunction log() {\n // this hackery is required for IE8/9, where\n // the `console.log` function doesn't have 'apply'\n return 'object' === typeof console && console.log && Function.prototype.apply.call(console.log, console, arguments);\n}\n/**\n * Save `namespaces`.\n *\n * @param {String} namespaces\n * @api private\n */\n\n\nfunction save(namespaces) {\n try {\n if (null == namespaces) {\n exports.storage.removeItem('debug');\n } else {\n exports.storage.debug = namespaces;\n }\n } catch (e) {}\n}\n/**\n * Load `namespaces`.\n *\n * @return {String} returns the previously persisted debug modes\n * @api private\n */\n\n\nfunction load() {\n var r;\n\n try {\n r = exports.storage.debug;\n } catch (e) {} // If debug isn't set in LS, and we're in Electron, try to load $DEBUG\n\n\n if (!r && typeof process !== 'undefined' && 'env' in process) {\n r = process.env.DEBUG;\n }\n\n return r;\n}\n/**\n * Enable namespaces listed in `localStorage.debug` initially.\n */\n\n\nexports.enable(load());\n/**\n * Localstorage attempts to return the localstorage.\n *\n * This is necessary because safari throws\n * when a user disables cookies/localstorage\n * and you attempt to access it.\n *\n * @return {LocalStorage}\n * @api private\n */\n\nfunction localstorage() {\n try {\n return window.localStorage;\n } catch (e) {}\n}","\"use strict\";\n\nvar tester = /^[-!#$%&'*+\\/0-9=?A-Z^_a-z{|}~](\\.?[-!#$%&'*+\\/0-9=?A-Z^_a-z`{|}~])*@[a-zA-Z0-9](-*\\.?[a-zA-Z0-9])*\\.[a-zA-Z](-?[a-zA-Z0-9])+$/; // Thanks to:\n// http://fightingforalostcause.net/misc/2006/compare-email-regex.php\n// http://thedailywtf.com/Articles/Validating_Email_Addresses.aspx\n// http://stackoverflow.com/questions/201323/what-is-the-best-regular-expression-for-validating-email-addresses/201378#201378\n\nexports.validate = function (email) {\n if (!email) return false;\n if (email.length > 254) return false;\n var valid = tester.test(email);\n if (!valid) return false; // Further checking of some things regex can't handle\n\n var parts = email.split(\"@\");\n if (parts[0].length > 64) return false;\n var domainParts = parts[1].split(\".\");\n if (domainParts.some(function (part) {\n return part.length > 63;\n })) return false;\n return true;\n};","/**\n * SEO component that queries for data with\n * Gatsby's useStaticQuery React hook\n *\n * See: https://www.gatsbyjs.org/docs/use-static-query/\n */\n\nimport React from \"react\";\nimport PropTypes from \"prop-types\";\nimport { Helmet } from \"react-helmet\";\nimport { useStaticQuery, graphql } from \"gatsby\";\n\nfunction SEO({\n\tdescription,\n\tlang,\n\tmeta,\n\ttitle,\n\togImage,\n\togUrl,\n}: {\n\tdescription: string;\n\tlang: string;\n\tmeta: React.DetailedHTMLProps, HTMLMetaElement>[];\n\ttitle: string;\n\togImage: string | undefined;\n\togUrl: string | undefined;\n}) {\n\tconst { site } = useStaticQuery(\n\t\tgraphql`\n\t\t\tquery {\n\t\t\t\tsite {\n\t\t\t\t\tsiteMetadata {\n\t\t\t\t\t\ttitle\n\t\t\t\t\t\tdescription\n\t\t\t\t\t\tauthor\n\t\t\t\t\t\timage\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t`\n\t);\n\n\tconst metaDescription = description || site.siteMetadata.description;\n\n\treturn (\n\t\t, HTMLMetaElement>[]).concat(meta)}\n\t\t/>\n\t);\n}\n\nSEO.defaultProps = {\n\tlang: `en`,\n\tmeta: [],\n\tdescription: ``,\n\togImage: undefined,\n\togUrl: undefined,\n};\n\nSEO.propTypes = {\n\tdescription: PropTypes.string,\n\tlang: PropTypes.string,\n\tmeta: PropTypes.arrayOf(PropTypes.object),\n\ttitle: PropTypes.string.isRequired,\n};\n\nexport default SEO;\n","\"use strict\";\n\nvar _interopRequireWildcard = require(\"@babel/runtime/helpers/interopRequireWildcard\");\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nexports.__esModule = true;\nexports.Link = void 0;\n\nvar _extends2 = _interopRequireDefault(require(\"@babel/runtime/helpers/extends\"));\n\nvar _objectWithoutPropertiesLoose2 = _interopRequireDefault(require(\"@babel/runtime/helpers/objectWithoutPropertiesLoose\"));\n\nvar _react = _interopRequireWildcard(require(\"react\"));\n\nvar _i18nextContext = require(\"./i18nextContext\");\n\nvar _gatsby = require(\"gatsby\");\n\nvar _types = require(\"./types\");\n\nvar Link = function Link(_ref) {\n var language = _ref.language,\n to = _ref.to,\n _onClick = _ref.onClick,\n rest = (0, _objectWithoutPropertiesLoose2.default)(_ref, [\"language\", \"to\", \"onClick\"]);\n var context = (0, _react.useContext)(_i18nextContext.I18nextContext);\n var urlLanguage = language || context.language;\n var link = urlLanguage !== context.defaultLanguage ? \"/\" + urlLanguage + to : to;\n return (\n /*#__PURE__*/\n // @ts-ignore\n _react.default.createElement(_gatsby.Link, (0, _extends2.default)({}, rest, {\n to: link,\n hrefLang: urlLanguage,\n onClick: function onClick(e) {\n if (language) {\n localStorage.setItem(_types.LANGUAGE_KEY, language);\n }\n\n if (_onClick) {\n _onClick(e);\n }\n }\n }))\n );\n};\n\nexports.Link = Link;","/**\n * Helpers.\n */\nvar s = 1000;\nvar m = s * 60;\nvar h = m * 60;\nvar d = h * 24;\nvar y = d * 365.25;\n/**\n * Parse or format the given `val`.\n *\n * Options:\n *\n * - `long` verbose formatting [false]\n *\n * @param {String|Number} val\n * @param {Object} [options]\n * @throws {Error} throw an error if val is not a non-empty string or a number\n * @return {String|Number}\n * @api public\n */\n\nmodule.exports = function (val, options) {\n options = options || {};\n var type = typeof val;\n\n if (type === 'string' && val.length > 0) {\n return parse(val);\n } else if (type === 'number' && isNaN(val) === false) {\n return options.long ? fmtLong(val) : fmtShort(val);\n }\n\n throw new Error('val is not a non-empty string or a valid number. val=' + JSON.stringify(val));\n};\n/**\n * Parse the given `str` and return milliseconds.\n *\n * @param {String} str\n * @return {Number}\n * @api private\n */\n\n\nfunction parse(str) {\n str = String(str);\n\n if (str.length > 100) {\n return;\n }\n\n var match = /^((?:\\d+)?\\.?\\d+) *(milliseconds?|msecs?|ms|seconds?|secs?|s|minutes?|mins?|m|hours?|hrs?|h|days?|d|years?|yrs?|y)?$/i.exec(str);\n\n if (!match) {\n return;\n }\n\n var n = parseFloat(match[1]);\n var type = (match[2] || 'ms').toLowerCase();\n\n switch (type) {\n case 'years':\n case 'year':\n case 'yrs':\n case 'yr':\n case 'y':\n return n * y;\n\n case 'days':\n case 'day':\n case 'd':\n return n * d;\n\n case 'hours':\n case 'hour':\n case 'hrs':\n case 'hr':\n case 'h':\n return n * h;\n\n case 'minutes':\n case 'minute':\n case 'mins':\n case 'min':\n case 'm':\n return n * m;\n\n case 'seconds':\n case 'second':\n case 'secs':\n case 'sec':\n case 's':\n return n * s;\n\n case 'milliseconds':\n case 'millisecond':\n case 'msecs':\n case 'msec':\n case 'ms':\n return n;\n\n default:\n return undefined;\n }\n}\n/**\n * Short format for `ms`.\n *\n * @param {Number} ms\n * @return {String}\n * @api private\n */\n\n\nfunction fmtShort(ms) {\n if (ms >= d) {\n return Math.round(ms / d) + 'd';\n }\n\n if (ms >= h) {\n return Math.round(ms / h) + 'h';\n }\n\n if (ms >= m) {\n return Math.round(ms / m) + 'm';\n }\n\n if (ms >= s) {\n return Math.round(ms / s) + 's';\n }\n\n return ms + 'ms';\n}\n/**\n * Long format for `ms`.\n *\n * @param {Number} ms\n * @return {String}\n * @api private\n */\n\n\nfunction fmtLong(ms) {\n return plural(ms, d, 'day') || plural(ms, h, 'hour') || plural(ms, m, 'minute') || plural(ms, s, 'second') || ms + ' ms';\n}\n/**\n * Pluralization helper.\n */\n\n\nfunction plural(ms, n, name) {\n if (ms < n) {\n return;\n }\n\n if (ms < n * 1.5) {\n return Math.floor(ms / n) + ' ' + name;\n }\n\n return Math.ceil(ms / n) + ' ' + name + 's';\n}","module.exports = require('./dist');\n","/**\n * This is the common logic for both the Node.js and web browser\n * implementations of `debug()`.\n *\n * Expose `debug()` as the module.\n */\nexports = module.exports = createDebug.debug = createDebug['default'] = createDebug;\nexports.coerce = coerce;\nexports.disable = disable;\nexports.enable = enable;\nexports.enabled = enabled;\nexports.humanize = require('ms');\n/**\n * The currently active debug mode names, and names to skip.\n */\n\nexports.names = [];\nexports.skips = [];\n/**\n * Map of special \"%n\" handling functions, for the debug \"format\" argument.\n *\n * Valid key names are a single, lower or upper-case letter, i.e. \"n\" and \"N\".\n */\n\nexports.formatters = {};\n/**\n * Previous log timestamp.\n */\n\nvar prevTime;\n/**\n * Select a color.\n * @param {String} namespace\n * @return {Number}\n * @api private\n */\n\nfunction selectColor(namespace) {\n var hash = 0,\n i;\n\n for (i in namespace) {\n hash = (hash << 5) - hash + namespace.charCodeAt(i);\n hash |= 0; // Convert to 32bit integer\n }\n\n return exports.colors[Math.abs(hash) % exports.colors.length];\n}\n/**\n * Create a debugger with the given `namespace`.\n *\n * @param {String} namespace\n * @return {Function}\n * @api public\n */\n\n\nfunction createDebug(namespace) {\n function debug() {\n // disabled?\n if (!debug.enabled) return;\n var self = debug; // set `diff` timestamp\n\n var curr = +new Date();\n var ms = curr - (prevTime || curr);\n self.diff = ms;\n self.prev = prevTime;\n self.curr = curr;\n prevTime = curr; // turn the `arguments` into a proper Array\n\n var args = new Array(arguments.length);\n\n for (var i = 0; i < args.length; i++) {\n args[i] = arguments[i];\n }\n\n args[0] = exports.coerce(args[0]);\n\n if ('string' !== typeof args[0]) {\n // anything else let's inspect with %O\n args.unshift('%O');\n } // apply any `formatters` transformations\n\n\n var index = 0;\n args[0] = args[0].replace(/%([a-zA-Z%])/g, function (match, format) {\n // if we encounter an escaped % then don't increase the array index\n if (match === '%%') return match;\n index++;\n var formatter = exports.formatters[format];\n\n if ('function' === typeof formatter) {\n var val = args[index];\n match = formatter.call(self, val); // now we need to remove `args[index]` since it's inlined in the `format`\n\n args.splice(index, 1);\n index--;\n }\n\n return match;\n }); // apply env-specific formatting (colors, etc.)\n\n exports.formatArgs.call(self, args);\n var logFn = debug.log || exports.log || console.log.bind(console);\n logFn.apply(self, args);\n }\n\n debug.namespace = namespace;\n debug.enabled = exports.enabled(namespace);\n debug.useColors = exports.useColors();\n debug.color = selectColor(namespace); // env-specific initialization logic for debug instances\n\n if ('function' === typeof exports.init) {\n exports.init(debug);\n }\n\n return debug;\n}\n/**\n * Enables a debug mode by namespaces. This can include modes\n * separated by a colon and wildcards.\n *\n * @param {String} namespaces\n * @api public\n */\n\n\nfunction enable(namespaces) {\n exports.save(namespaces);\n exports.names = [];\n exports.skips = [];\n var split = (typeof namespaces === 'string' ? namespaces : '').split(/[\\s,]+/);\n var len = split.length;\n\n for (var i = 0; i < len; i++) {\n if (!split[i]) continue; // ignore empty strings\n\n namespaces = split[i].replace(/\\*/g, '.*?');\n\n if (namespaces[0] === '-') {\n exports.skips.push(new RegExp('^' + namespaces.substr(1) + '$'));\n } else {\n exports.names.push(new RegExp('^' + namespaces + '$'));\n }\n }\n}\n/**\n * Disable debug output.\n *\n * @api public\n */\n\n\nfunction disable() {\n exports.enable('');\n}\n/**\n * Returns true if the given mode name is enabled, false otherwise.\n *\n * @param {String} name\n * @return {Boolean}\n * @api public\n */\n\n\nfunction enabled(name) {\n var i, len;\n\n for (i = 0, len = exports.skips.length; i < len; i++) {\n if (exports.skips[i].test(name)) {\n return false;\n }\n }\n\n for (i = 0, len = exports.names.length; i < len; i++) {\n if (exports.names[i].test(name)) {\n return true;\n }\n }\n\n return false;\n}\n/**\n * Coerce `val`.\n *\n * @param {Mixed} val\n * @return {Mixed}\n * @api private\n */\n\n\nfunction coerce(val) {\n if (val instanceof Error) return val.stack || val.message;\n return val;\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};","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nexports.__esModule = true;\nexports.Helmet = void 0;\n\nvar _objectWithoutPropertiesLoose2 = _interopRequireDefault(require(\"@babel/runtime/helpers/objectWithoutPropertiesLoose\"));\n\nvar _react = _interopRequireDefault(require(\"react\"));\n\nvar _reactHelmet = require(\"react-helmet\");\n\nvar _useI18next2 = require(\"./useI18next\");\n\nvar Helmet = function Helmet(_ref) {\n var children = _ref.children,\n props = (0, _objectWithoutPropertiesLoose2.default)(_ref, [\"children\"]);\n\n var _useI18next = (0, _useI18next2.useI18next)(),\n languages = _useI18next.languages,\n language = _useI18next.language,\n originalPath = _useI18next.originalPath,\n defaultLanguage = _useI18next.defaultLanguage,\n _useI18next$siteUrl = _useI18next.siteUrl,\n siteUrl = _useI18next$siteUrl === void 0 ? '' : _useI18next$siteUrl;\n\n var createUrlWithLang = function createUrlWithLang(lng) {\n var url = \"\" + siteUrl + (lng === defaultLanguage ? '' : \"/\" + lng) + originalPath;\n return url.endsWith('/') ? url : url + \"/\";\n };\n\n return /*#__PURE__*/_react.default.createElement(_reactHelmet.Helmet, props, /*#__PURE__*/_react.default.createElement(\"html\", {\n lang: language\n }), /*#__PURE__*/_react.default.createElement(\"link\", {\n rel: \"canonical\",\n href: createUrlWithLang(language)\n }), languages.map(function (lng) {\n return /*#__PURE__*/_react.default.createElement(\"link\", {\n rel: \"alternate\",\n key: lng,\n href: createUrlWithLang(lng),\n hrefLang: lng\n });\n }), /*#__PURE__*/_react.default.createElement(\"link\", {\n rel: \"alternate\",\n href: createUrlWithLang(defaultLanguage),\n hrefLang: \"x-default\"\n }), children);\n};\n\nexports.Helmet = Helmet;","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nexports.__esModule = true;\nexports.useI18next = void 0;\n\nvar _extends2 = _interopRequireDefault(require(\"@babel/runtime/helpers/extends\"));\n\nvar _reactI18next = require(\"react-i18next\");\n\nvar _react = require(\"react\");\n\nvar _gatsby = require(\"gatsby\");\n\nvar _i18nextContext = require(\"./i18nextContext\");\n\nvar _types = require(\"./types\");\n\nvar useI18next = function useI18next(ns, options) {\n var _useTranslation = (0, _reactI18next.useTranslation)(ns, options),\n i18n = _useTranslation.i18n,\n t = _useTranslation.t,\n ready = _useTranslation.ready;\n\n var context = (0, _react.useContext)(_i18nextContext.I18nextContext);\n var routed = context.routed,\n defaultLanguage = context.defaultLanguage;\n\n var getLanguagePath = function getLanguagePath(language) {\n return language !== defaultLanguage ? \"/\" + language : '';\n };\n\n var removePrefix = function removePrefix(pathname) {\n var base = typeof __BASE_PATH__ !== \"undefined\" ? __BASE_PATH__ : __PATH_PREFIX__;\n\n if (base && pathname.indexOf(base) === 0) {\n pathname = pathname.slice(base.length);\n }\n\n return pathname;\n };\n\n var removeLocalePart = function removeLocalePart(pathname) {\n if (!routed) return pathname;\n var i = pathname.indexOf(\"/\", 1);\n return pathname.substring(i);\n };\n\n var navigate = function navigate(to, options) {\n var languagePath = getLanguagePath(context.language);\n var link = routed ? \"\" + languagePath + to : \"\" + to;\n return (0, _gatsby.navigate)(link, options);\n };\n\n var changeLanguage = function changeLanguage(language, to, options) {\n var languagePath = getLanguagePath(language);\n var pathname = to || removeLocalePart(removePrefix(window.location.pathname));\n var link = \"\" + languagePath + pathname + window.location.search;\n localStorage.setItem(_types.LANGUAGE_KEY, language);\n return (0, _gatsby.navigate)(link, options);\n };\n\n return (0, _extends2.default)({}, context, {\n i18n: i18n,\n t: t,\n ready: ready,\n navigate: navigate,\n changeLanguage: changeLanguage\n });\n};\n\nexports.useI18next = useI18next;","/**\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\nvar runtime = (function (exports) {\n \"use strict\";\n\n var Op = Object.prototype;\n var hasOwn = Op.hasOwnProperty;\n var undefined; // More compressible than void 0.\n var $Symbol = typeof Symbol === \"function\" ? Symbol : {};\n var iteratorSymbol = $Symbol.iterator || \"@@iterator\";\n var asyncIteratorSymbol = $Symbol.asyncIterator || \"@@asyncIterator\";\n var toStringTagSymbol = $Symbol.toStringTag || \"@@toStringTag\";\n\n function define(obj, key, value) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n return obj[key];\n }\n try {\n // IE 8 has a broken Object.defineProperty that only works on DOM objects.\n define({}, \"\");\n } catch (err) {\n define = function(obj, key, value) {\n return obj[key] = value;\n };\n }\n\n function wrap(innerFn, outerFn, self, tryLocsList) {\n // If outerFn provided and outerFn.prototype is a Generator, then outerFn.prototype instanceof Generator.\n var protoGenerator = outerFn && outerFn.prototype instanceof Generator ? outerFn : Generator;\n var generator = Object.create(protoGenerator.prototype);\n var context = new Context(tryLocsList || []);\n\n // The ._invoke method unifies the implementations of the .next,\n // .throw, and .return methods.\n generator._invoke = makeInvokeMethod(innerFn, self, context);\n\n return generator;\n }\n exports.wrap = wrap;\n\n // Try/catch helper to minimize deoptimizations. Returns a completion\n // record like context.tryEntries[i].completion. This interface could\n // have been (and was previously) designed to take a closure to be\n // invoked without arguments, but in all the cases we care about we\n // already have an existing method we want to call, so there's no need\n // to create a new function object. We can even get away with assuming\n // the method takes exactly one argument, since that happens to be true\n // in every case, so we don't have to touch the arguments object. The\n // only additional allocation required is the completion record, which\n // has a stable shape and so hopefully should be cheap to allocate.\n function tryCatch(fn, obj, arg) {\n try {\n return { type: \"normal\", arg: fn.call(obj, arg) };\n } catch (err) {\n return { type: \"throw\", arg: err };\n }\n }\n\n var GenStateSuspendedStart = \"suspendedStart\";\n var GenStateSuspendedYield = \"suspendedYield\";\n var GenStateExecuting = \"executing\";\n var GenStateCompleted = \"completed\";\n\n // Returning this object from the innerFn has the same effect as\n // breaking out of the dispatch switch statement.\n var ContinueSentinel = {};\n\n // Dummy constructor functions that we use as the .constructor and\n // .constructor.prototype properties for functions that return Generator\n // objects. For full spec compliance, you may wish to configure your\n // minifier not to mangle the names of these two functions.\n function Generator() {}\n function GeneratorFunction() {}\n function GeneratorFunctionPrototype() {}\n\n // This is a polyfill for %IteratorPrototype% for environments that\n // don't natively support it.\n var IteratorPrototype = {};\n IteratorPrototype[iteratorSymbol] = function () {\n return this;\n };\n\n var getProto = Object.getPrototypeOf;\n var NativeIteratorPrototype = getProto && getProto(getProto(values([])));\n if (NativeIteratorPrototype &&\n NativeIteratorPrototype !== Op &&\n hasOwn.call(NativeIteratorPrototype, iteratorSymbol)) {\n // This environment has a native %IteratorPrototype%; use it instead\n // of the polyfill.\n IteratorPrototype = NativeIteratorPrototype;\n }\n\n var Gp = GeneratorFunctionPrototype.prototype =\n Generator.prototype = Object.create(IteratorPrototype);\n GeneratorFunction.prototype = Gp.constructor = GeneratorFunctionPrototype;\n GeneratorFunctionPrototype.constructor = GeneratorFunction;\n GeneratorFunction.displayName = define(\n GeneratorFunctionPrototype,\n toStringTagSymbol,\n \"GeneratorFunction\"\n );\n\n // Helper for defining the .next, .throw, and .return methods of the\n // Iterator interface in terms of a single ._invoke method.\n function defineIteratorMethods(prototype) {\n [\"next\", \"throw\", \"return\"].forEach(function(method) {\n define(prototype, method, function(arg) {\n return this._invoke(method, arg);\n });\n });\n }\n\n exports.isGeneratorFunction = function(genFun) {\n var ctor = typeof genFun === \"function\" && genFun.constructor;\n return ctor\n ? ctor === GeneratorFunction ||\n // For the native GeneratorFunction constructor, the best we can\n // do is to check its .name property.\n (ctor.displayName || ctor.name) === \"GeneratorFunction\"\n : false;\n };\n\n exports.mark = function(genFun) {\n if (Object.setPrototypeOf) {\n Object.setPrototypeOf(genFun, GeneratorFunctionPrototype);\n } else {\n genFun.__proto__ = GeneratorFunctionPrototype;\n define(genFun, toStringTagSymbol, \"GeneratorFunction\");\n }\n genFun.prototype = Object.create(Gp);\n return genFun;\n };\n\n // Within the body of any async function, `await x` is transformed to\n // `yield regeneratorRuntime.awrap(x)`, so that the runtime can test\n // `hasOwn.call(value, \"__await\")` to determine if the yielded value is\n // meant to be awaited.\n exports.awrap = function(arg) {\n return { __await: arg };\n };\n\n function AsyncIterator(generator, PromiseImpl) {\n function invoke(method, arg, resolve, reject) {\n var record = tryCatch(generator[method], generator, arg);\n if (record.type === \"throw\") {\n reject(record.arg);\n } else {\n var result = record.arg;\n var value = result.value;\n if (value &&\n typeof value === \"object\" &&\n hasOwn.call(value, \"__await\")) {\n return PromiseImpl.resolve(value.__await).then(function(value) {\n invoke(\"next\", value, resolve, reject);\n }, function(err) {\n invoke(\"throw\", err, resolve, reject);\n });\n }\n\n return PromiseImpl.resolve(value).then(function(unwrapped) {\n // When a yielded Promise is resolved, its final value becomes\n // the .value of the Promise<{value,done}> result for the\n // current iteration.\n result.value = unwrapped;\n resolve(result);\n }, function(error) {\n // If a rejected Promise was yielded, throw the rejection back\n // into the async generator function so it can be handled there.\n return invoke(\"throw\", error, resolve, reject);\n });\n }\n }\n\n var previousPromise;\n\n function enqueue(method, arg) {\n function callInvokeWithMethodAndArg() {\n return new PromiseImpl(function(resolve, reject) {\n invoke(method, arg, resolve, reject);\n });\n }\n\n return previousPromise =\n // If enqueue has been called before, then we want to wait until\n // all previous Promises have been resolved before calling invoke,\n // so that results are always delivered in the correct order. If\n // enqueue has not been called before, then it is important to\n // call invoke immediately, without waiting on a callback to fire,\n // so that the async generator function has the opportunity to do\n // any necessary setup in a predictable way. This predictability\n // is why the Promise constructor synchronously invokes its\n // executor callback, and why async functions synchronously\n // execute code before the first await. Since we implement simple\n // async functions in terms of async generators, it is especially\n // important to get this right, even though it requires care.\n previousPromise ? previousPromise.then(\n callInvokeWithMethodAndArg,\n // Avoid propagating failures to Promises returned by later\n // invocations of the iterator.\n callInvokeWithMethodAndArg\n ) : callInvokeWithMethodAndArg();\n }\n\n // Define the unified helper method that is used to implement .next,\n // .throw, and .return (see defineIteratorMethods).\n this._invoke = enqueue;\n }\n\n defineIteratorMethods(AsyncIterator.prototype);\n AsyncIterator.prototype[asyncIteratorSymbol] = function () {\n return this;\n };\n exports.AsyncIterator = AsyncIterator;\n\n // Note that simple async functions are implemented on top of\n // AsyncIterator objects; they just return a Promise for the value of\n // the final result produced by the iterator.\n exports.async = function(innerFn, outerFn, self, tryLocsList, PromiseImpl) {\n if (PromiseImpl === void 0) PromiseImpl = Promise;\n\n var iter = new AsyncIterator(\n wrap(innerFn, outerFn, self, tryLocsList),\n PromiseImpl\n );\n\n return exports.isGeneratorFunction(outerFn)\n ? iter // If outerFn is a generator, return the full iterator.\n : iter.next().then(function(result) {\n return result.done ? result.value : iter.next();\n });\n };\n\n function makeInvokeMethod(innerFn, self, context) {\n var state = GenStateSuspendedStart;\n\n return function invoke(method, arg) {\n if (state === GenStateExecuting) {\n throw new Error(\"Generator is already running\");\n }\n\n if (state === GenStateCompleted) {\n if (method === \"throw\") {\n throw arg;\n }\n\n // Be forgiving, per 25.3.3.3.3 of the spec:\n // https://people.mozilla.org/~jorendorff/es6-draft.html#sec-generatorresume\n return doneResult();\n }\n\n context.method = method;\n context.arg = arg;\n\n while (true) {\n var delegate = context.delegate;\n if (delegate) {\n var delegateResult = maybeInvokeDelegate(delegate, context);\n if (delegateResult) {\n if (delegateResult === ContinueSentinel) continue;\n return delegateResult;\n }\n }\n\n if (context.method === \"next\") {\n // Setting context._sent for legacy support of Babel's\n // function.sent implementation.\n context.sent = context._sent = context.arg;\n\n } else if (context.method === \"throw\") {\n if (state === GenStateSuspendedStart) {\n state = GenStateCompleted;\n throw context.arg;\n }\n\n context.dispatchException(context.arg);\n\n } else if (context.method === \"return\") {\n context.abrupt(\"return\", context.arg);\n }\n\n state = GenStateExecuting;\n\n var record = tryCatch(innerFn, self, context);\n if (record.type === \"normal\") {\n // If an exception is thrown from innerFn, we leave state ===\n // GenStateExecuting and loop back for another invocation.\n state = context.done\n ? GenStateCompleted\n : GenStateSuspendedYield;\n\n if (record.arg === ContinueSentinel) {\n continue;\n }\n\n return {\n value: record.arg,\n done: context.done\n };\n\n } else if (record.type === \"throw\") {\n state = GenStateCompleted;\n // Dispatch the exception by looping back around to the\n // context.dispatchException(context.arg) call above.\n context.method = \"throw\";\n context.arg = record.arg;\n }\n }\n };\n }\n\n // Call delegate.iterator[context.method](context.arg) and handle the\n // result, either by returning a { value, done } result from the\n // delegate iterator, or by modifying context.method and context.arg,\n // setting context.delegate to null, and returning the ContinueSentinel.\n function maybeInvokeDelegate(delegate, context) {\n var method = delegate.iterator[context.method];\n if (method === undefined) {\n // A .throw or .return when the delegate iterator has no .throw\n // method always terminates the yield* loop.\n context.delegate = null;\n\n if (context.method === \"throw\") {\n // Note: [\"return\"] must be used for ES3 parsing compatibility.\n if (delegate.iterator[\"return\"]) {\n // If the delegate iterator has a return method, give it a\n // chance to clean up.\n context.method = \"return\";\n context.arg = undefined;\n maybeInvokeDelegate(delegate, context);\n\n if (context.method === \"throw\") {\n // If maybeInvokeDelegate(context) changed context.method from\n // \"return\" to \"throw\", let that override the TypeError below.\n return ContinueSentinel;\n }\n }\n\n context.method = \"throw\";\n context.arg = new TypeError(\n \"The iterator does not provide a 'throw' method\");\n }\n\n return ContinueSentinel;\n }\n\n var record = tryCatch(method, delegate.iterator, context.arg);\n\n if (record.type === \"throw\") {\n context.method = \"throw\";\n context.arg = record.arg;\n context.delegate = null;\n return ContinueSentinel;\n }\n\n var info = record.arg;\n\n if (! info) {\n context.method = \"throw\";\n context.arg = new TypeError(\"iterator result is not an object\");\n context.delegate = null;\n return ContinueSentinel;\n }\n\n if (info.done) {\n // Assign the result of the finished delegate to the temporary\n // variable specified by delegate.resultName (see delegateYield).\n context[delegate.resultName] = info.value;\n\n // Resume execution at the desired location (see delegateYield).\n context.next = delegate.nextLoc;\n\n // If context.method was \"throw\" but the delegate handled the\n // exception, let the outer generator proceed normally. If\n // context.method was \"next\", forget context.arg since it has been\n // \"consumed\" by the delegate iterator. If context.method was\n // \"return\", allow the original .return call to continue in the\n // outer generator.\n if (context.method !== \"return\") {\n context.method = \"next\";\n context.arg = undefined;\n }\n\n } else {\n // Re-yield the result returned by the delegate method.\n return info;\n }\n\n // The delegate iterator is finished, so forget it and continue with\n // the outer generator.\n context.delegate = null;\n return ContinueSentinel;\n }\n\n // Define Generator.prototype.{next,throw,return} in terms of the\n // unified ._invoke helper method.\n defineIteratorMethods(Gp);\n\n define(Gp, toStringTagSymbol, \"Generator\");\n\n // A Generator should always return itself as the iterator object when the\n // @@iterator function is called on it. Some browsers' implementations of the\n // iterator prototype chain incorrectly implement this, causing the Generator\n // object to not be returned from this call. This ensures that doesn't happen.\n // See https://github.com/facebook/regenerator/issues/274 for more details.\n Gp[iteratorSymbol] = function() {\n return this;\n };\n\n Gp.toString = function() {\n return \"[object Generator]\";\n };\n\n function pushTryEntry(locs) {\n var entry = { tryLoc: locs[0] };\n\n if (1 in locs) {\n entry.catchLoc = locs[1];\n }\n\n if (2 in locs) {\n entry.finallyLoc = locs[2];\n entry.afterLoc = locs[3];\n }\n\n this.tryEntries.push(entry);\n }\n\n function resetTryEntry(entry) {\n var record = entry.completion || {};\n record.type = \"normal\";\n delete record.arg;\n entry.completion = record;\n }\n\n function Context(tryLocsList) {\n // The root entry object (effectively a try statement without a catch\n // or a finally block) gives us a place to store values thrown from\n // locations where there is no enclosing try statement.\n this.tryEntries = [{ tryLoc: \"root\" }];\n tryLocsList.forEach(pushTryEntry, this);\n this.reset(true);\n }\n\n exports.keys = function(object) {\n var keys = [];\n for (var key in object) {\n keys.push(key);\n }\n keys.reverse();\n\n // Rather than returning an object with a next method, we keep\n // things simple and return the next function itself.\n return function next() {\n while (keys.length) {\n var key = keys.pop();\n if (key in object) {\n next.value = key;\n next.done = false;\n return next;\n }\n }\n\n // To avoid creating an additional object, we just hang the .value\n // and .done properties off the next function object itself. This\n // also ensures that the minifier will not anonymize the function.\n next.done = true;\n return next;\n };\n };\n\n function values(iterable) {\n if (iterable) {\n var iteratorMethod = iterable[iteratorSymbol];\n if (iteratorMethod) {\n return iteratorMethod.call(iterable);\n }\n\n if (typeof iterable.next === \"function\") {\n return iterable;\n }\n\n if (!isNaN(iterable.length)) {\n var i = -1, next = function next() {\n while (++i < iterable.length) {\n if (hasOwn.call(iterable, i)) {\n next.value = iterable[i];\n next.done = false;\n return next;\n }\n }\n\n next.value = undefined;\n next.done = true;\n\n return next;\n };\n\n return next.next = next;\n }\n }\n\n // Return an iterator with no values.\n return { next: doneResult };\n }\n exports.values = values;\n\n function doneResult() {\n return { value: undefined, done: true };\n }\n\n Context.prototype = {\n constructor: Context,\n\n reset: function(skipTempReset) {\n this.prev = 0;\n this.next = 0;\n // Resetting context._sent for legacy support of Babel's\n // function.sent implementation.\n this.sent = this._sent = undefined;\n this.done = false;\n this.delegate = null;\n\n this.method = \"next\";\n this.arg = undefined;\n\n this.tryEntries.forEach(resetTryEntry);\n\n if (!skipTempReset) {\n for (var name in this) {\n // Not sure about the optimal order of these conditions:\n if (name.charAt(0) === \"t\" &&\n hasOwn.call(this, name) &&\n !isNaN(+name.slice(1))) {\n this[name] = undefined;\n }\n }\n }\n },\n\n stop: function() {\n this.done = true;\n\n var rootEntry = this.tryEntries[0];\n var rootRecord = rootEntry.completion;\n if (rootRecord.type === \"throw\") {\n throw rootRecord.arg;\n }\n\n return this.rval;\n },\n\n dispatchException: function(exception) {\n if (this.done) {\n throw exception;\n }\n\n var context = this;\n function handle(loc, caught) {\n record.type = \"throw\";\n record.arg = exception;\n context.next = loc;\n\n if (caught) {\n // If the dispatched exception was caught by a catch block,\n // then let that catch block handle the exception normally.\n context.method = \"next\";\n context.arg = undefined;\n }\n\n return !! caught;\n }\n\n for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n var entry = this.tryEntries[i];\n var record = entry.completion;\n\n if (entry.tryLoc === \"root\") {\n // Exception thrown outside of any try block that could handle\n // it, so set the completion value of the entire function to\n // throw the exception.\n return handle(\"end\");\n }\n\n if (entry.tryLoc <= this.prev) {\n var hasCatch = hasOwn.call(entry, \"catchLoc\");\n var hasFinally = hasOwn.call(entry, \"finallyLoc\");\n\n if (hasCatch && hasFinally) {\n if (this.prev < entry.catchLoc) {\n return handle(entry.catchLoc, true);\n } else if (this.prev < entry.finallyLoc) {\n return handle(entry.finallyLoc);\n }\n\n } else if (hasCatch) {\n if (this.prev < entry.catchLoc) {\n return handle(entry.catchLoc, true);\n }\n\n } else if (hasFinally) {\n if (this.prev < entry.finallyLoc) {\n return handle(entry.finallyLoc);\n }\n\n } else {\n throw new Error(\"try statement without catch or finally\");\n }\n }\n }\n },\n\n abrupt: function(type, arg) {\n for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n var entry = this.tryEntries[i];\n if (entry.tryLoc <= this.prev &&\n hasOwn.call(entry, \"finallyLoc\") &&\n this.prev < entry.finallyLoc) {\n var finallyEntry = entry;\n break;\n }\n }\n\n if (finallyEntry &&\n (type === \"break\" ||\n type === \"continue\") &&\n finallyEntry.tryLoc <= arg &&\n arg <= finallyEntry.finallyLoc) {\n // Ignore the finally entry if control is not jumping to a\n // location outside the try/catch block.\n finallyEntry = null;\n }\n\n var record = finallyEntry ? finallyEntry.completion : {};\n record.type = type;\n record.arg = arg;\n\n if (finallyEntry) {\n this.method = \"next\";\n this.next = finallyEntry.finallyLoc;\n return ContinueSentinel;\n }\n\n return this.complete(record);\n },\n\n complete: function(record, afterLoc) {\n if (record.type === \"throw\") {\n throw record.arg;\n }\n\n if (record.type === \"break\" ||\n record.type === \"continue\") {\n this.next = record.arg;\n } else if (record.type === \"return\") {\n this.rval = this.arg = record.arg;\n this.method = \"return\";\n this.next = \"end\";\n } else if (record.type === \"normal\" && afterLoc) {\n this.next = afterLoc;\n }\n\n return ContinueSentinel;\n },\n\n finish: function(finallyLoc) {\n for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n var entry = this.tryEntries[i];\n if (entry.finallyLoc === finallyLoc) {\n this.complete(entry.completion, entry.afterLoc);\n resetTryEntry(entry);\n return ContinueSentinel;\n }\n }\n },\n\n \"catch\": function(tryLoc) {\n for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n var entry = this.tryEntries[i];\n if (entry.tryLoc === tryLoc) {\n var record = entry.completion;\n if (record.type === \"throw\") {\n var thrown = record.arg;\n resetTryEntry(entry);\n }\n return thrown;\n }\n }\n\n // The context.catch method must only be called with a location\n // argument that corresponds to a known catch block.\n throw new Error(\"illegal catch attempt\");\n },\n\n delegateYield: function(iterable, resultName, nextLoc) {\n this.delegate = {\n iterator: values(iterable),\n resultName: resultName,\n nextLoc: nextLoc\n };\n\n if (this.method === \"next\") {\n // Deliberately forget the last sent value so that we don't\n // accidentally pass it on to the delegate.\n this.arg = undefined;\n }\n\n return ContinueSentinel;\n }\n };\n\n // Regardless of whether this script is executing as a CommonJS module\n // or not, return the runtime object so that we can declare the variable\n // regeneratorRuntime in the outer scope, which allows this module to be\n // injected easily by `bin/regenerator --include-runtime script.js`.\n return exports;\n\n}(\n // If this script is executing as a CommonJS module, use module.exports\n // as the regeneratorRuntime namespace. Otherwise create a new empty\n // object. Either way, the resulting object will be used to initialize\n // the regeneratorRuntime variable at the top of this file.\n typeof module === \"object\" ? module.exports : {}\n));\n\ntry {\n regeneratorRuntime = runtime;\n} catch (accidentalStrictMode) {\n // This module should not be running in strict mode, so the above\n // assignment should always work unless something is misconfigured. Just\n // in case runtime.js accidentally runs in strict mode, we can escape\n // strict mode using a global Function call. This could conceivably fail\n // if a Content Security Policy forbids using Function, but in that case\n // the proper solution is to fix the accidental strict mode problem. If\n // you've misconfigured your bundler to force strict mode and applied a\n // CSP to forbid Function, and you're not willing to fix either of those\n // problems, please detail your unique predicament in a GitHub issue.\n Function(\"r\", \"regeneratorRuntime = r\")(runtime);\n}\n","module.exports = require(\"regenerator-runtime\");\n","import PropTypes from 'prop-types';\nimport withSideEffect from 'react-side-effect';\nimport isEqual from 'react-fast-compare';\nimport React from 'react';\nimport objectAssign from 'object-assign';\nvar ATTRIBUTE_NAMES = {\n BODY: \"bodyAttributes\",\n HTML: \"htmlAttributes\",\n TITLE: \"titleAttributes\"\n};\nvar TAG_NAMES = {\n BASE: \"base\",\n BODY: \"body\",\n HEAD: \"head\",\n HTML: \"html\",\n LINK: \"link\",\n META: \"meta\",\n NOSCRIPT: \"noscript\",\n SCRIPT: \"script\",\n STYLE: \"style\",\n TITLE: \"title\"\n};\nvar VALID_TAG_NAMES = Object.keys(TAG_NAMES).map(function (name) {\n return TAG_NAMES[name];\n});\nvar TAG_PROPERTIES = {\n CHARSET: \"charset\",\n CSS_TEXT: \"cssText\",\n HREF: \"href\",\n HTTPEQUIV: \"http-equiv\",\n INNER_HTML: \"innerHTML\",\n ITEM_PROP: \"itemprop\",\n NAME: \"name\",\n PROPERTY: \"property\",\n REL: \"rel\",\n SRC: \"src\",\n TARGET: \"target\"\n};\nvar REACT_TAG_MAP = {\n accesskey: \"accessKey\",\n charset: \"charSet\",\n class: \"className\",\n contenteditable: \"contentEditable\",\n contextmenu: \"contextMenu\",\n \"http-equiv\": \"httpEquiv\",\n itemprop: \"itemProp\",\n tabindex: \"tabIndex\"\n};\nvar HELMET_PROPS = {\n DEFAULT_TITLE: \"defaultTitle\",\n DEFER: \"defer\",\n ENCODE_SPECIAL_CHARACTERS: \"encodeSpecialCharacters\",\n ON_CHANGE_CLIENT_STATE: \"onChangeClientState\",\n TITLE_TEMPLATE: \"titleTemplate\"\n};\nvar HTML_TAG_MAP = Object.keys(REACT_TAG_MAP).reduce(function (obj, key) {\n obj[REACT_TAG_MAP[key]] = key;\n return obj;\n}, {});\nvar SELF_CLOSING_TAGS = [TAG_NAMES.NOSCRIPT, TAG_NAMES.SCRIPT, TAG_NAMES.STYLE];\nvar HELMET_ATTRIBUTE = \"data-react-helmet\";\n\nvar _typeof = typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\" ? function (obj) {\n return typeof obj;\n} : function (obj) {\n return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj;\n};\n\nvar classCallCheck = function classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n};\n\nvar createClass = function () {\n function defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if (\"value\" in descriptor) descriptor.writable = true;\n Object.defineProperty(target, descriptor.key, descriptor);\n }\n }\n\n return function (Constructor, protoProps, staticProps) {\n if (protoProps) defineProperties(Constructor.prototype, protoProps);\n if (staticProps) defineProperties(Constructor, staticProps);\n return Constructor;\n };\n}();\n\nvar _extends = Object.assign || function (target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i];\n\n for (var key in source) {\n if (Object.prototype.hasOwnProperty.call(source, key)) {\n target[key] = source[key];\n }\n }\n }\n\n return target;\n};\n\nvar inherits = function inherits(subClass, superClass) {\n if (typeof superClass !== \"function\" && superClass !== null) {\n throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass);\n }\n\n subClass.prototype = Object.create(superClass && superClass.prototype, {\n constructor: {\n value: subClass,\n enumerable: false,\n writable: true,\n configurable: true\n }\n });\n if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass;\n};\n\nvar objectWithoutProperties = function objectWithoutProperties(obj, keys) {\n var target = {};\n\n for (var i in obj) {\n if (keys.indexOf(i) >= 0) continue;\n if (!Object.prototype.hasOwnProperty.call(obj, i)) continue;\n target[i] = obj[i];\n }\n\n return target;\n};\n\nvar possibleConstructorReturn = function possibleConstructorReturn(self, call) {\n if (!self) {\n throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");\n }\n\n return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self;\n};\n\nvar encodeSpecialCharacters = function encodeSpecialCharacters(str) {\n var encode = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : true;\n\n if (encode === false) {\n return String(str);\n }\n\n return String(str).replace(/&/g, \"&\").replace(//g, \">\").replace(/\"/g, \""\").replace(/'/g, \"'\");\n};\n\nvar getTitleFromPropsList = function getTitleFromPropsList(propsList) {\n var innermostTitle = getInnermostProperty(propsList, TAG_NAMES.TITLE);\n var innermostTemplate = getInnermostProperty(propsList, HELMET_PROPS.TITLE_TEMPLATE);\n\n if (innermostTemplate && innermostTitle) {\n // use function arg to avoid need to escape $ characters\n return innermostTemplate.replace(/%s/g, function () {\n return Array.isArray(innermostTitle) ? innermostTitle.join(\"\") : innermostTitle;\n });\n }\n\n var innermostDefaultTitle = getInnermostProperty(propsList, HELMET_PROPS.DEFAULT_TITLE);\n return innermostTitle || innermostDefaultTitle || undefined;\n};\n\nvar getOnChangeClientState = function getOnChangeClientState(propsList) {\n return getInnermostProperty(propsList, HELMET_PROPS.ON_CHANGE_CLIENT_STATE) || function () {};\n};\n\nvar getAttributesFromPropsList = function getAttributesFromPropsList(tagType, propsList) {\n return propsList.filter(function (props) {\n return typeof props[tagType] !== \"undefined\";\n }).map(function (props) {\n return props[tagType];\n }).reduce(function (tagAttrs, current) {\n return _extends({}, tagAttrs, current);\n }, {});\n};\n\nvar getBaseTagFromPropsList = function getBaseTagFromPropsList(primaryAttributes, propsList) {\n return propsList.filter(function (props) {\n return typeof props[TAG_NAMES.BASE] !== \"undefined\";\n }).map(function (props) {\n return props[TAG_NAMES.BASE];\n }).reverse().reduce(function (innermostBaseTag, tag) {\n if (!innermostBaseTag.length) {\n var keys = Object.keys(tag);\n\n for (var i = 0; i < keys.length; i++) {\n var attributeKey = keys[i];\n var lowerCaseAttributeKey = attributeKey.toLowerCase();\n\n if (primaryAttributes.indexOf(lowerCaseAttributeKey) !== -1 && tag[lowerCaseAttributeKey]) {\n return innermostBaseTag.concat(tag);\n }\n }\n }\n\n return innermostBaseTag;\n }, []);\n};\n\nvar getTagsFromPropsList = function getTagsFromPropsList(tagName, primaryAttributes, propsList) {\n // Calculate list of tags, giving priority innermost component (end of the propslist)\n var approvedSeenTags = {};\n return propsList.filter(function (props) {\n if (Array.isArray(props[tagName])) {\n return true;\n }\n\n if (typeof props[tagName] !== \"undefined\") {\n warn(\"Helmet: \" + tagName + \" should be of type \\\"Array\\\". Instead found type \\\"\" + _typeof(props[tagName]) + \"\\\"\");\n }\n\n return false;\n }).map(function (props) {\n return props[tagName];\n }).reverse().reduce(function (approvedTags, instanceTags) {\n var instanceSeenTags = {};\n instanceTags.filter(function (tag) {\n var primaryAttributeKey = void 0;\n var keys = Object.keys(tag);\n\n for (var i = 0; i < keys.length; i++) {\n var attributeKey = keys[i];\n var lowerCaseAttributeKey = attributeKey.toLowerCase(); // Special rule with link tags, since rel and href are both primary tags, rel takes priority\n\n if (primaryAttributes.indexOf(lowerCaseAttributeKey) !== -1 && !(primaryAttributeKey === TAG_PROPERTIES.REL && tag[primaryAttributeKey].toLowerCase() === \"canonical\") && !(lowerCaseAttributeKey === TAG_PROPERTIES.REL && tag[lowerCaseAttributeKey].toLowerCase() === \"stylesheet\")) {\n primaryAttributeKey = lowerCaseAttributeKey;\n } // Special case for innerHTML which doesn't work lowercased\n\n\n if (primaryAttributes.indexOf(attributeKey) !== -1 && (attributeKey === TAG_PROPERTIES.INNER_HTML || attributeKey === TAG_PROPERTIES.CSS_TEXT || attributeKey === TAG_PROPERTIES.ITEM_PROP)) {\n primaryAttributeKey = attributeKey;\n }\n }\n\n if (!primaryAttributeKey || !tag[primaryAttributeKey]) {\n return false;\n }\n\n var value = tag[primaryAttributeKey].toLowerCase();\n\n if (!approvedSeenTags[primaryAttributeKey]) {\n approvedSeenTags[primaryAttributeKey] = {};\n }\n\n if (!instanceSeenTags[primaryAttributeKey]) {\n instanceSeenTags[primaryAttributeKey] = {};\n }\n\n if (!approvedSeenTags[primaryAttributeKey][value]) {\n instanceSeenTags[primaryAttributeKey][value] = true;\n return true;\n }\n\n return false;\n }).reverse().forEach(function (tag) {\n return approvedTags.push(tag);\n }); // Update seen tags with tags from this instance\n\n var keys = Object.keys(instanceSeenTags);\n\n for (var i = 0; i < keys.length; i++) {\n var attributeKey = keys[i];\n var tagUnion = objectAssign({}, approvedSeenTags[attributeKey], instanceSeenTags[attributeKey]);\n approvedSeenTags[attributeKey] = tagUnion;\n }\n\n return approvedTags;\n }, []).reverse();\n};\n\nvar getInnermostProperty = function getInnermostProperty(propsList, property) {\n for (var i = propsList.length - 1; i >= 0; i--) {\n var props = propsList[i];\n\n if (props.hasOwnProperty(property)) {\n return props[property];\n }\n }\n\n return null;\n};\n\nvar reducePropsToState = function reducePropsToState(propsList) {\n return {\n baseTag: getBaseTagFromPropsList([TAG_PROPERTIES.HREF, TAG_PROPERTIES.TARGET], propsList),\n bodyAttributes: getAttributesFromPropsList(ATTRIBUTE_NAMES.BODY, propsList),\n defer: getInnermostProperty(propsList, HELMET_PROPS.DEFER),\n encode: getInnermostProperty(propsList, HELMET_PROPS.ENCODE_SPECIAL_CHARACTERS),\n htmlAttributes: getAttributesFromPropsList(ATTRIBUTE_NAMES.HTML, propsList),\n linkTags: getTagsFromPropsList(TAG_NAMES.LINK, [TAG_PROPERTIES.REL, TAG_PROPERTIES.HREF], propsList),\n metaTags: getTagsFromPropsList(TAG_NAMES.META, [TAG_PROPERTIES.NAME, TAG_PROPERTIES.CHARSET, TAG_PROPERTIES.HTTPEQUIV, TAG_PROPERTIES.PROPERTY, TAG_PROPERTIES.ITEM_PROP], propsList),\n noscriptTags: getTagsFromPropsList(TAG_NAMES.NOSCRIPT, [TAG_PROPERTIES.INNER_HTML], propsList),\n onChangeClientState: getOnChangeClientState(propsList),\n scriptTags: getTagsFromPropsList(TAG_NAMES.SCRIPT, [TAG_PROPERTIES.SRC, TAG_PROPERTIES.INNER_HTML], propsList),\n styleTags: getTagsFromPropsList(TAG_NAMES.STYLE, [TAG_PROPERTIES.CSS_TEXT], propsList),\n title: getTitleFromPropsList(propsList),\n titleAttributes: getAttributesFromPropsList(ATTRIBUTE_NAMES.TITLE, propsList)\n };\n};\n\nvar rafPolyfill = function () {\n var clock = Date.now();\n return function (callback) {\n var currentTime = Date.now();\n\n if (currentTime - clock > 16) {\n clock = currentTime;\n callback(currentTime);\n } else {\n setTimeout(function () {\n rafPolyfill(callback);\n }, 0);\n }\n };\n}();\n\nvar cafPolyfill = function cafPolyfill(id) {\n return clearTimeout(id);\n};\n\nvar requestAnimationFrame = typeof window !== \"undefined\" ? window.requestAnimationFrame && window.requestAnimationFrame.bind(window) || window.webkitRequestAnimationFrame || window.mozRequestAnimationFrame || rafPolyfill : global.requestAnimationFrame || rafPolyfill;\nvar cancelAnimationFrame = typeof window !== \"undefined\" ? window.cancelAnimationFrame || window.webkitCancelAnimationFrame || window.mozCancelAnimationFrame || cafPolyfill : global.cancelAnimationFrame || cafPolyfill;\n\nvar warn = function warn(msg) {\n return console && typeof console.warn === \"function\" && console.warn(msg);\n};\n\nvar _helmetCallback = null;\n\nvar handleClientStateChange = function handleClientStateChange(newState) {\n if (_helmetCallback) {\n cancelAnimationFrame(_helmetCallback);\n }\n\n if (newState.defer) {\n _helmetCallback = requestAnimationFrame(function () {\n commitTagChanges(newState, function () {\n _helmetCallback = null;\n });\n });\n } else {\n commitTagChanges(newState);\n _helmetCallback = null;\n }\n};\n\nvar commitTagChanges = function commitTagChanges(newState, cb) {\n var baseTag = newState.baseTag,\n bodyAttributes = newState.bodyAttributes,\n htmlAttributes = newState.htmlAttributes,\n linkTags = newState.linkTags,\n metaTags = newState.metaTags,\n noscriptTags = newState.noscriptTags,\n onChangeClientState = newState.onChangeClientState,\n scriptTags = newState.scriptTags,\n styleTags = newState.styleTags,\n title = newState.title,\n titleAttributes = newState.titleAttributes;\n updateAttributes(TAG_NAMES.BODY, bodyAttributes);\n updateAttributes(TAG_NAMES.HTML, htmlAttributes);\n updateTitle(title, titleAttributes);\n var tagUpdates = {\n baseTag: updateTags(TAG_NAMES.BASE, baseTag),\n linkTags: updateTags(TAG_NAMES.LINK, linkTags),\n metaTags: updateTags(TAG_NAMES.META, metaTags),\n noscriptTags: updateTags(TAG_NAMES.NOSCRIPT, noscriptTags),\n scriptTags: updateTags(TAG_NAMES.SCRIPT, scriptTags),\n styleTags: updateTags(TAG_NAMES.STYLE, styleTags)\n };\n var addedTags = {};\n var removedTags = {};\n Object.keys(tagUpdates).forEach(function (tagType) {\n var _tagUpdates$tagType = tagUpdates[tagType],\n newTags = _tagUpdates$tagType.newTags,\n oldTags = _tagUpdates$tagType.oldTags;\n\n if (newTags.length) {\n addedTags[tagType] = newTags;\n }\n\n if (oldTags.length) {\n removedTags[tagType] = tagUpdates[tagType].oldTags;\n }\n });\n cb && cb();\n onChangeClientState(newState, addedTags, removedTags);\n};\n\nvar flattenArray = function flattenArray(possibleArray) {\n return Array.isArray(possibleArray) ? possibleArray.join(\"\") : possibleArray;\n};\n\nvar updateTitle = function updateTitle(title, attributes) {\n if (typeof title !== \"undefined\" && document.title !== title) {\n document.title = flattenArray(title);\n }\n\n updateAttributes(TAG_NAMES.TITLE, attributes);\n};\n\nvar updateAttributes = function updateAttributes(tagName, attributes) {\n var elementTag = document.getElementsByTagName(tagName)[0];\n\n if (!elementTag) {\n return;\n }\n\n var helmetAttributeString = elementTag.getAttribute(HELMET_ATTRIBUTE);\n var helmetAttributes = helmetAttributeString ? helmetAttributeString.split(\",\") : [];\n var attributesToRemove = [].concat(helmetAttributes);\n var attributeKeys = Object.keys(attributes);\n\n for (var i = 0; i < attributeKeys.length; i++) {\n var attribute = attributeKeys[i];\n var value = attributes[attribute] || \"\";\n\n if (elementTag.getAttribute(attribute) !== value) {\n elementTag.setAttribute(attribute, value);\n }\n\n if (helmetAttributes.indexOf(attribute) === -1) {\n helmetAttributes.push(attribute);\n }\n\n var indexToSave = attributesToRemove.indexOf(attribute);\n\n if (indexToSave !== -1) {\n attributesToRemove.splice(indexToSave, 1);\n }\n }\n\n for (var _i = attributesToRemove.length - 1; _i >= 0; _i--) {\n elementTag.removeAttribute(attributesToRemove[_i]);\n }\n\n if (helmetAttributes.length === attributesToRemove.length) {\n elementTag.removeAttribute(HELMET_ATTRIBUTE);\n } else if (elementTag.getAttribute(HELMET_ATTRIBUTE) !== attributeKeys.join(\",\")) {\n elementTag.setAttribute(HELMET_ATTRIBUTE, attributeKeys.join(\",\"));\n }\n};\n\nvar updateTags = function updateTags(type, tags) {\n var headElement = document.head || document.querySelector(TAG_NAMES.HEAD);\n var tagNodes = headElement.querySelectorAll(type + \"[\" + HELMET_ATTRIBUTE + \"]\");\n var oldTags = Array.prototype.slice.call(tagNodes);\n var newTags = [];\n var indexToDelete = void 0;\n\n if (tags && tags.length) {\n tags.forEach(function (tag) {\n var newElement = document.createElement(type);\n\n for (var attribute in tag) {\n if (tag.hasOwnProperty(attribute)) {\n if (attribute === TAG_PROPERTIES.INNER_HTML) {\n newElement.innerHTML = tag.innerHTML;\n } else if (attribute === TAG_PROPERTIES.CSS_TEXT) {\n if (newElement.styleSheet) {\n newElement.styleSheet.cssText = tag.cssText;\n } else {\n newElement.appendChild(document.createTextNode(tag.cssText));\n }\n } else {\n var value = typeof tag[attribute] === \"undefined\" ? \"\" : tag[attribute];\n newElement.setAttribute(attribute, value);\n }\n }\n }\n\n newElement.setAttribute(HELMET_ATTRIBUTE, \"true\"); // Remove a duplicate tag from domTagstoRemove, so it isn't cleared.\n\n if (oldTags.some(function (existingTag, index) {\n indexToDelete = index;\n return newElement.isEqualNode(existingTag);\n })) {\n oldTags.splice(indexToDelete, 1);\n } else {\n newTags.push(newElement);\n }\n });\n }\n\n oldTags.forEach(function (tag) {\n return tag.parentNode.removeChild(tag);\n });\n newTags.forEach(function (tag) {\n return headElement.appendChild(tag);\n });\n return {\n oldTags: oldTags,\n newTags: newTags\n };\n};\n\nvar generateElementAttributesAsString = function generateElementAttributesAsString(attributes) {\n return Object.keys(attributes).reduce(function (str, key) {\n var attr = typeof attributes[key] !== \"undefined\" ? key + \"=\\\"\" + attributes[key] + \"\\\"\" : \"\" + key;\n return str ? str + \" \" + attr : attr;\n }, \"\");\n};\n\nvar generateTitleAsString = function generateTitleAsString(type, title, attributes, encode) {\n var attributeString = generateElementAttributesAsString(attributes);\n var flattenedTitle = flattenArray(title);\n return attributeString ? \"<\" + type + \" \" + HELMET_ATTRIBUTE + \"=\\\"true\\\" \" + attributeString + \">\" + encodeSpecialCharacters(flattenedTitle, encode) + \"\" : \"<\" + type + \" \" + HELMET_ATTRIBUTE + \"=\\\"true\\\">\" + encodeSpecialCharacters(flattenedTitle, encode) + \"\";\n};\n\nvar generateTagsAsString = function generateTagsAsString(type, tags, encode) {\n return tags.reduce(function (str, tag) {\n var attributeHtml = Object.keys(tag).filter(function (attribute) {\n return !(attribute === TAG_PROPERTIES.INNER_HTML || attribute === TAG_PROPERTIES.CSS_TEXT);\n }).reduce(function (string, attribute) {\n var attr = typeof tag[attribute] === \"undefined\" ? attribute : attribute + \"=\\\"\" + encodeSpecialCharacters(tag[attribute], encode) + \"\\\"\";\n return string ? string + \" \" + attr : attr;\n }, \"\");\n var tagContent = tag.innerHTML || tag.cssText || \"\";\n var isSelfClosing = SELF_CLOSING_TAGS.indexOf(type) === -1;\n return str + \"<\" + type + \" \" + HELMET_ATTRIBUTE + \"=\\\"true\\\" \" + attributeHtml + (isSelfClosing ? \"/>\" : \">\" + tagContent + \"\");\n }, \"\");\n};\n\nvar convertElementAttributestoReactProps = function convertElementAttributestoReactProps(attributes) {\n var initProps = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n return Object.keys(attributes).reduce(function (obj, key) {\n obj[REACT_TAG_MAP[key] || key] = attributes[key];\n return obj;\n }, initProps);\n};\n\nvar convertReactPropstoHtmlAttributes = function convertReactPropstoHtmlAttributes(props) {\n var initAttributes = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n return Object.keys(props).reduce(function (obj, key) {\n obj[HTML_TAG_MAP[key] || key] = props[key];\n return obj;\n }, initAttributes);\n};\n\nvar generateTitleAsReactComponent = function generateTitleAsReactComponent(type, title, attributes) {\n var _initProps; // assigning into an array to define toString function on it\n\n\n var initProps = (_initProps = {\n key: title\n }, _initProps[HELMET_ATTRIBUTE] = true, _initProps);\n var props = convertElementAttributestoReactProps(attributes, initProps);\n return [React.createElement(TAG_NAMES.TITLE, props, title)];\n};\n\nvar generateTagsAsReactComponent = function generateTagsAsReactComponent(type, tags) {\n return tags.map(function (tag, i) {\n var _mappedTag;\n\n var mappedTag = (_mappedTag = {\n key: i\n }, _mappedTag[HELMET_ATTRIBUTE] = true, _mappedTag);\n Object.keys(tag).forEach(function (attribute) {\n var mappedAttribute = REACT_TAG_MAP[attribute] || attribute;\n\n if (mappedAttribute === TAG_PROPERTIES.INNER_HTML || mappedAttribute === TAG_PROPERTIES.CSS_TEXT) {\n var content = tag.innerHTML || tag.cssText;\n mappedTag.dangerouslySetInnerHTML = {\n __html: content\n };\n } else {\n mappedTag[mappedAttribute] = tag[attribute];\n }\n });\n return React.createElement(type, mappedTag);\n });\n};\n\nvar getMethodsForTag = function getMethodsForTag(type, tags, encode) {\n switch (type) {\n case TAG_NAMES.TITLE:\n return {\n toComponent: function toComponent() {\n return generateTitleAsReactComponent(type, tags.title, tags.titleAttributes, encode);\n },\n toString: function toString() {\n return generateTitleAsString(type, tags.title, tags.titleAttributes, encode);\n }\n };\n\n case ATTRIBUTE_NAMES.BODY:\n case ATTRIBUTE_NAMES.HTML:\n return {\n toComponent: function toComponent() {\n return convertElementAttributestoReactProps(tags);\n },\n toString: function toString() {\n return generateElementAttributesAsString(tags);\n }\n };\n\n default:\n return {\n toComponent: function toComponent() {\n return generateTagsAsReactComponent(type, tags);\n },\n toString: function toString() {\n return generateTagsAsString(type, tags, encode);\n }\n };\n }\n};\n\nvar mapStateOnServer = function mapStateOnServer(_ref) {\n var baseTag = _ref.baseTag,\n bodyAttributes = _ref.bodyAttributes,\n encode = _ref.encode,\n htmlAttributes = _ref.htmlAttributes,\n linkTags = _ref.linkTags,\n metaTags = _ref.metaTags,\n noscriptTags = _ref.noscriptTags,\n scriptTags = _ref.scriptTags,\n styleTags = _ref.styleTags,\n _ref$title = _ref.title,\n title = _ref$title === undefined ? \"\" : _ref$title,\n titleAttributes = _ref.titleAttributes;\n return {\n base: getMethodsForTag(TAG_NAMES.BASE, baseTag, encode),\n bodyAttributes: getMethodsForTag(ATTRIBUTE_NAMES.BODY, bodyAttributes, encode),\n htmlAttributes: getMethodsForTag(ATTRIBUTE_NAMES.HTML, htmlAttributes, encode),\n link: getMethodsForTag(TAG_NAMES.LINK, linkTags, encode),\n meta: getMethodsForTag(TAG_NAMES.META, metaTags, encode),\n noscript: getMethodsForTag(TAG_NAMES.NOSCRIPT, noscriptTags, encode),\n script: getMethodsForTag(TAG_NAMES.SCRIPT, scriptTags, encode),\n style: getMethodsForTag(TAG_NAMES.STYLE, styleTags, encode),\n title: getMethodsForTag(TAG_NAMES.TITLE, {\n title: title,\n titleAttributes: titleAttributes\n }, encode)\n };\n};\n\nvar Helmet = function Helmet(Component) {\n var _class, _temp;\n\n return _temp = _class = function (_React$Component) {\n inherits(HelmetWrapper, _React$Component);\n\n function HelmetWrapper() {\n classCallCheck(this, HelmetWrapper);\n return possibleConstructorReturn(this, _React$Component.apply(this, arguments));\n }\n\n HelmetWrapper.prototype.shouldComponentUpdate = function shouldComponentUpdate(nextProps) {\n return !isEqual(this.props, nextProps);\n };\n\n HelmetWrapper.prototype.mapNestedChildrenToProps = function mapNestedChildrenToProps(child, nestedChildren) {\n if (!nestedChildren) {\n return null;\n }\n\n switch (child.type) {\n case TAG_NAMES.SCRIPT:\n case TAG_NAMES.NOSCRIPT:\n return {\n innerHTML: nestedChildren\n };\n\n case TAG_NAMES.STYLE:\n return {\n cssText: nestedChildren\n };\n }\n\n throw new Error(\"<\" + child.type + \" /> elements are self-closing and can not contain children. Refer to our API for more information.\");\n };\n\n HelmetWrapper.prototype.flattenArrayTypeChildren = function flattenArrayTypeChildren(_ref) {\n var _babelHelpers$extends;\n\n var child = _ref.child,\n arrayTypeChildren = _ref.arrayTypeChildren,\n newChildProps = _ref.newChildProps,\n nestedChildren = _ref.nestedChildren;\n return _extends({}, arrayTypeChildren, (_babelHelpers$extends = {}, _babelHelpers$extends[child.type] = [].concat(arrayTypeChildren[child.type] || [], [_extends({}, newChildProps, this.mapNestedChildrenToProps(child, nestedChildren))]), _babelHelpers$extends));\n };\n\n HelmetWrapper.prototype.mapObjectTypeChildren = function mapObjectTypeChildren(_ref2) {\n var _babelHelpers$extends2, _babelHelpers$extends3;\n\n var child = _ref2.child,\n newProps = _ref2.newProps,\n newChildProps = _ref2.newChildProps,\n nestedChildren = _ref2.nestedChildren;\n\n switch (child.type) {\n case TAG_NAMES.TITLE:\n return _extends({}, newProps, (_babelHelpers$extends2 = {}, _babelHelpers$extends2[child.type] = nestedChildren, _babelHelpers$extends2.titleAttributes = _extends({}, newChildProps), _babelHelpers$extends2));\n\n case TAG_NAMES.BODY:\n return _extends({}, newProps, {\n bodyAttributes: _extends({}, newChildProps)\n });\n\n case TAG_NAMES.HTML:\n return _extends({}, newProps, {\n htmlAttributes: _extends({}, newChildProps)\n });\n }\n\n return _extends({}, newProps, (_babelHelpers$extends3 = {}, _babelHelpers$extends3[child.type] = _extends({}, newChildProps), _babelHelpers$extends3));\n };\n\n HelmetWrapper.prototype.mapArrayTypeChildrenToProps = function mapArrayTypeChildrenToProps(arrayTypeChildren, newProps) {\n var newFlattenedProps = _extends({}, newProps);\n\n Object.keys(arrayTypeChildren).forEach(function (arrayChildName) {\n var _babelHelpers$extends4;\n\n newFlattenedProps = _extends({}, newFlattenedProps, (_babelHelpers$extends4 = {}, _babelHelpers$extends4[arrayChildName] = arrayTypeChildren[arrayChildName], _babelHelpers$extends4));\n });\n return newFlattenedProps;\n };\n\n HelmetWrapper.prototype.warnOnInvalidChildren = function warnOnInvalidChildren(child, nestedChildren) {\n if (process.env.NODE_ENV !== \"production\") {\n if (!VALID_TAG_NAMES.some(function (name) {\n return child.type === name;\n })) {\n if (typeof child.type === \"function\") {\n return warn(\"You may be attempting to nest components within each other, which is not allowed. Refer to our API for more information.\");\n }\n\n return warn(\"Only elements types \" + VALID_TAG_NAMES.join(\", \") + \" are allowed. Helmet does not support rendering <\" + child.type + \"> elements. Refer to our API for more information.\");\n }\n\n if (nestedChildren && typeof nestedChildren !== \"string\" && (!Array.isArray(nestedChildren) || nestedChildren.some(function (nestedChild) {\n return typeof nestedChild !== \"string\";\n }))) {\n throw new Error(\"Helmet expects a string as a child of <\" + child.type + \">. Did you forget to wrap your children in braces? ( <\" + child.type + \">{``} ) Refer to our API for more information.\");\n }\n }\n\n return true;\n };\n\n HelmetWrapper.prototype.mapChildrenToProps = function mapChildrenToProps(children, newProps) {\n var _this2 = this;\n\n var arrayTypeChildren = {};\n React.Children.forEach(children, function (child) {\n if (!child || !child.props) {\n return;\n }\n\n var _child$props = child.props,\n nestedChildren = _child$props.children,\n childProps = objectWithoutProperties(_child$props, [\"children\"]);\n var newChildProps = convertReactPropstoHtmlAttributes(childProps);\n\n _this2.warnOnInvalidChildren(child, nestedChildren);\n\n switch (child.type) {\n case TAG_NAMES.LINK:\n case TAG_NAMES.META:\n case TAG_NAMES.NOSCRIPT:\n case TAG_NAMES.SCRIPT:\n case TAG_NAMES.STYLE:\n arrayTypeChildren = _this2.flattenArrayTypeChildren({\n child: child,\n arrayTypeChildren: arrayTypeChildren,\n newChildProps: newChildProps,\n nestedChildren: nestedChildren\n });\n break;\n\n default:\n newProps = _this2.mapObjectTypeChildren({\n child: child,\n newProps: newProps,\n newChildProps: newChildProps,\n nestedChildren: nestedChildren\n });\n break;\n }\n });\n newProps = this.mapArrayTypeChildrenToProps(arrayTypeChildren, newProps);\n return newProps;\n };\n\n HelmetWrapper.prototype.render = function render() {\n var _props = this.props,\n children = _props.children,\n props = objectWithoutProperties(_props, [\"children\"]);\n\n var newProps = _extends({}, props);\n\n if (children) {\n newProps = this.mapChildrenToProps(children, newProps);\n }\n\n return React.createElement(Component, newProps);\n };\n\n createClass(HelmetWrapper, null, [{\n key: \"canUseDOM\",\n // Component.peek comes from react-side-effect:\n // For testing, you may use a static peek() method available on the returned component.\n // It lets you get the current state without resetting the mounted instance stack.\n // Don’t use it for anything other than testing.\n\n /**\n * @param {Object} base: {\"target\": \"_blank\", \"href\": \"http://mysite.com/\"}\n * @param {Object} bodyAttributes: {\"className\": \"root\"}\n * @param {String} defaultTitle: \"Default Title\"\n * @param {Boolean} defer: true\n * @param {Boolean} encodeSpecialCharacters: true\n * @param {Object} htmlAttributes: {\"lang\": \"en\", \"amp\": undefined}\n * @param {Array} link: [{\"rel\": \"canonical\", \"href\": \"http://mysite.com/example\"}]\n * @param {Array} meta: [{\"name\": \"description\", \"content\": \"Test description\"}]\n * @param {Array} noscript: [{\"innerHTML\": \" console.log(newState)\"\n * @param {Array} script: [{\"type\": \"text/javascript\", \"src\": \"http://mysite.com/js/test.js\"}]\n * @param {Array} style: [{\"type\": \"text/css\", \"cssText\": \"div { display: block; color: blue; }\"}]\n * @param {String} title: \"Title\"\n * @param {Object} titleAttributes: {\"itemprop\": \"name\"}\n * @param {String} titleTemplate: \"MySite.com - %s\"\n */\n set: function set$$1(canUseDOM) {\n Component.canUseDOM = canUseDOM;\n }\n }]);\n return HelmetWrapper;\n }(React.Component), _class.propTypes = {\n base: PropTypes.object,\n bodyAttributes: PropTypes.object,\n children: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.node), PropTypes.node]),\n defaultTitle: PropTypes.string,\n defer: PropTypes.bool,\n encodeSpecialCharacters: PropTypes.bool,\n htmlAttributes: PropTypes.object,\n link: PropTypes.arrayOf(PropTypes.object),\n meta: PropTypes.arrayOf(PropTypes.object),\n noscript: PropTypes.arrayOf(PropTypes.object),\n onChangeClientState: PropTypes.func,\n script: PropTypes.arrayOf(PropTypes.object),\n style: PropTypes.arrayOf(PropTypes.object),\n title: PropTypes.string,\n titleAttributes: PropTypes.object,\n titleTemplate: PropTypes.string\n }, _class.defaultProps = {\n defer: true,\n encodeSpecialCharacters: true\n }, _class.peek = Component.peek, _class.rewind = function () {\n var mappedState = Component.rewind();\n\n if (!mappedState) {\n // provide fallback if mappedState is undefined\n mappedState = mapStateOnServer({\n baseTag: [],\n bodyAttributes: {},\n encodeSpecialCharacters: true,\n htmlAttributes: {},\n linkTags: [],\n metaTags: [],\n noscriptTags: [],\n scriptTags: [],\n styleTags: [],\n title: \"\",\n titleAttributes: {}\n });\n }\n\n return mappedState;\n }, _temp;\n};\n\nvar NullComponent = function NullComponent() {\n return null;\n};\n\nvar HelmetSideEffects = withSideEffect(reducePropsToState, handleClientStateChange, mapStateOnServer)(NullComponent);\nvar HelmetExport = Helmet(HelmetSideEffects);\nHelmetExport.renderStatic = HelmetExport.rewind;\nexport default HelmetExport;\nexport { HelmetExport as Helmet };","\"use strict\";\n\nexports.__esModule = true;\n\nvar _reactI18next = require(\"react-i18next\");\n\nObject.keys(_reactI18next).forEach(function (key) {\n if (key === \"default\" || key === \"__esModule\") return;\n exports[key] = _reactI18next[key];\n});\n\nvar _i18nextContext = require(\"./i18nextContext\");\n\nObject.keys(_i18nextContext).forEach(function (key) {\n if (key === \"default\" || key === \"__esModule\") return;\n exports[key] = _i18nextContext[key];\n});\n\nvar _useI18next = require(\"./useI18next\");\n\nObject.keys(_useI18next).forEach(function (key) {\n if (key === \"default\" || key === \"__esModule\") return;\n exports[key] = _useI18next[key];\n});\n\nvar _Link = require(\"./Link\");\n\nObject.keys(_Link).forEach(function (key) {\n if (key === \"default\" || key === \"__esModule\") return;\n exports[key] = _Link[key];\n});\n\nvar _Helmet = require(\"./Helmet\");\n\nObject.keys(_Helmet).forEach(function (key) {\n if (key === \"default\" || key === \"__esModule\") return;\n exports[key] = _Helmet[key];\n});","function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) {\n try {\n var info = gen[key](arg);\n var value = info.value;\n } catch (error) {\n reject(error);\n return;\n }\n\n if (info.done) {\n resolve(value);\n } else {\n Promise.resolve(value).then(_next, _throw);\n }\n}\n\nexport default function _asyncToGenerator(fn) {\n return function () {\n var self = this,\n args = arguments;\n return new Promise(function (resolve, reject) {\n var gen = fn.apply(self, args);\n\n function _next(value) {\n asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"next\", value);\n }\n\n function _throw(err) {\n asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"throw\", err);\n }\n\n _next(undefined);\n });\n };\n}","import React, { ChangeEvent, useState } from \"react\";\nimport addToMailchimp from \"gatsby-plugin-mailchimp\";\n\ninterface ApiResponse {\n\tresult: string;\n\tmsg: string;\n}\n\nconst Newsletter = () => {\n\tconst [email, setEmail] = useState(\"\");\n\tconst [data, setData] = useState(undefined);\n\n\tconst handleSubmit = async (e: React.FormEvent) => {\n\t\te.preventDefault();\n\t\te.stopPropagation();\n\n const response: ApiResponse = await addToMailchimp(email);\n\n\t\tif (response.result === \"success\") setEmail(\"\");\n\n\t\tsetData(response);\n\t};\n\n const handleEmailInput = (e: ChangeEvent) => {\n const value = e.target.value;\n setEmail(value.trim());\n setData(undefined);\n };\n\n return (\n
\n
\n {/* Title */}\n

\n Subscribe to our newsletter\n

\n {/* Email input and Submit button */}\n
\n \n \n Subscribe\n \n
\n {/* Message */}\n {data && (\n \n {data.msg}\n
\n )}\n {/* Subscription text */}\n

\n By signing up, you agree to our{\" \"}\n \n Privacy Policy\n \n .\n

\n \n \n );\n};\n\nexport default Newsletter;\n"],"sourceRoot":""}