{"version":3,"sources":["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:///./node_modules/linkifyjs/lib/linkify.js","webpack:///./src/components/FederalSubject.js","webpack:///./src/components/FederalSubjectsGrid.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:///./src/templates/federal_district.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:///./node_modules/linkifyjs/lib/linkify/core/tokens/multi.js","webpack:///./node_modules/@material-ui/core/CardContent/CardContent.js"],"names":["_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","title","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","tokenize","scanner","parser","options","find","_interopRequireWildcard","obj","newObj","key","hasOwnProperty","call","isArray","arg","toString","run","type","tokens","filtered","isLink","toObject","withStyles","card","width","link","textDecoration","classes","url","to","className","component","maxWidth","federal_subjects_elements","federal_subjects","map","container","spacing","_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","theme","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","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","query","root","marginTop","unit","overflowX","table","row","verticalAlign","backgroundColor","palette","background","default","key_cell","fontWeight","best_practices_title","data","variant","gutterBottom","hasura","federal_district","createTokenClass","v","_Paper","overflow","Card","raised","elevation","location","console","log","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","WS","Base","_createTokenClass","TextToken","inheritsToken","componentNameInError","_CardActionArea","_ButtonBase","textAlign","opacity","action","hoverOpacity","focusVisible","focusHighlight","pointerEvents","position","top","right","bottom","left","transition","transitions","duration","focusVisibleClassName","minHeight","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","isDomainToken","MultiToken","result","join","protocol","hasProtocol","hasSlashSlash","paddingBottom","CardContent"],"mappings":"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","file":"component---src-templates-federal-district-js-fb63d9b3519bfd9da34f.js","sourcesContent":["\"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}","'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;","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 // \"min-height\": 125,\n \"text-align\": \"center\"\n },\n link: {\n textDecoration: \"none\"\n }\n // media: {\n // height: 140\n // }\n};\n\nconst FederalSubject = ({ 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)(FederalSubject);\n","import React from \"react\";\nimport { useStaticQuery, graphql } from \"gatsby\";\nimport Grid from \"@material-ui/core/Grid\";\nimport { withStyles } from \"@material-ui/core/styles\";\nimport FederalSubject from \"./FederalSubject\";\n// import Layout from \"../components/layout\";\n\nconst styles = {\n card: {\n maxWidth: 345\n }\n // media: {\n // height: 140\n // }\n};\n\nconst FederalSubjectsGrid = ({ classes, federal_subjects }) => {\n const federal_subjects_elements = federal_subjects.map(({ id, title }) => (\n \n \n \n ));\n return (\n \n {federal_subjects_elements}\n \n );\n};\nexport default withStyles(styles)(FederalSubjectsGrid);\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/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;","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 FederalSubjectsGrid from \"../components/FederalSubjectsGrid\";\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 return (\n
\n \n {data.hasura.federal_district.title}\n \n \n
\n );\n}\n\nexport const query = graphql`\n query($id: Int!) {\n hasura {\n federal_district: federal_districts_by_pk(id: $id) {\n id\n title\n }\n federal_subjects(where: { federal_district_id: { _eq: $id } }) {\n id\n title\n }\n }\n }\n`;\nexport default withStyles(styles)(BestPractice);\n","\"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;","'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":""}