{"version":3,"sources":["webpack:///./src/templates/ViewPdfRightGrid/index.jsx","webpack:///./src/assets/Images/WhatWeDo/clutch-co-vector-logo.svg","webpack:///./src/components/MiniCard/index.jsx","webpack:///./node_modules/isarray/index.js","webpack:///./node_modules/react-router/node_modules/path-to-regexp/index.js","webpack:///./node_modules/tiny-invariant/dist/tiny-invariant.esm.js","webpack:///./src/templates/LeftGrid/LeftGrid.scss","webpack:///./src/templates/ContactUsRightGrid/ContactUsRightGrid.scss","webpack:///./src/components/leftGridCard/leftGridCard.scss","webpack:///./node_modules/resolve-pathname/esm/resolve-pathname.js","webpack:///./node_modules/value-equal/esm/value-equal.js","webpack:///./node_modules/history/esm/history.js","webpack:///./src/components/WhitePaperFooter/index.jsx","webpack:///./src/components/MiniCardWithBgImg/index.jsx","webpack:///./node_modules/react-router/esm/react-router.js","webpack:///./src/templates/MiniView/index.jsx","webpack:///./src/templates/MiniView/MiniView.scss","webpack:///./src/components/MiniCardWithBgImg/MiniCardWithBgImg.scss","webpack:///./src/templates/ContactUsRightGrid/index.jsx","webpack:///./src/components/leftGridCard/index.jsx","webpack:///./src/templates/LeftGrid/index.jsx","webpack:///./src/assets/Images/caseStudy/takealook.png","webpack:///./src/assets/Images/WhatWeDo/quote.svg"],"names":["ViewpdfRightGrid","props","useState","hoverState1","sethoverState1","role","onMouseEnter","onMouseLeave","target","to","VideobannerData","route","className","src","BannerImage","alt","ImageBannerTitle","style","width","height","HoverImage","module","exports","Minicard","CardSection","isLandingPage","MiniviewImage","imgAlt","dangerouslySetInnerHTML","__html","MiniviewHeading","MiniviewContent","WhitePaperFooterLabel","MiniviewImageAlt","textDecoration","color","Type","Slug","gatedContent","GatedContent","navigateComponent","WhitePaperLabel","slug","type","SlugType","Array","isArray","arr","Object","prototype","toString","call","isarray","pathToRegexp","parse","compile","str","options","tokensToFunction","tokensToRegExp","PATH_REGEXP","RegExp","join","res","tokens","key","index","path","defaultDelimiter","delimiter","exec","m","escaped","offset","slice","length","next","prefix","name","capture","group","modifier","asterisk","push","partial","repeat","optional","pattern","escapeGroup","escapeString","substr","encodeURIComponentPretty","encodeURI","replace","c","charCodeAt","toUpperCase","matches","i","flags","obj","opts","data","encode","pretty","encodeURIComponent","token","segment","value","TypeError","JSON","stringify","j","test","attachKeys","re","keys","sensitive","strict","end","endsWithDelimiter","groups","source","match","regexpToRegexp","parts","arrayToRegexp","stringToRegexp","invariant","condition","message","Error","isAbsolute","pathname","charAt","spliceOne","list","k","n","pop","from","undefined","hasTrailingSlash","toParts","split","fromParts","isToAbs","isFromAbs","mustEndAbs","concat","last","up","part","unshift","result","valueOf","valueEqual","a","b","every","item","aValue","bValue","assign","createPath","location","search","hash","createLocation","state","currentLocation","hashIndex","indexOf","searchIndex","parsePath","decodeURI","e","URIError","locationsAreEqual","createTransitionManager","prompt","listeners","setPrompt","nextPrompt","confirmTransitionTo","action","getUserConfirmation","callback","appendListener","fn","isActive","listener","apply","arguments","filter","notifyListeners","_len","args","_key","forEach","window","document","createElement","clamp","lowerBound","upperBound","Math","min","max","createMemoryHistory","_props","_props$initialEntries","initialEntries","_props$initialIndex","initialIndex","_props$keyLength","keyLength","transitionManager","setState","nextState","history","entries","createKey","random","map","entry","createHref","go","nextIndex","ok","nextEntries","splice","goBack","goForward","canGo","block","listen","WhitePaperFooter","ref","setshareComponent","wrapperRef","useRef","useEffect","handleClickOutside","event","current","contains","addEventListener","removeEventListener","md","download","title","placement","MiniCardWithBgImg","getElementById","MiniCardBgImgId","backgroundImage","MiniCardBgImg","textColor","service","cardCustomClass","cardHgt","id","subtitle","button","icon","variant","RightArrow","customClassName","tip","label","routepath","tooltip","whiteAccordian","commonjsGlobal","globalThis","global","createEventEmitter","handlers","on","handler","off","h","get","set","newValue","changedBits","createContext","defaultValue","calculateChangedBits","_Provider$childContex","_Consumer$contextType","contextProp","getUniqueId","Provider","_React$Component","_this","this","emitter","_proto","getChildContext","_ref","componentWillReceiveProps","nextProps","oldValue","x","y","render","children","Component","childContextTypes","object","isRequired","Consumer","_React$Component2","_this2","_len2","_key2","observedBits","getValue","onUpdate","_proto2","componentDidMount","context","componentWillUnmount","contextTypes","createNamedContext","displayName","historyContext","Router","_isMounted","_pendingLocation","staticContext","unlisten","computeRootMatch","url","params","isExact","cache$1","cacheCount$1","matchPath","_options","_options$exact","exact","_options$strict","_options$sensitive","reduce","matched","_compilePath","cacheKey","pathCache","regexp","compilePath$1","values","memo","addLeadingSlash","stripBasename","basename","base","createURL","staticHandler","methodName","noop","useContext","useHistory","Miniview","container","direction","spacing","miniviewData","xs","sm","meta_title","meta_description","primary_description_1","og_image","ogImageAlt","slug_type","gated_content","quotedMiniCardData","Fragment","position","quote","heading","content","footerContent","miniviewData2","image","subTitle","customClass","component","ContactUsRightGrid","formData","firstName","lastName","organization","jobTitle","email","phone","articleId","classes","makeStyles","theme","root","display","flexWrap","margin","error","fontSize","paddingTop","useStyles","showError","setShowError","contactusForm","setcontactusForm","setchecked","approval","setapproval","snackbarStatus","setSnackbarStatus","snackbarMessage","setSnackbarMessage","approvalOpt","queryString","localStorage","setItem","pdfFile","href","DataService","getData","then","city","handleChange","validatedValue","dynamicPageCategory","validateSubmit","preventDefault","privacy_policy","opt_in","articleid","postData","response","navigate","bannerTitle","catch","handleSubmit","isOpen","close","placeholder","onChange","htmlFor","data-content","multiline","rows","InputLabelProps","InputProps","disableUnderline","fullWidth","backgroundColor","border","borderRadius","checked","inputProps","marginTop","onClick","size","disabled","LeftGridCard","HoverCardWithBtnCustomClass","HoverCardWithBtntitle","HoverCardWithBtnContent","keyPointsBig1","keyPoints1","keyPointsBig2","keyPoints2","keyPointsBig3","keyPoints3","Infoview","SixHoverCardData","HoverCardWithBtntitle1","HoverCardWithBtnContent1","HoverCardWithBtnIconAlt","HoverCardWithBtnIconAlt1","HoverCardIconClass"],"mappings":"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","file":"6a4b2aebce2731338ac6d472ffce45354ff90a2f-0fd1c47a147d5f33a747.js","sourcesContent":["import { Link } from \"gatsby\";\nimport React, { useState } from \"react\";\nimport \"./ViewpdfRightGrid.scss\";\nconst ViewpdfRightGrid = (props) => {\n const [hoverState1, sethoverState1] = useState(false);\n return (\n sethoverState1(true)}\n onMouseLeave={() => sethoverState1(false)}\n >\n \n {hoverState1 === false ? (\n \n ) : (\n \n )}\n \n \n );\n};\nexport default ViewpdfRightGrid;","module.exports = \"data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4NCjwhLS0gR2VuZXJhdG9yOiBBZG9iZSBJbGx1c3RyYXRvciAxOS4yLjEsIFNWRyBFeHBvcnQgUGx1Zy1JbiAuIFNWRyBWZXJzaW9uOiA2LjAwIEJ1aWxkIDApICAtLT4NCjxzdmcgdmVyc2lvbj0iMS4xIiBpZD0ibGF5ZXIiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiIHg9IjBweCIgeT0iMHB4Ig0KCSB2aWV3Qm94PSIwIDAgNjUyIDY1MiIgc3R5bGU9ImVuYWJsZS1iYWNrZ3JvdW5kOm5ldyAwIDAgNjUyIDY1MjsiIHhtbDpzcGFjZT0icHJlc2VydmUiPg0KPHN0eWxlIHR5cGU9InRleHQvY3NzIj4NCgkuc3Qwe2ZpbGw6IzE3MzEzQjt9DQoJLnN0MXtmaWxsOiNFRjQzMzU7fQ0KPC9zdHlsZT4NCjxnPg0KCTxwYXRoIGNsYXNzPSJzdDAiIGQ9Ik0xNzcsMjM1LjloMjcuNnYxNzAuNEgxNzdWMjM1Ljl6Ii8+DQoJPHBhdGggY2xhc3M9InN0MCIgZD0iTTMwMC42LDM1Mi4zYzAsMjYuNC0yMS42LDI4LjgtMjguOCwyOC44Yy0xNi44LDAtMTkuMi0xNS42LTE5LjItMjR2LTY2SDIyNXY2NC44YzAsMTUuNiw0LjgsMzAsMTQuNCwzOC40DQoJCWM4LjQsOC40LDE5LjIsMTIsMzIuNCwxMmM5LjYsMCwyMS42LTIuNCwyOC44LTkuNnY5LjZoMjcuNlYyOTEuMWgtMjcuNkMzMDAuNiwyOTEuMSwzMDAuNiwzNTIuMywzMDAuNiwzNTIuM3oiLz4NCgk8cGF0aCBjbGFzcz0ic3QwIiBkPSJNMzgyLjIsMjQ5LjFoLTI3LjZ2NDJoLTIwLjR2MjYuNGgyMC40djg4LjhoMjcuNnYtODguOGgyMC40di0yNi40aC0yMC40VjI0OS4xeiIvPg0KCTxwYXRoIGNsYXNzPSJzdDAiIGQ9Ik00ODksMzcxLjVjLTYsNC44LTE0LjQsOC40LTIyLjgsOC40Yy0xOS4yLDAtMzIuNC0xNC40LTMyLjQtMzMuNnMxMy4yLTMyLjQsMzIuNC0zMi40DQoJCWM4LjQsMCwxNi44LDIuNCwyMi44LDguNGwzLjYsMy42bDE5LjItMThsLTQuOC0zLjZjLTEwLjgtOS42LTI1LjItMTUuNi00MC44LTE1LjZjLTMzLjYsMC01OC44LDI1LjItNTguOCw1OC44DQoJCXMyNS4yLDU4LjgsNTguOCw1OC44YzE1LjYsMCwzMC02LDQwLjgtMTUuNmw0LjgtMy42bC0xOS4yLTE5LjJMNDg5LDM3MS41eiIvPg0KCTxwYXRoIGNsYXNzPSJzdDAiIGQ9Ik02MDksMzAwLjdjLTguNC04LjQtMTYuOC0xMi0zMC0xMmMtOS42LDAtMTkuMiwyLjQtMjYuNCw5LjZ2LTYyLjRINTI1djE3MC40aDI3LjZ2LTYzLjYNCgkJYzAtMjYuNCwxOC0yOC44LDI1LjItMjguOGMxNi44LDAsMTUuNiwxNS42LDE1LjYsMjR2NjcuMkg2MjF2LTY2QzYyMSwzMjMuNSw2MTcuNCwzMDkuMSw2MDksMzAwLjd6Ii8+DQoJPGNpcmNsZSBjbGFzcz0ic3QxIiBjeD0iNDY1IiBjeT0iMzQ3LjUiIHI9IjE5LjIiLz4NCgk8cGF0aCBjbGFzcz0ic3QwIiBkPSJNMTM4LjYsMzY0LjNjLTkuNiw5LjYtMjQsMTUuNi0zOS42LDE1LjZjLTMwLDAtNTEuNi0yNC01MS42LTU2LjRzMjEuNi01Ni40LDUyLjgtNTYuNA0KCQljMTQuNCwwLDI4LjgsNiwzOS42LDE2LjhsMy42LDMuNmwxOC0xOGwtMy42LTMuNmMtMTUuNi0xNS42LTM2LTI0LTU3LjYtMjRDNTQuNiwyNDAuNywyMSwyNzYuNywyMSwzMjMuNXMzMy42LDgyLjgsNzgsODIuOA0KCQljMjEuNiwwLDQzLjItOC40LDU3LjYtMjRsMy42LTMuNmwtMTgtMThMMTM4LjYsMzY0LjN6Ii8+DQo8L2c+DQo8L3N2Zz4NCg==\"","import Card from \"@material-ui/core/Card\";\nimport { Link } from \"gatsby\";\nimport React from \"react\";\nimport WhitePaperFooter from \"../WhitePaperFooter\";\nimport \"./MiniCard.scss\";\n\nconst Minicard = (props) => {\n const CardSection = ({ isLandingPage }) => {\n return (\n <>\n
\n \n
\n
\n \n \n
\n
\n
\n \n );\n };\n return (\n \n {props.WhitePaperFooterLabel === \"Client Brief\" ? (\n
\n \n
\n
\n \n \n
\n
\n
\n ) : (\n <>\n {props.isLandingPage ? (\n
\n \n
\n ) : (\n \n \n \n )}\n \n )}\n \n
\n );\n};\n\nexport default Minicard;\n","module.exports = Array.isArray || function (arr) {\n return Object.prototype.toString.call(arr) == '[object Array]';\n};","var isarray = require('isarray');\n\n/**\n * Expose `pathToRegexp`.\n */\nmodule.exports = pathToRegexp;\nmodule.exports.parse = parse;\nmodule.exports.compile = compile;\nmodule.exports.tokensToFunction = tokensToFunction;\nmodule.exports.tokensToRegExp = tokensToRegExp;\n\n/**\n * The main path matching regexp utility.\n *\n * @type {RegExp}\n */\nvar PATH_REGEXP = new RegExp([\n// Match escaped characters that would otherwise appear in future matches.\n// This allows the user to escape special characters that won't transform.\n'(\\\\\\\\.)',\n// Match Express-style parameters and un-named parameters with a prefix\n// and optional suffixes. Matches appear as:\n//\n// \"/:test(\\\\d+)?\" => [\"/\", \"test\", \"\\d+\", undefined, \"?\", undefined]\n// \"/route(\\\\d+)\" => [undefined, undefined, undefined, \"\\d+\", undefined, undefined]\n// \"/*\" => [\"/\", undefined, undefined, undefined, undefined, \"*\"]\n'([\\\\/.])?(?:(?:\\\\:(\\\\w+)(?:\\\\(((?:\\\\\\\\.|[^\\\\\\\\()])+)\\\\))?|\\\\(((?:\\\\\\\\.|[^\\\\\\\\()])+)\\\\))([+*?])?|(\\\\*))'].join('|'), 'g');\n\n/**\n * Parse a string for the raw tokens.\n *\n * @param {string} str\n * @param {Object=} options\n * @return {!Array}\n */\nfunction parse(str, options) {\n var tokens = [];\n var key = 0;\n var index = 0;\n var path = '';\n var defaultDelimiter = options && options.delimiter || '/';\n var res;\n while ((res = PATH_REGEXP.exec(str)) != null) {\n var m = res[0];\n var escaped = res[1];\n var offset = res.index;\n path += str.slice(index, offset);\n index = offset + m.length;\n\n // Ignore already escaped sequences.\n if (escaped) {\n path += escaped[1];\n continue;\n }\n var next = str[index];\n var prefix = res[2];\n var name = res[3];\n var capture = res[4];\n var group = res[5];\n var modifier = res[6];\n var asterisk = res[7];\n\n // Push the current path onto the tokens.\n if (path) {\n tokens.push(path);\n path = '';\n }\n var partial = prefix != null && next != null && next !== prefix;\n var repeat = modifier === '+' || modifier === '*';\n var optional = modifier === '?' || modifier === '*';\n var delimiter = res[2] || defaultDelimiter;\n var pattern = capture || group;\n tokens.push({\n name: name || key++,\n prefix: prefix || '',\n delimiter: delimiter,\n optional: optional,\n repeat: repeat,\n partial: partial,\n asterisk: !!asterisk,\n pattern: pattern ? escapeGroup(pattern) : asterisk ? '.*' : '[^' + escapeString(delimiter) + ']+?'\n });\n }\n\n // Match any characters still remaining.\n if (index < str.length) {\n path += str.substr(index);\n }\n\n // If the path exists, push it onto the end.\n if (path) {\n tokens.push(path);\n }\n return tokens;\n}\n\n/**\n * Compile a string to a template function for the path.\n *\n * @param {string} str\n * @param {Object=} options\n * @return {!function(Object=, Object=)}\n */\nfunction compile(str, options) {\n return tokensToFunction(parse(str, options), options);\n}\n\n/**\n * Prettier encoding of URI path segments.\n *\n * @param {string}\n * @return {string}\n */\nfunction encodeURIComponentPretty(str) {\n return encodeURI(str).replace(/[\\/?#]/g, function (c) {\n return '%' + c.charCodeAt(0).toString(16).toUpperCase();\n });\n}\n\n/**\n * Encode the asterisk parameter. Similar to `pretty`, but allows slashes.\n *\n * @param {string}\n * @return {string}\n */\nfunction encodeAsterisk(str) {\n return encodeURI(str).replace(/[?#]/g, function (c) {\n return '%' + c.charCodeAt(0).toString(16).toUpperCase();\n });\n}\n\n/**\n * Expose a method for transforming tokens into the path function.\n */\nfunction tokensToFunction(tokens, options) {\n // Compile all the tokens into regexps.\n var matches = new Array(tokens.length);\n\n // Compile all the patterns before compilation.\n for (var i = 0; i < tokens.length; i++) {\n if (typeof tokens[i] === 'object') {\n matches[i] = new RegExp('^(?:' + tokens[i].pattern + ')$', flags(options));\n }\n }\n return function (obj, opts) {\n var path = '';\n var data = obj || {};\n var options = opts || {};\n var encode = options.pretty ? encodeURIComponentPretty : encodeURIComponent;\n for (var i = 0; i < tokens.length; i++) {\n var token = tokens[i];\n if (typeof token === 'string') {\n path += token;\n continue;\n }\n var value = data[token.name];\n var segment;\n if (value == null) {\n if (token.optional) {\n // Prepend partial segment prefixes.\n if (token.partial) {\n path += token.prefix;\n }\n continue;\n } else {\n throw new TypeError('Expected \"' + token.name + '\" to be defined');\n }\n }\n if (isarray(value)) {\n if (!token.repeat) {\n throw new TypeError('Expected \"' + token.name + '\" to not repeat, but received `' + JSON.stringify(value) + '`');\n }\n if (value.length === 0) {\n if (token.optional) {\n continue;\n } else {\n throw new TypeError('Expected \"' + token.name + '\" to not be empty');\n }\n }\n for (var j = 0; j < value.length; j++) {\n segment = encode(value[j]);\n if (!matches[i].test(segment)) {\n throw new TypeError('Expected all \"' + token.name + '\" to match \"' + token.pattern + '\", but received `' + JSON.stringify(segment) + '`');\n }\n path += (j === 0 ? token.prefix : token.delimiter) + segment;\n }\n continue;\n }\n segment = token.asterisk ? encodeAsterisk(value) : encode(value);\n if (!matches[i].test(segment)) {\n throw new TypeError('Expected \"' + token.name + '\" to match \"' + token.pattern + '\", but received \"' + segment + '\"');\n }\n path += token.prefix + segment;\n }\n return path;\n };\n}\n\n/**\n * Escape a regular expression string.\n *\n * @param {string} str\n * @return {string}\n */\nfunction escapeString(str) {\n return str.replace(/([.+*?=^!:${}()[\\]|\\/\\\\])/g, '\\\\$1');\n}\n\n/**\n * Escape the capturing group by escaping special characters and meaning.\n *\n * @param {string} group\n * @return {string}\n */\nfunction escapeGroup(group) {\n return group.replace(/([=!:$\\/()])/g, '\\\\$1');\n}\n\n/**\n * Attach the keys as a property of the regexp.\n *\n * @param {!RegExp} re\n * @param {Array} keys\n * @return {!RegExp}\n */\nfunction attachKeys(re, keys) {\n re.keys = keys;\n return re;\n}\n\n/**\n * Get the flags for a regexp from the options.\n *\n * @param {Object} options\n * @return {string}\n */\nfunction flags(options) {\n return options && options.sensitive ? '' : 'i';\n}\n\n/**\n * Pull out keys from a regexp.\n *\n * @param {!RegExp} path\n * @param {!Array} keys\n * @return {!RegExp}\n */\nfunction regexpToRegexp(path, keys) {\n // Use a negative lookahead to match only capturing groups.\n var groups = path.source.match(/\\((?!\\?)/g);\n if (groups) {\n for (var i = 0; i < groups.length; i++) {\n keys.push({\n name: i,\n prefix: null,\n delimiter: null,\n optional: false,\n repeat: false,\n partial: false,\n asterisk: false,\n pattern: null\n });\n }\n }\n return attachKeys(path, keys);\n}\n\n/**\n * Transform an array into a regexp.\n *\n * @param {!Array} path\n * @param {Array} keys\n * @param {!Object} options\n * @return {!RegExp}\n */\nfunction arrayToRegexp(path, keys, options) {\n var parts = [];\n for (var i = 0; i < path.length; i++) {\n parts.push(pathToRegexp(path[i], keys, options).source);\n }\n var regexp = new RegExp('(?:' + parts.join('|') + ')', flags(options));\n return attachKeys(regexp, keys);\n}\n\n/**\n * Create a path regexp from string input.\n *\n * @param {string} path\n * @param {!Array} keys\n * @param {!Object} options\n * @return {!RegExp}\n */\nfunction stringToRegexp(path, keys, options) {\n return tokensToRegExp(parse(path, options), keys, options);\n}\n\n/**\n * Expose a function for taking tokens and returning a RegExp.\n *\n * @param {!Array} tokens\n * @param {(Array|Object)=} keys\n * @param {Object=} options\n * @return {!RegExp}\n */\nfunction tokensToRegExp(tokens, keys, options) {\n if (!isarray(keys)) {\n options = /** @type {!Object} */keys || options;\n keys = [];\n }\n options = options || {};\n var strict = options.strict;\n var end = options.end !== false;\n var route = '';\n\n // Iterate over the tokens and create our regexp string.\n for (var i = 0; i < tokens.length; i++) {\n var token = tokens[i];\n if (typeof token === 'string') {\n route += escapeString(token);\n } else {\n var prefix = escapeString(token.prefix);\n var capture = '(?:' + token.pattern + ')';\n keys.push(token);\n if (token.repeat) {\n capture += '(?:' + prefix + capture + ')*';\n }\n if (token.optional) {\n if (!token.partial) {\n capture = '(?:' + prefix + '(' + capture + '))?';\n } else {\n capture = prefix + '(' + capture + ')?';\n }\n } else {\n capture = prefix + '(' + capture + ')';\n }\n route += capture;\n }\n }\n var delimiter = escapeString(options.delimiter || '/');\n var endsWithDelimiter = route.slice(-delimiter.length) === delimiter;\n\n // In non-strict mode we allow a slash at the end of match. If the path to\n // match already ends with a slash, we remove it for consistency. The slash\n // is valid at the end of a path match, not in the middle. This is important\n // in non-ending mode, where \"/test/\" shouldn't match \"/test//route\".\n if (!strict) {\n route = (endsWithDelimiter ? route.slice(0, -delimiter.length) : route) + '(?:' + delimiter + '(?=$))?';\n }\n if (end) {\n route += '$';\n } else {\n // In non-ending mode, we need the capturing groups to match as much as\n // possible by using a positive lookahead to the end or next path segment.\n route += strict && endsWithDelimiter ? '' : '(?=' + delimiter + '|$)';\n }\n return attachKeys(new RegExp('^' + route, flags(options)), keys);\n}\n\n/**\n * Normalize the given path string, returning a regular expression.\n *\n * An empty array can be passed in for the keys, which will hold the\n * placeholder key descriptions. For example, using `/user/:id`, `keys` will\n * contain `[{ name: 'id', delimiter: '/', optional: false, repeat: false }]`.\n *\n * @param {(string|RegExp|Array)} path\n * @param {(Array|Object)=} keys\n * @param {Object=} options\n * @return {!RegExp}\n */\nfunction pathToRegexp(path, keys, options) {\n if (!isarray(keys)) {\n options = /** @type {!Object} */keys || options;\n keys = [];\n }\n options = options || {};\n if (path instanceof RegExp) {\n return regexpToRegexp(path, /** @type {!Array} */keys);\n }\n if (isarray(path)) {\n return arrayToRegexp( /** @type {!Array} */path, /** @type {!Array} */keys, options);\n }\n return stringToRegexp( /** @type {string} */path, /** @type {!Array} */keys, options);\n}","var isProduction = process.env.NODE_ENV === 'production';\nvar prefix = 'Invariant failed';\nfunction invariant(condition, message) {\n if (condition) {\n return;\n }\n if (isProduction) {\n throw new Error(prefix);\n }\n var provided = typeof message === 'function' ? message() : message;\n var value = provided ? \"\".concat(prefix, \": \").concat(provided) : prefix;\n throw new Error(value);\n}\nexport { invariant as default };","// extracted by mini-css-extract-plugin\nmodule.exports = {\"primary\":\"#db4435\",\"secondary\":\"#daaaaa\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"primary\":\"#db4435\",\"secondary\":\"#daaaaa\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"primary\":\"#db4435\",\"secondary\":\"#daaaaa\"};","function isAbsolute(pathname) {\n return pathname.charAt(0) === '/';\n}\n\n// About 1.5x faster than the two-arg version of Array#splice()\nfunction spliceOne(list, index) {\n for (var i = index, k = i + 1, n = list.length; k < n; i += 1, k += 1) {\n list[i] = list[k];\n }\n list.pop();\n}\n\n// This implementation is based heavily on node's url.parse\nfunction resolvePathname(to, from) {\n if (from === undefined) from = '';\n var toParts = to && to.split('/') || [];\n var fromParts = from && from.split('/') || [];\n var isToAbs = to && isAbsolute(to);\n var isFromAbs = from && isAbsolute(from);\n var mustEndAbs = isToAbs || isFromAbs;\n if (to && isAbsolute(to)) {\n // to is absolute\n fromParts = toParts;\n } else if (toParts.length) {\n // to is relative, drop the filename\n fromParts.pop();\n fromParts = fromParts.concat(toParts);\n }\n if (!fromParts.length) return '/';\n var hasTrailingSlash;\n if (fromParts.length) {\n var last = fromParts[fromParts.length - 1];\n hasTrailingSlash = last === '.' || last === '..' || last === '';\n } else {\n hasTrailingSlash = false;\n }\n var up = 0;\n for (var i = fromParts.length; i >= 0; i--) {\n var part = fromParts[i];\n if (part === '.') {\n spliceOne(fromParts, i);\n } else if (part === '..') {\n spliceOne(fromParts, i);\n up++;\n } else if (up) {\n spliceOne(fromParts, i);\n up--;\n }\n }\n if (!mustEndAbs) for (; up--; up) {\n fromParts.unshift('..');\n }\n if (mustEndAbs && fromParts[0] !== '' && (!fromParts[0] || !isAbsolute(fromParts[0]))) fromParts.unshift('');\n var result = fromParts.join('/');\n if (hasTrailingSlash && result.substr(-1) !== '/') result += '/';\n return result;\n}\nexport default resolvePathname;","function valueOf(obj) {\n return obj.valueOf ? obj.valueOf() : Object.prototype.valueOf.call(obj);\n}\nfunction valueEqual(a, b) {\n // Test for strict equality first.\n if (a === b) return true;\n\n // Otherwise, if either of them == null they are not equal.\n if (a == null || b == null) return false;\n if (Array.isArray(a)) {\n return Array.isArray(b) && a.length === b.length && a.every(function (item, index) {\n return valueEqual(item, b[index]);\n });\n }\n if (typeof a === 'object' || typeof b === 'object') {\n var aValue = valueOf(a);\n var bValue = valueOf(b);\n if (aValue !== a || bValue !== b) return valueEqual(aValue, bValue);\n return Object.keys(Object.assign({}, a, b)).every(function (key) {\n return valueEqual(a[key], b[key]);\n });\n }\n return false;\n}\nexport default valueEqual;","import _extends from '@babel/runtime/helpers/esm/extends';\nimport resolvePathname from 'resolve-pathname';\nimport valueEqual from 'value-equal';\nimport warning from 'tiny-warning';\nimport invariant from 'tiny-invariant';\nfunction addLeadingSlash(path) {\n return path.charAt(0) === '/' ? path : '/' + path;\n}\nfunction stripLeadingSlash(path) {\n return path.charAt(0) === '/' ? path.substr(1) : path;\n}\nfunction hasBasename(path, prefix) {\n return path.toLowerCase().indexOf(prefix.toLowerCase()) === 0 && '/?#'.indexOf(path.charAt(prefix.length)) !== -1;\n}\nfunction stripBasename(path, prefix) {\n return hasBasename(path, prefix) ? path.substr(prefix.length) : path;\n}\nfunction stripTrailingSlash(path) {\n return path.charAt(path.length - 1) === '/' ? path.slice(0, -1) : path;\n}\nfunction parsePath(path) {\n var pathname = path || '/';\n var search = '';\n var hash = '';\n var hashIndex = pathname.indexOf('#');\n if (hashIndex !== -1) {\n hash = pathname.substr(hashIndex);\n pathname = pathname.substr(0, hashIndex);\n }\n var searchIndex = pathname.indexOf('?');\n if (searchIndex !== -1) {\n search = pathname.substr(searchIndex);\n pathname = pathname.substr(0, searchIndex);\n }\n return {\n pathname: pathname,\n search: search === '?' ? '' : search,\n hash: hash === '#' ? '' : hash\n };\n}\nfunction createPath(location) {\n var pathname = location.pathname,\n search = location.search,\n hash = location.hash;\n var path = pathname || '/';\n if (search && search !== '?') path += search.charAt(0) === '?' ? search : \"?\" + search;\n if (hash && hash !== '#') path += hash.charAt(0) === '#' ? hash : \"#\" + hash;\n return path;\n}\nfunction createLocation(path, state, key, currentLocation) {\n var location;\n if (typeof path === 'string') {\n // Two-arg form: push(path, state)\n location = parsePath(path);\n location.state = state;\n } else {\n // One-arg form: push(location)\n location = _extends({}, path);\n if (location.pathname === undefined) location.pathname = '';\n if (location.search) {\n if (location.search.charAt(0) !== '?') location.search = '?' + location.search;\n } else {\n location.search = '';\n }\n if (location.hash) {\n if (location.hash.charAt(0) !== '#') location.hash = '#' + location.hash;\n } else {\n location.hash = '';\n }\n if (state !== undefined && location.state === undefined) location.state = state;\n }\n try {\n location.pathname = decodeURI(location.pathname);\n } catch (e) {\n if (e instanceof URIError) {\n throw new URIError('Pathname \"' + location.pathname + '\" could not be decoded. ' + 'This is likely caused by an invalid percent-encoding.');\n } else {\n throw e;\n }\n }\n if (key) location.key = key;\n if (currentLocation) {\n // Resolve incomplete/relative pathname relative to current location.\n if (!location.pathname) {\n location.pathname = currentLocation.pathname;\n } else if (location.pathname.charAt(0) !== '/') {\n location.pathname = resolvePathname(location.pathname, currentLocation.pathname);\n }\n } else {\n // When there is no prior location and pathname is empty, set it to /\n if (!location.pathname) {\n location.pathname = '/';\n }\n }\n return location;\n}\nfunction locationsAreEqual(a, b) {\n return a.pathname === b.pathname && a.search === b.search && a.hash === b.hash && a.key === b.key && valueEqual(a.state, b.state);\n}\nfunction createTransitionManager() {\n var prompt = null;\n function setPrompt(nextPrompt) {\n process.env.NODE_ENV !== \"production\" ? warning(prompt == null, 'A history supports only one prompt at a time') : void 0;\n prompt = nextPrompt;\n return function () {\n if (prompt === nextPrompt) prompt = null;\n };\n }\n function confirmTransitionTo(location, action, getUserConfirmation, callback) {\n // TODO: If another transition starts while we're still confirming\n // the previous one, we may end up in a weird state. Figure out the\n // best way to handle this.\n if (prompt != null) {\n var result = typeof prompt === 'function' ? prompt(location, action) : prompt;\n if (typeof result === 'string') {\n if (typeof getUserConfirmation === 'function') {\n getUserConfirmation(result, callback);\n } else {\n process.env.NODE_ENV !== \"production\" ? warning(false, 'A history needs a getUserConfirmation function in order to use a prompt message') : void 0;\n callback(true);\n }\n } else {\n // Return false from a transition hook to cancel the transition.\n callback(result !== false);\n }\n } else {\n callback(true);\n }\n }\n var listeners = [];\n function appendListener(fn) {\n var isActive = true;\n function listener() {\n if (isActive) fn.apply(void 0, arguments);\n }\n listeners.push(listener);\n return function () {\n isActive = false;\n listeners = listeners.filter(function (item) {\n return item !== listener;\n });\n };\n }\n function notifyListeners() {\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n listeners.forEach(function (listener) {\n return listener.apply(void 0, args);\n });\n }\n return {\n setPrompt: setPrompt,\n confirmTransitionTo: confirmTransitionTo,\n appendListener: appendListener,\n notifyListeners: notifyListeners\n };\n}\nvar canUseDOM = !!(typeof window !== 'undefined' && window.document && window.document.createElement);\nfunction getConfirmation(message, callback) {\n callback(window.confirm(message)); // eslint-disable-line no-alert\n}\n/**\n * Returns true if the HTML5 history API is supported. Taken from Modernizr.\n *\n * https://github.com/Modernizr/Modernizr/blob/master/LICENSE\n * https://github.com/Modernizr/Modernizr/blob/master/feature-detects/history.js\n * changed to avoid false negatives for Windows Phones: https://github.com/reactjs/react-router/issues/586\n */\n\nfunction supportsHistory() {\n var ua = window.navigator.userAgent;\n if ((ua.indexOf('Android 2.') !== -1 || ua.indexOf('Android 4.0') !== -1) && ua.indexOf('Mobile Safari') !== -1 && ua.indexOf('Chrome') === -1 && ua.indexOf('Windows Phone') === -1) return false;\n return window.history && 'pushState' in window.history;\n}\n/**\n * Returns true if browser fires popstate on hash change.\n * IE10 and IE11 do not.\n */\n\nfunction supportsPopStateOnHashChange() {\n return window.navigator.userAgent.indexOf('Trident') === -1;\n}\n/**\n * Returns false if using go(n) with hash history causes a full page reload.\n */\n\nfunction supportsGoWithoutReloadUsingHash() {\n return window.navigator.userAgent.indexOf('Firefox') === -1;\n}\n/**\n * Returns true if a given popstate event is an extraneous WebKit event.\n * Accounts for the fact that Chrome on iOS fires real popstate events\n * containing undefined state when pressing the back button.\n */\n\nfunction isExtraneousPopstateEvent(event) {\n return event.state === undefined && navigator.userAgent.indexOf('CriOS') === -1;\n}\nvar PopStateEvent = 'popstate';\nvar HashChangeEvent = 'hashchange';\nfunction getHistoryState() {\n try {\n return window.history.state || {};\n } catch (e) {\n // IE 11 sometimes throws when accessing window.history.state\n // See https://github.com/ReactTraining/history/pull/289\n return {};\n }\n}\n/**\n * Creates a history object that uses the HTML5 history API including\n * pushState, replaceState, and the popstate event.\n */\n\nfunction createBrowserHistory(props) {\n if (props === void 0) {\n props = {};\n }\n !canUseDOM ? process.env.NODE_ENV !== \"production\" ? invariant(false, 'Browser history needs a DOM') : invariant(false) : void 0;\n var globalHistory = window.history;\n var canUseHistory = supportsHistory();\n var needsHashChangeListener = !supportsPopStateOnHashChange();\n var _props = props,\n _props$forceRefresh = _props.forceRefresh,\n forceRefresh = _props$forceRefresh === void 0 ? false : _props$forceRefresh,\n _props$getUserConfirm = _props.getUserConfirmation,\n getUserConfirmation = _props$getUserConfirm === void 0 ? getConfirmation : _props$getUserConfirm,\n _props$keyLength = _props.keyLength,\n keyLength = _props$keyLength === void 0 ? 6 : _props$keyLength;\n var basename = props.basename ? stripTrailingSlash(addLeadingSlash(props.basename)) : '';\n function getDOMLocation(historyState) {\n var _ref = historyState || {},\n key = _ref.key,\n state = _ref.state;\n var _window$location = window.location,\n pathname = _window$location.pathname,\n search = _window$location.search,\n hash = _window$location.hash;\n var path = pathname + search + hash;\n process.env.NODE_ENV !== \"production\" ? warning(!basename || hasBasename(path, basename), 'You are attempting to use a basename on a page whose URL path does not begin ' + 'with the basename. Expected path \"' + path + '\" to begin with \"' + basename + '\".') : void 0;\n if (basename) path = stripBasename(path, basename);\n return createLocation(path, state, key);\n }\n function createKey() {\n return Math.random().toString(36).substr(2, keyLength);\n }\n var transitionManager = createTransitionManager();\n function setState(nextState) {\n _extends(history, nextState);\n history.length = globalHistory.length;\n transitionManager.notifyListeners(history.location, history.action);\n }\n function handlePopState(event) {\n // Ignore extraneous popstate events in WebKit.\n if (isExtraneousPopstateEvent(event)) return;\n handlePop(getDOMLocation(event.state));\n }\n function handleHashChange() {\n handlePop(getDOMLocation(getHistoryState()));\n }\n var forceNextPop = false;\n function handlePop(location) {\n if (forceNextPop) {\n forceNextPop = false;\n setState();\n } else {\n var action = 'POP';\n transitionManager.confirmTransitionTo(location, action, getUserConfirmation, function (ok) {\n if (ok) {\n setState({\n action: action,\n location: location\n });\n } else {\n revertPop(location);\n }\n });\n }\n }\n function revertPop(fromLocation) {\n var toLocation = history.location; // TODO: We could probably make this more reliable by\n // keeping a list of keys we've seen in sessionStorage.\n // Instead, we just default to 0 for keys we don't know.\n\n var toIndex = allKeys.indexOf(toLocation.key);\n if (toIndex === -1) toIndex = 0;\n var fromIndex = allKeys.indexOf(fromLocation.key);\n if (fromIndex === -1) fromIndex = 0;\n var delta = toIndex - fromIndex;\n if (delta) {\n forceNextPop = true;\n go(delta);\n }\n }\n var initialLocation = getDOMLocation(getHistoryState());\n var allKeys = [initialLocation.key]; // Public interface\n\n function createHref(location) {\n return basename + createPath(location);\n }\n function push(path, state) {\n process.env.NODE_ENV !== \"production\" ? warning(!(typeof path === 'object' && path.state !== undefined && state !== undefined), 'You should avoid providing a 2nd state argument to push when the 1st ' + 'argument is a location-like object that already has state; it is ignored') : void 0;\n var action = 'PUSH';\n var location = createLocation(path, state, createKey(), history.location);\n transitionManager.confirmTransitionTo(location, action, getUserConfirmation, function (ok) {\n if (!ok) return;\n var href = createHref(location);\n var key = location.key,\n state = location.state;\n if (canUseHistory) {\n globalHistory.pushState({\n key: key,\n state: state\n }, null, href);\n if (forceRefresh) {\n window.location.href = href;\n } else {\n var prevIndex = allKeys.indexOf(history.location.key);\n var nextKeys = allKeys.slice(0, prevIndex + 1);\n nextKeys.push(location.key);\n allKeys = nextKeys;\n setState({\n action: action,\n location: location\n });\n }\n } else {\n process.env.NODE_ENV !== \"production\" ? warning(state === undefined, 'Browser history cannot push state in browsers that do not support HTML5 history') : void 0;\n window.location.href = href;\n }\n });\n }\n function replace(path, state) {\n process.env.NODE_ENV !== \"production\" ? warning(!(typeof path === 'object' && path.state !== undefined && state !== undefined), 'You should avoid providing a 2nd state argument to replace when the 1st ' + 'argument is a location-like object that already has state; it is ignored') : void 0;\n var action = 'REPLACE';\n var location = createLocation(path, state, createKey(), history.location);\n transitionManager.confirmTransitionTo(location, action, getUserConfirmation, function (ok) {\n if (!ok) return;\n var href = createHref(location);\n var key = location.key,\n state = location.state;\n if (canUseHistory) {\n globalHistory.replaceState({\n key: key,\n state: state\n }, null, href);\n if (forceRefresh) {\n window.location.replace(href);\n } else {\n var prevIndex = allKeys.indexOf(history.location.key);\n if (prevIndex !== -1) allKeys[prevIndex] = location.key;\n setState({\n action: action,\n location: location\n });\n }\n } else {\n process.env.NODE_ENV !== \"production\" ? warning(state === undefined, 'Browser history cannot replace state in browsers that do not support HTML5 history') : void 0;\n window.location.replace(href);\n }\n });\n }\n function go(n) {\n globalHistory.go(n);\n }\n function goBack() {\n go(-1);\n }\n function goForward() {\n go(1);\n }\n var listenerCount = 0;\n function checkDOMListeners(delta) {\n listenerCount += delta;\n if (listenerCount === 1 && delta === 1) {\n window.addEventListener(PopStateEvent, handlePopState);\n if (needsHashChangeListener) window.addEventListener(HashChangeEvent, handleHashChange);\n } else if (listenerCount === 0) {\n window.removeEventListener(PopStateEvent, handlePopState);\n if (needsHashChangeListener) window.removeEventListener(HashChangeEvent, handleHashChange);\n }\n }\n var isBlocked = false;\n function block(prompt) {\n if (prompt === void 0) {\n prompt = false;\n }\n var unblock = transitionManager.setPrompt(prompt);\n if (!isBlocked) {\n checkDOMListeners(1);\n isBlocked = true;\n }\n return function () {\n if (isBlocked) {\n isBlocked = false;\n checkDOMListeners(-1);\n }\n return unblock();\n };\n }\n function listen(listener) {\n var unlisten = transitionManager.appendListener(listener);\n checkDOMListeners(1);\n return function () {\n checkDOMListeners(-1);\n unlisten();\n };\n }\n var history = {\n length: globalHistory.length,\n action: 'POP',\n location: initialLocation,\n createHref: createHref,\n push: push,\n replace: replace,\n go: go,\n goBack: goBack,\n goForward: goForward,\n block: block,\n listen: listen\n };\n return history;\n}\nvar HashChangeEvent$1 = 'hashchange';\nvar HashPathCoders = {\n hashbang: {\n encodePath: function encodePath(path) {\n return path.charAt(0) === '!' ? path : '!/' + stripLeadingSlash(path);\n },\n decodePath: function decodePath(path) {\n return path.charAt(0) === '!' ? path.substr(1) : path;\n }\n },\n noslash: {\n encodePath: stripLeadingSlash,\n decodePath: addLeadingSlash\n },\n slash: {\n encodePath: addLeadingSlash,\n decodePath: addLeadingSlash\n }\n};\nfunction stripHash(url) {\n var hashIndex = url.indexOf('#');\n return hashIndex === -1 ? url : url.slice(0, hashIndex);\n}\nfunction getHashPath() {\n // We can't use window.location.hash here because it's not\n // consistent across browsers - Firefox will pre-decode it!\n var href = window.location.href;\n var hashIndex = href.indexOf('#');\n return hashIndex === -1 ? '' : href.substring(hashIndex + 1);\n}\nfunction pushHashPath(path) {\n window.location.hash = path;\n}\nfunction replaceHashPath(path) {\n window.location.replace(stripHash(window.location.href) + '#' + path);\n}\nfunction createHashHistory(props) {\n if (props === void 0) {\n props = {};\n }\n !canUseDOM ? process.env.NODE_ENV !== \"production\" ? invariant(false, 'Hash history needs a DOM') : invariant(false) : void 0;\n var globalHistory = window.history;\n var canGoWithoutReload = supportsGoWithoutReloadUsingHash();\n var _props = props,\n _props$getUserConfirm = _props.getUserConfirmation,\n getUserConfirmation = _props$getUserConfirm === void 0 ? getConfirmation : _props$getUserConfirm,\n _props$hashType = _props.hashType,\n hashType = _props$hashType === void 0 ? 'slash' : _props$hashType;\n var basename = props.basename ? stripTrailingSlash(addLeadingSlash(props.basename)) : '';\n var _HashPathCoders$hashT = HashPathCoders[hashType],\n encodePath = _HashPathCoders$hashT.encodePath,\n decodePath = _HashPathCoders$hashT.decodePath;\n function getDOMLocation() {\n var path = decodePath(getHashPath());\n process.env.NODE_ENV !== \"production\" ? warning(!basename || hasBasename(path, basename), 'You are attempting to use a basename on a page whose URL path does not begin ' + 'with the basename. Expected path \"' + path + '\" to begin with \"' + basename + '\".') : void 0;\n if (basename) path = stripBasename(path, basename);\n return createLocation(path);\n }\n var transitionManager = createTransitionManager();\n function setState(nextState) {\n _extends(history, nextState);\n history.length = globalHistory.length;\n transitionManager.notifyListeners(history.location, history.action);\n }\n var forceNextPop = false;\n var ignorePath = null;\n function locationsAreEqual$$1(a, b) {\n return a.pathname === b.pathname && a.search === b.search && a.hash === b.hash;\n }\n function handleHashChange() {\n var path = getHashPath();\n var encodedPath = encodePath(path);\n if (path !== encodedPath) {\n // Ensure we always have a properly-encoded hash.\n replaceHashPath(encodedPath);\n } else {\n var location = getDOMLocation();\n var prevLocation = history.location;\n if (!forceNextPop && locationsAreEqual$$1(prevLocation, location)) return; // A hashchange doesn't always == location change.\n\n if (ignorePath === createPath(location)) return; // Ignore this change; we already setState in push/replace.\n\n ignorePath = null;\n handlePop(location);\n }\n }\n function handlePop(location) {\n if (forceNextPop) {\n forceNextPop = false;\n setState();\n } else {\n var action = 'POP';\n transitionManager.confirmTransitionTo(location, action, getUserConfirmation, function (ok) {\n if (ok) {\n setState({\n action: action,\n location: location\n });\n } else {\n revertPop(location);\n }\n });\n }\n }\n function revertPop(fromLocation) {\n var toLocation = history.location; // TODO: We could probably make this more reliable by\n // keeping a list of paths we've seen in sessionStorage.\n // Instead, we just default to 0 for paths we don't know.\n\n var toIndex = allPaths.lastIndexOf(createPath(toLocation));\n if (toIndex === -1) toIndex = 0;\n var fromIndex = allPaths.lastIndexOf(createPath(fromLocation));\n if (fromIndex === -1) fromIndex = 0;\n var delta = toIndex - fromIndex;\n if (delta) {\n forceNextPop = true;\n go(delta);\n }\n } // Ensure the hash is encoded properly before doing anything else.\n\n var path = getHashPath();\n var encodedPath = encodePath(path);\n if (path !== encodedPath) replaceHashPath(encodedPath);\n var initialLocation = getDOMLocation();\n var allPaths = [createPath(initialLocation)]; // Public interface\n\n function createHref(location) {\n var baseTag = document.querySelector('base');\n var href = '';\n if (baseTag && baseTag.getAttribute('href')) {\n href = stripHash(window.location.href);\n }\n return href + '#' + encodePath(basename + createPath(location));\n }\n function push(path, state) {\n process.env.NODE_ENV !== \"production\" ? warning(state === undefined, 'Hash history cannot push state; it is ignored') : void 0;\n var action = 'PUSH';\n var location = createLocation(path, undefined, undefined, history.location);\n transitionManager.confirmTransitionTo(location, action, getUserConfirmation, function (ok) {\n if (!ok) return;\n var path = createPath(location);\n var encodedPath = encodePath(basename + path);\n var hashChanged = getHashPath() !== encodedPath;\n if (hashChanged) {\n // We cannot tell if a hashchange was caused by a PUSH, so we'd\n // rather setState here and ignore the hashchange. The caveat here\n // is that other hash histories in the page will consider it a POP.\n ignorePath = path;\n pushHashPath(encodedPath);\n var prevIndex = allPaths.lastIndexOf(createPath(history.location));\n var nextPaths = allPaths.slice(0, prevIndex + 1);\n nextPaths.push(path);\n allPaths = nextPaths;\n setState({\n action: action,\n location: location\n });\n } else {\n process.env.NODE_ENV !== \"production\" ? warning(false, 'Hash history cannot PUSH the same path; a new entry will not be added to the history stack') : void 0;\n setState();\n }\n });\n }\n function replace(path, state) {\n process.env.NODE_ENV !== \"production\" ? warning(state === undefined, 'Hash history cannot replace state; it is ignored') : void 0;\n var action = 'REPLACE';\n var location = createLocation(path, undefined, undefined, history.location);\n transitionManager.confirmTransitionTo(location, action, getUserConfirmation, function (ok) {\n if (!ok) return;\n var path = createPath(location);\n var encodedPath = encodePath(basename + path);\n var hashChanged = getHashPath() !== encodedPath;\n if (hashChanged) {\n // We cannot tell if a hashchange was caused by a REPLACE, so we'd\n // rather setState here and ignore the hashchange. The caveat here\n // is that other hash histories in the page will consider it a POP.\n ignorePath = path;\n replaceHashPath(encodedPath);\n }\n var prevIndex = allPaths.indexOf(createPath(history.location));\n if (prevIndex !== -1) allPaths[prevIndex] = path;\n setState({\n action: action,\n location: location\n });\n });\n }\n function go(n) {\n process.env.NODE_ENV !== \"production\" ? warning(canGoWithoutReload, 'Hash history go(n) causes a full page reload in this browser') : void 0;\n globalHistory.go(n);\n }\n function goBack() {\n go(-1);\n }\n function goForward() {\n go(1);\n }\n var listenerCount = 0;\n function checkDOMListeners(delta) {\n listenerCount += delta;\n if (listenerCount === 1 && delta === 1) {\n window.addEventListener(HashChangeEvent$1, handleHashChange);\n } else if (listenerCount === 0) {\n window.removeEventListener(HashChangeEvent$1, handleHashChange);\n }\n }\n var isBlocked = false;\n function block(prompt) {\n if (prompt === void 0) {\n prompt = false;\n }\n var unblock = transitionManager.setPrompt(prompt);\n if (!isBlocked) {\n checkDOMListeners(1);\n isBlocked = true;\n }\n return function () {\n if (isBlocked) {\n isBlocked = false;\n checkDOMListeners(-1);\n }\n return unblock();\n };\n }\n function listen(listener) {\n var unlisten = transitionManager.appendListener(listener);\n checkDOMListeners(1);\n return function () {\n checkDOMListeners(-1);\n unlisten();\n };\n }\n var history = {\n length: globalHistory.length,\n action: 'POP',\n location: initialLocation,\n createHref: createHref,\n push: push,\n replace: replace,\n go: go,\n goBack: goBack,\n goForward: goForward,\n block: block,\n listen: listen\n };\n return history;\n}\nfunction clamp(n, lowerBound, upperBound) {\n return Math.min(Math.max(n, lowerBound), upperBound);\n}\n/**\n * Creates a history object that stores locations in memory.\n */\n\nfunction createMemoryHistory(props) {\n if (props === void 0) {\n props = {};\n }\n var _props = props,\n getUserConfirmation = _props.getUserConfirmation,\n _props$initialEntries = _props.initialEntries,\n initialEntries = _props$initialEntries === void 0 ? ['/'] : _props$initialEntries,\n _props$initialIndex = _props.initialIndex,\n initialIndex = _props$initialIndex === void 0 ? 0 : _props$initialIndex,\n _props$keyLength = _props.keyLength,\n keyLength = _props$keyLength === void 0 ? 6 : _props$keyLength;\n var transitionManager = createTransitionManager();\n function setState(nextState) {\n _extends(history, nextState);\n history.length = history.entries.length;\n transitionManager.notifyListeners(history.location, history.action);\n }\n function createKey() {\n return Math.random().toString(36).substr(2, keyLength);\n }\n var index = clamp(initialIndex, 0, initialEntries.length - 1);\n var entries = initialEntries.map(function (entry) {\n return typeof entry === 'string' ? createLocation(entry, undefined, createKey()) : createLocation(entry, undefined, entry.key || createKey());\n }); // Public interface\n\n var createHref = createPath;\n function push(path, state) {\n process.env.NODE_ENV !== \"production\" ? warning(!(typeof path === 'object' && path.state !== undefined && state !== undefined), 'You should avoid providing a 2nd state argument to push when the 1st ' + 'argument is a location-like object that already has state; it is ignored') : void 0;\n var action = 'PUSH';\n var location = createLocation(path, state, createKey(), history.location);\n transitionManager.confirmTransitionTo(location, action, getUserConfirmation, function (ok) {\n if (!ok) return;\n var prevIndex = history.index;\n var nextIndex = prevIndex + 1;\n var nextEntries = history.entries.slice(0);\n if (nextEntries.length > nextIndex) {\n nextEntries.splice(nextIndex, nextEntries.length - nextIndex, location);\n } else {\n nextEntries.push(location);\n }\n setState({\n action: action,\n location: location,\n index: nextIndex,\n entries: nextEntries\n });\n });\n }\n function replace(path, state) {\n process.env.NODE_ENV !== \"production\" ? warning(!(typeof path === 'object' && path.state !== undefined && state !== undefined), 'You should avoid providing a 2nd state argument to replace when the 1st ' + 'argument is a location-like object that already has state; it is ignored') : void 0;\n var action = 'REPLACE';\n var location = createLocation(path, state, createKey(), history.location);\n transitionManager.confirmTransitionTo(location, action, getUserConfirmation, function (ok) {\n if (!ok) return;\n history.entries[history.index] = location;\n setState({\n action: action,\n location: location\n });\n });\n }\n function go(n) {\n var nextIndex = clamp(history.index + n, 0, history.entries.length - 1);\n var action = 'POP';\n var location = history.entries[nextIndex];\n transitionManager.confirmTransitionTo(location, action, getUserConfirmation, function (ok) {\n if (ok) {\n setState({\n action: action,\n location: location,\n index: nextIndex\n });\n } else {\n // Mimic the behavior of DOM histories by\n // causing a render after a cancelled POP.\n setState();\n }\n });\n }\n function goBack() {\n go(-1);\n }\n function goForward() {\n go(1);\n }\n function canGo(n) {\n var nextIndex = history.index + n;\n return nextIndex >= 0 && nextIndex < history.entries.length;\n }\n function block(prompt) {\n if (prompt === void 0) {\n prompt = false;\n }\n return transitionManager.setPrompt(prompt);\n }\n function listen(listener) {\n return transitionManager.appendListener(listener);\n }\n var history = {\n length: entries.length,\n action: 'POP',\n location: entries[index],\n index: index,\n entries: entries,\n createHref: createHref,\n push: push,\n replace: replace,\n go: go,\n goBack: goBack,\n goForward: goForward,\n canGo: canGo,\n block: block,\n listen: listen\n };\n return history;\n}\nexport { createBrowserHistory, createHashHistory, createMemoryHistory, createLocation, locationsAreEqual, parsePath, createPath };","/*eslint-disable */\nimport { Grid, Tooltip } from \"@material-ui/core\";\nimport { Link } from \"gatsby\";\nimport React, { useEffect, useRef, useState } from \"react\";\nimport \"./WhitePaperFooter.scss\";\n\nconst WhitePaperFooter = (props) => {\n function useOutsideAlerter(ref) {\n useEffect(() => {\n /**\n * Toggle share component if clicked outside of element\n */\n function handleClickOutside(event) {\n if (ref.current && !ref.current.contains(event.target)) {\n setshareComponent(false);\n }\n }\n\n // Bind the event listener\n document.addEventListener(\"mousedown\", handleClickOutside);\n return () => {\n // Unbind the event listener on clean up\n document.removeEventListener(\"mousedown\", handleClickOutside);\n };\n }, [ref]);\n }\n const [shareComponent, setshareComponent] = useState(false);\n const wrapperRef = useRef(null);\n useOutsideAlerter(wrapperRef);\n return (\n setshareComponent(false)}>\n \n {props.WhitePaperLabel}\n \n {!props.isLandingPage && (\n \n {props.download === \"no\"\n ? \"\"\n : props.type !== \"article\" &&\n props.WhitePaperLabel !== \"Client Brief\" && (\n // props.gatedContent === 1 &&\n \n \n
\n
\n \n )}\n {props.WhitePaperLabel != \"Client Brief\" && (\n \n \n
\n
\n \n )}\n {/* {props.WhitePaperLabel != \"BRIEF\" && (\n
setshareComponent(!shareComponent)}>\n \n
\n
\n
\n )} */}\n {/* {shareComponent && (\n
\n setshareComponent(!shareComponent)} />\n
\n )} */}\n
\n )}\n
\n );\n};\n\nexport default WhitePaperFooter;\n/*eslint-enable */\n","import { Link } from \"gatsby\";\nimport React, { useEffect } from \"react\";\nimport RightArrow from \"../../assets/Icons/go.svg\";\nimport whiteAccordian from \"../../assets/Images/Homepage/Learn_More_white.svg\";\nimport Button from \"../Button\";\nimport \"./MiniCardWithBgImg.scss\";\n\nconst MiniCardWithBgImg = (props) => {\n useEffect(() => {\n document.getElementById(\n props.MiniCardBgImgId\n ).style.backgroundImage = `url(${props.MiniCardBgImg})`;\n }, [props.MiniCardBgImg, props.MiniCardBgImgId]);\n\n return (\n
\n \n {props.route !== \"\" ? (\n <>\n \n \n \n {props.title}\n
\n
{props.subtitle}
\n
\n {\" \"}\n {props.button !== \"no\" && (\n \n )\n }\n customClassName={props.customClassName}\n tip={props.label}\n color=\"primary\"\n label={props.label}\n variant={props.variant}\n routepath={props.route}\n tooltip={props.tooltip}\n />\n )}{\" \"}\n
\n
\n {\" \"}\n {props.button !== \"no\" && (\n \n )\n }\n customClassName={props.customClassName}\n tip={props.label}\n color=\"primary\"\n label={props.label}\n variant={props.variant}\n routepath={props.route}\n tooltip={props.tooltip}\n />\n )}{\" \"}\n
\n \n \n \n ) : (\n <>\n
\n \n \n {props.title}\n
\n
{props.subtitle}
\n
\n {\" \"}\n {props.button !== \"no\" && (\n \n )\n }\n customClassName={props.customClassName}\n tip={props.label}\n color=\"primary\"\n label={props.label}\n variant={props.variant}\n routepath={props.route}\n tooltip={props.tooltip}\n />\n )}{\" \"}\n
\n
\n {\" \"}\n {props.button !== \"no\" && (\n \n )\n }\n customClassName={props.customClassName}\n tip={props.label}\n color=\"primary\"\n label={props.label}\n variant={props.variant}\n routepath={props.route}\n tooltip={props.tooltip}\n />\n )}{\" \"}\n
\n \n \n \n )}\n \n \n );\n};\n\nexport default MiniCardWithBgImg;\n","import \"core-js/modules/esnext.global-this.js\";\nimport \"core-js/modules/es.array.reduce.js\";\nimport _inheritsLoose from '@babel/runtime/helpers/esm/inheritsLoose';\nimport React from 'react';\nimport PropTypes from 'prop-types';\nimport { createMemoryHistory, createLocation, locationsAreEqual, createPath } from 'history';\nimport warning from 'tiny-warning';\nimport invariant from 'tiny-invariant';\nimport _extends from '@babel/runtime/helpers/esm/extends';\nimport pathToRegexp from 'path-to-regexp';\nimport { isValidElementType } from 'react-is';\nimport _objectWithoutPropertiesLoose from '@babel/runtime/helpers/esm/objectWithoutPropertiesLoose';\nimport hoistStatics from 'hoist-non-react-statics';\nvar MAX_SIGNED_31_BIT_INT = 1073741823;\nvar commonjsGlobal = typeof globalThis !== \"undefined\" // 'global proper'\n?\n// eslint-disable-next-line no-undef\nglobalThis : typeof window !== \"undefined\" ? window // Browser\n: typeof global !== \"undefined\" ? global // node.js\n: {};\nfunction getUniqueId() {\n var key = \"__global_unique_id__\";\n return commonjsGlobal[key] = (commonjsGlobal[key] || 0) + 1;\n} // Inlined Object.is polyfill.\n// https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/is\n\nfunction objectIs(x, y) {\n if (x === y) {\n return x !== 0 || 1 / x === 1 / y;\n } else {\n // eslint-disable-next-line no-self-compare\n return x !== x && y !== y;\n }\n}\nfunction createEventEmitter(value) {\n var handlers = [];\n return {\n on: function on(handler) {\n handlers.push(handler);\n },\n off: function off(handler) {\n handlers = handlers.filter(function (h) {\n return h !== handler;\n });\n },\n get: function get() {\n return value;\n },\n set: function set(newValue, changedBits) {\n value = newValue;\n handlers.forEach(function (handler) {\n return handler(value, changedBits);\n });\n }\n };\n}\nfunction onlyChild(children) {\n return Array.isArray(children) ? children[0] : children;\n}\nfunction createReactContext(defaultValue, calculateChangedBits) {\n var _Provider$childContex, _Consumer$contextType;\n var contextProp = \"__create-react-context-\" + getUniqueId() + \"__\";\n var Provider = /*#__PURE__*/function (_React$Component) {\n _inheritsLoose(Provider, _React$Component);\n function Provider() {\n var _this;\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n _this = _React$Component.call.apply(_React$Component, [this].concat(args)) || this;\n _this.emitter = createEventEmitter(_this.props.value);\n return _this;\n }\n var _proto = Provider.prototype;\n _proto.getChildContext = function getChildContext() {\n var _ref;\n return _ref = {}, _ref[contextProp] = this.emitter, _ref;\n };\n _proto.componentWillReceiveProps = function componentWillReceiveProps(nextProps) {\n if (this.props.value !== nextProps.value) {\n var oldValue = this.props.value;\n var newValue = nextProps.value;\n var changedBits;\n if (objectIs(oldValue, newValue)) {\n changedBits = 0; // No change\n } else {\n changedBits = typeof calculateChangedBits === \"function\" ? calculateChangedBits(oldValue, newValue) : MAX_SIGNED_31_BIT_INT;\n if (process.env.NODE_ENV !== \"production\") {\n process.env.NODE_ENV !== \"production\" ? warning((changedBits & MAX_SIGNED_31_BIT_INT) === changedBits, \"calculateChangedBits: Expected the return value to be a \" + \"31-bit integer. Instead received: \" + changedBits) : void 0;\n }\n changedBits |= 0;\n if (changedBits !== 0) {\n this.emitter.set(nextProps.value, changedBits);\n }\n }\n }\n };\n _proto.render = function render() {\n return this.props.children;\n };\n return Provider;\n }(React.Component);\n Provider.childContextTypes = (_Provider$childContex = {}, _Provider$childContex[contextProp] = PropTypes.object.isRequired, _Provider$childContex);\n var Consumer = /*#__PURE__*/function (_React$Component2) {\n _inheritsLoose(Consumer, _React$Component2);\n function Consumer() {\n var _this2;\n for (var _len2 = arguments.length, args = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {\n args[_key2] = arguments[_key2];\n }\n _this2 = _React$Component2.call.apply(_React$Component2, [this].concat(args)) || this;\n _this2.observedBits = void 0;\n _this2.state = {\n value: _this2.getValue()\n };\n _this2.onUpdate = function (newValue, changedBits) {\n var observedBits = _this2.observedBits | 0;\n if ((observedBits & changedBits) !== 0) {\n _this2.setState({\n value: _this2.getValue()\n });\n }\n };\n return _this2;\n }\n var _proto2 = Consumer.prototype;\n _proto2.componentWillReceiveProps = function componentWillReceiveProps(nextProps) {\n var observedBits = nextProps.observedBits;\n this.observedBits = observedBits === undefined || observedBits === null ? MAX_SIGNED_31_BIT_INT // Subscribe to all changes by default\n : observedBits;\n };\n _proto2.componentDidMount = function componentDidMount() {\n if (this.context[contextProp]) {\n this.context[contextProp].on(this.onUpdate);\n }\n var observedBits = this.props.observedBits;\n this.observedBits = observedBits === undefined || observedBits === null ? MAX_SIGNED_31_BIT_INT // Subscribe to all changes by default\n : observedBits;\n };\n _proto2.componentWillUnmount = function componentWillUnmount() {\n if (this.context[contextProp]) {\n this.context[contextProp].off(this.onUpdate);\n }\n };\n _proto2.getValue = function getValue() {\n if (this.context[contextProp]) {\n return this.context[contextProp].get();\n } else {\n return defaultValue;\n }\n };\n _proto2.render = function render() {\n return onlyChild(this.props.children)(this.state.value);\n };\n return Consumer;\n }(React.Component);\n Consumer.contextTypes = (_Consumer$contextType = {}, _Consumer$contextType[contextProp] = PropTypes.object, _Consumer$contextType);\n return {\n Provider: Provider,\n Consumer: Consumer\n };\n}\n\n// MIT License\nvar createContext = React.createContext || createReactContext;\n\n// TODO: Replace with React.createContext once we can assume React 16+\n\nvar createNamedContext = function createNamedContext(name) {\n var context = createContext();\n context.displayName = name;\n return context;\n};\nvar historyContext = /*#__PURE__*/createNamedContext(\"Router-History\");\nvar context = /*#__PURE__*/createNamedContext(\"Router\");\n\n/**\n * The public API for putting history on context.\n */\n\nvar Router = /*#__PURE__*/function (_React$Component) {\n _inheritsLoose(Router, _React$Component);\n Router.computeRootMatch = function computeRootMatch(pathname) {\n return {\n path: \"/\",\n url: \"/\",\n params: {},\n isExact: pathname === \"/\"\n };\n };\n function Router(props) {\n var _this;\n _this = _React$Component.call(this, props) || this;\n _this.state = {\n location: props.history.location\n }; // This is a bit of a hack. We have to start listening for location\n // changes here in the constructor in case there are any s\n // on the initial render. If there are, they will replace/push when\n // they mount and since cDM fires in children before parents, we may\n // get a new location before the is mounted.\n\n _this._isMounted = false;\n _this._pendingLocation = null;\n if (!props.staticContext) {\n _this.unlisten = props.history.listen(function (location) {\n _this._pendingLocation = location;\n });\n }\n return _this;\n }\n var _proto = Router.prototype;\n _proto.componentDidMount = function componentDidMount() {\n var _this2 = this;\n this._isMounted = true;\n if (this.unlisten) {\n // Any pre-mount location changes have been captured at\n // this point, so unregister the listener.\n this.unlisten();\n }\n if (!this.props.staticContext) {\n this.unlisten = this.props.history.listen(function (location) {\n if (_this2._isMounted) {\n _this2.setState({\n location: location\n });\n }\n });\n }\n if (this._pendingLocation) {\n this.setState({\n location: this._pendingLocation\n });\n }\n };\n _proto.componentWillUnmount = function componentWillUnmount() {\n if (this.unlisten) {\n this.unlisten();\n this._isMounted = false;\n this._pendingLocation = null;\n }\n };\n _proto.render = function render() {\n return /*#__PURE__*/React.createElement(context.Provider, {\n value: {\n history: this.props.history,\n location: this.state.location,\n match: Router.computeRootMatch(this.state.location.pathname),\n staticContext: this.props.staticContext\n }\n }, /*#__PURE__*/React.createElement(historyContext.Provider, {\n children: this.props.children || null,\n value: this.props.history\n }));\n };\n return Router;\n}(React.Component);\nif (process.env.NODE_ENV !== \"production\") {\n Router.prototype.componentDidUpdate = function (prevProps) {\n process.env.NODE_ENV !== \"production\" ? warning(prevProps.history === this.props.history, \"You cannot change \") : void 0;\n };\n}\n\n/**\n * The public API for a that stores location in memory.\n */\n\nvar MemoryRouter = /*#__PURE__*/function (_React$Component) {\n _inheritsLoose(MemoryRouter, _React$Component);\n function MemoryRouter() {\n var _this;\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n _this = _React$Component.call.apply(_React$Component, [this].concat(args)) || this;\n _this.history = createMemoryHistory(_this.props);\n return _this;\n }\n var _proto = MemoryRouter.prototype;\n _proto.render = function render() {\n return /*#__PURE__*/React.createElement(Router, {\n history: this.history,\n children: this.props.children\n });\n };\n return MemoryRouter;\n}(React.Component);\nif (process.env.NODE_ENV !== \"production\") {\n MemoryRouter.prototype.componentDidMount = function () {\n process.env.NODE_ENV !== \"production\" ? warning(!this.props.history, \" ignores the history prop. To use a custom history, \" + \"use `import { Router }` instead of `import { MemoryRouter as Router }`.\") : void 0;\n };\n}\nvar Lifecycle = /*#__PURE__*/function (_React$Component) {\n _inheritsLoose(Lifecycle, _React$Component);\n function Lifecycle() {\n return _React$Component.apply(this, arguments) || this;\n }\n var _proto = Lifecycle.prototype;\n _proto.componentDidMount = function componentDidMount() {\n if (this.props.onMount) this.props.onMount.call(this, this);\n };\n _proto.componentDidUpdate = function componentDidUpdate(prevProps) {\n if (this.props.onUpdate) this.props.onUpdate.call(this, this, prevProps);\n };\n _proto.componentWillUnmount = function componentWillUnmount() {\n if (this.props.onUnmount) this.props.onUnmount.call(this, this);\n };\n _proto.render = function render() {\n return null;\n };\n return Lifecycle;\n}(React.Component);\n\n/**\n * The public API for prompting the user before navigating away from a screen.\n */\n\nfunction Prompt(_ref) {\n var message = _ref.message,\n _ref$when = _ref.when,\n when = _ref$when === void 0 ? true : _ref$when;\n return /*#__PURE__*/React.createElement(context.Consumer, null, function (context) {\n !context ? process.env.NODE_ENV !== \"production\" ? invariant(false, \"You should not use outside a \") : invariant(false) : void 0;\n if (!when || context.staticContext) return null;\n var method = context.history.block;\n return /*#__PURE__*/React.createElement(Lifecycle, {\n onMount: function onMount(self) {\n self.release = method(message);\n },\n onUpdate: function onUpdate(self, prevProps) {\n if (prevProps.message !== message) {\n self.release();\n self.release = method(message);\n }\n },\n onUnmount: function onUnmount(self) {\n self.release();\n },\n message: message\n });\n });\n}\nif (process.env.NODE_ENV !== \"production\") {\n var messageType = PropTypes.oneOfType([PropTypes.func, PropTypes.string]);\n}\nvar cache = {};\nvar cacheLimit = 10000;\nvar cacheCount = 0;\nfunction compilePath(path) {\n if (cache[path]) return cache[path];\n var generator = pathToRegexp.compile(path);\n if (cacheCount < cacheLimit) {\n cache[path] = generator;\n cacheCount++;\n }\n return generator;\n}\n/**\n * Public API for generating a URL pathname from a path and parameters.\n */\n\nfunction generatePath(path, params) {\n if (path === void 0) {\n path = \"/\";\n }\n if (params === void 0) {\n params = {};\n }\n return path === \"/\" ? path : compilePath(path)(params, {\n pretty: true\n });\n}\n\n/**\n * The public API for navigating programmatically with a component.\n */\n\nfunction Redirect(_ref) {\n var computedMatch = _ref.computedMatch,\n to = _ref.to,\n _ref$push = _ref.push,\n push = _ref$push === void 0 ? false : _ref$push;\n return /*#__PURE__*/React.createElement(context.Consumer, null, function (context) {\n !context ? process.env.NODE_ENV !== \"production\" ? invariant(false, \"You should not use outside a \") : invariant(false) : void 0;\n var history = context.history,\n staticContext = context.staticContext;\n var method = push ? history.push : history.replace;\n var location = createLocation(computedMatch ? typeof to === \"string\" ? generatePath(to, computedMatch.params) : _extends({}, to, {\n pathname: generatePath(to.pathname, computedMatch.params)\n }) : to); // When rendering in a static context,\n // set the new location immediately.\n\n if (staticContext) {\n method(location);\n return null;\n }\n return /*#__PURE__*/React.createElement(Lifecycle, {\n onMount: function onMount() {\n method(location);\n },\n onUpdate: function onUpdate(self, prevProps) {\n var prevLocation = createLocation(prevProps.to);\n if (!locationsAreEqual(prevLocation, _extends({}, location, {\n key: prevLocation.key\n }))) {\n method(location);\n }\n },\n to: to\n });\n });\n}\nif (process.env.NODE_ENV !== \"production\") {}\nvar cache$1 = {};\nvar cacheLimit$1 = 10000;\nvar cacheCount$1 = 0;\nfunction compilePath$1(path, options) {\n var cacheKey = \"\" + options.end + options.strict + options.sensitive;\n var pathCache = cache$1[cacheKey] || (cache$1[cacheKey] = {});\n if (pathCache[path]) return pathCache[path];\n var keys = [];\n var regexp = pathToRegexp(path, keys, options);\n var result = {\n regexp: regexp,\n keys: keys\n };\n if (cacheCount$1 < cacheLimit$1) {\n pathCache[path] = result;\n cacheCount$1++;\n }\n return result;\n}\n/**\n * Public API for matching a URL pathname to a path.\n */\n\nfunction matchPath(pathname, options) {\n if (options === void 0) {\n options = {};\n }\n if (typeof options === \"string\" || Array.isArray(options)) {\n options = {\n path: options\n };\n }\n var _options = options,\n path = _options.path,\n _options$exact = _options.exact,\n exact = _options$exact === void 0 ? false : _options$exact,\n _options$strict = _options.strict,\n strict = _options$strict === void 0 ? false : _options$strict,\n _options$sensitive = _options.sensitive,\n sensitive = _options$sensitive === void 0 ? false : _options$sensitive;\n var paths = [].concat(path);\n return paths.reduce(function (matched, path) {\n if (!path && path !== \"\") return null;\n if (matched) return matched;\n var _compilePath = compilePath$1(path, {\n end: exact,\n strict: strict,\n sensitive: sensitive\n }),\n regexp = _compilePath.regexp,\n keys = _compilePath.keys;\n var match = regexp.exec(pathname);\n if (!match) return null;\n var url = match[0],\n values = match.slice(1);\n var isExact = pathname === url;\n if (exact && !isExact) return null;\n return {\n path: path,\n // the path used to match\n url: path === \"/\" && url === \"\" ? \"/\" : url,\n // the matched portion of the URL\n isExact: isExact,\n // whether or not we matched exactly\n params: keys.reduce(function (memo, key, index) {\n memo[key.name] = values[index];\n return memo;\n }, {})\n };\n }, null);\n}\nfunction isEmptyChildren(children) {\n return React.Children.count(children) === 0;\n}\nfunction evalChildrenDev(children, props, path) {\n var value = children(props);\n process.env.NODE_ENV !== \"production\" ? warning(value !== undefined, \"You returned `undefined` from the `children` function of \" + (\", but you \") + \"should have returned a React element or `null`\") : void 0;\n return value || null;\n}\n/**\n * The public API for matching a single path and rendering.\n */\n\nvar Route = /*#__PURE__*/function (_React$Component) {\n _inheritsLoose(Route, _React$Component);\n function Route() {\n return _React$Component.apply(this, arguments) || this;\n }\n var _proto = Route.prototype;\n _proto.render = function render() {\n var _this = this;\n return /*#__PURE__*/React.createElement(context.Consumer, null, function (context$1) {\n !context$1 ? process.env.NODE_ENV !== \"production\" ? invariant(false, \"You should not use outside a \") : invariant(false) : void 0;\n var location = _this.props.location || context$1.location;\n var match = _this.props.computedMatch ? _this.props.computedMatch // already computed the match for us\n : _this.props.path ? matchPath(location.pathname, _this.props) : context$1.match;\n var props = _extends({}, context$1, {\n location: location,\n match: match\n });\n var _this$props = _this.props,\n children = _this$props.children,\n component = _this$props.component,\n render = _this$props.render; // Preact uses an empty array as children by\n // default, so use null if that's the case.\n\n if (Array.isArray(children) && isEmptyChildren(children)) {\n children = null;\n }\n return /*#__PURE__*/React.createElement(context.Provider, {\n value: props\n }, props.match ? children ? typeof children === \"function\" ? process.env.NODE_ENV !== \"production\" ? evalChildrenDev(children, props, _this.props.path) : children(props) : children : component ? /*#__PURE__*/React.createElement(component, props) : render ? render(props) : null : typeof children === \"function\" ? process.env.NODE_ENV !== \"production\" ? evalChildrenDev(children, props, _this.props.path) : children(props) : null);\n });\n };\n return Route;\n}(React.Component);\nif (process.env.NODE_ENV !== \"production\") {\n Route.prototype.componentDidMount = function () {\n process.env.NODE_ENV !== \"production\" ? warning(!(this.props.children && !isEmptyChildren(this.props.children) && this.props.component), \"You should not use and in the same route; will be ignored\") : void 0;\n process.env.NODE_ENV !== \"production\" ? warning(!(this.props.children && !isEmptyChildren(this.props.children) && this.props.render), \"You should not use and in the same route; will be ignored\") : void 0;\n process.env.NODE_ENV !== \"production\" ? warning(!(this.props.component && this.props.render), \"You should not use and in the same route; will be ignored\") : void 0;\n };\n Route.prototype.componentDidUpdate = function (prevProps) {\n process.env.NODE_ENV !== \"production\" ? warning(!(this.props.location && !prevProps.location), ' elements should not change from uncontrolled to controlled (or vice versa). You initially used no \"location\" prop and then provided one on a subsequent render.') : void 0;\n process.env.NODE_ENV !== \"production\" ? warning(!(!this.props.location && prevProps.location), ' elements should not change from controlled to uncontrolled (or vice versa). You provided a \"location\" prop initially but omitted it on a subsequent render.') : void 0;\n };\n}\nfunction addLeadingSlash(path) {\n return path.charAt(0) === \"/\" ? path : \"/\" + path;\n}\nfunction addBasename(basename, location) {\n if (!basename) return location;\n return _extends({}, location, {\n pathname: addLeadingSlash(basename) + location.pathname\n });\n}\nfunction stripBasename(basename, location) {\n if (!basename) return location;\n var base = addLeadingSlash(basename);\n if (location.pathname.indexOf(base) !== 0) return location;\n return _extends({}, location, {\n pathname: location.pathname.substr(base.length)\n });\n}\nfunction createURL(location) {\n return typeof location === \"string\" ? location : createPath(location);\n}\nfunction staticHandler(methodName) {\n return function () {\n process.env.NODE_ENV !== \"production\" ? invariant(false, \"You cannot %s with \", methodName) : invariant(false);\n };\n}\nfunction noop() {}\n/**\n * The public top-level API for a \"static\" , so-called because it\n * can't actually change the current location. Instead, it just records\n * location changes in a context object. Useful mainly in testing and\n * server-rendering scenarios.\n */\n\nvar StaticRouter = /*#__PURE__*/function (_React$Component) {\n _inheritsLoose(StaticRouter, _React$Component);\n function StaticRouter() {\n var _this;\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n _this = _React$Component.call.apply(_React$Component, [this].concat(args)) || this;\n _this.handlePush = function (location) {\n return _this.navigateTo(location, \"PUSH\");\n };\n _this.handleReplace = function (location) {\n return _this.navigateTo(location, \"REPLACE\");\n };\n _this.handleListen = function () {\n return noop;\n };\n _this.handleBlock = function () {\n return noop;\n };\n return _this;\n }\n var _proto = StaticRouter.prototype;\n _proto.navigateTo = function navigateTo(location, action) {\n var _this$props = this.props,\n _this$props$basename = _this$props.basename,\n basename = _this$props$basename === void 0 ? \"\" : _this$props$basename,\n _this$props$context = _this$props.context,\n context = _this$props$context === void 0 ? {} : _this$props$context;\n context.action = action;\n context.location = addBasename(basename, createLocation(location));\n context.url = createURL(context.location);\n };\n _proto.render = function render() {\n var _this$props2 = this.props,\n _this$props2$basename = _this$props2.basename,\n basename = _this$props2$basename === void 0 ? \"\" : _this$props2$basename,\n _this$props2$context = _this$props2.context,\n context = _this$props2$context === void 0 ? {} : _this$props2$context,\n _this$props2$location = _this$props2.location,\n location = _this$props2$location === void 0 ? \"/\" : _this$props2$location,\n rest = _objectWithoutPropertiesLoose(_this$props2, [\"basename\", \"context\", \"location\"]);\n var history = {\n createHref: function createHref(path) {\n return addLeadingSlash(basename + createURL(path));\n },\n action: \"POP\",\n location: stripBasename(basename, createLocation(location)),\n push: this.handlePush,\n replace: this.handleReplace,\n go: staticHandler(\"go\"),\n goBack: staticHandler(\"goBack\"),\n goForward: staticHandler(\"goForward\"),\n listen: this.handleListen,\n block: this.handleBlock\n };\n return /*#__PURE__*/React.createElement(Router, _extends({}, rest, {\n history: history,\n staticContext: context\n }));\n };\n return StaticRouter;\n}(React.Component);\nif (process.env.NODE_ENV !== \"production\") {\n StaticRouter.prototype.componentDidMount = function () {\n process.env.NODE_ENV !== \"production\" ? warning(!this.props.history, \" ignores the history prop. To use a custom history, \" + \"use `import { Router }` instead of `import { StaticRouter as Router }`.\") : void 0;\n };\n}\n\n/**\n * The public API for rendering the first that matches.\n */\n\nvar Switch = /*#__PURE__*/function (_React$Component) {\n _inheritsLoose(Switch, _React$Component);\n function Switch() {\n return _React$Component.apply(this, arguments) || this;\n }\n var _proto = Switch.prototype;\n _proto.render = function render() {\n var _this = this;\n return /*#__PURE__*/React.createElement(context.Consumer, null, function (context) {\n !context ? process.env.NODE_ENV !== \"production\" ? invariant(false, \"You should not use outside a \") : invariant(false) : void 0;\n var location = _this.props.location || context.location;\n var element, match; // We use React.Children.forEach instead of React.Children.toArray().find()\n // here because toArray adds keys to all child elements and we do not want\n // to trigger an unmount/remount for two s that render the same\n // component at different URLs.\n\n React.Children.forEach(_this.props.children, function (child) {\n if (match == null && /*#__PURE__*/React.isValidElement(child)) {\n element = child;\n var path = child.props.path || child.props.from;\n match = path ? matchPath(location.pathname, _extends({}, child.props, {\n path: path\n })) : context.match;\n }\n });\n return match ? /*#__PURE__*/React.cloneElement(element, {\n location: location,\n computedMatch: match\n }) : null;\n });\n };\n return Switch;\n}(React.Component);\nif (process.env.NODE_ENV !== \"production\") {\n Switch.prototype.componentDidUpdate = function (prevProps) {\n process.env.NODE_ENV !== \"production\" ? warning(!(this.props.location && !prevProps.location), ' elements should not change from uncontrolled to controlled (or vice versa). You initially used no \"location\" prop and then provided one on a subsequent render.') : void 0;\n process.env.NODE_ENV !== \"production\" ? warning(!(!this.props.location && prevProps.location), ' elements should not change from controlled to uncontrolled (or vice versa). You provided a \"location\" prop initially but omitted it on a subsequent render.') : void 0;\n };\n}\n\n/**\n * A public higher-order component to access the imperative API\n */\n\nfunction withRouter(Component) {\n var displayName = \"withRouter(\" + (Component.displayName || Component.name) + \")\";\n var C = function C(props) {\n var wrappedComponentRef = props.wrappedComponentRef,\n remainingProps = _objectWithoutPropertiesLoose(props, [\"wrappedComponentRef\"]);\n return /*#__PURE__*/React.createElement(context.Consumer, null, function (context) {\n !context ? process.env.NODE_ENV !== \"production\" ? invariant(false, \"You should not use <\" + displayName + \" /> outside a \") : invariant(false) : void 0;\n return /*#__PURE__*/React.createElement(Component, _extends({}, remainingProps, context, {\n ref: wrappedComponentRef\n }));\n });\n };\n C.displayName = displayName;\n C.WrappedComponent = Component;\n if (process.env.NODE_ENV !== \"production\") {}\n return hoistStatics(C, Component);\n}\nvar useContext = React.useContext;\nfunction useHistory() {\n if (process.env.NODE_ENV !== \"production\") {\n !(typeof useContext === \"function\") ? process.env.NODE_ENV !== \"production\" ? invariant(false, \"You must use React >= 16.8 in order to use useHistory()\") : invariant(false) : void 0;\n }\n return useContext(historyContext);\n}\nfunction useLocation() {\n if (process.env.NODE_ENV !== \"production\") {\n !(typeof useContext === \"function\") ? process.env.NODE_ENV !== \"production\" ? invariant(false, \"You must use React >= 16.8 in order to use useLocation()\") : invariant(false) : void 0;\n }\n return useContext(context).location;\n}\nfunction useParams() {\n if (process.env.NODE_ENV !== \"production\") {\n !(typeof useContext === \"function\") ? process.env.NODE_ENV !== \"production\" ? invariant(false, \"You must use React >= 16.8 in order to use useParams()\") : invariant(false) : void 0;\n }\n var match = useContext(context).match;\n return match ? match.params : {};\n}\nfunction useRouteMatch(path) {\n if (process.env.NODE_ENV !== \"production\") {\n !(typeof useContext === \"function\") ? process.env.NODE_ENV !== \"production\" ? invariant(false, \"You must use React >= 16.8 in order to use useRouteMatch()\") : invariant(false) : void 0;\n }\n var location = useLocation();\n var match = useContext(context).match;\n return path ? matchPath(location.pathname, path) : match;\n}\nif (process.env.NODE_ENV !== \"production\") {\n if (typeof window !== \"undefined\") {\n var global$1 = window;\n var key = \"__react_router_build__\";\n var buildNames = {\n cjs: \"CommonJS\",\n esm: \"ES modules\",\n umd: \"UMD\"\n };\n if (global$1[key] && global$1[key] !== \"esm\") {\n var initialBuildName = buildNames[global$1[key]];\n var secondaryBuildName = buildNames[\"esm\"]; // TODO: Add link to article that explains in detail how to avoid\n // loading 2 different builds.\n\n throw new Error(\"You are loading the \" + secondaryBuildName + \" build of React Router \" + (\"on a page that is already running the \" + initialBuildName + \" \") + \"build, so things won't work right.\");\n }\n global$1[key] = \"esm\";\n }\n}\nexport { MemoryRouter, Prompt, Redirect, Route, Router, StaticRouter, Switch, historyContext as __HistoryContext, context as __RouterContext, generatePath, matchPath, useHistory, useLocation, useParams, useRouteMatch, withRouter };","import { Card, Grid } from \"@material-ui/core\";\nimport React from \"react\";\nimport quote from \"../../assets/Images/WhatWeDo/quote.svg\";\nimport Minicard from \"../../components/MiniCard\";\nimport MiniCardWithBgImg from \"../../components/MiniCardWithBgImg\";\nimport \"./MiniView.scss\";\n\nconst Miniview = (props) => {\n return (\n
\n \n {props.miniviewData &&\n props.miniviewData.map((item, index) => (\n \n {/* */}\n\n \n {/* */}\n \n ))}\n\n {props.quotedMiniCardData && props.miniviewData.length % 3 === 1 && (\n \n \n
\n \"\"\n
\n \n
\n {props.quotedMiniCardData.title}\n
\n
\n
5.0
\n
★★★★★
\n
\n
\n {props.quotedMiniCardData.heading}\n
\n
\n {props.quotedMiniCardData.content}\n
\n
\n
\n {props.quotedMiniCardData.footerContent}\n
\n
\n \n \n {\" \"}\n \n \n \n \n
\n )}\n\n {props.miniviewData2 && props.miniviewData.length % 3 === 2 && (\n \n {\" \"}\n \n \n \n \n )}\n\n {props.miniviewData2 &&\n props.component === \"whoWeWorkWith\" &&\n props.miniviewData.length % 3 === 1 && (\n \n {\" \"}\n \n \n \n \n )}\n \n
\n );\n};\n\nexport default Miniview;\n","// extracted by mini-css-extract-plugin\nmodule.exports = {\"primary\":\"#db4435\",\"secondary\":\"#daaaaa\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"primary\":\"#db4435\",\"secondary\":\"#daaaaa\"};","/* eslint-disable */\n\nimport { Button, Checkbox, Grid } from \"@material-ui/core\";\nimport FormHelperText from \"@material-ui/core/FormHelperText\";\nimport {\n makeStyles\n} from \"@material-ui/core/styles\";\nimport TextField from \"@material-ui/core/TextField\";\nimport { navigate } from \"gatsby\";\nimport React, { useState, useEffect } from \"react\";\nimport { useHistory } from \"react-router-dom\";\nimport DataService from \"../../services/api/data_services\";\nimport SnackBar from \"../../templates/SnackBar\";\nimport \"./ContactUsRightGrid.scss\";\n\nexport const Context = React.createContext({ value: null, setValue: () => {} });\n\nconst ContactUsRightGrid = (props) => {\n let formData = {\n firstName: \"\",\n lastName: \"\",\n organization: \"\",\n jobTitle: \"\",\n email: \"\",\n phone: \"\",\n location: \"\",\n message: \"\",\n articleId: \"\",\n // interestedIn: [],\n };\n\n const useStyles = makeStyles((theme) => ({\n root: {\n display: \"flex\",\n flexWrap: \"wrap\",\n },\n margin: {\n width: \"100%\",\n },\n error: {\n color: \"red\",\n fontSize: \"14px\",\n paddingTop: \"5px\",\n },\n }));\n\n const classes = useStyles();\n const [value, setValue] = useState(null);\n\n const [whitePdf, setWhitePdf] = useState(\"no\");\n const [clientPdf, setClientPdf] = useState(\"no\");\n const [hoverImg3, sethoverImg3] = useState(false);\n const [hoverImg4, sethoverImg4] = useState(false);\n const [hoverImg5, sethoverImg5] = useState(false);\n const [showError, setShowError] = useState(false);\n const [contactusForm, setcontactusForm] = useState(formData);\n const [checked, setchecked] = useState([]);\n const [approval, setapproval] = useState(false);\n const [snackbarStatus, setSnackbarStatus] = useState(false);\n const [snackbarMessage, setSnackbarMessage] = useState();\n const [approvalOpt, setapprovalOpt] = useState(false);\n const updateCount = window.localStorage.setItem(\"pdf_file\", props.pdfFile);\n let history = useHistory();\n\n const queryString =\n typeof window !== \"undefined\" ? window.location.href.split(\"/\")[3] : \"\";\n\n useEffect(() => {\n DataService.getData(`https://ipapi.co/json/`)\n .then((res) => setcontactusForm({ ...contactusForm, location: res.city }));\n },[]);\n\n const handleChange = (event, key) => {\n if (key === \"firstName\") {\n let validatedValue = event.target.value.replace(\n /[0-9`~!@#$%^&*()_|+\\-=?;:'\",.<>\\{\\}\\[\\]\\\\\\/]/gi,\n \"\"\n );\n setcontactusForm({ ...contactusForm, [key]: validatedValue });\n } else if (key == \"lastName\") {\n let validatedValue = event.target.value.replace(\n /[0-9`~!@#$%^&*()_|+\\-=?;:'\",.<>\\{\\}\\[\\]\\\\\\/]/gi,\n \"\"\n );\n setcontactusForm({ ...contactusForm, [key]: validatedValue });\n } else if (key == \"organization\") {\n let validatedValue = event.target.value.replace(\n /[0-9`~!@#$%^&*()_|+\\-=?;:<>\\{\\}\\[\\]\\\\\\/]/gi,\n \"\"\n );\n setcontactusForm({ ...contactusForm, [key]: validatedValue });\n } else if (key == \"jobTitle\") {\n let validatedValue = event.target.value.replace(\n /[0-9`~!@#$%^&*()_|+\\-=?;:<>\\{\\}\\[\\]\\\\\\/]/gi,\n \"\"\n );\n setcontactusForm({ ...contactusForm, [key]: validatedValue });\n } else if (key == \"email\") {\n let validatedValue = event.target.value.replace(\n /[0-9`~!@#$%^&*()_|+\\-=?;:'\",.<>\\{\\}\\[\\]\\\\\\/]/gi,\n \"\"\n );\n setcontactusForm({ ...contactusForm, [key]: event.target.value });\n } else if (key == \"phone\") {\n let validatedValue = event.target.value.replace(\n /[a-zA-Z`~!@#$%^&*()_|\\=?;:'\",.<>\\{\\}\\[\\]\\\\\\/]/gi,\n \"\"\n );\n setcontactusForm({ ...contactusForm, [key]: validatedValue });\n } else if (key == \"location\") {\n let validatedValue = event.target.value.replace(\n /[0-9`~!@#$%^&*()_|+\\-=?;:<>\\{\\}\\[\\]\\\\\\/]/gi,\n \"\"\n );\n setcontactusForm({ ...contactusForm, [key]: validatedValue });\n } else if (key == \"message\") {\n let validatedValue = event.target.value.replace(/<>\\{\\}\\[\\]\\\\\\/]/gi, \"\");\n setcontactusForm({ ...contactusForm, [key]: event.target.value });\n }\n };\n const dynamicPageCategory =\n queryString === \"white-paper\" ? \"whitepaper\" : \"clientstory\";\n\n const handleSubmit = (e) => {\n e.preventDefault();\n // contactusForm.interestedIn = checked;\n contactusForm.privacy_policy = approval;\n contactusForm.opt_in = approvalOpt;\n contactusForm.articleId = props.articleid;\n setchecked([]);\n setcontactusForm(formData);\n // setapproval(false);\n DataService.postData(`admin/api/sendmail`, contactusForm, {\n type: dynamicPageCategory,\n })\n .then((response) => {\n if (response) {\n if (typeof window !== `undefined` && queryString === \"white-paper\") {\n navigate(`/thank-you-white-paper?title=${props.bannerTitle}`);\n // window.location.href = `/thank-you-white-paper?title=${props.bannerTitle}`;\n } else {\n navigate(`/thank-you-client-story?title=${props.bannerTitle}`);\n // window.location.href = `/thank-you-client-story?title=${props.bannerTitle}`;\n }\n }\n })\n .catch((error) => {\n setSnackbarStatus(true);\n setSnackbarMessage(error.message);\n });\n };\n const validateSubmit = (e) => {\n if (approval === true) {\n setShowError(false);\n handleSubmit(e);\n } else {\n setShowError(true);\n }\n };\n return (\n \n setSnackbarStatus(false)}\n />\n {/* */}\n {/* */}\n
\n See the full story!\n
\n
\n Fill out the form below to receive a
copy of the full story\n
\n {/*
\n \n Fill out and send a form.
We will revert you with the full story\n
\n \n I'm interested in...\n \n
*/}\n \n \n
\n handleChange(event, \"firstName\")}\n value={contactusForm.firstName}\n />\n \n First Name\n \n
\n
\n \n
\n handleChange(event, \"lastName\")}\n value={contactusForm.lastName}\n />\n \n Last Name\n \n
\n
\n \n
\n handleChange(event, \"organization\")}\n value={contactusForm.organization}\n />\n \n Organization\n \n
\n
\n \n
\n handleChange(event, \"jobTitle\")}\n value={contactusForm.jobTitle}\n />\n \n Job Title\n \n
\n
\n \n
\n handleChange(event, \"email\")}\n value={contactusForm.email}\n />\n \n Email\n \n
\n
\n \n
\n handleChange(event, \"phone\")}\n value={contactusForm.phone}\n />\n \n Phone\n \n
\n
\n {/* \n
\n handleChange(event, \"location\")}\n value={contactusForm.location}\n />\n \n Location\n \n
\n
*/}\n \n handleChange(event, \"message\")}\n value={contactusForm.message}\n InputLabelProps={{\n style: { color: \"#0000008a\", fontSize: \"18px\" },\n }}\n InputProps={{\n disableUnderline: true,\n fullWidth: true,\n style: {\n backgroundColor: \"white\",\n border: \"1px solid #ccc\",\n borderRadius: \"5px\",\n },\n }}\n style={{ width: \"100%\" }}\n />\n \n \n
\n {\n setapproval(!approval);\n setShowError(false);\n handleChange(!approval, \"privacy_policy\");\n }}\n >\n \n
\n
\n \n I agree to share my information with you and understand it will\n be used as described in{\" \"}\n \n Digiryte's privacy policy.\n \n \n {showError === true && (\n \n *This permission is required before we collect your\n information\n \n )}\n
\n \n
\n {/* \n
\n {\n setapprovalOpt(!approvalOpt);\n handleChange(!approvalOpt, \"opt_in\");\n }}\n >\n \n
\n Opt-in for our featured content!!!\n \n
*/}\n \n {\n contactusForm.firstName &&\n contactusForm.organization &&\n contactusForm.email &&\n contactusForm.phone &&\n validateSubmit(e);\n }}\n >\n \n SUBMIT\n \n \n \n
\n
\n );\n};\n\nexport default ContactUsRightGrid;\n","import React from \"react\";\nimport \"./leftGridCard.scss\";\n\nconst LeftGridCard = (props) => {\n return (\n
\n
\n
{props.HoverCardWithBtntitle}
\n
{props.HoverCardWithBtnContent}
\n
\n
{props.keyPointsBig1}
\n
{props.keyPoints1}
\n
\n
{props.keyPointsBig2}
\n
{props.keyPoints2}
\n
\n
{props.keyPointsBig3}
\n
{props.keyPoints3}
\n {/* {props.HoverCardWithBtnsubtitle &&
{props.HoverCardWithBtnsubtitle}
}\n {props.HoverCardWithBtnlabel &&
}\n
\n {props.HoverCardWithBtnlabel && (\n \n )}\n {props.HoverCardWithBtnIcon && ( {props.HoverCardWithBtnIconAlt})}\n
*/}\n
\n
\n );\n};\n\nexport default LeftGridCard;\n","import React from \"react\";\nimport PlainCard from \"../../components/leftGridCard\";\nimport \"./LeftGrid.scss\";\n\nconst Infoview = (props) => {\n return (\n
\n \n
\n );\n};\n\nexport default Infoview;\n","module.exports = __webpack_public_path__ + \"static/takealook-ea180d5db2d14f4fbfe2270f7be1847c.png\";","module.exports = \"data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIzNy4yODQiIGhlaWdodD0iMzMuNzA1IiB2aWV3Qm94PSIwIDAgMzcuMjg0IDMzLjcwNSI+CiAgPHBhdGggaWQ9IlBhdGhfNjQ5NCIgZGF0YS1uYW1lPSJQYXRoIDY0OTQiIGQ9Ik0yMC41OCw2MC43MzVWNDQuNTY1SDEzLjY1QTEzLjQ3NSwxMy40NzUsMCwwLDEsMTUuMTIsMzhxMS40Ny0yLjY3Nyw1LjQ2LTQuMDQzVjI3LjAzQTE2Ljg4LDE2Ljg4LDAsMCwwLDYuNjY4LDM4LjE2YTE3LjQsMTcuNCwwLDAsMC0xLDYuNTFWNjAuNzM1Wm0yMi4zNjUsMFY0NC41NjVoLTYuOTNBMTMuNDc1LDEzLjQ3NSwwLDAsMSwzNy40ODUsMzhxMS40Ny0yLjY3Nyw1LjQ2LTQuMDQzVjI3LjAzQTE2Ljg4MSwxNi44ODEsMCwwLDAsMjkuMDMyLDM4LjE2YTE3LjQsMTcuNCwwLDAsMC0xLDYuNTFWNjAuNzM1WiIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoLTUuNjYxIC0yNy4wMykiIGZpbGw9IiNkYjQ0MzUiLz4KPC9zdmc+Cg==\""],"sourceRoot":""}