{"version":3,"file":"commons-eefe405f70847b8a945e.js","mappings":"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","sources":["webpack://website-frontend/./node_modules/@fortawesome/react-fontawesome/index.es.js","webpack://website-frontend/./src/components/common/Footer.js","webpack://website-frontend/./src/components/common/ScrollTop.js","webpack://website-frontend/./src/config/index.js"],"sourcesContent":["import { parse, icon } from '@fortawesome/fontawesome-svg-core';\nimport PropTypes from 'prop-types';\nimport React from 'react';\n\nfunction ownKeys(object, enumerableOnly) {\n var keys = Object.keys(object);\n\n if (Object.getOwnPropertySymbols) {\n var symbols = Object.getOwnPropertySymbols(object);\n enumerableOnly && (symbols = symbols.filter(function (sym) {\n return Object.getOwnPropertyDescriptor(object, sym).enumerable;\n })), keys.push.apply(keys, symbols);\n }\n\n return keys;\n}\n\nfunction _objectSpread2(target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = null != arguments[i] ? arguments[i] : {};\n i % 2 ? ownKeys(Object(source), !0).forEach(function (key) {\n _defineProperty(target, key, source[key]);\n }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) {\n Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key));\n });\n }\n\n return target;\n}\n\nfunction _typeof(obj) {\n \"@babel/helpers - typeof\";\n\n return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (obj) {\n return typeof obj;\n } : function (obj) {\n return obj && \"function\" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj;\n }, _typeof(obj);\n}\n\nfunction _defineProperty(obj, key, value) {\n if (key in obj) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n } else {\n obj[key] = value;\n }\n\n return obj;\n}\n\nfunction _objectWithoutPropertiesLoose(source, excluded) {\n if (source == null) return {};\n var target = {};\n var sourceKeys = Object.keys(source);\n var key, i;\n\n for (i = 0; i < sourceKeys.length; i++) {\n key = sourceKeys[i];\n if (excluded.indexOf(key) >= 0) continue;\n target[key] = source[key];\n }\n\n return target;\n}\n\nfunction _objectWithoutProperties(source, excluded) {\n if (source == null) return {};\n\n var target = _objectWithoutPropertiesLoose(source, excluded);\n\n var key, i;\n\n if (Object.getOwnPropertySymbols) {\n var sourceSymbolKeys = Object.getOwnPropertySymbols(source);\n\n for (i = 0; i < sourceSymbolKeys.length; i++) {\n key = sourceSymbolKeys[i];\n if (excluded.indexOf(key) >= 0) continue;\n if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue;\n target[key] = source[key];\n }\n }\n\n return target;\n}\n\nfunction _toConsumableArray(arr) {\n return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread();\n}\n\nfunction _arrayWithoutHoles(arr) {\n if (Array.isArray(arr)) return _arrayLikeToArray(arr);\n}\n\nfunction _iterableToArray(iter) {\n if (typeof Symbol !== \"undefined\" && iter[Symbol.iterator] != null || iter[\"@@iterator\"] != null) return Array.from(iter);\n}\n\nfunction _unsupportedIterableToArray(o, minLen) {\n if (!o) return;\n if (typeof o === \"string\") return _arrayLikeToArray(o, minLen);\n var n = Object.prototype.toString.call(o).slice(8, -1);\n if (n === \"Object\" && o.constructor) n = o.constructor.name;\n if (n === \"Map\" || n === \"Set\") return Array.from(o);\n if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen);\n}\n\nfunction _arrayLikeToArray(arr, len) {\n if (len == null || len > arr.length) len = arr.length;\n\n for (var i = 0, arr2 = new Array(len); i < len; i++) {\n arr2[i] = arr[i];\n }\n\n return arr2;\n}\n\nfunction _nonIterableSpread() {\n throw new TypeError(\"Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\");\n} // Get CSS class list from a props object\n\n\nfunction classList(props) {\n var _classes;\n\n var beat = props.beat,\n fade = props.fade,\n beatFade = props.beatFade,\n bounce = props.bounce,\n shake = props.shake,\n flash = props.flash,\n spin = props.spin,\n spinPulse = props.spinPulse,\n spinReverse = props.spinReverse,\n pulse = props.pulse,\n fixedWidth = props.fixedWidth,\n inverse = props.inverse,\n border = props.border,\n listItem = props.listItem,\n flip = props.flip,\n size = props.size,\n rotation = props.rotation,\n pull = props.pull; // map of CSS class names to properties\n\n var classes = (_classes = {\n 'fa-beat': beat,\n 'fa-fade': fade,\n 'fa-beat-fade': beatFade,\n 'fa-bounce': bounce,\n 'fa-shake': shake,\n 'fa-flash': flash,\n 'fa-spin': spin,\n 'fa-spin-reverse': spinReverse,\n 'fa-spin-pulse': spinPulse,\n 'fa-pulse': pulse,\n 'fa-fw': fixedWidth,\n 'fa-inverse': inverse,\n 'fa-border': border,\n 'fa-li': listItem,\n 'fa-flip-horizontal': flip === 'horizontal' || flip === 'both',\n 'fa-flip-vertical': flip === 'vertical' || flip === 'both'\n }, _defineProperty(_classes, \"fa-\".concat(size), typeof size !== 'undefined' && size !== null), _defineProperty(_classes, \"fa-rotate-\".concat(rotation), typeof rotation !== 'undefined' && rotation !== null && rotation !== 0), _defineProperty(_classes, \"fa-pull-\".concat(pull), typeof pull !== 'undefined' && pull !== null), _defineProperty(_classes, 'fa-swap-opacity', props.swapOpacity), _classes); // map over all the keys in the classes object\n // return an array of the keys where the value for the key is not null\n\n return Object.keys(classes).map(function (key) {\n return classes[key] ? key : null;\n }).filter(function (key) {\n return key;\n });\n} // Camelize taken from humps\n// humps is copyright © 2012+ Dom Christie\n// Released under the MIT license.\n// Performant way to determine if object coerces to a number\n\n\nfunction _isNumerical(obj) {\n obj = obj - 0; // eslint-disable-next-line no-self-compare\n\n return obj === obj;\n}\n\nfunction camelize(string) {\n if (_isNumerical(string)) {\n return string;\n } // eslint-disable-next-line no-useless-escape\n\n\n string = string.replace(/[\\-_\\s]+(.)?/g, function (match, chr) {\n return chr ? chr.toUpperCase() : '';\n }); // Ensure 1st char is always lowercase\n\n return string.substr(0, 1).toLowerCase() + string.substr(1);\n}\n\nvar _excluded$1 = [\"style\"];\n\nfunction capitalize(val) {\n return val.charAt(0).toUpperCase() + val.slice(1);\n}\n\nfunction styleToObject(style) {\n return style.split(';').map(function (s) {\n return s.trim();\n }).filter(function (s) {\n return s;\n }).reduce(function (acc, pair) {\n var i = pair.indexOf(':');\n var prop = camelize(pair.slice(0, i));\n var value = pair.slice(i + 1).trim();\n prop.startsWith('webkit') ? acc[capitalize(prop)] = value : acc[prop] = value;\n return acc;\n }, {});\n}\n\nfunction convert(createElement, element) {\n var extraProps = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};\n\n if (typeof element === 'string') {\n return element;\n }\n\n var children = (element.children || []).map(function (child) {\n return convert(createElement, child);\n });\n /* eslint-disable dot-notation */\n\n var mixins = Object.keys(element.attributes || {}).reduce(function (acc, key) {\n var val = element.attributes[key];\n\n switch (key) {\n case 'class':\n acc.attrs['className'] = val;\n delete element.attributes['class'];\n break;\n\n case 'style':\n acc.attrs['style'] = styleToObject(val);\n break;\n\n default:\n if (key.indexOf('aria-') === 0 || key.indexOf('data-') === 0) {\n acc.attrs[key.toLowerCase()] = val;\n } else {\n acc.attrs[camelize(key)] = val;\n }\n\n }\n\n return acc;\n }, {\n attrs: {}\n });\n\n var _extraProps$style = extraProps.style,\n existingStyle = _extraProps$style === void 0 ? {} : _extraProps$style,\n remaining = _objectWithoutProperties(extraProps, _excluded$1);\n\n mixins.attrs['style'] = _objectSpread2(_objectSpread2({}, mixins.attrs['style']), existingStyle);\n /* eslint-enable */\n\n return createElement.apply(void 0, [element.tag, _objectSpread2(_objectSpread2({}, mixins.attrs), remaining)].concat(_toConsumableArray(children)));\n}\n\nvar PRODUCTION = false;\n\ntry {\n PRODUCTION = process.env.NODE_ENV === 'production';\n} catch (e) {}\n\nfunction log() {\n if (!PRODUCTION && console && typeof console.error === 'function') {\n var _console;\n\n (_console = console).error.apply(_console, arguments);\n }\n}\n\nfunction normalizeIconArgs(icon) {\n // this has everything that it needs to be rendered which means it was probably imported\n // directly from an icon svg package\n if (icon && _typeof(icon) === 'object' && icon.prefix && icon.iconName && icon.icon) {\n return icon;\n }\n\n if (parse.icon) {\n return parse.icon(icon);\n } // if the icon is null, there's nothing to do\n\n\n if (icon === null) {\n return null;\n } // if the icon is an object and has a prefix and an icon name, return it\n\n\n if (icon && _typeof(icon) === 'object' && icon.prefix && icon.iconName) {\n return icon;\n } // if it's an array with length of two\n\n\n if (Array.isArray(icon) && icon.length === 2) {\n // use the first item as prefix, second as icon name\n return {\n prefix: icon[0],\n iconName: icon[1]\n };\n } // if it's a string, use it as the icon name\n\n\n if (typeof icon === 'string') {\n return {\n prefix: 'fas',\n iconName: icon\n };\n }\n} // creates an object with a key of key\n// and a value of value\n// if certain conditions are met\n\n\nfunction objectWithKey(key, value) {\n // if the value is a non-empty array\n // or it's not an array but it is truthy\n // then create the object with the key and the value\n // if not, return an empty array\n return Array.isArray(value) && value.length > 0 || !Array.isArray(value) && value ? _defineProperty({}, key, value) : {};\n}\n\nvar _excluded = [\"forwardedRef\"];\n\nfunction FontAwesomeIcon(_ref) {\n var forwardedRef = _ref.forwardedRef,\n props = _objectWithoutProperties(_ref, _excluded);\n\n var iconArgs = props.icon,\n maskArgs = props.mask,\n symbol = props.symbol,\n className = props.className,\n title = props.title,\n titleId = props.titleId,\n maskId = props.maskId;\n var iconLookup = normalizeIconArgs(iconArgs);\n var classes = objectWithKey('classes', [].concat(_toConsumableArray(classList(props)), _toConsumableArray(className.split(' '))));\n var transform = objectWithKey('transform', typeof props.transform === 'string' ? parse.transform(props.transform) : props.transform);\n var mask = objectWithKey('mask', normalizeIconArgs(maskArgs));\n var renderedIcon = icon(iconLookup, _objectSpread2(_objectSpread2(_objectSpread2(_objectSpread2({}, classes), transform), mask), {}, {\n symbol: symbol,\n title: title,\n titleId: titleId,\n maskId: maskId\n }));\n\n if (!renderedIcon) {\n log('Could not find icon', iconLookup);\n return null;\n }\n\n var abstract = renderedIcon.abstract;\n var extraProps = {\n ref: forwardedRef\n };\n Object.keys(props).forEach(function (key) {\n // eslint-disable-next-line no-prototype-builtins\n if (!FontAwesomeIcon.defaultProps.hasOwnProperty(key)) {\n extraProps[key] = props[key];\n }\n });\n return convertCurry(abstract[0], extraProps);\n}\n\nFontAwesomeIcon.displayName = 'FontAwesomeIcon';\nFontAwesomeIcon.propTypes = {\n beat: PropTypes.bool,\n border: PropTypes.bool,\n bounce: PropTypes.bool,\n className: PropTypes.string,\n fade: PropTypes.bool,\n flash: PropTypes.bool,\n mask: PropTypes.oneOfType([PropTypes.object, PropTypes.array, PropTypes.string]),\n maskId: PropTypes.string,\n fixedWidth: PropTypes.bool,\n inverse: PropTypes.bool,\n flip: PropTypes.oneOf(['horizontal', 'vertical', 'both']),\n icon: PropTypes.oneOfType([PropTypes.object, PropTypes.array, PropTypes.string]),\n listItem: PropTypes.bool,\n pull: PropTypes.oneOf(['right', 'left']),\n pulse: PropTypes.bool,\n rotation: PropTypes.oneOf([0, 90, 180, 270]),\n shake: PropTypes.bool,\n size: PropTypes.oneOf(['2xs', 'xs', 'sm', 'lg', 'xl', '2xl', '1x', '2x', '3x', '4x', '5x', '6x', '7x', '8x', '9x', '10x']),\n spin: PropTypes.bool,\n spinPulse: PropTypes.bool,\n spinReverse: PropTypes.bool,\n symbol: PropTypes.oneOfType([PropTypes.bool, PropTypes.string]),\n title: PropTypes.string,\n titleId: PropTypes.string,\n transform: PropTypes.oneOfType([PropTypes.string, PropTypes.object]),\n swapOpacity: PropTypes.bool\n};\nFontAwesomeIcon.defaultProps = {\n border: false,\n className: '',\n mask: null,\n maskId: null,\n fixedWidth: false,\n inverse: false,\n flip: null,\n icon: null,\n listItem: false,\n pull: null,\n pulse: false,\n rotation: null,\n size: null,\n spin: false,\n beat: false,\n fade: false,\n beatFade: false,\n bounce: false,\n shake: false,\n symbol: false,\n title: '',\n titleId: null,\n transform: null,\n swapOpacity: false\n};\nvar convertCurry = convert.bind(null, React.createElement);\nexport { FontAwesomeIcon };","import React from \"react\";\nimport { graphql, useStaticQuery, Link } from \"gatsby\";\nimport { FontAwesomeIcon } from \"@fortawesome/react-fontawesome\";\nimport { faFacebook, faGithub, faLinkedin } from \"@fortawesome/free-brands-svg-icons\";\nimport { smFacebook, smLinkedin, smGithub } from \"../../config\";\nimport { FooterIso } from \"../../../src/config/index\";\nconst Footer = () => {\n const data = useStaticQuery(graphql`\n {\n allStrapiNavLinks {\n nodes {\n isLink\n linksList {\n link\n title\n type\n }\n title\n }\n }\n }\n `);\n const { nodes: links } = data.allStrapiNavLinks;\n return (\n \n );\n};\n\nexport default Footer;\n","import React from \"react\";\nimport { FontAwesomeIcon } from \"@fortawesome/react-fontawesome\";\nimport { faChevronUp } from \"@fortawesome/free-solid-svg-icons\";\n\nconst ScrollTop = () => {\n \n return (\n \n \n \n );\n};\n\nexport default ScrollTop;\n","export const formHome =\n \"https://forms.zohopublic.com/arvindk/form/HomeContactUs/formperma/qbWuo42O8bxlEvziQjAgWeDb-nU2EFUnRt-OhAd-D2A/htmlRecords/submit\";\nexport const formContactUs =\n \"https://forms.zohopublic.com/arvindk/form/GrootanContactForm/formperma/ShSm-lgOmmBazGoIVMNBC2bgQStu6JMCmr5bkSTcAN0/htmlRecords/submit\";\nexport const formJobApplication =\n \"https://forms.zohopublic.com/arvindk/form/Recruit/formperma/AND3cFLcytssDWjzIGneLn196m7GdQOJi_YG8F3j5P8/htmlRecords/submit\";\n\n//dev site keys\n// export const siteKey = \"6LdI8bsaAAAAACUE3aGXqvd3H2UEipFegmPNHRIW\";\n// export const secretKey = \"6LdI8bsaAAAAAJi2pdfpBdt1z_NsmFyfq99aWUIm\";\n\n//prod site keys\nexport const siteKey = \"6Lda7rkaAAAAAMsEuMfUsWPphd11uQ_-TuB7--Q8\";\nexport const secretKey = \"6Lda7rkaAAAAAH7YNy5V7MQU4Ji7QHNm-Ir5nOPW\";\n\nexport const zohoCareers = \"https://careers.grootan.com/jobs/Careers\";\nexport const smFacebook = \"https://www.facebook.com/grootantech/\";\nexport const smLinkedin = \"https://in.linkedin.com/company/grootan-technologies\";\nexport const smGithub = \"https://github.com/grootan\";\nexport const FooterIso = \"https://grootan-strapi-uploads.s3.ap-south-1.amazonaws.com/iso_line_38d6885d2d.svg\";\n\nexport const ISO = \"ISO 27001:2022\";\nexport const isoCertifiedText = `${ISO} certified`;\n\n\nexport const metaData = {\n \"home\": {\n \"keyword\":\n `identity access and management, ISO, Information security management, ISO certified, ${isoCertifiedText}, QlikVerify, QlikSlides, kyc, ai based kyc, know your customer solutions, authentication, authorisation, 2fa, two factor authentication, multi factor authentication, kobil integration, kobil systems, grootan , grootan technologies, grootan tech, grootan technologies chennai, grootan mobile , oauth 2.0, oauth, security solutions, keycloak, saml, mobile applications, mobile apps, Identity management, identity management system, identity access management, identity & access management, access, security, open id, bots, bot service, temenos, cloud, cloud computing, cloud solutions, identity and access management, iam, iam solutions, keycloak developers, keycloak authenticators, keycloak extensions, keycloak clustering`,\n \"description\":\n `Grootan is a superior service provider of technology solutions for businesses within a wide range of industries, including financial services, retail, insurance, health care and gaming. It has also acquired ${ISO}, an Information Security Management Certification.`\n },\n \"financial\": {\n \"keyword\": \"modern financial services, financial services, grootan\",\n \"description\":\n \"Every financial organisation is a technology company, where a secure and seamless experience is significant. Grootan offers you modern financial services to do business securely in the connected world.\"\n },\n \"retail\": {\n \"keyword\": \"retail, retail solutions, grootan\",\n \"description\":\n \"The evolution of the retail industry has played an effective role in today's modern environment. We Grootan understand the evolving trends and offer Optimized Retail Solutions To Resolve All Your Business Needs.\"\n },\n \"insurance\": {\n \"keyword\": \"modern insurance services, insurance services, grootan\",\n \"description\":\n \"Insurance industries are rapidly developing with a highly competitive market. We Grootan offer modern insurance services to Transform and Accelerate Digital Transformation.\"\n },\n \"healthcare\": {\n \"keyword\":\n \"healthcare, advanced healthcare services, healthcare services, grootan\",\n \"description\":\n \"Healthcare is one of the most delicate sectors in existence. We Grootan offer Advanced healthcare services that ensure secured outcomes and substantial growth.\"\n },\n \"game\": {\n \"keyword\":\n \"advanced game development services, game development services, futuristic Games, grootan\",\n \"description\":\n \"Pushing the Boundaries of Your Imagination. We grootan offer the Advanced game development services with Futuristic Games With Global Standards.\"\n },\n \"openid\": {\n \"keyword\":\n \" openID solutions, identity and security, grootan, advanced oAuth and openID solutions, oAuth and openID solutions\",\n \"description\":\n \"Never compromise with your identity and security. We Grootan offer advanced OAuth and OpenID solutions that add additional protection and control over your online identity.\"\n },\n \"cloud\": {\n \"keyword\": \"cloud solutions, grootan.\",\n \"description\":\n \"Experience trust and security in the cloud. Grootan offers secured Cloud solutions with seamless and effective security that bring additional business value for you.\"\n },\n \"appDev\": {\n \"keyword\": \"app development, grootan, app development services\",\n \"description\":\n \"Turning Your Ideas Into Reality. We Grootan offer robust and high secured app development services that will showcase your innovation and make you stand out from others.\"\n },\n \"aiandml\": {\n \"keyword\": \"aI & mL, aI & mL services, grootan\",\n \"description\":\n \"Create Breakthrough Results with AI & ML. We Grootan offer powerful and innovative AI and ML services to establish your business case.\"\n },\n \"bot\": {\n \"keyword\": \"bot solutions, bot Services, grootan\",\n \"description\":\n \"Empower Your Digital World. We Grootan offer advanced Bot solutions that can automate digital engagement across and improve customer experience and increase sales.\"\n },\n \"data\": {\n \"keyword\":\n \"data Analytics, data Management, advanced data management & analytics services\",\n \"description\":\n \"Unlock the Power of Data to Make Faster and Better Decisions. We Grootan offer advanced data management & analytics services, that help business to make significant decisions.\"\n },\n \"whygrootan\": {\n \"keyword\": `grootan, ISO, Information security management, ISO certified, ${isoCertifiedText}`,\n \"description\":\n `Grootan, a worldwide pioneer in Identity-as-a-Service (IDaaS), and with advanced technology, we turned to announce that we have acquired ${ISO}, an Information Security Management Certification. The name Grootan was inspired by the Marvel character Groot from the film Guardians of the Galaxy. Yes, we appreciate him for his courage, perseverance, kindness, and simplicity.`\n },\n \"team\": {\n \"keyword\":\n \"identity access and management, kyc, ai based kyc, know your customer solutions, authentication, authorisation, 2fa, two factor authentication, multi factor authentication, kobil integration, kobil systems, grootan , grootan technologies, grootan tech, grootan technologies chennai, grootan mobile , oauth 2.0, oauth, security solutions, keycloak, saml, mobile applications, mobile apps, Identity management, identity management system, identity access management, identity & access management, access, security, open id, bots, bot service, temenos, cloud, cloud computing, cloud solutions, identity and access management, iam, iam solutions, keycloak developers, keycloak authenticators, keycloak extensions, keycloak clustering\",\n \"description\":\n \"A bunch of unconventional thinkers who understand your business pre-requites, speak volumes of creativity and deliver customized solutions.\"\n },\n \"career\": {\n \"keyword\":\n \"identity access and management, kyc, ai based kyc, know your customer solutions, authentication, authorisation, 2fa, two factor authentication, multi factor authentication, kobil integration, kobil systems, grootan , grootan technologies, grootan tech, grootan technologies chennai, grootan mobile , oauth 2.0, oauth, security solutions, keycloak, saml, mobile applications, mobile apps, Identity management, identity management system, identity access management, identity & access management, access, security, open id, bots, bot service, temenos, cloud, cloud computing, cloud solutions, identity and access management, iam, iam solutions, keycloak developers, keycloak authenticators, keycloak extensions, keycloak clustering\",\n \"description\":\n \"GROOTAN is an advanced workplace that lets you heighten up your skills. We empower you to explore, learn & innovate! Start your journey with us.\"\n },\n \"casestudy\": {\n \"keyword\": \"grootan, case studies\",\n \"description\":\n \"We Grootan have a proven experience in providing solutions to a broad range of industries. Here we have mentioned a few case studies on how we deliver the power of digital in measurable ways.\"\n },\n \"blog\": {\n \"keyword\": \"grootan, grootan blog, it solutions\",\n \"description\":\n \"Grootan’s Blog keeps you up to date about many different topics around IT solutions for enterprise companies and mid-size businesses.\"\n },\n \"opensource\": {\n \"keyword\": \" grootan, compact solutions\",\n \"description\":\n \"We Grootan would like to share our compact solutions with the developer community, which makes our lives a teensy bit easier, every other day. \"\n }\n};\n"],"names":["ownKeys","object","enumerableOnly","keys","Object","getOwnPropertySymbols","symbols","filter","sym","getOwnPropertyDescriptor","enumerable","push","apply","_objectSpread2","target","i","arguments","length","source","forEach","key","_defineProperty","getOwnPropertyDescriptors","defineProperties","defineProperty","_typeof","obj","Symbol","iterator","constructor","prototype","value","configurable","writable","_objectWithoutProperties","excluded","sourceKeys","indexOf","_objectWithoutPropertiesLoose","sourceSymbolKeys","propertyIsEnumerable","call","_toConsumableArray","arr","Array","isArray","_arrayLikeToArray","_arrayWithoutHoles","iter","from","_iterableToArray","o","minLen","n","toString","slice","name","test","_unsupportedIterableToArray","TypeError","_nonIterableSpread","len","arr2","camelize","string","replace","match","chr","toUpperCase","substr","toLowerCase","_excluded$1","styleToObject","style","split","map","s","trim","reduce","acc","pair","val","prop","startsWith","charAt","PRODUCTION","e","normalizeIconArgs","icon","prefix","iconName","parse","objectWithKey","_excluded","FontAwesomeIcon","_ref","forwardedRef","props","iconArgs","maskArgs","mask","symbol","className","title","titleId","maskId","iconLookup","classes","concat","_classes","beat","fade","beatFade","bounce","shake","flash","spin","spinPulse","spinReverse","pulse","fixedWidth","inverse","border","listItem","flip","size","rotation","pull","swapOpacity","classList","transform","renderedIcon","_console","console","error","log","abstract","extraProps","ref","defaultProps","hasOwnProperty","convertCurry","displayName","propTypes","convert","createElement","element","undefined","children","child","mixins","attributes","attrs","_extraProps$style","existingStyle","remaining","tag","bind","links","useStaticQuery","allStrapiNavLinks","nodes","linkData","index","linksList","subLinkData","link","to","noPrefetch","href","smFacebook","rel","faFacebook","smLinkedin","faLinkedin","smGithub","faGithub","Date","getFullYear","id","faChevronUp","formHome","formContactUs","formJobApplication","siteKey","ISO","isoCertifiedText","metaData"],"sourceRoot":""}