{"version":3,"sources":["webpack:///./src/templates/federal_subject.js","webpack:///./node_modules/@material-ui/core/Grid/index.js","webpack:///./node_modules/@material-ui/core/CardContent/index.js","webpack:///./node_modules/linkifyjs/lib/linkify/core/state.js","webpack:///./src/config/best_practice_fields.js","webpack:///./node_modules/@material-ui/core/Card/index.js","webpack:///./node_modules/linkifyjs/lib/linkify/utils/class.js","webpack:///./src/components/Npo.js","webpack:///./node_modules/linkifyjs/lib/linkify.js","webpack:///./node_modules/linkifyjs/lib/linkify/utils/options.js","webpack:///./node_modules/@material-ui/core/Grid/Grid.js","webpack:///./node_modules/linkifyjs/lib/linkify/core/parser.js","webpack:///./node_modules/linkifyjs/lib/linkify/core/tokens/create-token-class.js","webpack:///./node_modules/@material-ui/core/Card/Card.js","webpack:///./src/pages/best_practices.js","webpack:///./node_modules/linkifyjs/lib/linkify-react.js","webpack:///./src/components/BestPracticesGrid.js","webpack:///./node_modules/linkifyjs/lib/linkify/core/tokens/text.js","webpack:///./node_modules/@material-ui/core/utils/requirePropFactory.js","webpack:///./node_modules/@material-ui/core/CardActionArea/index.js","webpack:///./node_modules/@material-ui/core/CardActionArea/CardActionArea.js","webpack:///./src/components/BestPractice.js","webpack:///./node_modules/linkifyjs/react.js","webpack:///./node_modules/linkifyjs/lib/linkify/core/scanner.js","webpack:///./src/components/NposGrid.js","webpack:///./node_modules/linkifyjs/lib/linkify/core/tokens/multi.js","webpack:///./node_modules/@material-ui/core/CardContent/CardContent.js"],"names":["query","withStyles","theme","root","width","marginTop","spacing","unit","overflowX","table","row","verticalAlign","backgroundColor","palette","background","default","key_cell","fontWeight","best_practices_title","data","classes","console","log","variant","gutterBottom","hasura","federal_subject","title","npos","_interopRequireDefault","Object","defineProperty","exports","value","enumerable","get","_Grid","_CardContent","__esModule","stateify","TokenState","CharacterState","undefined","_class","BaseState","tClass","this","j","T","prototype","defaultTransition","on","symbol","state","Array","i","length","push","next","item","jump","test","accepts","emit","inherits","character","charOrRegExp","RegExp","token","arguments","constructor","tokenClass","str","start","endToken","defaultToken","len","newStates","nextState","id","npo","start_date","end_date","goal_and_objectives","target_audience","description","financing_source","grantor","amount","participants_count","results","photos_url","articles_url","replication_prospects","national_project_part","best_practice_art_types","best_practice_directionalities","approved","_Card","parent","child","props","extended","create","p","card","minHeight","textAlign","link","textDecoration","url","to","className","component","tokenize","scanner","parser","options","find","_interopRequireWildcard","obj","newObj","key","hasOwnProperty","call","isArray","arg","toString","run","type","tokens","filtered","isLink","toObject","_typeof","Symbol","iterator","defaults","defaultProtocol","events","format","noop","formatHref","nl2br","tagName","target","href","validate","ignoreTags","attributes","Options","opts","linkAttributes","linkClass","ignoredTags","toUpperCase","val","contains","arr","resolve","toHref","formatted","formattedHref","getObject","check","operator","optionValue","option","styles","_defineProperty2","_objectWithoutProperties2","_extends2","_react","_classnames","_withStyles","_createBreakpoints","GUTTERS","GRID_SIZES","container","boxSizing","display","flexWrap","margin","zeroMinWidth","minWidth","flexDirection","alignItems","alignContent","justifyContent","breakpoint","forEach","index","concat","padding","generateGutter","keys","reduce","accumulator","globalStyles","size","Math","round","flexBasis","flexGrow","maxWidth","breakpoints","up","generateGrid","Grid","_classNames","classNameProp","Component","direction","justify","lg","md","sm","wrap","xl","xs","other","String","defaultProps","createElement","_default","name","TOKENS","State","_state","_multi","MULTI_TOKENS","_text","makeState","S_START","S_PROTOCOL","S_MAILTO","S_PROTOCOL_SLASH","S_PROTOCOL_SLASH_SLASH","S_DOMAIN","S_DOMAIN_DOT","S_TLD","URL","S_TLD_COLON","S_TLD_PORT","S_URL","S_URL_NON_ACCEPTING","S_URL_OPENBRACE","S_URL_OPENBRACKET","S_URL_OPENANGLEBRACKET","S_URL_OPENPAREN","S_URL_OPENBRACE_Q","S_URL_OPENBRACKET_Q","S_URL_OPENANGLEBRACKET_Q","S_URL_OPENPAREN_Q","S_URL_OPENBRACE_SYMS","S_URL_OPENBRACKET_SYMS","S_URL_OPENANGLEBRACKET_SYMS","S_URL_OPENPAREN_SYMS","S_EMAIL_DOMAIN","S_EMAIL_DOMAIN_DOT","S_EMAIL","EMAIL","S_EMAIL_COLON","S_EMAIL_PORT","S_MAILTO_EMAIL","MAILTOEMAIL","S_MAILTO_EMAIL_NON_ACCEPTING","S_LOCALPART","S_LOCALPART_AT","S_LOCALPART_DOT","S_NL","NL","PROTOCOL","MAILTO","SLASH","TLD","DOMAIN","LOCALHOST","NUM","DOT","COLON","qsAccepting","AT","PLUS","POUND","UNDERSCORE","SYM","AMPERSAND","qsNonAccepting","QUERY","PUNCTUATION","CLOSEBRACE","CLOSEBRACKET","CLOSEANGLEBRACKET","CLOSEPAREN","OPENBRACE","OPENBRACKET","OPENANGLEBRACKET","OPENPAREN","localpartAccepting","cursor","multis","textTokens","secondState","multiLength","latestAccepting","sinceAccepts","TEXT","MULTI","slice","createTokenClass","v","_Paper","overflow","Card","raised","elevation","location","best_practices","_react2","linkify","linkifyReactElement","element","elementId","Children","count","children","apply","elements","linkId","_opts$resolve","attr","stringToElements","isValidElement","newProps","prop","cloneElement","Linkify","_React$Component","instance","Constructor","TypeError","_classCallCheck","self","ReferenceError","_possibleConstructorReturn","subClass","superClass","writable","configurable","setPrototypeOf","__proto__","_inherits","render","best_practices_elements","map","WS","Base","_createTokenClass","TextToken","inheritsToken","componentNameInError","_CardActionArea","_ButtonBase","opacity","action","hoverOpacity","focusVisible","focusHighlight","pointerEvents","position","top","right","bottom","left","transition","transitions","duration","focusVisibleClassName","module","tlds","split","NUMBERS","ALPHANUM","WHITESPACE","domainStates","S_NUM","S_DOMAIN_HYPHEN","S_WS","partialProtocolFileStates","partialProtocolFtpStates","partialProtocolHttpStates","partialProtocolMailtoStates","S_PROTOCOL_FILE","pop","S_PROTOCOL_FTP","S_PROTOCOL_HTTP","S_PROTOCOL_SECURE","S_FULL_PROTOCOL","S_FULL_MAILTO","partialLocalhostStates","_i","lowerStr","replace","c","toLowerCase","tokenLength","TOKEN","substr","npos_elements","isDomainToken","MultiToken","result","join","protocol","hasProtocol","hasSlashSlash","paddingBottom","CardContent"],"mappings":"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","file":"component---src-templates-federal-subject-js-cad549578312ef6d5b61.js","sourcesContent":["import React from \"react\";\nimport { graphql } from \"gatsby\";\nimport PropTypes from \"prop-types\";\nimport { withStyles } from \"@material-ui/core/styles\";\nimport Table from \"@material-ui/core/Table\";\nimport TableBody from \"@material-ui/core/TableBody\";\nimport TableCell from \"@material-ui/core/TableCell\";\nimport TableHead from \"@material-ui/core/TableHead\";\nimport TableRow from \"@material-ui/core/TableRow\";\nimport Paper from \"@material-ui/core/Paper\";\nimport Typography from \"@material-ui/core/Typography\";\nimport Linkify from \"linkifyjs/react\";\nimport fields_names from \"../config/best_practice_fields\";\nimport Check from \"@material-ui/icons/Check\";\nimport Cancel from \"@material-ui/icons/Cancel\";\nimport NposGrid from \"../components/NposGrid\";\nimport best_practices from \"../pages/best_practices\";\n\nconst styles = theme => ({\n root: {\n width: \"100%\",\n marginTop: theme.spacing.unit * 3,\n overflowX: \"auto\"\n },\n table: {\n // minWidth: 700\n },\n row: {\n verticalAlign: \"top\",\n \"&:nth-of-type(odd)\": {\n backgroundColor: theme.palette.background.default\n }\n },\n key_cell: {\n fontWeight: \"bold\"\n // verticalAlign: \"top\"\n },\n best_practices_title: {\n marginTop: \"30px\"\n }\n});\n\nfunction BestPractice({ data, classes }) {\n console.log(data);\n return (\n
\n \n {data.hasura.federal_subject.title}\n \n \n
\n );\n}\n\nexport const query = graphql`\n query($id: Int!) {\n hasura {\n federal_subject: federal_subjects_by_pk(id: $id) {\n id\n title\n }\n npos(where: { federal_subject_id: { _eq: $id } }) {\n id\n title\n }\n }\n }\n`;\nexport default withStyles(styles)(BestPractice);\n","\"use strict\";\n\nrequire(\"core-js/modules/es6.object.define-property\");\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nObject.defineProperty(exports, \"default\", {\n enumerable: true,\n get: function get() {\n return _Grid[\"default\"];\n }\n});\n\nvar _Grid = _interopRequireDefault(require(\"./Grid\"));","\"use strict\";\n\nrequire(\"core-js/modules/es6.object.define-property\");\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nObject.defineProperty(exports, \"default\", {\n enumerable: true,\n get: function get() {\n return _CardContent[\"default\"];\n }\n});\n\nvar _CardContent = _interopRequireDefault(require(\"./CardContent\"));","'use strict';\n\nrequire(\"core-js/modules/es6.regexp.constructor\");\n\nexports.__esModule = true;\nexports.stateify = exports.TokenState = exports.CharacterState = undefined;\n\nvar _class = require('../utils/class');\n\nfunction createStateClass() {\n return function (tClass) {\n this.j = [];\n this.T = tClass || null;\n };\n}\n/**\n\tA simple state machine that can emit token classes\n\n\tThe `j` property in this class refers to state jumps. It's a\n\tmultidimensional array where for each element:\n\n\t* index [0] is a symbol or class of symbols to transition to.\n\t* index [1] is a State instance which matches\n\n\tThe type of symbol will depend on the target implementation for this class.\n\tIn Linkify, we have a two-stage scanner. Each stage uses this state machine\n\tbut with a slighly different (polymorphic) implementation.\n\n\tThe `T` property refers to the token class.\n\n\tTODO: Can the `on` and `next` methods be combined?\n\n\t@class BaseState\n*/\n\n\nvar BaseState = createStateClass();\nBaseState.prototype = {\n defaultTransition: false,\n\n /**\n \t@method constructor\n \t@param {Class} tClass Pass in the kind of token to emit if there are\n \t\tno jumps after this state and the state is accepting.\n */\n\n /**\n \tOn the given symbol(s), this machine should go to the given state\n \t\t@method on\n \t@param {Array|Mixed} symbol\n \t@param {BaseState} state Note that the type of this state should be the\n \t\tsame as the current instance (i.e., don't pass in a different\n \t\tsubclass)\n */\n on: function on(symbol, state) {\n if (symbol instanceof Array) {\n for (var i = 0; i < symbol.length; i++) {\n this.j.push([symbol[i], state]);\n }\n\n return this;\n }\n\n this.j.push([symbol, state]);\n return this;\n },\n\n /**\n \tGiven the next item, returns next state for that item\n \t@method next\n \t@param {Mixed} item Should be an instance of the symbols handled by\n \t\tthis particular machine.\n \t@return {State} state Returns false if no jumps are available\n */\n next: function next(item) {\n for (var i = 0; i < this.j.length; i++) {\n var jump = this.j[i];\n var symbol = jump[0]; // Next item to check for\n\n var state = jump[1]; // State to jump to if items match\n // compare item with symbol\n\n if (this.test(item, symbol)) {\n return state;\n }\n } // Nowhere left to jump!\n\n\n return this.defaultTransition;\n },\n\n /**\n \tDoes this state accept?\n \t`true` only of `this.T` exists\n \t\t@method accepts\n \t@return {Boolean}\n */\n accepts: function accepts() {\n return !!this.T;\n },\n\n /**\n \tDetermine whether a given item \"symbolizes\" the symbol, where symbol is\n \ta class of items handled by this state machine.\n \t\tThis method should be overriden in extended classes.\n \t\t@method test\n \t@param {Mixed} item Does this item match the given symbol?\n \t@param {Mixed} symbol\n \t@return {Boolean}\n */\n test: function test(item, symbol) {\n return item === symbol;\n },\n\n /**\n \tEmit the token for this State (just return it in this case)\n \tIf this emits a token, this instance is an accepting state\n \t@method emit\n \t@return {Class} T\n */\n emit: function emit() {\n return this.T;\n }\n};\n/**\n\tState machine for string-based input\n\n\t@class CharacterState\n\t@extends BaseState\n*/\n\nvar CharacterState = (0, _class.inherits)(BaseState, createStateClass(), {\n /**\n \tDoes the given character match the given character or regular\n \texpression?\n \t\t@method test\n \t@param {String} char\n \t@param {String|RegExp} charOrRegExp\n \t@return {Boolean}\n */\n test: function test(character, charOrRegExp) {\n return character === charOrRegExp || charOrRegExp instanceof RegExp && charOrRegExp.test(character);\n }\n});\n/**\n\tState machine for input in the form of TextTokens\n\n\t@class TokenState\n\t@extends BaseState\n*/\n\nvar TokenState = (0, _class.inherits)(BaseState, createStateClass(), {\n /**\n * Similar to `on`, but returns the state the results in the transition from\n * the given item\n * @method jump\n * @param {Mixed} item\n * @param {Token} [token]\n * @return state\n */\n jump: function jump(token) {\n var tClass = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : null;\n var state = this.next(new token('')); // dummy temp token\n\n if (state === this.defaultTransition) {\n // Make a new state!\n state = new this.constructor(tClass);\n this.on(token, state);\n } else if (tClass) {\n state.T = tClass;\n }\n\n return state;\n },\n\n /**\n \tIs the given token an instance of the given token class?\n \t\t@method test\n \t@param {TextToken} token\n \t@param {Class} tokenClass\n \t@return {Boolean}\n */\n test: function test(token, tokenClass) {\n return token instanceof tokenClass;\n }\n});\n/**\n\tGiven a non-empty target string, generates states (if required) for each\n\tconsecutive substring of characters in str starting from the beginning of\n\tthe string. The final state will have a special value, as specified in\n\toptions. All other \"in between\" substrings will have a default end state.\n\n\tThis turns the state machine into a Trie-like data structure (rather than a\n\tintelligently-designed DFA).\n\n\tNote that I haven't really tried these with any strings other than\n\tDOMAIN.\n\n\t@param {String} str\n\t@param {CharacterState} start State to jump from the first character\n\t@param {Class} endToken Token class to emit when the given string has been\n\t\tmatched and no more jumps exist.\n\t@param {Class} defaultToken \"Filler token\", or which token type to emit when\n\t\twe don't have a full match\n\t@return {Array} list of newly-created states\n*/\n\nfunction stateify(str, start, endToken, defaultToken) {\n var i = 0,\n len = str.length,\n state = start,\n newStates = [],\n nextState = void 0; // Find the next state without a jump to the next character\n\n while (i < len && (nextState = state.next(str[i]))) {\n state = nextState;\n i++;\n }\n\n if (i >= len) {\n return [];\n } // no new tokens were added\n\n\n while (i < len - 1) {\n nextState = new CharacterState(defaultToken);\n newStates.push(nextState);\n state.on(str[i], nextState);\n state = nextState;\n i++;\n }\n\n nextState = new CharacterState(endToken);\n newStates.push(nextState);\n state.on(str[len - 1], nextState);\n return newStates;\n}\n\nexports.CharacterState = CharacterState;\nexports.TokenState = TokenState;\nexports.stateify = stateify;","export default {\n id: \"ID\",\n title: \"Название\",\n npo: \"НКО\",\n // year: \"Год реализации\",\n start_date: \"Дата начала\",\n end_date: \"Дата окончания\",\n goal_and_objectives: \"Цель и задачи\",\n target_audience: \"Целевая аудитория\",\n description: \"Краткое описание\",\n financing_source: \"Источник финансирования\",\n grantor: \"Грантодатель\",\n amount: \"Сумма финансирования\",\n participants_count: \"Количество участников\",\n results: \"Качественные результаты\",\n photos_url: \"Ссылка на фотографии\",\n articles_url: \"Ссылка на публикации\",\n replication_prospects: \"Перспективы тиражирования\",\n national_project_part: \"Часть Национального проекта Культура\",\n best_practice_art_types: \"Виды искусств\",\n best_practice_directionalities: \"Направления реализации\",\n\n approved: \"Подтверждено субъектом РФ\"\n};\n","\"use strict\";\n\nrequire(\"core-js/modules/es6.object.define-property\");\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nObject.defineProperty(exports, \"default\", {\n enumerable: true,\n get: function get() {\n return _Card[\"default\"];\n }\n});\n\nvar _Card = _interopRequireDefault(require(\"./Card\"));","\"use strict\";\n\nrequire(\"core-js/modules/es6.object.create\");\n\nexports.__esModule = true;\nexports.inherits = inherits;\n\nfunction inherits(parent, child) {\n var props = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};\n var extended = Object.create(parent.prototype);\n\n for (var p in props) {\n extended[p] = props[p];\n }\n\n extended.constructor = child;\n child.prototype = extended;\n return child;\n}","import React from \"react\";\nimport Card from \"@material-ui/core/Card\";\nimport Typography from \"@material-ui/core/Typography\";\nimport CardContent from \"@material-ui/core/CardContent\";\nimport CardActionArea from \"@material-ui/core/CardActionArea\";\nimport { withStyles } from \"@material-ui/core/styles\";\nimport { Link } from \"gatsby\";\n\nconst styles = {\n card: {\n width: 245,\n minHeight: 145,\n textAlign: \"center\"\n },\n link: {\n textDecoration: \"none\"\n }\n // media: {\n // height: 140\n // }\n};\n\nconst Npo = ({ classes, url, title }) => {\n return (\n // \n \n \n \n {/* */}\n {/* */}\n {/* */}\n \n {/* */}\n {title}\n \n \n \n \n );\n};\n\nexport default withStyles(styles)(Npo);\n","'use strict';\n\nrequire(\"core-js/modules/es6.regexp.to-string\");\n\nrequire(\"core-js/modules/es6.date.to-string\");\n\nrequire(\"core-js/modules/es6.object.to-string\");\n\nrequire(\"core-js/modules/es6.array.is-array\");\n\nrequire(\"core-js/modules/es6.array.find\");\n\nexports.__esModule = true;\nexports.tokenize = exports.test = exports.scanner = exports.parser = exports.options = exports.inherits = exports.find = undefined;\n\nvar _class = require('./linkify/utils/class');\n\nvar _options = require('./linkify/utils/options');\n\nvar options = _interopRequireWildcard(_options);\n\nvar _scanner = require('./linkify/core/scanner');\n\nvar scanner = _interopRequireWildcard(_scanner);\n\nvar _parser = require('./linkify/core/parser');\n\nvar parser = _interopRequireWildcard(_parser);\n\nfunction _interopRequireWildcard(obj) {\n if (obj && obj.__esModule) {\n return obj;\n } else {\n var newObj = {};\n\n if (obj != null) {\n for (var key in obj) {\n if (Object.prototype.hasOwnProperty.call(obj, key)) newObj[key] = obj[key];\n }\n }\n\n newObj[\"default\"] = obj;\n return newObj;\n }\n}\n\nif (!Array.isArray) {\n Array.isArray = function (arg) {\n return Object.prototype.toString.call(arg) === '[object Array]';\n };\n}\n/**\n\tConverts a string into tokens that represent linkable and non-linkable bits\n\t@method tokenize\n\t@param {String} str\n\t@return {Array} tokens\n*/\n\n\nvar tokenize = function tokenize(str) {\n return parser.run(scanner.run(str));\n};\n/**\n\tReturns a list of linkable items in the given string.\n*/\n\n\nvar find = function find(str) {\n var type = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : null;\n var tokens = tokenize(str);\n var filtered = [];\n\n for (var i = 0; i < tokens.length; i++) {\n var token = tokens[i];\n\n if (token.isLink && (!type || token.type === type)) {\n filtered.push(token.toObject());\n }\n }\n\n return filtered;\n};\n/**\n\tIs the given string valid linkable text of some sort\n\tNote that this does not trim the text for you.\n\n\tOptionally pass in a second `type` param, which is the type of link to test\n\tfor.\n\n\tFor example,\n\n\t\ttest(str, 'email');\n\n\tWill return `true` if str is a valid email.\n*/\n\n\nvar test = function test(str) {\n var type = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : null;\n var tokens = tokenize(str);\n return tokens.length === 1 && tokens[0].isLink && (!type || tokens[0].type === type);\n}; // Scanner and parser provide states and tokens for the lexicographic stage\n// (will be used to add additional link types)\n\n\nexports.find = find;\nexports.inherits = _class.inherits;\nexports.options = options;\nexports.parser = parser;\nexports.scanner = scanner;\nexports.test = test;\nexports.tokenize = tokenize;","'use strict';\n\nrequire(\"core-js/modules/es6.regexp.to-string\");\n\nrequire(\"core-js/modules/es6.date.to-string\");\n\nrequire(\"core-js/modules/es6.object.to-string\");\n\nrequire(\"core-js/modules/es7.symbol.async-iterator\");\n\nrequire(\"core-js/modules/es6.symbol\");\n\nexports.__esModule = true;\n\nvar _typeof = typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\" ? function (obj) {\n return typeof obj;\n} : function (obj) {\n return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj;\n};\n\nvar defaults = {\n defaultProtocol: 'http',\n events: null,\n format: noop,\n formatHref: noop,\n nl2br: false,\n tagName: 'a',\n target: typeToTarget,\n validate: true,\n ignoreTags: [],\n attributes: null,\n className: 'linkified' // Deprecated value - no default class will be provided in the future\n\n};\nexports.defaults = defaults;\nexports.Options = Options;\nexports.contains = contains;\n\nfunction Options(opts) {\n opts = opts || {};\n this.defaultProtocol = opts.hasOwnProperty('defaultProtocol') ? opts.defaultProtocol : defaults.defaultProtocol;\n this.events = opts.hasOwnProperty('events') ? opts.events : defaults.events;\n this.format = opts.hasOwnProperty('format') ? opts.format : defaults.format;\n this.formatHref = opts.hasOwnProperty('formatHref') ? opts.formatHref : defaults.formatHref;\n this.nl2br = opts.hasOwnProperty('nl2br') ? opts.nl2br : defaults.nl2br;\n this.tagName = opts.hasOwnProperty('tagName') ? opts.tagName : defaults.tagName;\n this.target = opts.hasOwnProperty('target') ? opts.target : defaults.target;\n this.validate = opts.hasOwnProperty('validate') ? opts.validate : defaults.validate;\n this.ignoreTags = []; // linkAttributes and linkClass is deprecated\n\n this.attributes = opts.attributes || opts.linkAttributes || defaults.attributes;\n this.className = opts.hasOwnProperty('className') ? opts.className : opts.linkClass || defaults.className; // Make all tags names upper case\n\n var ignoredTags = opts.hasOwnProperty('ignoreTags') ? opts.ignoreTags : defaults.ignoreTags;\n\n for (var i = 0; i < ignoredTags.length; i++) {\n this.ignoreTags.push(ignoredTags[i].toUpperCase());\n }\n}\n\nOptions.prototype = {\n /**\n * Given the token, return all options for how it should be displayed\n */\n resolve: function resolve(token) {\n var href = token.toHref(this.defaultProtocol);\n return {\n formatted: this.get('format', token.toString(), token),\n formattedHref: this.get('formatHref', href, token),\n tagName: this.get('tagName', href, token),\n className: this.get('className', href, token),\n target: this.get('target', href, token),\n events: this.getObject('events', href, token),\n attributes: this.getObject('attributes', href, token)\n };\n },\n\n /**\n * Returns true or false based on whether a token should be displayed as a\n * link based on the user options. By default,\n */\n check: function check(token) {\n return this.get('validate', token.toString(), token);\n },\n // Private methods\n\n /**\n * Resolve an option's value based on the value of the option and the given\n * params.\n * @param {String} key Name of option to use\n * @param operator will be passed to the target option if it's method\n * @param {MultiToken} token The token from linkify.tokenize\n */\n get: function get(key, operator, token) {\n var optionValue = void 0,\n option = this[key];\n\n if (!option) {\n return option;\n }\n\n switch (typeof option === 'undefined' ? 'undefined' : _typeof(option)) {\n case 'function':\n return option(operator, token.type);\n\n case 'object':\n optionValue = option.hasOwnProperty(token.type) ? option[token.type] : defaults[key];\n return typeof optionValue === 'function' ? optionValue(operator, token.type) : optionValue;\n }\n\n return option;\n },\n getObject: function getObject(key, operator, token) {\n var option = this[key];\n return typeof option === 'function' ? option(operator, token.type) : option;\n }\n};\n/**\n * Quick indexOf replacement for checking the ignoreTags option\n */\n\nfunction contains(arr, value) {\n for (var i = 0; i < arr.length; i++) {\n if (arr[i] === value) {\n return true;\n }\n }\n\n return false;\n}\n\nfunction noop(val) {\n return val;\n}\n\nfunction typeToTarget(href, type) {\n return type === 'url' ? '_blank' : null;\n}","\"use strict\";\n\nrequire(\"core-js/modules/web.dom.iterable\");\n\nrequire(\"core-js/modules/es6.array.iterator\");\n\nrequire(\"core-js/modules/es6.object.to-string\");\n\nrequire(\"core-js/modules/es6.array.reduce\");\n\nrequire(\"core-js/modules/es6.array.for-each\");\n\nrequire(\"core-js/modules/es6.object.define-property\");\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports[\"default\"] = exports.styles = void 0;\n\nvar _defineProperty2 = _interopRequireDefault(require(\"@babel/runtime/helpers/defineProperty\"));\n\nvar _objectWithoutProperties2 = _interopRequireDefault(require(\"@babel/runtime/helpers/objectWithoutProperties\"));\n\nvar _extends2 = _interopRequireDefault(require(\"@babel/runtime/helpers/extends\"));\n\nvar _react = _interopRequireDefault(require(\"react\"));\n\nvar _propTypes = _interopRequireDefault(require(\"prop-types\"));\n\nvar _classnames = _interopRequireDefault(require(\"classnames\"));\n\nvar _utils = require(\"@material-ui/utils\");\n\nvar _withStyles = _interopRequireDefault(require(\"../styles/withStyles\"));\n\nvar _createBreakpoints = require(\"../styles/createBreakpoints\");\n\nvar _requirePropFactory = _interopRequireDefault(require(\"../utils/requirePropFactory\")); // A grid component using the following libs as inspiration.\n//\n// For the implementation:\n// - http://v4-alpha.getbootstrap.com/layout/flexbox-grid/\n// - https://github.com/kristoferjoseph/flexboxgrid/blob/master/src/css/flexboxgrid.css\n// - https://github.com/roylee0704/react-flexbox-grid\n// - https://material.angularjs.org/latest/layout/introduction\n//\n// Follow this flexbox Guide to better understand the underlying model:\n// - https://css-tricks.com/snippets/css/a-guide-to-flexbox/\n\n\nvar GUTTERS = [0, 8, 16, 24, 32, 40];\nvar GRID_SIZES = ['auto', true, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12];\n\nfunction generateGrid(globalStyles, theme, breakpoint) {\n var styles = {};\n GRID_SIZES.forEach(function (size) {\n var key = \"grid-\".concat(breakpoint, \"-\").concat(size);\n\n if (size === true) {\n // For the auto layouting\n styles[key] = {\n flexBasis: 0,\n flexGrow: 1,\n maxWidth: '100%'\n };\n return;\n }\n\n if (size === 'auto') {\n styles[key] = {\n flexBasis: 'auto',\n flexGrow: 0,\n maxWidth: 'none'\n };\n return;\n } // Keep 7 significant numbers.\n\n\n var width = \"\".concat(Math.round(size / 12 * 10e7) / 10e5, \"%\"); // Close to the bootstrap implementation:\n // https://github.com/twbs/bootstrap/blob/8fccaa2439e97ec72a4b7dc42ccc1f649790adb0/scss/mixins/_grid.scss#L41\n\n styles[key] = {\n flexBasis: width,\n flexGrow: 0,\n maxWidth: width\n };\n }); // No need for a media query for the first size.\n\n if (breakpoint === 'xs') {\n (0, _extends2[\"default\"])(globalStyles, styles);\n } else {\n globalStyles[theme.breakpoints.up(breakpoint)] = styles;\n }\n}\n\nfunction generateGutter(theme, breakpoint) {\n var styles = {};\n GUTTERS.forEach(function (spacing, index) {\n if (index === 0) {\n // Skip the default style.\n return;\n }\n\n styles[\"spacing-\".concat(breakpoint, \"-\").concat(spacing)] = {\n margin: -spacing / 2,\n width: \"calc(100% + \".concat(spacing, \"px)\"),\n '& > $item': {\n padding: spacing / 2\n }\n };\n });\n return styles;\n} // Default CSS values\n// flex: '0 1 auto',\n// flexDirection: 'row',\n// alignItems: 'flex-start',\n// flexWrap: 'nowrap',\n// justifyContent: 'flex-start',\n\n\nvar styles = function styles(theme) {\n return (0, _extends2[\"default\"])({\n /* Styles applied to the root element if `container={true}`. */\n container: {\n boxSizing: 'border-box',\n display: 'flex',\n flexWrap: 'wrap',\n width: '100%'\n },\n\n /* Styles applied to the root element if `item={true}`. */\n item: {\n boxSizing: 'border-box',\n margin: '0' // For instance, it's useful when used with a `figure` element.\n\n },\n\n /* Styles applied to the root element if `zeroMinWidth={true}`. */\n zeroMinWidth: {\n minWidth: 0\n },\n\n /* Styles applied to the root element if `direction=\"column\"`. */\n 'direction-xs-column': {\n flexDirection: 'column'\n },\n\n /* Styles applied to the root element if `direction=\"column-reverse\"`. */\n 'direction-xs-column-reverse': {\n flexDirection: 'column-reverse'\n },\n\n /* Styles applied to the root element if `direction=\"rwo-reverse\"`. */\n 'direction-xs-row-reverse': {\n flexDirection: 'row-reverse'\n },\n\n /* Styles applied to the root element if `wrap=\"nowrap\"`. */\n 'wrap-xs-nowrap': {\n flexWrap: 'nowrap'\n },\n\n /* Styles applied to the root element if `wrap=\"reverse\"`. */\n 'wrap-xs-wrap-reverse': {\n flexWrap: 'wrap-reverse'\n },\n\n /* Styles applied to the root element if `alignItems=\"center\"`. */\n 'align-items-xs-center': {\n alignItems: 'center'\n },\n\n /* Styles applied to the root element if `alignItems=\"flex-start\"`. */\n 'align-items-xs-flex-start': {\n alignItems: 'flex-start'\n },\n\n /* Styles applied to the root element if `alignItems=\"flex-end\"`. */\n 'align-items-xs-flex-end': {\n alignItems: 'flex-end'\n },\n\n /* Styles applied to the root element if `alignItems=\"baseline\"`. */\n 'align-items-xs-baseline': {\n alignItems: 'baseline'\n },\n\n /* Styles applied to the root element if `alignContent=\"center\"`. */\n 'align-content-xs-center': {\n alignContent: 'center'\n },\n\n /* Styles applied to the root element if `alignContent=\"flex-start\"`. */\n 'align-content-xs-flex-start': {\n alignContent: 'flex-start'\n },\n\n /* Styles applied to the root element if `alignContent=\"flex-end\"`. */\n 'align-content-xs-flex-end': {\n alignContent: 'flex-end'\n },\n\n /* Styles applied to the root element if `alignContent=\"space-between\"`. */\n 'align-content-xs-space-between': {\n alignContent: 'space-between'\n },\n\n /* Styles applied to the root element if `alignContent=\"space-around\"`. */\n 'align-content-xs-space-around': {\n alignContent: 'space-around'\n },\n\n /* Styles applied to the root element if `justify=\"center\"`. */\n 'justify-xs-center': {\n justifyContent: 'center'\n },\n\n /* Styles applied to the root element if `justify=\"flex-end\"`. */\n 'justify-xs-flex-end': {\n justifyContent: 'flex-end'\n },\n\n /* Styles applied to the root element if `justify=\"space-between\"`. */\n 'justify-xs-space-between': {\n justifyContent: 'space-between'\n },\n\n /* Styles applied to the root element if `justify=\"space-around\"`. */\n 'justify-xs-space-around': {\n justifyContent: 'space-around'\n },\n\n /* Styles applied to the root element if `justify=\"space-evenly\"`. */\n 'justify-xs-space-evenly': {\n justifyContent: 'space-evenly'\n }\n }, generateGutter(theme, 'xs'), _createBreakpoints.keys.reduce(function (accumulator, key) {\n // Use side effect over immutability for better performance.\n generateGrid(accumulator, theme, key);\n return accumulator;\n }, {}));\n};\n\nexports.styles = styles;\n\nfunction Grid(props) {\n var _classNames;\n\n var alignContent = props.alignContent,\n alignItems = props.alignItems,\n classes = props.classes,\n classNameProp = props.className,\n Component = props.component,\n container = props.container,\n direction = props.direction,\n item = props.item,\n justify = props.justify,\n lg = props.lg,\n md = props.md,\n sm = props.sm,\n spacing = props.spacing,\n wrap = props.wrap,\n xl = props.xl,\n xs = props.xs,\n zeroMinWidth = props.zeroMinWidth,\n other = (0, _objectWithoutProperties2[\"default\"])(props, [\"alignContent\", \"alignItems\", \"classes\", \"className\", \"component\", \"container\", \"direction\", \"item\", \"justify\", \"lg\", \"md\", \"sm\", \"spacing\", \"wrap\", \"xl\", \"xs\", \"zeroMinWidth\"]);\n var className = (0, _classnames[\"default\"])((_classNames = {}, (0, _defineProperty2[\"default\"])(_classNames, classes.container, container), (0, _defineProperty2[\"default\"])(_classNames, classes.item, item), (0, _defineProperty2[\"default\"])(_classNames, classes.zeroMinWidth, zeroMinWidth), (0, _defineProperty2[\"default\"])(_classNames, classes[\"spacing-xs-\".concat(String(spacing))], container && spacing !== 0), (0, _defineProperty2[\"default\"])(_classNames, classes[\"direction-xs-\".concat(String(direction))], direction !== Grid.defaultProps.direction), (0, _defineProperty2[\"default\"])(_classNames, classes[\"wrap-xs-\".concat(String(wrap))], wrap !== Grid.defaultProps.wrap), (0, _defineProperty2[\"default\"])(_classNames, classes[\"align-items-xs-\".concat(String(alignItems))], alignItems !== Grid.defaultProps.alignItems), (0, _defineProperty2[\"default\"])(_classNames, classes[\"align-content-xs-\".concat(String(alignContent))], alignContent !== Grid.defaultProps.alignContent), (0, _defineProperty2[\"default\"])(_classNames, classes[\"justify-xs-\".concat(String(justify))], justify !== Grid.defaultProps.justify), (0, _defineProperty2[\"default\"])(_classNames, classes[\"grid-xs-\".concat(String(xs))], xs !== false), (0, _defineProperty2[\"default\"])(_classNames, classes[\"grid-sm-\".concat(String(sm))], sm !== false), (0, _defineProperty2[\"default\"])(_classNames, classes[\"grid-md-\".concat(String(md))], md !== false), (0, _defineProperty2[\"default\"])(_classNames, classes[\"grid-lg-\".concat(String(lg))], lg !== false), (0, _defineProperty2[\"default\"])(_classNames, classes[\"grid-xl-\".concat(String(xl))], xl !== false), _classNames), classNameProp);\n return _react[\"default\"].createElement(Component, (0, _extends2[\"default\"])({\n className: className\n }, other));\n}\n\nprocess.env.NODE_ENV !== \"production\" ? Grid.propTypes = {\n /**\n * Defines the `align-content` style property.\n * It's applied for all screen sizes.\n */\n alignContent: _propTypes[\"default\"].oneOf(['stretch', 'center', 'flex-start', 'flex-end', 'space-between', 'space-around']),\n\n /**\n * Defines the `align-items` style property.\n * It's applied for all screen sizes.\n */\n alignItems: _propTypes[\"default\"].oneOf(['flex-start', 'center', 'flex-end', 'stretch', 'baseline']),\n\n /**\n * The content of the component.\n */\n children: _propTypes[\"default\"].node,\n\n /**\n * Override or extend the styles applied to the component.\n * See [CSS API](#css-api) below for more details.\n */\n classes: _propTypes[\"default\"].object.isRequired,\n\n /**\n * @ignore\n */\n className: _propTypes[\"default\"].string,\n\n /**\n * The component used for the root node.\n * Either a string to use a DOM element or a component.\n */\n component: _utils.componentPropType,\n\n /**\n * If `true`, the component will have the flex *container* behavior.\n * You should be wrapping *items* with a *container*.\n */\n container: _propTypes[\"default\"].bool,\n\n /**\n * Defines the `flex-direction` style property.\n * It is applied for all screen sizes.\n */\n direction: _propTypes[\"default\"].oneOf(['row', 'row-reverse', 'column', 'column-reverse']),\n\n /**\n * If `true`, the component will have the flex *item* behavior.\n * You should be wrapping *items* with a *container*.\n */\n item: _propTypes[\"default\"].bool,\n\n /**\n * Defines the `justify-content` style property.\n * It is applied for all screen sizes.\n */\n justify: _propTypes[\"default\"].oneOf(['flex-start', 'center', 'flex-end', 'space-between', 'space-around', 'space-evenly']),\n\n /**\n * Defines the number of grids the component is going to use.\n * It's applied for the `lg` breakpoint and wider screens if not overridden.\n */\n lg: _propTypes[\"default\"].oneOf([false, 'auto', true, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12]),\n\n /**\n * Defines the number of grids the component is going to use.\n * It's applied for the `md` breakpoint and wider screens if not overridden.\n */\n md: _propTypes[\"default\"].oneOf([false, 'auto', true, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12]),\n\n /**\n * Defines the number of grids the component is going to use.\n * It's applied for the `sm` breakpoint and wider screens if not overridden.\n */\n sm: _propTypes[\"default\"].oneOf([false, 'auto', true, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12]),\n\n /**\n * Defines the space between the type `item` component.\n * It can only be used on a type `container` component.\n */\n spacing: _propTypes[\"default\"].oneOf(GUTTERS),\n\n /**\n * Defines the `flex-wrap` style property.\n * It's applied for all screen sizes.\n */\n wrap: _propTypes[\"default\"].oneOf(['nowrap', 'wrap', 'wrap-reverse']),\n\n /**\n * Defines the number of grids the component is going to use.\n * It's applied for the `xl` breakpoint and wider screens.\n */\n xl: _propTypes[\"default\"].oneOf([false, 'auto', true, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12]),\n\n /**\n * Defines the number of grids the component is going to use.\n * It's applied for all the screen sizes with the lowest priority.\n */\n xs: _propTypes[\"default\"].oneOf([false, 'auto', true, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12]),\n\n /**\n * If `true`, it sets `min-width: 0` on the item.\n * Refer to the limitations section of the documentation to better understand the use case.\n */\n zeroMinWidth: _propTypes[\"default\"].bool\n} : void 0;\nGrid.defaultProps = {\n alignContent: 'stretch',\n alignItems: 'stretch',\n component: 'div',\n container: false,\n direction: 'row',\n item: false,\n justify: 'flex-start',\n lg: false,\n md: false,\n sm: false,\n spacing: 0,\n wrap: 'wrap',\n xl: false,\n xs: false,\n zeroMinWidth: false\n};\nvar StyledGrid = (0, _withStyles[\"default\"])(styles, {\n name: 'MuiGrid'\n})(Grid);\n\nif (process.env.NODE_ENV !== 'production') {\n var requireProp = (0, _requirePropFactory[\"default\"])('Grid');\n StyledGrid.propTypes = (0, _extends2[\"default\"])({}, StyledGrid.propTypes, {\n alignContent: requireProp('container'),\n alignItems: requireProp('container'),\n direction: requireProp('container'),\n justify: requireProp('container'),\n lg: requireProp('item'),\n md: requireProp('item'),\n sm: requireProp('item'),\n spacing: requireProp('container'),\n wrap: requireProp('container'),\n xs: requireProp('item'),\n zeroMinWidth: requireProp('zeroMinWidth')\n });\n}\n\nvar _default = StyledGrid;\nexports[\"default\"] = _default;","'use strict';\n\nexports.__esModule = true;\nexports.start = exports.run = exports.TOKENS = exports.State = undefined;\n\nvar _state = require('./state');\n\nvar _multi = require('./tokens/multi');\n\nvar MULTI_TOKENS = _interopRequireWildcard(_multi);\n\nvar _text = require('./tokens/text');\n\nfunction _interopRequireWildcard(obj) {\n if (obj && obj.__esModule) {\n return obj;\n } else {\n var newObj = {};\n\n if (obj != null) {\n for (var key in obj) {\n if (Object.prototype.hasOwnProperty.call(obj, key)) newObj[key] = obj[key];\n }\n }\n\n newObj[\"default\"] = obj;\n return newObj;\n }\n}\n/**\n\tNot exactly parser, more like the second-stage scanner (although we can\n\ttheoretically hotswap the code here with a real parser in the future... but\n\tfor a little URL-finding utility abstract syntax trees may be a little\n\toverkill).\n\n\tURL format: http://en.wikipedia.org/wiki/URI_scheme\n\tEmail format: http://en.wikipedia.org/wiki/Email_address (links to RFC in\n\treference)\n\n\t@module linkify\n\t@submodule parser\n\t@main parser\n*/\n\n\nvar makeState = function makeState(tokenClass) {\n return new _state.TokenState(tokenClass);\n}; // The universal starting state.\n\n\nvar S_START = makeState(); // Intermediate states for URLs. Note that domains that begin with a protocol\n// are treated slighly differently from those that don't.\n\nvar S_PROTOCOL = makeState(); // e.g., 'http:'\n\nvar S_MAILTO = makeState(); // 'mailto:'\n\nvar S_PROTOCOL_SLASH = makeState(); // e.g., '/', 'http:/''\n\nvar S_PROTOCOL_SLASH_SLASH = makeState(); // e.g., '//', 'http://'\n\nvar S_DOMAIN = makeState(); // parsed string ends with a potential domain name (A)\n\nvar S_DOMAIN_DOT = makeState(); // (A) domain followed by DOT\n\nvar S_TLD = makeState(_multi.URL); // (A) Simplest possible URL with no query string\n\nvar S_TLD_COLON = makeState(); // (A) URL followed by colon (potential port number here)\n\nvar S_TLD_PORT = makeState(_multi.URL); // TLD followed by a port number\n\nvar S_URL = makeState(_multi.URL); // Long URL with optional port and maybe query string\n\nvar S_URL_NON_ACCEPTING = makeState(); // URL followed by some symbols (will not be part of the final URL)\n\nvar S_URL_OPENBRACE = makeState(); // URL followed by {\n\nvar S_URL_OPENBRACKET = makeState(); // URL followed by [\n\nvar S_URL_OPENANGLEBRACKET = makeState(); // URL followed by <\n\nvar S_URL_OPENPAREN = makeState(); // URL followed by (\n\nvar S_URL_OPENBRACE_Q = makeState(_multi.URL); // URL followed by { and some symbols that the URL can end it\n\nvar S_URL_OPENBRACKET_Q = makeState(_multi.URL); // URL followed by [ and some symbols that the URL can end it\n\nvar S_URL_OPENANGLEBRACKET_Q = makeState(_multi.URL); // URL followed by < and some symbols that the URL can end it\n\nvar S_URL_OPENPAREN_Q = makeState(_multi.URL); // URL followed by ( and some symbols that the URL can end it\n\nvar S_URL_OPENBRACE_SYMS = makeState(); // S_URL_OPENBRACE_Q followed by some symbols it cannot end it\n\nvar S_URL_OPENBRACKET_SYMS = makeState(); // S_URL_OPENBRACKET_Q followed by some symbols it cannot end it\n\nvar S_URL_OPENANGLEBRACKET_SYMS = makeState(); // S_URL_OPENANGLEBRACKET_Q followed by some symbols it cannot end it\n\nvar S_URL_OPENPAREN_SYMS = makeState(); // S_URL_OPENPAREN_Q followed by some symbols it cannot end it\n\nvar S_EMAIL_DOMAIN = makeState(); // parsed string starts with local email info + @ with a potential domain name (C)\n\nvar S_EMAIL_DOMAIN_DOT = makeState(); // (C) domain followed by DOT\n\nvar S_EMAIL = makeState(_multi.EMAIL); // (C) Possible email address (could have more tlds)\n\nvar S_EMAIL_COLON = makeState(); // (C) URL followed by colon (potential port number here)\n\nvar S_EMAIL_PORT = makeState(_multi.EMAIL); // (C) Email address with a port\n\nvar S_MAILTO_EMAIL = makeState(_multi.MAILTOEMAIL); // Email that begins with the mailto prefix (D)\n\nvar S_MAILTO_EMAIL_NON_ACCEPTING = makeState(); // (D) Followed by some non-query string chars\n\nvar S_LOCALPART = makeState(); // Local part of the email address\n\nvar S_LOCALPART_AT = makeState(); // Local part of the email address plus @\n\nvar S_LOCALPART_DOT = makeState(); // Local part of the email address plus '.' (localpart cannot end in .)\n\nvar S_NL = makeState(_multi.NL); // single new line\n// Make path from start to protocol (with '//')\n\nS_START.on(_text.NL, S_NL).on(_text.PROTOCOL, S_PROTOCOL).on(_text.MAILTO, S_MAILTO).on(_text.SLASH, S_PROTOCOL_SLASH);\nS_PROTOCOL.on(_text.SLASH, S_PROTOCOL_SLASH);\nS_PROTOCOL_SLASH.on(_text.SLASH, S_PROTOCOL_SLASH_SLASH); // The very first potential domain name\n\nS_START.on(_text.TLD, S_DOMAIN).on(_text.DOMAIN, S_DOMAIN).on(_text.LOCALHOST, S_TLD).on(_text.NUM, S_DOMAIN); // Force URL for protocol followed by anything sane\n\nS_PROTOCOL_SLASH_SLASH.on(_text.TLD, S_URL).on(_text.DOMAIN, S_URL).on(_text.NUM, S_URL).on(_text.LOCALHOST, S_URL); // Account for dots and hyphens\n// hyphens are usually parts of domain names\n\nS_DOMAIN.on(_text.DOT, S_DOMAIN_DOT);\nS_EMAIL_DOMAIN.on(_text.DOT, S_EMAIL_DOMAIN_DOT); // Hyphen can jump back to a domain name\n// After the first domain and a dot, we can find either a URL or another domain\n\nS_DOMAIN_DOT.on(_text.TLD, S_TLD).on(_text.DOMAIN, S_DOMAIN).on(_text.NUM, S_DOMAIN).on(_text.LOCALHOST, S_DOMAIN);\nS_EMAIL_DOMAIN_DOT.on(_text.TLD, S_EMAIL).on(_text.DOMAIN, S_EMAIL_DOMAIN).on(_text.NUM, S_EMAIL_DOMAIN).on(_text.LOCALHOST, S_EMAIL_DOMAIN); // S_TLD accepts! But the URL could be longer, try to find a match greedily\n// The `run` function should be able to \"rollback\" to the accepting state\n\nS_TLD.on(_text.DOT, S_DOMAIN_DOT);\nS_EMAIL.on(_text.DOT, S_EMAIL_DOMAIN_DOT); // Become real URLs after `SLASH` or `COLON NUM SLASH`\n// Here PSS and non-PSS converge\n\nS_TLD.on(_text.COLON, S_TLD_COLON).on(_text.SLASH, S_URL);\nS_TLD_COLON.on(_text.NUM, S_TLD_PORT);\nS_TLD_PORT.on(_text.SLASH, S_URL);\nS_EMAIL.on(_text.COLON, S_EMAIL_COLON);\nS_EMAIL_COLON.on(_text.NUM, S_EMAIL_PORT); // Types of characters the URL can definitely end in\n\nvar qsAccepting = [_text.DOMAIN, _text.AT, _text.LOCALHOST, _text.NUM, _text.PLUS, _text.POUND, _text.PROTOCOL, _text.SLASH, _text.TLD, _text.UNDERSCORE, _text.SYM, _text.AMPERSAND]; // Types of tokens that can follow a URL and be part of the query string\n// but cannot be the very last characters\n// Characters that cannot appear in the URL at all should be excluded\n\nvar qsNonAccepting = [_text.COLON, _text.DOT, _text.QUERY, _text.PUNCTUATION, _text.CLOSEBRACE, _text.CLOSEBRACKET, _text.CLOSEANGLEBRACKET, _text.CLOSEPAREN, _text.OPENBRACE, _text.OPENBRACKET, _text.OPENANGLEBRACKET, _text.OPENPAREN]; // These states are responsible primarily for determining whether or not to\n// include the final round bracket.\n// URL, followed by an opening bracket\n\nS_URL.on(_text.OPENBRACE, S_URL_OPENBRACE).on(_text.OPENBRACKET, S_URL_OPENBRACKET).on(_text.OPENANGLEBRACKET, S_URL_OPENANGLEBRACKET).on(_text.OPENPAREN, S_URL_OPENPAREN); // URL with extra symbols at the end, followed by an opening bracket\n\nS_URL_NON_ACCEPTING.on(_text.OPENBRACE, S_URL_OPENBRACE).on(_text.OPENBRACKET, S_URL_OPENBRACKET).on(_text.OPENANGLEBRACKET, S_URL_OPENANGLEBRACKET).on(_text.OPENPAREN, S_URL_OPENPAREN); // Closing bracket component. This character WILL be included in the URL\n\nS_URL_OPENBRACE.on(_text.CLOSEBRACE, S_URL);\nS_URL_OPENBRACKET.on(_text.CLOSEBRACKET, S_URL);\nS_URL_OPENANGLEBRACKET.on(_text.CLOSEANGLEBRACKET, S_URL);\nS_URL_OPENPAREN.on(_text.CLOSEPAREN, S_URL);\nS_URL_OPENBRACE_Q.on(_text.CLOSEBRACE, S_URL);\nS_URL_OPENBRACKET_Q.on(_text.CLOSEBRACKET, S_URL);\nS_URL_OPENANGLEBRACKET_Q.on(_text.CLOSEANGLEBRACKET, S_URL);\nS_URL_OPENPAREN_Q.on(_text.CLOSEPAREN, S_URL);\nS_URL_OPENBRACE_SYMS.on(_text.CLOSEBRACE, S_URL);\nS_URL_OPENBRACKET_SYMS.on(_text.CLOSEBRACKET, S_URL);\nS_URL_OPENANGLEBRACKET_SYMS.on(_text.CLOSEANGLEBRACKET, S_URL);\nS_URL_OPENPAREN_SYMS.on(_text.CLOSEPAREN, S_URL); // URL that beings with an opening bracket, followed by a symbols.\n// Note that the final state can still be `S_URL_OPENBRACE_Q` (if the URL only\n// has a single opening bracket for some reason).\n\nS_URL_OPENBRACE.on(qsAccepting, S_URL_OPENBRACE_Q);\nS_URL_OPENBRACKET.on(qsAccepting, S_URL_OPENBRACKET_Q);\nS_URL_OPENANGLEBRACKET.on(qsAccepting, S_URL_OPENANGLEBRACKET_Q);\nS_URL_OPENPAREN.on(qsAccepting, S_URL_OPENPAREN_Q);\nS_URL_OPENBRACE.on(qsNonAccepting, S_URL_OPENBRACE_SYMS);\nS_URL_OPENBRACKET.on(qsNonAccepting, S_URL_OPENBRACKET_SYMS);\nS_URL_OPENANGLEBRACKET.on(qsNonAccepting, S_URL_OPENANGLEBRACKET_SYMS);\nS_URL_OPENPAREN.on(qsNonAccepting, S_URL_OPENPAREN_SYMS); // URL that begins with an opening bracket, followed by some symbols\n\nS_URL_OPENBRACE_Q.on(qsAccepting, S_URL_OPENBRACE_Q);\nS_URL_OPENBRACKET_Q.on(qsAccepting, S_URL_OPENBRACKET_Q);\nS_URL_OPENANGLEBRACKET_Q.on(qsAccepting, S_URL_OPENANGLEBRACKET_Q);\nS_URL_OPENPAREN_Q.on(qsAccepting, S_URL_OPENPAREN_Q);\nS_URL_OPENBRACE_Q.on(qsNonAccepting, S_URL_OPENBRACE_Q);\nS_URL_OPENBRACKET_Q.on(qsNonAccepting, S_URL_OPENBRACKET_Q);\nS_URL_OPENANGLEBRACKET_Q.on(qsNonAccepting, S_URL_OPENANGLEBRACKET_Q);\nS_URL_OPENPAREN_Q.on(qsNonAccepting, S_URL_OPENPAREN_Q);\nS_URL_OPENBRACE_SYMS.on(qsAccepting, S_URL_OPENBRACE_Q);\nS_URL_OPENBRACKET_SYMS.on(qsAccepting, S_URL_OPENBRACKET_Q);\nS_URL_OPENANGLEBRACKET_SYMS.on(qsAccepting, S_URL_OPENANGLEBRACKET_Q);\nS_URL_OPENPAREN_SYMS.on(qsAccepting, S_URL_OPENPAREN_Q);\nS_URL_OPENBRACE_SYMS.on(qsNonAccepting, S_URL_OPENBRACE_SYMS);\nS_URL_OPENBRACKET_SYMS.on(qsNonAccepting, S_URL_OPENBRACKET_SYMS);\nS_URL_OPENANGLEBRACKET_SYMS.on(qsNonAccepting, S_URL_OPENANGLEBRACKET_SYMS);\nS_URL_OPENPAREN_SYMS.on(qsNonAccepting, S_URL_OPENPAREN_SYMS); // Account for the query string\n\nS_URL.on(qsAccepting, S_URL);\nS_URL_NON_ACCEPTING.on(qsAccepting, S_URL);\nS_URL.on(qsNonAccepting, S_URL_NON_ACCEPTING);\nS_URL_NON_ACCEPTING.on(qsNonAccepting, S_URL_NON_ACCEPTING); // Email address-specific state definitions\n// Note: We are not allowing '/' in email addresses since this would interfere\n// with real URLs\n// For addresses with the mailto prefix\n// 'mailto:' followed by anything sane is a valid email\n\nS_MAILTO.on(_text.TLD, S_MAILTO_EMAIL).on(_text.DOMAIN, S_MAILTO_EMAIL).on(_text.NUM, S_MAILTO_EMAIL).on(_text.LOCALHOST, S_MAILTO_EMAIL); // Greedily get more potential valid email values\n\nS_MAILTO_EMAIL.on(qsAccepting, S_MAILTO_EMAIL).on(qsNonAccepting, S_MAILTO_EMAIL_NON_ACCEPTING);\nS_MAILTO_EMAIL_NON_ACCEPTING.on(qsAccepting, S_MAILTO_EMAIL).on(qsNonAccepting, S_MAILTO_EMAIL_NON_ACCEPTING); // For addresses without the mailto prefix\n// Tokens allowed in the localpart of the email\n\nvar localpartAccepting = [_text.DOMAIN, _text.NUM, _text.PLUS, _text.POUND, _text.QUERY, _text.UNDERSCORE, _text.SYM, _text.AMPERSAND, _text.TLD]; // Some of the tokens in `localpartAccepting` are already accounted for here and\n// will not be overwritten (don't worry)\n\nS_DOMAIN.on(localpartAccepting, S_LOCALPART).on(_text.AT, S_LOCALPART_AT);\nS_TLD.on(localpartAccepting, S_LOCALPART).on(_text.AT, S_LOCALPART_AT);\nS_DOMAIN_DOT.on(localpartAccepting, S_LOCALPART); // Okay we're on a localpart. Now what?\n// TODO: IP addresses and what if the email starts with numbers?\n\nS_LOCALPART.on(localpartAccepting, S_LOCALPART).on(_text.AT, S_LOCALPART_AT) // close to an email address now\n.on(_text.DOT, S_LOCALPART_DOT);\nS_LOCALPART_DOT.on(localpartAccepting, S_LOCALPART);\nS_LOCALPART_AT.on(_text.TLD, S_EMAIL_DOMAIN).on(_text.DOMAIN, S_EMAIL_DOMAIN).on(_text.LOCALHOST, S_EMAIL); // States following `@` defined above\n\nvar run = function run(tokens) {\n var len = tokens.length;\n var cursor = 0;\n var multis = [];\n var textTokens = [];\n\n while (cursor < len) {\n var state = S_START;\n var secondState = null;\n var nextState = null;\n var multiLength = 0;\n var latestAccepting = null;\n var sinceAccepts = -1;\n\n while (cursor < len && !(secondState = state.next(tokens[cursor]))) {\n // Starting tokens with nowhere to jump to.\n // Consider these to be just plain text\n textTokens.push(tokens[cursor++]);\n }\n\n while (cursor < len && (nextState = secondState || state.next(tokens[cursor]))) {\n // Get the next state\n secondState = null;\n state = nextState; // Keep track of the latest accepting state\n\n if (state.accepts()) {\n sinceAccepts = 0;\n latestAccepting = state;\n } else if (sinceAccepts >= 0) {\n sinceAccepts++;\n }\n\n cursor++;\n multiLength++;\n }\n\n if (sinceAccepts < 0) {\n // No accepting state was found, part of a regular text token\n // Add all the tokens we looked at to the text tokens array\n for (var i = cursor - multiLength; i < cursor; i++) {\n textTokens.push(tokens[i]);\n }\n } else {\n // Accepting state!\n // First close off the textTokens (if available)\n if (textTokens.length > 0) {\n multis.push(new _multi.TEXT(textTokens));\n textTokens = [];\n } // Roll back to the latest accepting state\n\n\n cursor -= sinceAccepts;\n multiLength -= sinceAccepts; // Create a new multitoken\n\n var MULTI = latestAccepting.emit();\n multis.push(new MULTI(tokens.slice(cursor - multiLength, cursor)));\n }\n } // Finally close off the textTokens (if available)\n\n\n if (textTokens.length > 0) {\n multis.push(new _multi.TEXT(textTokens));\n }\n\n return multis;\n};\n\nexports.State = _state.TokenState;\nexports.TOKENS = MULTI_TOKENS;\nexports.run = run;\nexports.start = S_START;","\"use strict\";\n\nexports.__esModule = true;\n\nfunction createTokenClass() {\n return function (value) {\n if (value) {\n this.v = value;\n }\n };\n}\n\nexports.createTokenClass = createTokenClass;","\"use strict\";\n\nrequire(\"core-js/modules/es6.object.define-property\");\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports[\"default\"] = exports.styles = void 0;\n\nvar _extends2 = _interopRequireDefault(require(\"@babel/runtime/helpers/extends\"));\n\nvar _objectWithoutProperties2 = _interopRequireDefault(require(\"@babel/runtime/helpers/objectWithoutProperties\"));\n\nvar _react = _interopRequireDefault(require(\"react\"));\n\nvar _propTypes = _interopRequireDefault(require(\"prop-types\"));\n\nvar _classnames = _interopRequireDefault(require(\"classnames\"));\n\nvar _Paper = _interopRequireDefault(require(\"../Paper\"));\n\nvar _withStyles = _interopRequireDefault(require(\"../styles/withStyles\")); // @inheritedComponent Paper\n\n\nvar styles = {\n /* Styles applied to the root element. */\n root: {\n overflow: 'hidden'\n }\n};\nexports.styles = styles;\n\nfunction Card(props) {\n var classes = props.classes,\n className = props.className,\n raised = props.raised,\n other = (0, _objectWithoutProperties2[\"default\"])(props, [\"classes\", \"className\", \"raised\"]);\n return _react[\"default\"].createElement(_Paper[\"default\"], (0, _extends2[\"default\"])({\n className: (0, _classnames[\"default\"])(classes.root, className),\n elevation: raised ? 8 : 1\n }, other));\n}\n\nprocess.env.NODE_ENV !== \"production\" ? Card.propTypes = {\n /**\n * Override or extend the styles applied to the component.\n * See [CSS API](#css-api) below for more details.\n */\n classes: _propTypes[\"default\"].object.isRequired,\n\n /**\n * @ignore\n */\n className: _propTypes[\"default\"].string,\n\n /**\n * If `true`, the card will use raised styling.\n */\n raised: _propTypes[\"default\"].bool\n} : void 0;\nCard.defaultProps = {\n raised: false\n};\n\nvar _default = (0, _withStyles[\"default\"])(styles, {\n name: 'MuiCard'\n})(Card);\n\nexports[\"default\"] = _default;","import React from \"react\";\nimport { withStyles } from \"@material-ui/core/styles\";\nimport BestPracticesGrid from \"../components/BestPracticesGrid\";\nimport { graphql } from \"gatsby\";\n\nconst styles = {\n card: {\n maxWidth: 345\n }\n // media: {\n // height: 140\n // }\n};\n\nconst BestPracticesPage = ({ data, location, classes }) => {\n console.log(data);\n return ;\n};\nexport default withStyles(styles)(BestPracticesPage);\nexport const query = graphql`\n {\n hasura {\n best_practices {\n title\n id\n }\n }\n }\n`;\n","'use strict';\n\nrequire(\"core-js/modules/es6.array.for-each\");\n\nrequire(\"core-js/modules/es6.regexp.to-string\");\n\nrequire(\"core-js/modules/es6.date.to-string\");\n\nrequire(\"core-js/modules/es6.object.to-string\");\n\nrequire(\"core-js/modules/es6.object.set-prototype-of\");\n\nrequire(\"core-js/modules/es6.object.create\");\n\nexports.__esModule = true;\n\nvar _react = require('react');\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _linkify = require('./linkify');\n\nvar linkify = _interopRequireWildcard(_linkify);\n\nfunction _interopRequireWildcard(obj) {\n if (obj && obj.__esModule) {\n return obj;\n } else {\n var newObj = {};\n\n if (obj != null) {\n for (var key in obj) {\n if (Object.prototype.hasOwnProperty.call(obj, key)) newObj[key] = obj[key];\n }\n }\n\n newObj[\"default\"] = obj;\n return newObj;\n }\n}\n\nfunction _interopRequireDefault(obj) {\n return obj && obj.__esModule ? obj : {\n \"default\": obj\n };\n}\n\nfunction _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n}\n\nfunction _possibleConstructorReturn(self, call) {\n if (!self) {\n throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");\n }\n\n return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self;\n}\n\nfunction _inherits(subClass, superClass) {\n if (typeof superClass !== \"function\" && superClass !== null) {\n throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass);\n }\n\n subClass.prototype = Object.create(superClass && superClass.prototype, {\n constructor: {\n value: subClass,\n enumerable: false,\n writable: true,\n configurable: true\n }\n });\n if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass;\n}\n\nvar options = linkify.options;\nvar Options = options.Options; // Given a string, converts to an array of valid React components\n// (which may include strings)\n\nfunction stringToElements(str, opts) {\n var tokens = linkify.tokenize(str);\n var elements = [];\n var linkId = 0;\n\n for (var i = 0; i < tokens.length; i++) {\n var token = tokens[i];\n\n if (token.type === 'nl' && opts.nl2br) {\n elements.push(_react2[\"default\"].createElement('br', {\n key: 'linkified-' + ++linkId\n }));\n continue;\n } else if (!token.isLink || !opts.check(token)) {\n // Regular text\n elements.push(token.toString());\n continue;\n }\n\n var _opts$resolve = opts.resolve(token),\n formatted = _opts$resolve.formatted,\n formattedHref = _opts$resolve.formattedHref,\n tagName = _opts$resolve.tagName,\n className = _opts$resolve.className,\n target = _opts$resolve.target,\n attributes = _opts$resolve.attributes;\n\n var props = {\n key: 'linkified-' + ++linkId,\n href: formattedHref\n };\n\n if (className) {\n props.className = className;\n }\n\n if (target) {\n props.target = target;\n } // Build up additional attributes\n // Support for events via attributes hash\n\n\n if (attributes) {\n for (var attr in attributes) {\n props[attr] = attributes[attr];\n }\n }\n\n elements.push(_react2[\"default\"].createElement(tagName, props, formatted));\n }\n\n return elements;\n} // Recursively linkify the contents of the given React Element instance\n\n\nfunction linkifyReactElement(element, opts) {\n var elementId = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 0;\n\n if (_react2[\"default\"].Children.count(element.props.children) === 0) {\n // No need to clone if the element had no children\n return element;\n }\n\n var children = [];\n\n _react2[\"default\"].Children.forEach(element.props.children, function (child) {\n if (typeof child === 'string') {\n // ensure that we always generate unique element IDs for keys\n elementId = elementId + 1;\n children.push.apply(children, stringToElements(child, opts));\n } else if (_react2[\"default\"].isValidElement(child)) {\n if (typeof child.type === 'string' && options.contains(opts.ignoreTags, child.type.toUpperCase())) {\n // Don't linkify this element\n children.push(child);\n } else {\n children.push(linkifyReactElement(child, opts, ++elementId));\n }\n } else {\n // Unknown element type, just push\n children.push(child);\n }\n }); // Set a default unique key, copy over remaining props\n\n\n var newProps = {\n key: 'linkified-element-' + elementId\n };\n\n for (var prop in element.props) {\n newProps[prop] = element.props[prop];\n }\n\n return _react2[\"default\"].cloneElement(element, newProps, children);\n}\n\nvar Linkify = function (_React$Component) {\n _inherits(Linkify, _React$Component);\n\n function Linkify() {\n _classCallCheck(this, Linkify);\n\n return _possibleConstructorReturn(this, _React$Component.apply(this, arguments));\n }\n\n Linkify.prototype.render = function render() {\n // Copy over all non-linkify-specific props\n var newProps = {\n key: 'linkified-element-0'\n };\n\n for (var prop in this.props) {\n if (prop !== 'options' && prop !== 'tagName') {\n newProps[prop] = this.props[prop];\n }\n }\n\n var opts = new Options(this.props.options);\n var tagName = this.props.tagName || 'span';\n\n var element = _react2[\"default\"].createElement(tagName, newProps);\n\n return linkifyReactElement(element, opts, 0);\n };\n\n return Linkify;\n}(_react2[\"default\"].Component);\n\nexports[\"default\"] = Linkify;","import React from \"react\";\nimport { useStaticQuery, graphql } from \"gatsby\";\nimport Grid from \"@material-ui/core/Grid\";\nimport { withStyles } from \"@material-ui/core/styles\";\nimport BestPractice from \"./BestPractice\";\n// import Layout from \"../components/layout\";\n\nconst styles = {\n card: {\n maxWidth: 345\n }\n // media: {\n // height: 140\n // }\n};\n\nconst BestPracticesGrid = ({ classes, best_practices }) => {\n const best_practices_elements = best_practices.map(({ id, title }) => (\n \n \n \n ));\n return (\n \n {best_practices_elements}\n \n );\n};\nexport default withStyles(styles)(BestPracticesGrid);\n","'use strict';\n\nexports.__esModule = true;\nexports.AMPERSAND = exports.CLOSEPAREN = exports.CLOSEANGLEBRACKET = exports.CLOSEBRACKET = exports.CLOSEBRACE = exports.OPENPAREN = exports.OPENANGLEBRACKET = exports.OPENBRACKET = exports.OPENBRACE = exports.WS = exports.TLD = exports.SYM = exports.UNDERSCORE = exports.SLASH = exports.MAILTO = exports.PROTOCOL = exports.QUERY = exports.POUND = exports.PLUS = exports.NUM = exports.NL = exports.LOCALHOST = exports.PUNCTUATION = exports.DOT = exports.COLON = exports.AT = exports.DOMAIN = exports.Base = undefined;\n\nvar _createTokenClass = require('./create-token-class');\n\nvar _class = require('../../utils/class');\n/******************************************************************************\n\tText Tokens\n\tTokens composed of strings\n******************************************************************************/\n\n/**\n\tAbstract class used for manufacturing text tokens.\n\tPass in the value this token represents\n\n\t@class TextToken\n\t@abstract\n*/\n\n\nvar TextToken = (0, _createTokenClass.createTokenClass)();\nTextToken.prototype = {\n toString: function toString() {\n return this.v + '';\n }\n};\n\nfunction inheritsToken(value) {\n var props = value ? {\n v: value\n } : {};\n return (0, _class.inherits)(TextToken, (0, _createTokenClass.createTokenClass)(), props);\n}\n/**\n\tA valid domain token\n\t@class DOMAIN\n\t@extends TextToken\n*/\n\n\nvar DOMAIN = inheritsToken();\n/**\n\t@class AT\n\t@extends TextToken\n*/\n\nvar AT = inheritsToken('@');\n/**\n\tRepresents a single colon `:` character\n\n\t@class COLON\n\t@extends TextToken\n*/\n\nvar COLON = inheritsToken(':');\n/**\n\t@class DOT\n\t@extends TextToken\n*/\n\nvar DOT = inheritsToken('.');\n/**\n\tA character class that can surround the URL, but which the URL cannot begin\n\tor end with. Does not include certain English punctuation like parentheses.\n\n\t@class PUNCTUATION\n\t@extends TextToken\n*/\n\nvar PUNCTUATION = inheritsToken();\n/**\n\tThe word localhost (by itself)\n\t@class LOCALHOST\n\t@extends TextToken\n*/\n\nvar LOCALHOST = inheritsToken();\n/**\n\tNewline token\n\t@class NL\n\t@extends TextToken\n*/\n\nvar NL = inheritsToken('\\n');\n/**\n\t@class NUM\n\t@extends TextToken\n*/\n\nvar NUM = inheritsToken();\n/**\n\t@class PLUS\n\t@extends TextToken\n*/\n\nvar PLUS = inheritsToken('+');\n/**\n\t@class POUND\n\t@extends TextToken\n*/\n\nvar POUND = inheritsToken('#');\n/**\n\tRepresents a web URL protocol. Supported types include\n\n\t* `http:`\n\t* `https:`\n\t* `ftp:`\n\t* `ftps:`\n\n\t@class PROTOCOL\n\t@extends TextToken\n*/\n\nvar PROTOCOL = inheritsToken();\n/**\n\tRepresents the start of the email URI protocol\n\n\t@class MAILTO\n\t@extends TextToken\n*/\n\nvar MAILTO = inheritsToken('mailto:');\n/**\n\t@class QUERY\n\t@extends TextToken\n*/\n\nvar QUERY = inheritsToken('?');\n/**\n\t@class SLASH\n\t@extends TextToken\n*/\n\nvar SLASH = inheritsToken('/');\n/**\n\t@class UNDERSCORE\n\t@extends TextToken\n*/\n\nvar UNDERSCORE = inheritsToken('_');\n/**\n\tOne ore more non-whitespace symbol.\n\t@class SYM\n\t@extends TextToken\n*/\n\nvar SYM = inheritsToken();\n/**\n\t@class TLD\n\t@extends TextToken\n*/\n\nvar TLD = inheritsToken();\n/**\n\tRepresents a string of consecutive whitespace characters\n\n\t@class WS\n\t@extends TextToken\n*/\n\nvar WS = inheritsToken();\n/**\n\tOpening/closing bracket classes\n*/\n\nvar OPENBRACE = inheritsToken('{');\nvar OPENBRACKET = inheritsToken('[');\nvar OPENANGLEBRACKET = inheritsToken('<');\nvar OPENPAREN = inheritsToken('(');\nvar CLOSEBRACE = inheritsToken('}');\nvar CLOSEBRACKET = inheritsToken(']');\nvar CLOSEANGLEBRACKET = inheritsToken('>');\nvar CLOSEPAREN = inheritsToken(')');\nvar AMPERSAND = inheritsToken('&');\nexports.Base = TextToken;\nexports.DOMAIN = DOMAIN;\nexports.AT = AT;\nexports.COLON = COLON;\nexports.DOT = DOT;\nexports.PUNCTUATION = PUNCTUATION;\nexports.LOCALHOST = LOCALHOST;\nexports.NL = NL;\nexports.NUM = NUM;\nexports.PLUS = PLUS;\nexports.POUND = POUND;\nexports.QUERY = QUERY;\nexports.PROTOCOL = PROTOCOL;\nexports.MAILTO = MAILTO;\nexports.SLASH = SLASH;\nexports.UNDERSCORE = UNDERSCORE;\nexports.SYM = SYM;\nexports.TLD = TLD;\nexports.WS = WS;\nexports.OPENBRACE = OPENBRACE;\nexports.OPENBRACKET = OPENBRACKET;\nexports.OPENANGLEBRACKET = OPENANGLEBRACKET;\nexports.OPENPAREN = OPENPAREN;\nexports.CLOSEBRACE = CLOSEBRACE;\nexports.CLOSEBRACKET = CLOSEBRACKET;\nexports.CLOSEANGLEBRACKET = CLOSEANGLEBRACKET;\nexports.CLOSEPAREN = CLOSEPAREN;\nexports.AMPERSAND = AMPERSAND;","\"use strict\";\n\nrequire(\"core-js/modules/es6.object.define-property\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports[\"default\"] = void 0;\n\nfunction requirePropFactory(componentNameInError) {\n /* istanbul ignore if */\n if (process.env.NODE_ENV === 'production') {\n return function () {\n return null;\n };\n }\n\n var requireProp = function requireProp(requiredProp) {\n return function (props, propName, componentName, location, propFullName) {\n var propFullNameSafe = propFullName || propName;\n\n if (typeof props[propName] !== 'undefined' && !props[requiredProp]) {\n return new Error(\"The property `\".concat(propFullNameSafe, \"` of \") + \"`\".concat(componentNameInError, \"` must be used on `\").concat(requiredProp, \"`.\"));\n }\n\n return null;\n };\n };\n\n return requireProp;\n}\n\nvar _default = requirePropFactory;\nexports[\"default\"] = _default;","\"use strict\";\n\nrequire(\"core-js/modules/es6.object.define-property\");\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nObject.defineProperty(exports, \"default\", {\n enumerable: true,\n get: function get() {\n return _CardActionArea[\"default\"];\n }\n});\n\nvar _CardActionArea = _interopRequireDefault(require(\"./CardActionArea\"));","\"use strict\";\n\nrequire(\"core-js/modules/es6.object.define-property\");\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports[\"default\"] = exports.styles = void 0;\n\nvar _extends2 = _interopRequireDefault(require(\"@babel/runtime/helpers/extends\"));\n\nvar _objectWithoutProperties2 = _interopRequireDefault(require(\"@babel/runtime/helpers/objectWithoutProperties\"));\n\nvar _react = _interopRequireDefault(require(\"react\"));\n\nvar _propTypes = _interopRequireDefault(require(\"prop-types\"));\n\nvar _classnames = _interopRequireDefault(require(\"classnames\"));\n\nvar _withStyles = _interopRequireDefault(require(\"../styles/withStyles\"));\n\nvar _ButtonBase = _interopRequireDefault(require(\"../ButtonBase\")); // @inheritedComponent ButtonBase\n\n\nvar styles = function styles(theme) {\n return {\n /* Styles applied to the root element. */\n root: {\n display: 'block',\n textAlign: 'inherit',\n width: '100%',\n '&:hover $focusHighlight': {\n opacity: theme.palette.action.hoverOpacity\n },\n '&$focusVisible $focusHighlight': {\n opacity: 0.12\n }\n },\n\n /* Styles applied to the ButtonBase root element if the action area is keyboard focused. */\n focusVisible: {},\n\n /* Styles applied to the overlay that covers the action area when it is keyboard focused. */\n focusHighlight: {\n pointerEvents: 'none',\n position: 'absolute',\n backgroundColor: 'currentcolor',\n top: 0,\n right: 0,\n bottom: 0,\n left: 0,\n opacity: 0,\n transition: theme.transitions.create('opacity', {\n duration: theme.transitions.duration[\"short\"]\n })\n }\n };\n};\n\nexports.styles = styles;\n\nfunction CardActionArea(props) {\n var children = props.children,\n classes = props.classes,\n className = props.className,\n focusVisibleClassName = props.focusVisibleClassName,\n other = (0, _objectWithoutProperties2[\"default\"])(props, [\"children\", \"classes\", \"className\", \"focusVisibleClassName\"]);\n return _react[\"default\"].createElement(_ButtonBase[\"default\"], (0, _extends2[\"default\"])({\n className: (0, _classnames[\"default\"])(classes.root, className),\n focusVisibleClassName: (0, _classnames[\"default\"])(focusVisibleClassName, classes.focusVisible)\n }, other), children, _react[\"default\"].createElement(\"span\", {\n className: classes.focusHighlight\n }));\n}\n\nprocess.env.NODE_ENV !== \"production\" ? CardActionArea.propTypes = {\n /**\n * The content of the component.\n */\n children: _propTypes[\"default\"].node,\n\n /**\n * Override or extend the styles applied to the component.\n * See [CSS API](#css-api) below for more details.\n */\n classes: _propTypes[\"default\"].object.isRequired,\n\n /**\n * @ignore\n */\n className: _propTypes[\"default\"].string,\n\n /**\n * @ignore\n */\n focusVisibleClassName: _propTypes[\"default\"].string\n} : void 0;\n\nvar _default = (0, _withStyles[\"default\"])(styles, {\n name: 'MuiCardActionArea'\n})(CardActionArea);\n\nexports[\"default\"] = _default;","import React from \"react\";\nimport Card from \"@material-ui/core/Card\";\nimport Typography from \"@material-ui/core/Typography\";\nimport CardContent from \"@material-ui/core/CardContent\";\nimport CardActionArea from \"@material-ui/core/CardActionArea\";\nimport { withStyles } from \"@material-ui/core/styles\";\nimport { Link } from \"gatsby\";\n\nconst styles = {\n card: {\n width: 245,\n minHeight: 145,\n textAlign: \"center\"\n },\n link: {\n textDecoration: \"none\"\n }\n // media: {\n // height: 140\n // }\n};\n\nconst BestPractice = ({ classes, url, title }) => {\n return (\n // \n \n \n \n {/* */}\n {/* */}\n {/* */}\n \n {/* */}\n {title}\n \n \n \n \n );\n};\n\nexport default withStyles(styles)(BestPractice);\n","module.exports = require('./lib/linkify-react')[\"default\"];","'use strict';\n\nrequire(\"core-js/modules/es6.regexp.replace\");\n\nrequire(\"core-js/modules/es6.regexp.split\");\n\nexports.__esModule = true;\nexports.start = exports.run = exports.TOKENS = exports.State = undefined;\n\nvar _state = require('./state');\n\nvar _text = require('./tokens/text');\n\nvar TOKENS = _interopRequireWildcard(_text);\n\nfunction _interopRequireWildcard(obj) {\n if (obj && obj.__esModule) {\n return obj;\n } else {\n var newObj = {};\n\n if (obj != null) {\n for (var key in obj) {\n if (Object.prototype.hasOwnProperty.call(obj, key)) newObj[key] = obj[key];\n }\n }\n\n newObj[\"default\"] = obj;\n return newObj;\n }\n}\n\nvar tlds = 'aaa|aarp|abarth|abb|abbott|abbvie|abc|able|abogado|abudhabi|ac|academy|accenture|accountant|accountants|aco|active|actor|ad|adac|ads|adult|ae|aeg|aero|aetna|af|afamilycompany|afl|africa|ag|agakhan|agency|ai|aig|aigo|airbus|airforce|airtel|akdn|al|alfaromeo|alibaba|alipay|allfinanz|allstate|ally|alsace|alstom|am|americanexpress|americanfamily|amex|amfam|amica|amsterdam|analytics|android|anquan|anz|ao|aol|apartments|app|apple|aq|aquarelle|ar|arab|aramco|archi|army|arpa|art|arte|as|asda|asia|associates|at|athleta|attorney|au|auction|audi|audible|audio|auspost|author|auto|autos|avianca|aw|aws|ax|axa|az|azure|ba|baby|baidu|banamex|bananarepublic|band|bank|bar|barcelona|barclaycard|barclays|barefoot|bargains|baseball|basketball|bauhaus|bayern|bb|bbc|bbt|bbva|bcg|bcn|bd|be|beats|beauty|beer|bentley|berlin|best|bestbuy|bet|bf|bg|bh|bharti|bi|bible|bid|bike|bing|bingo|bio|biz|bj|black|blackfriday|blanco|blockbuster|blog|bloomberg|blue|bm|bms|bmw|bn|bnl|bnpparibas|bo|boats|boehringer|bofa|bom|bond|boo|book|booking|boots|bosch|bostik|boston|bot|boutique|box|br|bradesco|bridgestone|broadway|broker|brother|brussels|bs|bt|budapest|bugatti|build|builders|business|buy|buzz|bv|bw|by|bz|bzh|ca|cab|cafe|cal|call|calvinklein|cam|camera|camp|cancerresearch|canon|capetown|capital|capitalone|car|caravan|cards|care|career|careers|cars|cartier|casa|case|caseih|cash|casino|cat|catering|catholic|cba|cbn|cbre|cbs|cc|cd|ceb|center|ceo|cern|cf|cfa|cfd|cg|ch|chanel|channel|chase|chat|cheap|chintai|chloe|christmas|chrome|chrysler|church|ci|cipriani|circle|cisco|citadel|citi|citic|city|cityeats|ck|cl|claims|cleaning|click|clinic|clinique|clothing|cloud|club|clubmed|cm|cn|co|coach|codes|coffee|college|cologne|com|comcast|commbank|community|company|compare|computer|comsec|condos|construction|consulting|contact|contractors|cooking|cookingchannel|cool|coop|corsica|country|coupon|coupons|courses|cr|credit|creditcard|creditunion|cricket|crown|crs|cruise|cruises|csc|cu|cuisinella|cv|cw|cx|cy|cymru|cyou|cz|dabur|dad|dance|data|date|dating|datsun|day|dclk|dds|de|deal|dealer|deals|degree|delivery|dell|deloitte|delta|democrat|dental|dentist|desi|design|dev|dhl|diamonds|diet|digital|direct|directory|discount|discover|dish|diy|dj|dk|dm|dnp|do|docs|doctor|dodge|dog|doha|domains|dot|download|drive|dtv|dubai|duck|dunlop|duns|dupont|durban|dvag|dvr|dz|earth|eat|ec|eco|edeka|edu|education|ee|eg|email|emerck|energy|engineer|engineering|enterprises|epost|epson|equipment|er|ericsson|erni|es|esq|estate|esurance|et|etisalat|eu|eurovision|eus|events|everbank|exchange|expert|exposed|express|extraspace|fage|fail|fairwinds|faith|family|fan|fans|farm|farmers|fashion|fast|fedex|feedback|ferrari|ferrero|fi|fiat|fidelity|fido|film|final|finance|financial|fire|firestone|firmdale|fish|fishing|fit|fitness|fj|fk|flickr|flights|flir|florist|flowers|fly|fm|fo|foo|food|foodnetwork|football|ford|forex|forsale|forum|foundation|fox|fr|free|fresenius|frl|frogans|frontdoor|frontier|ftr|fujitsu|fujixerox|fun|fund|furniture|futbol|fyi|ga|gal|gallery|gallo|gallup|game|games|gap|garden|gb|gbiz|gd|gdn|ge|gea|gent|genting|george|gf|gg|ggee|gh|gi|gift|gifts|gives|giving|gl|glade|glass|gle|global|globo|gm|gmail|gmbh|gmo|gmx|gn|godaddy|gold|goldpoint|golf|goo|goodhands|goodyear|goog|google|gop|got|gov|gp|gq|gr|grainger|graphics|gratis|green|gripe|grocery|group|gs|gt|gu|guardian|gucci|guge|guide|guitars|guru|gw|gy|hair|hamburg|hangout|haus|hbo|hdfc|hdfcbank|health|healthcare|help|helsinki|here|hermes|hgtv|hiphop|hisamitsu|hitachi|hiv|hk|hkt|hm|hn|hockey|holdings|holiday|homedepot|homegoods|homes|homesense|honda|honeywell|horse|hospital|host|hosting|hot|hoteles|hotels|hotmail|house|how|hr|hsbc|ht|htc|hu|hughes|hyatt|hyundai|ibm|icbc|ice|icu|id|ie|ieee|ifm|ikano|il|im|imamat|imdb|immo|immobilien|in|industries|infiniti|info|ing|ink|institute|insurance|insure|int|intel|international|intuit|investments|io|ipiranga|iq|ir|irish|is|iselect|ismaili|ist|istanbul|it|itau|itv|iveco|iwc|jaguar|java|jcb|jcp|je|jeep|jetzt|jewelry|jio|jlc|jll|jm|jmp|jnj|jo|jobs|joburg|jot|joy|jp|jpmorgan|jprs|juegos|juniper|kaufen|kddi|ke|kerryhotels|kerrylogistics|kerryproperties|kfh|kg|kh|ki|kia|kim|kinder|kindle|kitchen|kiwi|km|kn|koeln|komatsu|kosher|kp|kpmg|kpn|kr|krd|kred|kuokgroup|kw|ky|kyoto|kz|la|lacaixa|ladbrokes|lamborghini|lamer|lancaster|lancia|lancome|land|landrover|lanxess|lasalle|lat|latino|latrobe|law|lawyer|lb|lc|lds|lease|leclerc|lefrak|legal|lego|lexus|lgbt|li|liaison|lidl|life|lifeinsurance|lifestyle|lighting|like|lilly|limited|limo|lincoln|linde|link|lipsy|live|living|lixil|lk|loan|loans|locker|locus|loft|lol|london|lotte|lotto|love|lpl|lplfinancial|lr|ls|lt|ltd|ltda|lu|lundbeck|lupin|luxe|luxury|lv|ly|ma|macys|madrid|maif|maison|makeup|man|management|mango|map|market|marketing|markets|marriott|marshalls|maserati|mattel|mba|mc|mckinsey|md|me|med|media|meet|melbourne|meme|memorial|men|menu|meo|merckmsd|metlife|mg|mh|miami|microsoft|mil|mini|mint|mit|mitsubishi|mk|ml|mlb|mls|mm|mma|mn|mo|mobi|mobile|mobily|moda|moe|moi|mom|monash|money|monster|mopar|mormon|mortgage|moscow|moto|motorcycles|mov|movie|movistar|mp|mq|mr|ms|msd|mt|mtn|mtr|mu|museum|mutual|mv|mw|mx|my|mz|na|nab|nadex|nagoya|name|nationwide|natura|navy|nba|nc|ne|nec|net|netbank|netflix|network|neustar|new|newholland|news|next|nextdirect|nexus|nf|nfl|ng|ngo|nhk|ni|nico|nike|nikon|ninja|nissan|nissay|nl|no|nokia|northwesternmutual|norton|now|nowruz|nowtv|np|nr|nra|nrw|ntt|nu|nyc|nz|obi|observer|off|office|okinawa|olayan|olayangroup|oldnavy|ollo|om|omega|one|ong|onl|online|onyourside|ooo|open|oracle|orange|org|organic|origins|osaka|otsuka|ott|ovh|pa|page|panasonic|panerai|paris|pars|partners|parts|party|passagens|pay|pccw|pe|pet|pf|pfizer|pg|ph|pharmacy|phd|philips|phone|photo|photography|photos|physio|piaget|pics|pictet|pictures|pid|pin|ping|pink|pioneer|pizza|pk|pl|place|play|playstation|plumbing|plus|pm|pn|pnc|pohl|poker|politie|porn|post|pr|pramerica|praxi|press|prime|pro|prod|productions|prof|progressive|promo|properties|property|protection|pru|prudential|ps|pt|pub|pw|pwc|py|qa|qpon|quebec|quest|qvc|racing|radio|raid|re|read|realestate|realtor|realty|recipes|red|redstone|redumbrella|rehab|reise|reisen|reit|reliance|ren|rent|rentals|repair|report|republican|rest|restaurant|review|reviews|rexroth|rich|richardli|ricoh|rightathome|ril|rio|rip|rmit|ro|rocher|rocks|rodeo|rogers|room|rs|rsvp|ru|rugby|ruhr|run|rw|rwe|ryukyu|sa|saarland|safe|safety|sakura|sale|salon|samsclub|samsung|sandvik|sandvikcoromant|sanofi|sap|sapo|sarl|sas|save|saxo|sb|sbi|sbs|sc|sca|scb|schaeffler|schmidt|scholarships|school|schule|schwarz|science|scjohnson|scor|scot|sd|se|search|seat|secure|security|seek|select|sener|services|ses|seven|sew|sex|sexy|sfr|sg|sh|shangrila|sharp|shaw|shell|shia|shiksha|shoes|shop|shopping|shouji|show|showtime|shriram|si|silk|sina|singles|site|sj|sk|ski|skin|sky|skype|sl|sling|sm|smart|smile|sn|sncf|so|soccer|social|softbank|software|sohu|solar|solutions|song|sony|soy|space|spiegel|spot|spreadbetting|sr|srl|srt|st|stada|staples|star|starhub|statebank|statefarm|statoil|stc|stcgroup|stockholm|storage|store|stream|studio|study|style|su|sucks|supplies|supply|support|surf|surgery|suzuki|sv|swatch|swiftcover|swiss|sx|sy|sydney|symantec|systems|sz|tab|taipei|talk|taobao|target|tatamotors|tatar|tattoo|tax|taxi|tc|tci|td|tdk|team|tech|technology|tel|telecity|telefonica|temasek|tennis|teva|tf|tg|th|thd|theater|theatre|tiaa|tickets|tienda|tiffany|tips|tires|tirol|tj|tjmaxx|tjx|tk|tkmaxx|tl|tm|tmall|tn|to|today|tokyo|tools|top|toray|toshiba|total|tours|town|toyota|toys|tr|trade|trading|training|travel|travelchannel|travelers|travelersinsurance|trust|trv|tt|tube|tui|tunes|tushu|tv|tvs|tw|tz|ua|ubank|ubs|uconnect|ug|uk|unicom|university|uno|uol|ups|us|uy|uz|va|vacations|vana|vanguard|vc|ve|vegas|ventures|verisign|versicherung|vet|vg|vi|viajes|video|vig|viking|villas|vin|vip|virgin|visa|vision|vista|vistaprint|viva|vivo|vlaanderen|vn|vodka|volkswagen|volvo|vote|voting|voto|voyage|vu|vuelos|wales|walmart|walter|wang|wanggou|warman|watch|watches|weather|weatherchannel|webcam|weber|website|wed|wedding|weibo|weir|wf|whoswho|wien|wiki|williamhill|win|windows|wine|winners|wme|wolterskluwer|woodside|work|works|world|wow|ws|wtc|wtf|xbox|xerox|xfinity|xihuan|xin|xn--11b4c3d|xn--1ck2e1b|xn--1qqw23a|xn--2scrj9c|xn--30rr7y|xn--3bst00m|xn--3ds443g|xn--3e0b707e|xn--3hcrj9c|xn--3oq18vl8pn36a|xn--3pxu8k|xn--42c2d9a|xn--45br5cyl|xn--45brj9c|xn--45q11c|xn--4gbrim|xn--54b7fta0cc|xn--55qw42g|xn--55qx5d|xn--5su34j936bgsg|xn--5tzm5g|xn--6frz82g|xn--6qq986b3xl|xn--80adxhks|xn--80ao21a|xn--80aqecdr1a|xn--80asehdb|xn--80aswg|xn--8y0a063a|xn--90a3ac|xn--90ae|xn--90ais|xn--9dbq2a|xn--9et52u|xn--9krt00a|xn--b4w605ferd|xn--bck1b9a5dre4c|xn--c1avg|xn--c2br7g|xn--cck2b3b|xn--cg4bki|xn--clchc0ea0b2g2a9gcd|xn--czr694b|xn--czrs0t|xn--czru2d|xn--d1acj3b|xn--d1alf|xn--e1a4c|xn--eckvdtc9d|xn--efvy88h|xn--estv75g|xn--fct429k|xn--fhbei|xn--fiq228c5hs|xn--fiq64b|xn--fiqs8s|xn--fiqz9s|xn--fjq720a|xn--flw351e|xn--fpcrj9c3d|xn--fzc2c9e2c|xn--fzys8d69uvgm|xn--g2xx48c|xn--gckr3f0f|xn--gecrj9c|xn--gk3at1e|xn--h2breg3eve|xn--h2brj9c|xn--h2brj9c8c|xn--hxt814e|xn--i1b6b1a6a2e|xn--imr513n|xn--io0a7i|xn--j1aef|xn--j1amh|xn--j6w193g|xn--jlq61u9w7b|xn--jvr189m|xn--kcrx77d1x4a|xn--kprw13d|xn--kpry57d|xn--kpu716f|xn--kput3i|xn--l1acc|xn--lgbbat1ad8j|xn--mgb9awbf|xn--mgba3a3ejt|xn--mgba3a4f16a|xn--mgba7c0bbn0a|xn--mgbaakc7dvf|xn--mgbaam7a8h|xn--mgbab2bd|xn--mgbai9azgqp6j|xn--mgbayh7gpa|xn--mgbb9fbpob|xn--mgbbh1a|xn--mgbbh1a71e|xn--mgbc0a9azcg|xn--mgbca7dzdo|xn--mgberp4a5d4ar|xn--mgbgu82a|xn--mgbi4ecexp|xn--mgbpl2fh|xn--mgbt3dhd|xn--mgbtx2b|xn--mgbx4cd0ab|xn--mix891f|xn--mk1bu44c|xn--mxtq1m|xn--ngbc5azd|xn--ngbe9e0a|xn--ngbrx|xn--node|xn--nqv7f|xn--nqv7fs00ema|xn--nyqy26a|xn--o3cw4h|xn--ogbpf8fl|xn--p1acf|xn--p1ai|xn--pbt977c|xn--pgbs0dh|xn--pssy2u|xn--q9jyb4c|xn--qcka1pmc|xn--qxam|xn--rhqv96g|xn--rovu88b|xn--rvc1e0am3e|xn--s9brj9c|xn--ses554g|xn--t60b56a|xn--tckwe|xn--tiq49xqyj|xn--unup4y|xn--vermgensberater-ctb|xn--vermgensberatung-pwb|xn--vhquv|xn--vuq861b|xn--w4r85el8fhu5dnra|xn--w4rs40l|xn--wgbh1c|xn--wgbl6a|xn--xhq521b|xn--xkc2al3hye2a|xn--xkc2dl3a5ee0h|xn--y9a3aq|xn--yfro4i67o|xn--ygbi2ammx|xn--zfr164b|xperia|xxx|xyz|yachts|yahoo|yamaxun|yandex|ye|yodobashi|yoga|yokohama|you|youtube|yt|yun|za|zappos|zara|zero|zip|zippo|zm|zone|zuerich|zw'.split('|'); // macro, see gulpfile.js\n\n/**\n\tThe scanner provides an interface that takes a string of text as input, and\n\toutputs an array of tokens instances that can be used for easy URL parsing.\n\n\t@module linkify\n\t@submodule scanner\n\t@main scanner\n*/\n\nvar NUMBERS = '0123456789'.split('');\nvar ALPHANUM = '0123456789abcdefghijklmnopqrstuvwxyz'.split('');\nvar WHITESPACE = [' ', '\\f', '\\r', '\\t', '\\v', '\\xA0', \"\\u1680\", \"\\u180E\"]; // excluding line breaks\n\nvar domainStates = []; // states that jump to DOMAIN on /[a-z0-9]/\n\nvar makeState = function makeState(tokenClass) {\n return new _state.CharacterState(tokenClass);\n}; // Frequently used states\n\n\nvar S_START = makeState();\nvar S_NUM = makeState(_text.NUM);\nvar S_DOMAIN = makeState(_text.DOMAIN);\nvar S_DOMAIN_HYPHEN = makeState(); // domain followed by 1 or more hyphen characters\n\nvar S_WS = makeState(_text.WS); // States for special URL symbols\n\nS_START.on('@', makeState(_text.AT)).on('.', makeState(_text.DOT)).on('+', makeState(_text.PLUS)).on('#', makeState(_text.POUND)).on('?', makeState(_text.QUERY)).on('/', makeState(_text.SLASH)).on('_', makeState(_text.UNDERSCORE)).on(':', makeState(_text.COLON)).on('{', makeState(_text.OPENBRACE)).on('[', makeState(_text.OPENBRACKET)).on('<', makeState(_text.OPENANGLEBRACKET)).on('(', makeState(_text.OPENPAREN)).on('}', makeState(_text.CLOSEBRACE)).on(']', makeState(_text.CLOSEBRACKET)).on('>', makeState(_text.CLOSEANGLEBRACKET)).on(')', makeState(_text.CLOSEPAREN)).on('&', makeState(_text.AMPERSAND)).on([',', ';', '!', '\"', '\\''], makeState(_text.PUNCTUATION)); // Whitespace jumps\n// Tokens of only non-newline whitespace are arbitrarily long\n\nS_START.on('\\n', makeState(_text.NL)).on(WHITESPACE, S_WS); // If any whitespace except newline, more whitespace!\n\nS_WS.on(WHITESPACE, S_WS); // Generates states for top-level domains\n// Note that this is most accurate when tlds are in alphabetical order\n\nfor (var i = 0; i < tlds.length; i++) {\n var newStates = (0, _state.stateify)(tlds[i], S_START, _text.TLD, _text.DOMAIN);\n domainStates.push.apply(domainStates, newStates);\n} // Collect the states generated by different protocls\n\n\nvar partialProtocolFileStates = (0, _state.stateify)('file', S_START, _text.DOMAIN, _text.DOMAIN);\nvar partialProtocolFtpStates = (0, _state.stateify)('ftp', S_START, _text.DOMAIN, _text.DOMAIN);\nvar partialProtocolHttpStates = (0, _state.stateify)('http', S_START, _text.DOMAIN, _text.DOMAIN);\nvar partialProtocolMailtoStates = (0, _state.stateify)('mailto', S_START, _text.DOMAIN, _text.DOMAIN); // Add the states to the array of DOMAINeric states\n\ndomainStates.push.apply(domainStates, partialProtocolFileStates);\ndomainStates.push.apply(domainStates, partialProtocolFtpStates);\ndomainStates.push.apply(domainStates, partialProtocolHttpStates);\ndomainStates.push.apply(domainStates, partialProtocolMailtoStates); // Protocol states\n\nvar S_PROTOCOL_FILE = partialProtocolFileStates.pop();\nvar S_PROTOCOL_FTP = partialProtocolFtpStates.pop();\nvar S_PROTOCOL_HTTP = partialProtocolHttpStates.pop();\nvar S_MAILTO = partialProtocolMailtoStates.pop();\nvar S_PROTOCOL_SECURE = makeState(_text.DOMAIN);\nvar S_FULL_PROTOCOL = makeState(_text.PROTOCOL); // Full protocol ends with COLON\n\nvar S_FULL_MAILTO = makeState(_text.MAILTO); // Mailto ends with COLON\n// Secure protocols (end with 's')\n\nS_PROTOCOL_FTP.on('s', S_PROTOCOL_SECURE).on(':', S_FULL_PROTOCOL);\nS_PROTOCOL_HTTP.on('s', S_PROTOCOL_SECURE).on(':', S_FULL_PROTOCOL);\ndomainStates.push(S_PROTOCOL_SECURE); // Become protocol tokens after a COLON\n\nS_PROTOCOL_FILE.on(':', S_FULL_PROTOCOL);\nS_PROTOCOL_SECURE.on(':', S_FULL_PROTOCOL);\nS_MAILTO.on(':', S_FULL_MAILTO); // Localhost\n\nvar partialLocalhostStates = (0, _state.stateify)('localhost', S_START, _text.LOCALHOST, _text.DOMAIN);\ndomainStates.push.apply(domainStates, partialLocalhostStates); // Everything else\n// DOMAINs make more DOMAINs\n// Number and character transitions\n\nS_START.on(NUMBERS, S_NUM);\nS_NUM.on('-', S_DOMAIN_HYPHEN).on(NUMBERS, S_NUM).on(ALPHANUM, S_DOMAIN); // number becomes DOMAIN\n\nS_DOMAIN.on('-', S_DOMAIN_HYPHEN).on(ALPHANUM, S_DOMAIN); // All the generated states should have a jump to DOMAIN\n\nfor (var _i = 0; _i < domainStates.length; _i++) {\n domainStates[_i].on('-', S_DOMAIN_HYPHEN).on(ALPHANUM, S_DOMAIN);\n}\n\nS_DOMAIN_HYPHEN.on('-', S_DOMAIN_HYPHEN).on(NUMBERS, S_DOMAIN).on(ALPHANUM, S_DOMAIN); // Set default transition\n\nS_START.defaultTransition = makeState(_text.SYM);\n/**\n\tGiven a string, returns an array of TOKEN instances representing the\n\tcomposition of that string.\n\n\t@method run\n\t@param {String} str Input string to scan\n\t@return {Array} Array of TOKEN instances\n*/\n\nvar run = function run(str) {\n // The state machine only looks at lowercase strings.\n // This selective `toLowerCase` is used because lowercasing the entire\n // string causes the length and character position to vary in some in some\n // non-English strings. This happens only on V8-based runtimes.\n var lowerStr = str.replace(/[A-Z]/g, function (c) {\n return c.toLowerCase();\n });\n var len = str.length;\n var tokens = []; // return value\n\n var cursor = 0; // Tokenize the string\n\n while (cursor < len) {\n var state = S_START;\n var nextState = null;\n var tokenLength = 0;\n var latestAccepting = null;\n var sinceAccepts = -1;\n\n while (cursor < len && (nextState = state.next(lowerStr[cursor]))) {\n state = nextState; // Keep track of the latest accepting state\n\n if (state.accepts()) {\n sinceAccepts = 0;\n latestAccepting = state;\n } else if (sinceAccepts >= 0) {\n sinceAccepts++;\n }\n\n tokenLength++;\n cursor++;\n }\n\n if (sinceAccepts < 0) {\n continue;\n } // Should never happen\n // Roll back to the latest accepting state\n\n\n cursor -= sinceAccepts;\n tokenLength -= sinceAccepts; // Get the class for the new token\n\n var TOKEN = latestAccepting.emit(); // Current token class\n // No more jumps, just make a new token\n\n tokens.push(new TOKEN(str.substr(cursor - tokenLength, tokenLength)));\n }\n\n return tokens;\n};\n\nvar start = S_START;\nexports.State = _state.CharacterState;\nexports.TOKENS = TOKENS;\nexports.run = run;\nexports.start = start;","import React from \"react\";\nimport { useStaticQuery, graphql } from \"gatsby\";\nimport Grid from \"@material-ui/core/Grid\";\nimport { withStyles } from \"@material-ui/core/styles\";\nimport Npo from \"./Npo\";\n// import Layout from \"../components/layout\";\n\nconst styles = {\n card: {\n maxWidth: 345\n }\n // media: {\n // height: 140\n // }\n};\n\nconst NposGrid = ({ classes, npos }) => {\n const npos_elements = npos.map(({ id, title }) => (\n \n \n \n ));\n return (\n \n {npos_elements}\n \n );\n};\nexport default withStyles(styles)(NposGrid);\n","'use strict';\n\nrequire(\"core-js/modules/es6.regexp.to-string\");\n\nrequire(\"core-js/modules/es6.date.to-string\");\n\nrequire(\"core-js/modules/es6.object.to-string\");\n\nexports.__esModule = true;\nexports.URL = exports.TEXT = exports.NL = exports.EMAIL = exports.MAILTOEMAIL = exports.Base = undefined;\n\nvar _createTokenClass = require('./create-token-class');\n\nvar _class = require('../../utils/class');\n\nvar _text = require('./text');\n/******************************************************************************\n\tMulti-Tokens\n\tTokens composed of arrays of TextTokens\n******************************************************************************/\n// Is the given token a valid domain token?\n// Should nums be included here?\n\n\nfunction isDomainToken(token) {\n return token instanceof _text.DOMAIN || token instanceof _text.TLD;\n}\n/**\n\tAbstract class used for manufacturing tokens of text tokens. That is rather\n\tthan the value for a token being a small string of text, it's value an array\n\tof text tokens.\n\n\tUsed for grouping together URLs, emails, hashtags, and other potential\n\tcreations.\n\n\t@class MultiToken\n\t@abstract\n*/\n\n\nvar MultiToken = (0, _createTokenClass.createTokenClass)();\nMultiToken.prototype = {\n /**\n \tString representing the type for this token\n \t@property type\n \t@default 'TOKEN'\n */\n type: 'token',\n\n /**\n \tIs this multitoken a link?\n \t@property isLink\n \t@default false\n */\n isLink: false,\n\n /**\n \tReturn the string this token represents.\n \t@method toString\n \t@return {String}\n */\n toString: function toString() {\n var result = [];\n\n for (var i = 0; i < this.v.length; i++) {\n result.push(this.v[i].toString());\n }\n\n return result.join('');\n },\n\n /**\n \tWhat should the value for this token be in the `href` HTML attribute?\n \tReturns the `.toString` value by default.\n \t\t@method toHref\n \t@return {String}\n */\n toHref: function toHref() {\n return this.toString();\n },\n\n /**\n \tReturns a hash of relevant values for this token, which includes keys\n \t* type - Kind of token ('url', 'email', etc.)\n \t* value - Original text\n \t* href - The value that should be added to the anchor tag's href\n \t\tattribute\n \t\t@method toObject\n \t@param {String} [protocol] `'http'` by default\n \t@return {Object}\n */\n toObject: function toObject() {\n var protocol = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 'http';\n return {\n type: this.type,\n value: this.toString(),\n href: this.toHref(protocol)\n };\n }\n};\n/**\n\tRepresents an arbitrarily mailto email address with the prefix included\n\t@class MAILTO\n\t@extends MultiToken\n*/\n\nvar MAILTOEMAIL = (0, _class.inherits)(MultiToken, (0, _createTokenClass.createTokenClass)(), {\n type: 'email',\n isLink: true\n});\n/**\n\tRepresents a list of tokens making up a valid email address\n\t@class EMAIL\n\t@extends MultiToken\n*/\n\nvar EMAIL = (0, _class.inherits)(MultiToken, (0, _createTokenClass.createTokenClass)(), {\n type: 'email',\n isLink: true,\n toHref: function toHref() {\n return 'mailto:' + this.toString();\n }\n});\n/**\n\tRepresents some plain text\n\t@class TEXT\n\t@extends MultiToken\n*/\n\nvar TEXT = (0, _class.inherits)(MultiToken, (0, _createTokenClass.createTokenClass)(), {\n type: 'text'\n});\n/**\n\tMulti-linebreak token - represents a line break\n\t@class NL\n\t@extends MultiToken\n*/\n\nvar NL = (0, _class.inherits)(MultiToken, (0, _createTokenClass.createTokenClass)(), {\n type: 'nl'\n});\n/**\n\tRepresents a list of tokens making up a valid URL\n\t@class URL\n\t@extends MultiToken\n*/\n\nvar URL = (0, _class.inherits)(MultiToken, (0, _createTokenClass.createTokenClass)(), {\n type: 'url',\n isLink: true,\n\n /**\n \tLowercases relevant parts of the domain and adds the protocol if\n \trequired. Note that this will not escape unsafe HTML characters in the\n \tURL.\n \t\t@method href\n \t@param {String} protocol\n \t@return {String}\n */\n toHref: function toHref() {\n var protocol = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 'http';\n var hasProtocol = false;\n var hasSlashSlash = false;\n var tokens = this.v;\n var result = [];\n var i = 0; // Make the first part of the domain lowercase\n // Lowercase protocol\n\n while (tokens[i] instanceof _text.PROTOCOL) {\n hasProtocol = true;\n result.push(tokens[i].toString().toLowerCase());\n i++;\n } // Skip slash-slash\n\n\n while (tokens[i] instanceof _text.SLASH) {\n hasSlashSlash = true;\n result.push(tokens[i].toString());\n i++;\n } // Lowercase all other characters in the domain\n\n\n while (isDomainToken(tokens[i])) {\n result.push(tokens[i].toString().toLowerCase());\n i++;\n } // Leave all other characters as they were written\n\n\n for (; i < tokens.length; i++) {\n result.push(tokens[i].toString());\n }\n\n result = result.join('');\n\n if (!(hasProtocol || hasSlashSlash)) {\n result = protocol + '://' + result;\n }\n\n return result;\n },\n hasProtocol: function hasProtocol() {\n return this.v[0] instanceof _text.PROTOCOL;\n }\n});\nexports.Base = MultiToken;\nexports.MAILTOEMAIL = MAILTOEMAIL;\nexports.EMAIL = EMAIL;\nexports.NL = NL;\nexports.TEXT = TEXT;\nexports.URL = URL;","\"use strict\";\n\nrequire(\"core-js/modules/es6.object.define-property\");\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports[\"default\"] = exports.styles = void 0;\n\nvar _extends2 = _interopRequireDefault(require(\"@babel/runtime/helpers/extends\"));\n\nvar _objectWithoutProperties2 = _interopRequireDefault(require(\"@babel/runtime/helpers/objectWithoutProperties\"));\n\nvar _react = _interopRequireDefault(require(\"react\"));\n\nvar _propTypes = _interopRequireDefault(require(\"prop-types\"));\n\nvar _classnames = _interopRequireDefault(require(\"classnames\"));\n\nvar _utils = require(\"@material-ui/utils\");\n\nvar _withStyles = _interopRequireDefault(require(\"../styles/withStyles\"));\n\nvar styles = {\n /* Styles applied to the root element. */\n root: {\n padding: 16,\n '&:last-child': {\n paddingBottom: 24\n }\n }\n};\nexports.styles = styles;\n\nfunction CardContent(props) {\n var classes = props.classes,\n className = props.className,\n Component = props.component,\n other = (0, _objectWithoutProperties2[\"default\"])(props, [\"classes\", \"className\", \"component\"]);\n return _react[\"default\"].createElement(Component, (0, _extends2[\"default\"])({\n className: (0, _classnames[\"default\"])(classes.root, className)\n }, other));\n}\n\nprocess.env.NODE_ENV !== \"production\" ? CardContent.propTypes = {\n /**\n * Override or extend the styles applied to the component.\n * See [CSS API](#css-api) below for more details.\n */\n classes: _propTypes[\"default\"].object.isRequired,\n\n /**\n * @ignore\n */\n className: _propTypes[\"default\"].string,\n\n /**\n * The component used for the root node.\n * Either a string to use a DOM element or a component.\n */\n component: _utils.componentPropType\n} : void 0;\nCardContent.defaultProps = {\n component: 'div'\n};\n\nvar _default = (0, _withStyles[\"default\"])(styles, {\n name: 'MuiCardContent'\n})(CardContent);\n\nexports[\"default\"] = _default;"],"sourceRoot":""}