{"version":3,"file":"commons-563e522787c4f532ebb9.js","mappings":"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","sources":["webpack://lineup-website/./node_modules/@keepist/react-gdpr-cookie-banner/dist/index.js","webpack://lineup-website/./node_modules/aos/dist/aos.js","webpack://lineup-website/./node_modules/camelcase/index.js","webpack://lineup-website/../src/image-utils.ts","webpack://lineup-website/../src/components/hooks.ts","webpack://lineup-website/../src/components/layout-wrapper.tsx","webpack://lineup-website/../src/components/picture.tsx","webpack://lineup-website/../src/components/placeholder.tsx","webpack://lineup-website/../src/components/main-image.tsx","webpack://lineup-website/../src/components/gatsby-image.server.tsx","webpack://lineup-website/../src/components/gatsby-image.browser.tsx","webpack://lineup-website/../src/components/static-image.server.tsx","webpack://lineup-website/../src/components/static-image.tsx","webpack://lineup-website/./node_modules/gatsby-plugin-next-seo/lib/index.js","webpack://lineup-website/./node_modules/gatsby-plugin-next-seo/lib/jsonld/article.js","webpack://lineup-website/./node_modules/gatsby-plugin-next-seo/lib/jsonld/blog.js","webpack://lineup-website/./node_modules/gatsby-plugin-next-seo/lib/jsonld/book.js","webpack://lineup-website/./node_modules/gatsby-plugin-next-seo/lib/jsonld/breadcrumb.js","webpack://lineup-website/./node_modules/gatsby-plugin-next-seo/lib/jsonld/corporate-contact.js","webpack://lineup-website/./node_modules/gatsby-plugin-next-seo/lib/jsonld/course.js","webpack://lineup-website/./node_modules/gatsby-plugin-next-seo/lib/jsonld/faq.js","webpack://lineup-website/./node_modules/gatsby-plugin-next-seo/lib/jsonld/index.js","webpack://lineup-website/./node_modules/gatsby-plugin-next-seo/lib/jsonld/jsonld.js","webpack://lineup-website/./node_modules/gatsby-plugin-next-seo/lib/jsonld/local-business.js","webpack://lineup-website/./node_modules/gatsby-plugin-next-seo/lib/jsonld/logo.js","webpack://lineup-website/./node_modules/gatsby-plugin-next-seo/lib/jsonld/product.js","webpack://lineup-website/./node_modules/gatsby-plugin-next-seo/lib/jsonld/sitelinks-search-box.js","webpack://lineup-website/./node_modules/gatsby-plugin-next-seo/lib/jsonld/social-profile.js","webpack://lineup-website/./node_modules/gatsby-plugin-next-seo/lib/jsonld/speakable.js","webpack://lineup-website/./node_modules/gatsby-plugin-next-seo/lib/meta/gatsby-seo.js","webpack://lineup-website/./node_modules/gatsby-plugin-next-seo/lib/meta/index.js","webpack://lineup-website/./node_modules/gatsby-plugin-react-i18next/dist/Link.js","webpack://lineup-website/./node_modules/gatsby-plugin-react-i18next/dist/index.js","webpack://lineup-website/./node_modules/gatsby-plugin-react-i18next/dist/useI18next.js","webpack://lineup-website/./node_modules/gatsby-plugin-react-i18next/index.js","webpack://lineup-website/./src/components/Cookie.js","webpack://lineup-website/./src/components/Footer.js","webpack://lineup-website/./src/styles/navbar.module.css","webpack://lineup-website/./src/components/Navbar.js","webpack://lineup-website/./src/styles/logo.module.css","webpack://lineup-website/./src/components/Logo.js","webpack://lineup-website/./src/styles/scrollProgressBar.module.css","webpack://lineup-website/./src/components/ScrollProgressBar.js","webpack://lineup-website/./src/styles/header.module.css","webpack://lineup-website/./src/components/Header.js","webpack://lineup-website/./src/components/Routing.js","webpack://lineup-website/./src/components/LanguageOptions.js","webpack://lineup-website/./src/styles/scrollBackToTopButton.module.css","webpack://lineup-website/./src/components/ScrollBackToTopButton.js","webpack://lineup-website/./src/styles/footer.module.css","webpack://lineup-website/./node_modules/@iconify/react/dist/iconify.mjs"],"sourcesContent":["!function(e,t){\"object\"==typeof exports&&\"object\"==typeof module?module.exports=t():\"function\"==typeof define&&define.amd?define([],t):\"object\"==typeof exports?exports.ReactCookieLaw=t():e.ReactCookieLaw=t()}(global,function(){return function(e){var t={};function n(o){if(t[o])return t[o].exports;var r=t[o]={i:o,l:!1,exports:{}};return e[o].call(r.exports,r,r.exports,n),r.l=!0,r.exports}return n.m=e,n.c=t,n.d=function(e,t,o){n.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:o})},n.r=function(e){\"undefined\"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:\"Module\"}),Object.defineProperty(e,\"__esModule\",{value:!0})},n.t=function(e,t){if(1&t&&(e=n(e)),8&t)return e;if(4&t&&\"object\"==typeof e&&e&&e.__esModule)return e;var o=Object.create(null);if(n.r(o),Object.defineProperty(o,\"default\",{enumerable:!0,value:e}),2&t&&\"string\"!=typeof e)for(var r in e)n.d(o,r,function(t){return e[t]}.bind(null,r));return o},n.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return n.d(t,\"a\",t),t},n.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},n.p=\"\",n(n.s=10)}([function(e,t,n){\"use strict\";e.exports=n(4)},function(e,t,n){e.exports=n(5)()},function(e,t,n){\"use strict\";\n/*!\n * cookie\n * Copyright(c) 2012-2014 Roman Shtylman\n * Copyright(c) 2015 Douglas Christopher Wilson\n * MIT Licensed\n */t.parse=function(e,t){if(\"string\"!=typeof e)throw new TypeError(\"argument str must be a string\");for(var n={},r=t||{},c=e.split(i),s=r.decode||o,l=0;lA.length&&A.push(e)}function M(e,t,n){return null==e?0:function e(t,n,o,r){var a=typeof t;\"undefined\"!==a&&\"boolean\"!==a||(t=null);var s=!1;if(null===t)s=!0;else switch(a){case\"string\":case\"number\":s=!0;break;case\"object\":switch(t.$$typeof){case i:case c:s=!0}}if(s)return o(r,t,\"\"===n?\".\"+I(t,0):n),1;if(s=0,n=\"\"===n?\".\":n+\":\",Array.isArray(t))for(var l=0;l=0&&this.changeListeners.splice(t,1)},e}(),p=f,y=(l=o.createContext(new f)).Provider,d=(l.Consumer,function(){var e=function(t,n){return(e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(t,n)};return function(t,n){function o(){this.constructor=t}e(t,n),t.prototype=null===n?Object.create(n):(o.prototype=n.prototype,new o)}}());(function(e){function t(t){var n=e.call(this,t)||this;return t.cookies?n.cookies=t.cookies:n.cookies=new f,n}d(t,e),t.prototype.render=function(){return o.createElement(y,{value:this.cookies},this.props.children)}})(o.Component),function(){var e=function(t,n){return(e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(t,n)}}(),n(7);var h=function(){return\"undefined\"==typeof navigator};function m(e,t){for(var n=0;n0&&void 0!==arguments[0]?arguments[0]:null,t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:365,n=e?new Date(e):new Date;return n.setTime(n.getTime()+24*t*60*60*1e3),n}()})}},{key:\"remove\",value:function(e){return this.cookies.remove(e)}}]),e}();function g(e){return(g=\"function\"==typeof Symbol&&\"symbol\"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&\"function\"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?\"symbol\":typeof e})(e)}function b(){return(b=Object.assign||function(e){for(var t=1;t0&&void 0!==arguments[0]?arguments[0]:{},t=e.styles,n=void 0===t?{}:t,o=e.className,i=void 0===o?\"\":o,c=e.message,a=void 0===c?\"No text\":c,s=e.policyLink,l=void 0===s?\"/#\":s,u=e.privacyPolicyLinkText,f=void 0===u?\"Privacy Policy\":u,p=e.necessaryOptionText,y=void 0===p?\"Necessary\":p,d=e.preferencesOptionText,h=void 0===d?\"Preferences\":d,m=e.statisticsOptionText,v=void 0===m?\"Statistics\":m,g=e.marketingOptionText,b=void 0===g?\"Marketing\":g,k=e.showAcceptSelectionButton,O=void 0!==k&&k,w=e.acceptAllButtonText,S=void 0===w?\"Accept All\":w,P=e.acceptSelectionButtonText,T=void 0===P?\"Accept Selection\":P,j=e.showPreferencesOption,E=void 0===j||j,A=e.showStatisticsOption,$=void 0===A||A,L=e.showMarketingOption,M=void 0===L||L,I=e.preferencesOptionInitiallyChecked,N=void 0!==I&&I,R=e.statisticsOptionInitiallyChecked,D=void 0!==R&&R,F=e.marketingOptionInitiallyChecked,U=void 0!==F&&F,B=e.onTogglePreferencesCookies,W=void 0===B?Function:B,z=e.onToggleStatisticsCookies,q=void 0===z?Function:z,H=e.onToggleMarketingCookies,V=void 0===H?Function:H,K=e.onConfirmSelection,J=void 0===K?Function:K,Y=e.onConfirmAll,G=void 0===Y?Function:Y,Q=function(e){for(var t=1;t0&&void 0!==arguments[0]&&arguments[0];if(e&&(k=!0),k)return w=(0,y.default)(w,x),(0,b.default)(w,x.once),w},O=function(){w=(0,h.default)(),j()},M=function(){w.forEach(function(e,t){e.node.removeAttribute(\"data-aos\"),e.node.removeAttribute(\"data-aos-easing\"),e.node.removeAttribute(\"data-aos-duration\"),e.node.removeAttribute(\"data-aos-delay\")})},S=function(e){return e===!0||\"mobile\"===e&&p.default.mobile()||\"phone\"===e&&p.default.phone()||\"tablet\"===e&&p.default.tablet()||\"function\"==typeof e&&e()===!0},_=function(e){x=i(x,e),w=(0,h.default)();var t=document.all&&!window.atob;return S(x.disable)||t?M():(x.disableMutationObserver||d.default.isSupported()||(console.info('\\n aos: MutationObserver is not supported on this browser,\\n code mutations observing has been disabled.\\n You may have to call \"refreshHard()\" by yourself.\\n '),x.disableMutationObserver=!0),document.querySelector(\"body\").setAttribute(\"data-aos-easing\",x.easing),document.querySelector(\"body\").setAttribute(\"data-aos-duration\",x.duration),document.querySelector(\"body\").setAttribute(\"data-aos-delay\",x.delay),\"DOMContentLoaded\"===x.startEvent&&[\"complete\",\"interactive\"].indexOf(document.readyState)>-1?j(!0):\"load\"===x.startEvent?window.addEventListener(x.startEvent,function(){j(!0)}):document.addEventListener(x.startEvent,function(){j(!0)}),window.addEventListener(\"resize\",(0,s.default)(j,x.debounceDelay,!0)),window.addEventListener(\"orientationchange\",(0,s.default)(j,x.debounceDelay,!0)),window.addEventListener(\"scroll\",(0,u.default)(function(){(0,b.default)(w,x.once)},x.throttleDelay)),x.disableMutationObserver||d.default.ready(\"[data-aos]\",O),w)};e.exports={init:_,refresh:j,refreshHard:O}},function(e,t){},,,,,function(e,t){(function(t){\"use strict\";function n(e,t,n){function o(t){var n=b,o=v;return b=v=void 0,k=t,g=e.apply(o,n)}function r(e){return k=e,h=setTimeout(f,t),M?o(e):g}function a(e){var n=e-w,o=e-k,i=t-n;return S?j(i,y-o):i}function c(e){var n=e-w,o=e-k;return void 0===w||n>=t||n<0||S&&o>=y}function f(){var e=O();return c(e)?d(e):void(h=setTimeout(f,a(e)))}function d(e){return h=void 0,_&&b?o(e):(b=v=void 0,g)}function l(){void 0!==h&&clearTimeout(h),k=0,b=w=v=h=void 0}function p(){return void 0===h?g:d(O())}function m(){var e=O(),n=c(e);if(b=arguments,v=this,w=e,n){if(void 0===h)return r(w);if(S)return h=setTimeout(f,t),o(w)}return void 0===h&&(h=setTimeout(f,t)),g}var b,v,y,g,h,w,k=0,M=!1,S=!1,_=!0;if(\"function\"!=typeof e)throw new TypeError(s);return t=u(t)||0,i(n)&&(M=!!n.leading,S=\"maxWait\"in n,y=S?x(u(n.maxWait)||0,t):y,_=\"trailing\"in n?!!n.trailing:_),m.cancel=l,m.flush=p,m}function o(e,t,o){var r=!0,a=!0;if(\"function\"!=typeof e)throw new TypeError(s);return i(o)&&(r=\"leading\"in o?!!o.leading:r,a=\"trailing\"in o?!!o.trailing:a),n(e,t,{leading:r,maxWait:t,trailing:a})}function i(e){var t=\"undefined\"==typeof e?\"undefined\":c(e);return!!e&&(\"object\"==t||\"function\"==t)}function r(e){return!!e&&\"object\"==(\"undefined\"==typeof e?\"undefined\":c(e))}function a(e){return\"symbol\"==(\"undefined\"==typeof e?\"undefined\":c(e))||r(e)&&k.call(e)==d}function u(e){if(\"number\"==typeof e)return e;if(a(e))return f;if(i(e)){var t=\"function\"==typeof e.valueOf?e.valueOf():e;e=i(t)?t+\"\":t}if(\"string\"!=typeof e)return 0===e?e:+e;e=e.replace(l,\"\");var n=m.test(e);return n||b.test(e)?v(e.slice(2),n?2:8):p.test(e)?f:+e}var c=\"function\"==typeof Symbol&&\"symbol\"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&\"function\"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?\"symbol\":typeof e},s=\"Expected a function\",f=NaN,d=\"[object Symbol]\",l=/^\\s+|\\s+$/g,p=/^[-+]0x[0-9a-f]+$/i,m=/^0b[01]+$/i,b=/^0o[0-7]+$/i,v=parseInt,y=\"object\"==(\"undefined\"==typeof t?\"undefined\":c(t))&&t&&t.Object===Object&&t,g=\"object\"==(\"undefined\"==typeof self?\"undefined\":c(self))&&self&&self.Object===Object&&self,h=y||g||Function(\"return this\")(),w=Object.prototype,k=w.toString,x=Math.max,j=Math.min,O=function(){return h.Date.now()};e.exports=o}).call(t,function(){return this}())},function(e,t){(function(t){\"use strict\";function n(e,t,n){function i(t){var n=b,o=v;return b=v=void 0,O=t,g=e.apply(o,n)}function r(e){return O=e,h=setTimeout(f,t),M?i(e):g}function u(e){var n=e-w,o=e-O,i=t-n;return S?x(i,y-o):i}function s(e){var n=e-w,o=e-O;return void 0===w||n>=t||n<0||S&&o>=y}function f(){var e=j();return s(e)?d(e):void(h=setTimeout(f,u(e)))}function d(e){return h=void 0,_&&b?i(e):(b=v=void 0,g)}function l(){void 0!==h&&clearTimeout(h),O=0,b=w=v=h=void 0}function p(){return void 0===h?g:d(j())}function m(){var e=j(),n=s(e);if(b=arguments,v=this,w=e,n){if(void 0===h)return r(w);if(S)return h=setTimeout(f,t),i(w)}return void 0===h&&(h=setTimeout(f,t)),g}var b,v,y,g,h,w,O=0,M=!1,S=!1,_=!0;if(\"function\"!=typeof e)throw new TypeError(c);return t=a(t)||0,o(n)&&(M=!!n.leading,S=\"maxWait\"in n,y=S?k(a(n.maxWait)||0,t):y,_=\"trailing\"in n?!!n.trailing:_),m.cancel=l,m.flush=p,m}function o(e){var t=\"undefined\"==typeof e?\"undefined\":u(e);return!!e&&(\"object\"==t||\"function\"==t)}function i(e){return!!e&&\"object\"==(\"undefined\"==typeof e?\"undefined\":u(e))}function r(e){return\"symbol\"==(\"undefined\"==typeof e?\"undefined\":u(e))||i(e)&&w.call(e)==f}function a(e){if(\"number\"==typeof e)return e;if(r(e))return s;if(o(e)){var t=\"function\"==typeof e.valueOf?e.valueOf():e;e=o(t)?t+\"\":t}if(\"string\"!=typeof e)return 0===e?e:+e;e=e.replace(d,\"\");var n=p.test(e);return n||m.test(e)?b(e.slice(2),n?2:8):l.test(e)?s:+e}var u=\"function\"==typeof Symbol&&\"symbol\"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&\"function\"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?\"symbol\":typeof e},c=\"Expected a function\",s=NaN,f=\"[object Symbol]\",d=/^\\s+|\\s+$/g,l=/^[-+]0x[0-9a-f]+$/i,p=/^0b[01]+$/i,m=/^0o[0-7]+$/i,b=parseInt,v=\"object\"==(\"undefined\"==typeof t?\"undefined\":u(t))&&t&&t.Object===Object&&t,y=\"object\"==(\"undefined\"==typeof self?\"undefined\":u(self))&&self&&self.Object===Object&&self,g=v||y||Function(\"return this\")(),h=Object.prototype,w=h.toString,k=Math.max,x=Math.min,j=function(){return g.Date.now()};e.exports=n}).call(t,function(){return this}())},function(e,t){\"use strict\";function n(e){var t=void 0,o=void 0,i=void 0;for(t=0;te.position?e.node.classList.add(\"aos-animate\"):\"undefined\"!=typeof o&&(\"false\"===o||!n&&\"true\"!==o)&&e.node.classList.remove(\"aos-animate\")},o=function(e,t){var o=window.pageYOffset,i=window.innerHeight;e.forEach(function(e,r){n(e,i+o,t)})};t.default=o},function(e,t,n){\"use strict\";function o(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(t,\"__esModule\",{value:!0});var i=n(12),r=o(i),a=function(e,t){return e.forEach(function(e,n){e.node.classList.add(\"aos-init\"),e.position=(0,r.default)(e.node,t.offset)}),e};t.default=a},function(e,t,n){\"use strict\";function o(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(t,\"__esModule\",{value:!0});var i=n(13),r=o(i),a=function(e,t){var n=0,o=0,i=window.innerHeight,a={offset:e.getAttribute(\"data-aos-offset\"),anchor:e.getAttribute(\"data-aos-anchor\"),anchorPlacement:e.getAttribute(\"data-aos-anchor-placement\")};switch(a.offset&&!isNaN(a.offset)&&(o=parseInt(a.offset)),a.anchor&&document.querySelectorAll(a.anchor)&&(e=document.querySelectorAll(a.anchor)[0]),n=(0,r.default)(e).top,a.anchorPlacement){case\"top-bottom\":break;case\"center-bottom\":n+=e.offsetHeight/2;break;case\"bottom-bottom\":n+=e.offsetHeight;break;case\"top-center\":n+=i/2;break;case\"bottom-center\":n+=i/2+e.offsetHeight;break;case\"center-center\":n+=i/2+e.offsetHeight/2;break;case\"top-top\":n+=i;break;case\"bottom-top\":n+=e.offsetHeight+i;break;case\"center-top\":n+=e.offsetHeight/2+i}return a.anchorPlacement||a.offset||isNaN(t)||(o=t),n+o};t.default=a},function(e,t){\"use strict\";Object.defineProperty(t,\"__esModule\",{value:!0});var n=function(e){for(var t=0,n=0;e&&!isNaN(e.offsetLeft)&&!isNaN(e.offsetTop);)t+=e.offsetLeft-(\"BODY\"!=e.tagName?e.scrollLeft:0),n+=e.offsetTop-(\"BODY\"!=e.tagName?e.scrollTop:0),e=e.offsetParent;return{top:n,left:t}};t.default=n},function(e,t){\"use strict\";Object.defineProperty(t,\"__esModule\",{value:!0});var n=function(e){return e=e||document.querySelectorAll(\"[data-aos]\"),Array.prototype.map.call(e,function(e){return{node:e}})};t.default=n}])});","'use strict';\n\nconst UPPERCASE = /[\\p{Lu}]/u;\nconst LOWERCASE = /[\\p{Ll}]/u;\nconst LEADING_CAPITAL = /^[\\p{Lu}](?![\\p{Lu}])/gu;\nconst IDENTIFIER = /([\\p{Alpha}\\p{N}_]|$)/u;\nconst SEPARATORS = /[_.\\- ]+/;\n\nconst LEADING_SEPARATORS = new RegExp('^' + SEPARATORS.source);\nconst SEPARATORS_AND_IDENTIFIER = new RegExp(SEPARATORS.source + IDENTIFIER.source, 'gu');\nconst NUMBERS_AND_IDENTIFIER = new RegExp('\\\\d+' + IDENTIFIER.source, 'gu');\n\nconst preserveCamelCase = (string, toLowerCase, toUpperCase) => {\n\tlet isLastCharLower = false;\n\tlet isLastCharUpper = false;\n\tlet isLastLastCharUpper = false;\n\n\tfor (let i = 0; i < string.length; i++) {\n\t\tconst character = string[i];\n\n\t\tif (isLastCharLower && UPPERCASE.test(character)) {\n\t\t\tstring = string.slice(0, i) + '-' + string.slice(i);\n\t\t\tisLastCharLower = false;\n\t\t\tisLastLastCharUpper = isLastCharUpper;\n\t\t\tisLastCharUpper = true;\n\t\t\ti++;\n\t\t} else if (isLastCharUpper && isLastLastCharUpper && LOWERCASE.test(character)) {\n\t\t\tstring = string.slice(0, i - 1) + '-' + string.slice(i - 1);\n\t\t\tisLastLastCharUpper = isLastCharUpper;\n\t\t\tisLastCharUpper = false;\n\t\t\tisLastCharLower = true;\n\t\t} else {\n\t\t\tisLastCharLower = toLowerCase(character) === character && toUpperCase(character) !== character;\n\t\t\tisLastLastCharUpper = isLastCharUpper;\n\t\t\tisLastCharUpper = toUpperCase(character) === character && toLowerCase(character) !== character;\n\t\t}\n\t}\n\n\treturn string;\n};\n\nconst preserveConsecutiveUppercase = (input, toLowerCase) => {\n\tLEADING_CAPITAL.lastIndex = 0;\n\n\treturn input.replace(LEADING_CAPITAL, m1 => toLowerCase(m1));\n};\n\nconst postProcess = (input, toUpperCase) => {\n\tSEPARATORS_AND_IDENTIFIER.lastIndex = 0;\n\tNUMBERS_AND_IDENTIFIER.lastIndex = 0;\n\n\treturn input.replace(SEPARATORS_AND_IDENTIFIER, (_, identifier) => toUpperCase(identifier))\n\t\t.replace(NUMBERS_AND_IDENTIFIER, m => toUpperCase(m));\n};\n\nconst camelCase = (input, options) => {\n\tif (!(typeof input === 'string' || Array.isArray(input))) {\n\t\tthrow new TypeError('Expected the input to be `string | string[]`');\n\t}\n\n\toptions = {\n\t\tpascalCase: false,\n\t\tpreserveConsecutiveUppercase: false,\n\t\t...options\n\t};\n\n\tif (Array.isArray(input)) {\n\t\tinput = input.map(x => x.trim())\n\t\t\t.filter(x => x.length)\n\t\t\t.join('-');\n\t} else {\n\t\tinput = input.trim();\n\t}\n\n\tif (input.length === 0) {\n\t\treturn '';\n\t}\n\n\tconst toLowerCase = options.locale === false ?\n\t\tstring => string.toLowerCase() :\n\t\tstring => string.toLocaleLowerCase(options.locale);\n\tconst toUpperCase = options.locale === false ?\n\t\tstring => string.toUpperCase() :\n\t\tstring => string.toLocaleUpperCase(options.locale);\n\n\tif (input.length === 1) {\n\t\treturn options.pascalCase ? toUpperCase(input) : toLowerCase(input);\n\t}\n\n\tconst hasUpperCase = input !== toLowerCase(input);\n\n\tif (hasUpperCase) {\n\t\tinput = preserveCamelCase(input, toLowerCase, toUpperCase);\n\t}\n\n\tinput = input.replace(LEADING_SEPARATORS, '');\n\n\tif (options.preserveConsecutiveUppercase) {\n\t\tinput = preserveConsecutiveUppercase(input, toLowerCase);\n\t} else {\n\t\tinput = toLowerCase(input);\n\t}\n\n\tif (options.pascalCase) {\n\t\tinput = toUpperCase(input.charAt(0)) + input.slice(1);\n\t}\n\n\treturn postProcess(input, toUpperCase);\n};\n\nmodule.exports = camelCase;\n// TODO: Remove this for the next major release\nmodule.exports.default = camelCase;\n","import camelCase from \"camelcase\"\nimport type { IGatsbyImageData } from \"./index\"\n\nconst DEFAULT_PIXEL_DENSITIES = [0.25, 0.5, 1, 2]\nexport const DEFAULT_BREAKPOINTS = [750, 1080, 1366, 1920]\nexport const EVERY_BREAKPOINT = [\n 320, 654, 768, 1024, 1366, 1600, 1920, 2048, 2560, 3440, 3840, 4096,\n]\nconst DEFAULT_FLUID_WIDTH = 800\nconst DEFAULT_FIXED_WIDTH = 800\nconst DEFAULT_ASPECT_RATIO = 4 / 3\n\nexport type Fit = \"cover\" | \"fill\" | \"inside\" | \"outside\" | \"contain\"\n\nexport type Layout = \"fixed\" | \"fullWidth\" | \"constrained\"\nexport type ImageFormat = \"jpg\" | \"png\" | \"webp\" | \"avif\" | \"auto\" | \"\"\n\n/**\n * The minimal required reporter, as we don't want to import it from gatsby-cli\n */\nexport interface IReporter {\n warn(message: string): void\n}\n\nexport interface ISharpGatsbyImageArgs {\n layout?: Layout\n formats?: Array\n placeholder?: \"tracedSVG\" | \"dominantColor\" | \"blurred\" | \"none\"\n tracedSVGOptions?: Record\n width?: number\n height?: number\n aspectRatio?: number\n sizes?: string\n quality?: number\n transformOptions?: {\n fit?: Fit\n cropFocus?: number | string\n duotone?: {\n highlight: string\n shadow: string\n opacity?: number\n }\n grayscale?: boolean\n rotate?: number\n trim?: number\n }\n jpgOptions?: Record\n pngOptions?: Record\n webpOptions?: Record\n avifOptions?: Record\n blurredOptions?: { width?: number; toFormat?: ImageFormat }\n breakpoints?: Array\n outputPixelDensities?: Array\n backgroundColor?: string\n}\n\nexport interface IImageSizeArgs {\n width?: number\n height?: number\n layout?: Layout\n filename: string\n outputPixelDensities?: Array\n breakpoints?: Array\n fit?: Fit\n reporter?: IReporter\n sourceMetadata: { width: number; height: number }\n}\n\nexport interface IImageSizes {\n sizes: Array\n presentationWidth: number\n presentationHeight: number\n aspectRatio: number\n unscaledWidth: number\n}\n\nexport interface IImage {\n src: string\n width: number\n height: number\n format: ImageFormat\n}\n\nexport interface IGatsbyImageHelperArgs {\n pluginName: string\n generateImageSource: (\n filename: string,\n width: number,\n height: number,\n format: ImageFormat,\n fit?: Fit,\n options?: Record\n ) => IImage\n layout?: Layout\n formats?: Array\n filename: string\n placeholderURL?: string\n width?: number\n height?: number\n sizes?: string\n reporter?: IReporter\n sourceMetadata?: { width: number; height: number; format: ImageFormat }\n fit?: Fit\n options?: Record\n breakpoints?: Array\n backgroundColor?: string\n aspectRatio?: number\n}\n\nconst warn = (message: string): void => console.warn(message)\n\nconst sortNumeric = (a: number, b: number): number => a - b\n\nexport const getSizes = (width: number, layout: Layout): string | undefined => {\n switch (layout) {\n // If screen is wider than the max size, image width is the max size,\n // otherwise it's the width of the screen\n case `constrained`:\n return `(min-width: ${width}px) ${width}px, 100vw`\n\n // Image is always the same width, whatever the size of the screen\n case `fixed`:\n return `${width}px`\n\n // Image is always the width of the screen\n case `fullWidth`:\n return `100vw`\n\n default:\n return undefined\n }\n}\n\nexport const getSrcSet = (images: Array): string =>\n images.map(image => `${image.src} ${image.width}w`).join(`,\\n`)\n\nexport function formatFromFilename(filename: string): ImageFormat | undefined {\n const dot = filename.lastIndexOf(`.`)\n if (dot !== -1) {\n const ext = filename.slice(dot + 1)\n if (ext === `jpeg`) {\n return `jpg`\n }\n if (ext.length === 3 || ext.length === 4) {\n return ext as ImageFormat\n }\n }\n return undefined\n}\n\nexport function setDefaultDimensions(\n args: IGatsbyImageHelperArgs\n): IGatsbyImageHelperArgs {\n let {\n layout = `constrained`,\n width,\n height,\n sourceMetadata,\n breakpoints,\n aspectRatio,\n formats = [`auto`, `webp`],\n } = args\n formats = formats.map(format => format.toLowerCase() as ImageFormat)\n layout = camelCase(layout) as Layout\n\n if (width && height) {\n return { ...args, formats, layout, aspectRatio: width / height }\n }\n if (sourceMetadata.width && sourceMetadata.height && !aspectRatio) {\n aspectRatio = sourceMetadata.width / sourceMetadata.height\n }\n\n if (layout === `fullWidth`) {\n width = width || sourceMetadata.width || breakpoints[breakpoints.length - 1]\n height = height || Math.round(width / (aspectRatio || DEFAULT_ASPECT_RATIO))\n } else {\n if (!width) {\n if (height && aspectRatio) {\n width = height * aspectRatio\n } else if (sourceMetadata.width) {\n width = sourceMetadata.width\n } else if (height) {\n width = Math.round(height / DEFAULT_ASPECT_RATIO)\n } else {\n width = DEFAULT_FIXED_WIDTH\n }\n }\n\n if (aspectRatio && !height) {\n height = Math.round(width / aspectRatio)\n } else if (!aspectRatio) {\n aspectRatio = width / height\n }\n }\n return { ...args, width, height, aspectRatio, layout, formats }\n}\n\n/**\n * Use this for getting an image for the blurred placeholder. This ensures the\n * aspect ratio and crop match the main image\n */\nexport function getLowResolutionImageURL(\n args: IGatsbyImageHelperArgs,\n width = 20\n): string {\n args = setDefaultDimensions(args)\n const { generateImageSource, filename, aspectRatio } = args\n return generateImageSource(\n filename,\n width,\n Math.round(width / aspectRatio),\n args.sourceMetadata.format || `jpg`,\n args.fit,\n args.options\n )?.src\n}\n\nexport function generateImageData(\n args: IGatsbyImageHelperArgs\n): IGatsbyImageData {\n args = setDefaultDimensions(args)\n\n let {\n pluginName,\n sourceMetadata,\n generateImageSource,\n layout,\n fit,\n options,\n width,\n height,\n filename,\n reporter = { warn },\n backgroundColor,\n placeholderURL,\n } = args\n\n if (!pluginName) {\n reporter.warn(\n `[gatsby-plugin-image] \"generateImageData\" was not passed a plugin name`\n )\n }\n\n if (typeof generateImageSource !== `function`) {\n throw new Error(`generateImageSource must be a function`)\n }\n\n if (!sourceMetadata || (!sourceMetadata.width && !sourceMetadata.height)) {\n // No metadata means we let the CDN handle max size etc, aspect ratio etc\n sourceMetadata = {\n width,\n height,\n format: sourceMetadata?.format || formatFromFilename(filename) || `auto`,\n }\n } else if (!sourceMetadata.format) {\n sourceMetadata.format = formatFromFilename(filename)\n }\n\n const formats = new Set(args.formats)\n\n if (formats.size === 0 || formats.has(`auto`) || formats.has(``)) {\n formats.delete(`auto`)\n formats.delete(``)\n formats.add(sourceMetadata.format)\n }\n\n if (formats.has(`jpg`) && formats.has(`png`)) {\n reporter.warn(\n `[${pluginName}] Specifying both 'jpg' and 'png' formats is not supported. Using 'auto' instead`\n )\n if (sourceMetadata.format === `jpg`) {\n formats.delete(`png`)\n } else {\n formats.delete(`jpg`)\n }\n }\n\n const imageSizes = calculateImageSizes({ ...args, sourceMetadata })\n\n const result: IGatsbyImageData[\"images\"] = {\n sources: [],\n }\n\n let sizes = args.sizes\n if (!sizes) {\n sizes = getSizes(imageSizes.presentationWidth, layout)\n }\n\n formats.forEach(format => {\n const images = imageSizes.sizes\n .map(size => {\n const imageSrc = generateImageSource(\n filename,\n size,\n Math.round(size / imageSizes.aspectRatio),\n format,\n fit,\n options\n )\n if (\n !imageSrc?.width ||\n !imageSrc.height ||\n !imageSrc.src ||\n !imageSrc.format\n ) {\n reporter.warn(\n `[${pluginName}] The resolver for image ${filename} returned an invalid value.`\n )\n return undefined\n }\n return imageSrc\n })\n .filter(Boolean)\n\n if (format === `jpg` || format === `png` || format === `auto`) {\n const unscaled =\n images.find(img => img.width === imageSizes.unscaledWidth) || images[0]\n\n if (unscaled) {\n result.fallback = {\n src: unscaled.src,\n srcSet: getSrcSet(images),\n sizes,\n }\n }\n } else {\n result.sources?.push({\n srcSet: getSrcSet(images),\n sizes,\n type: `image/${format}`,\n })\n }\n })\n\n const imageProps: Partial = {\n images: result,\n layout,\n backgroundColor,\n }\n\n if (placeholderURL) {\n imageProps.placeholder = { fallback: placeholderURL }\n }\n\n switch (layout) {\n case `fixed`:\n imageProps.width = imageSizes.presentationWidth\n imageProps.height = imageSizes.presentationHeight\n break\n\n case `fullWidth`:\n imageProps.width = 1\n imageProps.height = 1 / imageSizes.aspectRatio\n break\n\n case `constrained`:\n imageProps.width = args.width || imageSizes.presentationWidth || 1\n imageProps.height = (imageProps.width || 1) / imageSizes.aspectRatio\n }\n\n return imageProps as IGatsbyImageData\n}\n\nconst dedupeAndSortDensities = (values: Array): Array =>\n Array.from(new Set([1, ...values])).sort(sortNumeric)\n\nexport function calculateImageSizes(args: IImageSizeArgs): IImageSizes {\n const {\n width,\n height,\n filename,\n layout = `constrained`,\n sourceMetadata: imgDimensions,\n reporter = { warn },\n breakpoints = DEFAULT_BREAKPOINTS,\n } = args\n\n // check that all dimensions provided are positive\n const userDimensions = { width, height }\n const erroneousUserDimensions = Object.entries(userDimensions).filter(\n ([_, size]) => typeof size === `number` && size < 1\n )\n if (erroneousUserDimensions.length) {\n throw new Error(\n `Specified dimensions for images must be positive numbers (> 0). Problem dimensions you have are ${erroneousUserDimensions\n .map(dim => dim.join(`: `))\n .join(`, `)}`\n )\n }\n\n if (layout === `fixed`) {\n return fixedImageSizes(args)\n } else if (layout === `constrained`) {\n return responsiveImageSizes(args)\n } else if (layout === `fullWidth`) {\n return responsiveImageSizes({ breakpoints, ...args })\n } else {\n reporter.warn(\n `No valid layout was provided for the image at ${filename}. Valid image layouts are fixed, fullWidth, and constrained. Found ${layout}`\n )\n return {\n sizes: [imgDimensions.width],\n presentationWidth: imgDimensions.width,\n presentationHeight: imgDimensions.height,\n aspectRatio: imgDimensions.width / imgDimensions.height,\n unscaledWidth: imgDimensions.width,\n }\n }\n}\nexport function fixedImageSizes({\n filename,\n sourceMetadata: imgDimensions,\n width,\n height,\n fit = `cover`,\n outputPixelDensities = DEFAULT_PIXEL_DENSITIES,\n reporter = { warn },\n}: IImageSizeArgs): IImageSizes {\n let aspectRatio = imgDimensions.width / imgDimensions.height\n // Sort, dedupe and ensure there's a 1\n const densities = dedupeAndSortDensities(outputPixelDensities)\n\n // If both are provided then we need to check the fit\n if (width && height) {\n const calculated = getDimensionsAndAspectRatio(imgDimensions, {\n width,\n height,\n fit,\n })\n width = calculated.width\n height = calculated.height\n aspectRatio = calculated.aspectRatio\n }\n\n if (!width) {\n if (!height) {\n width = DEFAULT_FIXED_WIDTH\n } else {\n width = Math.round(height * aspectRatio)\n }\n } else if (!height) {\n height = Math.round(width / aspectRatio)\n }\n\n const originalWidth = width // will use this for presentationWidth, don't want to lose it\n const isTopSizeOverriden =\n imgDimensions.width < width || imgDimensions.height < (height as number)\n\n // If the image is smaller than requested, warn the user that it's being processed as such\n // print out this message with the necessary information before we overwrite it for sizing\n if (isTopSizeOverriden) {\n const fixedDimension = imgDimensions.width < width ? `width` : `height`\n reporter.warn(`\nThe requested ${fixedDimension} \"${\n fixedDimension === `width` ? width : height\n }px\" for the image ${filename} was larger than the actual image ${fixedDimension} of ${\n imgDimensions[fixedDimension]\n }px. If possible, replace the current image with a larger one.`)\n\n if (fixedDimension === `width`) {\n width = imgDimensions.width\n height = Math.round(width / aspectRatio)\n } else {\n height = imgDimensions.height\n width = height * aspectRatio\n }\n }\n\n const sizes = densities\n .filter(size => size >= 1) // remove smaller densities because fixed images don't need them\n .map(density => Math.round(density * (width as number)))\n .filter(size => size <= imgDimensions.width)\n\n return {\n sizes,\n aspectRatio,\n presentationWidth: originalWidth,\n presentationHeight: Math.round(originalWidth / aspectRatio),\n unscaledWidth: width,\n }\n}\n\nexport function responsiveImageSizes({\n sourceMetadata: imgDimensions,\n width,\n height,\n fit = `cover`,\n outputPixelDensities = DEFAULT_PIXEL_DENSITIES,\n breakpoints,\n layout,\n}: IImageSizeArgs): IImageSizes {\n let sizes\n let aspectRatio = imgDimensions.width / imgDimensions.height\n // Sort, dedupe and ensure there's a 1\n const densities = dedupeAndSortDensities(outputPixelDensities)\n\n // If both are provided then we need to check the fit\n if (width && height) {\n const calculated = getDimensionsAndAspectRatio(imgDimensions, {\n width,\n height,\n fit,\n })\n width = calculated.width\n height = calculated.height\n aspectRatio = calculated.aspectRatio\n }\n\n // Case 1: width of height were passed in, make sure it isn't larger than the actual image\n width = width && Math.min(width, imgDimensions.width)\n height = height && Math.min(height, imgDimensions.height)\n\n // Case 2: neither width or height were passed in, use default size\n if (!width && !height) {\n width = Math.min(DEFAULT_FLUID_WIDTH, imgDimensions.width)\n height = width / aspectRatio\n }\n\n // if it still hasn't been found, calculate width from the derived height.\n // TS isn't smart enough to realise the type for height has been narrowed here\n if (!width) {\n width = (height as number) * aspectRatio\n }\n\n const originalWidth = width\n const isTopSizeOverriden =\n imgDimensions.width < width || imgDimensions.height < (height as number)\n if (isTopSizeOverriden) {\n width = imgDimensions.width\n height = imgDimensions.height\n }\n\n width = Math.round(width)\n\n if (breakpoints?.length > 0) {\n sizes = breakpoints.filter(size => size <= imgDimensions.width)\n\n // If a larger breakpoint has been filtered-out, add the actual image width instead\n if (\n sizes.length < breakpoints.length &&\n !sizes.includes(imgDimensions.width)\n ) {\n sizes.push(imgDimensions.width)\n }\n } else {\n sizes = densities.map(density => Math.round(density * (width as number)))\n sizes = sizes.filter(size => size <= imgDimensions.width)\n }\n\n // ensure that the size passed in is included in the final output\n if (layout === `constrained` && !sizes.includes(width)) {\n sizes.push(width)\n }\n sizes = sizes.sort(sortNumeric)\n return {\n sizes,\n aspectRatio,\n presentationWidth: originalWidth,\n presentationHeight: Math.round(originalWidth / aspectRatio),\n unscaledWidth: width,\n }\n}\n\nexport function getDimensionsAndAspectRatio(\n dimensions,\n options\n): { width: number; height: number; aspectRatio: number } {\n // Calculate the eventual width/height of the image.\n const imageAspectRatio = dimensions.width / dimensions.height\n\n let width = options.width\n let height = options.height\n\n switch (options.fit) {\n case `fill`: {\n width = options.width ? options.width : dimensions.width\n height = options.height ? options.height : dimensions.height\n break\n }\n case `inside`: {\n const widthOption = options.width\n ? options.width\n : Number.MAX_SAFE_INTEGER\n const heightOption = options.height\n ? options.height\n : Number.MAX_SAFE_INTEGER\n\n width = Math.min(widthOption, Math.round(heightOption * imageAspectRatio))\n height = Math.min(\n heightOption,\n Math.round(widthOption / imageAspectRatio)\n )\n break\n }\n case `outside`: {\n const widthOption = options.width ? options.width : 0\n const heightOption = options.height ? options.height : 0\n\n width = Math.max(widthOption, Math.round(heightOption * imageAspectRatio))\n height = Math.max(\n heightOption,\n Math.round(widthOption / imageAspectRatio)\n )\n break\n }\n\n default: {\n if (options.width && !options.height) {\n width = options.width\n height = Math.round(options.width / imageAspectRatio)\n }\n\n if (options.height && !options.width) {\n width = Math.round(options.height * imageAspectRatio)\n height = options.height\n }\n }\n }\n\n return {\n width,\n height,\n aspectRatio: width / height,\n }\n}\n","/* global GATSBY___IMAGE */\nimport { generateImageData, EVERY_BREAKPOINT } from \"../image-utils\"\nimport type { CSSProperties, HTMLAttributes, ImgHTMLAttributes } from \"react\"\nimport type { Node } from \"gatsby\"\nimport type { PlaceholderProps } from \"./placeholder\"\nimport type { MainImageProps } from \"./main-image\"\nimport type { IGatsbyImageData } from \"./gatsby-image.browser\"\nimport type {\n IGatsbyImageHelperArgs,\n Layout,\n IImage,\n ImageFormat,\n} from \"../image-utils\"\n\n// Native lazy-loading support: https://addyosmani.com/blog/lazy-loading/\nexport const hasNativeLazyLoadSupport = (): boolean =>\n typeof HTMLImageElement !== `undefined` &&\n `loading` in HTMLImageElement.prototype\n\nexport function gatsbyImageIsInstalled(): boolean {\n return typeof GATSBY___IMAGE !== `undefined` && GATSBY___IMAGE\n}\n\nexport type IGatsbyImageDataParent = T & {\n gatsbyImageData: IGatsbyImageData\n}\nexport type IGatsbyImageParent = T & {\n gatsbyImage: IGatsbyImageData\n}\nexport type FileNode = Partial & {\n childImageSharp?: IGatsbyImageDataParent>\n}\n\nconst isGatsbyImageData = (\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n node: IGatsbyImageData | any\n): node is IGatsbyImageData =>\n // 🦆 check for a deep prop to be sure this is a valid gatsbyImageData object\n Boolean(node?.images?.fallback?.src)\n\nconst isGatsbyImageDataParent = (\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n node: IGatsbyImageDataParent | any\n): node is IGatsbyImageDataParent => Boolean(node?.gatsbyImageData)\n\nconst isGatsbyImageParent = (\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n node: IGatsbyImageParent | any\n): node is IGatsbyImageParent => Boolean(node?.gatsbyImage)\n\nexport type ImageDataLike =\n | FileNode\n | IGatsbyImageDataParent\n | IGatsbyImageParent\n | IGatsbyImageData\n\nexport const getImage = (\n node: ImageDataLike | null\n): IGatsbyImageData | undefined => {\n // This checks both for gatsbyImageData and gatsbyImage\n if (isGatsbyImageData(node)) {\n return node\n }\n // gatsbyImageData GraphQL field\n if (isGatsbyImageDataParent(node)) {\n return node.gatsbyImageData\n }\n // gatsbyImage GraphQL field for Gatsby's Image CDN service\n if (isGatsbyImageParent(node)) {\n return node.gatsbyImage\n }\n return node?.childImageSharp?.gatsbyImageData\n}\n\nexport const getSrc = (node: ImageDataLike): string | undefined =>\n getImage(node)?.images?.fallback?.src\n\nexport const getSrcSet = (node: ImageDataLike): string | undefined =>\n getImage(node)?.images?.fallback?.srcSet\n\nexport function getWrapperProps(\n width: number,\n height: number,\n layout: Layout\n): Pick, \"className\" | \"style\"> & {\n \"data-gatsby-image-wrapper\": string\n} {\n const wrapperStyle: CSSProperties = {}\n\n let className = `gatsby-image-wrapper`\n\n // If the plugin isn't installed we need to apply the styles inline\n if (!gatsbyImageIsInstalled()) {\n wrapperStyle.position = `relative`\n wrapperStyle.overflow = `hidden`\n }\n\n if (layout === `fixed`) {\n wrapperStyle.width = width\n wrapperStyle.height = height\n } else if (layout === `constrained`) {\n if (!gatsbyImageIsInstalled()) {\n wrapperStyle.display = `inline-block`\n wrapperStyle.verticalAlign = `top`\n }\n className = `gatsby-image-wrapper gatsby-image-wrapper-constrained`\n }\n\n return {\n className,\n \"data-gatsby-image-wrapper\": ``,\n style: wrapperStyle,\n }\n}\n\nexport interface IUrlBuilderArgs {\n width: number\n height: number\n baseUrl: string\n format: ImageFormat\n options: OptionsType\n}\nexport interface IGetImageDataArgs> {\n baseUrl: string\n /**\n * For constrained and fixed images, the size of the image element\n */\n width?: number\n height?: number\n /**\n * If available, pass the source image width and height\n */\n sourceWidth?: number\n sourceHeight?: number\n /**\n * If only one dimension is passed, then this will be used to calculate the other.\n */\n aspectRatio?: number\n layout?: Layout\n /**\n * Returns a URL based on the passed arguments. Should be a pure function\n */\n urlBuilder: (args: IUrlBuilderArgs) => string\n\n /**\n * Should be a data URI\n */\n placeholderURL?: string\n backgroundColor?: string\n /**\n * Used in error messages etc\n */\n pluginName?: string\n\n /**\n * If you do not support auto-format, pass an array of image types here\n */\n formats?: Array\n\n breakpoints?: Array\n\n /**\n * Passed to the urlBuilder function\n */\n options?: OptionsType\n}\n\n/**\n * Use this hook to generate gatsby-plugin-image data in the browser.\n */\nexport function getImageData({\n baseUrl,\n urlBuilder,\n sourceWidth,\n sourceHeight,\n pluginName = `getImageData`,\n formats = [`auto`],\n breakpoints,\n options,\n ...props\n}: IGetImageDataArgs): IGatsbyImageData {\n if (\n !breakpoints?.length &&\n (props.layout === `fullWidth` || (props.layout as string) === `FULL_WIDTH`)\n ) {\n breakpoints = EVERY_BREAKPOINT\n }\n const generateImageSource = (\n baseUrl: string,\n width: number,\n height?: number,\n format?: ImageFormat\n ): IImage => {\n return {\n width,\n height,\n format,\n src: urlBuilder({ baseUrl, width, height, options, format }),\n }\n }\n\n const sourceMetadata: IGatsbyImageHelperArgs[\"sourceMetadata\"] = {\n width: sourceWidth,\n height: sourceHeight,\n format: `auto`,\n }\n\n const args: IGatsbyImageHelperArgs = {\n ...props,\n pluginName,\n generateImageSource,\n filename: baseUrl,\n formats,\n breakpoints,\n sourceMetadata,\n }\n return generateImageData(args)\n}\n\nexport function getMainProps(\n isLoading: boolean,\n isLoaded: boolean,\n images: IGatsbyImageData[\"images\"],\n loading?: \"eager\" | \"lazy\",\n style: CSSProperties = {}\n): Partial {\n // fallback when it's not configured in gatsby-config.\n if (!gatsbyImageIsInstalled()) {\n style = {\n height: `100%`,\n left: 0,\n position: `absolute`,\n top: 0,\n transform: `translateZ(0)`,\n transition: `opacity 250ms linear`,\n width: `100%`,\n willChange: `opacity`,\n ...style,\n }\n }\n\n const result = {\n ...images,\n loading,\n shouldLoad: isLoading,\n \"data-main-image\": ``,\n style: {\n ...style,\n opacity: isLoaded ? 1 : 0,\n },\n }\n\n return result\n}\n\nexport type PlaceholderImageAttrs = ImgHTMLAttributes &\n Pick & {\n \"data-placeholder-image\"?: string\n }\n\nexport function getPlaceholderProps(\n placeholder: PlaceholderImageAttrs | undefined,\n isLoaded: boolean,\n layout: Layout,\n width?: number,\n height?: number,\n backgroundColor?: string,\n objectFit?: CSSProperties[\"objectFit\"],\n objectPosition?: CSSProperties[\"objectPosition\"]\n): PlaceholderImageAttrs {\n const wrapperStyle: CSSProperties = {}\n\n if (backgroundColor) {\n wrapperStyle.backgroundColor = backgroundColor\n\n if (layout === `fixed`) {\n wrapperStyle.width = width\n wrapperStyle.height = height\n wrapperStyle.backgroundColor = backgroundColor\n wrapperStyle.position = `relative`\n } else if (layout === `constrained`) {\n wrapperStyle.position = `absolute`\n wrapperStyle.top = 0\n wrapperStyle.left = 0\n wrapperStyle.bottom = 0\n wrapperStyle.right = 0\n } else if (layout === `fullWidth`) {\n wrapperStyle.position = `absolute`\n wrapperStyle.top = 0\n wrapperStyle.left = 0\n wrapperStyle.bottom = 0\n wrapperStyle.right = 0\n }\n }\n\n if (objectFit) {\n wrapperStyle.objectFit = objectFit\n }\n\n if (objectPosition) {\n wrapperStyle.objectPosition = objectPosition\n }\n const result: PlaceholderImageAttrs = {\n ...placeholder,\n \"aria-hidden\": true,\n \"data-placeholder-image\": ``,\n style: {\n opacity: isLoaded ? 0 : 1,\n transition: `opacity 500ms linear`,\n ...wrapperStyle,\n },\n }\n\n // fallback when it's not configured in gatsby-config.\n if (!gatsbyImageIsInstalled()) {\n result.style = {\n height: `100%`,\n left: 0,\n position: `absolute`,\n top: 0,\n width: `100%`,\n }\n }\n\n return result\n}\n\nexport interface IArtDirectedImage {\n media: string\n image: IGatsbyImageData\n}\n\n/**\n * Generate a Gatsby image data object with multiple, art-directed images that display at different\n * resolutions.\n *\n * @param defaultImage The image displayed when no media query matches.\n * It is also used for all other settings applied to the image, such as width, height and layout.\n * You should pass a className to the component with media queries to adjust the size of the container,\n * as this cannot be adjusted automatically.\n * @param artDirected Array of objects which each contains a `media` string which is a media query\n * such as `(min-width: 320px)`, and the image object to use when that query matches.\n */\nexport function withArtDirection(\n defaultImage: IGatsbyImageData,\n artDirected: Array\n): IGatsbyImageData {\n const { images, placeholder, ...props } = defaultImage\n const output: IGatsbyImageData = {\n ...props,\n images: {\n ...images,\n sources: [],\n },\n placeholder: placeholder && {\n ...placeholder,\n sources: [],\n },\n }\n\n artDirected.forEach(({ media, image }) => {\n if (!media) {\n if (process.env.NODE_ENV === `development`) {\n console.warn(\n \"[gatsby-plugin-image] All art-directed images passed to must have a value set for `media`. Skipping.\"\n )\n }\n return\n }\n\n if (\n image.layout !== defaultImage.layout &&\n process.env.NODE_ENV === `development`\n ) {\n console.warn(\n `[gatsby-plugin-image] Mismatched image layout: expected \"${defaultImage.layout}\" but received \"${image.layout}\". All art-directed images use the same layout as the default image`\n )\n }\n\n output.images.sources.push(\n ...image.images.sources.map(source => {\n return { ...source, media }\n }),\n {\n media,\n srcSet: image.images.fallback.srcSet,\n }\n )\n\n if (!output.placeholder) {\n return\n }\n\n output.placeholder.sources.push({\n media,\n srcSet: image.placeholder.fallback,\n })\n })\n output.images.sources.push(...images.sources)\n if (placeholder?.sources) {\n output.placeholder?.sources.push(...placeholder.sources)\n }\n return output\n}\n","import React, { Fragment, FunctionComponent, PropsWithChildren } from \"react\"\nimport terserMacro from \"../../macros/terser.macro\"\nimport { Layout } from \"../image-utils\"\n\nexport interface ILayoutWrapperProps {\n layout: Layout\n width: number\n height: number\n}\n\nconst NativeScriptLoading: FunctionComponent = () => (\n \n)\n\nexport function getSizer(\n layout: Layout,\n width: number,\n height: number\n): string {\n let sizer = ``\n if (layout === `fullWidth`) {\n sizer = `
`\n }\n\n if (layout === `constrained`) {\n sizer = `
\"\"
`\n }\n\n return sizer\n}\n\nconst Sizer: FunctionComponent = function Sizer({\n layout,\n width,\n height,\n}) {\n if (layout === `fullWidth`) {\n return (\n
\n )\n }\n\n if (layout === `constrained`) {\n return (\n
\n \n
\n )\n }\n\n return null\n}\n\nexport const LayoutWrapper: FunctionComponent<\n PropsWithChildren\n> = function LayoutWrapper({ children, ...props }) {\n return (\n \n \n {children}\n\n {SERVER ? : null}\n \n )\n}\n","import React, { FunctionComponent, ImgHTMLAttributes } from \"react\"\nimport * as PropTypes from \"prop-types\"\n\nexport interface IResponsiveImageProps {\n sizes?: string\n srcSet: string\n}\n\nexport type SourceProps = IResponsiveImageProps &\n (\n | {\n media: string\n type?: string\n }\n | {\n media?: string\n type: string\n }\n )\n\ntype FallbackProps = { src: string } & Partial\n\ntype ImageProps = ImgHTMLAttributes & {\n src: string\n alt: string\n shouldLoad: boolean\n}\n\nexport type PictureProps = ImgHTMLAttributes & {\n fallback?: FallbackProps\n sources?: Array\n alt: string\n shouldLoad?: boolean\n}\n\nconst Image: FunctionComponent = function Image({\n src,\n srcSet,\n loading,\n alt = ``,\n shouldLoad,\n ...props\n}) {\n return (\n \n )\n}\n\nexport const Picture: React.FC = function Picture({\n fallback,\n sources = [],\n shouldLoad = true,\n ...props\n}) {\n const sizes = props.sizes || fallback?.sizes\n const fallbackImage = (\n \n )\n\n if (!sources.length) {\n return fallbackImage\n }\n\n return (\n \n {sources.map(({ media, srcSet, type }) => (\n \n ))}\n {fallbackImage}\n \n )\n}\n\nImage.propTypes = {\n src: PropTypes.string.isRequired,\n alt: PropTypes.string.isRequired,\n sizes: PropTypes.string,\n srcSet: PropTypes.string,\n shouldLoad: PropTypes.bool,\n}\n\nPicture.displayName = `Picture`\nPicture.propTypes = {\n alt: PropTypes.string.isRequired,\n shouldLoad: PropTypes.bool,\n fallback: PropTypes.exact({\n src: PropTypes.string.isRequired,\n srcSet: PropTypes.string,\n sizes: PropTypes.string,\n }),\n sources: PropTypes.arrayOf(\n PropTypes.oneOfType([\n PropTypes.exact({\n media: PropTypes.string.isRequired,\n type: PropTypes.string,\n sizes: PropTypes.string,\n srcSet: PropTypes.string.isRequired,\n }),\n PropTypes.exact({\n media: PropTypes.string,\n type: PropTypes.string.isRequired,\n sizes: PropTypes.string,\n srcSet: PropTypes.string.isRequired,\n }),\n ])\n ),\n}\n","import React, { FunctionComponent, ImgHTMLAttributes } from \"react\"\nimport * as PropTypes from \"prop-types\"\nimport { Picture, SourceProps } from \"./picture\"\n\nexport type PlaceholderProps = ImgHTMLAttributes & {\n fallback?: string\n sources?: Array\n}\n\nexport const Placeholder: FunctionComponent =\n function Placeholder({ fallback, ...props }) {\n if (fallback) {\n return (\n \n )\n } else {\n return
\n }\n }\n\nPlaceholder.displayName = `Placeholder`\nPlaceholder.propTypes = {\n fallback: PropTypes.string,\n sources: Picture.propTypes?.sources,\n alt: function (props, propName, componentName): Error | null {\n if (!props[propName]) {\n return null\n }\n\n return new Error(\n `Invalid prop \\`${propName}\\` supplied to \\`${componentName}\\`. Validation failed.`\n )\n },\n}\n","import React from \"react\"\nimport { Picture, PictureProps } from \"./picture\"\n\nexport type MainImageProps = PictureProps\n\nexport const MainImage: React.FC = function MainImage(props) {\n return (\n <>\n \n \n \n )\n}\n\nMainImage.displayName = `MainImage`\nMainImage.propTypes = Picture.propTypes\n","import React from \"react\"\nimport { getWrapperProps, getMainProps, getPlaceholderProps } from \"./hooks\"\nimport { Placeholder } from \"./placeholder\"\nimport { MainImage, MainImageProps } from \"./main-image\"\nimport { LayoutWrapper } from \"./layout-wrapper\"\nimport PropTypes from \"prop-types\"\nimport type { FunctionComponent, WeakValidationMap } from \"react\"\nimport type { GatsbyImageProps, IGatsbyImageData } from \"./gatsby-image.browser\"\n\nconst removeNewLines = (str: string): string => str.replace(/\\n/g, ``)\n\nexport const GatsbyImage: FunctionComponent =\n function GatsbyImage({\n as = `div`,\n className,\n class: preactClass,\n style,\n image,\n loading = `lazy`,\n imgClassName,\n imgStyle,\n backgroundColor,\n objectFit,\n objectPosition,\n ...props\n }) {\n if (!image) {\n console.warn(`[gatsby-plugin-image] Missing image prop`)\n return null\n }\n\n if (preactClass) {\n className = preactClass\n }\n\n imgStyle = {\n objectFit,\n objectPosition,\n backgroundColor,\n ...imgStyle,\n }\n\n const {\n width,\n height,\n layout,\n images,\n placeholder,\n backgroundColor: placeholderBackgroundColor,\n } = image\n\n const {\n style: wStyle,\n className: wClass,\n ...wrapperProps\n } = getWrapperProps(width, height, layout)\n\n const cleanedImages: IGatsbyImageData[\"images\"] = {\n fallback: undefined,\n sources: [],\n }\n if (images.fallback) {\n cleanedImages.fallback = {\n ...images.fallback,\n srcSet: images.fallback.srcSet\n ? removeNewLines(images.fallback.srcSet)\n : undefined,\n }\n }\n\n if (images.sources) {\n cleanedImages.sources = images.sources.map(source => {\n return {\n ...source,\n srcSet: removeNewLines(source.srcSet),\n }\n })\n }\n\n return React.createElement(\n as,\n {\n ...wrapperProps,\n style: {\n ...wStyle,\n ...style,\n backgroundColor,\n },\n className: `${wClass}${className ? ` ${className}` : ``}`,\n },\n \n \n\n )}\n // When eager is set we want to start the isLoading state on true (we want to load the img without react)\n {...getMainProps(\n loading === `eager`,\n false,\n cleanedImages,\n loading,\n imgStyle\n )}\n />\n \n )\n }\n\nexport const altValidator: PropTypes.Validator = (\n props: GatsbyImageProps,\n propName,\n componentName,\n ...rest\n): Error | undefined => {\n if (!props.alt && props.alt !== ``) {\n return new Error(\n `The \"alt\" prop is required in ${componentName}. If the image is purely presentational then pass an empty string: e.g. alt=\"\". Learn more: https://a11y-style-guide.com/style-guide/section-media.html`\n )\n }\n\n return PropTypes.string(props, propName, componentName, ...rest)\n}\n\nexport const propTypes = {\n image: PropTypes.object.isRequired,\n alt: altValidator,\n} as WeakValidationMap\n","import {\n createElement,\n memo,\n useMemo,\n useEffect,\n useLayoutEffect,\n useRef,\n} from \"react\"\nimport {\n getWrapperProps,\n gatsbyImageIsInstalled,\n hasNativeLazyLoadSupport,\n} from \"./hooks\"\nimport { getSizer } from \"./layout-wrapper\"\nimport { propTypes } from \"./gatsby-image.server\"\nimport type {\n FC,\n ElementType,\n FunctionComponent,\n ImgHTMLAttributes,\n CSSProperties,\n ReactEventHandler,\n} from \"react\"\nimport type { renderImageToString } from \"./lazy-hydrate\"\nimport type { PlaceholderProps } from \"./placeholder\"\nimport type { MainImageProps } from \"./main-image\"\nimport type { Layout } from \"../image-utils\"\n\nconst imageCache = new Set()\nlet renderImageToStringPromise\nlet renderImage: typeof renderImageToString | undefined\n\n// eslint-disable-next-line @typescript-eslint/naming-convention\nexport interface GatsbyImageProps\n extends Omit<\n ImgHTMLAttributes,\n \"placeholder\" | \"onLoad\" | \"src\" | \"srcSet\" | \"width\" | \"height\"\n > {\n alt: string\n as?: ElementType\n className?: string\n class?: string\n imgClassName?: string\n image: IGatsbyImageData\n imgStyle?: CSSProperties\n backgroundColor?: string\n objectFit?: CSSProperties[\"objectFit\"]\n objectPosition?: CSSProperties[\"objectPosition\"]\n onLoad?: (props: { wasCached: boolean }) => void\n onError?: ReactEventHandler\n onStartLoad?: (props: { wasCached: boolean }) => void\n}\n\nexport interface IGatsbyImageData {\n layout: Layout\n width: number\n height: number\n backgroundColor?: string\n images: Pick\n placeholder?: Pick\n}\n\nconst GatsbyImageHydrator: FC = function GatsbyImageHydrator({\n as = `div`,\n image,\n style,\n backgroundColor,\n className,\n class: preactClass,\n onStartLoad,\n onLoad,\n onError,\n ...props\n}) {\n const { width, height, layout } = image\n const {\n style: wStyle,\n className: wClass,\n ...wrapperProps\n } = getWrapperProps(width, height, layout)\n const root = useRef()\n const cacheKey = useMemo(() => JSON.stringify(image.images), [image.images])\n\n // Preact uses class instead of className so we need to check for both\n if (preactClass) {\n className = preactClass\n }\n\n const sizer = getSizer(layout, width, height)\n\n useEffect(() => {\n if (!renderImageToStringPromise) {\n renderImageToStringPromise = import(`./lazy-hydrate`).then(\n ({ renderImageToString, swapPlaceholderImage }) => {\n renderImage = renderImageToString\n\n return {\n renderImageToString,\n swapPlaceholderImage,\n }\n }\n )\n }\n\n // The plugin image component is a bit special where if it's server-side rendered, we add extra script tags to support lazy-loading without\n // In this case we stop hydration but fire the correct events.\n const ssrImage = root.current.querySelector(\n `[data-gatsby-image-ssr]`\n ) as HTMLImageElement\n if (ssrImage && hasNativeLazyLoadSupport()) {\n if (ssrImage.complete) {\n // Trigger onStartload and onLoad events\n onStartLoad?.({\n wasCached: true,\n })\n onLoad?.({\n wasCached: true,\n })\n\n // remove ssr key for state updates but add delay to not fight with native code snippt of gatsby-ssr\n setTimeout(() => {\n ssrImage.removeAttribute(`data-gatsby-image-ssr`)\n }, 0)\n } else {\n onStartLoad?.({\n wasCached: true,\n })\n\n ssrImage.addEventListener(`load`, function onLoadListener() {\n ssrImage.removeEventListener(`load`, onLoadListener)\n\n onLoad?.({\n wasCached: true,\n })\n // remove ssr key for state updates but add delay to not fight with native code snippt of gatsby-ssr\n setTimeout(() => {\n ssrImage.removeAttribute(`data-gatsby-image-ssr`)\n }, 0)\n })\n }\n\n imageCache.add(cacheKey)\n\n return\n }\n\n if (renderImage && imageCache.has(cacheKey)) {\n return\n }\n\n let animationFrame\n let cleanupCallback\n renderImageToStringPromise.then(\n ({ renderImageToString, swapPlaceholderImage }) => {\n if (!root.current) {\n return\n }\n\n root.current.innerHTML = renderImageToString({\n isLoading: true,\n isLoaded: imageCache.has(cacheKey),\n image,\n ...props,\n })\n\n if (!imageCache.has(cacheKey)) {\n animationFrame = requestAnimationFrame(() => {\n if (root.current) {\n cleanupCallback = swapPlaceholderImage(\n root.current,\n cacheKey,\n imageCache,\n style,\n onStartLoad,\n onLoad,\n onError\n )\n }\n })\n }\n }\n )\n\n // eslint-disable-next-line consistent-return\n return (): void => {\n if (animationFrame) {\n cancelAnimationFrame(animationFrame)\n }\n if (cleanupCallback) {\n cleanupCallback()\n }\n }\n }, [image])\n\n // useLayoutEffect is ran before React commits to the DOM. This allows us to make sure our HTML is using our cached image version\n useLayoutEffect(() => {\n if (imageCache.has(cacheKey) && renderImage) {\n root.current.innerHTML = renderImage({\n isLoading: imageCache.has(cacheKey),\n isLoaded: imageCache.has(cacheKey),\n image,\n ...props,\n })\n\n // Trigger onStartload and onLoad events\n onStartLoad?.({\n wasCached: true,\n })\n onLoad?.({\n wasCached: true,\n })\n }\n }, [image])\n\n // By keeping all props equal React will keep the component in the DOM\n return createElement(as, {\n ...wrapperProps,\n style: {\n ...wStyle,\n ...style,\n backgroundColor,\n },\n className: `${wClass}${className ? ` ${className}` : ``}`,\n ref: root,\n dangerouslySetInnerHTML: {\n __html: sizer,\n },\n suppressHydrationWarning: true,\n })\n}\n\nexport const GatsbyImage: FunctionComponent = memo(\n function GatsbyImage(props) {\n if (!props.image) {\n if (process.env.NODE_ENV === `development`) {\n console.warn(`[gatsby-plugin-image] Missing image prop`)\n }\n\n return null\n }\n\n if (!gatsbyImageIsInstalled() && process.env.NODE_ENV === `development`) {\n console.warn(\n `[gatsby-plugin-image] You're missing out on some cool performance features. Please add \"gatsby-plugin-image\" to your gatsby-config.js`\n )\n }\n\n return createElement(GatsbyImageHydrator, props)\n }\n)\n\nGatsbyImage.propTypes = propTypes\nGatsbyImage.displayName = `GatsbyImage`\n","import React, { FunctionComponent, ReactElement } from \"react\"\nimport {\n altValidator,\n GatsbyImage as GatsbyImageServer,\n} from \"./gatsby-image.server\"\nimport { GatsbyImageProps, IGatsbyImageData } from \"./gatsby-image.browser\"\nimport PropTypes from \"prop-types\"\nimport { ISharpGatsbyImageArgs } from \"../image-utils\"\n\nexport interface IStaticImageProps\n extends Omit,\n Omit {\n src: string\n filename?: string\n}\n\n// These values are added by Babel. Do not add them manually\ninterface IPrivateProps {\n __imageData?: IGatsbyImageData\n __error?: string\n}\n\nexport function _getStaticImage(\n GatsbyImage: FunctionComponent\n): React.FC {\n return function StaticImage({\n src,\n __imageData: imageData,\n __error,\n // We extract these because they're not meant to be passed-down to GatsbyImage\n /* eslint-disable @typescript-eslint/no-unused-vars */\n width,\n height,\n aspectRatio,\n tracedSVGOptions,\n placeholder,\n formats,\n quality,\n transformOptions,\n jpgOptions,\n pngOptions,\n webpOptions,\n avifOptions,\n blurredOptions,\n breakpoints,\n outputPixelDensities,\n /* eslint-enable @typescript-eslint/no-unused-vars */\n ...props\n }): ReactElement {\n if (__error) {\n console.warn(__error)\n }\n\n if (imageData) {\n return \n }\n console.warn(`Image not loaded`, src)\n if (!__error && process.env.NODE_ENV === `development`) {\n console.warn(\n `Please ensure that \"gatsby-plugin-image\" is included in the plugins array in gatsby-config.js, and that your version of gatsby is at least 2.24.78`\n )\n }\n return null\n }\n}\n\nconst StaticImage: React.FC =\n _getStaticImage(GatsbyImageServer)\n\nconst checkDimensionProps: PropTypes.Validator = (\n props: IStaticImageProps & IPrivateProps,\n propName: keyof IStaticImageProps & IPrivateProps,\n ...rest\n) => {\n if (\n props.layout === `fullWidth` &&\n (propName === `width` || propName === `height`) &&\n props[propName]\n ) {\n return new Error(\n `\"${propName}\" ${props[propName]} may not be passed when layout is fullWidth.`\n )\n }\n return PropTypes.number(props, propName, ...rest)\n}\n\nconst validLayouts = new Set([`fixed`, `fullWidth`, `constrained`])\n\nexport const propTypes = {\n src: PropTypes.string.isRequired,\n alt: altValidator,\n width: checkDimensionProps,\n height: checkDimensionProps,\n sizes: PropTypes.string,\n layout: (props: IStaticImageProps & IPrivateProps): Error | undefined => {\n if (props.layout === undefined) {\n return undefined\n }\n if (validLayouts.has(props.layout)) {\n return undefined\n }\n\n return new Error(\n `Invalid value ${props.layout}\" provided for prop \"layout\". Defaulting to \"constrained\". Valid values are \"fixed\", \"fullWidth\" or \"constrained\".`\n )\n },\n}\n\nStaticImage.displayName = `StaticImage`\nStaticImage.propTypes = propTypes\n\nexport { StaticImage }\n","import {\n GatsbyImage as GatsbyImageBrowser,\n IGatsbyImageData,\n} from \"./gatsby-image.browser\"\nimport React from \"react\"\nimport {\n _getStaticImage,\n propTypes,\n IStaticImageProps,\n} from \"./static-image.server\"\n// These values are added by Babel. Do not add them manually\ninterface IPrivateProps {\n __imageData?: IGatsbyImageData\n __error?: string\n}\n\nconst StaticImage: React.FC =\n _getStaticImage(GatsbyImageBrowser)\n\nStaticImage.displayName = `StaticImage`\nStaticImage.propTypes = propTypes\n\nexport { StaticImage }\n","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _meta = require(\"./meta\");\n\nObject.keys(_meta).forEach(function (key) {\n if (key === \"default\" || key === \"__esModule\") return;\n Object.defineProperty(exports, key, {\n enumerable: true,\n get: function get() {\n return _meta[key];\n }\n });\n});\n\nvar _jsonld = require(\"./jsonld\");\n\nObject.keys(_jsonld).forEach(function (key) {\n if (key === \"default\" || key === \"__esModule\") return;\n Object.defineProperty(exports, key, {\n enumerable: true,\n get: function get() {\n return _jsonld[key];\n }\n });\n});\n\nvar _types = require(\"./types\");\n\nObject.keys(_types).forEach(function (key) {\n if (key === \"default\" || key === \"__esModule\") return;\n Object.defineProperty(exports, key, {\n enumerable: true,\n get: function get() {\n return _types[key];\n }\n });\n});","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.NewsArticleJsonLd = exports.BlogPostJsonLd = exports.ArticleJsonLd = void 0;\n\nvar _extends2 = _interopRequireDefault(require(\"@babel/runtime/helpers/extends\"));\n\nvar _objectWithoutProperties2 = _interopRequireDefault(require(\"@babel/runtime/helpers/objectWithoutProperties\"));\n\nvar _defineProperty2 = _interopRequireDefault(require(\"@babel/runtime/helpers/defineProperty\"));\n\nvar _react = _interopRequireDefault(require(\"react\"));\n\nvar _jsonld = require(\"./jsonld\");\n\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { (0, _defineProperty2[\"default\"])(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }\n\n/**\n * An article, such as a news article or piece of investigative report.\n * Newspapers and magazines have articles of many different types and this is\n * intended to cover them all.\n *\n * See also\n * {@link http://blog.schema.org/2014/09/schemaorg-support-for-bibliographic_2.html | blog post}.\n */\nvar ArticleJsonLd = function ArticleJsonLd(_ref) {\n var url = _ref.url,\n headline = _ref.headline,\n title = _ref.title,\n _ref$images = _ref.images,\n images = _ref$images === void 0 ? [] : _ref$images,\n datePublished = _ref.datePublished,\n dateCreated = _ref.dateCreated,\n _ref$dateModified = _ref.dateModified,\n dateModified = _ref$dateModified === void 0 ? datePublished : _ref$dateModified,\n _ref$authorType = _ref.authorType,\n authorType = _ref$authorType === void 0 ? 'Person' : _ref$authorType,\n authorName = _ref.authorName,\n description = _ref.description,\n publisherName = _ref.publisherName,\n publisherLogo = _ref.publisherLogo,\n body = _ref.body,\n overrides = _ref.overrides,\n keywords = _ref.keywords,\n speakable = _ref.speakable,\n _ref$defer = _ref.defer,\n defer = _ref$defer === void 0 ? false : _ref$defer;\n\n var json = _objectSpread({\n '@context': 'https://schema.org',\n '@type': 'Article',\n mainEntityOfPage: {\n '@type': 'WebPage',\n '@id': url\n },\n headline: headline !== null && headline !== void 0 ? headline : title,\n image: images,\n datePublished: datePublished,\n dateModified: dateModified,\n dateCreated: dateCreated,\n author: {\n '@type': authorType,\n name: authorName\n },\n publisher: {\n '@type': 'Organization',\n name: publisherName,\n logo: {\n '@type': 'ImageObject',\n url: publisherLogo\n }\n },\n description: description,\n articleBody: body,\n speakable: speakable ? speakable.map(function (item) {\n return _objectSpread({\n '@type': 'SpeakableSpecification'\n }, item);\n }) : undefined,\n keywords: Array.isArray(keywords) ? keywords.join(', ') : keywords\n }, overrides);\n\n return /*#__PURE__*/_react[\"default\"].createElement(_jsonld.JsonLd, {\n defer: defer,\n json: json\n });\n};\n\nexports.ArticleJsonLd = ArticleJsonLd;\n\n/**\n * A utility component which wraps the `` component but is\n * classified as a `BlogPosting`.\n *\n * @remarks\n *\n * ```jsx\n * import React from 'react';\n * import { BlogPostJsonLd } from 'gatsby-plugin-next-seo';\n *\n * export default () => (\n * <>\n *

Blog Post JSON-LD

\n * \n * \n * );\n * ```\n *\n * @public\n */\nvar BlogPostJsonLd = function BlogPostJsonLd(_ref2) {\n var overrides = _ref2.overrides,\n _ref2$defer = _ref2.defer,\n defer = _ref2$defer === void 0 ? false : _ref2$defer,\n _ref2$publisherLogo = _ref2.publisherLogo,\n publisherLogo = _ref2$publisherLogo === void 0 ? '' : _ref2$publisherLogo,\n _ref2$publisherName = _ref2.publisherName,\n publisherName = _ref2$publisherName === void 0 ? '' : _ref2$publisherName,\n props = (0, _objectWithoutProperties2[\"default\"])(_ref2, [\"overrides\", \"defer\", \"publisherLogo\", \"publisherName\"]);\n return /*#__PURE__*/_react[\"default\"].createElement(ArticleJsonLd, (0, _extends2[\"default\"])({\n defer: defer,\n publisherName: publisherName,\n publisherLogo: publisherLogo\n }, props, {\n overrides: _objectSpread(_objectSpread({}, overrides), {}, {\n '@type': 'BlogPosting'\n })\n }));\n};\n\nexports.BlogPostJsonLd = BlogPostJsonLd;\n\n/**\n * A utility component which wraps the `` component but is\n * classified as a `NewsArticle`.\n *\n * @remarks\n *\n * ```tsx\n * import React from 'react';\n * import { NewsArticleJsonLd } from 'gatsby-plugin-next-seo';\n *\n * export default () => (\n * <>\n *

News Article JSON-LD

\n * \n * \n * );\n * ```\n */\nvar NewsArticleJsonLd = function NewsArticleJsonLd(_ref3) {\n var overrides = _ref3.overrides,\n section = _ref3.section,\n _ref3$defer = _ref3.defer,\n defer = _ref3$defer === void 0 ? false : _ref3$defer,\n props = (0, _objectWithoutProperties2[\"default\"])(_ref3, [\"overrides\", \"section\", \"defer\"]);\n return /*#__PURE__*/_react[\"default\"].createElement(ArticleJsonLd, (0, _extends2[\"default\"])({\n defer: defer\n }, props, {\n overrides: _objectSpread(_objectSpread({\n articleSection: section\n }, overrides), {}, {\n '@type': 'NewsArticle'\n })\n }));\n};\n\nexports.NewsArticleJsonLd = NewsArticleJsonLd;","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.BlogJsonLd = void 0;\n\nvar _defineProperty2 = _interopRequireDefault(require(\"@babel/runtime/helpers/defineProperty\"));\n\nvar _react = _interopRequireDefault(require(\"react\"));\n\nvar _jsonld = require(\"./jsonld\");\n\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { (0, _defineProperty2[\"default\"])(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }\n\nvar BlogJsonLd = function BlogJsonLd(_ref) {\n var url = _ref.url,\n headline = _ref.headline,\n title = _ref.title,\n _ref$images = _ref.images,\n images = _ref$images === void 0 ? [] : _ref$images,\n datePublished = _ref.datePublished,\n _ref$dateModified = _ref.dateModified,\n dateModified = _ref$dateModified === void 0 ? null : _ref$dateModified,\n authorName = _ref.authorName,\n _ref$authorType = _ref.authorType,\n authorType = _ref$authorType === void 0 ? 'Person' : _ref$authorType,\n keywords = _ref.keywords,\n description = _ref.description,\n publisherName = _ref.publisherName,\n publisherLogo = _ref.publisherLogo,\n _ref$posts = _ref.posts,\n posts = _ref$posts === void 0 ? [] : _ref$posts,\n issn = _ref.issn,\n _ref$overrides = _ref.overrides,\n overrides = _ref$overrides === void 0 ? {} : _ref$overrides,\n _ref$defer = _ref.defer,\n defer = _ref$defer === void 0 ? false : _ref$defer;\n\n var json = _objectSpread({\n '@context': 'https://schema.org',\n '@type': 'Blog',\n mainEntityOfPage: {\n '@type': 'Blog',\n '@id': url\n },\n headline: headline !== null && headline !== void 0 ? headline : title,\n keywords: keywords,\n issn: issn,\n image: images,\n datePublished: datePublished,\n dateModified: dateModified !== null && dateModified !== void 0 ? dateModified : datePublished,\n description: description,\n author: authorName ? {\n '@type': authorType,\n name: authorName\n } : undefined,\n publisher: publisherName ? {\n '@type': 'Organization',\n name: publisherName,\n logo: publisherLogo ? {\n '@type': 'ImageObject',\n url: publisherLogo\n } : undefined\n } : undefined,\n blogPost: posts.map(function (post) {\n return _objectSpread({\n '@type': 'BlogPosting'\n }, post);\n })\n }, overrides);\n\n return /*#__PURE__*/_react[\"default\"].createElement(_jsonld.JsonLd, {\n defer: defer,\n json: json\n });\n};\n\nexports.BlogJsonLd = BlogJsonLd;","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.BookJsonLd = void 0;\n\nvar _objectWithoutProperties2 = _interopRequireDefault(require(\"@babel/runtime/helpers/objectWithoutProperties\"));\n\nvar _defineProperty2 = _interopRequireDefault(require(\"@babel/runtime/helpers/defineProperty\"));\n\nvar _react = _interopRequireDefault(require(\"react\"));\n\nvar _jsonld = require(\"./jsonld\");\n\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { (0, _defineProperty2[\"default\"])(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }\n\nvar getBookFormat = function getBookFormat(type) {\n return type ? \"https://schema.org/\".concat(type) : undefined;\n};\n\n/**\n * The `Book` component makes search engines an entry point for discovering your\n * books and authors. Users can then buy the books that they find directly from\n * Search results.\n *\n * @remarks\n *\n * An example feed is shown below.\n *\n * ```tsx\n * import React from 'react';\n * import { CourseJsonLd } from 'gatsby-plugin-next-seo';\n *\n * export default () => (\n * <>\n *

Book JSON-LD

\n * \n * \n * );\n * ```\n *\n * @public\n */\nvar BookJsonLd = function BookJsonLd(_ref) {\n var name = _ref.name,\n author = _ref.author,\n url = _ref.url,\n _ref$workExample = _ref.workExample,\n workExample = _ref$workExample === void 0 ? [] : _ref$workExample,\n id = _ref.id,\n sameAs = _ref.sameAs,\n _ref$overrides = _ref.overrides,\n overrides = _ref$overrides === void 0 ? {} : _ref$overrides,\n _ref$defer = _ref.defer,\n defer = _ref$defer === void 0 ? false : _ref$defer;\n\n var json = _objectSpread({\n '@context': 'https://schema.org',\n '@type': 'Book',\n name: name,\n url: url,\n '@id': id,\n sameAs: sameAs,\n author: _objectSpread({\n '@type': 'Person'\n }, author),\n workExample: workExample.map(function (_ref2) {\n var bookFormat = _ref2.bookFormat,\n potentialAction = _ref2.potentialAction,\n author = _ref2.author,\n rest = (0, _objectWithoutProperties2[\"default\"])(_ref2, [\"bookFormat\", \"potentialAction\", \"author\"]);\n return _objectSpread(_objectSpread({\n '@type': 'Book',\n bookFormat: getBookFormat(bookFormat)\n }, rest), {}, {\n person: _objectSpread({\n '@type': 'Person'\n }, author),\n potentialAction: _objectSpread({\n '@type': 'ReadAction'\n }, potentialAction)\n });\n })\n }, overrides);\n\n return /*#__PURE__*/_react[\"default\"].createElement(_jsonld.JsonLd, {\n defer: defer,\n json: json\n });\n};\n\nexports.BookJsonLd = BookJsonLd;","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.BreadcrumbJsonLd = void 0;\n\nvar _defineProperty2 = _interopRequireDefault(require(\"@babel/runtime/helpers/defineProperty\"));\n\nvar _react = _interopRequireDefault(require(\"react\"));\n\nvar _jsonld = require(\"./jsonld\");\n\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { (0, _defineProperty2[\"default\"])(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }\n\n/**\n * A breadcrumb trail on a page indicates the page's position in the site\n * hierarchy. A user can navigate all the way up in the site hierarchy, one\n * level at a time, by starting from the last breadcrumb in the breadcrumb\n * trail.\n *\n * @remarks\n *\n * BreadCrumbJsonLd creates a\n * {@link https://schema.org/BreadcrumbList | BreadcrumbList} container item\n * that holds all elements in the list.\n *\n * ```jsx\n * import React from 'react';\n * import { BreadcrumbJsonLd } from 'gatsby-plugin-next-seo';\n *\n * export default () => (\n * <>\n *

Breadcrumb JSON-LD

\n * \n * \n * );\n * ```\n * *\n */\nvar BreadcrumbJsonLd = function BreadcrumbJsonLd(_ref) {\n var _ref$itemListElements = _ref.itemListElements,\n itemListElements = _ref$itemListElements === void 0 ? [] : _ref$itemListElements,\n _ref$overrides = _ref.overrides,\n overrides = _ref$overrides === void 0 ? {} : _ref$overrides,\n _ref$defer = _ref.defer,\n defer = _ref$defer === void 0 ? false : _ref$defer;\n\n var json = _objectSpread({\n '@context': 'https://schema.org',\n '@type': 'BreadcrumbList',\n itemListElement: itemListElements.map(function (_ref2) {\n var position = _ref2.position,\n item = _ref2.item,\n name = _ref2.name;\n return {\n '@type': 'ListItem',\n position: position,\n item: {\n '@id': item,\n name: name,\n '@type': 'Thing'\n }\n };\n })\n }, overrides);\n\n return /*#__PURE__*/_react[\"default\"].createElement(_jsonld.JsonLd, {\n defer: defer,\n json: json\n });\n};\n\nexports.BreadcrumbJsonLd = BreadcrumbJsonLd;","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.CorporateContactJsonLd = void 0;\n\nvar _react = _interopRequireDefault(require(\"react\"));\n\nvar _reactHelmetAsync = require(\"react-helmet-async\");\n\nvar formatIfArray = function formatIfArray(value) {\n return Array.isArray(value) ? \"[\".concat(value.map(function (val) {\n return \"\\\"\".concat(val, \"\\\"\");\n }).toString(), \"]\") : \"\\\"\".concat(value, \"\\\"\");\n};\n\nvar buildContactPoint = function buildContactPoint(contactPoint) {\n return contactPoint.map(function (contact) {\n return \"{\\n \\\"@type\\\": \\\"ContactPoint\\\",\\n \\\"telephone\\\": \\\"\".concat(contact.telephone, \"\\\",\\n \\\"contactType\\\": \\\"\").concat(contact.contactType, \"\\\"\").concat(contact.areaServed ? \",\\n \\\"areaServed\\\": \".concat(formatIfArray(contact.areaServed)) : '').concat(contact.availableLanguage ? \",\\n \\\"availableLanguage\\\": \".concat(formatIfArray(contact.availableLanguage)) : '').concat(contact.contactOption ? \",\\n \\\"contactOption\\\": \\\"\".concat(contact.contactOption.toString(), \"\\\"\") : '', \"\\n }\");\n });\n};\n/**\n * @deprecated\n *\n * See the\n * {@link https://developers.google.com/search/docs/data-types/corporate-contact | documentation}\n * with the reason for deprecation.\n */\n\n\nvar CorporateContactJsonLd = function CorporateContactJsonLd(_ref) {\n var url = _ref.url,\n logo = _ref.logo,\n contactPoint = _ref.contactPoint,\n _ref$defer = _ref.defer,\n defer = _ref$defer === void 0 ? false : _ref$defer;\n var jsonld = \"{\\n \\\"@context\\\": \\\"https://schema.org\\\",\\n \\\"@type\\\": \\\"Organization\\\",\\n \\\"url\\\": \\\"\".concat(url, \"\\\",\\n \").concat(logo ? \"\\\"logo\\\": \\\"\".concat(logo, \"\\\",\") : '', \"\\n \\\"contactPoint\\\": [\").concat(buildContactPoint(contactPoint).toString(), \"]\\n }\");\n return /*#__PURE__*/_react[\"default\"].createElement(_reactHelmetAsync.Helmet, {\n defer: defer\n }, /*#__PURE__*/_react[\"default\"].createElement(\"script\", {\n type: \"application/ld+json\"\n }, jsonld));\n};\n\nexports.CorporateContactJsonLd = CorporateContactJsonLd;","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.CourseJsonLd = void 0;\n\nvar _defineProperty2 = _interopRequireDefault(require(\"@babel/runtime/helpers/defineProperty\"));\n\nvar _react = _interopRequireDefault(require(\"react\"));\n\nvar _jsonld = require(\"./jsonld\");\n\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { (0, _defineProperty2[\"default\"])(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }\n\nvar CourseJsonLd = function CourseJsonLd(_ref) {\n var name = _ref.name,\n courseName = _ref.courseName,\n description = _ref.description,\n providerName = _ref.providerName,\n providerUrl = _ref.providerUrl,\n _ref$overrides = _ref.overrides,\n overrides = _ref$overrides === void 0 ? {} : _ref$overrides,\n _ref$defer = _ref.defer,\n defer = _ref$defer === void 0 ? false : _ref$defer;\n\n var json = _objectSpread({\n '@context': 'https://schema.org',\n '@type': 'Course',\n name: name !== null && name !== void 0 ? name : courseName,\n description: description,\n provider: providerName ? {\n '@type': 'Organization',\n name: providerName,\n sameAs: providerUrl\n } : undefined\n }, overrides);\n\n return /*#__PURE__*/_react[\"default\"].createElement(_jsonld.JsonLd, {\n defer: defer,\n json: json\n });\n};\n\nexports.CourseJsonLd = CourseJsonLd;","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.FAQJsonLd = void 0;\n\nvar _defineProperty2 = _interopRequireDefault(require(\"@babel/runtime/helpers/defineProperty\"));\n\nvar _react = _interopRequireDefault(require(\"react\"));\n\nvar _jsonld = require(\"./jsonld\");\n\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { (0, _defineProperty2[\"default\"])(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }\n\nvar transformMainEntity = function transformMainEntity(questions) {\n return questions.map(function (_ref) {\n var question = _ref.question,\n answer = _ref.answer;\n return {\n '@type': 'Question',\n acceptedAnswer: {\n '@type': 'Answer',\n text: answer\n },\n name: question\n };\n });\n};\n/**\n * A Frequently Asked Question (FAQ) page contains a list of questions and\n * answers pertaining to a particular topic.\n *\n * @remarks\n *\n * Properly marked up FAQ pages may be eligible to have a rich result on Search\n * and voice assistants.\n *\n * ```tsx\n * import React from 'react';\n * import { FAQJsonLd } from 'gatsby-plugin-next-seo';\n *\n * export default () => (\n * <>\n * \n *\n *

What?

\n *

Stand

\n *\n *

How?

\n *

Effort

\n *\n *

Why?

\n *

Peace

\n * \n * );\n * ```\n *\n * @public\n */\n\n\nvar FAQJsonLd = function FAQJsonLd(_ref2) {\n var mainEntity = _ref2.questions,\n _ref2$overrides = _ref2.overrides,\n overrides = _ref2$overrides === void 0 ? {} : _ref2$overrides,\n _ref2$defer = _ref2.defer,\n defer = _ref2$defer === void 0 ? false : _ref2$defer;\n\n var json = _objectSpread({\n '@context': 'https://schema.org',\n '@type': 'FAQPage',\n mainEntity: transformMainEntity(mainEntity)\n }, overrides);\n\n return /*#__PURE__*/_react[\"default\"].createElement(_jsonld.JsonLd, {\n defer: defer,\n json: json\n });\n};\n\nexports.FAQJsonLd = FAQJsonLd;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _article = require(\"./article\");\n\nObject.keys(_article).forEach(function (key) {\n if (key === \"default\" || key === \"__esModule\") return;\n Object.defineProperty(exports, key, {\n enumerable: true,\n get: function get() {\n return _article[key];\n }\n });\n});\n\nvar _blog = require(\"./blog\");\n\nObject.keys(_blog).forEach(function (key) {\n if (key === \"default\" || key === \"__esModule\") return;\n Object.defineProperty(exports, key, {\n enumerable: true,\n get: function get() {\n return _blog[key];\n }\n });\n});\n\nvar _book = require(\"./book\");\n\nObject.keys(_book).forEach(function (key) {\n if (key === \"default\" || key === \"__esModule\") return;\n Object.defineProperty(exports, key, {\n enumerable: true,\n get: function get() {\n return _book[key];\n }\n });\n});\n\nvar _breadcrumb = require(\"./breadcrumb\");\n\nObject.keys(_breadcrumb).forEach(function (key) {\n if (key === \"default\" || key === \"__esModule\") return;\n Object.defineProperty(exports, key, {\n enumerable: true,\n get: function get() {\n return _breadcrumb[key];\n }\n });\n});\n\nvar _corporateContact = require(\"./corporate-contact\");\n\nObject.keys(_corporateContact).forEach(function (key) {\n if (key === \"default\" || key === \"__esModule\") return;\n Object.defineProperty(exports, key, {\n enumerable: true,\n get: function get() {\n return _corporateContact[key];\n }\n });\n});\n\nvar _course = require(\"./course\");\n\nObject.keys(_course).forEach(function (key) {\n if (key === \"default\" || key === \"__esModule\") return;\n Object.defineProperty(exports, key, {\n enumerable: true,\n get: function get() {\n return _course[key];\n }\n });\n});\n\nvar _faq = require(\"./faq\");\n\nObject.keys(_faq).forEach(function (key) {\n if (key === \"default\" || key === \"__esModule\") return;\n Object.defineProperty(exports, key, {\n enumerable: true,\n get: function get() {\n return _faq[key];\n }\n });\n});\n\nvar _jsonld = require(\"./jsonld\");\n\nObject.keys(_jsonld).forEach(function (key) {\n if (key === \"default\" || key === \"__esModule\") return;\n Object.defineProperty(exports, key, {\n enumerable: true,\n get: function get() {\n return _jsonld[key];\n }\n });\n});\n\nvar _localBusiness = require(\"./local-business\");\n\nObject.keys(_localBusiness).forEach(function (key) {\n if (key === \"default\" || key === \"__esModule\") return;\n Object.defineProperty(exports, key, {\n enumerable: true,\n get: function get() {\n return _localBusiness[key];\n }\n });\n});\n\nvar _logo = require(\"./logo\");\n\nObject.keys(_logo).forEach(function (key) {\n if (key === \"default\" || key === \"__esModule\") return;\n Object.defineProperty(exports, key, {\n enumerable: true,\n get: function get() {\n return _logo[key];\n }\n });\n});\n\nvar _product = require(\"./product\");\n\nObject.keys(_product).forEach(function (key) {\n if (key === \"default\" || key === \"__esModule\") return;\n Object.defineProperty(exports, key, {\n enumerable: true,\n get: function get() {\n return _product[key];\n }\n });\n});\n\nvar _sitelinksSearchBox = require(\"./sitelinks-search-box\");\n\nObject.keys(_sitelinksSearchBox).forEach(function (key) {\n if (key === \"default\" || key === \"__esModule\") return;\n Object.defineProperty(exports, key, {\n enumerable: true,\n get: function get() {\n return _sitelinksSearchBox[key];\n }\n });\n});\n\nvar _socialProfile = require(\"./social-profile\");\n\nObject.keys(_socialProfile).forEach(function (key) {\n if (key === \"default\" || key === \"__esModule\") return;\n Object.defineProperty(exports, key, {\n enumerable: true,\n get: function get() {\n return _socialProfile[key];\n }\n });\n});\n\nvar _speakable = require(\"./speakable\");\n\nObject.keys(_speakable).forEach(function (key) {\n if (key === \"default\" || key === \"__esModule\") return;\n Object.defineProperty(exports, key, {\n enumerable: true,\n get: function get() {\n return _speakable[key];\n }\n });\n});","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.JsonLd = void 0;\n\nvar _react = _interopRequireDefault(require(\"react\"));\n\nvar _reactHelmetAsync = require(\"react-helmet-async\");\n\n/**\n * Component that inline-includes a JSON-LD script where specified.\n *\n * @remarks\n *\n * ```tsx\n * import React from 'react';\n * import { JsonLd } from 'gatsby-plugin-next-seo';\n * import { Person } from 'schema-dts';\n *\n * export default () => (\n * \n * json={{\n * \"@context\": \"https://schema.org\",\n * \"@type\": \"Person\",\n * name: \"Grace Hopper\",\n * alternateName: \"Grace Brewster Murray Hopper\",\n * alumniOf: {\n * \"@type\": \"CollegeOrUniversity\",\n * name: [\"Yale University\", \"Vassar College\"]\n * },\n * knowsAbout: [\"Compilers\", \"Computer Science\"]\n * }}\n * />\n * );\n * ```\n */\nvar JsonLd = function JsonLd(_ref) {\n var defer = _ref.defer,\n json = _ref.json;\n return /*#__PURE__*/_react[\"default\"].createElement(_reactHelmetAsync.Helmet, {\n defer: defer\n }, /*#__PURE__*/_react[\"default\"].createElement(\"script\", {\n type: \"application/ld+json\"\n }, JSON.stringify(json, null, 2)));\n};\n\nexports.JsonLd = JsonLd;","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.LocalBusinessJsonLd = void 0;\n\nvar _defineProperty2 = _interopRequireDefault(require(\"@babel/runtime/helpers/defineProperty\"));\n\nvar _objectWithoutProperties2 = _interopRequireDefault(require(\"@babel/runtime/helpers/objectWithoutProperties\"));\n\nvar _react = _interopRequireDefault(require(\"react\"));\n\nvar _jsonld = require(\"./jsonld\");\n\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { (0, _defineProperty2[\"default\"])(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }\n\nvar converter = {\n Mon: 'Monday',\n Tues: 'Tuesday',\n Wed: 'Wednesday',\n Thurs: 'Thursday',\n Fri: 'Friday',\n Sat: 'Saturday',\n Sun: 'Sunday'\n};\n\nvar validDay = function validDay(day) {\n var _converter;\n\n return \"http://schema.org/\".concat((_converter = converter[day]) !== null && _converter !== void 0 ? _converter : day);\n};\n\nvar getDayOfWeek = function getDayOfWeek(dayOfWeek) {\n return !dayOfWeek ? undefined : Array.isArray(dayOfWeek) ? dayOfWeek.map(validDay) : validDay(dayOfWeek);\n};\n\nvar getOpeningHoursSpecification = function getOpeningHoursSpecification(openingHours) {\n if (!openingHours) {\n return undefined;\n }\n\n if (Array.isArray(openingHours)) {\n return openingHours.map(function (_ref) {\n var dayOfWeek = _ref.dayOfWeek,\n rest = (0, _objectWithoutProperties2[\"default\"])(_ref, [\"dayOfWeek\"]);\n return _objectSpread({\n '@type': 'OpeningHoursSpecification',\n dayOfWeek: getDayOfWeek(dayOfWeek)\n }, rest);\n });\n }\n\n return _objectSpread(_objectSpread({\n '@type': 'OpeningHoursSpecification'\n }, openingHours), {}, {\n dayOfWeek: getDayOfWeek(openingHours.dayOfWeek)\n });\n};\n/**\n * When users search for businesses on Google Search or Maps, Search results may\n * display a prominent Knowledge Graph card with details about a business that\n * matched the query.\n */\n\n\nvar LocalBusinessJsonLd = function LocalBusinessJsonLd(_ref2) {\n var type = _ref2.type,\n id = _ref2.id,\n name = _ref2.name,\n description = _ref2.description,\n url = _ref2.url,\n telephone = _ref2.telephone,\n address = _ref2.address,\n geo = _ref2.geo,\n images = _ref2.images,\n openingHours = _ref2.openingHours,\n rating = _ref2.rating,\n priceRange = _ref2.priceRange,\n _ref2$overrides = _ref2.overrides,\n overrides = _ref2$overrides === void 0 ? {} : _ref2$overrides,\n _ref2$defer = _ref2.defer,\n defer = _ref2$defer === void 0 ? false : _ref2$defer;\n\n var json = _objectSpread({\n '@context': 'https://schema.org',\n '@type': type,\n '@id': id,\n name: name,\n description: description,\n url: url,\n telephone: telephone,\n priceRange: priceRange,\n image: images,\n geo: _objectSpread({\n '@type': 'GeoCoordinates'\n }, geo),\n address: _objectSpread({\n '@type': 'PostalAddress'\n }, address),\n aggregateRating: rating ? _objectSpread({\n '@type': 'AggregateRating'\n }, rating) : undefined,\n openingHoursSpecification: getOpeningHoursSpecification(openingHours)\n }, overrides);\n\n return /*#__PURE__*/_react[\"default\"].createElement(_jsonld.JsonLd, {\n defer: defer,\n json: json\n });\n};\n\nexports.LocalBusinessJsonLd = LocalBusinessJsonLd;","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.LogoJsonLd = void 0;\n\nvar _defineProperty2 = _interopRequireDefault(require(\"@babel/runtime/helpers/defineProperty\"));\n\nvar _react = _interopRequireDefault(require(\"react\"));\n\nvar _jsonld = require(\"./jsonld\");\n\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { (0, _defineProperty2[\"default\"])(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }\n\n/**\n * Specify the image Google Search uses for your organization's logo in Search\n * results and in the Knowledge Graph.\n *\n * @remarks\n *\n * Google Search uses the markup in the use case example to recognize the image\n * to use as the organization’s logo. This ensures that, when possible, the\n * image appears in search results about the company. Markup like this is a\n * strong signal to Google Search algorithms to show this image in Knowledge\n * Graph displays.\n *\n * ```jsx\n * import React from 'react';\n * import { LogoJsonLd } from 'gatsby-plugin-next-seo';\n *\n * export default () => (\n * <>\n *

Logo JSON-LD

\n * \n * \n * );\n * ```\n */\nvar LogoJsonLd = function LogoJsonLd(_ref) {\n var url = _ref.url,\n logo = _ref.logo,\n _ref$overrides = _ref.overrides,\n overrides = _ref$overrides === void 0 ? {} : _ref$overrides,\n _ref$defer = _ref.defer,\n defer = _ref$defer === void 0 ? false : _ref$defer;\n\n var json = _objectSpread({\n '@context': 'https://schema.org',\n '@type': 'Organization',\n url: url,\n logo: logo\n }, overrides);\n\n return /*#__PURE__*/_react[\"default\"].createElement(_jsonld.JsonLd, {\n defer: defer,\n json: json\n });\n};\n\nexports.LogoJsonLd = LogoJsonLd;","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.ProductJsonLd = void 0;\n\nvar _objectWithoutProperties2 = _interopRequireDefault(require(\"@babel/runtime/helpers/objectWithoutProperties\"));\n\nvar _defineProperty2 = _interopRequireDefault(require(\"@babel/runtime/helpers/defineProperty\"));\n\nvar _react = _interopRequireDefault(require(\"react\"));\n\nvar _jsonld = require(\"./jsonld\");\n\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { (0, _defineProperty2[\"default\"])(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }\n\nvar availabilityConverter = {\n Discontinued: 'http://schema.org/Discontinued',\n InStock: 'http://schema.org/InStock',\n InStoreOnly: 'http://schema.org/InStoreOnly',\n LimitedAvailability: 'http://schema.org/LimitedAvailability',\n OnlineOnly: 'http://schema.org/OnlineOnly',\n OutOfStock: 'http://schema.org/OutOfStock',\n PreOrder: 'http://schema.org/PreOrder',\n PreSale: 'http://schema.org/PreSale',\n SoldOut: 'http://schema.org/SoldOut'\n};\nvar itemConditionConverter = {\n DamagedCondition: 'http://schema.org/DamagedCondition',\n NewCondition: 'http://schema.org/NewCondition',\n RefurbishedCondition: 'http://schema.org/RefurbishedCondition',\n UsedCondition: 'http://schema.org/UsedCondition'\n};\n\nvar getAvailability = function getAvailability(availability) {\n return availability ? availabilityConverter[availability] : undefined;\n};\n\nvar getItemCondition = function getItemCondition(itemCondition) {\n return itemCondition ? itemConditionConverter[itemCondition] : undefined;\n};\n\n/**\n * Add markup to your product pages so Google can provide detailed product\n * information in rich Search results — including Google Images.\n *\n * @remarks\n *\n * Users can see price, availability, and review ratings right on Search\n * results.\n *\n * @public\n */\nvar ProductJsonLd = function ProductJsonLd(_ref) {\n var _ref3;\n\n var name = _ref.name,\n productName = _ref.productName,\n _ref$images = _ref.images,\n images = _ref$images === void 0 ? [] : _ref$images,\n description = _ref.description,\n sku = _ref.sku,\n gtin12 = _ref.gtin12,\n gtin = _ref.gtin,\n gtin8 = _ref.gtin8,\n gtin13 = _ref.gtin13,\n gtin14 = _ref.gtin14,\n mpn = _ref.mpn,\n brand = _ref.brand,\n _ref$reviews = _ref.reviews,\n reviews = _ref$reviews === void 0 ? [] : _ref$reviews,\n aggregateRating = _ref.aggregateRating,\n offers = _ref.offers,\n _ref$offersType = _ref.offersType,\n offersType = _ref$offersType === void 0 ? 'Offer' : _ref$offersType,\n _ref$overrides = _ref.overrides,\n overrides = _ref$overrides === void 0 ? {} : _ref$overrides,\n _ref$defer = _ref.defer,\n defer = _ref$defer === void 0 ? false : _ref$defer;\n\n var json = _objectSpread({\n '@context': 'https://schema.org',\n '@type': 'Product',\n name: name !== null && name !== void 0 ? name : productName,\n image: images,\n sku: sku,\n gtin: gtin,\n gtin8: gtin8,\n gtin12: gtin12,\n gtin13: gtin13,\n gtin14: gtin14,\n mpn: mpn,\n brand: brand ? {\n '@type': 'Brand',\n name: brand\n } : undefined,\n description: description,\n review: reviews.map(function (_ref2) {\n var reviewRating = _ref2.reviewRating,\n review = (0, _objectWithoutProperties2[\"default\"])(_ref2, [\"reviewRating\"]);\n return _objectSpread(_objectSpread({\n '@type': 'Review'\n }, review), {}, {\n reviewRating: _objectSpread({\n '@type': 'Rating'\n }, reviewRating)\n });\n }),\n aggregateRating: aggregateRating ? _objectSpread({\n '@type': 'AggregateRating'\n }, aggregateRating) : undefined,\n offers: offers ? _objectSpread(_objectSpread({\n '@type': offersType\n }, offers), {}, {\n availability: getAvailability(offers.availability),\n itemCondition: getItemCondition(offers.itemCondition),\n seller: offers.seller ? {\n '@type': (_ref3 = offers.seller.type) !== null && _ref3 !== void 0 ? _ref3 : 'Organization',\n name: offers.seller.name\n } : undefined\n }) : undefined\n }, overrides);\n\n return /*#__PURE__*/_react[\"default\"].createElement(_jsonld.JsonLd, {\n defer: defer,\n json: json\n });\n};\n\nexports.ProductJsonLd = ProductJsonLd;","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.SitelinksSearchBoxJsonLd = void 0;\n\nvar _defineProperty2 = _interopRequireDefault(require(\"@babel/runtime/helpers/defineProperty\"));\n\nvar _react = _interopRequireDefault(require(\"react\"));\n\nvar _jsonld = require(\"./jsonld\");\n\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { (0, _defineProperty2[\"default\"])(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }\n\n/**\n * The `SitelinksSearchBoxJsonLd` component can be used to add JSON-LD structured data to your website\n * for a Sitelinks search box.\n *\n * @remarks\n *\n * See\n * {@link https://developers.google.com/search/docs/advanced/structured-data/sitelinks-searchbox | here}\n * for further documentation.\n *\n * ```jsx\n * import React from 'react';\n * import { SitelinksSearchBoxJsonLd } from 'gatsby-plugin-next-seo';\n *\n * export default () => (\n * <>\n *

Sitelinks Search Box JSON-LD

\n * \n * \n * );\n * ```\n */\nvar SitelinksSearchBoxJsonLd = function SitelinksSearchBoxJsonLd(_ref) {\n var url = _ref.url,\n searchHandlerQueryStringUrl = _ref.searchHandlerQueryStringUrl,\n _ref$overrides = _ref.overrides,\n overrides = _ref$overrides === void 0 ? {} : _ref$overrides,\n _ref$defer = _ref.defer,\n defer = _ref$defer === void 0 ? false : _ref$defer;\n var searchTarget = {\n '@type': 'EntryPoint',\n urlTemplate: \"\".concat(searchHandlerQueryStringUrl, \"{search_term_string}\")\n };\n /**\n * Defining type SearchActionWithQueryInput to allow 'query-input' property on SearchAction inspired by post:\n * https://github.com/google/schema-dts/issues/33#issuecomment-706680584\n */\n\n var searchAction = {\n '@type': 'SearchAction',\n target: searchTarget,\n 'query-input': 'required name=search_term_string'\n };\n\n var json = _objectSpread({\n '@context': 'https://schema.org',\n '@type': 'WebSite',\n url: url,\n potentialAction: searchAction\n }, overrides);\n\n return /*#__PURE__*/_react[\"default\"].createElement(_jsonld.JsonLd, {\n defer: defer,\n json: json\n });\n};\n\nexports.SitelinksSearchBoxJsonLd = SitelinksSearchBoxJsonLd;","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.SocialProfileJsonLd = void 0;\n\nvar _react = _interopRequireDefault(require(\"react\"));\n\nvar _reactHelmetAsync = require(\"react-helmet-async\");\n\n/**\n * @deprecated\n *\n * See the Google\n * {@link https://developers.google.com/search/docs/data-types/social-profile | documentation}\n * with the reason for deprecation.\n *\n * @internal\n */\nvar SocialProfileJsonLd = function SocialProfileJsonLd(_ref) {\n var type = _ref.type,\n name = _ref.name,\n url = _ref.url,\n _ref$sameAs = _ref.sameAs,\n sameAs = _ref$sameAs === void 0 ? [] : _ref$sameAs,\n _ref$defer = _ref.defer,\n defer = _ref$defer === void 0 ? false : _ref$defer;\n var jsonld = \"{\\n \\\"@context\\\": \\\"http://schema.org\\\",\\n \\\"@type\\\": \\\"\".concat(type, \"\\\",\\n \\\"name\\\": \\\"\").concat(name, \"\\\",\\n \\\"url\\\": \\\"\").concat(url, \"\\\",\\n \\\"sameAs\\\": [\\n \").concat(sameAs.map(function (socialUrl) {\n return \"\\\"\".concat(socialUrl, \"\\\"\");\n }).toString(), \"\\n ]\\n }\");\n return /*#__PURE__*/_react[\"default\"].createElement(_reactHelmetAsync.Helmet, {\n defer: defer\n }, /*#__PURE__*/_react[\"default\"].createElement(\"script\", {\n type: \"application/ld+json\"\n }, jsonld));\n};\n\nexports.SocialProfileJsonLd = SocialProfileJsonLd;","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.SpeakableJsonLd = void 0;\n\nvar _defineProperty2 = _interopRequireDefault(require(\"@babel/runtime/helpers/defineProperty\"));\n\nvar _react = _interopRequireDefault(require(\"react\"));\n\nvar _jsonld = require(\"./jsonld\");\n\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { (0, _defineProperty2[\"default\"])(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }\n\n/**\n * The speakable schema.org property identifies sections within an article or\n * webpage that are best suited for audio playback using text-to-speech (TTS).\n *\n * @remarks\n *\n * Adding markup allows search engines and other applications to identify\n * content to read aloud on Google Assistant-enabled devices using TTS. Webpages\n * with speakable structured data can use the Google Assistant to distribute the\n * content through new channels and reach a wider base of users.\n *\n * ``` tsx\n * const Component = () => ;\n * ```\n *\n * @beta\n */\nvar SpeakableJsonLd = function SpeakableJsonLd(_ref) {\n var xpath = _ref.xpath,\n cssSelector = _ref.cssSelector,\n _ref$overrides = _ref.overrides,\n overrides = _ref$overrides === void 0 ? {} : _ref$overrides,\n _ref$defer = _ref.defer,\n defer = _ref$defer === void 0 ? false : _ref$defer;\n\n if (xpath && cssSelector) {\n throw new Error('Speakable should use either xpath or the cssSelector, not both.');\n }\n\n var json = _objectSpread({\n '@context': 'https://schema.org',\n '@type': 'SpeakableSpecification',\n cssSelector: cssSelector,\n xpath: xpath\n }, overrides);\n\n return /*#__PURE__*/_react[\"default\"].createElement(_jsonld.JsonLd, {\n defer: defer,\n json: json\n });\n};\n\nexports.SpeakableJsonLd = SpeakableJsonLd;","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.GatsbySeo = void 0;\n\nvar _react = _interopRequireDefault(require(\"react\"));\n\nvar _baseSeo = require(\"./base-seo\");\n\n/* eslint-disable @typescript-eslint/explicit-module-boundary-types */\n\n/**\n * This component render the tags in the `` for SEO on a per page basis.\n * As a bare minimum, you should add a title and description.\n *\n * @remarks\n *\n * ```tsx\n * import React from 'react';\n * import { GatsbySeo } from 'gatsby-plugin-next-seo';\n *\n * export default () => (\n * <>\n * \n *

Simple Usage

\n * \n * );\n * ```\n *\n * @public\n */\nvar GatsbySeo = function GatsbySeo(_ref) {\n var metaTags = _ref.metaTags,\n linkTags = _ref.linkTags,\n canonical = _ref.canonical,\n description = _ref.description,\n facebook = _ref.facebook,\n htmlAttributes = _ref.htmlAttributes,\n language = _ref.language,\n languageAlternates = _ref.languageAlternates,\n mobileAlternate = _ref.mobileAlternate,\n nofollow = _ref.nofollow,\n noindex = _ref.noindex,\n openGraph = _ref.openGraph,\n title = _ref.title,\n titleTemplate = _ref.titleTemplate,\n twitter = _ref.twitter,\n base = _ref.base;\n return /*#__PURE__*/_react[\"default\"].createElement(_baseSeo.BaseSeo, {\n metaTags: metaTags,\n linkTags: linkTags,\n canonical: canonical,\n description: description,\n facebook: facebook,\n htmlAttributes: htmlAttributes,\n language: language,\n languageAlternates: languageAlternates,\n mobileAlternate: mobileAlternate,\n nofollow: nofollow,\n noindex: noindex,\n openGraph: openGraph,\n title: title,\n titleTemplate: titleTemplate,\n twitter: twitter,\n base: base\n });\n};\n\nexports.GatsbySeo = GatsbySeo;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _baseSeo = require(\"./base-seo\");\n\nObject.keys(_baseSeo).forEach(function (key) {\n if (key === \"default\" || key === \"__esModule\") return;\n Object.defineProperty(exports, key, {\n enumerable: true,\n get: function get() {\n return _baseSeo[key];\n }\n });\n});\n\nvar _gatsbySeo = require(\"./gatsby-seo\");\n\nObject.keys(_gatsbySeo).forEach(function (key) {\n if (key === \"default\" || key === \"__esModule\") return;\n Object.defineProperty(exports, key, {\n enumerable: true,\n get: function get() {\n return _gatsbySeo[key];\n }\n });\n});","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\nexports.__esModule = true;\nexports.Link = void 0;\nvar _extends2 = _interopRequireDefault(require(\"@babel/runtime/helpers/extends\"));\nvar _objectWithoutPropertiesLoose2 = _interopRequireDefault(require(\"@babel/runtime/helpers/objectWithoutPropertiesLoose\"));\nvar _react = _interopRequireWildcard(require(\"react\"));\nvar _i18nextContext = require(\"./i18nextContext\");\nvar _gatsby = require(\"gatsby\");\nvar _types = require(\"./types\");\nvar _excluded = [\"language\", \"to\", \"onClick\"];\nfunction _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== \"function\") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }\nfunction _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== \"object\" && typeof obj !== \"function\") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== \"default\" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }\nvar Link = /*#__PURE__*/_react.default.forwardRef(function (_ref, ref) {\n var language = _ref.language,\n to = _ref.to,\n _onClick = _ref.onClick,\n rest = (0, _objectWithoutPropertiesLoose2.default)(_ref, _excluded);\n var context = (0, _react.useContext)(_i18nextContext.I18nextContext);\n var urlLanguage = language || context.language;\n var getLanguagePath = function getLanguagePath(language) {\n return context.generateDefaultLanguagePage || language !== context.defaultLanguage ? \"/\" + language : '';\n };\n var link = \"\" + getLanguagePath(urlLanguage) + to;\n return (\n /*#__PURE__*/\n // @ts-ignore\n _react.default.createElement(_gatsby.Link, (0, _extends2.default)({}, rest, {\n to: link,\n innerRef: ref,\n hrefLang: urlLanguage,\n onClick: function onClick(e) {\n if (language) {\n localStorage.setItem(_types.LANGUAGE_KEY, language);\n }\n if (_onClick) {\n _onClick(e);\n }\n }\n }))\n );\n});\nexports.Link = Link;","\"use strict\";\n\nexports.__esModule = true;\nvar _reactI18next = require(\"react-i18next\");\nObject.keys(_reactI18next).forEach(function (key) {\n if (key === \"default\" || key === \"__esModule\") return;\n if (key in exports && exports[key] === _reactI18next[key]) return;\n exports[key] = _reactI18next[key];\n});\nvar _i18nextContext = require(\"./i18nextContext\");\nObject.keys(_i18nextContext).forEach(function (key) {\n if (key === \"default\" || key === \"__esModule\") return;\n if (key in exports && exports[key] === _i18nextContext[key]) return;\n exports[key] = _i18nextContext[key];\n});\nvar _useI18next = require(\"./useI18next\");\nObject.keys(_useI18next).forEach(function (key) {\n if (key === \"default\" || key === \"__esModule\") return;\n if (key in exports && exports[key] === _useI18next[key]) return;\n exports[key] = _useI18next[key];\n});\nvar _Link = require(\"./Link\");\nObject.keys(_Link).forEach(function (key) {\n if (key === \"default\" || key === \"__esModule\") return;\n if (key in exports && exports[key] === _Link[key]) return;\n exports[key] = _Link[key];\n});","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\nexports.__esModule = true;\nexports.useI18next = void 0;\nvar _extends2 = _interopRequireDefault(require(\"@babel/runtime/helpers/extends\"));\nvar _reactI18next = require(\"react-i18next\");\nvar _react = require(\"react\");\nvar _gatsby = require(\"gatsby\");\nvar _i18nextContext = require(\"./i18nextContext\");\nvar _types = require(\"./types\");\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 var context = (0, _react.useContext)(_i18nextContext.I18nextContext);\n var routed = context.routed,\n defaultLanguage = context.defaultLanguage,\n generateDefaultLanguagePage = context.generateDefaultLanguagePage;\n var getLanguagePath = function getLanguagePath(language) {\n return generateDefaultLanguagePage || language !== defaultLanguage ? \"/\" + language : '';\n };\n var removePrefix = function removePrefix(pathname) {\n var base = typeof __BASE_PATH__ !== \"undefined\" ? __BASE_PATH__ : __PATH_PREFIX__;\n if (base && pathname.indexOf(base) === 0) {\n pathname = pathname.slice(base.length);\n }\n return pathname;\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 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 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 return (0, _extends2.default)({}, context, {\n i18n: i18n,\n t: t,\n ready: ready,\n navigate: navigate,\n changeLanguage: changeLanguage\n });\n};\nexports.useI18next = useI18next;","module.exports = require('./dist');\n","import React from \"react\";\nimport { useTranslation } from \"gatsby-plugin-react-i18next\";\nimport { CookieBanner } from \"@keepist/react-gdpr-cookie-banner\";\nimport { useLocation } from \"@reach/router\";\nimport { initializeAndTrack } from \"gatsby-plugin-gdpr-cookies\";\n\nexport default function Cookie(props) {\n const { t } = useTranslation();\n const location = useLocation();\n return (\n !props.reloadCookie && (\n \n )\n );\n {\n /* \n

{t(\"Ihre Privatsphäre ist uns wichtig\")}

\n

\n {t(\n \"Diese Website verwendet Cookies und Targeting Technologien, um Ihnen ein besseres Internet-Erlebnis zu ermöglichen und die Werbung, die Sie sehen, besser an Ihre Bedürfnisse anzupassen. Diese Technologien nutzen wir außerdem, um Ergebnisse zu messen, um zu verstehen, woher unsere Besucher kommen oder um unsere Website weiter zu entwickeln. \"\n )}\n

\n
\n }\n onAccept={() => {\n initializeAndTrack(location);\n props.setReloadCookie(false);\n }}\n privacyPolicyLinkText={t(\"Zur Datenschutzerklärung\")}\n policyLink={t(\"/datenschutz\")}\n necessaryOptionText={t(\"Notwendinge Cookies\")}\n preferencesOptionText={t(\"Präferenzen\")}\n statisticsOptionText={t(\"Statistik\")}\n marketingOptionText={t(\"Marketing\")}\n acceptAllButtonText={t(\"Alle akzeptieren\")}\n showAcceptSelectionButton={true}\n showPreferencesOption={false}\n acceptSelectionButtonText={t(\"Speichern\")}\n preferencesOptionInitiallyChecked={true}\n statisticsOptionInitiallyChecked={true}\n marketingOptionInitiallyChecked={true}\n styles={{\n button: {\n background: \"var(--lineup-signal-red)\",\n color: \"#fff\",\n borderRadius: \"4px\",\n padding: \"5px 14px\",\n marginLeft: \"10px\",\n },\n }}\n /> */\n }\n}\n","import React from \"react\";\nimport { graphql, useStaticQuery } from \"gatsby\";\nimport { GatsbyImage, getImage } from \"gatsby-plugin-image\";\nimport * as styles from \"../styles/footer.module.css\";\nimport { Icon } from \"@iconify/react\";\nimport { Link } from \"gatsby\";\nimport { useTranslation, useI18next } from \"gatsby-plugin-react-i18next\";\nexport default function Footer(props) {\n const { t } = useTranslation();\n const data = useStaticQuery(\n graphql`\n query FooterInfo {\n site {\n siteMetadata {\n copyright\n email\n linkedinLink\n phoneDisplay\n xingLink\n address {\n city\n company\n country\n street\n zip\n }\n }\n }\n isoLogo: file(relativePath: { eq: \"iso-9001-gray.png\" }) {\n childImageSharp {\n gatsbyImageData(placeholder: BLURRED, formats: [PNG, WEBP])\n }\n }\n intertekLogo: file(relativePath: { eq: \"intertek-gray.png\" }) {\n childImageSharp {\n gatsbyImageData(placeholder: BLURRED, formats: [PNG, WEBP])\n }\n }\n }\n `\n );\n const currentLanguage = useI18next().language;\n const get_cookie = (name) => {\n return document.cookie.split(\";\").some((c) => {\n return c.trim().startsWith(name + \"=\");\n });\n };\n const delete_cookie = (name, path, domain) => {\n if (get_cookie(name)) {\n document.cookie =\n name +\n \"=\" +\n (path ? \";path=\" + path : \"\") +\n (domain ? \";domain=\" + domain : \"\") +\n \";expires=Thu, 01 Jan 1970 00:00:01 GMT\";\n }\n };\n const { address, copyright, email, linkedinLink, phoneDisplay, xingLink } =\n data.site.siteMetadata;\n const isoLogo = getImage(data.isoLogo);\n const intertekLogo = getImage(data.intertekLogo);\n const reOpenCookieBanner = () => {\n delete_cookie(\"rcl_consent_given\");\n props.setReloadCookie(true);\n };\n return (\n
\n
\n
\n
\n
\n

{address.company}

\n

\n {address.street}\n
\n {address.zip} {address.city}\n
\n {t(address.country)}\n
\n
\n Tel.: {phoneDisplay}\n
\n Email: {email}\n
\n

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

{t(\"Unternehmen\")}

\n
    \n
  • \n \n {t(\"Kontakt\")}\n \n
  • \n
  • \n \n {t(\"Ãœber uns\")}\n \n
  • \n
  • \n \n {t(\"Karriere\")}\n \n
  • \n
  • \n {t(\"News\")}\n
  • \n
  • \n {t(\"FAQ\")}\n
  • \n
\n
\n\n
\n

{t(\"Rechtliches\")}

\n
    \n
  • \n \n {t(\"Impressum\")}\n \n
  • \n
  • \n \n {t(\"AGB\")}\n \n
  • \n
  • \n \n {t(\"Datenschutz\")}\n \n
  • \n
  • \n

    \n {t(\"Cookie Einstellungen\")}\n

    \n
  • \n
  • \n \n Consent Preferences\n \n
  • \n
\n
\n\n
\n

{t(\"Unsere sozialen Netzwerke\")}

\n

\n
\n \n \n {\"Xing \" + t(\"Profil\")}\n \n \n \n {\"LinkedIn \" + t(\"Profil\")}\n \n
\n
\n
\n
\n
\n
\n © Copyright{\" \"}\n \n {copyright}\n \n . {t(\"Alle Rechte vorbehalten\")}\n
\n
\n
\n
\n );\n}\n","// extracted by mini-css-extract-plugin\nexport var active = \"navbar-module--active--b29f7\";\nexport var btn = \"navbar-module--btn--69c75\";\nexport var dropdown = \"navbar-module--dropdown--b532f\";\nexport var dropdownActive = \"navbar-module--dropdownActive--76e2c\";\nexport var getstarted = \"navbar-module--getstarted--9bf6f\";\nexport var mobileNavButton = \"navbar-module--mobileNavButton--daa89\";\nexport var mobileNavToggle = \"navbar-module--mobileNavToggle--4cd4c\";\nexport var navbar = \"navbar-module--navbar--04771\";\nexport var navbarMobile = \"navbar-module--navbarMobile--06cfa\";\nexport var onlyMobile = \"navbar-module--onlyMobile--be61e\";","import React, { useState } from \"react\";\nimport { Link } from \"gatsby\";\nimport * as styles from \"../styles/navbar.module.css\";\nimport { useTranslation } from \"gatsby-plugin-react-i18next\";\nimport { Icon } from \"@iconify/react\";\nimport LanguageOptions from \"./LanguageOptions\";\n\nexport default function Navbar({ alternateLinks, removeLanguages }) {\n const { t } = useTranslation();\n const languageLinks = alternateLinks ? alternateLinks : LanguageOptions();\n const [navbarOpen, setNavbarOpen] = useState(false);\n const [openServices, setOpenServices] = useState(false);\n const [openAboutUs, setOpenAboutUs] = useState(false);\n const [openIndustries, setOpenIndustries] = useState(false);\n\n return (\n \n
    \n
  • \n \n {t(\"Startseite\")}\n \n
  • \n
  • \n {navbarOpen ? (\n
    \n
    \n \n {t(\"Ãœber uns\")}\n \n
    \n setOpenAboutUs(!openAboutUs)}\n >\n \n
    \n \n ) : (\n \n {t(\"Ãœber uns\")}\n \n )}\n\n \n
  • \n \n {t(\"News\")}\n \n
  • \n
  • \n \n {t(\"FAQ\")}\n \n
  • \n
\n \n\n
  • \n \n {t(\"Dashboard\")}\n \n
  • \n
  • \n {navbarOpen ? (\n
    \n
    \n \n {t(\"Leistungen\")}\n \n
    \n setOpenServices(!openServices)}\n >\n \n
    \n \n ) : (\n \n {t(\"Leistungen\")}\n \n )}\n\n \n
  • \n \n {t(\"Beratung\")}\n \n
  • \n
  • \n \n {t(\"Bemusterung\")}\n \n
  • \n
  • \n \n {t(\"Serienfertigung\")}\n \n
  • \n
  • \n \n {t(\"Qualitätskontrolle\")}\n \n
  • \n
  • \n \n {t(\"Importabwicklung\")}\n \n
  • \n
  • \n \n {t(\"Logistik\")}\n \n
  • \n \n \n\n
  • \n {navbarOpen ? (\n
    \n
    \n \n {t(\"Branchen\")}\n \n
    \n setOpenIndustries(!openIndustries)}\n >\n \n
    \n \n ) : (\n \n {t(\"Branchen\")}\n \n )}\n\n \n
  • \n \n {t(\"Fertigungsverfahren\")}\n \n
  • \n \n \n\n {/*
  • \n \n {t(\"Branchen\")}\n \n
  • */}\n
  • \n
    \n \n {t(\"Kostenlos registrieren\")}\n \n
    \n
  • \n {!removeLanguages &&\n languageLinks.map((language, i) => {\n return (\n
  • \n \n {language.language.toUpperCase()}\n \n
  • \n );\n })}\n \n {\n setNavbarOpen(!navbarOpen);\n }}\n />\n \n );\n}\n","// extracted by mini-css-extract-plugin\nexport var logo = \"logo-module--logo--80a22\";","import React from \"react\";\nimport * as styles from \"../styles/logo.module.css\";\nimport { useTranslation } from \"gatsby-plugin-react-i18next\";\nimport { Link } from \"gatsby\";\nimport { GatsbyImage } from \"gatsby-plugin-image\";\nimport { graphql, useStaticQuery } from \"gatsby\";\nimport { getImage } from \"gatsby-plugin-image\";\n\nexport default function Logo() {\n const logo = useStaticQuery(graphql`\n query Logo {\n logo: file(relativePath: { eq: \"Line-Up-Logo.png\" }) {\n childImageSharp {\n gatsbyImageData(\n placeholder: BLURRED,\n formats: [PNG, WEBP],\n width: 230\n )\n }\n }\n }\n `);\n\n const { t } = useTranslation();\n return (\n
    \n \n \n \n
    \n );\n}\n","// extracted by mini-css-extract-plugin\nexport var progressBar = \"scrollProgressBar-module--progressBar--0d1f6\";\nexport var progressContainer = \"scrollProgressBar-module--progressContainer--f65d9\";","import React from \"react\";\nimport * as styles from \"../styles/scrollProgressBar.module.css\";\n\nexport default function ScrollProgressBar() {\n window.onscroll = function () {\n scrollFunction();\n };\n\n const scrollFunction = () => {\n var winScroll =\n document.body.scrollTop || document.documentElement.scrollTop;\n var height =\n document.documentElement.scrollHeight -\n document.documentElement.clientHeight;\n var scrolled = (winScroll / height) * 100;\n if (document.getElementById(\"scrollbar\")) {\n document.getElementById(\"scrollbar\").style.width = scrolled + \"%\";\n }\n };\n\n return (\n
    \n
    \n
    \n );\n}\n","// extracted by mini-css-extract-plugin\nexport var fixedTop = \"header-module--fixedTop--3a54f\";\nexport var fixedTopMobile = \"header-module--fixedTopMobile--fa930\";\nexport var header = \"header-module--header--51a6e\";","import React, { useEffect, useState } from \"react\";\nimport Navbar from \"./Navbar\";\nimport Logo from \"./Logo\";\nimport ScrollProgressBar from \"./ScrollProgressBar\";\nimport * as styles from \"../styles/header.module.css\";\n\nexport default function Header({\n navbar,\n removeLanguages,\n progressBar,\n alternateLinks,\n}) {\n const [showScrollProgress, setShowScrollProgress] = useState(false);\n useEffect(() => {\n if (window.innerWidth > 768) {\n if (window !== \"undefined\" && document.getElementById(\"header\")) {\n window.addEventListener(\"scroll\", () => {\n if (document.getElementById(\"header\")) {\n if (document.getElementById(\"header\").offsetTop < window.scrollY) {\n setShowScrollProgress(true);\n document.getElementById(\"header\").classList.add(styles.fixedTop);\n } else {\n setShowScrollProgress(false);\n document\n .getElementById(\"header\")\n .classList.remove(styles.fixedTop);\n }\n }\n });\n }\n }\n }, []);\n\n return (\n \n \n \n \n {navbar && (\n \n )}\n \n {progressBar && showScrollProgress && }\n \n );\n}\n","export const getRoute = (path, currentLanguage, newLanguage) => {\n if (path === \"\") {\n return newLanguage === \"de\" ? \"/\" : \"/\" + newLanguage + \"/\";\n }\n\n const routes = [\n { de: \"/ueber_uns\", en: \"/about_us\" },\n { de: \"/branchen\", en: \"/industries\" },\n {\n de: \"/branche/sanitaer_grosshandel\",\n en: \"/industrie/sanitary_products_wholesale\",\n },\n { de: \"/branche/bauindustrie\", en: \"/industrie/construction_industry\" },\n {\n de: \"/branche/individuelle_komponenten\",\n en: \"/industrie/individual_components\",\n },\n { de: \"/branche/werkzeug_fertigen\", en: \"/industrie/tools_made\" },\n {\n de: \"/branche/glasprodukte_eigenmarke\",\n en: \"/industrie/glass_products_private_label\",\n },\n {\n de: \"/branche/textil_und_bekleidung\",\n en: \"/industrie/clothing_and_textiles\",\n },\n { de: \"/leistungen\", en: \"/services\" },\n {\n de: \"/supply_chain_dashboard\",\n en: \"/supply_chain_dashboard\",\n },\n {\n de: \"/leistung/beratung\",\n en: \"/service/consulting\",\n },\n {\n de: \"/leistung/bemusterung\",\n en: \"/service/sampling\",\n },\n {\n de: \"/leistung/serienfertigung\",\n en: \"/service/series_production\",\n },\n {\n de: \"/leistung/qualitaetskontrolle\",\n en: \"/service/quality_control\",\n },\n {\n de: \"/leistung/importabwicklung\",\n en: \"/service/import_handling\",\n },\n {\n de: \"/leistung/logistik\",\n en: \"/service/logistics\",\n },\n {\n de: \"/news\",\n en: \"/news\",\n },\n {\n de: \"/karriere\",\n en: \"/career\",\n },\n { de: \"/termin_vereinbaren\", en: \"/appointment\" },\n { de: \"/agb\", en: \"/gtc\" },\n { de: \"/impressum\", en: \"/imprint\" },\n { de: \"/datenschutz\", en: \"/privacy_policy\" },\n { de: \"\", en: \"\" },\n { de: \"/faq\", en: \"/faq\" },\n {\n de: \"/fertigungsverfahren/metallverarbeitung/cnc-fertigung\",\n en: \"/manufacturing-process/metal-process/cnc-manufacturing\",\n },\n {\n de: \"/fertigungsverfahren/metallverarbeitung/abkanten\",\n en: \"/manufacturing-process/metal-process/bending\",\n },\n {\n de: \"/fertigungsverfahren/metallverarbeitung/druckguss\",\n en: \"/manufacturing-process/metal-process/die-casting\",\n },\n {\n de: \"/fertigungsverfahren/metallverarbeitung/guss\",\n en: \"/manufacturing-process/metal-process/casting\",\n },\n {\n de: \"/fertigungsverfahren/metallverarbeitung/laserschneiden\",\n en: \"/manufacturing-process/metal-process/laser-cutting\",\n },\n {\n de: \"/fertigungsverfahren/metallverarbeitung/plasmaschneiden\",\n en: \"/manufacturing-process/metal-process/plasma-cutting\",\n },\n {\n de: \"/fertigungsverfahren/metallverarbeitung/schweissen\",\n en: \"/manufacturing-process/metal-process/welding\",\n },\n {\n de: \"/fertigungsverfahren/metallverarbeitung/stanzen\",\n en: \"/manufacturing-process/metal-process/punching\",\n },\n {\n de: \"/fertigungsverfahren/metallverarbeitung/wasserstrahlschneiden\",\n en: \"/manufacturing-process/metal-process/waterjet-cutting\",\n },\n {\n de: \"/fertigungsverfahren/metallverarbeitung\",\n en: \"/manufacturing-process/metal-process\",\n },\n {\n de: \"/404\",\n en: \"/404\",\n },\n ];\n\n const pathParts = path.split(\"/\");\n const lastElement = pathParts[pathParts.length - 1];\n let lastElementIsNumber = false;\n if (!isNaN(lastElement)) {\n lastElementIsNumber = true;\n pathParts.pop();\n }\n const newPath = pathParts.join(\"/\");\n const route = routes.find((route) => route[currentLanguage] === newPath);\n\n if (route) {\n if (newLanguage !== \"de\") {\n if (route === \"\") {\n return \"/\" + newLanguage + \"/\";\n }\n return (\n \"/\" +\n newLanguage +\n route[newLanguage] +\n (lastElementIsNumber ? \"/\" + lastElement + \"/\" : \"/\")\n );\n } else\n return (\n route[newLanguage] +\n (lastElementIsNumber ? \"/\" + lastElement + \"/\" : \"/\")\n );\n } else {\n return path;\n }\n};\n","import { useI18next } from \"gatsby-plugin-react-i18next\";\nimport { getRoute } from \"./Routing\";\n\nexport default function LanguageOptions() {\n const { languages, originalPath } = useI18next();\n const currentLanguage = useI18next().language;\n\n return languages.map((lng) => {\n return {\n to: getRoute(originalPath.slice(0, -1), currentLanguage, lng),\n language: lng,\n };\n });\n}\n","// extracted by mini-css-extract-plugin\nexport var backToTopButton = \"scrollBackToTopButton-module--backToTopButton--146ec\";\nexport var invisible = \"scrollBackToTopButton-module--invisible--19bba\";","import React from \"react\";\nimport * as styles from \"../styles/scrollBackToTopButton.module.css\";\nimport { Icon } from \"@iconify/react\";\nimport { useEffect } from \"react\";\n\nexport default function ScrollBackToTopButton() {\n useEffect(() => {\n const scrollFunction = () => {\n var winScroll =\n document.body.scrollTop || document.documentElement.scrollTop;\n var height =\n document.documentElement.scrollHeight -\n document.documentElement.clientHeight;\n var scrolled = (winScroll / height) * 100;\n if (document.getElementById(\"scrollToTopButton\") && scrolled >= 40) {\n document\n .getElementById(\"scrollToTopButton\")\n .classList.remove(styles.invisible);\n } else if (\n document.getElementById(\"scrollToTopButton\") &&\n scrolled < 40\n ) {\n document\n .getElementById(\"scrollToTopButton\")\n .classList.add(styles.invisible);\n }\n };\n\n if (\n window !== \"undefined\" &&\n document.getElementById(\"scrollToTopButton\")\n ) {\n window.addEventListener(\"scroll\", () => {\n scrollFunction();\n });\n }\n }, []);\n\n const backtoTop = () => {\n window.scrollTo({\n top: 0,\n behavior: \"smooth\",\n });\n };\n\n return (\n \n \n \n );\n}\n","// extracted by mini-css-extract-plugin\nexport var certifiedIcon = \"footer-module--certifiedIcon--bff4c\";\nexport var certifiedIcons = \"footer-module--certifiedIcons--42518\";\nexport var copyright = \"footer-module--copyright--43e5e\";\nexport var credits = \"footer-module--credits--61276\";\nexport var footer = \"footer-module--footer--33bb1\";\nexport var footerContact = \"footer-module--footerContact--b49ff\";\nexport var footerLinks = \"footer-module--footerLinks--af253\";\nexport var footerNewsletter = \"footer-module--footer-newsletter--c9761\";\nexport var footerTop = \"footer-module--footerTop--62bd5\";\nexport var icon = \"footer-module--icon--724ef\";\nexport var infoBox = \"footer-module--infoBox--e8119\";\nexport var socialIcon = \"footer-module--socialIcon--3b11b\";\nexport var socialLinks = \"footer-module--social-links--77304\";","import React from 'react';\n\nconst matchIconName = /^[a-z0-9]+(-[a-z0-9]+)*$/;\nconst stringToIcon = (value, validate, allowSimpleName, provider = \"\") => {\n const colonSeparated = value.split(\":\");\n if (value.slice(0, 1) === \"@\") {\n if (colonSeparated.length < 2 || colonSeparated.length > 3) {\n return null;\n }\n provider = colonSeparated.shift().slice(1);\n }\n if (colonSeparated.length > 3 || !colonSeparated.length) {\n return null;\n }\n if (colonSeparated.length > 1) {\n const name2 = colonSeparated.pop();\n const prefix = colonSeparated.pop();\n const result = {\n // Allow provider without '@': \"provider:prefix:name\"\n provider: colonSeparated.length > 0 ? colonSeparated[0] : provider,\n prefix,\n name: name2\n };\n return validate && !validateIconName(result) ? null : result;\n }\n const name = colonSeparated[0];\n const dashSeparated = name.split(\"-\");\n if (dashSeparated.length > 1) {\n const result = {\n provider,\n prefix: dashSeparated.shift(),\n name: dashSeparated.join(\"-\")\n };\n return validate && !validateIconName(result) ? null : result;\n }\n if (allowSimpleName && provider === \"\") {\n const result = {\n provider,\n prefix: \"\",\n name\n };\n return validate && !validateIconName(result, allowSimpleName) ? null : result;\n }\n return null;\n};\nconst validateIconName = (icon, allowSimpleName) => {\n if (!icon) {\n return false;\n }\n return !!((icon.provider === \"\" || icon.provider.match(matchIconName)) && (allowSimpleName && icon.prefix === \"\" || icon.prefix.match(matchIconName)) && icon.name.match(matchIconName));\n};\n\nconst defaultIconDimensions = Object.freeze(\n {\n left: 0,\n top: 0,\n width: 16,\n height: 16\n }\n);\nconst defaultIconTransformations = Object.freeze({\n rotate: 0,\n vFlip: false,\n hFlip: false\n});\nconst defaultIconProps = Object.freeze({\n ...defaultIconDimensions,\n ...defaultIconTransformations\n});\nconst defaultExtendedIconProps = Object.freeze({\n ...defaultIconProps,\n body: \"\",\n hidden: false\n});\n\nfunction mergeIconTransformations(obj1, obj2) {\n const result = {};\n if (!obj1.hFlip !== !obj2.hFlip) {\n result.hFlip = true;\n }\n if (!obj1.vFlip !== !obj2.vFlip) {\n result.vFlip = true;\n }\n const rotate = ((obj1.rotate || 0) + (obj2.rotate || 0)) % 4;\n if (rotate) {\n result.rotate = rotate;\n }\n return result;\n}\n\nfunction mergeIconData(parent, child) {\n const result = mergeIconTransformations(parent, child);\n for (const key in defaultExtendedIconProps) {\n if (key in defaultIconTransformations) {\n if (key in parent && !(key in result)) {\n result[key] = defaultIconTransformations[key];\n }\n } else if (key in child) {\n result[key] = child[key];\n } else if (key in parent) {\n result[key] = parent[key];\n }\n }\n return result;\n}\n\nfunction getIconsTree(data, names) {\n const icons = data.icons;\n const aliases = data.aliases || /* @__PURE__ */ Object.create(null);\n const resolved = /* @__PURE__ */ Object.create(null);\n function resolve(name) {\n if (icons[name]) {\n return resolved[name] = [];\n }\n if (!(name in resolved)) {\n resolved[name] = null;\n const parent = aliases[name] && aliases[name].parent;\n const value = parent && resolve(parent);\n if (value) {\n resolved[name] = [parent].concat(value);\n }\n }\n return resolved[name];\n }\n (names || Object.keys(icons).concat(Object.keys(aliases))).forEach(resolve);\n return resolved;\n}\n\nfunction internalGetIconData(data, name, tree) {\n const icons = data.icons;\n const aliases = data.aliases || /* @__PURE__ */ Object.create(null);\n let currentProps = {};\n function parse(name2) {\n currentProps = mergeIconData(\n icons[name2] || aliases[name2],\n currentProps\n );\n }\n parse(name);\n tree.forEach(parse);\n return mergeIconData(data, currentProps);\n}\n\nfunction parseIconSet(data, callback) {\n const names = [];\n if (typeof data !== \"object\" || typeof data.icons !== \"object\") {\n return names;\n }\n if (data.not_found instanceof Array) {\n data.not_found.forEach((name) => {\n callback(name, null);\n names.push(name);\n });\n }\n const tree = getIconsTree(data);\n for (const name in tree) {\n const item = tree[name];\n if (item) {\n callback(name, internalGetIconData(data, name, item));\n names.push(name);\n }\n }\n return names;\n}\n\nconst optionalPropertyDefaults = {\n provider: \"\",\n aliases: {},\n not_found: {},\n ...defaultIconDimensions\n};\nfunction checkOptionalProps(item, defaults) {\n for (const prop in defaults) {\n if (prop in item && typeof item[prop] !== typeof defaults[prop]) {\n return false;\n }\n }\n return true;\n}\nfunction quicklyValidateIconSet(obj) {\n if (typeof obj !== \"object\" || obj === null) {\n return null;\n }\n const data = obj;\n if (typeof data.prefix !== \"string\" || !obj.icons || typeof obj.icons !== \"object\") {\n return null;\n }\n if (!checkOptionalProps(obj, optionalPropertyDefaults)) {\n return null;\n }\n const icons = data.icons;\n for (const name in icons) {\n const icon = icons[name];\n if (!name.match(matchIconName) || typeof icon.body !== \"string\" || !checkOptionalProps(\n icon,\n defaultExtendedIconProps\n )) {\n return null;\n }\n }\n const aliases = data.aliases || /* @__PURE__ */ Object.create(null);\n for (const name in aliases) {\n const icon = aliases[name];\n const parent = icon.parent;\n if (!name.match(matchIconName) || typeof parent !== \"string\" || !icons[parent] && !aliases[parent] || !checkOptionalProps(\n icon,\n defaultExtendedIconProps\n )) {\n return null;\n }\n }\n return data;\n}\n\nconst dataStorage = /* @__PURE__ */ Object.create(null);\nfunction newStorage(provider, prefix) {\n return {\n provider,\n prefix,\n icons: /* @__PURE__ */ Object.create(null),\n missing: /* @__PURE__ */ new Set()\n };\n}\nfunction getStorage(provider, prefix) {\n const providerStorage = dataStorage[provider] || (dataStorage[provider] = /* @__PURE__ */ Object.create(null));\n return providerStorage[prefix] || (providerStorage[prefix] = newStorage(provider, prefix));\n}\nfunction addIconSet(storage, data) {\n if (!quicklyValidateIconSet(data)) {\n return [];\n }\n return parseIconSet(data, (name, icon) => {\n if (icon) {\n storage.icons[name] = icon;\n } else {\n storage.missing.add(name);\n }\n });\n}\nfunction addIconToStorage(storage, name, icon) {\n try {\n if (typeof icon.body === \"string\") {\n storage.icons[name] = { ...icon };\n return true;\n }\n } catch (err) {\n }\n return false;\n}\nfunction listIcons(provider, prefix) {\n let allIcons = [];\n const providers = typeof provider === \"string\" ? [provider] : Object.keys(dataStorage);\n providers.forEach((provider2) => {\n const prefixes = typeof provider2 === \"string\" && typeof prefix === \"string\" ? [prefix] : Object.keys(dataStorage[provider2] || {});\n prefixes.forEach((prefix2) => {\n const storage = getStorage(provider2, prefix2);\n allIcons = allIcons.concat(\n Object.keys(storage.icons).map(\n (name) => (provider2 !== \"\" ? \"@\" + provider2 + \":\" : \"\") + prefix2 + \":\" + name\n )\n );\n });\n });\n return allIcons;\n}\n\nlet simpleNames = false;\nfunction allowSimpleNames(allow) {\n if (typeof allow === \"boolean\") {\n simpleNames = allow;\n }\n return simpleNames;\n}\nfunction getIconData(name) {\n const icon = typeof name === \"string\" ? stringToIcon(name, true, simpleNames) : name;\n if (icon) {\n const storage = getStorage(icon.provider, icon.prefix);\n const iconName = icon.name;\n return storage.icons[iconName] || (storage.missing.has(iconName) ? null : void 0);\n }\n}\nfunction addIcon(name, data) {\n const icon = stringToIcon(name, true, simpleNames);\n if (!icon) {\n return false;\n }\n const storage = getStorage(icon.provider, icon.prefix);\n return addIconToStorage(storage, icon.name, data);\n}\nfunction addCollection(data, provider) {\n if (typeof data !== \"object\") {\n return false;\n }\n if (typeof provider !== \"string\") {\n provider = data.provider || \"\";\n }\n if (simpleNames && !provider && !data.prefix) {\n let added = false;\n if (quicklyValidateIconSet(data)) {\n data.prefix = \"\";\n parseIconSet(data, (name, icon) => {\n if (icon && addIcon(name, icon)) {\n added = true;\n }\n });\n }\n return added;\n }\n const prefix = data.prefix;\n if (!validateIconName({\n provider,\n prefix,\n name: \"a\"\n })) {\n return false;\n }\n const storage = getStorage(provider, prefix);\n return !!addIconSet(storage, data);\n}\nfunction iconExists(name) {\n return !!getIconData(name);\n}\nfunction getIcon(name) {\n const result = getIconData(name);\n return result ? {\n ...defaultIconProps,\n ...result\n } : null;\n}\n\nconst defaultIconSizeCustomisations = Object.freeze({\n width: null,\n height: null\n});\nconst defaultIconCustomisations = Object.freeze({\n // Dimensions\n ...defaultIconSizeCustomisations,\n // Transformations\n ...defaultIconTransformations\n});\n\nconst unitsSplit = /(-?[0-9.]*[0-9]+[0-9.]*)/g;\nconst unitsTest = /^-?[0-9.]*[0-9]+[0-9.]*$/g;\nfunction calculateSize(size, ratio, precision) {\n if (ratio === 1) {\n return size;\n }\n precision = precision || 100;\n if (typeof size === \"number\") {\n return Math.ceil(size * ratio * precision) / precision;\n }\n if (typeof size !== \"string\") {\n return size;\n }\n const oldParts = size.split(unitsSplit);\n if (oldParts === null || !oldParts.length) {\n return size;\n }\n const newParts = [];\n let code = oldParts.shift();\n let isNumber = unitsTest.test(code);\n while (true) {\n if (isNumber) {\n const num = parseFloat(code);\n if (isNaN(num)) {\n newParts.push(code);\n } else {\n newParts.push(Math.ceil(num * ratio * precision) / precision);\n }\n } else {\n newParts.push(code);\n }\n code = oldParts.shift();\n if (code === void 0) {\n return newParts.join(\"\");\n }\n isNumber = !isNumber;\n }\n}\n\nconst isUnsetKeyword = (value) => value === \"unset\" || value === \"undefined\" || value === \"none\";\nfunction iconToSVG(icon, customisations) {\n const fullIcon = {\n ...defaultIconProps,\n ...icon\n };\n const fullCustomisations = {\n ...defaultIconCustomisations,\n ...customisations\n };\n const box = {\n left: fullIcon.left,\n top: fullIcon.top,\n width: fullIcon.width,\n height: fullIcon.height\n };\n let body = fullIcon.body;\n [fullIcon, fullCustomisations].forEach((props) => {\n const transformations = [];\n const hFlip = props.hFlip;\n const vFlip = props.vFlip;\n let rotation = props.rotate;\n if (hFlip) {\n if (vFlip) {\n rotation += 2;\n } else {\n transformations.push(\n \"translate(\" + (box.width + box.left).toString() + \" \" + (0 - box.top).toString() + \")\"\n );\n transformations.push(\"scale(-1 1)\");\n box.top = box.left = 0;\n }\n } else if (vFlip) {\n transformations.push(\n \"translate(\" + (0 - box.left).toString() + \" \" + (box.height + box.top).toString() + \")\"\n );\n transformations.push(\"scale(1 -1)\");\n box.top = box.left = 0;\n }\n let tempValue;\n if (rotation < 0) {\n rotation -= Math.floor(rotation / 4) * 4;\n }\n rotation = rotation % 4;\n switch (rotation) {\n case 1:\n tempValue = box.height / 2 + box.top;\n transformations.unshift(\n \"rotate(90 \" + tempValue.toString() + \" \" + tempValue.toString() + \")\"\n );\n break;\n case 2:\n transformations.unshift(\n \"rotate(180 \" + (box.width / 2 + box.left).toString() + \" \" + (box.height / 2 + box.top).toString() + \")\"\n );\n break;\n case 3:\n tempValue = box.width / 2 + box.left;\n transformations.unshift(\n \"rotate(-90 \" + tempValue.toString() + \" \" + tempValue.toString() + \")\"\n );\n break;\n }\n if (rotation % 2 === 1) {\n if (box.left !== box.top) {\n tempValue = box.left;\n box.left = box.top;\n box.top = tempValue;\n }\n if (box.width !== box.height) {\n tempValue = box.width;\n box.width = box.height;\n box.height = tempValue;\n }\n }\n if (transformations.length) {\n body = '' + body + \"\";\n }\n });\n const customisationsWidth = fullCustomisations.width;\n const customisationsHeight = fullCustomisations.height;\n const boxWidth = box.width;\n const boxHeight = box.height;\n let width;\n let height;\n if (customisationsWidth === null) {\n height = customisationsHeight === null ? \"1em\" : customisationsHeight === \"auto\" ? boxHeight : customisationsHeight;\n width = calculateSize(height, boxWidth / boxHeight);\n } else {\n width = customisationsWidth === \"auto\" ? boxWidth : customisationsWidth;\n height = customisationsHeight === null ? calculateSize(width, boxHeight / boxWidth) : customisationsHeight === \"auto\" ? boxHeight : customisationsHeight;\n }\n const attributes = {};\n const setAttr = (prop, value) => {\n if (!isUnsetKeyword(value)) {\n attributes[prop] = value.toString();\n }\n };\n setAttr(\"width\", width);\n setAttr(\"height\", height);\n attributes.viewBox = box.left.toString() + \" \" + box.top.toString() + \" \" + boxWidth.toString() + \" \" + boxHeight.toString();\n return {\n attributes,\n body\n };\n}\n\nconst regex = /\\sid=\"(\\S+)\"/g;\nconst randomPrefix = \"IconifyId\" + Date.now().toString(16) + (Math.random() * 16777216 | 0).toString(16);\nlet counter = 0;\nfunction replaceIDs(body, prefix = randomPrefix) {\n const ids = [];\n let match;\n while (match = regex.exec(body)) {\n ids.push(match[1]);\n }\n if (!ids.length) {\n return body;\n }\n const suffix = \"suffix\" + (Math.random() * 16777216 | Date.now()).toString(16);\n ids.forEach((id) => {\n const newID = typeof prefix === \"function\" ? prefix(id) : prefix + (counter++).toString();\n const escapedID = id.replace(/[.*+?^${}()|[\\]\\\\]/g, \"\\\\$&\");\n body = body.replace(\n // Allowed characters before id: [#;\"]\n // Allowed characters after id: [)\"], .[a-z]\n new RegExp('([#;\"])(' + escapedID + ')([\")]|\\\\.[a-z])', \"g\"),\n \"$1\" + newID + suffix + \"$3\"\n );\n });\n body = body.replace(new RegExp(suffix, \"g\"), \"\");\n return body;\n}\n\nconst storage = /* @__PURE__ */ Object.create(null);\nfunction setAPIModule(provider, item) {\n storage[provider] = item;\n}\nfunction getAPIModule(provider) {\n return storage[provider] || storage[\"\"];\n}\n\nfunction createAPIConfig(source) {\n let resources;\n if (typeof source.resources === \"string\") {\n resources = [source.resources];\n } else {\n resources = source.resources;\n if (!(resources instanceof Array) || !resources.length) {\n return null;\n }\n }\n const result = {\n // API hosts\n resources,\n // Root path\n path: source.path || \"/\",\n // URL length limit\n maxURL: source.maxURL || 500,\n // Timeout before next host is used.\n rotate: source.rotate || 750,\n // Timeout before failing query.\n timeout: source.timeout || 5e3,\n // Randomise default API end point.\n random: source.random === true,\n // Start index\n index: source.index || 0,\n // Receive data after time out (used if time out kicks in first, then API module sends data anyway).\n dataAfterTimeout: source.dataAfterTimeout !== false\n };\n return result;\n}\nconst configStorage = /* @__PURE__ */ Object.create(null);\nconst fallBackAPISources = [\n \"https://api.simplesvg.com\",\n \"https://api.unisvg.com\"\n];\nconst fallBackAPI = [];\nwhile (fallBackAPISources.length > 0) {\n if (fallBackAPISources.length === 1) {\n fallBackAPI.push(fallBackAPISources.shift());\n } else {\n if (Math.random() > 0.5) {\n fallBackAPI.push(fallBackAPISources.shift());\n } else {\n fallBackAPI.push(fallBackAPISources.pop());\n }\n }\n}\nconfigStorage[\"\"] = createAPIConfig({\n resources: [\"https://api.iconify.design\"].concat(fallBackAPI)\n});\nfunction addAPIProvider(provider, customConfig) {\n const config = createAPIConfig(customConfig);\n if (config === null) {\n return false;\n }\n configStorage[provider] = config;\n return true;\n}\nfunction getAPIConfig(provider) {\n return configStorage[provider];\n}\nfunction listAPIProviders() {\n return Object.keys(configStorage);\n}\n\nconst detectFetch = () => {\n let callback;\n try {\n callback = fetch;\n if (typeof callback === \"function\") {\n return callback;\n }\n } catch (err) {\n }\n};\nlet fetchModule = detectFetch();\nfunction setFetch(fetch2) {\n fetchModule = fetch2;\n}\nfunction getFetch() {\n return fetchModule;\n}\nfunction calculateMaxLength(provider, prefix) {\n const config = getAPIConfig(provider);\n if (!config) {\n return 0;\n }\n let result;\n if (!config.maxURL) {\n result = 0;\n } else {\n let maxHostLength = 0;\n config.resources.forEach((item) => {\n const host = item;\n maxHostLength = Math.max(maxHostLength, host.length);\n });\n const url = prefix + \".json?icons=\";\n result = config.maxURL - maxHostLength - config.path.length - url.length;\n }\n return result;\n}\nfunction shouldAbort(status) {\n return status === 404;\n}\nconst prepare = (provider, prefix, icons) => {\n const results = [];\n const maxLength = calculateMaxLength(provider, prefix);\n const type = \"icons\";\n let item = {\n type,\n provider,\n prefix,\n icons: []\n };\n let length = 0;\n icons.forEach((name, index) => {\n length += name.length + 1;\n if (length >= maxLength && index > 0) {\n results.push(item);\n item = {\n type,\n provider,\n prefix,\n icons: []\n };\n length = name.length;\n }\n item.icons.push(name);\n });\n results.push(item);\n return results;\n};\nfunction getPath(provider) {\n if (typeof provider === \"string\") {\n const config = getAPIConfig(provider);\n if (config) {\n return config.path;\n }\n }\n return \"/\";\n}\nconst send = (host, params, callback) => {\n if (!fetchModule) {\n callback(\"abort\", 424);\n return;\n }\n let path = getPath(params.provider);\n switch (params.type) {\n case \"icons\": {\n const prefix = params.prefix;\n const icons = params.icons;\n const iconsList = icons.join(\",\");\n const urlParams = new URLSearchParams({\n icons: iconsList\n });\n path += prefix + \".json?\" + urlParams.toString();\n break;\n }\n case \"custom\": {\n const uri = params.uri;\n path += uri.slice(0, 1) === \"/\" ? uri.slice(1) : uri;\n break;\n }\n default:\n callback(\"abort\", 400);\n return;\n }\n let defaultError = 503;\n fetchModule(host + path).then((response) => {\n const status = response.status;\n if (status !== 200) {\n setTimeout(() => {\n callback(shouldAbort(status) ? \"abort\" : \"next\", status);\n });\n return;\n }\n defaultError = 501;\n return response.json();\n }).then((data) => {\n if (typeof data !== \"object\" || data === null) {\n setTimeout(() => {\n if (data === 404) {\n callback(\"abort\", data);\n } else {\n callback(\"next\", defaultError);\n }\n });\n return;\n }\n setTimeout(() => {\n callback(\"success\", data);\n });\n }).catch(() => {\n callback(\"next\", defaultError);\n });\n};\nconst fetchAPIModule = {\n prepare,\n send\n};\n\nfunction sortIcons(icons) {\n const result = {\n loaded: [],\n missing: [],\n pending: []\n };\n const storage = /* @__PURE__ */ Object.create(null);\n icons.sort((a, b) => {\n if (a.provider !== b.provider) {\n return a.provider.localeCompare(b.provider);\n }\n if (a.prefix !== b.prefix) {\n return a.prefix.localeCompare(b.prefix);\n }\n return a.name.localeCompare(b.name);\n });\n let lastIcon = {\n provider: \"\",\n prefix: \"\",\n name: \"\"\n };\n icons.forEach((icon) => {\n if (lastIcon.name === icon.name && lastIcon.prefix === icon.prefix && lastIcon.provider === icon.provider) {\n return;\n }\n lastIcon = icon;\n const provider = icon.provider;\n const prefix = icon.prefix;\n const name = icon.name;\n const providerStorage = storage[provider] || (storage[provider] = /* @__PURE__ */ Object.create(null));\n const localStorage = providerStorage[prefix] || (providerStorage[prefix] = getStorage(provider, prefix));\n let list;\n if (name in localStorage.icons) {\n list = result.loaded;\n } else if (prefix === \"\" || localStorage.missing.has(name)) {\n list = result.missing;\n } else {\n list = result.pending;\n }\n const item = {\n provider,\n prefix,\n name\n };\n list.push(item);\n });\n return result;\n}\n\nfunction removeCallback(storages, id) {\n storages.forEach((storage) => {\n const items = storage.loaderCallbacks;\n if (items) {\n storage.loaderCallbacks = items.filter((row) => row.id !== id);\n }\n });\n}\nfunction updateCallbacks(storage) {\n if (!storage.pendingCallbacksFlag) {\n storage.pendingCallbacksFlag = true;\n setTimeout(() => {\n storage.pendingCallbacksFlag = false;\n const items = storage.loaderCallbacks ? storage.loaderCallbacks.slice(0) : [];\n if (!items.length) {\n return;\n }\n let hasPending = false;\n const provider = storage.provider;\n const prefix = storage.prefix;\n items.forEach((item) => {\n const icons = item.icons;\n const oldLength = icons.pending.length;\n icons.pending = icons.pending.filter((icon) => {\n if (icon.prefix !== prefix) {\n return true;\n }\n const name = icon.name;\n if (storage.icons[name]) {\n icons.loaded.push({\n provider,\n prefix,\n name\n });\n } else if (storage.missing.has(name)) {\n icons.missing.push({\n provider,\n prefix,\n name\n });\n } else {\n hasPending = true;\n return true;\n }\n return false;\n });\n if (icons.pending.length !== oldLength) {\n if (!hasPending) {\n removeCallback([storage], item.id);\n }\n item.callback(\n icons.loaded.slice(0),\n icons.missing.slice(0),\n icons.pending.slice(0),\n item.abort\n );\n }\n });\n });\n }\n}\nlet idCounter = 0;\nfunction storeCallback(callback, icons, pendingSources) {\n const id = idCounter++;\n const abort = removeCallback.bind(null, pendingSources, id);\n if (!icons.pending.length) {\n return abort;\n }\n const item = {\n id,\n icons,\n callback,\n abort\n };\n pendingSources.forEach((storage) => {\n (storage.loaderCallbacks || (storage.loaderCallbacks = [])).push(item);\n });\n return abort;\n}\n\nfunction listToIcons(list, validate = true, simpleNames = false) {\n const result = [];\n list.forEach((item) => {\n const icon = typeof item === \"string\" ? stringToIcon(item, validate, simpleNames) : item;\n if (icon) {\n result.push(icon);\n }\n });\n return result;\n}\n\n// src/config.ts\nvar defaultConfig = {\n resources: [],\n index: 0,\n timeout: 2e3,\n rotate: 750,\n random: false,\n dataAfterTimeout: false\n};\n\n// src/query.ts\nfunction sendQuery(config, payload, query, done) {\n const resourcesCount = config.resources.length;\n const startIndex = config.random ? Math.floor(Math.random() * resourcesCount) : config.index;\n let resources;\n if (config.random) {\n let list = config.resources.slice(0);\n resources = [];\n while (list.length > 1) {\n const nextIndex = Math.floor(Math.random() * list.length);\n resources.push(list[nextIndex]);\n list = list.slice(0, nextIndex).concat(list.slice(nextIndex + 1));\n }\n resources = resources.concat(list);\n } else {\n resources = config.resources.slice(startIndex).concat(config.resources.slice(0, startIndex));\n }\n const startTime = Date.now();\n let status = \"pending\";\n let queriesSent = 0;\n let lastError;\n let timer = null;\n let queue = [];\n let doneCallbacks = [];\n if (typeof done === \"function\") {\n doneCallbacks.push(done);\n }\n function resetTimer() {\n if (timer) {\n clearTimeout(timer);\n timer = null;\n }\n }\n function abort() {\n if (status === \"pending\") {\n status = \"aborted\";\n }\n resetTimer();\n queue.forEach((item) => {\n if (item.status === \"pending\") {\n item.status = \"aborted\";\n }\n });\n queue = [];\n }\n function subscribe(callback, overwrite) {\n if (overwrite) {\n doneCallbacks = [];\n }\n if (typeof callback === \"function\") {\n doneCallbacks.push(callback);\n }\n }\n function getQueryStatus() {\n return {\n startTime,\n payload,\n status,\n queriesSent,\n queriesPending: queue.length,\n subscribe,\n abort\n };\n }\n function failQuery() {\n status = \"failed\";\n doneCallbacks.forEach((callback) => {\n callback(void 0, lastError);\n });\n }\n function clearQueue() {\n queue.forEach((item) => {\n if (item.status === \"pending\") {\n item.status = \"aborted\";\n }\n });\n queue = [];\n }\n function moduleResponse(item, response, data) {\n const isError = response !== \"success\";\n queue = queue.filter((queued) => queued !== item);\n switch (status) {\n case \"pending\":\n break;\n case \"failed\":\n if (isError || !config.dataAfterTimeout) {\n return;\n }\n break;\n default:\n return;\n }\n if (response === \"abort\") {\n lastError = data;\n failQuery();\n return;\n }\n if (isError) {\n lastError = data;\n if (!queue.length) {\n if (!resources.length) {\n failQuery();\n } else {\n execNext();\n }\n }\n return;\n }\n resetTimer();\n clearQueue();\n if (!config.random) {\n const index = config.resources.indexOf(item.resource);\n if (index !== -1 && index !== config.index) {\n config.index = index;\n }\n }\n status = \"completed\";\n doneCallbacks.forEach((callback) => {\n callback(data);\n });\n }\n function execNext() {\n if (status !== \"pending\") {\n return;\n }\n resetTimer();\n const resource = resources.shift();\n if (resource === void 0) {\n if (queue.length) {\n timer = setTimeout(() => {\n resetTimer();\n if (status === \"pending\") {\n clearQueue();\n failQuery();\n }\n }, config.timeout);\n return;\n }\n failQuery();\n return;\n }\n const item = {\n status: \"pending\",\n resource,\n callback: (status2, data) => {\n moduleResponse(item, status2, data);\n }\n };\n queue.push(item);\n queriesSent++;\n timer = setTimeout(execNext, config.rotate);\n query(resource, payload, item.callback);\n }\n setTimeout(execNext);\n return getQueryStatus;\n}\n\n// src/index.ts\nfunction initRedundancy(cfg) {\n const config = {\n ...defaultConfig,\n ...cfg\n };\n let queries = [];\n function cleanup() {\n queries = queries.filter((item) => item().status === \"pending\");\n }\n function query(payload, queryCallback, doneCallback) {\n const query2 = sendQuery(\n config,\n payload,\n queryCallback,\n (data, error) => {\n cleanup();\n if (doneCallback) {\n doneCallback(data, error);\n }\n }\n );\n queries.push(query2);\n return query2;\n }\n function find(callback) {\n return queries.find((value) => {\n return callback(value);\n }) || null;\n }\n const instance = {\n query,\n find,\n setIndex: (index) => {\n config.index = index;\n },\n getIndex: () => config.index,\n cleanup\n };\n return instance;\n}\n\nfunction emptyCallback$1() {\n}\nconst redundancyCache = /* @__PURE__ */ Object.create(null);\nfunction getRedundancyCache(provider) {\n if (!redundancyCache[provider]) {\n const config = getAPIConfig(provider);\n if (!config) {\n return;\n }\n const redundancy = initRedundancy(config);\n const cachedReundancy = {\n config,\n redundancy\n };\n redundancyCache[provider] = cachedReundancy;\n }\n return redundancyCache[provider];\n}\nfunction sendAPIQuery(target, query, callback) {\n let redundancy;\n let send;\n if (typeof target === \"string\") {\n const api = getAPIModule(target);\n if (!api) {\n callback(void 0, 424);\n return emptyCallback$1;\n }\n send = api.send;\n const cached = getRedundancyCache(target);\n if (cached) {\n redundancy = cached.redundancy;\n }\n } else {\n const config = createAPIConfig(target);\n if (config) {\n redundancy = initRedundancy(config);\n const moduleKey = target.resources ? target.resources[0] : \"\";\n const api = getAPIModule(moduleKey);\n if (api) {\n send = api.send;\n }\n }\n }\n if (!redundancy || !send) {\n callback(void 0, 424);\n return emptyCallback$1;\n }\n return redundancy.query(query, send, callback)().abort;\n}\n\nconst browserCacheVersion = \"iconify2\";\nconst browserCachePrefix = \"iconify\";\nconst browserCacheCountKey = browserCachePrefix + \"-count\";\nconst browserCacheVersionKey = browserCachePrefix + \"-version\";\nconst browserStorageHour = 36e5;\nconst browserStorageCacheExpiration = 168;\n\nfunction getStoredItem(func, key) {\n try {\n return func.getItem(key);\n } catch (err) {\n }\n}\nfunction setStoredItem(func, key, value) {\n try {\n func.setItem(key, value);\n return true;\n } catch (err) {\n }\n}\nfunction removeStoredItem(func, key) {\n try {\n func.removeItem(key);\n } catch (err) {\n }\n}\n\nfunction setBrowserStorageItemsCount(storage, value) {\n return setStoredItem(storage, browserCacheCountKey, value.toString());\n}\nfunction getBrowserStorageItemsCount(storage) {\n return parseInt(getStoredItem(storage, browserCacheCountKey)) || 0;\n}\n\nconst browserStorageConfig = {\n local: true,\n session: true\n};\nconst browserStorageEmptyItems = {\n local: /* @__PURE__ */ new Set(),\n session: /* @__PURE__ */ new Set()\n};\nlet browserStorageStatus = false;\nfunction setBrowserStorageStatus(status) {\n browserStorageStatus = status;\n}\n\nlet _window = typeof window === \"undefined\" ? {} : window;\nfunction getBrowserStorage(key) {\n const attr = key + \"Storage\";\n try {\n if (_window && _window[attr] && typeof _window[attr].length === \"number\") {\n return _window[attr];\n }\n } catch (err) {\n }\n browserStorageConfig[key] = false;\n}\n\nfunction iterateBrowserStorage(key, callback) {\n const func = getBrowserStorage(key);\n if (!func) {\n return;\n }\n const version = getStoredItem(func, browserCacheVersionKey);\n if (version !== browserCacheVersion) {\n if (version) {\n const total2 = getBrowserStorageItemsCount(func);\n for (let i = 0; i < total2; i++) {\n removeStoredItem(func, browserCachePrefix + i.toString());\n }\n }\n setStoredItem(func, browserCacheVersionKey, browserCacheVersion);\n setBrowserStorageItemsCount(func, 0);\n return;\n }\n const minTime = Math.floor(Date.now() / browserStorageHour) - browserStorageCacheExpiration;\n const parseItem = (index) => {\n const name = browserCachePrefix + index.toString();\n const item = getStoredItem(func, name);\n if (typeof item !== \"string\") {\n return;\n }\n try {\n const data = JSON.parse(item);\n if (typeof data === \"object\" && typeof data.cached === \"number\" && data.cached > minTime && typeof data.provider === \"string\" && typeof data.data === \"object\" && typeof data.data.prefix === \"string\" && // Valid item: run callback\n callback(data, index)) {\n return true;\n }\n } catch (err) {\n }\n removeStoredItem(func, name);\n };\n let total = getBrowserStorageItemsCount(func);\n for (let i = total - 1; i >= 0; i--) {\n if (!parseItem(i)) {\n if (i === total - 1) {\n total--;\n setBrowserStorageItemsCount(func, total);\n } else {\n browserStorageEmptyItems[key].add(i);\n }\n }\n }\n}\n\nfunction initBrowserStorage() {\n if (browserStorageStatus) {\n return;\n }\n setBrowserStorageStatus(true);\n for (const key in browserStorageConfig) {\n iterateBrowserStorage(key, (item) => {\n const iconSet = item.data;\n const provider = item.provider;\n const prefix = iconSet.prefix;\n const storage = getStorage(\n provider,\n prefix\n );\n if (!addIconSet(storage, iconSet).length) {\n return false;\n }\n const lastModified = iconSet.lastModified || -1;\n storage.lastModifiedCached = storage.lastModifiedCached ? Math.min(storage.lastModifiedCached, lastModified) : lastModified;\n return true;\n });\n }\n}\n\nfunction updateLastModified(storage, lastModified) {\n const lastValue = storage.lastModifiedCached;\n if (\n // Matches or newer\n lastValue && lastValue >= lastModified\n ) {\n return lastValue === lastModified;\n }\n storage.lastModifiedCached = lastModified;\n if (lastValue) {\n for (const key in browserStorageConfig) {\n iterateBrowserStorage(key, (item) => {\n const iconSet = item.data;\n return item.provider !== storage.provider || iconSet.prefix !== storage.prefix || iconSet.lastModified === lastModified;\n });\n }\n }\n return true;\n}\nfunction storeInBrowserStorage(storage, data) {\n if (!browserStorageStatus) {\n initBrowserStorage();\n }\n function store(key) {\n let func;\n if (!browserStorageConfig[key] || !(func = getBrowserStorage(key))) {\n return;\n }\n const set = browserStorageEmptyItems[key];\n let index;\n if (set.size) {\n set.delete(index = Array.from(set).shift());\n } else {\n index = getBrowserStorageItemsCount(func);\n if (!setBrowserStorageItemsCount(func, index + 1)) {\n return;\n }\n }\n const item = {\n cached: Math.floor(Date.now() / browserStorageHour),\n provider: storage.provider,\n data\n };\n return setStoredItem(\n func,\n browserCachePrefix + index.toString(),\n JSON.stringify(item)\n );\n }\n if (data.lastModified && !updateLastModified(storage, data.lastModified)) {\n return;\n }\n if (!Object.keys(data.icons).length) {\n return;\n }\n if (data.not_found) {\n data = Object.assign({}, data);\n delete data.not_found;\n }\n if (!store(\"local\")) {\n store(\"session\");\n }\n}\n\nfunction emptyCallback() {\n}\nfunction loadedNewIcons(storage) {\n if (!storage.iconsLoaderFlag) {\n storage.iconsLoaderFlag = true;\n setTimeout(() => {\n storage.iconsLoaderFlag = false;\n updateCallbacks(storage);\n });\n }\n}\nfunction loadNewIcons(storage, icons) {\n if (!storage.iconsToLoad) {\n storage.iconsToLoad = icons;\n } else {\n storage.iconsToLoad = storage.iconsToLoad.concat(icons).sort();\n }\n if (!storage.iconsQueueFlag) {\n storage.iconsQueueFlag = true;\n setTimeout(() => {\n storage.iconsQueueFlag = false;\n const { provider, prefix } = storage;\n const icons2 = storage.iconsToLoad;\n delete storage.iconsToLoad;\n let api;\n if (!icons2 || !(api = getAPIModule(provider))) {\n return;\n }\n const params = api.prepare(provider, prefix, icons2);\n params.forEach((item) => {\n sendAPIQuery(provider, item, (data) => {\n if (typeof data !== \"object\") {\n item.icons.forEach((name) => {\n storage.missing.add(name);\n });\n } else {\n try {\n const parsed = addIconSet(\n storage,\n data\n );\n if (!parsed.length) {\n return;\n }\n const pending = storage.pendingIcons;\n if (pending) {\n parsed.forEach((name) => {\n pending.delete(name);\n });\n }\n storeInBrowserStorage(storage, data);\n } catch (err) {\n console.error(err);\n }\n }\n loadedNewIcons(storage);\n });\n });\n });\n }\n}\nconst loadIcons = (icons, callback) => {\n const cleanedIcons = listToIcons(icons, true, allowSimpleNames());\n const sortedIcons = sortIcons(cleanedIcons);\n if (!sortedIcons.pending.length) {\n let callCallback = true;\n if (callback) {\n setTimeout(() => {\n if (callCallback) {\n callback(\n sortedIcons.loaded,\n sortedIcons.missing,\n sortedIcons.pending,\n emptyCallback\n );\n }\n });\n }\n return () => {\n callCallback = false;\n };\n }\n const newIcons = /* @__PURE__ */ Object.create(null);\n const sources = [];\n let lastProvider, lastPrefix;\n sortedIcons.pending.forEach((icon) => {\n const { provider, prefix } = icon;\n if (prefix === lastPrefix && provider === lastProvider) {\n return;\n }\n lastProvider = provider;\n lastPrefix = prefix;\n sources.push(getStorage(provider, prefix));\n const providerNewIcons = newIcons[provider] || (newIcons[provider] = /* @__PURE__ */ Object.create(null));\n if (!providerNewIcons[prefix]) {\n providerNewIcons[prefix] = [];\n }\n });\n sortedIcons.pending.forEach((icon) => {\n const { provider, prefix, name } = icon;\n const storage = getStorage(provider, prefix);\n const pendingQueue = storage.pendingIcons || (storage.pendingIcons = /* @__PURE__ */ new Set());\n if (!pendingQueue.has(name)) {\n pendingQueue.add(name);\n newIcons[provider][prefix].push(name);\n }\n });\n sources.forEach((storage) => {\n const { provider, prefix } = storage;\n if (newIcons[provider][prefix].length) {\n loadNewIcons(storage, newIcons[provider][prefix]);\n }\n });\n return callback ? storeCallback(callback, sortedIcons, sources) : emptyCallback;\n};\nconst loadIcon = (icon) => {\n return new Promise((fulfill, reject) => {\n const iconObj = typeof icon === \"string\" ? stringToIcon(icon, true) : icon;\n if (!iconObj) {\n reject(icon);\n return;\n }\n loadIcons([iconObj || icon], (loaded) => {\n if (loaded.length && iconObj) {\n const data = getIconData(iconObj);\n if (data) {\n fulfill({\n ...defaultIconProps,\n ...data\n });\n return;\n }\n }\n reject(icon);\n });\n });\n};\n\nfunction toggleBrowserCache(storage, value) {\n switch (storage) {\n case \"local\":\n case \"session\":\n browserStorageConfig[storage] = value;\n break;\n case \"all\":\n for (const key in browserStorageConfig) {\n browserStorageConfig[key] = value;\n }\n break;\n }\n}\n\nfunction mergeCustomisations(defaults, item) {\n const result = {\n ...defaults\n };\n for (const key in item) {\n const value = item[key];\n const valueType = typeof value;\n if (key in defaultIconSizeCustomisations) {\n if (value === null || value && (valueType === \"string\" || valueType === \"number\")) {\n result[key] = value;\n }\n } else if (valueType === typeof result[key]) {\n result[key] = key === \"rotate\" ? value % 4 : value;\n }\n }\n return result;\n}\n\nconst separator = /[\\s,]+/;\nfunction flipFromString(custom, flip) {\n flip.split(separator).forEach((str) => {\n const value = str.trim();\n switch (value) {\n case \"horizontal\":\n custom.hFlip = true;\n break;\n case \"vertical\":\n custom.vFlip = true;\n break;\n }\n });\n}\n\nfunction rotateFromString(value, defaultValue = 0) {\n const units = value.replace(/^-?[0-9.]*/, \"\");\n function cleanup(value2) {\n while (value2 < 0) {\n value2 += 4;\n }\n return value2 % 4;\n }\n if (units === \"\") {\n const num = parseInt(value);\n return isNaN(num) ? 0 : cleanup(num);\n } else if (units !== value) {\n let split = 0;\n switch (units) {\n case \"%\":\n split = 25;\n break;\n case \"deg\":\n split = 90;\n }\n if (split) {\n let num = parseFloat(value.slice(0, value.length - units.length));\n if (isNaN(num)) {\n return 0;\n }\n num = num / split;\n return num % 1 === 0 ? cleanup(num) : 0;\n }\n }\n return defaultValue;\n}\n\nfunction iconToHTML(body, attributes) {\n let renderAttribsHTML = body.indexOf(\"xlink:\") === -1 ? \"\" : ' xmlns:xlink=\"http://www.w3.org/1999/xlink\"';\n for (const attr in attributes) {\n renderAttribsHTML += \" \" + attr + '=\"' + attributes[attr] + '\"';\n }\n return '\" + body + \"\";\n}\n\nfunction encodeSVGforURL(svg) {\n return svg.replace(/\"/g, \"'\").replace(/%/g, \"%25\").replace(/#/g, \"%23\").replace(//g, \"%3E\").replace(/\\s+/g, \" \");\n}\nfunction svgToData(svg) {\n return \"data:image/svg+xml,\" + encodeSVGforURL(svg);\n}\nfunction svgToURL(svg) {\n return 'url(\"' + svgToData(svg) + '\")';\n}\n\nlet policy;\nfunction createPolicy() {\n try {\n policy = window.trustedTypes.createPolicy(\"iconify\", {\n // eslint-disable-next-line @typescript-eslint/no-unsafe-return\n createHTML: (s) => s\n });\n } catch (err) {\n policy = null;\n }\n}\nfunction cleanUpInnerHTML(html) {\n if (policy === void 0) {\n createPolicy();\n }\n return policy ? policy.createHTML(html) : html;\n}\n\nconst defaultExtendedIconCustomisations = {\n ...defaultIconCustomisations,\n inline: false,\n};\n\n/**\n * Default SVG attributes\n */\nconst svgDefaults = {\n 'xmlns': 'http://www.w3.org/2000/svg',\n 'xmlnsXlink': 'http://www.w3.org/1999/xlink',\n 'aria-hidden': true,\n 'role': 'img',\n};\n/**\n * Style modes\n */\nconst commonProps = {\n display: 'inline-block',\n};\nconst monotoneProps = {\n backgroundColor: 'currentColor',\n};\nconst coloredProps = {\n backgroundColor: 'transparent',\n};\n// Dynamically add common props to variables above\nconst propsToAdd = {\n Image: 'var(--svg)',\n Repeat: 'no-repeat',\n Size: '100% 100%',\n};\nconst propsToAddTo = {\n WebkitMask: monotoneProps,\n mask: monotoneProps,\n background: coloredProps,\n};\nfor (const prefix in propsToAddTo) {\n const list = propsToAddTo[prefix];\n for (const prop in propsToAdd) {\n list[prefix + prop] = propsToAdd[prop];\n }\n}\n/**\n * Default values for customisations for inline icon\n */\nconst inlineDefaults = {\n ...defaultExtendedIconCustomisations,\n inline: true,\n};\n/**\n * Fix size: add 'px' to numbers\n */\nfunction fixSize(value) {\n return value + (value.match(/^[-0-9.]+$/) ? 'px' : '');\n}\n/**\n * Render icon\n */\nconst render = (\n// Icon must be validated before calling this function\nicon, \n// Partial properties\nprops, \n// True if icon should have vertical-align added\ninline, \n// Optional reference for SVG/SPAN, extracted by React.forwardRef()\nref) => {\n // Get default properties\n const defaultProps = inline\n ? inlineDefaults\n : defaultExtendedIconCustomisations;\n // Get all customisations\n const customisations = mergeCustomisations(defaultProps, props);\n // Check mode\n const mode = props.mode || 'svg';\n // Create style\n const style = {};\n const customStyle = props.style || {};\n // Create SVG component properties\n const componentProps = {\n ...(mode === 'svg' ? svgDefaults : {}),\n ref,\n };\n // Get element properties\n for (let key in props) {\n const value = props[key];\n if (value === void 0) {\n continue;\n }\n switch (key) {\n // Properties to ignore\n case 'icon':\n case 'style':\n case 'children':\n case 'onLoad':\n case 'mode':\n case '_ref':\n case '_inline':\n break;\n // Boolean attributes\n case 'inline':\n case 'hFlip':\n case 'vFlip':\n customisations[key] =\n value === true || value === 'true' || value === 1;\n break;\n // Flip as string: 'horizontal,vertical'\n case 'flip':\n if (typeof value === 'string') {\n flipFromString(customisations, value);\n }\n break;\n // Color: copy to style\n case 'color':\n style.color = value;\n break;\n // Rotation as string\n case 'rotate':\n if (typeof value === 'string') {\n customisations[key] = rotateFromString(value);\n }\n else if (typeof value === 'number') {\n customisations[key] = value;\n }\n break;\n // Remove aria-hidden\n case 'ariaHidden':\n case 'aria-hidden':\n if (value !== true && value !== 'true') {\n delete componentProps['aria-hidden'];\n }\n break;\n // Copy missing property if it does not exist in customisations\n default:\n if (defaultProps[key] === void 0) {\n componentProps[key] = value;\n }\n }\n }\n // Generate icon\n const item = iconToSVG(icon, customisations);\n const renderAttribs = item.attributes;\n // Inline display\n if (customisations.inline) {\n style.verticalAlign = '-0.125em';\n }\n if (mode === 'svg') {\n // Add style\n componentProps.style = {\n ...style,\n ...customStyle,\n };\n // Add icon stuff\n Object.assign(componentProps, renderAttribs);\n // Counter for ids based on \"id\" property to render icons consistently on server and client\n let localCounter = 0;\n let id = props.id;\n if (typeof id === 'string') {\n // Convert '-' to '_' to avoid errors in animations\n id = id.replace(/-/g, '_');\n }\n // Add icon stuff\n componentProps.dangerouslySetInnerHTML = {\n __html: cleanUpInnerHTML(replaceIDs(item.body, id ? () => id + 'ID' + localCounter++ : 'iconifyReact')),\n };\n return React.createElement('svg', componentProps);\n }\n // Render with style\n const { body, width, height } = icon;\n const useMask = mode === 'mask' ||\n (mode === 'bg' ? false : body.indexOf('currentColor') !== -1);\n // Generate SVG\n const html = iconToHTML(body, {\n ...renderAttribs,\n width: width + '',\n height: height + '',\n });\n // Generate style\n componentProps.style = {\n ...style,\n '--svg': svgToURL(html),\n 'width': fixSize(renderAttribs.width),\n 'height': fixSize(renderAttribs.height),\n ...commonProps,\n ...(useMask ? monotoneProps : coloredProps),\n ...customStyle,\n };\n return React.createElement('span', componentProps);\n};\n\n/**\n * Enable cache\n */\nfunction enableCache(storage) {\n toggleBrowserCache(storage, true);\n}\n/**\n * Disable cache\n */\nfunction disableCache(storage) {\n toggleBrowserCache(storage, false);\n}\n/**\n * Initialise stuff\n */\n// Enable short names\nallowSimpleNames(true);\n// Set API module\nsetAPIModule('', fetchAPIModule);\n/**\n * Browser stuff\n */\nif (typeof document !== 'undefined' && typeof window !== 'undefined') {\n // Set cache and load existing cache\n initBrowserStorage();\n const _window = window;\n // Load icons from global \"IconifyPreload\"\n if (_window.IconifyPreload !== void 0) {\n const preload = _window.IconifyPreload;\n const err = 'Invalid IconifyPreload syntax.';\n if (typeof preload === 'object' && preload !== null) {\n (preload instanceof Array ? preload : [preload]).forEach((item) => {\n try {\n if (\n // Check if item is an object and not null/array\n typeof item !== 'object' ||\n item === null ||\n item instanceof Array ||\n // Check for 'icons' and 'prefix'\n typeof item.icons !== 'object' ||\n typeof item.prefix !== 'string' ||\n // Add icon set\n !addCollection(item)) {\n console.error(err);\n }\n }\n catch (e) {\n console.error(err);\n }\n });\n }\n }\n // Set API from global \"IconifyProviders\"\n if (_window.IconifyProviders !== void 0) {\n const providers = _window.IconifyProviders;\n if (typeof providers === 'object' && providers !== null) {\n for (let key in providers) {\n const err = 'IconifyProviders[' + key + '] is invalid.';\n try {\n const value = providers[key];\n if (typeof value !== 'object' ||\n !value ||\n value.resources === void 0) {\n continue;\n }\n if (!addAPIProvider(key, value)) {\n console.error(err);\n }\n }\n catch (e) {\n console.error(err);\n }\n }\n }\n }\n}\nclass IconComponent extends React.Component {\n constructor(props) {\n super(props);\n this.state = {\n // Render placeholder before component is mounted\n icon: null,\n };\n }\n /**\n * Abort loading icon\n */\n _abortLoading() {\n if (this._loading) {\n this._loading.abort();\n this._loading = null;\n }\n }\n /**\n * Update state\n */\n _setData(icon) {\n if (this.state.icon !== icon) {\n this.setState({\n icon,\n });\n }\n }\n /**\n * Check if icon should be loaded\n */\n _checkIcon(changed) {\n const state = this.state;\n const icon = this.props.icon;\n // Icon is an object\n if (typeof icon === 'object' &&\n icon !== null &&\n typeof icon.body === 'string') {\n // Stop loading\n this._icon = '';\n this._abortLoading();\n if (changed || state.icon === null) {\n // Set data if it was changed\n this._setData({\n data: icon,\n });\n }\n return;\n }\n // Invalid icon?\n let iconName;\n if (typeof icon !== 'string' ||\n (iconName = stringToIcon(icon, false, true)) === null) {\n this._abortLoading();\n this._setData(null);\n return;\n }\n // Load icon\n const data = getIconData(iconName);\n if (!data) {\n // Icon data is not available\n if (!this._loading || this._loading.name !== icon) {\n // New icon to load\n this._abortLoading();\n this._icon = '';\n this._setData(null);\n if (data !== null) {\n // Icon was not loaded\n this._loading = {\n name: icon,\n abort: loadIcons([iconName], this._checkIcon.bind(this, false)),\n };\n }\n }\n return;\n }\n // Icon data is available\n if (this._icon !== icon || state.icon === null) {\n // New icon or icon has been loaded\n this._abortLoading();\n this._icon = icon;\n // Add classes\n const classes = ['iconify'];\n if (iconName.prefix !== '') {\n classes.push('iconify--' + iconName.prefix);\n }\n if (iconName.provider !== '') {\n classes.push('iconify--' + iconName.provider);\n }\n // Set data\n this._setData({\n data,\n classes,\n });\n if (this.props.onLoad) {\n this.props.onLoad(icon);\n }\n }\n }\n /**\n * Component mounted\n */\n componentDidMount() {\n this._checkIcon(false);\n }\n /**\n * Component updated\n */\n componentDidUpdate(oldProps) {\n if (oldProps.icon !== this.props.icon) {\n this._checkIcon(true);\n }\n }\n /**\n * Abort loading\n */\n componentWillUnmount() {\n this._abortLoading();\n }\n /**\n * Render\n */\n render() {\n const props = this.props;\n const icon = this.state.icon;\n if (icon === null) {\n // Render placeholder\n return props.children\n ? props.children\n : React.createElement('span', {});\n }\n // Add classes\n let newProps = props;\n if (icon.classes) {\n newProps = {\n ...props,\n className: (typeof props.className === 'string'\n ? props.className + ' '\n : '') + icon.classes.join(' '),\n };\n }\n // Render icon\n return render({\n ...defaultIconProps,\n ...icon.data,\n }, newProps, props._inline, props._ref);\n }\n}\n/**\n * Block icon\n *\n * @param props - Component properties\n */\nconst Icon = React.forwardRef(function Icon(props, ref) {\n const newProps = {\n ...props,\n _ref: ref,\n _inline: false,\n };\n return React.createElement(IconComponent, newProps);\n});\n/**\n * Inline icon (has negative verticalAlign that makes it behave like icon font)\n *\n * @param props - Component properties\n */\nconst InlineIcon = React.forwardRef(function InlineIcon(props, ref) {\n const newProps = {\n ...props,\n _ref: ref,\n _inline: true,\n };\n return React.createElement(IconComponent, newProps);\n});\n/**\n * Internal API\n */\nconst _api = {\n getAPIConfig,\n setAPIModule,\n sendAPIQuery,\n setFetch,\n getFetch,\n listAPIProviders,\n};\n\nexport { Icon, InlineIcon, _api, addAPIProvider, addCollection, addIcon, iconToSVG as buildIcon, calculateSize, disableCache, enableCache, getIcon, iconExists, listIcons, loadIcon, loadIcons, replaceIDs };\n"],"names":["g","module","exports","e","t","n","o","r","i","l","call","m","c","d","Object","defineProperty","enumerable","get","Symbol","toStringTag","value","__esModule","create","bind","default","prototype","hasOwnProperty","p","s","parse","TypeError","split","decode","length","u","f","indexOf","substr","trim","y","slice","a","serialize","encode","test","maxAge","isNaN","Error","Math","floor","domain","path","expires","toUTCString","httpOnly","secure","sameSite","toLowerCase","decodeURIComponent","encodeURIComponent","getOwnPropertySymbols","propertyIsEnumerable","assign","String","getOwnPropertyNames","fromCharCode","map","join","forEach","keys","arguments","for","h","v","iterator","replace","name","framesToPop","b","isMounted","enqueueForceUpdate","enqueueReplaceState","enqueueSetState","k","O","this","props","context","refs","updater","w","S","isReactComponent","setState","forceUpdate","x","constructor","isPureReactComponent","_","current","currentDispatcher","C","P","key","ref","__self","__source","T","children","Array","defaultProps","$$typeof","type","_owner","j","E","A","$","pop","result","keyPrefix","func","count","L","push","M","I","isArray","next","done","toString","N","R","D","F","Children","toArray","only","createRef","Component","PureComponent","createContext","_calculateChangedBits","_currentValue","_currentValue2","Provider","Consumer","_context","forwardRef","render","lazy","_ctor","_status","_result","memo","compare","Fragment","StrictMode","unstable_ConcurrentMode","Suspense","unstable_Profiler","createElement","cloneElement","createFactory","isValidElement","version","__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED","ReactCurrentOwner","U","B","isRequired","array","bool","number","object","string","symbol","any","arrayOf","element","instanceOf","node","objectOf","oneOf","oneOfType","shape","exact","checkPropTypes","PropTypes","childContextTypes","contextType","contextTypes","displayName","getDefaultProps","getDerivedStateFromProps","mixins","propTypes","caller","callee","arity","ForwardRef","getOwnPropertyDescriptor","getPrototypeOf","concat","typeOf","AsyncMode","ContextConsumer","ContextProvider","Element","Profiler","Portal","isValidElementType","then","isAsyncMode","isContextConsumer","isContextProvider","isElement","isForwardRef","isFragment","isProfiler","isPortal","isStrictMode","doNotParse","JSON","changeListeners","cookies","HAS_DOCUMENT_COOKIE","document","cookie","_updateBrowserValues","_emitChange","getAll","set","stringify","options","remove","Date","addChangeListener","removeChangeListener","splice","setPrototypeOf","__proto__","navigator","configurable","writable","setTime","getTime","apply","ReferenceError","checked","state","handleOnChange","onChange","Function","id","text","styles","disabled","optionWrapperStyle","optionLabelStyle","checkboxStyle","className","style","dialog","position","top","left","right","zIndex","backgroundColor","padding","container","maxWidth","marginLeft","marginRight","overflow","message","minHeight","fontSize","fontWeight","lineHeight","color","policy","textDecoration","selectPane","display","optionWrapper","float","optionLabel","height","width","cursor","verticalAlign","checkbox","buttonWrapper","button","minWidth","textAlign","whiteSpace","policyLink","privacyPolicyLinkText","necessaryOptionText","preferencesOptionText","statisticsOptionText","marketingOptionText","showAcceptSelectionButton","acceptAllButtonText","acceptSelectionButtonText","showPreferencesOption","showStatisticsOption","showMarketingOption","preferencesOptionInitiallyChecked","statisticsOptionInitiallyChecked","marketingOptionInitiallyChecked","onTogglePreferencesCookies","W","z","onToggleStatisticsCookies","q","H","onToggleMarketingCookies","V","K","onConfirmSelection","J","Y","onConfirmAll","G","Q","filter","X","Z","ee","te","ne","oe","re","ie","ce","ae","se","href","onClick","preferencesCookies","statisticsCookies","marketingCookies","onScroll","confirmAll","confirmSelection","consetsCallback","dismissOnScroll","window","addEventListener","attachEvent","removeEventListener","detachEvent","onAccept","onAcceptPreferences","onAcceptStatistics","onAcceptMarketing","onDeclinePreferences","onDeclineStatistics","onDeclineMarketing","protoTypes","loaded","offset","delay","easing","duration","disable","once","startEvent","throttleDelay","debounceDelay","disableMutationObserver","removeAttribute","mobile","phone","tablet","all","atob","isSupported","console","info","querySelector","setAttribute","readyState","ready","init","refresh","refreshHard","setTimeout","clearTimeout","leading","maxWait","trailing","cancel","flush","valueOf","NaN","parseInt","self","max","min","now","dataset","aos","MutationObserver","WebKitMutationObserver","MozMutationObserver","observe","documentElement","childList","subtree","removedNodes","addedNodes","userAgent","vendor","opera","getAttribute","classList","add","pageYOffset","innerHeight","anchor","anchorPlacement","querySelectorAll","offsetHeight","offsetLeft","offsetTop","tagName","scrollLeft","scrollTop","offsetParent","UPPERCASE","LOWERCASE","LEADING_CAPITAL","IDENTIFIER","SEPARATORS","LEADING_SEPARATORS","RegExp","source","SEPARATORS_AND_IDENTIFIER","NUMBERS_AND_IDENTIFIER","camelCase","input","pascalCase","preserveConsecutiveUppercase","locale","toLocaleLowerCase","toUpperCase","toLocaleUpperCase","isLastCharLower","isLastCharUpper","isLastLastCharUpper","character","preserveCamelCase","lastIndex","m1","charAt","identifier","postProcess","hasNativeLazyLoadSupport","HTMLImageElement","Boolean","images","_node$images$fallback","fallback","src","gatsbyImageData","gatsbyImage","_node$childImageSharp","childImageSharp","srcSet","layout","wrapperStyle","getMainProps","isLoading","isLoaded","loading","shouldLoad","_extends","opacity","getPlaceholderProps","placeholder","objectFit","objectPosition","bottom","transition","Sizer","React","paddingTop","alt","role","LayoutWrapper","_ref","_objectWithoutPropertiesLoose","Image","decoding","Picture","_ref2","sources","sizes","media","fallbackImage","Placeholder","_Picture$propTypes","propName","componentName","MainImage","removeNewLines","str","altValidator","rest","image","_excluded","Set","renderImageToStringPromise","renderImage","GatsbyImageHydrator","as","class","preactClass","onStartLoad","onLoad","onError","getWrapperProps","wStyle","wClass","wrapperProps","root","useRef","useMemo","sizer","useEffect","import","renderImageToString","swapPlaceholderImage","ssrImage","complete","wasCached","onLoadListener","imageCache","cacheKey","has","animationFrame","cleanupCallback","innerHTML","requestAnimationFrame","cancelAnimationFrame","useLayoutEffect","dangerouslySetInnerHTML","__html","suppressHydrationWarning","GatsbyImage","_getStaticImage","StaticImage","__imageData","imageData","__error","warn","imgClassName","imgStyle","placeholderBackgroundColor","cleanedImages","checkDimensionProps","validLayouts","GatsbyImageBrowser","_meta","require","_jsonld","_types","_interopRequireDefault","NewsArticleJsonLd","BlogPostJsonLd","ArticleJsonLd","_extends2","_objectWithoutProperties2","_defineProperty2","_react","ownKeys","enumerableOnly","symbols","sym","_objectSpread","target","getOwnPropertyDescriptors","defineProperties","url","headline","title","_ref$images","datePublished","dateCreated","_ref$dateModified","dateModified","_ref$authorType","authorType","authorName","description","publisherName","publisherLogo","body","overrides","keywords","speakable","_ref$defer","defer","json","mainEntityOfPage","author","publisher","logo","articleBody","item","undefined","JsonLd","_ref2$defer","_ref2$publisherLogo","_ref2$publisherName","_ref3","section","_ref3$defer","articleSection","BlogJsonLd","_ref$posts","posts","issn","_ref$overrides","blogPost","post","BookJsonLd","_ref$workExample","workExample","sameAs","bookFormat","potentialAction","person","BreadcrumbJsonLd","_ref$itemListElements","itemListElements","itemListElement","CorporateContactJsonLd","_reactHelmetAsync","formatIfArray","val","contactPoint","jsonld","contact","telephone","contactType","areaServed","availableLanguage","contactOption","buildContactPoint","Helmet","CourseJsonLd","courseName","providerName","providerUrl","provider","FAQJsonLd","questions","mainEntity","_ref2$overrides","question","acceptedAnswer","answer","_article","_blog","_book","_breadcrumb","_corporateContact","_course","_faq","_localBusiness","_logo","_product","_sitelinksSearchBox","_socialProfile","_speakable","LocalBusinessJsonLd","converter","Mon","Tues","Wed","Thurs","Fri","Sat","Sun","validDay","day","_converter","getDayOfWeek","dayOfWeek","getOpeningHoursSpecification","openingHours","address","geo","rating","priceRange","aggregateRating","openingHoursSpecification","LogoJsonLd","ProductJsonLd","availabilityConverter","Discontinued","InStock","InStoreOnly","LimitedAvailability","OnlineOnly","OutOfStock","PreOrder","PreSale","SoldOut","itemConditionConverter","DamagedCondition","NewCondition","RefurbishedCondition","UsedCondition","itemCondition","availability","productName","sku","gtin12","gtin","gtin8","gtin13","gtin14","mpn","brand","_ref$reviews","reviews","offers","_ref$offersType","offersType","review","reviewRating","seller","SitelinksSearchBoxJsonLd","searchHandlerQueryStringUrl","urlTemplate","SocialProfileJsonLd","_ref$sameAs","socialUrl","SpeakableJsonLd","xpath","cssSelector","GatsbySeo","_baseSeo","metaTags","linkTags","canonical","facebook","htmlAttributes","language","languageAlternates","mobileAlternate","nofollow","noindex","openGraph","titleTemplate","twitter","base","BaseSeo","_gatsbySeo","Link","_objectWithoutPropertiesLoose2","obj","nodeInterop","cache","_getRequireWildcardCache","newObj","hasPropertyDescriptor","desc","_interopRequireWildcard","_i18nextContext","_gatsby","WeakMap","cacheBabelInterop","cacheNodeInterop","to","_onClick","useContext","I18nextContext","urlLanguage","link","generateDefaultLanguagePage","defaultLanguage","getLanguagePath","innerRef","hrefLang","localStorage","setItem","LANGUAGE_KEY","_reactI18next","_useI18next","_Link","useI18next","ns","_useTranslation","useTranslation","i18n","routed","navigate","languagePath","changeLanguage","pathname","substring","removeLocalePart","location","search","Cookie","useLocation","reloadCookie","Footer","data","useStaticQuery","delete_cookie","some","startsWith","get_cookie","copyright","email","linkedinLink","phoneDisplay","xingLink","site","siteMetadata","isoLogo","getImage","intertekLogo","company","street","zip","city","country","setReloadCookie","icon","btn","dropdown","dropdownActive","mobileNavToggle","navbar","navbarMobile","onlyMobile","Navbar","alternateLinks","removeLanguages","languageLinks","LanguageOptions","navbarOpen","setNavbarOpen","useState","openServices","setOpenServices","openAboutUs","setOpenAboutUs","openIndustries","setOpenIndustries","Logo","progressBar","progressContainer","ScrollProgressBar","onscroll","scrollFunction","scrolled","scrollHeight","clientHeight","getElementById","fixedTop","fixedTopMobile","header","Header","showScrollProgress","setShowScrollProgress","innerWidth","scrollY","getRoute","currentLanguage","newLanguage","pathParts","lastElement","lastElementIsNumber","newPath","route","de","en","find","languages","originalPath","lng","backToTopButton","invisible","ScrollBackToTopButton","scrollTo","behavior","certifiedIcon","certifiedIcons","footer","footerContact","footerLinks","footerTop","infoBox","socialIcon","matchIconName","stringToIcon","validate","allowSimpleName","colonSeparated","shift","name2","prefix","validateIconName","dashSeparated","match","defaultIconDimensions","freeze","defaultIconTransformations","rotate","vFlip","hFlip","defaultIconProps","defaultExtendedIconProps","hidden","mergeIconData","parent","child","obj1","obj2","mergeIconTransformations","internalGetIconData","tree","icons","aliases","currentProps","parseIconSet","callback","names","not_found","resolved","resolve","getIconsTree","optionalPropertyDefaults","checkOptionalProps","defaults","prop","quicklyValidateIconSet","dataStorage","getStorage","providerStorage","missing","newStorage","addIconSet","storage","simpleNames","allowSimpleNames","allow","getIconData","iconName","addCollection","added","err","addIconToStorage","addIcon","defaultIconSizeCustomisations","defaultIconCustomisations","unitsSplit","unitsTest","calculateSize","size","ratio","precision","ceil","oldParts","newParts","code","isNumber","num","parseFloat","regex","randomPrefix","random","counter","replaceIDs","ids","exec","suffix","newID","escapedID","setAPIModule","getAPIModule","createAPIConfig","resources","maxURL","timeout","index","dataAfterTimeout","configStorage","fallBackAPISources","fallBackAPI","addAPIProvider","customConfig","config","getAPIConfig","fetchModule","fetch","detectFetch","fetchAPIModule","prepare","results","maxLength","maxHostLength","host","calculateMaxLength","send","params","getPath","iconsList","URLSearchParams","uri","defaultError","response","status","shouldAbort","catch","removeCallback","storages","items","loaderCallbacks","row","idCounter","defaultConfig","sendQuery","payload","query","resourcesCount","startIndex","list","nextIndex","startTime","lastError","queriesSent","timer","queue","doneCallbacks","resetTimer","abort","subscribe","overwrite","failQuery","clearQueue","execNext","resource","status2","isError","queued","moduleResponse","queriesPending","initRedundancy","cfg","queries","cleanup","queryCallback","doneCallback","query2","error","setIndex","getIndex","emptyCallback$1","redundancyCache","sendAPIQuery","redundancy","api","cached","cachedReundancy","getRedundancyCache","browserCacheVersion","browserCachePrefix","browserCacheCountKey","browserCacheVersionKey","browserStorageHour","browserStorageCacheExpiration","getStoredItem","getItem","setStoredItem","removeStoredItem","removeItem","setBrowserStorageItemsCount","getBrowserStorageItemsCount","browserStorageConfig","local","session","browserStorageEmptyItems","browserStorageStatus","_window","getBrowserStorage","attr","iterateBrowserStorage","total2","minTime","parseItem","total","initBrowserStorage","iconSet","lastModified","lastModifiedCached","storeInBrowserStorage","store","delete","from","lastValue","updateLastModified","emptyCallback","loadedNewIcons","iconsLoaderFlag","pendingCallbacksFlag","hasPending","oldLength","pending","updateCallbacks","loadIcons","cleanedIcons","listToIcons","sortedIcons","sort","localeCompare","lastIcon","sortIcons","callCallback","newIcons","lastProvider","lastPrefix","providerNewIcons","pendingQueue","pendingIcons","iconsToLoad","iconsQueueFlag","icons2","parsed","loadNewIcons","pendingSources","storeCallback","separator","flipFromString","custom","flip","rotateFromString","defaultValue","units","value2","cleanUpInnerHTML","html","trustedTypes","createPolicy","createHTML","defaultExtendedIconCustomisations","inline","svgDefaults","commonProps","monotoneProps","coloredProps","propsToAdd","Repeat","Size","propsToAddTo","WebkitMask","mask","background","inlineDefaults","fixSize","customisations","valueType","mergeCustomisations","mode","customStyle","componentProps","fullIcon","fullCustomisations","box","transformations","tempValue","rotation","unshift","customisationsWidth","customisationsHeight","boxWidth","boxHeight","attributes","setAttr","isUnsetKeyword","viewBox","iconToSVG","renderAttribs","localCounter","useMask","renderAttribsHTML","iconToHTML","svg","encodeSVGforURL","svgToData","IconifyPreload","preload","IconifyProviders","providers","IconComponent","super","_abortLoading","_loading","_setData","_checkIcon","changed","_icon","classes","componentDidMount","componentDidUpdate","oldProps","componentWillUnmount","newProps","_inline","Icon"],"sourceRoot":""}