{"version":3,"sources":["webpack://_N_E/./src/components/ui/text.tsx","webpack://_N_E/./node_modules/nanoid/index.browser.js","webpack://_N_E/./src/assets/icons/icon-chevron.svg","webpack://_N_E/./node_modules/react-use/esm/useEffectOnce.js","webpack://_N_E/./node_modules/next/dist/build/webpack/loaders/next-client-pages-loader.js?ea62","webpack://_N_E/./node_modules/@reach/visually-hidden/dist/visually-hidden.esm.js","webpack://_N_E/./node_modules/@reach/alert/dist/alert.esm.js","webpack://_N_E/./src/components/alert/alert.styles.ts","webpack://_N_E/./src/pages/stay-informed.tsx"],"names":["textStyles","css","rem","theme","components","text","Text","styled","p","size","centerText","fontSize","nanoid","id","bytes","crypto","getRandomValues","Uint8Array","byte","toString","toUpperCase","_extends","Object","assign","target","i","arguments","length","source","key","prototype","hasOwnProperty","call","apply","this","_ref","fillRule","clipRule","d","fill","SvgIconChevron","props","xmlns","viewBox","effect","window","__NEXT_P","push","ref","_ref$as","as","Comp","_ref$style","style","excluded","sourceKeys","keys","indexOf","_objectWithoutPropertiesLoose","border","clip","height","margin","overflow","padding","position","width","whiteSpace","wordWrap","renderTimer","polite","assertive","liveRegions","forwardedRef","children","_ref$type","type","regionType","ownRef","child","element","prevType","mirror","mounted","ownerDocument","current","unmount","createMirror","mount","update","useMirrorEffects","doc","renderAlerts","node","createElement","setAttribute","body","appendChild","clearTimeout","setTimeout","forEach","elementType","role","map","alertSpacing","ReachAlertWrapper","Alert","AlertStyled","div","colors","palette","black","orange","borderRadius","medium","IconWrapper","center","large","mediaQueries","CopyWrapper","Link","a","orangeDark","redDark","transparentize","ChevronWrapper","Title","strong","stayInformedInfo","icon","title","description","href","handleClick","StayInformed","useEffectOnce","AnalyticsService","trackScreen","useState","showBushfireWarningDialog","setShowBushfireWarningDialog","showFireDangerDialog","setShowFireDangerDialog","openBushfireWarningDialog","event","preventDefault","logModalDialogOpened","undefined","openFireDangerDialog","mainBackground","backgroundImages","hero","textAlign","paddingBottom","info","index","showDialog","closeDialog"],"mappings":"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","file":"static/chunks/pages/stay-informed-8be2782c0cdb6e594a63.js","sourcesContent":["import { rem } from 'polished';\nimport styled, { css, Theme } from 'styled-components';\ninterface Props {\n size?: keyof Theme['fontSize']['text'];\n centerText?: boolean;\n}\n\nexport const textStyles = css`\n display: block;\n margin: 0;\n margin-top: ${rem(20)};\n margin-bottom: ${rem(40)};\n color: ${({ theme }) => theme.components.text.text};\n line-height: 1.3;\n`;\n\nexport const Text = styled.p`\n ${({ theme, size = 'medium', centerText = false }) => {\n return css`\n ${textStyles}\n\n font-size: ${theme.fontSize.text[size]};\n text-align: ${centerText ? 'center' : 'inherit'};\n `;\n }}\n`;\n","// This file replaces `index.js` in bundlers like webpack or Rollup,\n// according to `browser` config in `package.json`.\n\nimport { urlAlphabet } from './url-alphabet/index.js'\n\nif (process.env.NODE_ENV !== 'production') {\n // All bundlers will remove this block in the production bundle.\n if (\n typeof navigator !== 'undefined' &&\n navigator.product === 'ReactNative' &&\n typeof crypto === 'undefined'\n ) {\n throw new Error(\n 'React Native does not have a built-in secure random generator. ' +\n 'If you don’t need unpredictable IDs use `nanoid/non-secure`. ' +\n 'For secure IDs, import `react-native-get-random-values` ' +\n 'before Nano ID. If you use Expo, install `expo-random` ' +\n 'and use `nanoid/async`.'\n )\n }\n if (typeof msCrypto !== 'undefined' && typeof crypto === 'undefined') {\n throw new Error(\n 'Import file with `if (!window.crypto) window.crypto = window.msCrypto`' +\n ' before importing Nano ID to fix IE 11 support'\n )\n }\n if (typeof crypto === 'undefined') {\n throw new Error(\n 'Your browser does not have secure random generator. ' +\n 'If you don’t need unpredictable IDs, you can use nanoid/non-secure.'\n )\n }\n}\n\nlet random = bytes => crypto.getRandomValues(new Uint8Array(bytes))\n\nlet customRandom = (alphabet, size, getRandom) => {\n // First, a bitmask is necessary to generate the ID. The bitmask makes bytes\n // values closer to the alphabet size. The bitmask calculates the closest\n // `2^31 - 1` number, which exceeds the alphabet size.\n // For example, the bitmask for the alphabet size 30 is 31 (00011111).\n // `Math.clz32` is not used, because it is not available in browsers.\n let mask = (2 << (Math.log(alphabet.length - 1) / Math.LN2)) - 1\n // Though, the bitmask solution is not perfect since the bytes exceeding\n // the alphabet size are refused. Therefore, to reliably generate the ID,\n // the random bytes redundancy has to be satisfied.\n\n // Note: every hardware random generator call is performance expensive,\n // because the system call for entropy collection takes a lot of time.\n // So, to avoid additional system calls, extra bytes are requested in advance.\n\n // Next, a step determines how many random bytes to generate.\n // The number of random bytes gets decided upon the ID size, mask,\n // alphabet size, and magic number 1.6 (using 1.6 peaks at performance\n // according to benchmarks).\n\n // `-~f => Math.ceil(f)` if f is a float\n // `-~i => i + 1` if i is an integer\n let step = -~((1.6 * mask * size) / alphabet.length)\n\n return () => {\n let id = ''\n while (true) {\n let bytes = getRandom(step)\n // A compact alternative for `for (var i = 0; i < step; i++)`.\n let j = step\n while (j--) {\n // Adding `|| ''` refuses a random byte that exceeds the alphabet size.\n id += alphabet[bytes[j] & mask] || ''\n if (id.length === size) return id\n }\n }\n }\n}\n\nlet customAlphabet = (alphabet, size) => customRandom(alphabet, size, random)\n\nlet nanoid = (size = 21) => {\n let id = ''\n let bytes = crypto.getRandomValues(new Uint8Array(size))\n\n // A compact alternative for `for (var i = 0; i < step; i++)`.\n while (size--) {\n // It is incorrect to use bytes exceeding the alphabet size.\n // The following mask reduces the random byte in the 0-255 value\n // range to the 0-63 value range. Therefore, adding hacks, such\n // as empty string fallback or magic numbers, is unneccessary because\n // the bitmask trims bytes down to the alphabet size.\n let byte = bytes[size] & 63\n if (byte < 36) {\n // `0-9a-z`\n id += byte.toString(36)\n } else if (byte < 62) {\n // `A-Z`\n id += (byte - 26).toString(36).toUpperCase()\n } else if (byte < 63) {\n id += '_'\n } else {\n id += '-'\n }\n }\n return id\n}\n\nexport { nanoid, customAlphabet, customRandom, urlAlphabet, random }\n","function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nimport * as React from \"react\";\n\nvar _ref = /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M8 21a.997.997 0 00.707-.293l8-8a.999.999 0 000-1.414l-8-8a.999.999 0 10-1.414 1.414L14.586 12l-7.293 7.293A.999.999 0 008 21z\",\n fill: \"currentColor\"\n});\n\nfunction SvgIconChevron(props) {\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\"\n }, props), _ref);\n}\n\nexport default \"data:image/svg+xml;base64,PHN2ZyBmaWxsPSJub25lIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyNCAyNCI+CiAgPHBhdGggZmlsbC1ydWxlPSJldmVub2RkIiBjbGlwLXJ1bGU9ImV2ZW5vZGQiIGQ9Ik04IDIxYS45OTcuOTk3IDAgMDAuNzA3LS4yOTNsOC04YS45OTkuOTk5IDAgMDAwLTEuNDE0bC04LThhLjk5OS45OTkgMCAxMC0xLjQxNCAxLjQxNEwxNC41ODYgMTJsLTcuMjkzIDcuMjkzQS45OTkuOTk5IDAgMDA4IDIxeiIgZmlsbD0iY3VycmVudENvbG9yIi8+Cjwvc3ZnPgo=\";\nexport { SvgIconChevron as ReactComponent };","import { useEffect } from 'react';\nvar useEffectOnce = function (effect) {\n useEffect(effect, []);\n};\nexport default useEffectOnce;\n","\n (window.__NEXT_P = window.__NEXT_P || []).push([\n \"/stay-informed\",\n function () {\n return require(\"private-next-pages/stay-informed.tsx\");\n }\n ]);\n ","import { forwardRef, createElement } from 'react';\nimport PropTypes from 'prop-types';\n\nfunction _extends() {\n _extends = Object.assign || function (target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i];\n\n for (var key in source) {\n if (Object.prototype.hasOwnProperty.call(source, key)) {\n target[key] = source[key];\n }\n }\n }\n\n return target;\n };\n\n return _extends.apply(this, arguments);\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\n/**\r\n * VisuallyHidden\r\n *\r\n * Provides text for screen readers that is visually hidden.\r\n * It is the logical opposite of the `aria-hidden` attribute.\r\n */\n\nvar VisuallyHidden = /*#__PURE__*/forwardRef(function VisuallyHidden(_ref, ref) {\n var _ref$as = _ref.as,\n Comp = _ref$as === void 0 ? \"span\" : _ref$as,\n _ref$style = _ref.style,\n style = _ref$style === void 0 ? {} : _ref$style,\n props = _objectWithoutPropertiesLoose(_ref, [\"as\", \"style\"]);\n\n return createElement(Comp, Object.assign({\n ref: ref,\n style: _extends({\n border: 0,\n clip: \"rect(0 0 0 0)\",\n height: \"1px\",\n margin: \"-1px\",\n overflow: \"hidden\",\n padding: 0,\n position: \"absolute\",\n width: \"1px\",\n // https://medium.com/@jessebeach/beware-smushed-off-screen-accessible-text-5952a4c2cbfe\n whiteSpace: \"nowrap\",\n wordWrap: \"normal\"\n }, style)\n }, props));\n});\n\nif (process.env.NODE_ENV !== \"production\") {\n VisuallyHidden.displayName = \"VisuallyHidden\";\n VisuallyHidden.propTypes = {\n as: PropTypes.any,\n children: PropTypes.node\n };\n}\n\nexport default VisuallyHidden;\nexport { VisuallyHidden };\n//# sourceMappingURL=visually-hidden.esm.js.map\n","import { useRef, useMemo, createElement, useEffect, cloneElement } from 'react';\nimport { render } from 'react-dom';\nimport { VisuallyHidden } from '@reach/visually-hidden';\nimport { forwardRefWithAs, useForkedRef, usePrevious, getOwnerDocument } from '@reach/utils';\nimport PropTypes from 'prop-types';\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\n/*\r\n * Singleton state is fine because you don't server render\r\n * an alert (SRs don't read them on first load anyway)\r\n */\n\nvar keys = {\n polite: -1,\n assertive: -1\n};\nvar elements = {\n polite: {},\n assertive: {}\n};\nvar liveRegions = {\n polite: null,\n assertive: null\n};\nvar renderTimer; ////////////////////////////////////////////////////////////////////////////////\n\n/**\r\n * Alert\r\n *\r\n * Screen-reader-friendly alert messages. In many apps developers add \"alert\"\r\n * messages when network events or other things happen. Users with assistive\r\n * technologies may not know about the message unless you develop for it.\r\n *\r\n * @see Docs https://reach.tech/alert\r\n */\n\nvar Alert = /*#__PURE__*/forwardRefWithAs(function Alert(_ref, forwardedRef) {\n var _ref$as = _ref.as,\n Comp = _ref$as === void 0 ? \"div\" : _ref$as,\n children = _ref.children,\n _ref$type = _ref.type,\n regionType = _ref$type === void 0 ? \"polite\" : _ref$type,\n props = _objectWithoutPropertiesLoose(_ref, [\"as\", \"children\", \"type\"]);\n\n var ownRef = useRef(null);\n var ref = useForkedRef(forwardedRef, ownRef);\n var child = useMemo(function () {\n return createElement(Comp, Object.assign({}, props, {\n ref: ref,\n \"data-reach-alert\": true\n }), children);\n }, // eslint-disable-next-line react-hooks/exhaustive-deps\n [children, props]);\n useMirrorEffects(regionType, child, ownRef);\n return child;\n});\n\nif (process.env.NODE_ENV !== \"production\") {\n Alert.displayName = \"Alert\";\n Alert.propTypes = {\n children: PropTypes.node,\n type: /*#__PURE__*/PropTypes.oneOf([\"assertive\", \"polite\"])\n };\n} ////////////////////////////////////////////////////////////////////////////////\n\n\nfunction createMirror(type, doc) {\n var key = ++keys[type];\n\n var mount = function mount(element) {\n if (liveRegions[type]) {\n elements[type][key] = element;\n renderAlerts();\n } else {\n var node = doc.createElement(\"div\");\n node.setAttribute(\"data-reach-live-\" + type, \"true\");\n liveRegions[type] = node;\n doc.body.appendChild(liveRegions[type]);\n mount(element);\n }\n };\n\n var update = function update(element) {\n elements[type][key] = element;\n renderAlerts();\n };\n\n var unmount = function unmount() {\n delete elements[type][key];\n renderAlerts();\n };\n\n return {\n mount: mount,\n update: update,\n unmount: unmount\n };\n}\n\nfunction renderAlerts() {\n if (renderTimer != null) {\n window.clearTimeout(renderTimer);\n }\n\n renderTimer = window.setTimeout(function () {\n Object.keys(elements).forEach(function (elementType) {\n var regionType = elementType;\n var container = liveRegions[regionType];\n\n if (container) {\n render(createElement(VisuallyHidden, {\n as: \"div\"\n }, createElement(\"div\", {\n // The status role is a type of live region and a container whose\n // content is advisory information for the user that is not\n // important enough to justify an alert, and is often presented as\n // a status bar. When the role is added to an element, the browser\n // will send out an accessible status event to assistive\n // technology products which can then notify the user about it.\n // https://developer.mozilla.org/en-US/docs/Web/Accessibility/ARIA/ARIA_Techniques/Using_the_status_role\n role: regionType === \"assertive\" ? \"alert\" : \"status\",\n \"aria-live\": regionType\n }, Object.keys(elements[regionType]).map(function (key) {\n return cloneElement(elements[regionType][key], {\n key: key,\n ref: null\n });\n }))), liveRegions[regionType]);\n }\n });\n }, 500);\n}\n\nfunction useMirrorEffects(regionType, element, ref) {\n var prevType = usePrevious(regionType);\n var mirror = useRef(null);\n var mounted = useRef(false);\n useEffect(function () {\n var ownerDocument = getOwnerDocument(ref.current);\n\n if (!mounted.current) {\n mounted.current = true;\n mirror.current = createMirror(regionType, ownerDocument);\n mirror.current.mount(element);\n } else if (prevType !== regionType) {\n mirror.current && mirror.current.unmount();\n mirror.current = createMirror(regionType, ownerDocument);\n mirror.current.mount(element);\n } else {\n mirror.current && mirror.current.update(element);\n }\n }, [element, regionType, prevType, ref]);\n useEffect(function () {\n return function () {\n mirror.current && mirror.current.unmount();\n };\n }, []);\n}\n\nexport default Alert;\nexport { Alert };\n//# sourceMappingURL=alert.esm.js.map\n","import { Alert } from '@reach/alert';\nimport { rem, size, transparentize } from 'polished';\nimport styled, { css } from 'styled-components';\n\ninterface AlertProps {\n hasIcon?: boolean;\n}\n\nconst alertSpacing = css`\n & + & {\n margin-top: ${rem(30)};\n }\n`;\n\nexport const ReachAlertWrapper = styled(Alert)`\n ${alertSpacing};\n`;\n\nexport const AlertStyled = styled.div`\n display: flex;\n align-items: center;\n margin: 0;\n padding: ${rem(24)} ${rem(18)};\n color: ${({ theme }) => theme.colors.palette.black};\n line-height: 1.3;\n background-color: ${({ theme }) => theme.colors.palette.orange};\n border-radius: ${({ theme }) => theme.borderRadius.medium};\n box-shadow: 0 0 15px rgba(0, 0, 0, 0.2);\n gap: 12px;\n transition:\n box-shadow 150ms ease-in-out,\n background-color 150ms ease-in-out,\n color 150ms ease-in-out;\n\n ${alertSpacing};\n`;\n\ninterface IconWrapperProps {\n center?: boolean;\n large?: boolean;\n}\n\nexport const IconWrapper = styled.div`\n align-self: ${(props) => (props.center ? 'center' : 'flex-start')};\n margin-right: ${(props) => (props.large ? rem(14) : rem(16))};\n\n svg {\n vertical-align: middle;\n fill: ${({ theme }) => theme.colors.palette.black};\n ${({ large }) => size(large ? rem(40) : rem(26))};\n\n ${({ theme }) => theme.mediaQueries.medium} {\n ${({ large }) => size(large ? rem(40) : rem(24))};\n }\n }\n`;\n\nexport const CopyWrapper = styled.div`\n flex-grow: 1;\n`;\n\nexport const Link = styled.a`\n display: block;\n text-decoration: none;\n\n ${alertSpacing};\n\n ${AlertStyled} {\n margin: 0; /* Cancel the margin when inside a link */\n }\n\n &:hover ${AlertStyled} {\n background-color: ${({ theme }) => theme.colors.palette.orangeDark};\n }\n\n &:focus {\n outline: 0;\n\n ${AlertStyled} {\n box-shadow:\n inset 0 0 0 2px ${({ theme }) => theme.colors.palette.redDark},\n 0 0 8px\n ${({ theme }) => transparentize(0.2, theme.colors.palette.redDark)};\n }\n }\n`;\n\nexport const ChevronWrapper = styled.div`\n display: flex;\n align-items: center;\n align-self: stretch;\n margin: ${rem(-12)} ${rem(-10)} ${rem(-12)} 0;\n padding-left: ${rem(5)};\n border-left: 1px solid\n ${({ theme }) => transparentize(0.5, theme.colors.palette.black)};\n\n svg {\n width: ${rem(12)};\n height: ${rem(12)};\n vertical-align: middle;\n }\n`;\n\nexport const Title = styled.strong`\n display: block;\n margin-bottom: ${rem(6)};\n\n ${({ theme }) => theme.mediaQueries.medium} {\n display: inline;\n padding-right: ${rem(6)};\n font-size: inherit;\n }\n`;\n","import BushfireWarningCarousel from 'components/bushfire-warning-carousel';\nimport FireDangerCarousel from 'components/fire-danger-carousel';\nimport { H4 } from 'components/headings';\nimport InfographicDialog from 'components/infographic-dialog';\nimport Layout from 'components/layout';\nimport SEO from 'components/seo';\nimport ToolsCard from 'components/tools-card';\nimport ContentSection from 'components/ui/content-section';\nimport { Text } from 'components/ui/text';\nimport { NextPage } from 'next';\nimport React, { MouseEvent, useState } from 'react';\nimport { useEffectOnce } from 'react-use';\nimport AnalyticsService, { logModalDialogOpened } from 'services/analytics';\nimport { backgroundImages } from 'utils/config';\n\ninterface stayInformedFormat {\n icon:\n | 'emergency'\n | 'facebook'\n | 'phone'\n | 'radio'\n | 'warning-system'\n | 'fire-danger-ratings'\n | 'conversation'\n | 'resource';\n title: string;\n description: string;\n href: string;\n handleClick?: string;\n}\n\nconst PAGE_TITLE = 'Stay Informed';\nconst PAGE_DESCRIPTION =\n 'Use these sources to keep up-to-date with official warnings, alerts and hazard information for your area.';\n\nconst stayInformedInfo: stayInformedFormat[] = [\n {\n icon: 'emergency',\n title: 'Emergency WA',\n description:\n 'Official warnings and information for bushfires and other hazards.',\n href: 'https://www.emergency.wa.gov.au/',\n },\n {\n icon: 'facebook',\n title: 'DFES WA Facebook',\n description:\n 'Stay up-to-date with DFES warnings, safety information and news.',\n href: 'https://www.facebook.com/dfeswa',\n },\n {\n icon: 'phone',\n title: 'DFES Emergency Information Line',\n description:\n 'For recorded emergency information and alerts call 13 DFES (13 3337).',\n href: '#',\n },\n {\n icon: 'radio',\n title: 'ABC Radio',\n description:\n 'Tune in to your local ABC radio station for bushfire warnings and updates.',\n href: 'https://www.abc.net.au/radio/stations/',\n },\n {\n icon: 'conversation',\n title: 'Your community',\n description:\n 'Keep in touch with friends, neighbours and community networks to stay informed.',\n href: 'https://dfes.wa.gov.au/site/bushfire/prepare.html#bushfire-ready',\n },\n {\n icon: 'warning-system',\n title: 'Bushfire Warning System',\n description:\n 'Understand the bushfire warning system and what to do at each warning level.',\n href: '#',\n handleClick: 'warningSystem',\n },\n {\n icon: 'fire-danger-ratings',\n title: 'Fire Danger Ratings',\n description: 'Learn more about Fire Danger Ratings and what to do.',\n href: '#',\n handleClick: 'fireDanger',\n },\n {\n icon: 'resource',\n title: 'Bushfire preparation checklists and resources',\n description:\n 'View and download useful factsheets to help you prepare ahead of bushfire season.',\n href: '/emergency-resources',\n },\n];\n\nconst StayInformed: NextPage = () => {\n useEffectOnce(() => {\n AnalyticsService.trackScreen('stay_informed');\n });\n\n const [showBushfireWarningDialog, setShowBushfireWarningDialog] =\n useState(false);\n const [showFireDangerDialog, setShowFireDangerDialog] = useState(false);\n\n const openBushfireWarningDialog = (event: MouseEvent) => {\n event.preventDefault();\n setShowBushfireWarningDialog(true);\n logModalDialogOpened(undefined, 'bushfire_warning_levels');\n };\n\n const openFireDangerDialog = (event: MouseEvent) => {\n event.preventDefault();\n setShowFireDangerDialog(true);\n logModalDialogOpened(undefined, 'fire_danger_ratings');\n };\n\n const closeBushfireWarningDialog = () => setShowBushfireWarningDialog(false);\n const closeFireDangerDialog = () => setShowFireDangerDialog(false);\n\n return (\n \n \n \n

\n Stay Informed\n

\n \n Use these sources to keep up-to-date with official warnings, alerts\n and hazard information for your area.\n \n \n It’s important to stay alert and monitor your surroundings for\n changing conditions or signs of a bushfire. If you think you’re in\n danger don’t wait for a warning to be issued - put your bushfire plan\n into action for your own safety.\n \n {stayInformedInfo.map((info, index) => {\n return (\n <>\n {info.handleClick === 'warningSystem' && (\n \n )}\n {info.handleClick === 'fireDanger' && (\n \n )}\n {!info.handleClick && (\n \n )}\n \n );\n })}\n
\n \n \n \n \n \n \n
\n );\n};\n\nexport default StayInformed;\n"],"sourceRoot":""}