mirror of
https://github.com/Steffo99/unisteffo.git
synced 2024-11-26 09:54:19 +00:00
1 line
No EOL
441 KiB
Text
1 line
No EOL
441 KiB
Text
{"version":3,"sources":["webpack:///webpack/bootstrap 008e11568b26c55ee72a","webpack:///./components/latex.css?0854","webpack:///./pages/fisica.css","webpack:///./components/split.css?824c","webpack:///./pages/home.css","webpack:///./pages/mingwinstall.css","webpack:///../node_modules/showdown/dist/showdown.js","webpack:///../node_modules/preact-router/dist/preact-router.es.js","webpack:///./components/panel.js","webpack:///./components/split.js","webpack:///./components/todo.js","webpack:///./pages/home.js","webpack:///./components/latex.js","webpack:///./components/plus.js","webpack:///./components/minus.js","webpack:///./pages/fisica.js","webpack:///./components/markdown.js","webpack:///./pages/vldigeometria.js","webpack:///./pages/mingwinstall.js","webpack:///./components/copyright.js","webpack:///./index.js","webpack:///../node_modules/preact/dist/preact.min.js","webpack:///./components/markdown.css","webpack:///./components/minus.css?1e86","webpack:///./components/panel.css?58c4","webpack:///./manifest.json","webpack:///./components/plus.css?a8bb","webpack:///./pages/vldigeometria.css","webpack:///./components/copyright.css?2fcb","webpack:///./components/todo.css?cd6f","webpack:///./index.css?ca88"],"names":["getDefaultOpts","simple","defaultOptions","omitExtraWLInCodeBlocks","defaultValue","describe","type","noHeaderId","prefixHeaderId","rawPrefixHeaderId","ghCompatibleHeaderId","rawHeaderId","headerLevelStart","parseImgDimensions","simplifiedAutoLink","excludeTrailingPunctuationFromURLs","literalMidWordUnderscores","literalMidWordAsterisks","strikethrough","tables","tablesHeaderId","ghCodeBlocks","tasklists","smoothLivePreview","smartIndentationFix","description","disableForced4SpacesIndentedSublists","simpleLineBreaks","requireSpaceBeforeHeadingText","ghMentions","ghMentionsLink","encodeEmails","openLinksInNewWindow","backslashEscapesHTMLTags","emoji","underline","completeHTMLDocument","metadata","splitAdjacentBlockquotes","JSON","parse","stringify","ret","opt","hasOwnProperty","allOptionsOn","options","showdown","parsers","extensions","globalOptions","setFlavor","flavor","github","original","ghost","vanilla","allOn","helper","setOption","key","value","getOption","getOptions","resetOptions","name","Error","preset","option","getFlavor","getFlavorOptions","getDefaultOptions","subParser","func","isString","extension","ext","stdExtName","isUndefined","isArray","validExtension","validate","valid","error","getAllExtensions","removeExtension","resetExtensions","errMsg","i","length","baseMsg","toLowerCase","listeners","filter","regex","ln","RegExp","replace","validateExtension","console","warn","a","String","isFunction","getType","toString","call","Array","forEach","obj","callback","prop","s","escapeCharactersCallback","wholeMatch","m1","charCodeToEscape","charCodeAt","escapeCharacters","text","charsToEscape","afterBackslash","regexString","unescapeHTMLEntities","txt","rgxFindMatchPos","str","left","right","flags","f","g","indexOf","x","l","pos","t","m","start","end","exec","test","lastIndex","index","match","push","matchRecursiveRegExp","matchPos","results","slice","replaceRecursiveRegExp","replacement","repStr","finalStr","lng","bits","join","regexIndexOf","fromIndex","substring","search","splitAtIndex","encodeEmailAddress","mail","encode","ch","Math","floor","random","r","padEnd","targetLength","padString","repeat","msg","alert","log","regexes","asteriskDashAndColon","emojis","Converter","converterOptions","langExtensions","outputModifiers","setConvFlavor","parsed","raw","format","_constructor","gOpt","_parseExtension","legacyExtensionLoading","validExt","listen","rTrimInputText","rsp","rgx","_dispatch","dispatch","evtName","globals","ei","nText","makeHtml","gHtmlBlocks","gHtmlMdBlocks","gHtmlSpans","gUrls","gTitles","gDimensions","gListLevel","hashLinkCounts","converter","makeMarkdown","makeMd","src","HTMLParser","window","document","doc","createElement","innerHTML","preList","substitutePreCodeTags","clean","nodes","childNodes","mdDoc","node","n","child","nodeType","nodeValue","removeChild","split","pres","querySelectorAll","presPH","childElementCount","firstChild","tagName","content","trim","language","getAttribute","classes","className","c","matches","outerHTML","setAttribute","addExtension","useExtension","extensionName","splice","ii","output","getMetadata","getMetadataFormat","_setMetadataPair","_setMetadataFormat","_setMetadataRaw","writeAnchorTag","linkText","linkId","url","m5","m6","title","result","wm","st","escape","mentions","username","lnk","target","simpleURLRegex","simpleURLRegex2","delimUrlRegex","simpleMailRegex","delimMailRegex","replaceLink","leadingMagicChars","link","m2","m3","trailingPunctuation","trailingMagicChars","lnkTxt","append","lmc","tmc","replaceMail","b","href","bq","pre","pattern","codeblock","nextChar","doctype","doctypeParsed","charset","lang","meta","leadingText","numSpaces","emojiRgx","emojiCode","tags","comments","delim","repFunc","blockText","blockTags","inside","opTagPos","rgx1","patLeft","patRight","subTexts","newSubText1","concat","hashHTMLSpan","html","repText","limit","num","$1","isNaN","parseInt","setextRegexH1","setextRegexH2","spanGamut","hID","headerId","hLevel","hashBlock","matchFound","atxStyle","hText","customizedHeaderId","span","header","prefix","inlineRegExp","crazyRegExp","base64RegExp","referenceRegExp","refShortcutRegExp","writeImageTagBase64","altText","width","height","writeImageTag","gDims","parseInside","lead","processListItems","listStr","trimTrailing","isParagraphed","m4","taskbtn","checked","item","bulletStyle","otp","wm2","styleStartNumber","list","listType","res","parseConsecutiveLists","olRgx","ulRgx","counterRxg","parseCL","style","parseMetadataContents","wholematch","grafs","grafsOut","grafsOutIt","codeFlag","$2","re","base64Regex","replaceFunc","blankLines","tableRgx","singeColTblRgx","parseStyles","sLine","parseHeaders","id","tableHeaderId","parseCells","cell","subText","buildTable","headers","cells","tb","tblLgn","parseTable","rawTable","tableLines","rawHeaders","map","rawStyles","rawCells","styles","shift","row","charCodeToReplace","fromCharCode","hasChildNodes","children","childrenLength","innerTxt","headerLevel","headerMark","hasAttribute","listItems","listItemsLenght","listNum","bullet","listItemTxt","childrenLenght","spansOnly","data","tableArray","headings","rows","headContent","allign","cols","getElementsByTagName","cellContent","cellSpacesCount","strLen","root","define","module","exports","EMPTY$1","assign","props","route","opts","reg","p","decodeURIComponent","segmentize","max","i$1","charAt","param","plus","star","val","default","pathRankSort","rank","prepareVNodeForRanking","vnode","rankChild","attributes","rankSegment","segment","path","customHistory","ROUTERS","subscribers","EMPTY","isPreactElement","__preactattr_","Symbol","for","setUrl","history","getCurrentUrl","location","getCurrentLocation","pathname","canRoute","routeTo","didRoute","routeFromLink","handleLinkClick","e","button","currentTarget","prevent","stopImmediatePropagation","stopPropagation","preventDefault","delegateLinkHandler","ctrlKey","metaKey","altKey","shiftKey","nodeName","toUpperCase","parentNode","eventListenersInitialized","initEventListeners","addEventListener","Router","Component$$1","state","__proto__","prototype","Object","create","constructor","shouldComponentUpdate","static","onChange","getMatchingChildren","_didRoute","setState","updating","forceUpdate","componentWillMount","componentDidMount","this$1","unlisten","componentWillUnmount","componentWillUpdate","componentDidUpdate","invoke","sort","newProps","ref","cloneElement","Boolean","render","ref$1","active","current","previous","previousUrl","router","Component","Link","h","onClick","Route","component","Panel","undefined","panel","Split","splitchild","element","splitparent","Todo","todo","Home","home","Latex","equation","latex","Plus","Minus","minus","Fisica","fisica","Markdown","markdown","__html","VlDiGeometria","vldigeometria","MingwInstall","mingwinstall","Copyright","copyright","App","o","W","arguments","P","pop","T","M","__d","V","debounceRendering","D","splitText","_componentConstructor","__n","u","defaultProps","createElementNS","cssText","E","_","removeEventListener","__l","removeAttribute","removeAttributeNS","setAttributeNS","event","A","afterMount","d","H","R","ownerSVGElement","B","appendChild","_component","createTextNode","replaceChild","v","N","nextSibling","dangerouslySetInnerHTML","y","w","C","k","__k","insertBefore","lastChild","previousSibling","F","U","__b","__x","__r","getDerivedStateFromProps","base","componentWillReceiveProps","context","__c","__p","syncComponentUpdates","__s","S","getChildContext","getSnapshotBeforeUpdate","L","__u","afterUpdate","__h","beforeUnmount","Promise","resolve","then","bind","setTimeout","j","createRef","rerender","self","preact"],"mappings":"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","file":"ssr-bundle.js","sourcesContent":[" \t// The module cache\n \tvar installedModules = {};\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId]) {\n \t\t\treturn installedModules[moduleId].exports;\n \t\t}\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\ti: moduleId,\n \t\t\tl: false,\n \t\t\texports: {}\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.l = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// define getter function for harmony exports\n \t__webpack_require__.d = function(exports, name, getter) {\n \t\tif(!__webpack_require__.o(exports, name)) {\n \t\t\tObject.defineProperty(exports, name, {\n \t\t\t\tconfigurable: false,\n \t\t\t\tenumerable: true,\n \t\t\t\tget: getter\n \t\t\t});\n \t\t}\n \t};\n\n \t// getDefaultExport function for compatibility with non-harmony modules\n \t__webpack_require__.n = function(module) {\n \t\tvar getter = module && module.__esModule ?\n \t\t\tfunction getDefault() { return module['default']; } :\n \t\t\tfunction getModuleExports() { return module; };\n \t\t__webpack_require__.d(getter, 'a', getter);\n \t\treturn getter;\n \t};\n\n \t// Object.prototype.hasOwnProperty.call\n \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"/\";\n\n \t// Load entry module and return exports\n \treturn __webpack_require__(__webpack_require__.s = \"JkW7\");\n\n\n\n// WEBPACK FOOTER //\n// webpack/bootstrap 008e11568b26c55ee72a","// removed by extract-text-webpack-plugin\nmodule.exports = {\"latex\":\"latex__3Esv7\"};\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./components/latex.css\n// module id = +uq9\n// module chunks = 0","// removed by extract-text-webpack-plugin\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./pages/fisica.css\n// module id = 0lnO\n// module chunks = 0","// removed by extract-text-webpack-plugin\nmodule.exports = {\"split\":\"split__3qCWp\",\"splitparent\":\"splitparent__2xagg\",\"splitchild\":\"splitchild__3cEoc\"};\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./components/split.css\n// module id = 1EpE\n// module chunks = 0","// removed by extract-text-webpack-plugin\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./pages/home.css\n// module id = 36Ou\n// module chunks = 0","// removed by extract-text-webpack-plugin\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./pages/mingwinstall.css\n// module id = 5m9J\n// module chunks = 0",";/*! showdown v 1.9.1 - 02-11-2019 */\r\n(function(){\r\n/**\n * Created by Tivie on 13-07-2015.\n */\n\nfunction getDefaultOpts (simple) {\n 'use strict';\n\n var defaultOptions = {\n omitExtraWLInCodeBlocks: {\n defaultValue: false,\n describe: 'Omit the default extra whiteline added to code blocks',\n type: 'boolean'\n },\n noHeaderId: {\n defaultValue: false,\n describe: 'Turn on/off generated header id',\n type: 'boolean'\n },\n prefixHeaderId: {\n defaultValue: false,\n describe: 'Add a prefix to the generated header ids. Passing a string will prefix that string to the header id. Setting to true will add a generic \\'section-\\' prefix',\n type: 'string'\n },\n rawPrefixHeaderId: {\n defaultValue: false,\n describe: 'Setting this option to true will prevent showdown from modifying the prefix. This might result in malformed IDs (if, for instance, the \" char is used in the prefix)',\n type: 'boolean'\n },\n ghCompatibleHeaderId: {\n defaultValue: false,\n describe: 'Generate header ids compatible with github style (spaces are replaced with dashes, a bunch of non alphanumeric chars are removed)',\n type: 'boolean'\n },\n rawHeaderId: {\n defaultValue: false,\n describe: 'Remove only spaces, \\' and \" from generated header ids (including prefixes), replacing them with dashes (-). WARNING: This might result in malformed ids',\n type: 'boolean'\n },\n headerLevelStart: {\n defaultValue: false,\n describe: 'The header blocks level start',\n type: 'integer'\n },\n parseImgDimensions: {\n defaultValue: false,\n describe: 'Turn on/off image dimension parsing',\n type: 'boolean'\n },\n simplifiedAutoLink: {\n defaultValue: false,\n describe: 'Turn on/off GFM autolink style',\n type: 'boolean'\n },\n excludeTrailingPunctuationFromURLs: {\n defaultValue: false,\n describe: 'Excludes trailing punctuation from links generated with autoLinking',\n type: 'boolean'\n },\n literalMidWordUnderscores: {\n defaultValue: false,\n describe: 'Parse midword underscores as literal underscores',\n type: 'boolean'\n },\n literalMidWordAsterisks: {\n defaultValue: false,\n describe: 'Parse midword asterisks as literal asterisks',\n type: 'boolean'\n },\n strikethrough: {\n defaultValue: false,\n describe: 'Turn on/off strikethrough support',\n type: 'boolean'\n },\n tables: {\n defaultValue: false,\n describe: 'Turn on/off tables support',\n type: 'boolean'\n },\n tablesHeaderId: {\n defaultValue: false,\n describe: 'Add an id to table headers',\n type: 'boolean'\n },\n ghCodeBlocks: {\n defaultValue: true,\n describe: 'Turn on/off GFM fenced code blocks support',\n type: 'boolean'\n },\n tasklists: {\n defaultValue: false,\n describe: 'Turn on/off GFM tasklist support',\n type: 'boolean'\n },\n smoothLivePreview: {\n defaultValue: false,\n describe: 'Prevents weird effects in live previews due to incomplete input',\n type: 'boolean'\n },\n smartIndentationFix: {\n defaultValue: false,\n description: 'Tries to smartly fix indentation in es6 strings',\n type: 'boolean'\n },\n disableForced4SpacesIndentedSublists: {\n defaultValue: false,\n description: 'Disables the requirement of indenting nested sublists by 4 spaces',\n type: 'boolean'\n },\n simpleLineBreaks: {\n defaultValue: false,\n description: 'Parses simple line breaks as <br> (GFM Style)',\n type: 'boolean'\n },\n requireSpaceBeforeHeadingText: {\n defaultValue: false,\n description: 'Makes adding a space between `#` and the header text mandatory (GFM Style)',\n type: 'boolean'\n },\n ghMentions: {\n defaultValue: false,\n description: 'Enables github @mentions',\n type: 'boolean'\n },\n ghMentionsLink: {\n defaultValue: 'https://github.com/{u}',\n description: 'Changes the link generated by @mentions. Only applies if ghMentions option is enabled.',\n type: 'string'\n },\n encodeEmails: {\n defaultValue: true,\n description: 'Encode e-mail addresses through the use of Character Entities, transforming ASCII e-mail addresses into its equivalent decimal entities',\n type: 'boolean'\n },\n openLinksInNewWindow: {\n defaultValue: false,\n description: 'Open all links in new windows',\n type: 'boolean'\n },\n backslashEscapesHTMLTags: {\n defaultValue: false,\n description: 'Support for HTML Tag escaping. ex: \\<div>foo\\</div>',\n type: 'boolean'\n },\n emoji: {\n defaultValue: false,\n description: 'Enable emoji support. Ex: `this is a :smile: emoji`',\n type: 'boolean'\n },\n underline: {\n defaultValue: false,\n description: 'Enable support for underline. Syntax is double or triple underscores: `__underline word__`. With this option enabled, underscores no longer parses into `<em>` and `<strong>`',\n type: 'boolean'\n },\n completeHTMLDocument: {\n defaultValue: false,\n description: 'Outputs a complete html document, including `<html>`, `<head>` and `<body>` tags',\n type: 'boolean'\n },\n metadata: {\n defaultValue: false,\n description: 'Enable support for document metadata (defined at the top of the document between `«««` and `»»»` or between `---` and `---`).',\n type: 'boolean'\n },\n splitAdjacentBlockquotes: {\n defaultValue: false,\n description: 'Split adjacent blockquote blocks',\n type: 'boolean'\n }\n };\n if (simple === false) {\n return JSON.parse(JSON.stringify(defaultOptions));\n }\n var ret = {};\n for (var opt in defaultOptions) {\n if (defaultOptions.hasOwnProperty(opt)) {\n ret[opt] = defaultOptions[opt].defaultValue;\n }\n }\n return ret;\n}\n\nfunction allOptionsOn () {\n 'use strict';\n var options = getDefaultOpts(true),\n ret = {};\n for (var opt in options) {\n if (options.hasOwnProperty(opt)) {\n ret[opt] = true;\n }\n }\n return ret;\n}\n\r\n/**\n * Created by Tivie on 06-01-2015.\n */\n\n// Private properties\nvar showdown = {},\n parsers = {},\n extensions = {},\n globalOptions = getDefaultOpts(true),\n setFlavor = 'vanilla',\n flavor = {\n github: {\n omitExtraWLInCodeBlocks: true,\n simplifiedAutoLink: true,\n excludeTrailingPunctuationFromURLs: true,\n literalMidWordUnderscores: true,\n strikethrough: true,\n tables: true,\n tablesHeaderId: true,\n ghCodeBlocks: true,\n tasklists: true,\n disableForced4SpacesIndentedSublists: true,\n simpleLineBreaks: true,\n requireSpaceBeforeHeadingText: true,\n ghCompatibleHeaderId: true,\n ghMentions: true,\n backslashEscapesHTMLTags: true,\n emoji: true,\n splitAdjacentBlockquotes: true\n },\n original: {\n noHeaderId: true,\n ghCodeBlocks: false\n },\n ghost: {\n omitExtraWLInCodeBlocks: true,\n parseImgDimensions: true,\n simplifiedAutoLink: true,\n excludeTrailingPunctuationFromURLs: true,\n literalMidWordUnderscores: true,\n strikethrough: true,\n tables: true,\n tablesHeaderId: true,\n ghCodeBlocks: true,\n tasklists: true,\n smoothLivePreview: true,\n simpleLineBreaks: true,\n requireSpaceBeforeHeadingText: true,\n ghMentions: false,\n encodeEmails: true\n },\n vanilla: getDefaultOpts(true),\n allOn: allOptionsOn()\n };\n\n/**\n * helper namespace\n * @type {{}}\n */\nshowdown.helper = {};\n\n/**\n * TODO LEGACY SUPPORT CODE\n * @type {{}}\n */\nshowdown.extensions = {};\n\n/**\n * Set a global option\n * @static\n * @param {string} key\n * @param {*} value\n * @returns {showdown}\n */\nshowdown.setOption = function (key, value) {\n 'use strict';\n globalOptions[key] = value;\n return this;\n};\n\n/**\n * Get a global option\n * @static\n * @param {string} key\n * @returns {*}\n */\nshowdown.getOption = function (key) {\n 'use strict';\n return globalOptions[key];\n};\n\n/**\n * Get the global options\n * @static\n * @returns {{}}\n */\nshowdown.getOptions = function () {\n 'use strict';\n return globalOptions;\n};\n\n/**\n * Reset global options to the default values\n * @static\n */\nshowdown.resetOptions = function () {\n 'use strict';\n globalOptions = getDefaultOpts(true);\n};\n\n/**\n * Set the flavor showdown should use as default\n * @param {string} name\n */\nshowdown.setFlavor = function (name) {\n 'use strict';\n if (!flavor.hasOwnProperty(name)) {\n throw Error(name + ' flavor was not found');\n }\n showdown.resetOptions();\n var preset = flavor[name];\n setFlavor = name;\n for (var option in preset) {\n if (preset.hasOwnProperty(option)) {\n globalOptions[option] = preset[option];\n }\n }\n};\n\n/**\n * Get the currently set flavor\n * @returns {string}\n */\nshowdown.getFlavor = function () {\n 'use strict';\n return setFlavor;\n};\n\n/**\n * Get the options of a specified flavor. Returns undefined if the flavor was not found\n * @param {string} name Name of the flavor\n * @returns {{}|undefined}\n */\nshowdown.getFlavorOptions = function (name) {\n 'use strict';\n if (flavor.hasOwnProperty(name)) {\n return flavor[name];\n }\n};\n\n/**\n * Get the default options\n * @static\n * @param {boolean} [simple=true]\n * @returns {{}}\n */\nshowdown.getDefaultOptions = function (simple) {\n 'use strict';\n return getDefaultOpts(simple);\n};\n\n/**\n * Get or set a subParser\n *\n * subParser(name) - Get a registered subParser\n * subParser(name, func) - Register a subParser\n * @static\n * @param {string} name\n * @param {function} [func]\n * @returns {*}\n */\nshowdown.subParser = function (name, func) {\n 'use strict';\n if (showdown.helper.isString(name)) {\n if (typeof func !== 'undefined') {\n parsers[name] = func;\n } else {\n if (parsers.hasOwnProperty(name)) {\n return parsers[name];\n } else {\n throw Error('SubParser named ' + name + ' not registered!');\n }\n }\n }\n};\n\n/**\n * Gets or registers an extension\n * @static\n * @param {string} name\n * @param {object|function=} ext\n * @returns {*}\n */\nshowdown.extension = function (name, ext) {\n 'use strict';\n\n if (!showdown.helper.isString(name)) {\n throw Error('Extension \\'name\\' must be a string');\n }\n\n name = showdown.helper.stdExtName(name);\n\n // Getter\n if (showdown.helper.isUndefined(ext)) {\n if (!extensions.hasOwnProperty(name)) {\n throw Error('Extension named ' + name + ' is not registered!');\n }\n return extensions[name];\n\n // Setter\n } else {\n // Expand extension if it's wrapped in a function\n if (typeof ext === 'function') {\n ext = ext();\n }\n\n // Ensure extension is an array\n if (!showdown.helper.isArray(ext)) {\n ext = [ext];\n }\n\n var validExtension = validate(ext, name);\n\n if (validExtension.valid) {\n extensions[name] = ext;\n } else {\n throw Error(validExtension.error);\n }\n }\n};\n\n/**\n * Gets all extensions registered\n * @returns {{}}\n */\nshowdown.getAllExtensions = function () {\n 'use strict';\n return extensions;\n};\n\n/**\n * Remove an extension\n * @param {string} name\n */\nshowdown.removeExtension = function (name) {\n 'use strict';\n delete extensions[name];\n};\n\n/**\n * Removes all extensions\n */\nshowdown.resetExtensions = function () {\n 'use strict';\n extensions = {};\n};\n\n/**\n * Validate extension\n * @param {array} extension\n * @param {string} name\n * @returns {{valid: boolean, error: string}}\n */\nfunction validate (extension, name) {\n 'use strict';\n\n var errMsg = (name) ? 'Error in ' + name + ' extension->' : 'Error in unnamed extension',\n ret = {\n valid: true,\n error: ''\n };\n\n if (!showdown.helper.isArray(extension)) {\n extension = [extension];\n }\n\n for (var i = 0; i < extension.length; ++i) {\n var baseMsg = errMsg + ' sub-extension ' + i + ': ',\n ext = extension[i];\n if (typeof ext !== 'object') {\n ret.valid = false;\n ret.error = baseMsg + 'must be an object, but ' + typeof ext + ' given';\n return ret;\n }\n\n if (!showdown.helper.isString(ext.type)) {\n ret.valid = false;\n ret.error = baseMsg + 'property \"type\" must be a string, but ' + typeof ext.type + ' given';\n return ret;\n }\n\n var type = ext.type = ext.type.toLowerCase();\n\n // normalize extension type\n if (type === 'language') {\n type = ext.type = 'lang';\n }\n\n if (type === 'html') {\n type = ext.type = 'output';\n }\n\n if (type !== 'lang' && type !== 'output' && type !== 'listener') {\n ret.valid = false;\n ret.error = baseMsg + 'type ' + type + ' is not recognized. Valid values: \"lang/language\", \"output/html\" or \"listener\"';\n return ret;\n }\n\n if (type === 'listener') {\n if (showdown.helper.isUndefined(ext.listeners)) {\n ret.valid = false;\n ret.error = baseMsg + '. Extensions of type \"listener\" must have a property called \"listeners\"';\n return ret;\n }\n } else {\n if (showdown.helper.isUndefined(ext.filter) && showdown.helper.isUndefined(ext.regex)) {\n ret.valid = false;\n ret.error = baseMsg + type + ' extensions must define either a \"regex\" property or a \"filter\" method';\n return ret;\n }\n }\n\n if (ext.listeners) {\n if (typeof ext.listeners !== 'object') {\n ret.valid = false;\n ret.error = baseMsg + '\"listeners\" property must be an object but ' + typeof ext.listeners + ' given';\n return ret;\n }\n for (var ln in ext.listeners) {\n if (ext.listeners.hasOwnProperty(ln)) {\n if (typeof ext.listeners[ln] !== 'function') {\n ret.valid = false;\n ret.error = baseMsg + '\"listeners\" property must be an hash of [event name]: [callback]. listeners.' + ln +\n ' must be a function but ' + typeof ext.listeners[ln] + ' given';\n return ret;\n }\n }\n }\n }\n\n if (ext.filter) {\n if (typeof ext.filter !== 'function') {\n ret.valid = false;\n ret.error = baseMsg + '\"filter\" must be a function, but ' + typeof ext.filter + ' given';\n return ret;\n }\n } else if (ext.regex) {\n if (showdown.helper.isString(ext.regex)) {\n ext.regex = new RegExp(ext.regex, 'g');\n }\n if (!(ext.regex instanceof RegExp)) {\n ret.valid = false;\n ret.error = baseMsg + '\"regex\" property must either be a string or a RegExp object, but ' + typeof ext.regex + ' given';\n return ret;\n }\n if (showdown.helper.isUndefined(ext.replace)) {\n ret.valid = false;\n ret.error = baseMsg + '\"regex\" extensions must implement a replace string or function';\n return ret;\n }\n }\n }\n return ret;\n}\n\n/**\n * Validate extension\n * @param {object} ext\n * @returns {boolean}\n */\nshowdown.validateExtension = function (ext) {\n 'use strict';\n\n var validateExtension = validate(ext, null);\n if (!validateExtension.valid) {\n console.warn(validateExtension.error);\n return false;\n }\n return true;\n};\n\r\n/**\n * showdownjs helper functions\n */\n\nif (!showdown.hasOwnProperty('helper')) {\n showdown.helper = {};\n}\n\n/**\n * Check if var is string\n * @static\n * @param {string} a\n * @returns {boolean}\n */\nshowdown.helper.isString = function (a) {\n 'use strict';\n return (typeof a === 'string' || a instanceof String);\n};\n\n/**\n * Check if var is a function\n * @static\n * @param {*} a\n * @returns {boolean}\n */\nshowdown.helper.isFunction = function (a) {\n 'use strict';\n var getType = {};\n return a && getType.toString.call(a) === '[object Function]';\n};\n\n/**\n * isArray helper function\n * @static\n * @param {*} a\n * @returns {boolean}\n */\nshowdown.helper.isArray = function (a) {\n 'use strict';\n return Array.isArray(a);\n};\n\n/**\n * Check if value is undefined\n * @static\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is `undefined`, else `false`.\n */\nshowdown.helper.isUndefined = function (value) {\n 'use strict';\n return typeof value === 'undefined';\n};\n\n/**\n * ForEach helper function\n * Iterates over Arrays and Objects (own properties only)\n * @static\n * @param {*} obj\n * @param {function} callback Accepts 3 params: 1. value, 2. key, 3. the original array/object\n */\nshowdown.helper.forEach = function (obj, callback) {\n 'use strict';\n // check if obj is defined\n if (showdown.helper.isUndefined(obj)) {\n throw new Error('obj param is required');\n }\n\n if (showdown.helper.isUndefined(callback)) {\n throw new Error('callback param is required');\n }\n\n if (!showdown.helper.isFunction(callback)) {\n throw new Error('callback param must be a function/closure');\n }\n\n if (typeof obj.forEach === 'function') {\n obj.forEach(callback);\n } else if (showdown.helper.isArray(obj)) {\n for (var i = 0; i < obj.length; i++) {\n callback(obj[i], i, obj);\n }\n } else if (typeof (obj) === 'object') {\n for (var prop in obj) {\n if (obj.hasOwnProperty(prop)) {\n callback(obj[prop], prop, obj);\n }\n }\n } else {\n throw new Error('obj does not seem to be an array or an iterable object');\n }\n};\n\n/**\n * Standardidize extension name\n * @static\n * @param {string} s extension name\n * @returns {string}\n */\nshowdown.helper.stdExtName = function (s) {\n 'use strict';\n return s.replace(/[_?*+\\/\\\\.^-]/g, '').replace(/\\s/g, '').toLowerCase();\n};\n\nfunction escapeCharactersCallback (wholeMatch, m1) {\n 'use strict';\n var charCodeToEscape = m1.charCodeAt(0);\n return '¨E' + charCodeToEscape + 'E';\n}\n\n/**\n * Callback used to escape characters when passing through String.replace\n * @static\n * @param {string} wholeMatch\n * @param {string} m1\n * @returns {string}\n */\nshowdown.helper.escapeCharactersCallback = escapeCharactersCallback;\n\n/**\n * Escape characters in a string\n * @static\n * @param {string} text\n * @param {string} charsToEscape\n * @param {boolean} afterBackslash\n * @returns {XML|string|void|*}\n */\nshowdown.helper.escapeCharacters = function (text, charsToEscape, afterBackslash) {\n 'use strict';\n // First we have to escape the escape characters so that\n // we can build a character class out of them\n var regexString = '([' + charsToEscape.replace(/([\\[\\]\\\\])/g, '\\\\$1') + '])';\n\n if (afterBackslash) {\n regexString = '\\\\\\\\' + regexString;\n }\n\n var regex = new RegExp(regexString, 'g');\n text = text.replace(regex, escapeCharactersCallback);\n\n return text;\n};\n\n/**\n * Unescape HTML entities\n * @param txt\n * @returns {string}\n */\nshowdown.helper.unescapeHTMLEntities = function (txt) {\n 'use strict';\n\n return txt\n .replace(/"/g, '\"')\n .replace(/</g, '<')\n .replace(/>/g, '>')\n .replace(/&/g, '&');\n};\n\nvar rgxFindMatchPos = function (str, left, right, flags) {\n 'use strict';\n var f = flags || '',\n g = f.indexOf('g') > -1,\n x = new RegExp(left + '|' + right, 'g' + f.replace(/g/g, '')),\n l = new RegExp(left, f.replace(/g/g, '')),\n pos = [],\n t, s, m, start, end;\n\n do {\n t = 0;\n while ((m = x.exec(str))) {\n if (l.test(m[0])) {\n if (!(t++)) {\n s = x.lastIndex;\n start = s - m[0].length;\n }\n } else if (t) {\n if (!--t) {\n end = m.index + m[0].length;\n var obj = {\n left: {start: start, end: s},\n match: {start: s, end: m.index},\n right: {start: m.index, end: end},\n wholeMatch: {start: start, end: end}\n };\n pos.push(obj);\n if (!g) {\n return pos;\n }\n }\n }\n }\n } while (t && (x.lastIndex = s));\n\n return pos;\n};\n\n/**\n * matchRecursiveRegExp\n *\n * (c) 2007 Steven Levithan <stevenlevithan.com>\n * MIT License\n *\n * Accepts a string to search, a left and right format delimiter\n * as regex patterns, and optional regex flags. Returns an array\n * of matches, allowing nested instances of left/right delimiters.\n * Use the \"g\" flag to return all matches, otherwise only the\n * first is returned. Be careful to ensure that the left and\n * right format delimiters produce mutually exclusive matches.\n * Backreferences are not supported within the right delimiter\n * due to how it is internally combined with the left delimiter.\n * When matching strings whose format delimiters are unbalanced\n * to the left or right, the output is intentionally as a\n * conventional regex library with recursion support would\n * produce, e.g. \"<<x>\" and \"<x>>\" both produce [\"x\"] when using\n * \"<\" and \">\" as the delimiters (both strings contain a single,\n * balanced instance of \"<x>\").\n *\n * examples:\n * matchRecursiveRegExp(\"test\", \"\\\\(\", \"\\\\)\")\n * returns: []\n * matchRecursiveRegExp(\"<t<<e>><s>>t<>\", \"<\", \">\", \"g\")\n * returns: [\"t<<e>><s>\", \"\"]\n * matchRecursiveRegExp(\"<div id=\\\"x\\\">test</div>\", \"<div\\\\b[^>]*>\", \"</div>\", \"gi\")\n * returns: [\"test\"]\n */\nshowdown.helper.matchRecursiveRegExp = function (str, left, right, flags) {\n 'use strict';\n\n var matchPos = rgxFindMatchPos (str, left, right, flags),\n results = [];\n\n for (var i = 0; i < matchPos.length; ++i) {\n results.push([\n str.slice(matchPos[i].wholeMatch.start, matchPos[i].wholeMatch.end),\n str.slice(matchPos[i].match.start, matchPos[i].match.end),\n str.slice(matchPos[i].left.start, matchPos[i].left.end),\n str.slice(matchPos[i].right.start, matchPos[i].right.end)\n ]);\n }\n return results;\n};\n\n/**\n *\n * @param {string} str\n * @param {string|function} replacement\n * @param {string} left\n * @param {string} right\n * @param {string} flags\n * @returns {string}\n */\nshowdown.helper.replaceRecursiveRegExp = function (str, replacement, left, right, flags) {\n 'use strict';\n\n if (!showdown.helper.isFunction(replacement)) {\n var repStr = replacement;\n replacement = function () {\n return repStr;\n };\n }\n\n var matchPos = rgxFindMatchPos(str, left, right, flags),\n finalStr = str,\n lng = matchPos.length;\n\n if (lng > 0) {\n var bits = [];\n if (matchPos[0].wholeMatch.start !== 0) {\n bits.push(str.slice(0, matchPos[0].wholeMatch.start));\n }\n for (var i = 0; i < lng; ++i) {\n bits.push(\n replacement(\n str.slice(matchPos[i].wholeMatch.start, matchPos[i].wholeMatch.end),\n str.slice(matchPos[i].match.start, matchPos[i].match.end),\n str.slice(matchPos[i].left.start, matchPos[i].left.end),\n str.slice(matchPos[i].right.start, matchPos[i].right.end)\n )\n );\n if (i < lng - 1) {\n bits.push(str.slice(matchPos[i].wholeMatch.end, matchPos[i + 1].wholeMatch.start));\n }\n }\n if (matchPos[lng - 1].wholeMatch.end < str.length) {\n bits.push(str.slice(matchPos[lng - 1].wholeMatch.end));\n }\n finalStr = bits.join('');\n }\n return finalStr;\n};\n\n/**\n * Returns the index within the passed String object of the first occurrence of the specified regex,\n * starting the search at fromIndex. Returns -1 if the value is not found.\n *\n * @param {string} str string to search\n * @param {RegExp} regex Regular expression to search\n * @param {int} [fromIndex = 0] Index to start the search\n * @returns {Number}\n * @throws InvalidArgumentError\n */\nshowdown.helper.regexIndexOf = function (str, regex, fromIndex) {\n 'use strict';\n if (!showdown.helper.isString(str)) {\n throw 'InvalidArgumentError: first parameter of showdown.helper.regexIndexOf function must be a string';\n }\n if (regex instanceof RegExp === false) {\n throw 'InvalidArgumentError: second parameter of showdown.helper.regexIndexOf function must be an instance of RegExp';\n }\n var indexOf = str.substring(fromIndex || 0).search(regex);\n return (indexOf >= 0) ? (indexOf + (fromIndex || 0)) : indexOf;\n};\n\n/**\n * Splits the passed string object at the defined index, and returns an array composed of the two substrings\n * @param {string} str string to split\n * @param {int} index index to split string at\n * @returns {[string,string]}\n * @throws InvalidArgumentError\n */\nshowdown.helper.splitAtIndex = function (str, index) {\n 'use strict';\n if (!showdown.helper.isString(str)) {\n throw 'InvalidArgumentError: first parameter of showdown.helper.regexIndexOf function must be a string';\n }\n return [str.substring(0, index), str.substring(index)];\n};\n\n/**\n * Obfuscate an e-mail address through the use of Character Entities,\n * transforming ASCII characters into their equivalent decimal or hex entities.\n *\n * Since it has a random component, subsequent calls to this function produce different results\n *\n * @param {string} mail\n * @returns {string}\n */\nshowdown.helper.encodeEmailAddress = function (mail) {\n 'use strict';\n var encode = [\n function (ch) {\n return '&#' + ch.charCodeAt(0) + ';';\n },\n function (ch) {\n return '&#x' + ch.charCodeAt(0).toString(16) + ';';\n },\n function (ch) {\n return ch;\n }\n ];\n\n mail = mail.replace(/./g, function (ch) {\n if (ch === '@') {\n // this *must* be encoded. I insist.\n ch = encode[Math.floor(Math.random() * 2)](ch);\n } else {\n var r = Math.random();\n // roughly 10% raw, 45% hex, 45% dec\n ch = (\n r > 0.9 ? encode[2](ch) : r > 0.45 ? encode[1](ch) : encode[0](ch)\n );\n }\n return ch;\n });\n\n return mail;\n};\n\n/**\n *\n * @param str\n * @param targetLength\n * @param padString\n * @returns {string}\n */\nshowdown.helper.padEnd = function padEnd (str, targetLength, padString) {\n 'use strict';\n /*jshint bitwise: false*/\n // eslint-disable-next-line space-infix-ops\n targetLength = targetLength>>0; //floor if number or convert non-number to 0;\n /*jshint bitwise: true*/\n padString = String(padString || ' ');\n if (str.length > targetLength) {\n return String(str);\n } else {\n targetLength = targetLength - str.length;\n if (targetLength > padString.length) {\n padString += padString.repeat(targetLength / padString.length); //append to original to ensure we are longer than needed\n }\n return String(str) + padString.slice(0,targetLength);\n }\n};\n\n/**\n * POLYFILLS\n */\n// use this instead of builtin is undefined for IE8 compatibility\nif (typeof console === 'undefined') {\n console = {\n warn: function (msg) {\n 'use strict';\n alert(msg);\n },\n log: function (msg) {\n 'use strict';\n alert(msg);\n },\n error: function (msg) {\n 'use strict';\n throw msg;\n }\n };\n}\n\n/**\n * Common regexes.\n * We declare some common regexes to improve performance\n */\nshowdown.helper.regexes = {\n asteriskDashAndColon: /([*_:~])/g\n};\n\n/**\n * EMOJIS LIST\n */\nshowdown.helper.emojis = {\n '+1':'\\ud83d\\udc4d',\n '-1':'\\ud83d\\udc4e',\n '100':'\\ud83d\\udcaf',\n '1234':'\\ud83d\\udd22',\n '1st_place_medal':'\\ud83e\\udd47',\n '2nd_place_medal':'\\ud83e\\udd48',\n '3rd_place_medal':'\\ud83e\\udd49',\n '8ball':'\\ud83c\\udfb1',\n 'a':'\\ud83c\\udd70\\ufe0f',\n 'ab':'\\ud83c\\udd8e',\n 'abc':'\\ud83d\\udd24',\n 'abcd':'\\ud83d\\udd21',\n 'accept':'\\ud83c\\ude51',\n 'aerial_tramway':'\\ud83d\\udea1',\n 'airplane':'\\u2708\\ufe0f',\n 'alarm_clock':'\\u23f0',\n 'alembic':'\\u2697\\ufe0f',\n 'alien':'\\ud83d\\udc7d',\n 'ambulance':'\\ud83d\\ude91',\n 'amphora':'\\ud83c\\udffa',\n 'anchor':'\\u2693\\ufe0f',\n 'angel':'\\ud83d\\udc7c',\n 'anger':'\\ud83d\\udca2',\n 'angry':'\\ud83d\\ude20',\n 'anguished':'\\ud83d\\ude27',\n 'ant':'\\ud83d\\udc1c',\n 'apple':'\\ud83c\\udf4e',\n 'aquarius':'\\u2652\\ufe0f',\n 'aries':'\\u2648\\ufe0f',\n 'arrow_backward':'\\u25c0\\ufe0f',\n 'arrow_double_down':'\\u23ec',\n 'arrow_double_up':'\\u23eb',\n 'arrow_down':'\\u2b07\\ufe0f',\n 'arrow_down_small':'\\ud83d\\udd3d',\n 'arrow_forward':'\\u25b6\\ufe0f',\n 'arrow_heading_down':'\\u2935\\ufe0f',\n 'arrow_heading_up':'\\u2934\\ufe0f',\n 'arrow_left':'\\u2b05\\ufe0f',\n 'arrow_lower_left':'\\u2199\\ufe0f',\n 'arrow_lower_right':'\\u2198\\ufe0f',\n 'arrow_right':'\\u27a1\\ufe0f',\n 'arrow_right_hook':'\\u21aa\\ufe0f',\n 'arrow_up':'\\u2b06\\ufe0f',\n 'arrow_up_down':'\\u2195\\ufe0f',\n 'arrow_up_small':'\\ud83d\\udd3c',\n 'arrow_upper_left':'\\u2196\\ufe0f',\n 'arrow_upper_right':'\\u2197\\ufe0f',\n 'arrows_clockwise':'\\ud83d\\udd03',\n 'arrows_counterclockwise':'\\ud83d\\udd04',\n 'art':'\\ud83c\\udfa8',\n 'articulated_lorry':'\\ud83d\\ude9b',\n 'artificial_satellite':'\\ud83d\\udef0',\n 'astonished':'\\ud83d\\ude32',\n 'athletic_shoe':'\\ud83d\\udc5f',\n 'atm':'\\ud83c\\udfe7',\n 'atom_symbol':'\\u269b\\ufe0f',\n 'avocado':'\\ud83e\\udd51',\n 'b':'\\ud83c\\udd71\\ufe0f',\n 'baby':'\\ud83d\\udc76',\n 'baby_bottle':'\\ud83c\\udf7c',\n 'baby_chick':'\\ud83d\\udc24',\n 'baby_symbol':'\\ud83d\\udebc',\n 'back':'\\ud83d\\udd19',\n 'bacon':'\\ud83e\\udd53',\n 'badminton':'\\ud83c\\udff8',\n 'baggage_claim':'\\ud83d\\udec4',\n 'baguette_bread':'\\ud83e\\udd56',\n 'balance_scale':'\\u2696\\ufe0f',\n 'balloon':'\\ud83c\\udf88',\n 'ballot_box':'\\ud83d\\uddf3',\n 'ballot_box_with_check':'\\u2611\\ufe0f',\n 'bamboo':'\\ud83c\\udf8d',\n 'banana':'\\ud83c\\udf4c',\n 'bangbang':'\\u203c\\ufe0f',\n 'bank':'\\ud83c\\udfe6',\n 'bar_chart':'\\ud83d\\udcca',\n 'barber':'\\ud83d\\udc88',\n 'baseball':'\\u26be\\ufe0f',\n 'basketball':'\\ud83c\\udfc0',\n 'basketball_man':'\\u26f9\\ufe0f',\n 'basketball_woman':'\\u26f9\\ufe0f‍\\u2640\\ufe0f',\n 'bat':'\\ud83e\\udd87',\n 'bath':'\\ud83d\\udec0',\n 'bathtub':'\\ud83d\\udec1',\n 'battery':'\\ud83d\\udd0b',\n 'beach_umbrella':'\\ud83c\\udfd6',\n 'bear':'\\ud83d\\udc3b',\n 'bed':'\\ud83d\\udecf',\n 'bee':'\\ud83d\\udc1d',\n 'beer':'\\ud83c\\udf7a',\n 'beers':'\\ud83c\\udf7b',\n 'beetle':'\\ud83d\\udc1e',\n 'beginner':'\\ud83d\\udd30',\n 'bell':'\\ud83d\\udd14',\n 'bellhop_bell':'\\ud83d\\udece',\n 'bento':'\\ud83c\\udf71',\n 'biking_man':'\\ud83d\\udeb4',\n 'bike':'\\ud83d\\udeb2',\n 'biking_woman':'\\ud83d\\udeb4‍\\u2640\\ufe0f',\n 'bikini':'\\ud83d\\udc59',\n 'biohazard':'\\u2623\\ufe0f',\n 'bird':'\\ud83d\\udc26',\n 'birthday':'\\ud83c\\udf82',\n 'black_circle':'\\u26ab\\ufe0f',\n 'black_flag':'\\ud83c\\udff4',\n 'black_heart':'\\ud83d\\udda4',\n 'black_joker':'\\ud83c\\udccf',\n 'black_large_square':'\\u2b1b\\ufe0f',\n 'black_medium_small_square':'\\u25fe\\ufe0f',\n 'black_medium_square':'\\u25fc\\ufe0f',\n 'black_nib':'\\u2712\\ufe0f',\n 'black_small_square':'\\u25aa\\ufe0f',\n 'black_square_button':'\\ud83d\\udd32',\n 'blonde_man':'\\ud83d\\udc71',\n 'blonde_woman':'\\ud83d\\udc71‍\\u2640\\ufe0f',\n 'blossom':'\\ud83c\\udf3c',\n 'blowfish':'\\ud83d\\udc21',\n 'blue_book':'\\ud83d\\udcd8',\n 'blue_car':'\\ud83d\\ude99',\n 'blue_heart':'\\ud83d\\udc99',\n 'blush':'\\ud83d\\ude0a',\n 'boar':'\\ud83d\\udc17',\n 'boat':'\\u26f5\\ufe0f',\n 'bomb':'\\ud83d\\udca3',\n 'book':'\\ud83d\\udcd6',\n 'bookmark':'\\ud83d\\udd16',\n 'bookmark_tabs':'\\ud83d\\udcd1',\n 'books':'\\ud83d\\udcda',\n 'boom':'\\ud83d\\udca5',\n 'boot':'\\ud83d\\udc62',\n 'bouquet':'\\ud83d\\udc90',\n 'bowing_man':'\\ud83d\\ude47',\n 'bow_and_arrow':'\\ud83c\\udff9',\n 'bowing_woman':'\\ud83d\\ude47‍\\u2640\\ufe0f',\n 'bowling':'\\ud83c\\udfb3',\n 'boxing_glove':'\\ud83e\\udd4a',\n 'boy':'\\ud83d\\udc66',\n 'bread':'\\ud83c\\udf5e',\n 'bride_with_veil':'\\ud83d\\udc70',\n 'bridge_at_night':'\\ud83c\\udf09',\n 'briefcase':'\\ud83d\\udcbc',\n 'broken_heart':'\\ud83d\\udc94',\n 'bug':'\\ud83d\\udc1b',\n 'building_construction':'\\ud83c\\udfd7',\n 'bulb':'\\ud83d\\udca1',\n 'bullettrain_front':'\\ud83d\\ude85',\n 'bullettrain_side':'\\ud83d\\ude84',\n 'burrito':'\\ud83c\\udf2f',\n 'bus':'\\ud83d\\ude8c',\n 'business_suit_levitating':'\\ud83d\\udd74',\n 'busstop':'\\ud83d\\ude8f',\n 'bust_in_silhouette':'\\ud83d\\udc64',\n 'busts_in_silhouette':'\\ud83d\\udc65',\n 'butterfly':'\\ud83e\\udd8b',\n 'cactus':'\\ud83c\\udf35',\n 'cake':'\\ud83c\\udf70',\n 'calendar':'\\ud83d\\udcc6',\n 'call_me_hand':'\\ud83e\\udd19',\n 'calling':'\\ud83d\\udcf2',\n 'camel':'\\ud83d\\udc2b',\n 'camera':'\\ud83d\\udcf7',\n 'camera_flash':'\\ud83d\\udcf8',\n 'camping':'\\ud83c\\udfd5',\n 'cancer':'\\u264b\\ufe0f',\n 'candle':'\\ud83d\\udd6f',\n 'candy':'\\ud83c\\udf6c',\n 'canoe':'\\ud83d\\udef6',\n 'capital_abcd':'\\ud83d\\udd20',\n 'capricorn':'\\u2651\\ufe0f',\n 'car':'\\ud83d\\ude97',\n 'card_file_box':'\\ud83d\\uddc3',\n 'card_index':'\\ud83d\\udcc7',\n 'card_index_dividers':'\\ud83d\\uddc2',\n 'carousel_horse':'\\ud83c\\udfa0',\n 'carrot':'\\ud83e\\udd55',\n 'cat':'\\ud83d\\udc31',\n 'cat2':'\\ud83d\\udc08',\n 'cd':'\\ud83d\\udcbf',\n 'chains':'\\u26d3',\n 'champagne':'\\ud83c\\udf7e',\n 'chart':'\\ud83d\\udcb9',\n 'chart_with_downwards_trend':'\\ud83d\\udcc9',\n 'chart_with_upwards_trend':'\\ud83d\\udcc8',\n 'checkered_flag':'\\ud83c\\udfc1',\n 'cheese':'\\ud83e\\uddc0',\n 'cherries':'\\ud83c\\udf52',\n 'cherry_blossom':'\\ud83c\\udf38',\n 'chestnut':'\\ud83c\\udf30',\n 'chicken':'\\ud83d\\udc14',\n 'children_crossing':'\\ud83d\\udeb8',\n 'chipmunk':'\\ud83d\\udc3f',\n 'chocolate_bar':'\\ud83c\\udf6b',\n 'christmas_tree':'\\ud83c\\udf84',\n 'church':'\\u26ea\\ufe0f',\n 'cinema':'\\ud83c\\udfa6',\n 'circus_tent':'\\ud83c\\udfaa',\n 'city_sunrise':'\\ud83c\\udf07',\n 'city_sunset':'\\ud83c\\udf06',\n 'cityscape':'\\ud83c\\udfd9',\n 'cl':'\\ud83c\\udd91',\n 'clamp':'\\ud83d\\udddc',\n 'clap':'\\ud83d\\udc4f',\n 'clapper':'\\ud83c\\udfac',\n 'classical_building':'\\ud83c\\udfdb',\n 'clinking_glasses':'\\ud83e\\udd42',\n 'clipboard':'\\ud83d\\udccb',\n 'clock1':'\\ud83d\\udd50',\n 'clock10':'\\ud83d\\udd59',\n 'clock1030':'\\ud83d\\udd65',\n 'clock11':'\\ud83d\\udd5a',\n 'clock1130':'\\ud83d\\udd66',\n 'clock12':'\\ud83d\\udd5b',\n 'clock1230':'\\ud83d\\udd67',\n 'clock130':'\\ud83d\\udd5c',\n 'clock2':'\\ud83d\\udd51',\n 'clock230':'\\ud83d\\udd5d',\n 'clock3':'\\ud83d\\udd52',\n 'clock330':'\\ud83d\\udd5e',\n 'clock4':'\\ud83d\\udd53',\n 'clock430':'\\ud83d\\udd5f',\n 'clock5':'\\ud83d\\udd54',\n 'clock530':'\\ud83d\\udd60',\n 'clock6':'\\ud83d\\udd55',\n 'clock630':'\\ud83d\\udd61',\n 'clock7':'\\ud83d\\udd56',\n 'clock730':'\\ud83d\\udd62',\n 'clock8':'\\ud83d\\udd57',\n 'clock830':'\\ud83d\\udd63',\n 'clock9':'\\ud83d\\udd58',\n 'clock930':'\\ud83d\\udd64',\n 'closed_book':'\\ud83d\\udcd5',\n 'closed_lock_with_key':'\\ud83d\\udd10',\n 'closed_umbrella':'\\ud83c\\udf02',\n 'cloud':'\\u2601\\ufe0f',\n 'cloud_with_lightning':'\\ud83c\\udf29',\n 'cloud_with_lightning_and_rain':'\\u26c8',\n 'cloud_with_rain':'\\ud83c\\udf27',\n 'cloud_with_snow':'\\ud83c\\udf28',\n 'clown_face':'\\ud83e\\udd21',\n 'clubs':'\\u2663\\ufe0f',\n 'cocktail':'\\ud83c\\udf78',\n 'coffee':'\\u2615\\ufe0f',\n 'coffin':'\\u26b0\\ufe0f',\n 'cold_sweat':'\\ud83d\\ude30',\n 'comet':'\\u2604\\ufe0f',\n 'computer':'\\ud83d\\udcbb',\n 'computer_mouse':'\\ud83d\\uddb1',\n 'confetti_ball':'\\ud83c\\udf8a',\n 'confounded':'\\ud83d\\ude16',\n 'confused':'\\ud83d\\ude15',\n 'congratulations':'\\u3297\\ufe0f',\n 'construction':'\\ud83d\\udea7',\n 'construction_worker_man':'\\ud83d\\udc77',\n 'construction_worker_woman':'\\ud83d\\udc77‍\\u2640\\ufe0f',\n 'control_knobs':'\\ud83c\\udf9b',\n 'convenience_store':'\\ud83c\\udfea',\n 'cookie':'\\ud83c\\udf6a',\n 'cool':'\\ud83c\\udd92',\n 'policeman':'\\ud83d\\udc6e',\n 'copyright':'\\u00a9\\ufe0f',\n 'corn':'\\ud83c\\udf3d',\n 'couch_and_lamp':'\\ud83d\\udecb',\n 'couple':'\\ud83d\\udc6b',\n 'couple_with_heart_woman_man':'\\ud83d\\udc91',\n 'couple_with_heart_man_man':'\\ud83d\\udc68‍\\u2764\\ufe0f‍\\ud83d\\udc68',\n 'couple_with_heart_woman_woman':'\\ud83d\\udc69‍\\u2764\\ufe0f‍\\ud83d\\udc69',\n 'couplekiss_man_man':'\\ud83d\\udc68‍\\u2764\\ufe0f‍\\ud83d\\udc8b‍\\ud83d\\udc68',\n 'couplekiss_man_woman':'\\ud83d\\udc8f',\n 'couplekiss_woman_woman':'\\ud83d\\udc69‍\\u2764\\ufe0f‍\\ud83d\\udc8b‍\\ud83d\\udc69',\n 'cow':'\\ud83d\\udc2e',\n 'cow2':'\\ud83d\\udc04',\n 'cowboy_hat_face':'\\ud83e\\udd20',\n 'crab':'\\ud83e\\udd80',\n 'crayon':'\\ud83d\\udd8d',\n 'credit_card':'\\ud83d\\udcb3',\n 'crescent_moon':'\\ud83c\\udf19',\n 'cricket':'\\ud83c\\udfcf',\n 'crocodile':'\\ud83d\\udc0a',\n 'croissant':'\\ud83e\\udd50',\n 'crossed_fingers':'\\ud83e\\udd1e',\n 'crossed_flags':'\\ud83c\\udf8c',\n 'crossed_swords':'\\u2694\\ufe0f',\n 'crown':'\\ud83d\\udc51',\n 'cry':'\\ud83d\\ude22',\n 'crying_cat_face':'\\ud83d\\ude3f',\n 'crystal_ball':'\\ud83d\\udd2e',\n 'cucumber':'\\ud83e\\udd52',\n 'cupid':'\\ud83d\\udc98',\n 'curly_loop':'\\u27b0',\n 'currency_exchange':'\\ud83d\\udcb1',\n 'curry':'\\ud83c\\udf5b',\n 'custard':'\\ud83c\\udf6e',\n 'customs':'\\ud83d\\udec3',\n 'cyclone':'\\ud83c\\udf00',\n 'dagger':'\\ud83d\\udde1',\n 'dancer':'\\ud83d\\udc83',\n 'dancing_women':'\\ud83d\\udc6f',\n 'dancing_men':'\\ud83d\\udc6f‍\\u2642\\ufe0f',\n 'dango':'\\ud83c\\udf61',\n 'dark_sunglasses':'\\ud83d\\udd76',\n 'dart':'\\ud83c\\udfaf',\n 'dash':'\\ud83d\\udca8',\n 'date':'\\ud83d\\udcc5',\n 'deciduous_tree':'\\ud83c\\udf33',\n 'deer':'\\ud83e\\udd8c',\n 'department_store':'\\ud83c\\udfec',\n 'derelict_house':'\\ud83c\\udfda',\n 'desert':'\\ud83c\\udfdc',\n 'desert_island':'\\ud83c\\udfdd',\n 'desktop_computer':'\\ud83d\\udda5',\n 'male_detective':'\\ud83d\\udd75\\ufe0f',\n 'diamond_shape_with_a_dot_inside':'\\ud83d\\udca0',\n 'diamonds':'\\u2666\\ufe0f',\n 'disappointed':'\\ud83d\\ude1e',\n 'disappointed_relieved':'\\ud83d\\ude25',\n 'dizzy':'\\ud83d\\udcab',\n 'dizzy_face':'\\ud83d\\ude35',\n 'do_not_litter':'\\ud83d\\udeaf',\n 'dog':'\\ud83d\\udc36',\n 'dog2':'\\ud83d\\udc15',\n 'dollar':'\\ud83d\\udcb5',\n 'dolls':'\\ud83c\\udf8e',\n 'dolphin':'\\ud83d\\udc2c',\n 'door':'\\ud83d\\udeaa',\n 'doughnut':'\\ud83c\\udf69',\n 'dove':'\\ud83d\\udd4a',\n 'dragon':'\\ud83d\\udc09',\n 'dragon_face':'\\ud83d\\udc32',\n 'dress':'\\ud83d\\udc57',\n 'dromedary_camel':'\\ud83d\\udc2a',\n 'drooling_face':'\\ud83e\\udd24',\n 'droplet':'\\ud83d\\udca7',\n 'drum':'\\ud83e\\udd41',\n 'duck':'\\ud83e\\udd86',\n 'dvd':'\\ud83d\\udcc0',\n 'e-mail':'\\ud83d\\udce7',\n 'eagle':'\\ud83e\\udd85',\n 'ear':'\\ud83d\\udc42',\n 'ear_of_rice':'\\ud83c\\udf3e',\n 'earth_africa':'\\ud83c\\udf0d',\n 'earth_americas':'\\ud83c\\udf0e',\n 'earth_asia':'\\ud83c\\udf0f',\n 'egg':'\\ud83e\\udd5a',\n 'eggplant':'\\ud83c\\udf46',\n 'eight_pointed_black_star':'\\u2734\\ufe0f',\n 'eight_spoked_asterisk':'\\u2733\\ufe0f',\n 'electric_plug':'\\ud83d\\udd0c',\n 'elephant':'\\ud83d\\udc18',\n 'email':'\\u2709\\ufe0f',\n 'end':'\\ud83d\\udd1a',\n 'envelope_with_arrow':'\\ud83d\\udce9',\n 'euro':'\\ud83d\\udcb6',\n 'european_castle':'\\ud83c\\udff0',\n 'european_post_office':'\\ud83c\\udfe4',\n 'evergreen_tree':'\\ud83c\\udf32',\n 'exclamation':'\\u2757\\ufe0f',\n 'expressionless':'\\ud83d\\ude11',\n 'eye':'\\ud83d\\udc41',\n 'eye_speech_bubble':'\\ud83d\\udc41‍\\ud83d\\udde8',\n 'eyeglasses':'\\ud83d\\udc53',\n 'eyes':'\\ud83d\\udc40',\n 'face_with_head_bandage':'\\ud83e\\udd15',\n 'face_with_thermometer':'\\ud83e\\udd12',\n 'fist_oncoming':'\\ud83d\\udc4a',\n 'factory':'\\ud83c\\udfed',\n 'fallen_leaf':'\\ud83c\\udf42',\n 'family_man_woman_boy':'\\ud83d\\udc6a',\n 'family_man_boy':'\\ud83d\\udc68‍\\ud83d\\udc66',\n 'family_man_boy_boy':'\\ud83d\\udc68‍\\ud83d\\udc66‍\\ud83d\\udc66',\n 'family_man_girl':'\\ud83d\\udc68‍\\ud83d\\udc67',\n 'family_man_girl_boy':'\\ud83d\\udc68‍\\ud83d\\udc67‍\\ud83d\\udc66',\n 'family_man_girl_girl':'\\ud83d\\udc68‍\\ud83d\\udc67‍\\ud83d\\udc67',\n 'family_man_man_boy':'\\ud83d\\udc68‍\\ud83d\\udc68‍\\ud83d\\udc66',\n 'family_man_man_boy_boy':'\\ud83d\\udc68‍\\ud83d\\udc68‍\\ud83d\\udc66‍\\ud83d\\udc66',\n 'family_man_man_girl':'\\ud83d\\udc68‍\\ud83d\\udc68‍\\ud83d\\udc67',\n 'family_man_man_girl_boy':'\\ud83d\\udc68‍\\ud83d\\udc68‍\\ud83d\\udc67‍\\ud83d\\udc66',\n 'family_man_man_girl_girl':'\\ud83d\\udc68‍\\ud83d\\udc68‍\\ud83d\\udc67‍\\ud83d\\udc67',\n 'family_man_woman_boy_boy':'\\ud83d\\udc68‍\\ud83d\\udc69‍\\ud83d\\udc66‍\\ud83d\\udc66',\n 'family_man_woman_girl':'\\ud83d\\udc68‍\\ud83d\\udc69‍\\ud83d\\udc67',\n 'family_man_woman_girl_boy':'\\ud83d\\udc68‍\\ud83d\\udc69‍\\ud83d\\udc67‍\\ud83d\\udc66',\n 'family_man_woman_girl_girl':'\\ud83d\\udc68‍\\ud83d\\udc69‍\\ud83d\\udc67‍\\ud83d\\udc67',\n 'family_woman_boy':'\\ud83d\\udc69‍\\ud83d\\udc66',\n 'family_woman_boy_boy':'\\ud83d\\udc69‍\\ud83d\\udc66‍\\ud83d\\udc66',\n 'family_woman_girl':'\\ud83d\\udc69‍\\ud83d\\udc67',\n 'family_woman_girl_boy':'\\ud83d\\udc69‍\\ud83d\\udc67‍\\ud83d\\udc66',\n 'family_woman_girl_girl':'\\ud83d\\udc69‍\\ud83d\\udc67‍\\ud83d\\udc67',\n 'family_woman_woman_boy':'\\ud83d\\udc69‍\\ud83d\\udc69‍\\ud83d\\udc66',\n 'family_woman_woman_boy_boy':'\\ud83d\\udc69‍\\ud83d\\udc69‍\\ud83d\\udc66‍\\ud83d\\udc66',\n 'family_woman_woman_girl':'\\ud83d\\udc69‍\\ud83d\\udc69‍\\ud83d\\udc67',\n 'family_woman_woman_girl_boy':'\\ud83d\\udc69‍\\ud83d\\udc69‍\\ud83d\\udc67‍\\ud83d\\udc66',\n 'family_woman_woman_girl_girl':'\\ud83d\\udc69‍\\ud83d\\udc69‍\\ud83d\\udc67‍\\ud83d\\udc67',\n 'fast_forward':'\\u23e9',\n 'fax':'\\ud83d\\udce0',\n 'fearful':'\\ud83d\\ude28',\n 'feet':'\\ud83d\\udc3e',\n 'female_detective':'\\ud83d\\udd75\\ufe0f‍\\u2640\\ufe0f',\n 'ferris_wheel':'\\ud83c\\udfa1',\n 'ferry':'\\u26f4',\n 'field_hockey':'\\ud83c\\udfd1',\n 'file_cabinet':'\\ud83d\\uddc4',\n 'file_folder':'\\ud83d\\udcc1',\n 'film_projector':'\\ud83d\\udcfd',\n 'film_strip':'\\ud83c\\udf9e',\n 'fire':'\\ud83d\\udd25',\n 'fire_engine':'\\ud83d\\ude92',\n 'fireworks':'\\ud83c\\udf86',\n 'first_quarter_moon':'\\ud83c\\udf13',\n 'first_quarter_moon_with_face':'\\ud83c\\udf1b',\n 'fish':'\\ud83d\\udc1f',\n 'fish_cake':'\\ud83c\\udf65',\n 'fishing_pole_and_fish':'\\ud83c\\udfa3',\n 'fist_raised':'\\u270a',\n 'fist_left':'\\ud83e\\udd1b',\n 'fist_right':'\\ud83e\\udd1c',\n 'flags':'\\ud83c\\udf8f',\n 'flashlight':'\\ud83d\\udd26',\n 'fleur_de_lis':'\\u269c\\ufe0f',\n 'flight_arrival':'\\ud83d\\udeec',\n 'flight_departure':'\\ud83d\\udeeb',\n 'floppy_disk':'\\ud83d\\udcbe',\n 'flower_playing_cards':'\\ud83c\\udfb4',\n 'flushed':'\\ud83d\\ude33',\n 'fog':'\\ud83c\\udf2b',\n 'foggy':'\\ud83c\\udf01',\n 'football':'\\ud83c\\udfc8',\n 'footprints':'\\ud83d\\udc63',\n 'fork_and_knife':'\\ud83c\\udf74',\n 'fountain':'\\u26f2\\ufe0f',\n 'fountain_pen':'\\ud83d\\udd8b',\n 'four_leaf_clover':'\\ud83c\\udf40',\n 'fox_face':'\\ud83e\\udd8a',\n 'framed_picture':'\\ud83d\\uddbc',\n 'free':'\\ud83c\\udd93',\n 'fried_egg':'\\ud83c\\udf73',\n 'fried_shrimp':'\\ud83c\\udf64',\n 'fries':'\\ud83c\\udf5f',\n 'frog':'\\ud83d\\udc38',\n 'frowning':'\\ud83d\\ude26',\n 'frowning_face':'\\u2639\\ufe0f',\n 'frowning_man':'\\ud83d\\ude4d‍\\u2642\\ufe0f',\n 'frowning_woman':'\\ud83d\\ude4d',\n 'middle_finger':'\\ud83d\\udd95',\n 'fuelpump':'\\u26fd\\ufe0f',\n 'full_moon':'\\ud83c\\udf15',\n 'full_moon_with_face':'\\ud83c\\udf1d',\n 'funeral_urn':'\\u26b1\\ufe0f',\n 'game_die':'\\ud83c\\udfb2',\n 'gear':'\\u2699\\ufe0f',\n 'gem':'\\ud83d\\udc8e',\n 'gemini':'\\u264a\\ufe0f',\n 'ghost':'\\ud83d\\udc7b',\n 'gift':'\\ud83c\\udf81',\n 'gift_heart':'\\ud83d\\udc9d',\n 'girl':'\\ud83d\\udc67',\n 'globe_with_meridians':'\\ud83c\\udf10',\n 'goal_net':'\\ud83e\\udd45',\n 'goat':'\\ud83d\\udc10',\n 'golf':'\\u26f3\\ufe0f',\n 'golfing_man':'\\ud83c\\udfcc\\ufe0f',\n 'golfing_woman':'\\ud83c\\udfcc\\ufe0f‍\\u2640\\ufe0f',\n 'gorilla':'\\ud83e\\udd8d',\n 'grapes':'\\ud83c\\udf47',\n 'green_apple':'\\ud83c\\udf4f',\n 'green_book':'\\ud83d\\udcd7',\n 'green_heart':'\\ud83d\\udc9a',\n 'green_salad':'\\ud83e\\udd57',\n 'grey_exclamation':'\\u2755',\n 'grey_question':'\\u2754',\n 'grimacing':'\\ud83d\\ude2c',\n 'grin':'\\ud83d\\ude01',\n 'grinning':'\\ud83d\\ude00',\n 'guardsman':'\\ud83d\\udc82',\n 'guardswoman':'\\ud83d\\udc82‍\\u2640\\ufe0f',\n 'guitar':'\\ud83c\\udfb8',\n 'gun':'\\ud83d\\udd2b',\n 'haircut_woman':'\\ud83d\\udc87',\n 'haircut_man':'\\ud83d\\udc87‍\\u2642\\ufe0f',\n 'hamburger':'\\ud83c\\udf54',\n 'hammer':'\\ud83d\\udd28',\n 'hammer_and_pick':'\\u2692',\n 'hammer_and_wrench':'\\ud83d\\udee0',\n 'hamster':'\\ud83d\\udc39',\n 'hand':'\\u270b',\n 'handbag':'\\ud83d\\udc5c',\n 'handshake':'\\ud83e\\udd1d',\n 'hankey':'\\ud83d\\udca9',\n 'hatched_chick':'\\ud83d\\udc25',\n 'hatching_chick':'\\ud83d\\udc23',\n 'headphones':'\\ud83c\\udfa7',\n 'hear_no_evil':'\\ud83d\\ude49',\n 'heart':'\\u2764\\ufe0f',\n 'heart_decoration':'\\ud83d\\udc9f',\n 'heart_eyes':'\\ud83d\\ude0d',\n 'heart_eyes_cat':'\\ud83d\\ude3b',\n 'heartbeat':'\\ud83d\\udc93',\n 'heartpulse':'\\ud83d\\udc97',\n 'hearts':'\\u2665\\ufe0f',\n 'heavy_check_mark':'\\u2714\\ufe0f',\n 'heavy_division_sign':'\\u2797',\n 'heavy_dollar_sign':'\\ud83d\\udcb2',\n 'heavy_heart_exclamation':'\\u2763\\ufe0f',\n 'heavy_minus_sign':'\\u2796',\n 'heavy_multiplication_x':'\\u2716\\ufe0f',\n 'heavy_plus_sign':'\\u2795',\n 'helicopter':'\\ud83d\\ude81',\n 'herb':'\\ud83c\\udf3f',\n 'hibiscus':'\\ud83c\\udf3a',\n 'high_brightness':'\\ud83d\\udd06',\n 'high_heel':'\\ud83d\\udc60',\n 'hocho':'\\ud83d\\udd2a',\n 'hole':'\\ud83d\\udd73',\n 'honey_pot':'\\ud83c\\udf6f',\n 'horse':'\\ud83d\\udc34',\n 'horse_racing':'\\ud83c\\udfc7',\n 'hospital':'\\ud83c\\udfe5',\n 'hot_pepper':'\\ud83c\\udf36',\n 'hotdog':'\\ud83c\\udf2d',\n 'hotel':'\\ud83c\\udfe8',\n 'hotsprings':'\\u2668\\ufe0f',\n 'hourglass':'\\u231b\\ufe0f',\n 'hourglass_flowing_sand':'\\u23f3',\n 'house':'\\ud83c\\udfe0',\n 'house_with_garden':'\\ud83c\\udfe1',\n 'houses':'\\ud83c\\udfd8',\n 'hugs':'\\ud83e\\udd17',\n 'hushed':'\\ud83d\\ude2f',\n 'ice_cream':'\\ud83c\\udf68',\n 'ice_hockey':'\\ud83c\\udfd2',\n 'ice_skate':'\\u26f8',\n 'icecream':'\\ud83c\\udf66',\n 'id':'\\ud83c\\udd94',\n 'ideograph_advantage':'\\ud83c\\ude50',\n 'imp':'\\ud83d\\udc7f',\n 'inbox_tray':'\\ud83d\\udce5',\n 'incoming_envelope':'\\ud83d\\udce8',\n 'tipping_hand_woman':'\\ud83d\\udc81',\n 'information_source':'\\u2139\\ufe0f',\n 'innocent':'\\ud83d\\ude07',\n 'interrobang':'\\u2049\\ufe0f',\n 'iphone':'\\ud83d\\udcf1',\n 'izakaya_lantern':'\\ud83c\\udfee',\n 'jack_o_lantern':'\\ud83c\\udf83',\n 'japan':'\\ud83d\\uddfe',\n 'japanese_castle':'\\ud83c\\udfef',\n 'japanese_goblin':'\\ud83d\\udc7a',\n 'japanese_ogre':'\\ud83d\\udc79',\n 'jeans':'\\ud83d\\udc56',\n 'joy':'\\ud83d\\ude02',\n 'joy_cat':'\\ud83d\\ude39',\n 'joystick':'\\ud83d\\udd79',\n 'kaaba':'\\ud83d\\udd4b',\n 'key':'\\ud83d\\udd11',\n 'keyboard':'\\u2328\\ufe0f',\n 'keycap_ten':'\\ud83d\\udd1f',\n 'kick_scooter':'\\ud83d\\udef4',\n 'kimono':'\\ud83d\\udc58',\n 'kiss':'\\ud83d\\udc8b',\n 'kissing':'\\ud83d\\ude17',\n 'kissing_cat':'\\ud83d\\ude3d',\n 'kissing_closed_eyes':'\\ud83d\\ude1a',\n 'kissing_heart':'\\ud83d\\ude18',\n 'kissing_smiling_eyes':'\\ud83d\\ude19',\n 'kiwi_fruit':'\\ud83e\\udd5d',\n 'koala':'\\ud83d\\udc28',\n 'koko':'\\ud83c\\ude01',\n 'label':'\\ud83c\\udff7',\n 'large_blue_circle':'\\ud83d\\udd35',\n 'large_blue_diamond':'\\ud83d\\udd37',\n 'large_orange_diamond':'\\ud83d\\udd36',\n 'last_quarter_moon':'\\ud83c\\udf17',\n 'last_quarter_moon_with_face':'\\ud83c\\udf1c',\n 'latin_cross':'\\u271d\\ufe0f',\n 'laughing':'\\ud83d\\ude06',\n 'leaves':'\\ud83c\\udf43',\n 'ledger':'\\ud83d\\udcd2',\n 'left_luggage':'\\ud83d\\udec5',\n 'left_right_arrow':'\\u2194\\ufe0f',\n 'leftwards_arrow_with_hook':'\\u21a9\\ufe0f',\n 'lemon':'\\ud83c\\udf4b',\n 'leo':'\\u264c\\ufe0f',\n 'leopard':'\\ud83d\\udc06',\n 'level_slider':'\\ud83c\\udf9a',\n 'libra':'\\u264e\\ufe0f',\n 'light_rail':'\\ud83d\\ude88',\n 'link':'\\ud83d\\udd17',\n 'lion':'\\ud83e\\udd81',\n 'lips':'\\ud83d\\udc44',\n 'lipstick':'\\ud83d\\udc84',\n 'lizard':'\\ud83e\\udd8e',\n 'lock':'\\ud83d\\udd12',\n 'lock_with_ink_pen':'\\ud83d\\udd0f',\n 'lollipop':'\\ud83c\\udf6d',\n 'loop':'\\u27bf',\n 'loud_sound':'\\ud83d\\udd0a',\n 'loudspeaker':'\\ud83d\\udce2',\n 'love_hotel':'\\ud83c\\udfe9',\n 'love_letter':'\\ud83d\\udc8c',\n 'low_brightness':'\\ud83d\\udd05',\n 'lying_face':'\\ud83e\\udd25',\n 'm':'\\u24c2\\ufe0f',\n 'mag':'\\ud83d\\udd0d',\n 'mag_right':'\\ud83d\\udd0e',\n 'mahjong':'\\ud83c\\udc04\\ufe0f',\n 'mailbox':'\\ud83d\\udceb',\n 'mailbox_closed':'\\ud83d\\udcea',\n 'mailbox_with_mail':'\\ud83d\\udcec',\n 'mailbox_with_no_mail':'\\ud83d\\udced',\n 'man':'\\ud83d\\udc68',\n 'man_artist':'\\ud83d\\udc68‍\\ud83c\\udfa8',\n 'man_astronaut':'\\ud83d\\udc68‍\\ud83d\\ude80',\n 'man_cartwheeling':'\\ud83e\\udd38‍\\u2642\\ufe0f',\n 'man_cook':'\\ud83d\\udc68‍\\ud83c\\udf73',\n 'man_dancing':'\\ud83d\\udd7a',\n 'man_facepalming':'\\ud83e\\udd26‍\\u2642\\ufe0f',\n 'man_factory_worker':'\\ud83d\\udc68‍\\ud83c\\udfed',\n 'man_farmer':'\\ud83d\\udc68‍\\ud83c\\udf3e',\n 'man_firefighter':'\\ud83d\\udc68‍\\ud83d\\ude92',\n 'man_health_worker':'\\ud83d\\udc68‍\\u2695\\ufe0f',\n 'man_in_tuxedo':'\\ud83e\\udd35',\n 'man_judge':'\\ud83d\\udc68‍\\u2696\\ufe0f',\n 'man_juggling':'\\ud83e\\udd39‍\\u2642\\ufe0f',\n 'man_mechanic':'\\ud83d\\udc68‍\\ud83d\\udd27',\n 'man_office_worker':'\\ud83d\\udc68‍\\ud83d\\udcbc',\n 'man_pilot':'\\ud83d\\udc68‍\\u2708\\ufe0f',\n 'man_playing_handball':'\\ud83e\\udd3e‍\\u2642\\ufe0f',\n 'man_playing_water_polo':'\\ud83e\\udd3d‍\\u2642\\ufe0f',\n 'man_scientist':'\\ud83d\\udc68‍\\ud83d\\udd2c',\n 'man_shrugging':'\\ud83e\\udd37‍\\u2642\\ufe0f',\n 'man_singer':'\\ud83d\\udc68‍\\ud83c\\udfa4',\n 'man_student':'\\ud83d\\udc68‍\\ud83c\\udf93',\n 'man_teacher':'\\ud83d\\udc68‍\\ud83c\\udfeb',\n 'man_technologist':'\\ud83d\\udc68‍\\ud83d\\udcbb',\n 'man_with_gua_pi_mao':'\\ud83d\\udc72',\n 'man_with_turban':'\\ud83d\\udc73',\n 'tangerine':'\\ud83c\\udf4a',\n 'mans_shoe':'\\ud83d\\udc5e',\n 'mantelpiece_clock':'\\ud83d\\udd70',\n 'maple_leaf':'\\ud83c\\udf41',\n 'martial_arts_uniform':'\\ud83e\\udd4b',\n 'mask':'\\ud83d\\ude37',\n 'massage_woman':'\\ud83d\\udc86',\n 'massage_man':'\\ud83d\\udc86‍\\u2642\\ufe0f',\n 'meat_on_bone':'\\ud83c\\udf56',\n 'medal_military':'\\ud83c\\udf96',\n 'medal_sports':'\\ud83c\\udfc5',\n 'mega':'\\ud83d\\udce3',\n 'melon':'\\ud83c\\udf48',\n 'memo':'\\ud83d\\udcdd',\n 'men_wrestling':'\\ud83e\\udd3c‍\\u2642\\ufe0f',\n 'menorah':'\\ud83d\\udd4e',\n 'mens':'\\ud83d\\udeb9',\n 'metal':'\\ud83e\\udd18',\n 'metro':'\\ud83d\\ude87',\n 'microphone':'\\ud83c\\udfa4',\n 'microscope':'\\ud83d\\udd2c',\n 'milk_glass':'\\ud83e\\udd5b',\n 'milky_way':'\\ud83c\\udf0c',\n 'minibus':'\\ud83d\\ude90',\n 'minidisc':'\\ud83d\\udcbd',\n 'mobile_phone_off':'\\ud83d\\udcf4',\n 'money_mouth_face':'\\ud83e\\udd11',\n 'money_with_wings':'\\ud83d\\udcb8',\n 'moneybag':'\\ud83d\\udcb0',\n 'monkey':'\\ud83d\\udc12',\n 'monkey_face':'\\ud83d\\udc35',\n 'monorail':'\\ud83d\\ude9d',\n 'moon':'\\ud83c\\udf14',\n 'mortar_board':'\\ud83c\\udf93',\n 'mosque':'\\ud83d\\udd4c',\n 'motor_boat':'\\ud83d\\udee5',\n 'motor_scooter':'\\ud83d\\udef5',\n 'motorcycle':'\\ud83c\\udfcd',\n 'motorway':'\\ud83d\\udee3',\n 'mount_fuji':'\\ud83d\\uddfb',\n 'mountain':'\\u26f0',\n 'mountain_biking_man':'\\ud83d\\udeb5',\n 'mountain_biking_woman':'\\ud83d\\udeb5‍\\u2640\\ufe0f',\n 'mountain_cableway':'\\ud83d\\udea0',\n 'mountain_railway':'\\ud83d\\ude9e',\n 'mountain_snow':'\\ud83c\\udfd4',\n 'mouse':'\\ud83d\\udc2d',\n 'mouse2':'\\ud83d\\udc01',\n 'movie_camera':'\\ud83c\\udfa5',\n 'moyai':'\\ud83d\\uddff',\n 'mrs_claus':'\\ud83e\\udd36',\n 'muscle':'\\ud83d\\udcaa',\n 'mushroom':'\\ud83c\\udf44',\n 'musical_keyboard':'\\ud83c\\udfb9',\n 'musical_note':'\\ud83c\\udfb5',\n 'musical_score':'\\ud83c\\udfbc',\n 'mute':'\\ud83d\\udd07',\n 'nail_care':'\\ud83d\\udc85',\n 'name_badge':'\\ud83d\\udcdb',\n 'national_park':'\\ud83c\\udfde',\n 'nauseated_face':'\\ud83e\\udd22',\n 'necktie':'\\ud83d\\udc54',\n 'negative_squared_cross_mark':'\\u274e',\n 'nerd_face':'\\ud83e\\udd13',\n 'neutral_face':'\\ud83d\\ude10',\n 'new':'\\ud83c\\udd95',\n 'new_moon':'\\ud83c\\udf11',\n 'new_moon_with_face':'\\ud83c\\udf1a',\n 'newspaper':'\\ud83d\\udcf0',\n 'newspaper_roll':'\\ud83d\\uddde',\n 'next_track_button':'\\u23ed',\n 'ng':'\\ud83c\\udd96',\n 'no_good_man':'\\ud83d\\ude45‍\\u2642\\ufe0f',\n 'no_good_woman':'\\ud83d\\ude45',\n 'night_with_stars':'\\ud83c\\udf03',\n 'no_bell':'\\ud83d\\udd15',\n 'no_bicycles':'\\ud83d\\udeb3',\n 'no_entry':'\\u26d4\\ufe0f',\n 'no_entry_sign':'\\ud83d\\udeab',\n 'no_mobile_phones':'\\ud83d\\udcf5',\n 'no_mouth':'\\ud83d\\ude36',\n 'no_pedestrians':'\\ud83d\\udeb7',\n 'no_smoking':'\\ud83d\\udead',\n 'non-potable_water':'\\ud83d\\udeb1',\n 'nose':'\\ud83d\\udc43',\n 'notebook':'\\ud83d\\udcd3',\n 'notebook_with_decorative_cover':'\\ud83d\\udcd4',\n 'notes':'\\ud83c\\udfb6',\n 'nut_and_bolt':'\\ud83d\\udd29',\n 'o':'\\u2b55\\ufe0f',\n 'o2':'\\ud83c\\udd7e\\ufe0f',\n 'ocean':'\\ud83c\\udf0a',\n 'octopus':'\\ud83d\\udc19',\n 'oden':'\\ud83c\\udf62',\n 'office':'\\ud83c\\udfe2',\n 'oil_drum':'\\ud83d\\udee2',\n 'ok':'\\ud83c\\udd97',\n 'ok_hand':'\\ud83d\\udc4c',\n 'ok_man':'\\ud83d\\ude46‍\\u2642\\ufe0f',\n 'ok_woman':'\\ud83d\\ude46',\n 'old_key':'\\ud83d\\udddd',\n 'older_man':'\\ud83d\\udc74',\n 'older_woman':'\\ud83d\\udc75',\n 'om':'\\ud83d\\udd49',\n 'on':'\\ud83d\\udd1b',\n 'oncoming_automobile':'\\ud83d\\ude98',\n 'oncoming_bus':'\\ud83d\\ude8d',\n 'oncoming_police_car':'\\ud83d\\ude94',\n 'oncoming_taxi':'\\ud83d\\ude96',\n 'open_file_folder':'\\ud83d\\udcc2',\n 'open_hands':'\\ud83d\\udc50',\n 'open_mouth':'\\ud83d\\ude2e',\n 'open_umbrella':'\\u2602\\ufe0f',\n 'ophiuchus':'\\u26ce',\n 'orange_book':'\\ud83d\\udcd9',\n 'orthodox_cross':'\\u2626\\ufe0f',\n 'outbox_tray':'\\ud83d\\udce4',\n 'owl':'\\ud83e\\udd89',\n 'ox':'\\ud83d\\udc02',\n 'package':'\\ud83d\\udce6',\n 'page_facing_up':'\\ud83d\\udcc4',\n 'page_with_curl':'\\ud83d\\udcc3',\n 'pager':'\\ud83d\\udcdf',\n 'paintbrush':'\\ud83d\\udd8c',\n 'palm_tree':'\\ud83c\\udf34',\n 'pancakes':'\\ud83e\\udd5e',\n 'panda_face':'\\ud83d\\udc3c',\n 'paperclip':'\\ud83d\\udcce',\n 'paperclips':'\\ud83d\\udd87',\n 'parasol_on_ground':'\\u26f1',\n 'parking':'\\ud83c\\udd7f\\ufe0f',\n 'part_alternation_mark':'\\u303d\\ufe0f',\n 'partly_sunny':'\\u26c5\\ufe0f',\n 'passenger_ship':'\\ud83d\\udef3',\n 'passport_control':'\\ud83d\\udec2',\n 'pause_button':'\\u23f8',\n 'peace_symbol':'\\u262e\\ufe0f',\n 'peach':'\\ud83c\\udf51',\n 'peanuts':'\\ud83e\\udd5c',\n 'pear':'\\ud83c\\udf50',\n 'pen':'\\ud83d\\udd8a',\n 'pencil2':'\\u270f\\ufe0f',\n 'penguin':'\\ud83d\\udc27',\n 'pensive':'\\ud83d\\ude14',\n 'performing_arts':'\\ud83c\\udfad',\n 'persevere':'\\ud83d\\ude23',\n 'person_fencing':'\\ud83e\\udd3a',\n 'pouting_woman':'\\ud83d\\ude4e',\n 'phone':'\\u260e\\ufe0f',\n 'pick':'\\u26cf',\n 'pig':'\\ud83d\\udc37',\n 'pig2':'\\ud83d\\udc16',\n 'pig_nose':'\\ud83d\\udc3d',\n 'pill':'\\ud83d\\udc8a',\n 'pineapple':'\\ud83c\\udf4d',\n 'ping_pong':'\\ud83c\\udfd3',\n 'pisces':'\\u2653\\ufe0f',\n 'pizza':'\\ud83c\\udf55',\n 'place_of_worship':'\\ud83d\\uded0',\n 'plate_with_cutlery':'\\ud83c\\udf7d',\n 'play_or_pause_button':'\\u23ef',\n 'point_down':'\\ud83d\\udc47',\n 'point_left':'\\ud83d\\udc48',\n 'point_right':'\\ud83d\\udc49',\n 'point_up':'\\u261d\\ufe0f',\n 'point_up_2':'\\ud83d\\udc46',\n 'police_car':'\\ud83d\\ude93',\n 'policewoman':'\\ud83d\\udc6e‍\\u2640\\ufe0f',\n 'poodle':'\\ud83d\\udc29',\n 'popcorn':'\\ud83c\\udf7f',\n 'post_office':'\\ud83c\\udfe3',\n 'postal_horn':'\\ud83d\\udcef',\n 'postbox':'\\ud83d\\udcee',\n 'potable_water':'\\ud83d\\udeb0',\n 'potato':'\\ud83e\\udd54',\n 'pouch':'\\ud83d\\udc5d',\n 'poultry_leg':'\\ud83c\\udf57',\n 'pound':'\\ud83d\\udcb7',\n 'rage':'\\ud83d\\ude21',\n 'pouting_cat':'\\ud83d\\ude3e',\n 'pouting_man':'\\ud83d\\ude4e‍\\u2642\\ufe0f',\n 'pray':'\\ud83d\\ude4f',\n 'prayer_beads':'\\ud83d\\udcff',\n 'pregnant_woman':'\\ud83e\\udd30',\n 'previous_track_button':'\\u23ee',\n 'prince':'\\ud83e\\udd34',\n 'princess':'\\ud83d\\udc78',\n 'printer':'\\ud83d\\udda8',\n 'purple_heart':'\\ud83d\\udc9c',\n 'purse':'\\ud83d\\udc5b',\n 'pushpin':'\\ud83d\\udccc',\n 'put_litter_in_its_place':'\\ud83d\\udeae',\n 'question':'\\u2753',\n 'rabbit':'\\ud83d\\udc30',\n 'rabbit2':'\\ud83d\\udc07',\n 'racehorse':'\\ud83d\\udc0e',\n 'racing_car':'\\ud83c\\udfce',\n 'radio':'\\ud83d\\udcfb',\n 'radio_button':'\\ud83d\\udd18',\n 'radioactive':'\\u2622\\ufe0f',\n 'railway_car':'\\ud83d\\ude83',\n 'railway_track':'\\ud83d\\udee4',\n 'rainbow':'\\ud83c\\udf08',\n 'rainbow_flag':'\\ud83c\\udff3\\ufe0f‍\\ud83c\\udf08',\n 'raised_back_of_hand':'\\ud83e\\udd1a',\n 'raised_hand_with_fingers_splayed':'\\ud83d\\udd90',\n 'raised_hands':'\\ud83d\\ude4c',\n 'raising_hand_woman':'\\ud83d\\ude4b',\n 'raising_hand_man':'\\ud83d\\ude4b‍\\u2642\\ufe0f',\n 'ram':'\\ud83d\\udc0f',\n 'ramen':'\\ud83c\\udf5c',\n 'rat':'\\ud83d\\udc00',\n 'record_button':'\\u23fa',\n 'recycle':'\\u267b\\ufe0f',\n 'red_circle':'\\ud83d\\udd34',\n 'registered':'\\u00ae\\ufe0f',\n 'relaxed':'\\u263a\\ufe0f',\n 'relieved':'\\ud83d\\ude0c',\n 'reminder_ribbon':'\\ud83c\\udf97',\n 'repeat':'\\ud83d\\udd01',\n 'repeat_one':'\\ud83d\\udd02',\n 'rescue_worker_helmet':'\\u26d1',\n 'restroom':'\\ud83d\\udebb',\n 'revolving_hearts':'\\ud83d\\udc9e',\n 'rewind':'\\u23ea',\n 'rhinoceros':'\\ud83e\\udd8f',\n 'ribbon':'\\ud83c\\udf80',\n 'rice':'\\ud83c\\udf5a',\n 'rice_ball':'\\ud83c\\udf59',\n 'rice_cracker':'\\ud83c\\udf58',\n 'rice_scene':'\\ud83c\\udf91',\n 'right_anger_bubble':'\\ud83d\\uddef',\n 'ring':'\\ud83d\\udc8d',\n 'robot':'\\ud83e\\udd16',\n 'rocket':'\\ud83d\\ude80',\n 'rofl':'\\ud83e\\udd23',\n 'roll_eyes':'\\ud83d\\ude44',\n 'roller_coaster':'\\ud83c\\udfa2',\n 'rooster':'\\ud83d\\udc13',\n 'rose':'\\ud83c\\udf39',\n 'rosette':'\\ud83c\\udff5',\n 'rotating_light':'\\ud83d\\udea8',\n 'round_pushpin':'\\ud83d\\udccd',\n 'rowing_man':'\\ud83d\\udea3',\n 'rowing_woman':'\\ud83d\\udea3‍\\u2640\\ufe0f',\n 'rugby_football':'\\ud83c\\udfc9',\n 'running_man':'\\ud83c\\udfc3',\n 'running_shirt_with_sash':'\\ud83c\\udfbd',\n 'running_woman':'\\ud83c\\udfc3‍\\u2640\\ufe0f',\n 'sa':'\\ud83c\\ude02\\ufe0f',\n 'sagittarius':'\\u2650\\ufe0f',\n 'sake':'\\ud83c\\udf76',\n 'sandal':'\\ud83d\\udc61',\n 'santa':'\\ud83c\\udf85',\n 'satellite':'\\ud83d\\udce1',\n 'saxophone':'\\ud83c\\udfb7',\n 'school':'\\ud83c\\udfeb',\n 'school_satchel':'\\ud83c\\udf92',\n 'scissors':'\\u2702\\ufe0f',\n 'scorpion':'\\ud83e\\udd82',\n 'scorpius':'\\u264f\\ufe0f',\n 'scream':'\\ud83d\\ude31',\n 'scream_cat':'\\ud83d\\ude40',\n 'scroll':'\\ud83d\\udcdc',\n 'seat':'\\ud83d\\udcba',\n 'secret':'\\u3299\\ufe0f',\n 'see_no_evil':'\\ud83d\\ude48',\n 'seedling':'\\ud83c\\udf31',\n 'selfie':'\\ud83e\\udd33',\n 'shallow_pan_of_food':'\\ud83e\\udd58',\n 'shamrock':'\\u2618\\ufe0f',\n 'shark':'\\ud83e\\udd88',\n 'shaved_ice':'\\ud83c\\udf67',\n 'sheep':'\\ud83d\\udc11',\n 'shell':'\\ud83d\\udc1a',\n 'shield':'\\ud83d\\udee1',\n 'shinto_shrine':'\\u26e9',\n 'ship':'\\ud83d\\udea2',\n 'shirt':'\\ud83d\\udc55',\n 'shopping':'\\ud83d\\udecd',\n 'shopping_cart':'\\ud83d\\uded2',\n 'shower':'\\ud83d\\udebf',\n 'shrimp':'\\ud83e\\udd90',\n 'signal_strength':'\\ud83d\\udcf6',\n 'six_pointed_star':'\\ud83d\\udd2f',\n 'ski':'\\ud83c\\udfbf',\n 'skier':'\\u26f7',\n 'skull':'\\ud83d\\udc80',\n 'skull_and_crossbones':'\\u2620\\ufe0f',\n 'sleeping':'\\ud83d\\ude34',\n 'sleeping_bed':'\\ud83d\\udecc',\n 'sleepy':'\\ud83d\\ude2a',\n 'slightly_frowning_face':'\\ud83d\\ude41',\n 'slightly_smiling_face':'\\ud83d\\ude42',\n 'slot_machine':'\\ud83c\\udfb0',\n 'small_airplane':'\\ud83d\\udee9',\n 'small_blue_diamond':'\\ud83d\\udd39',\n 'small_orange_diamond':'\\ud83d\\udd38',\n 'small_red_triangle':'\\ud83d\\udd3a',\n 'small_red_triangle_down':'\\ud83d\\udd3b',\n 'smile':'\\ud83d\\ude04',\n 'smile_cat':'\\ud83d\\ude38',\n 'smiley':'\\ud83d\\ude03',\n 'smiley_cat':'\\ud83d\\ude3a',\n 'smiling_imp':'\\ud83d\\ude08',\n 'smirk':'\\ud83d\\ude0f',\n 'smirk_cat':'\\ud83d\\ude3c',\n 'smoking':'\\ud83d\\udeac',\n 'snail':'\\ud83d\\udc0c',\n 'snake':'\\ud83d\\udc0d',\n 'sneezing_face':'\\ud83e\\udd27',\n 'snowboarder':'\\ud83c\\udfc2',\n 'snowflake':'\\u2744\\ufe0f',\n 'snowman':'\\u26c4\\ufe0f',\n 'snowman_with_snow':'\\u2603\\ufe0f',\n 'sob':'\\ud83d\\ude2d',\n 'soccer':'\\u26bd\\ufe0f',\n 'soon':'\\ud83d\\udd1c',\n 'sos':'\\ud83c\\udd98',\n 'sound':'\\ud83d\\udd09',\n 'space_invader':'\\ud83d\\udc7e',\n 'spades':'\\u2660\\ufe0f',\n 'spaghetti':'\\ud83c\\udf5d',\n 'sparkle':'\\u2747\\ufe0f',\n 'sparkler':'\\ud83c\\udf87',\n 'sparkles':'\\u2728',\n 'sparkling_heart':'\\ud83d\\udc96',\n 'speak_no_evil':'\\ud83d\\ude4a',\n 'speaker':'\\ud83d\\udd08',\n 'speaking_head':'\\ud83d\\udde3',\n 'speech_balloon':'\\ud83d\\udcac',\n 'speedboat':'\\ud83d\\udea4',\n 'spider':'\\ud83d\\udd77',\n 'spider_web':'\\ud83d\\udd78',\n 'spiral_calendar':'\\ud83d\\uddd3',\n 'spiral_notepad':'\\ud83d\\uddd2',\n 'spoon':'\\ud83e\\udd44',\n 'squid':'\\ud83e\\udd91',\n 'stadium':'\\ud83c\\udfdf',\n 'star':'\\u2b50\\ufe0f',\n 'star2':'\\ud83c\\udf1f',\n 'star_and_crescent':'\\u262a\\ufe0f',\n 'star_of_david':'\\u2721\\ufe0f',\n 'stars':'\\ud83c\\udf20',\n 'station':'\\ud83d\\ude89',\n 'statue_of_liberty':'\\ud83d\\uddfd',\n 'steam_locomotive':'\\ud83d\\ude82',\n 'stew':'\\ud83c\\udf72',\n 'stop_button':'\\u23f9',\n 'stop_sign':'\\ud83d\\uded1',\n 'stopwatch':'\\u23f1',\n 'straight_ruler':'\\ud83d\\udccf',\n 'strawberry':'\\ud83c\\udf53',\n 'stuck_out_tongue':'\\ud83d\\ude1b',\n 'stuck_out_tongue_closed_eyes':'\\ud83d\\ude1d',\n 'stuck_out_tongue_winking_eye':'\\ud83d\\ude1c',\n 'studio_microphone':'\\ud83c\\udf99',\n 'stuffed_flatbread':'\\ud83e\\udd59',\n 'sun_behind_large_cloud':'\\ud83c\\udf25',\n 'sun_behind_rain_cloud':'\\ud83c\\udf26',\n 'sun_behind_small_cloud':'\\ud83c\\udf24',\n 'sun_with_face':'\\ud83c\\udf1e',\n 'sunflower':'\\ud83c\\udf3b',\n 'sunglasses':'\\ud83d\\ude0e',\n 'sunny':'\\u2600\\ufe0f',\n 'sunrise':'\\ud83c\\udf05',\n 'sunrise_over_mountains':'\\ud83c\\udf04',\n 'surfing_man':'\\ud83c\\udfc4',\n 'surfing_woman':'\\ud83c\\udfc4‍\\u2640\\ufe0f',\n 'sushi':'\\ud83c\\udf63',\n 'suspension_railway':'\\ud83d\\ude9f',\n 'sweat':'\\ud83d\\ude13',\n 'sweat_drops':'\\ud83d\\udca6',\n 'sweat_smile':'\\ud83d\\ude05',\n 'sweet_potato':'\\ud83c\\udf60',\n 'swimming_man':'\\ud83c\\udfca',\n 'swimming_woman':'\\ud83c\\udfca‍\\u2640\\ufe0f',\n 'symbols':'\\ud83d\\udd23',\n 'synagogue':'\\ud83d\\udd4d',\n 'syringe':'\\ud83d\\udc89',\n 'taco':'\\ud83c\\udf2e',\n 'tada':'\\ud83c\\udf89',\n 'tanabata_tree':'\\ud83c\\udf8b',\n 'taurus':'\\u2649\\ufe0f',\n 'taxi':'\\ud83d\\ude95',\n 'tea':'\\ud83c\\udf75',\n 'telephone_receiver':'\\ud83d\\udcde',\n 'telescope':'\\ud83d\\udd2d',\n 'tennis':'\\ud83c\\udfbe',\n 'tent':'\\u26fa\\ufe0f',\n 'thermometer':'\\ud83c\\udf21',\n 'thinking':'\\ud83e\\udd14',\n 'thought_balloon':'\\ud83d\\udcad',\n 'ticket':'\\ud83c\\udfab',\n 'tickets':'\\ud83c\\udf9f',\n 'tiger':'\\ud83d\\udc2f',\n 'tiger2':'\\ud83d\\udc05',\n 'timer_clock':'\\u23f2',\n 'tipping_hand_man':'\\ud83d\\udc81‍\\u2642\\ufe0f',\n 'tired_face':'\\ud83d\\ude2b',\n 'tm':'\\u2122\\ufe0f',\n 'toilet':'\\ud83d\\udebd',\n 'tokyo_tower':'\\ud83d\\uddfc',\n 'tomato':'\\ud83c\\udf45',\n 'tongue':'\\ud83d\\udc45',\n 'top':'\\ud83d\\udd1d',\n 'tophat':'\\ud83c\\udfa9',\n 'tornado':'\\ud83c\\udf2a',\n 'trackball':'\\ud83d\\uddb2',\n 'tractor':'\\ud83d\\ude9c',\n 'traffic_light':'\\ud83d\\udea5',\n 'train':'\\ud83d\\ude8b',\n 'train2':'\\ud83d\\ude86',\n 'tram':'\\ud83d\\ude8a',\n 'triangular_flag_on_post':'\\ud83d\\udea9',\n 'triangular_ruler':'\\ud83d\\udcd0',\n 'trident':'\\ud83d\\udd31',\n 'triumph':'\\ud83d\\ude24',\n 'trolleybus':'\\ud83d\\ude8e',\n 'trophy':'\\ud83c\\udfc6',\n 'tropical_drink':'\\ud83c\\udf79',\n 'tropical_fish':'\\ud83d\\udc20',\n 'truck':'\\ud83d\\ude9a',\n 'trumpet':'\\ud83c\\udfba',\n 'tulip':'\\ud83c\\udf37',\n 'tumbler_glass':'\\ud83e\\udd43',\n 'turkey':'\\ud83e\\udd83',\n 'turtle':'\\ud83d\\udc22',\n 'tv':'\\ud83d\\udcfa',\n 'twisted_rightwards_arrows':'\\ud83d\\udd00',\n 'two_hearts':'\\ud83d\\udc95',\n 'two_men_holding_hands':'\\ud83d\\udc6c',\n 'two_women_holding_hands':'\\ud83d\\udc6d',\n 'u5272':'\\ud83c\\ude39',\n 'u5408':'\\ud83c\\ude34',\n 'u55b6':'\\ud83c\\ude3a',\n 'u6307':'\\ud83c\\ude2f\\ufe0f',\n 'u6708':'\\ud83c\\ude37\\ufe0f',\n 'u6709':'\\ud83c\\ude36',\n 'u6e80':'\\ud83c\\ude35',\n 'u7121':'\\ud83c\\ude1a\\ufe0f',\n 'u7533':'\\ud83c\\ude38',\n 'u7981':'\\ud83c\\ude32',\n 'u7a7a':'\\ud83c\\ude33',\n 'umbrella':'\\u2614\\ufe0f',\n 'unamused':'\\ud83d\\ude12',\n 'underage':'\\ud83d\\udd1e',\n 'unicorn':'\\ud83e\\udd84',\n 'unlock':'\\ud83d\\udd13',\n 'up':'\\ud83c\\udd99',\n 'upside_down_face':'\\ud83d\\ude43',\n 'v':'\\u270c\\ufe0f',\n 'vertical_traffic_light':'\\ud83d\\udea6',\n 'vhs':'\\ud83d\\udcfc',\n 'vibration_mode':'\\ud83d\\udcf3',\n 'video_camera':'\\ud83d\\udcf9',\n 'video_game':'\\ud83c\\udfae',\n 'violin':'\\ud83c\\udfbb',\n 'virgo':'\\u264d\\ufe0f',\n 'volcano':'\\ud83c\\udf0b',\n 'volleyball':'\\ud83c\\udfd0',\n 'vs':'\\ud83c\\udd9a',\n 'vulcan_salute':'\\ud83d\\udd96',\n 'walking_man':'\\ud83d\\udeb6',\n 'walking_woman':'\\ud83d\\udeb6‍\\u2640\\ufe0f',\n 'waning_crescent_moon':'\\ud83c\\udf18',\n 'waning_gibbous_moon':'\\ud83c\\udf16',\n 'warning':'\\u26a0\\ufe0f',\n 'wastebasket':'\\ud83d\\uddd1',\n 'watch':'\\u231a\\ufe0f',\n 'water_buffalo':'\\ud83d\\udc03',\n 'watermelon':'\\ud83c\\udf49',\n 'wave':'\\ud83d\\udc4b',\n 'wavy_dash':'\\u3030\\ufe0f',\n 'waxing_crescent_moon':'\\ud83c\\udf12',\n 'wc':'\\ud83d\\udebe',\n 'weary':'\\ud83d\\ude29',\n 'wedding':'\\ud83d\\udc92',\n 'weight_lifting_man':'\\ud83c\\udfcb\\ufe0f',\n 'weight_lifting_woman':'\\ud83c\\udfcb\\ufe0f‍\\u2640\\ufe0f',\n 'whale':'\\ud83d\\udc33',\n 'whale2':'\\ud83d\\udc0b',\n 'wheel_of_dharma':'\\u2638\\ufe0f',\n 'wheelchair':'\\u267f\\ufe0f',\n 'white_check_mark':'\\u2705',\n 'white_circle':'\\u26aa\\ufe0f',\n 'white_flag':'\\ud83c\\udff3\\ufe0f',\n 'white_flower':'\\ud83d\\udcae',\n 'white_large_square':'\\u2b1c\\ufe0f',\n 'white_medium_small_square':'\\u25fd\\ufe0f',\n 'white_medium_square':'\\u25fb\\ufe0f',\n 'white_small_square':'\\u25ab\\ufe0f',\n 'white_square_button':'\\ud83d\\udd33',\n 'wilted_flower':'\\ud83e\\udd40',\n 'wind_chime':'\\ud83c\\udf90',\n 'wind_face':'\\ud83c\\udf2c',\n 'wine_glass':'\\ud83c\\udf77',\n 'wink':'\\ud83d\\ude09',\n 'wolf':'\\ud83d\\udc3a',\n 'woman':'\\ud83d\\udc69',\n 'woman_artist':'\\ud83d\\udc69‍\\ud83c\\udfa8',\n 'woman_astronaut':'\\ud83d\\udc69‍\\ud83d\\ude80',\n 'woman_cartwheeling':'\\ud83e\\udd38‍\\u2640\\ufe0f',\n 'woman_cook':'\\ud83d\\udc69‍\\ud83c\\udf73',\n 'woman_facepalming':'\\ud83e\\udd26‍\\u2640\\ufe0f',\n 'woman_factory_worker':'\\ud83d\\udc69‍\\ud83c\\udfed',\n 'woman_farmer':'\\ud83d\\udc69‍\\ud83c\\udf3e',\n 'woman_firefighter':'\\ud83d\\udc69‍\\ud83d\\ude92',\n 'woman_health_worker':'\\ud83d\\udc69‍\\u2695\\ufe0f',\n 'woman_judge':'\\ud83d\\udc69‍\\u2696\\ufe0f',\n 'woman_juggling':'\\ud83e\\udd39‍\\u2640\\ufe0f',\n 'woman_mechanic':'\\ud83d\\udc69‍\\ud83d\\udd27',\n 'woman_office_worker':'\\ud83d\\udc69‍\\ud83d\\udcbc',\n 'woman_pilot':'\\ud83d\\udc69‍\\u2708\\ufe0f',\n 'woman_playing_handball':'\\ud83e\\udd3e‍\\u2640\\ufe0f',\n 'woman_playing_water_polo':'\\ud83e\\udd3d‍\\u2640\\ufe0f',\n 'woman_scientist':'\\ud83d\\udc69‍\\ud83d\\udd2c',\n 'woman_shrugging':'\\ud83e\\udd37‍\\u2640\\ufe0f',\n 'woman_singer':'\\ud83d\\udc69‍\\ud83c\\udfa4',\n 'woman_student':'\\ud83d\\udc69‍\\ud83c\\udf93',\n 'woman_teacher':'\\ud83d\\udc69‍\\ud83c\\udfeb',\n 'woman_technologist':'\\ud83d\\udc69‍\\ud83d\\udcbb',\n 'woman_with_turban':'\\ud83d\\udc73‍\\u2640\\ufe0f',\n 'womans_clothes':'\\ud83d\\udc5a',\n 'womans_hat':'\\ud83d\\udc52',\n 'women_wrestling':'\\ud83e\\udd3c‍\\u2640\\ufe0f',\n 'womens':'\\ud83d\\udeba',\n 'world_map':'\\ud83d\\uddfa',\n 'worried':'\\ud83d\\ude1f',\n 'wrench':'\\ud83d\\udd27',\n 'writing_hand':'\\u270d\\ufe0f',\n 'x':'\\u274c',\n 'yellow_heart':'\\ud83d\\udc9b',\n 'yen':'\\ud83d\\udcb4',\n 'yin_yang':'\\u262f\\ufe0f',\n 'yum':'\\ud83d\\ude0b',\n 'zap':'\\u26a1\\ufe0f',\n 'zipper_mouth_face':'\\ud83e\\udd10',\n 'zzz':'\\ud83d\\udca4',\n\n /* special emojis :P */\n 'octocat': '<img alt=\":octocat:\" height=\"20\" width=\"20\" align=\"absmiddle\" src=\"https://assets-cdn.github.com/images/icons/emoji/octocat.png\">',\n 'showdown': '<span style=\"font-family: \\'Anonymous Pro\\', monospace; text-decoration: underline; text-decoration-style: dashed; text-decoration-color: #3e8b8a;text-underline-position: under;\">S</span>'\n};\n\r\n/**\n * Created by Estevao on 31-05-2015.\n */\n\n/**\n * Showdown Converter class\n * @class\n * @param {object} [converterOptions]\n * @returns {Converter}\n */\nshowdown.Converter = function (converterOptions) {\n 'use strict';\n\n var\n /**\n * Options used by this converter\n * @private\n * @type {{}}\n */\n options = {},\n\n /**\n * Language extensions used by this converter\n * @private\n * @type {Array}\n */\n langExtensions = [],\n\n /**\n * Output modifiers extensions used by this converter\n * @private\n * @type {Array}\n */\n outputModifiers = [],\n\n /**\n * Event listeners\n * @private\n * @type {{}}\n */\n listeners = {},\n\n /**\n * The flavor set in this converter\n */\n setConvFlavor = setFlavor,\n\n /**\n * Metadata of the document\n * @type {{parsed: {}, raw: string, format: string}}\n */\n metadata = {\n parsed: {},\n raw: '',\n format: ''\n };\n\n _constructor();\n\n /**\n * Converter constructor\n * @private\n */\n function _constructor () {\n converterOptions = converterOptions || {};\n\n for (var gOpt in globalOptions) {\n if (globalOptions.hasOwnProperty(gOpt)) {\n options[gOpt] = globalOptions[gOpt];\n }\n }\n\n // Merge options\n if (typeof converterOptions === 'object') {\n for (var opt in converterOptions) {\n if (converterOptions.hasOwnProperty(opt)) {\n options[opt] = converterOptions[opt];\n }\n }\n } else {\n throw Error('Converter expects the passed parameter to be an object, but ' + typeof converterOptions +\n ' was passed instead.');\n }\n\n if (options.extensions) {\n showdown.helper.forEach(options.extensions, _parseExtension);\n }\n }\n\n /**\n * Parse extension\n * @param {*} ext\n * @param {string} [name='']\n * @private\n */\n function _parseExtension (ext, name) {\n\n name = name || null;\n // If it's a string, the extension was previously loaded\n if (showdown.helper.isString(ext)) {\n ext = showdown.helper.stdExtName(ext);\n name = ext;\n\n // LEGACY_SUPPORT CODE\n if (showdown.extensions[ext]) {\n console.warn('DEPRECATION WARNING: ' + ext + ' is an old extension that uses a deprecated loading method.' +\n 'Please inform the developer that the extension should be updated!');\n legacyExtensionLoading(showdown.extensions[ext], ext);\n return;\n // END LEGACY SUPPORT CODE\n\n } else if (!showdown.helper.isUndefined(extensions[ext])) {\n ext = extensions[ext];\n\n } else {\n throw Error('Extension \"' + ext + '\" could not be loaded. It was either not found or is not a valid extension.');\n }\n }\n\n if (typeof ext === 'function') {\n ext = ext();\n }\n\n if (!showdown.helper.isArray(ext)) {\n ext = [ext];\n }\n\n var validExt = validate(ext, name);\n if (!validExt.valid) {\n throw Error(validExt.error);\n }\n\n for (var i = 0; i < ext.length; ++i) {\n switch (ext[i].type) {\n\n case 'lang':\n langExtensions.push(ext[i]);\n break;\n\n case 'output':\n outputModifiers.push(ext[i]);\n break;\n }\n if (ext[i].hasOwnProperty('listeners')) {\n for (var ln in ext[i].listeners) {\n if (ext[i].listeners.hasOwnProperty(ln)) {\n listen(ln, ext[i].listeners[ln]);\n }\n }\n }\n }\n\n }\n\n /**\n * LEGACY_SUPPORT\n * @param {*} ext\n * @param {string} name\n */\n function legacyExtensionLoading (ext, name) {\n if (typeof ext === 'function') {\n ext = ext(new showdown.Converter());\n }\n if (!showdown.helper.isArray(ext)) {\n ext = [ext];\n }\n var valid = validate(ext, name);\n\n if (!valid.valid) {\n throw Error(valid.error);\n }\n\n for (var i = 0; i < ext.length; ++i) {\n switch (ext[i].type) {\n case 'lang':\n langExtensions.push(ext[i]);\n break;\n case 'output':\n outputModifiers.push(ext[i]);\n break;\n default:// should never reach here\n throw Error('Extension loader error: Type unrecognized!!!');\n }\n }\n }\n\n /**\n * Listen to an event\n * @param {string} name\n * @param {function} callback\n */\n function listen (name, callback) {\n if (!showdown.helper.isString(name)) {\n throw Error('Invalid argument in converter.listen() method: name must be a string, but ' + typeof name + ' given');\n }\n\n if (typeof callback !== 'function') {\n throw Error('Invalid argument in converter.listen() method: callback must be a function, but ' + typeof callback + ' given');\n }\n\n if (!listeners.hasOwnProperty(name)) {\n listeners[name] = [];\n }\n listeners[name].push(callback);\n }\n\n function rTrimInputText (text) {\n var rsp = text.match(/^\\s*/)[0].length,\n rgx = new RegExp('^\\\\s{0,' + rsp + '}', 'gm');\n return text.replace(rgx, '');\n }\n\n /**\n * Dispatch an event\n * @private\n * @param {string} evtName Event name\n * @param {string} text Text\n * @param {{}} options Converter Options\n * @param {{}} globals\n * @returns {string}\n */\n this._dispatch = function dispatch (evtName, text, options, globals) {\n if (listeners.hasOwnProperty(evtName)) {\n for (var ei = 0; ei < listeners[evtName].length; ++ei) {\n var nText = listeners[evtName][ei](evtName, text, this, options, globals);\n if (nText && typeof nText !== 'undefined') {\n text = nText;\n }\n }\n }\n return text;\n };\n\n /**\n * Listen to an event\n * @param {string} name\n * @param {function} callback\n * @returns {showdown.Converter}\n */\n this.listen = function (name, callback) {\n listen(name, callback);\n return this;\n };\n\n /**\n * Converts a markdown string into HTML\n * @param {string} text\n * @returns {*}\n */\n this.makeHtml = function (text) {\n //check if text is not falsy\n if (!text) {\n return text;\n }\n\n var globals = {\n gHtmlBlocks: [],\n gHtmlMdBlocks: [],\n gHtmlSpans: [],\n gUrls: {},\n gTitles: {},\n gDimensions: {},\n gListLevel: 0,\n hashLinkCounts: {},\n langExtensions: langExtensions,\n outputModifiers: outputModifiers,\n converter: this,\n ghCodeBlocks: [],\n metadata: {\n parsed: {},\n raw: '',\n format: ''\n }\n };\n\n // This lets us use ¨ trema as an escape char to avoid md5 hashes\n // The choice of character is arbitrary; anything that isn't\n // magic in Markdown will work.\n text = text.replace(/¨/g, '¨T');\n\n // Replace $ with ¨D\n // RegExp interprets $ as a special character\n // when it's in a replacement string\n text = text.replace(/\\$/g, '¨D');\n\n // Standardize line endings\n text = text.replace(/\\r\\n/g, '\\n'); // DOS to Unix\n text = text.replace(/\\r/g, '\\n'); // Mac to Unix\n\n // Stardardize line spaces\n text = text.replace(/\\u00A0/g, ' ');\n\n if (options.smartIndentationFix) {\n text = rTrimInputText(text);\n }\n\n // Make sure text begins and ends with a couple of newlines:\n text = '\\n\\n' + text + '\\n\\n';\n\n // detab\n text = showdown.subParser('detab')(text, options, globals);\n\n /**\n * Strip any lines consisting only of spaces and tabs.\n * This makes subsequent regexs easier to write, because we can\n * match consecutive blank lines with /\\n+/ instead of something\n * contorted like /[ \\t]*\\n+/\n */\n text = text.replace(/^[ \\t]+$/mg, '');\n\n //run languageExtensions\n showdown.helper.forEach(langExtensions, function (ext) {\n text = showdown.subParser('runExtension')(ext, text, options, globals);\n });\n\n // run the sub parsers\n text = showdown.subParser('metadata')(text, options, globals);\n text = showdown.subParser('hashPreCodeTags')(text, options, globals);\n text = showdown.subParser('githubCodeBlocks')(text, options, globals);\n text = showdown.subParser('hashHTMLBlocks')(text, options, globals);\n text = showdown.subParser('hashCodeTags')(text, options, globals);\n text = showdown.subParser('stripLinkDefinitions')(text, options, globals);\n text = showdown.subParser('blockGamut')(text, options, globals);\n text = showdown.subParser('unhashHTMLSpans')(text, options, globals);\n text = showdown.subParser('unescapeSpecialChars')(text, options, globals);\n\n // attacklab: Restore dollar signs\n text = text.replace(/¨D/g, '$$');\n\n // attacklab: Restore tremas\n text = text.replace(/¨T/g, '¨');\n\n // render a complete html document instead of a partial if the option is enabled\n text = showdown.subParser('completeHTMLDocument')(text, options, globals);\n\n // Run output modifiers\n showdown.helper.forEach(outputModifiers, function (ext) {\n text = showdown.subParser('runExtension')(ext, text, options, globals);\n });\n\n // update metadata\n metadata = globals.metadata;\n return text;\n };\n\n /**\n * Converts an HTML string into a markdown string\n * @param src\n * @param [HTMLParser] A WHATWG DOM and HTML parser, such as JSDOM. If none is supplied, window.document will be used.\n * @returns {string}\n */\n this.makeMarkdown = this.makeMd = function (src, HTMLParser) {\n\n // replace \\r\\n with \\n\n src = src.replace(/\\r\\n/g, '\\n');\n src = src.replace(/\\r/g, '\\n'); // old macs\n\n // due to an edge case, we need to find this: > <\n // to prevent removing of non silent white spaces\n // ex: <em>this is</em> <strong>sparta</strong>\n src = src.replace(/>[ \\t]+</, '>¨NBSP;<');\n\n if (!HTMLParser) {\n if (window && window.document) {\n HTMLParser = window.document;\n } else {\n throw new Error('HTMLParser is undefined. If in a webworker or nodejs environment, you need to provide a WHATWG DOM and HTML such as JSDOM');\n }\n }\n\n var doc = HTMLParser.createElement('div');\n doc.innerHTML = src;\n\n var globals = {\n preList: substitutePreCodeTags(doc)\n };\n\n // remove all newlines and collapse spaces\n clean(doc);\n\n // some stuff, like accidental reference links must now be escaped\n // TODO\n // doc.innerHTML = doc.innerHTML.replace(/\\[[\\S\\t ]]/);\n\n var nodes = doc.childNodes,\n mdDoc = '';\n\n for (var i = 0; i < nodes.length; i++) {\n mdDoc += showdown.subParser('makeMarkdown.node')(nodes[i], globals);\n }\n\n function clean (node) {\n for (var n = 0; n < node.childNodes.length; ++n) {\n var child = node.childNodes[n];\n if (child.nodeType === 3) {\n if (!/\\S/.test(child.nodeValue)) {\n node.removeChild(child);\n --n;\n } else {\n child.nodeValue = child.nodeValue.split('\\n').join(' ');\n child.nodeValue = child.nodeValue.replace(/(\\s)+/g, '$1');\n }\n } else if (child.nodeType === 1) {\n clean(child);\n }\n }\n }\n\n // find all pre tags and replace contents with placeholder\n // we need this so that we can remove all indentation from html\n // to ease up parsing\n function substitutePreCodeTags (doc) {\n\n var pres = doc.querySelectorAll('pre'),\n presPH = [];\n\n for (var i = 0; i < pres.length; ++i) {\n\n if (pres[i].childElementCount === 1 && pres[i].firstChild.tagName.toLowerCase() === 'code') {\n var content = pres[i].firstChild.innerHTML.trim(),\n language = pres[i].firstChild.getAttribute('data-language') || '';\n\n // if data-language attribute is not defined, then we look for class language-*\n if (language === '') {\n var classes = pres[i].firstChild.className.split(' ');\n for (var c = 0; c < classes.length; ++c) {\n var matches = classes[c].match(/^language-(.+)$/);\n if (matches !== null) {\n language = matches[1];\n break;\n }\n }\n }\n\n // unescape html entities in content\n content = showdown.helper.unescapeHTMLEntities(content);\n\n presPH.push(content);\n pres[i].outerHTML = '<precode language=\"' + language + '\" precodenum=\"' + i.toString() + '\"></precode>';\n } else {\n presPH.push(pres[i].innerHTML);\n pres[i].innerHTML = '';\n pres[i].setAttribute('prenum', i.toString());\n }\n }\n return presPH;\n }\n\n return mdDoc;\n };\n\n /**\n * Set an option of this Converter instance\n * @param {string} key\n * @param {*} value\n */\n this.setOption = function (key, value) {\n options[key] = value;\n };\n\n /**\n * Get the option of this Converter instance\n * @param {string} key\n * @returns {*}\n */\n this.getOption = function (key) {\n return options[key];\n };\n\n /**\n * Get the options of this Converter instance\n * @returns {{}}\n */\n this.getOptions = function () {\n return options;\n };\n\n /**\n * Add extension to THIS converter\n * @param {{}} extension\n * @param {string} [name=null]\n */\n this.addExtension = function (extension, name) {\n name = name || null;\n _parseExtension(extension, name);\n };\n\n /**\n * Use a global registered extension with THIS converter\n * @param {string} extensionName Name of the previously registered extension\n */\n this.useExtension = function (extensionName) {\n _parseExtension(extensionName);\n };\n\n /**\n * Set the flavor THIS converter should use\n * @param {string} name\n */\n this.setFlavor = function (name) {\n if (!flavor.hasOwnProperty(name)) {\n throw Error(name + ' flavor was not found');\n }\n var preset = flavor[name];\n setConvFlavor = name;\n for (var option in preset) {\n if (preset.hasOwnProperty(option)) {\n options[option] = preset[option];\n }\n }\n };\n\n /**\n * Get the currently set flavor of this converter\n * @returns {string}\n */\n this.getFlavor = function () {\n return setConvFlavor;\n };\n\n /**\n * Remove an extension from THIS converter.\n * Note: This is a costly operation. It's better to initialize a new converter\n * and specify the extensions you wish to use\n * @param {Array} extension\n */\n this.removeExtension = function (extension) {\n if (!showdown.helper.isArray(extension)) {\n extension = [extension];\n }\n for (var a = 0; a < extension.length; ++a) {\n var ext = extension[a];\n for (var i = 0; i < langExtensions.length; ++i) {\n if (langExtensions[i] === ext) {\n langExtensions[i].splice(i, 1);\n }\n }\n for (var ii = 0; ii < outputModifiers.length; ++i) {\n if (outputModifiers[ii] === ext) {\n outputModifiers[ii].splice(i, 1);\n }\n }\n }\n };\n\n /**\n * Get all extension of THIS converter\n * @returns {{language: Array, output: Array}}\n */\n this.getAllExtensions = function () {\n return {\n language: langExtensions,\n output: outputModifiers\n };\n };\n\n /**\n * Get the metadata of the previously parsed document\n * @param raw\n * @returns {string|{}}\n */\n this.getMetadata = function (raw) {\n if (raw) {\n return metadata.raw;\n } else {\n return metadata.parsed;\n }\n };\n\n /**\n * Get the metadata format of the previously parsed document\n * @returns {string}\n */\n this.getMetadataFormat = function () {\n return metadata.format;\n };\n\n /**\n * Private: set a single key, value metadata pair\n * @param {string} key\n * @param {string} value\n */\n this._setMetadataPair = function (key, value) {\n metadata.parsed[key] = value;\n };\n\n /**\n * Private: set metadata format\n * @param {string} format\n */\n this._setMetadataFormat = function (format) {\n metadata.format = format;\n };\n\n /**\n * Private: set metadata raw text\n * @param {string} raw\n */\n this._setMetadataRaw = function (raw) {\n metadata.raw = raw;\n };\n};\n\r\n/**\n * Turn Markdown link shortcuts into XHTML <a> tags.\n */\nshowdown.subParser('anchors', function (text, options, globals) {\n 'use strict';\n\n text = globals.converter._dispatch('anchors.before', text, options, globals);\n\n var writeAnchorTag = function (wholeMatch, linkText, linkId, url, m5, m6, title) {\n if (showdown.helper.isUndefined(title)) {\n title = '';\n }\n linkId = linkId.toLowerCase();\n\n // Special case for explicit empty url\n if (wholeMatch.search(/\\(<?\\s*>? ?(['\"].*['\"])?\\)$/m) > -1) {\n url = '';\n } else if (!url) {\n if (!linkId) {\n // lower-case and turn embedded newlines into spaces\n linkId = linkText.toLowerCase().replace(/ ?\\n/g, ' ');\n }\n url = '#' + linkId;\n\n if (!showdown.helper.isUndefined(globals.gUrls[linkId])) {\n url = globals.gUrls[linkId];\n if (!showdown.helper.isUndefined(globals.gTitles[linkId])) {\n title = globals.gTitles[linkId];\n }\n } else {\n return wholeMatch;\n }\n }\n\n //url = showdown.helper.escapeCharacters(url, '*_', false); // replaced line to improve performance\n url = url.replace(showdown.helper.regexes.asteriskDashAndColon, showdown.helper.escapeCharactersCallback);\n\n var result = '<a href=\"' + url + '\"';\n\n if (title !== '' && title !== null) {\n title = title.replace(/\"/g, '"');\n //title = showdown.helper.escapeCharacters(title, '*_', false); // replaced line to improve performance\n title = title.replace(showdown.helper.regexes.asteriskDashAndColon, showdown.helper.escapeCharactersCallback);\n result += ' title=\"' + title + '\"';\n }\n\n // optionLinksInNewWindow only applies\n // to external links. Hash links (#) open in same page\n if (options.openLinksInNewWindow && !/^#/.test(url)) {\n // escaped _\n result += ' rel=\"noopener noreferrer\" target=\"¨E95Eblank\"';\n }\n\n result += '>' + linkText + '</a>';\n\n return result;\n };\n\n // First, handle reference-style links: [link text] [id]\n text = text.replace(/\\[((?:\\[[^\\]]*]|[^\\[\\]])*)] ?(?:\\n *)?\\[(.*?)]()()()()/g, writeAnchorTag);\n\n // Next, inline-style links: [link text](url \"optional title\")\n // cases with crazy urls like ./image/cat1).png\n text = text.replace(/\\[((?:\\[[^\\]]*]|[^\\[\\]])*)]()[ \\t]*\\([ \\t]?<([^>]*)>(?:[ \\t]*(([\"'])([^\"]*?)\\5))?[ \\t]?\\)/g,\n writeAnchorTag);\n\n // normal cases\n text = text.replace(/\\[((?:\\[[^\\]]*]|[^\\[\\]])*)]()[ \\t]*\\([ \\t]?<?([\\S]+?(?:\\([\\S]*?\\)[\\S]*?)?)>?(?:[ \\t]*(([\"'])([^\"]*?)\\5))?[ \\t]?\\)/g,\n writeAnchorTag);\n\n // handle reference-style shortcuts: [link text]\n // These must come last in case you've also got [link test][1]\n // or [link test](/foo)\n text = text.replace(/\\[([^\\[\\]]+)]()()()()()/g, writeAnchorTag);\n\n // Lastly handle GithubMentions if option is enabled\n if (options.ghMentions) {\n text = text.replace(/(^|\\s)(\\\\)?(@([a-z\\d]+(?:[a-z\\d.-]+?[a-z\\d]+)*))/gmi, function (wm, st, escape, mentions, username) {\n if (escape === '\\\\') {\n return st + mentions;\n }\n\n //check if options.ghMentionsLink is a string\n if (!showdown.helper.isString(options.ghMentionsLink)) {\n throw new Error('ghMentionsLink option must be a string');\n }\n var lnk = options.ghMentionsLink.replace(/\\{u}/g, username),\n target = '';\n if (options.openLinksInNewWindow) {\n target = ' rel=\"noopener noreferrer\" target=\"¨E95Eblank\"';\n }\n return st + '<a href=\"' + lnk + '\"' + target + '>' + mentions + '</a>';\n });\n }\n\n text = globals.converter._dispatch('anchors.after', text, options, globals);\n return text;\n});\n\r\n// url allowed chars [a-z\\d_.~:/?#[]@!$&'()*+,;=-]\n\nvar simpleURLRegex = /([*~_]+|\\b)(((https?|ftp|dict):\\/\\/|www\\.)[^'\">\\s]+?\\.[^'\">\\s]+?)()(\\1)?(?=\\s|$)(?![\"<>])/gi,\n simpleURLRegex2 = /([*~_]+|\\b)(((https?|ftp|dict):\\/\\/|www\\.)[^'\">\\s]+\\.[^'\">\\s]+?)([.!?,()\\[\\]])?(\\1)?(?=\\s|$)(?![\"<>])/gi,\n delimUrlRegex = /()<(((https?|ftp|dict):\\/\\/|www\\.)[^'\">\\s]+)()>()/gi,\n simpleMailRegex = /(^|\\s)(?:mailto:)?([A-Za-z0-9!#$%&'*+-/=?^_`{|}~.]+@[-a-z0-9]+(\\.[-a-z0-9]+)*\\.[a-z]+)(?=$|\\s)/gmi,\n delimMailRegex = /<()(?:mailto:)?([-.\\w]+@[-a-z0-9]+(\\.[-a-z0-9]+)*\\.[a-z]+)>/gi,\n\n replaceLink = function (options) {\n 'use strict';\n return function (wm, leadingMagicChars, link, m2, m3, trailingPunctuation, trailingMagicChars) {\n link = link.replace(showdown.helper.regexes.asteriskDashAndColon, showdown.helper.escapeCharactersCallback);\n var lnkTxt = link,\n append = '',\n target = '',\n lmc = leadingMagicChars || '',\n tmc = trailingMagicChars || '';\n if (/^www\\./i.test(link)) {\n link = link.replace(/^www\\./i, 'http://www.');\n }\n if (options.excludeTrailingPunctuationFromURLs && trailingPunctuation) {\n append = trailingPunctuation;\n }\n if (options.openLinksInNewWindow) {\n target = ' rel=\"noopener noreferrer\" target=\"¨E95Eblank\"';\n }\n return lmc + '<a href=\"' + link + '\"' + target + '>' + lnkTxt + '</a>' + append + tmc;\n };\n },\n\n replaceMail = function (options, globals) {\n 'use strict';\n return function (wholeMatch, b, mail) {\n var href = 'mailto:';\n b = b || '';\n mail = showdown.subParser('unescapeSpecialChars')(mail, options, globals);\n if (options.encodeEmails) {\n href = showdown.helper.encodeEmailAddress(href + mail);\n mail = showdown.helper.encodeEmailAddress(mail);\n } else {\n href = href + mail;\n }\n return b + '<a href=\"' + href + '\">' + mail + '</a>';\n };\n };\n\nshowdown.subParser('autoLinks', function (text, options, globals) {\n 'use strict';\n\n text = globals.converter._dispatch('autoLinks.before', text, options, globals);\n\n text = text.replace(delimUrlRegex, replaceLink(options));\n text = text.replace(delimMailRegex, replaceMail(options, globals));\n\n text = globals.converter._dispatch('autoLinks.after', text, options, globals);\n\n return text;\n});\n\nshowdown.subParser('simplifiedAutoLinks', function (text, options, globals) {\n 'use strict';\n\n if (!options.simplifiedAutoLink) {\n return text;\n }\n\n text = globals.converter._dispatch('simplifiedAutoLinks.before', text, options, globals);\n\n if (options.excludeTrailingPunctuationFromURLs) {\n text = text.replace(simpleURLRegex2, replaceLink(options));\n } else {\n text = text.replace(simpleURLRegex, replaceLink(options));\n }\n text = text.replace(simpleMailRegex, replaceMail(options, globals));\n\n text = globals.converter._dispatch('simplifiedAutoLinks.after', text, options, globals);\n\n return text;\n});\n\r\n/**\n * These are all the transformations that form block-level\n * tags like paragraphs, headers, and list items.\n */\nshowdown.subParser('blockGamut', function (text, options, globals) {\n 'use strict';\n\n text = globals.converter._dispatch('blockGamut.before', text, options, globals);\n\n // we parse blockquotes first so that we can have headings and hrs\n // inside blockquotes\n text = showdown.subParser('blockQuotes')(text, options, globals);\n text = showdown.subParser('headers')(text, options, globals);\n\n // Do Horizontal Rules:\n text = showdown.subParser('horizontalRule')(text, options, globals);\n\n text = showdown.subParser('lists')(text, options, globals);\n text = showdown.subParser('codeBlocks')(text, options, globals);\n text = showdown.subParser('tables')(text, options, globals);\n\n // We already ran _HashHTMLBlocks() before, in Markdown(), but that\n // was to escape raw HTML in the original Markdown source. This time,\n // we're escaping the markup we've just created, so that we don't wrap\n // <p> tags around block-level tags.\n text = showdown.subParser('hashHTMLBlocks')(text, options, globals);\n text = showdown.subParser('paragraphs')(text, options, globals);\n\n text = globals.converter._dispatch('blockGamut.after', text, options, globals);\n\n return text;\n});\n\r\nshowdown.subParser('blockQuotes', function (text, options, globals) {\n 'use strict';\n\n text = globals.converter._dispatch('blockQuotes.before', text, options, globals);\n\n // add a couple extra lines after the text and endtext mark\n text = text + '\\n\\n';\n\n var rgx = /(^ {0,3}>[ \\t]?.+\\n(.+\\n)*\\n*)+/gm;\n\n if (options.splitAdjacentBlockquotes) {\n rgx = /^ {0,3}>[\\s\\S]*?(?:\\n\\n)/gm;\n }\n\n text = text.replace(rgx, function (bq) {\n // attacklab: hack around Konqueror 3.5.4 bug:\n // \"----------bug\".replace(/^-/g,\"\") == \"bug\"\n bq = bq.replace(/^[ \\t]*>[ \\t]?/gm, ''); // trim one level of quoting\n\n // attacklab: clean up hack\n bq = bq.replace(/¨0/g, '');\n\n bq = bq.replace(/^[ \\t]+$/gm, ''); // trim whitespace-only lines\n bq = showdown.subParser('githubCodeBlocks')(bq, options, globals);\n bq = showdown.subParser('blockGamut')(bq, options, globals); // recurse\n\n bq = bq.replace(/(^|\\n)/g, '$1 ');\n // These leading spaces screw with <pre> content, so we need to fix that:\n bq = bq.replace(/(\\s*<pre>[^\\r]+?<\\/pre>)/gm, function (wholeMatch, m1) {\n var pre = m1;\n // attacklab: hack around Konqueror 3.5.4 bug:\n pre = pre.replace(/^ /mg, '¨0');\n pre = pre.replace(/¨0/g, '');\n return pre;\n });\n\n return showdown.subParser('hashBlock')('<blockquote>\\n' + bq + '\\n</blockquote>', options, globals);\n });\n\n text = globals.converter._dispatch('blockQuotes.after', text, options, globals);\n return text;\n});\n\r\n/**\n * Process Markdown `<pre><code>` blocks.\n */\nshowdown.subParser('codeBlocks', function (text, options, globals) {\n 'use strict';\n\n text = globals.converter._dispatch('codeBlocks.before', text, options, globals);\n\n // sentinel workarounds for lack of \\A and \\Z, safari\\khtml bug\n text += '¨0';\n\n var pattern = /(?:\\n\\n|^)((?:(?:[ ]{4}|\\t).*\\n+)+)(\\n*[ ]{0,3}[^ \\t\\n]|(?=¨0))/g;\n text = text.replace(pattern, function (wholeMatch, m1, m2) {\n var codeblock = m1,\n nextChar = m2,\n end = '\\n';\n\n codeblock = showdown.subParser('outdent')(codeblock, options, globals);\n codeblock = showdown.subParser('encodeCode')(codeblock, options, globals);\n codeblock = showdown.subParser('detab')(codeblock, options, globals);\n codeblock = codeblock.replace(/^\\n+/g, ''); // trim leading newlines\n codeblock = codeblock.replace(/\\n+$/g, ''); // trim trailing newlines\n\n if (options.omitExtraWLInCodeBlocks) {\n end = '';\n }\n\n codeblock = '<pre><code>' + codeblock + end + '</code></pre>';\n\n return showdown.subParser('hashBlock')(codeblock, options, globals) + nextChar;\n });\n\n // strip sentinel\n text = text.replace(/¨0/, '');\n\n text = globals.converter._dispatch('codeBlocks.after', text, options, globals);\n return text;\n});\n\r\n/**\n *\n * * Backtick quotes are used for <code></code> spans.\n *\n * * You can use multiple backticks as the delimiters if you want to\n * include literal backticks in the code span. So, this input:\n *\n * Just type ``foo `bar` baz`` at the prompt.\n *\n * Will translate to:\n *\n * <p>Just type <code>foo `bar` baz</code> at the prompt.</p>\n *\n * There's no arbitrary limit to the number of backticks you\n * can use as delimters. If you need three consecutive backticks\n * in your code, use four for delimiters, etc.\n *\n * * You can use spaces to get literal backticks at the edges:\n *\n * ... type `` `bar` `` ...\n *\n * Turns to:\n *\n * ... type <code>`bar`</code> ...\n */\nshowdown.subParser('codeSpans', function (text, options, globals) {\n 'use strict';\n\n text = globals.converter._dispatch('codeSpans.before', text, options, globals);\n\n if (typeof text === 'undefined') {\n text = '';\n }\n text = text.replace(/(^|[^\\\\])(`+)([^\\r]*?[^`])\\2(?!`)/gm,\n function (wholeMatch, m1, m2, m3) {\n var c = m3;\n c = c.replace(/^([ \\t]*)/g, '');\t// leading whitespace\n c = c.replace(/[ \\t]*$/g, '');\t// trailing whitespace\n c = showdown.subParser('encodeCode')(c, options, globals);\n c = m1 + '<code>' + c + '</code>';\n c = showdown.subParser('hashHTMLSpans')(c, options, globals);\n return c;\n }\n );\n\n text = globals.converter._dispatch('codeSpans.after', text, options, globals);\n return text;\n});\n\r\n/**\n * Create a full HTML document from the processed markdown\n */\nshowdown.subParser('completeHTMLDocument', function (text, options, globals) {\n 'use strict';\n\n if (!options.completeHTMLDocument) {\n return text;\n }\n\n text = globals.converter._dispatch('completeHTMLDocument.before', text, options, globals);\n\n var doctype = 'html',\n doctypeParsed = '<!DOCTYPE HTML>\\n',\n title = '',\n charset = '<meta charset=\"utf-8\">\\n',\n lang = '',\n metadata = '';\n\n if (typeof globals.metadata.parsed.doctype !== 'undefined') {\n doctypeParsed = '<!DOCTYPE ' + globals.metadata.parsed.doctype + '>\\n';\n doctype = globals.metadata.parsed.doctype.toString().toLowerCase();\n if (doctype === 'html' || doctype === 'html5') {\n charset = '<meta charset=\"utf-8\">';\n }\n }\n\n for (var meta in globals.metadata.parsed) {\n if (globals.metadata.parsed.hasOwnProperty(meta)) {\n switch (meta.toLowerCase()) {\n case 'doctype':\n break;\n\n case 'title':\n title = '<title>' + globals.metadata.parsed.title + '</title>\\n';\n break;\n\n case 'charset':\n if (doctype === 'html' || doctype === 'html5') {\n charset = '<meta charset=\"' + globals.metadata.parsed.charset + '\">\\n';\n } else {\n charset = '<meta name=\"charset\" content=\"' + globals.metadata.parsed.charset + '\">\\n';\n }\n break;\n\n case 'language':\n case 'lang':\n lang = ' lang=\"' + globals.metadata.parsed[meta] + '\"';\n metadata += '<meta name=\"' + meta + '\" content=\"' + globals.metadata.parsed[meta] + '\">\\n';\n break;\n\n default:\n metadata += '<meta name=\"' + meta + '\" content=\"' + globals.metadata.parsed[meta] + '\">\\n';\n }\n }\n }\n\n text = doctypeParsed + '<html' + lang + '>\\n<head>\\n' + title + charset + metadata + '</head>\\n<body>\\n' + text.trim() + '\\n</body>\\n</html>';\n\n text = globals.converter._dispatch('completeHTMLDocument.after', text, options, globals);\n return text;\n});\n\r\n/**\n * Convert all tabs to spaces\n */\nshowdown.subParser('detab', function (text, options, globals) {\n 'use strict';\n text = globals.converter._dispatch('detab.before', text, options, globals);\n\n // expand first n-1 tabs\n text = text.replace(/\\t(?=\\t)/g, ' '); // g_tab_width\n\n // replace the nth with two sentinels\n text = text.replace(/\\t/g, '¨A¨B');\n\n // use the sentinel to anchor our regex so it doesn't explode\n text = text.replace(/¨B(.+?)¨A/g, function (wholeMatch, m1) {\n var leadingText = m1,\n numSpaces = 4 - leadingText.length % 4; // g_tab_width\n\n // there *must* be a better way to do this:\n for (var i = 0; i < numSpaces; i++) {\n leadingText += ' ';\n }\n\n return leadingText;\n });\n\n // clean up sentinels\n text = text.replace(/¨A/g, ' '); // g_tab_width\n text = text.replace(/¨B/g, '');\n\n text = globals.converter._dispatch('detab.after', text, options, globals);\n return text;\n});\n\r\nshowdown.subParser('ellipsis', function (text, options, globals) {\n 'use strict';\n\n text = globals.converter._dispatch('ellipsis.before', text, options, globals);\n\n text = text.replace(/\\.\\.\\./g, '…');\n\n text = globals.converter._dispatch('ellipsis.after', text, options, globals);\n\n return text;\n});\n\r\n/**\n * Turn emoji codes into emojis\n *\n * List of supported emojis: https://github.com/showdownjs/showdown/wiki/Emojis\n */\nshowdown.subParser('emoji', function (text, options, globals) {\n 'use strict';\n\n if (!options.emoji) {\n return text;\n }\n\n text = globals.converter._dispatch('emoji.before', text, options, globals);\n\n var emojiRgx = /:([\\S]+?):/g;\n\n text = text.replace(emojiRgx, function (wm, emojiCode) {\n if (showdown.helper.emojis.hasOwnProperty(emojiCode)) {\n return showdown.helper.emojis[emojiCode];\n }\n return wm;\n });\n\n text = globals.converter._dispatch('emoji.after', text, options, globals);\n\n return text;\n});\n\r\n/**\n * Smart processing for ampersands and angle brackets that need to be encoded.\n */\nshowdown.subParser('encodeAmpsAndAngles', function (text, options, globals) {\n 'use strict';\n text = globals.converter._dispatch('encodeAmpsAndAngles.before', text, options, globals);\n\n // Ampersand-encoding based entirely on Nat Irons's Amputator MT plugin:\n // http://bumppo.net/projects/amputator/\n text = text.replace(/&(?!#?[xX]?(?:[0-9a-fA-F]+|\\w+);)/g, '&');\n\n // Encode naked <'s\n text = text.replace(/<(?![a-z\\/?$!])/gi, '<');\n\n // Encode <\n text = text.replace(/</g, '<');\n\n // Encode >\n text = text.replace(/>/g, '>');\n\n text = globals.converter._dispatch('encodeAmpsAndAngles.after', text, options, globals);\n return text;\n});\n\r\n/**\n * Returns the string, with after processing the following backslash escape sequences.\n *\n * attacklab: The polite way to do this is with the new escapeCharacters() function:\n *\n * text = escapeCharacters(text,\"\\\\\",true);\n * text = escapeCharacters(text,\"`*_{}[]()>#+-.!\",true);\n *\n * ...but we're sidestepping its use of the (slow) RegExp constructor\n * as an optimization for Firefox. This function gets called a LOT.\n */\nshowdown.subParser('encodeBackslashEscapes', function (text, options, globals) {\n 'use strict';\n text = globals.converter._dispatch('encodeBackslashEscapes.before', text, options, globals);\n\n text = text.replace(/\\\\(\\\\)/g, showdown.helper.escapeCharactersCallback);\n text = text.replace(/\\\\([`*_{}\\[\\]()>#+.!~=|-])/g, showdown.helper.escapeCharactersCallback);\n\n text = globals.converter._dispatch('encodeBackslashEscapes.after', text, options, globals);\n return text;\n});\n\r\n/**\n * Encode/escape certain characters inside Markdown code runs.\n * The point is that in code, these characters are literals,\n * and lose their special Markdown meanings.\n */\nshowdown.subParser('encodeCode', function (text, options, globals) {\n 'use strict';\n\n text = globals.converter._dispatch('encodeCode.before', text, options, globals);\n\n // Encode all ampersands; HTML entities are not\n // entities within a Markdown code span.\n text = text\n .replace(/&/g, '&')\n // Do the angle bracket song and dance:\n .replace(/</g, '<')\n .replace(/>/g, '>')\n // Now, escape characters that are magic in Markdown:\n .replace(/([*_{}\\[\\]\\\\=~-])/g, showdown.helper.escapeCharactersCallback);\n\n text = globals.converter._dispatch('encodeCode.after', text, options, globals);\n return text;\n});\n\r\n/**\n * Within tags -- meaning between < and > -- encode [\\ ` * _ ~ =] so they\n * don't conflict with their use in Markdown for code, italics and strong.\n */\nshowdown.subParser('escapeSpecialCharsWithinTagAttributes', function (text, options, globals) {\n 'use strict';\n text = globals.converter._dispatch('escapeSpecialCharsWithinTagAttributes.before', text, options, globals);\n\n // Build a regex to find HTML tags.\n var tags = /<\\/?[a-z\\d_:-]+(?:[\\s]+[\\s\\S]+?)?>/gi,\n comments = /<!(--(?:(?:[^>-]|-[^>])(?:[^-]|-[^-])*)--)>/gi;\n\n text = text.replace(tags, function (wholeMatch) {\n return wholeMatch\n .replace(/(.)<\\/?code>(?=.)/g, '$1`')\n .replace(/([\\\\`*_~=|])/g, showdown.helper.escapeCharactersCallback);\n });\n\n text = text.replace(comments, function (wholeMatch) {\n return wholeMatch\n .replace(/([\\\\`*_~=|])/g, showdown.helper.escapeCharactersCallback);\n });\n\n text = globals.converter._dispatch('escapeSpecialCharsWithinTagAttributes.after', text, options, globals);\n return text;\n});\n\r\n/**\n * Handle github codeblocks prior to running HashHTML so that\n * HTML contained within the codeblock gets escaped properly\n * Example:\n * ```ruby\n * def hello_world(x)\n * puts \"Hello, #{x}\"\n * end\n * ```\n */\nshowdown.subParser('githubCodeBlocks', function (text, options, globals) {\n 'use strict';\n\n // early exit if option is not enabled\n if (!options.ghCodeBlocks) {\n return text;\n }\n\n text = globals.converter._dispatch('githubCodeBlocks.before', text, options, globals);\n\n text += '¨0';\n\n text = text.replace(/(?:^|\\n)(?: {0,3})(```+|~~~+)(?: *)([^\\s`~]*)\\n([\\s\\S]*?)\\n(?: {0,3})\\1/g, function (wholeMatch, delim, language, codeblock) {\n var end = (options.omitExtraWLInCodeBlocks) ? '' : '\\n';\n\n // First parse the github code block\n codeblock = showdown.subParser('encodeCode')(codeblock, options, globals);\n codeblock = showdown.subParser('detab')(codeblock, options, globals);\n codeblock = codeblock.replace(/^\\n+/g, ''); // trim leading newlines\n codeblock = codeblock.replace(/\\n+$/g, ''); // trim trailing whitespace\n\n codeblock = '<pre><code' + (language ? ' class=\"' + language + ' language-' + language + '\"' : '') + '>' + codeblock + end + '</code></pre>';\n\n codeblock = showdown.subParser('hashBlock')(codeblock, options, globals);\n\n // Since GHCodeblocks can be false positives, we need to\n // store the primitive text and the parsed text in a global var,\n // and then return a token\n return '\\n\\n¨G' + (globals.ghCodeBlocks.push({text: wholeMatch, codeblock: codeblock}) - 1) + 'G\\n\\n';\n });\n\n // attacklab: strip sentinel\n text = text.replace(/¨0/, '');\n\n return globals.converter._dispatch('githubCodeBlocks.after', text, options, globals);\n});\n\r\nshowdown.subParser('hashBlock', function (text, options, globals) {\n 'use strict';\n text = globals.converter._dispatch('hashBlock.before', text, options, globals);\n text = text.replace(/(^\\n+|\\n+$)/g, '');\n text = '\\n\\n¨K' + (globals.gHtmlBlocks.push(text) - 1) + 'K\\n\\n';\n text = globals.converter._dispatch('hashBlock.after', text, options, globals);\n return text;\n});\n\r\n/**\n * Hash and escape <code> elements that should not be parsed as markdown\n */\nshowdown.subParser('hashCodeTags', function (text, options, globals) {\n 'use strict';\n text = globals.converter._dispatch('hashCodeTags.before', text, options, globals);\n\n var repFunc = function (wholeMatch, match, left, right) {\n var codeblock = left + showdown.subParser('encodeCode')(match, options, globals) + right;\n return '¨C' + (globals.gHtmlSpans.push(codeblock) - 1) + 'C';\n };\n\n // Hash naked <code>\n text = showdown.helper.replaceRecursiveRegExp(text, repFunc, '<code\\\\b[^>]*>', '</code>', 'gim');\n\n text = globals.converter._dispatch('hashCodeTags.after', text, options, globals);\n return text;\n});\n\r\nshowdown.subParser('hashElement', function (text, options, globals) {\n 'use strict';\n\n return function (wholeMatch, m1) {\n var blockText = m1;\n\n // Undo double lines\n blockText = blockText.replace(/\\n\\n/g, '\\n');\n blockText = blockText.replace(/^\\n/, '');\n\n // strip trailing blank lines\n blockText = blockText.replace(/\\n+$/g, '');\n\n // Replace the element text with a marker (\"¨KxK\" where x is its key)\n blockText = '\\n\\n¨K' + (globals.gHtmlBlocks.push(blockText) - 1) + 'K\\n\\n';\n\n return blockText;\n };\n});\n\r\nshowdown.subParser('hashHTMLBlocks', function (text, options, globals) {\n 'use strict';\n text = globals.converter._dispatch('hashHTMLBlocks.before', text, options, globals);\n\n var blockTags = [\n 'pre',\n 'div',\n 'h1',\n 'h2',\n 'h3',\n 'h4',\n 'h5',\n 'h6',\n 'blockquote',\n 'table',\n 'dl',\n 'ol',\n 'ul',\n 'script',\n 'noscript',\n 'form',\n 'fieldset',\n 'iframe',\n 'math',\n 'style',\n 'section',\n 'header',\n 'footer',\n 'nav',\n 'article',\n 'aside',\n 'address',\n 'audio',\n 'canvas',\n 'figure',\n 'hgroup',\n 'output',\n 'video',\n 'p'\n ],\n repFunc = function (wholeMatch, match, left, right) {\n var txt = wholeMatch;\n // check if this html element is marked as markdown\n // if so, it's contents should be parsed as markdown\n if (left.search(/\\bmarkdown\\b/) !== -1) {\n txt = left + globals.converter.makeHtml(match) + right;\n }\n return '\\n\\n¨K' + (globals.gHtmlBlocks.push(txt) - 1) + 'K\\n\\n';\n };\n\n if (options.backslashEscapesHTMLTags) {\n // encode backslash escaped HTML tags\n text = text.replace(/\\\\<(\\/?[^>]+?)>/g, function (wm, inside) {\n return '<' + inside + '>';\n });\n }\n\n // hash HTML Blocks\n for (var i = 0; i < blockTags.length; ++i) {\n\n var opTagPos,\n rgx1 = new RegExp('^ {0,3}(<' + blockTags[i] + '\\\\b[^>]*>)', 'im'),\n patLeft = '<' + blockTags[i] + '\\\\b[^>]*>',\n patRight = '</' + blockTags[i] + '>';\n // 1. Look for the first position of the first opening HTML tag in the text\n while ((opTagPos = showdown.helper.regexIndexOf(text, rgx1)) !== -1) {\n\n // if the HTML tag is \\ escaped, we need to escape it and break\n\n\n //2. Split the text in that position\n var subTexts = showdown.helper.splitAtIndex(text, opTagPos),\n //3. Match recursively\n newSubText1 = showdown.helper.replaceRecursiveRegExp(subTexts[1], repFunc, patLeft, patRight, 'im');\n\n // prevent an infinite loop\n if (newSubText1 === subTexts[1]) {\n break;\n }\n text = subTexts[0].concat(newSubText1);\n }\n }\n // HR SPECIAL CASE\n text = text.replace(/(\\n {0,3}(<(hr)\\b([^<>])*?\\/?>)[ \\t]*(?=\\n{2,}))/g,\n showdown.subParser('hashElement')(text, options, globals));\n\n // Special case for standalone HTML comments\n text = showdown.helper.replaceRecursiveRegExp(text, function (txt) {\n return '\\n\\n¨K' + (globals.gHtmlBlocks.push(txt) - 1) + 'K\\n\\n';\n }, '^ {0,3}<!--', '-->', 'gm');\n\n // PHP and ASP-style processor instructions (<?...?> and <%...%>)\n text = text.replace(/(?:\\n\\n)( {0,3}(?:<([?%])[^\\r]*?\\2>)[ \\t]*(?=\\n{2,}))/g,\n showdown.subParser('hashElement')(text, options, globals));\n\n text = globals.converter._dispatch('hashHTMLBlocks.after', text, options, globals);\n return text;\n});\n\r\n/**\n * Hash span elements that should not be parsed as markdown\n */\nshowdown.subParser('hashHTMLSpans', function (text, options, globals) {\n 'use strict';\n text = globals.converter._dispatch('hashHTMLSpans.before', text, options, globals);\n\n function hashHTMLSpan (html) {\n return '¨C' + (globals.gHtmlSpans.push(html) - 1) + 'C';\n }\n\n // Hash Self Closing tags\n text = text.replace(/<[^>]+?\\/>/gi, function (wm) {\n return hashHTMLSpan(wm);\n });\n\n // Hash tags without properties\n text = text.replace(/<([^>]+?)>[\\s\\S]*?<\\/\\1>/g, function (wm) {\n return hashHTMLSpan(wm);\n });\n\n // Hash tags with properties\n text = text.replace(/<([^>]+?)\\s[^>]+?>[\\s\\S]*?<\\/\\1>/g, function (wm) {\n return hashHTMLSpan(wm);\n });\n\n // Hash self closing tags without />\n text = text.replace(/<[^>]+?>/gi, function (wm) {\n return hashHTMLSpan(wm);\n });\n\n /*showdown.helper.matchRecursiveRegExp(text, '<code\\\\b[^>]*>', '</code>', 'gi');*/\n\n text = globals.converter._dispatch('hashHTMLSpans.after', text, options, globals);\n return text;\n});\n\n/**\n * Unhash HTML spans\n */\nshowdown.subParser('unhashHTMLSpans', function (text, options, globals) {\n 'use strict';\n text = globals.converter._dispatch('unhashHTMLSpans.before', text, options, globals);\n\n for (var i = 0; i < globals.gHtmlSpans.length; ++i) {\n var repText = globals.gHtmlSpans[i],\n // limiter to prevent infinite loop (assume 10 as limit for recurse)\n limit = 0;\n\n while (/¨C(\\d+)C/.test(repText)) {\n var num = RegExp.$1;\n repText = repText.replace('¨C' + num + 'C', globals.gHtmlSpans[num]);\n if (limit === 10) {\n console.error('maximum nesting of 10 spans reached!!!');\n break;\n }\n ++limit;\n }\n text = text.replace('¨C' + i + 'C', repText);\n }\n\n text = globals.converter._dispatch('unhashHTMLSpans.after', text, options, globals);\n return text;\n});\n\r\n/**\n * Hash and escape <pre><code> elements that should not be parsed as markdown\n */\nshowdown.subParser('hashPreCodeTags', function (text, options, globals) {\n 'use strict';\n text = globals.converter._dispatch('hashPreCodeTags.before', text, options, globals);\n\n var repFunc = function (wholeMatch, match, left, right) {\n // encode html entities\n var codeblock = left + showdown.subParser('encodeCode')(match, options, globals) + right;\n return '\\n\\n¨G' + (globals.ghCodeBlocks.push({text: wholeMatch, codeblock: codeblock}) - 1) + 'G\\n\\n';\n };\n\n // Hash <pre><code>\n text = showdown.helper.replaceRecursiveRegExp(text, repFunc, '^ {0,3}<pre\\\\b[^>]*>\\\\s*<code\\\\b[^>]*>', '^ {0,3}</code>\\\\s*</pre>', 'gim');\n\n text = globals.converter._dispatch('hashPreCodeTags.after', text, options, globals);\n return text;\n});\n\r\nshowdown.subParser('headers', function (text, options, globals) {\n 'use strict';\n\n text = globals.converter._dispatch('headers.before', text, options, globals);\n\n var headerLevelStart = (isNaN(parseInt(options.headerLevelStart))) ? 1 : parseInt(options.headerLevelStart),\n\n // Set text-style headers:\n //\tHeader 1\n //\t========\n //\n //\tHeader 2\n //\t--------\n //\n setextRegexH1 = (options.smoothLivePreview) ? /^(.+)[ \\t]*\\n={2,}[ \\t]*\\n+/gm : /^(.+)[ \\t]*\\n=+[ \\t]*\\n+/gm,\n setextRegexH2 = (options.smoothLivePreview) ? /^(.+)[ \\t]*\\n-{2,}[ \\t]*\\n+/gm : /^(.+)[ \\t]*\\n-+[ \\t]*\\n+/gm;\n\n text = text.replace(setextRegexH1, function (wholeMatch, m1) {\n\n var spanGamut = showdown.subParser('spanGamut')(m1, options, globals),\n hID = (options.noHeaderId) ? '' : ' id=\"' + headerId(m1) + '\"',\n hLevel = headerLevelStart,\n hashBlock = '<h' + hLevel + hID + '>' + spanGamut + '</h' + hLevel + '>';\n return showdown.subParser('hashBlock')(hashBlock, options, globals);\n });\n\n text = text.replace(setextRegexH2, function (matchFound, m1) {\n var spanGamut = showdown.subParser('spanGamut')(m1, options, globals),\n hID = (options.noHeaderId) ? '' : ' id=\"' + headerId(m1) + '\"',\n hLevel = headerLevelStart + 1,\n hashBlock = '<h' + hLevel + hID + '>' + spanGamut + '</h' + hLevel + '>';\n return showdown.subParser('hashBlock')(hashBlock, options, globals);\n });\n\n // atx-style headers:\n // # Header 1\n // ## Header 2\n // ## Header 2 with closing hashes ##\n // ...\n // ###### Header 6\n //\n var atxStyle = (options.requireSpaceBeforeHeadingText) ? /^(#{1,6})[ \\t]+(.+?)[ \\t]*#*\\n+/gm : /^(#{1,6})[ \\t]*(.+?)[ \\t]*#*\\n+/gm;\n\n text = text.replace(atxStyle, function (wholeMatch, m1, m2) {\n var hText = m2;\n if (options.customizedHeaderId) {\n hText = m2.replace(/\\s?\\{([^{]+?)}\\s*$/, '');\n }\n\n var span = showdown.subParser('spanGamut')(hText, options, globals),\n hID = (options.noHeaderId) ? '' : ' id=\"' + headerId(m2) + '\"',\n hLevel = headerLevelStart - 1 + m1.length,\n header = '<h' + hLevel + hID + '>' + span + '</h' + hLevel + '>';\n\n return showdown.subParser('hashBlock')(header, options, globals);\n });\n\n function headerId (m) {\n var title,\n prefix;\n\n // It is separate from other options to allow combining prefix and customized\n if (options.customizedHeaderId) {\n var match = m.match(/\\{([^{]+?)}\\s*$/);\n if (match && match[1]) {\n m = match[1];\n }\n }\n\n title = m;\n\n // Prefix id to prevent causing inadvertent pre-existing style matches.\n if (showdown.helper.isString(options.prefixHeaderId)) {\n prefix = options.prefixHeaderId;\n } else if (options.prefixHeaderId === true) {\n prefix = 'section-';\n } else {\n prefix = '';\n }\n\n if (!options.rawPrefixHeaderId) {\n title = prefix + title;\n }\n\n if (options.ghCompatibleHeaderId) {\n title = title\n .replace(/ /g, '-')\n // replace previously escaped chars (&, ¨ and $)\n .replace(/&/g, '')\n .replace(/¨T/g, '')\n .replace(/¨D/g, '')\n // replace rest of the chars (&~$ are repeated as they might have been escaped)\n // borrowed from github's redcarpet (some they should produce similar results)\n .replace(/[&+$,\\/:;=?@\"#{}|^¨~\\[\\]`\\\\*)(%.!'<>]/g, '')\n .toLowerCase();\n } else if (options.rawHeaderId) {\n title = title\n .replace(/ /g, '-')\n // replace previously escaped chars (&, ¨ and $)\n .replace(/&/g, '&')\n .replace(/¨T/g, '¨')\n .replace(/¨D/g, '$')\n // replace \" and '\n .replace(/[\"']/g, '-')\n .toLowerCase();\n } else {\n title = title\n .replace(/[^\\w]/g, '')\n .toLowerCase();\n }\n\n if (options.rawPrefixHeaderId) {\n title = prefix + title;\n }\n\n if (globals.hashLinkCounts[title]) {\n title = title + '-' + (globals.hashLinkCounts[title]++);\n } else {\n globals.hashLinkCounts[title] = 1;\n }\n return title;\n }\n\n text = globals.converter._dispatch('headers.after', text, options, globals);\n return text;\n});\n\r\n/**\n * Turn Markdown link shortcuts into XHTML <a> tags.\n */\nshowdown.subParser('horizontalRule', function (text, options, globals) {\n 'use strict';\n text = globals.converter._dispatch('horizontalRule.before', text, options, globals);\n\n var key = showdown.subParser('hashBlock')('<hr />', options, globals);\n text = text.replace(/^ {0,2}( ?-){3,}[ \\t]*$/gm, key);\n text = text.replace(/^ {0,2}( ?\\*){3,}[ \\t]*$/gm, key);\n text = text.replace(/^ {0,2}( ?_){3,}[ \\t]*$/gm, key);\n\n text = globals.converter._dispatch('horizontalRule.after', text, options, globals);\n return text;\n});\n\r\n/**\n * Turn Markdown image shortcuts into <img> tags.\n */\nshowdown.subParser('images', function (text, options, globals) {\n 'use strict';\n\n text = globals.converter._dispatch('images.before', text, options, globals);\n\n var inlineRegExp = /!\\[([^\\]]*?)][ \\t]*()\\([ \\t]?<?([\\S]+?(?:\\([\\S]*?\\)[\\S]*?)?)>?(?: =([*\\d]+[A-Za-z%]{0,4})x([*\\d]+[A-Za-z%]{0,4}))?[ \\t]*(?:([\"'])([^\"]*?)\\6)?[ \\t]?\\)/g,\n crazyRegExp = /!\\[([^\\]]*?)][ \\t]*()\\([ \\t]?<([^>]*)>(?: =([*\\d]+[A-Za-z%]{0,4})x([*\\d]+[A-Za-z%]{0,4}))?[ \\t]*(?:(?:([\"'])([^\"]*?)\\6))?[ \\t]?\\)/g,\n base64RegExp = /!\\[([^\\]]*?)][ \\t]*()\\([ \\t]?<?(data:.+?\\/.+?;base64,[A-Za-z0-9+/=\\n]+?)>?(?: =([*\\d]+[A-Za-z%]{0,4})x([*\\d]+[A-Za-z%]{0,4}))?[ \\t]*(?:([\"'])([^\"]*?)\\6)?[ \\t]?\\)/g,\n referenceRegExp = /!\\[([^\\]]*?)] ?(?:\\n *)?\\[([\\s\\S]*?)]()()()()()/g,\n refShortcutRegExp = /!\\[([^\\[\\]]+)]()()()()()/g;\n\n function writeImageTagBase64 (wholeMatch, altText, linkId, url, width, height, m5, title) {\n url = url.replace(/\\s/g, '');\n return writeImageTag (wholeMatch, altText, linkId, url, width, height, m5, title);\n }\n\n function writeImageTag (wholeMatch, altText, linkId, url, width, height, m5, title) {\n\n var gUrls = globals.gUrls,\n gTitles = globals.gTitles,\n gDims = globals.gDimensions;\n\n linkId = linkId.toLowerCase();\n\n if (!title) {\n title = '';\n }\n // Special case for explicit empty url\n if (wholeMatch.search(/\\(<?\\s*>? ?(['\"].*['\"])?\\)$/m) > -1) {\n url = '';\n\n } else if (url === '' || url === null) {\n if (linkId === '' || linkId === null) {\n // lower-case and turn embedded newlines into spaces\n linkId = altText.toLowerCase().replace(/ ?\\n/g, ' ');\n }\n url = '#' + linkId;\n\n if (!showdown.helper.isUndefined(gUrls[linkId])) {\n url = gUrls[linkId];\n if (!showdown.helper.isUndefined(gTitles[linkId])) {\n title = gTitles[linkId];\n }\n if (!showdown.helper.isUndefined(gDims[linkId])) {\n width = gDims[linkId].width;\n height = gDims[linkId].height;\n }\n } else {\n return wholeMatch;\n }\n }\n\n altText = altText\n .replace(/\"/g, '"')\n //altText = showdown.helper.escapeCharacters(altText, '*_', false);\n .replace(showdown.helper.regexes.asteriskDashAndColon, showdown.helper.escapeCharactersCallback);\n //url = showdown.helper.escapeCharacters(url, '*_', false);\n url = url.replace(showdown.helper.regexes.asteriskDashAndColon, showdown.helper.escapeCharactersCallback);\n var result = '<img src=\"' + url + '\" alt=\"' + altText + '\"';\n\n if (title && showdown.helper.isString(title)) {\n title = title\n .replace(/\"/g, '"')\n //title = showdown.helper.escapeCharacters(title, '*_', false);\n .replace(showdown.helper.regexes.asteriskDashAndColon, showdown.helper.escapeCharactersCallback);\n result += ' title=\"' + title + '\"';\n }\n\n if (width && height) {\n width = (width === '*') ? 'auto' : width;\n height = (height === '*') ? 'auto' : height;\n\n result += ' width=\"' + width + '\"';\n result += ' height=\"' + height + '\"';\n }\n\n result += ' />';\n\n return result;\n }\n\n // First, handle reference-style labeled images: ![alt text][id]\n text = text.replace(referenceRegExp, writeImageTag);\n\n // Next, handle inline images: ![alt text](url =<width>x<height> \"optional title\")\n\n // base64 encoded images\n text = text.replace(base64RegExp, writeImageTagBase64);\n\n // cases with crazy urls like ./image/cat1).png\n text = text.replace(crazyRegExp, writeImageTag);\n\n // normal cases\n text = text.replace(inlineRegExp, writeImageTag);\n\n // handle reference-style shortcuts: ![img text]\n text = text.replace(refShortcutRegExp, writeImageTag);\n\n text = globals.converter._dispatch('images.after', text, options, globals);\n return text;\n});\n\r\nshowdown.subParser('italicsAndBold', function (text, options, globals) {\n 'use strict';\n\n text = globals.converter._dispatch('italicsAndBold.before', text, options, globals);\n\n // it's faster to have 3 separate regexes for each case than have just one\n // because of backtracing, in some cases, it could lead to an exponential effect\n // called \"catastrophic backtrace\". Ominous!\n\n function parseInside (txt, left, right) {\n /*\n if (options.simplifiedAutoLink) {\n txt = showdown.subParser('simplifiedAutoLinks')(txt, options, globals);\n }\n */\n return left + txt + right;\n }\n\n // Parse underscores\n if (options.literalMidWordUnderscores) {\n text = text.replace(/\\b___(\\S[\\s\\S]*?)___\\b/g, function (wm, txt) {\n return parseInside (txt, '<strong><em>', '</em></strong>');\n });\n text = text.replace(/\\b__(\\S[\\s\\S]*?)__\\b/g, function (wm, txt) {\n return parseInside (txt, '<strong>', '</strong>');\n });\n text = text.replace(/\\b_(\\S[\\s\\S]*?)_\\b/g, function (wm, txt) {\n return parseInside (txt, '<em>', '</em>');\n });\n } else {\n text = text.replace(/___(\\S[\\s\\S]*?)___/g, function (wm, m) {\n return (/\\S$/.test(m)) ? parseInside (m, '<strong><em>', '</em></strong>') : wm;\n });\n text = text.replace(/__(\\S[\\s\\S]*?)__/g, function (wm, m) {\n return (/\\S$/.test(m)) ? parseInside (m, '<strong>', '</strong>') : wm;\n });\n text = text.replace(/_([^\\s_][\\s\\S]*?)_/g, function (wm, m) {\n // !/^_[^_]/.test(m) - test if it doesn't start with __ (since it seems redundant, we removed it)\n return (/\\S$/.test(m)) ? parseInside (m, '<em>', '</em>') : wm;\n });\n }\n\n // Now parse asterisks\n if (options.literalMidWordAsterisks) {\n text = text.replace(/([^*]|^)\\B\\*\\*\\*(\\S[\\s\\S]*?)\\*\\*\\*\\B(?!\\*)/g, function (wm, lead, txt) {\n return parseInside (txt, lead + '<strong><em>', '</em></strong>');\n });\n text = text.replace(/([^*]|^)\\B\\*\\*(\\S[\\s\\S]*?)\\*\\*\\B(?!\\*)/g, function (wm, lead, txt) {\n return parseInside (txt, lead + '<strong>', '</strong>');\n });\n text = text.replace(/([^*]|^)\\B\\*(\\S[\\s\\S]*?)\\*\\B(?!\\*)/g, function (wm, lead, txt) {\n return parseInside (txt, lead + '<em>', '</em>');\n });\n } else {\n text = text.replace(/\\*\\*\\*(\\S[\\s\\S]*?)\\*\\*\\*/g, function (wm, m) {\n return (/\\S$/.test(m)) ? parseInside (m, '<strong><em>', '</em></strong>') : wm;\n });\n text = text.replace(/\\*\\*(\\S[\\s\\S]*?)\\*\\*/g, function (wm, m) {\n return (/\\S$/.test(m)) ? parseInside (m, '<strong>', '</strong>') : wm;\n });\n text = text.replace(/\\*([^\\s*][\\s\\S]*?)\\*/g, function (wm, m) {\n // !/^\\*[^*]/.test(m) - test if it doesn't start with ** (since it seems redundant, we removed it)\n return (/\\S$/.test(m)) ? parseInside (m, '<em>', '</em>') : wm;\n });\n }\n\n\n text = globals.converter._dispatch('italicsAndBold.after', text, options, globals);\n return text;\n});\n\r\n/**\n * Form HTML ordered (numbered) and unordered (bulleted) lists.\n */\nshowdown.subParser('lists', function (text, options, globals) {\n 'use strict';\n\n /**\n * Process the contents of a single ordered or unordered list, splitting it\n * into individual list items.\n * @param {string} listStr\n * @param {boolean} trimTrailing\n * @returns {string}\n */\n function processListItems (listStr, trimTrailing) {\n // The $g_list_level global keeps track of when we're inside a list.\n // Each time we enter a list, we increment it; when we leave a list,\n // we decrement. If it's zero, we're not in a list anymore.\n //\n // We do this because when we're not inside a list, we want to treat\n // something like this:\n //\n // I recommend upgrading to version\n // 8. Oops, now this line is treated\n // as a sub-list.\n //\n // As a single paragraph, despite the fact that the second line starts\n // with a digit-period-space sequence.\n //\n // Whereas when we're inside a list (or sub-list), that line will be\n // treated as the start of a sub-list. What a kludge, huh? This is\n // an aspect of Markdown's syntax that's hard to parse perfectly\n // without resorting to mind-reading. Perhaps the solution is to\n // change the syntax rules such that sub-lists must start with a\n // starting cardinal number; e.g. \"1.\" or \"a.\".\n globals.gListLevel++;\n\n // trim trailing blank lines:\n listStr = listStr.replace(/\\n{2,}$/, '\\n');\n\n // attacklab: add sentinel to emulate \\z\n listStr += '¨0';\n\n var rgx = /(\\n)?(^ {0,3})([*+-]|\\d+[.])[ \\t]+((\\[(x|X| )?])?[ \\t]*[^\\r]+?(\\n{1,2}))(?=\\n*(¨0| {0,3}([*+-]|\\d+[.])[ \\t]+))/gm,\n isParagraphed = (/\\n[ \\t]*\\n(?!¨0)/.test(listStr));\n\n // Since version 1.5, nesting sublists requires 4 spaces (or 1 tab) indentation,\n // which is a syntax breaking change\n // activating this option reverts to old behavior\n if (options.disableForced4SpacesIndentedSublists) {\n rgx = /(\\n)?(^ {0,3})([*+-]|\\d+[.])[ \\t]+((\\[(x|X| )?])?[ \\t]*[^\\r]+?(\\n{1,2}))(?=\\n*(¨0|\\2([*+-]|\\d+[.])[ \\t]+))/gm;\n }\n\n listStr = listStr.replace(rgx, function (wholeMatch, m1, m2, m3, m4, taskbtn, checked) {\n checked = (checked && checked.trim() !== '');\n\n var item = showdown.subParser('outdent')(m4, options, globals),\n bulletStyle = '';\n\n // Support for github tasklists\n if (taskbtn && options.tasklists) {\n bulletStyle = ' class=\"task-list-item\" style=\"list-style-type: none;\"';\n item = item.replace(/^[ \\t]*\\[(x|X| )?]/m, function () {\n var otp = '<input type=\"checkbox\" disabled style=\"margin: 0px 0.35em 0.25em -1.6em; vertical-align: middle;\"';\n if (checked) {\n otp += ' checked';\n }\n otp += '>';\n return otp;\n });\n }\n\n // ISSUE #312\n // This input: - - - a\n // causes trouble to the parser, since it interprets it as:\n // <ul><li><li><li>a</li></li></li></ul>\n // instead of:\n // <ul><li>- - a</li></ul>\n // So, to prevent it, we will put a marker (¨A)in the beginning of the line\n // Kind of hackish/monkey patching, but seems more effective than overcomplicating the list parser\n item = item.replace(/^([-*+]|\\d\\.)[ \\t]+[\\S\\n ]*/g, function (wm2) {\n return '¨A' + wm2;\n });\n\n // m1 - Leading line or\n // Has a double return (multi paragraph) or\n // Has sublist\n if (m1 || (item.search(/\\n{2,}/) > -1)) {\n item = showdown.subParser('githubCodeBlocks')(item, options, globals);\n item = showdown.subParser('blockGamut')(item, options, globals);\n } else {\n // Recursion for sub-lists:\n item = showdown.subParser('lists')(item, options, globals);\n item = item.replace(/\\n$/, ''); // chomp(item)\n item = showdown.subParser('hashHTMLBlocks')(item, options, globals);\n\n // Colapse double linebreaks\n item = item.replace(/\\n\\n+/g, '\\n\\n');\n if (isParagraphed) {\n item = showdown.subParser('paragraphs')(item, options, globals);\n } else {\n item = showdown.subParser('spanGamut')(item, options, globals);\n }\n }\n\n // now we need to remove the marker (¨A)\n item = item.replace('¨A', '');\n // we can finally wrap the line in list item tags\n item = '<li' + bulletStyle + '>' + item + '</li>\\n';\n\n return item;\n });\n\n // attacklab: strip sentinel\n listStr = listStr.replace(/¨0/g, '');\n\n globals.gListLevel--;\n\n if (trimTrailing) {\n listStr = listStr.replace(/\\s+$/, '');\n }\n\n return listStr;\n }\n\n function styleStartNumber (list, listType) {\n // check if ol and starts by a number different than 1\n if (listType === 'ol') {\n var res = list.match(/^ *(\\d+)\\./);\n if (res && res[1] !== '1') {\n return ' start=\"' + res[1] + '\"';\n }\n }\n return '';\n }\n\n /**\n * Check and parse consecutive lists (better fix for issue #142)\n * @param {string} list\n * @param {string} listType\n * @param {boolean} trimTrailing\n * @returns {string}\n */\n function parseConsecutiveLists (list, listType, trimTrailing) {\n // check if we caught 2 or more consecutive lists by mistake\n // we use the counterRgx, meaning if listType is UL we look for OL and vice versa\n var olRgx = (options.disableForced4SpacesIndentedSublists) ? /^ ?\\d+\\.[ \\t]/gm : /^ {0,3}\\d+\\.[ \\t]/gm,\n ulRgx = (options.disableForced4SpacesIndentedSublists) ? /^ ?[*+-][ \\t]/gm : /^ {0,3}[*+-][ \\t]/gm,\n counterRxg = (listType === 'ul') ? olRgx : ulRgx,\n result = '';\n\n if (list.search(counterRxg) !== -1) {\n (function parseCL (txt) {\n var pos = txt.search(counterRxg),\n style = styleStartNumber(list, listType);\n if (pos !== -1) {\n // slice\n result += '\\n\\n<' + listType + style + '>\\n' + processListItems(txt.slice(0, pos), !!trimTrailing) + '</' + listType + '>\\n';\n\n // invert counterType and listType\n listType = (listType === 'ul') ? 'ol' : 'ul';\n counterRxg = (listType === 'ul') ? olRgx : ulRgx;\n\n //recurse\n parseCL(txt.slice(pos));\n } else {\n result += '\\n\\n<' + listType + style + '>\\n' + processListItems(txt, !!trimTrailing) + '</' + listType + '>\\n';\n }\n })(list);\n } else {\n var style = styleStartNumber(list, listType);\n result = '\\n\\n<' + listType + style + '>\\n' + processListItems(list, !!trimTrailing) + '</' + listType + '>\\n';\n }\n\n return result;\n }\n\n /** Start of list parsing **/\n text = globals.converter._dispatch('lists.before', text, options, globals);\n // add sentinel to hack around khtml/safari bug:\n // http://bugs.webkit.org/show_bug.cgi?id=11231\n text += '¨0';\n\n if (globals.gListLevel) {\n text = text.replace(/^(( {0,3}([*+-]|\\d+[.])[ \\t]+)[^\\r]+?(¨0|\\n{2,}(?=\\S)(?![ \\t]*(?:[*+-]|\\d+[.])[ \\t]+)))/gm,\n function (wholeMatch, list, m2) {\n var listType = (m2.search(/[*+-]/g) > -1) ? 'ul' : 'ol';\n return parseConsecutiveLists(list, listType, true);\n }\n );\n } else {\n text = text.replace(/(\\n\\n|^\\n?)(( {0,3}([*+-]|\\d+[.])[ \\t]+)[^\\r]+?(¨0|\\n{2,}(?=\\S)(?![ \\t]*(?:[*+-]|\\d+[.])[ \\t]+)))/gm,\n function (wholeMatch, m1, list, m3) {\n var listType = (m3.search(/[*+-]/g) > -1) ? 'ul' : 'ol';\n return parseConsecutiveLists(list, listType, false);\n }\n );\n }\n\n // strip sentinel\n text = text.replace(/¨0/, '');\n text = globals.converter._dispatch('lists.after', text, options, globals);\n return text;\n});\n\r\n/**\n * Parse metadata at the top of the document\n */\nshowdown.subParser('metadata', function (text, options, globals) {\n 'use strict';\n\n if (!options.metadata) {\n return text;\n }\n\n text = globals.converter._dispatch('metadata.before', text, options, globals);\n\n function parseMetadataContents (content) {\n // raw is raw so it's not changed in any way\n globals.metadata.raw = content;\n\n // escape chars forbidden in html attributes\n // double quotes\n content = content\n // ampersand first\n .replace(/&/g, '&')\n // double quotes\n .replace(/\"/g, '"');\n\n content = content.replace(/\\n {4}/g, ' ');\n content.replace(/^([\\S ]+): +([\\s\\S]+?)$/gm, function (wm, key, value) {\n globals.metadata.parsed[key] = value;\n return '';\n });\n }\n\n text = text.replace(/^\\s*«««+(\\S*?)\\n([\\s\\S]+?)\\n»»»+\\n/, function (wholematch, format, content) {\n parseMetadataContents(content);\n return '¨M';\n });\n\n text = text.replace(/^\\s*---+(\\S*?)\\n([\\s\\S]+?)\\n---+\\n/, function (wholematch, format, content) {\n if (format) {\n globals.metadata.format = format;\n }\n parseMetadataContents(content);\n return '¨M';\n });\n\n text = text.replace(/¨M/g, '');\n\n text = globals.converter._dispatch('metadata.after', text, options, globals);\n return text;\n});\n\r\n/**\n * Remove one level of line-leading tabs or spaces\n */\nshowdown.subParser('outdent', function (text, options, globals) {\n 'use strict';\n text = globals.converter._dispatch('outdent.before', text, options, globals);\n\n // attacklab: hack around Konqueror 3.5.4 bug:\n // \"----------bug\".replace(/^-/g,\"\") == \"bug\"\n text = text.replace(/^(\\t|[ ]{1,4})/gm, '¨0'); // attacklab: g_tab_width\n\n // attacklab: clean up hack\n text = text.replace(/¨0/g, '');\n\n text = globals.converter._dispatch('outdent.after', text, options, globals);\n return text;\n});\n\r\n/**\n *\n */\nshowdown.subParser('paragraphs', function (text, options, globals) {\n 'use strict';\n\n text = globals.converter._dispatch('paragraphs.before', text, options, globals);\n // Strip leading and trailing lines:\n text = text.replace(/^\\n+/g, '');\n text = text.replace(/\\n+$/g, '');\n\n var grafs = text.split(/\\n{2,}/g),\n grafsOut = [],\n end = grafs.length; // Wrap <p> tags\n\n for (var i = 0; i < end; i++) {\n var str = grafs[i];\n // if this is an HTML marker, copy it\n if (str.search(/¨(K|G)(\\d+)\\1/g) >= 0) {\n grafsOut.push(str);\n\n // test for presence of characters to prevent empty lines being parsed\n // as paragraphs (resulting in undesired extra empty paragraphs)\n } else if (str.search(/\\S/) >= 0) {\n str = showdown.subParser('spanGamut')(str, options, globals);\n str = str.replace(/^([ \\t]*)/g, '<p>');\n str += '</p>';\n grafsOut.push(str);\n }\n }\n\n /** Unhashify HTML blocks */\n end = grafsOut.length;\n for (i = 0; i < end; i++) {\n var blockText = '',\n grafsOutIt = grafsOut[i],\n codeFlag = false;\n // if this is a marker for an html block...\n // use RegExp.test instead of string.search because of QML bug\n while (/¨(K|G)(\\d+)\\1/.test(grafsOutIt)) {\n var delim = RegExp.$1,\n num = RegExp.$2;\n\n if (delim === 'K') {\n blockText = globals.gHtmlBlocks[num];\n } else {\n // we need to check if ghBlock is a false positive\n if (codeFlag) {\n // use encoded version of all text\n blockText = showdown.subParser('encodeCode')(globals.ghCodeBlocks[num].text, options, globals);\n } else {\n blockText = globals.ghCodeBlocks[num].codeblock;\n }\n }\n blockText = blockText.replace(/\\$/g, '$$$$'); // Escape any dollar signs\n\n grafsOutIt = grafsOutIt.replace(/(\\n\\n)?¨(K|G)\\d+\\2(\\n\\n)?/, blockText);\n // Check if grafsOutIt is a pre->code\n if (/^<pre\\b[^>]*>\\s*<code\\b[^>]*>/.test(grafsOutIt)) {\n codeFlag = true;\n }\n }\n grafsOut[i] = grafsOutIt;\n }\n text = grafsOut.join('\\n');\n // Strip leading and trailing lines:\n text = text.replace(/^\\n+/g, '');\n text = text.replace(/\\n+$/g, '');\n return globals.converter._dispatch('paragraphs.after', text, options, globals);\n});\n\r\n/**\n * Run extension\n */\nshowdown.subParser('runExtension', function (ext, text, options, globals) {\n 'use strict';\n\n if (ext.filter) {\n text = ext.filter(text, globals.converter, options);\n\n } else if (ext.regex) {\n // TODO remove this when old extension loading mechanism is deprecated\n var re = ext.regex;\n if (!(re instanceof RegExp)) {\n re = new RegExp(re, 'g');\n }\n text = text.replace(re, ext.replace);\n }\n\n return text;\n});\n\r\n/**\n * These are all the transformations that occur *within* block-level\n * tags like paragraphs, headers, and list items.\n */\nshowdown.subParser('spanGamut', function (text, options, globals) {\n 'use strict';\n\n text = globals.converter._dispatch('spanGamut.before', text, options, globals);\n text = showdown.subParser('codeSpans')(text, options, globals);\n text = showdown.subParser('escapeSpecialCharsWithinTagAttributes')(text, options, globals);\n text = showdown.subParser('encodeBackslashEscapes')(text, options, globals);\n\n // Process anchor and image tags. Images must come first,\n // because ![foo][f] looks like an anchor.\n text = showdown.subParser('images')(text, options, globals);\n text = showdown.subParser('anchors')(text, options, globals);\n\n // Make links out of things like `<http://example.com/>`\n // Must come after anchors, because you can use < and >\n // delimiters in inline links like [this](<url>).\n text = showdown.subParser('autoLinks')(text, options, globals);\n text = showdown.subParser('simplifiedAutoLinks')(text, options, globals);\n text = showdown.subParser('emoji')(text, options, globals);\n text = showdown.subParser('underline')(text, options, globals);\n text = showdown.subParser('italicsAndBold')(text, options, globals);\n text = showdown.subParser('strikethrough')(text, options, globals);\n text = showdown.subParser('ellipsis')(text, options, globals);\n\n // we need to hash HTML tags inside spans\n text = showdown.subParser('hashHTMLSpans')(text, options, globals);\n\n // now we encode amps and angles\n text = showdown.subParser('encodeAmpsAndAngles')(text, options, globals);\n\n // Do hard breaks\n if (options.simpleLineBreaks) {\n // GFM style hard breaks\n // only add line breaks if the text does not contain a block (special case for lists)\n if (!/\\n\\n¨K/.test(text)) {\n text = text.replace(/\\n+/g, '<br />\\n');\n }\n } else {\n // Vanilla hard breaks\n text = text.replace(/ +\\n/g, '<br />\\n');\n }\n\n text = globals.converter._dispatch('spanGamut.after', text, options, globals);\n return text;\n});\n\r\nshowdown.subParser('strikethrough', function (text, options, globals) {\n 'use strict';\n\n function parseInside (txt) {\n if (options.simplifiedAutoLink) {\n txt = showdown.subParser('simplifiedAutoLinks')(txt, options, globals);\n }\n return '<del>' + txt + '</del>';\n }\n\n if (options.strikethrough) {\n text = globals.converter._dispatch('strikethrough.before', text, options, globals);\n text = text.replace(/(?:~){2}([\\s\\S]+?)(?:~){2}/g, function (wm, txt) { return parseInside(txt); });\n text = globals.converter._dispatch('strikethrough.after', text, options, globals);\n }\n\n return text;\n});\n\r\n/**\n * Strips link definitions from text, stores the URLs and titles in\n * hash references.\n * Link defs are in the form: ^[id]: url \"optional title\"\n */\nshowdown.subParser('stripLinkDefinitions', function (text, options, globals) {\n 'use strict';\n\n var regex = /^ {0,3}\\[(.+)]:[ \\t]*\\n?[ \\t]*<?([^>\\s]+)>?(?: =([*\\d]+[A-Za-z%]{0,4})x([*\\d]+[A-Za-z%]{0,4}))?[ \\t]*\\n?[ \\t]*(?:(\\n*)[\"|'(](.+?)[\"|')][ \\t]*)?(?:\\n+|(?=¨0))/gm,\n base64Regex = /^ {0,3}\\[(.+)]:[ \\t]*\\n?[ \\t]*<?(data:.+?\\/.+?;base64,[A-Za-z0-9+/=\\n]+?)>?(?: =([*\\d]+[A-Za-z%]{0,4})x([*\\d]+[A-Za-z%]{0,4}))?[ \\t]*\\n?[ \\t]*(?:(\\n*)[\"|'(](.+?)[\"|')][ \\t]*)?(?:\\n\\n|(?=¨0)|(?=\\n\\[))/gm;\n\n // attacklab: sentinel workarounds for lack of \\A and \\Z, safari\\khtml bug\n text += '¨0';\n\n var replaceFunc = function (wholeMatch, linkId, url, width, height, blankLines, title) {\n linkId = linkId.toLowerCase();\n if (url.match(/^data:.+?\\/.+?;base64,/)) {\n // remove newlines\n globals.gUrls[linkId] = url.replace(/\\s/g, '');\n } else {\n globals.gUrls[linkId] = showdown.subParser('encodeAmpsAndAngles')(url, options, globals); // Link IDs are case-insensitive\n }\n\n if (blankLines) {\n // Oops, found blank lines, so it's not a title.\n // Put back the parenthetical statement we stole.\n return blankLines + title;\n\n } else {\n if (title) {\n globals.gTitles[linkId] = title.replace(/\"|'/g, '"');\n }\n if (options.parseImgDimensions && width && height) {\n globals.gDimensions[linkId] = {\n width: width,\n height: height\n };\n }\n }\n // Completely remove the definition from the text\n return '';\n };\n\n // first we try to find base64 link references\n text = text.replace(base64Regex, replaceFunc);\n\n text = text.replace(regex, replaceFunc);\n\n // attacklab: strip sentinel\n text = text.replace(/¨0/, '');\n\n return text;\n});\n\r\nshowdown.subParser('tables', function (text, options, globals) {\n 'use strict';\n\n if (!options.tables) {\n return text;\n }\n\n var tableRgx = /^ {0,3}\\|?.+\\|.+\\n {0,3}\\|?[ \\t]*:?[ \\t]*(?:[-=]){2,}[ \\t]*:?[ \\t]*\\|[ \\t]*:?[ \\t]*(?:[-=]){2,}[\\s\\S]+?(?:\\n\\n|¨0)/gm,\n //singeColTblRgx = /^ {0,3}\\|.+\\|\\n {0,3}\\|[ \\t]*:?[ \\t]*(?:[-=]){2,}[ \\t]*:?[ \\t]*\\|[ \\t]*\\n(?: {0,3}\\|.+\\|\\n)+(?:\\n\\n|¨0)/gm;\n singeColTblRgx = /^ {0,3}\\|.+\\|[ \\t]*\\n {0,3}\\|[ \\t]*:?[ \\t]*(?:[-=]){2,}[ \\t]*:?[ \\t]*\\|[ \\t]*\\n( {0,3}\\|.+\\|[ \\t]*\\n)*(?:\\n|¨0)/gm;\n\n function parseStyles (sLine) {\n if (/^:[ \\t]*--*$/.test(sLine)) {\n return ' style=\"text-align:left;\"';\n } else if (/^--*[ \\t]*:[ \\t]*$/.test(sLine)) {\n return ' style=\"text-align:right;\"';\n } else if (/^:[ \\t]*--*[ \\t]*:$/.test(sLine)) {\n return ' style=\"text-align:center;\"';\n } else {\n return '';\n }\n }\n\n function parseHeaders (header, style) {\n var id = '';\n header = header.trim();\n // support both tablesHeaderId and tableHeaderId due to error in documentation so we don't break backwards compatibility\n if (options.tablesHeaderId || options.tableHeaderId) {\n id = ' id=\"' + header.replace(/ /g, '_').toLowerCase() + '\"';\n }\n header = showdown.subParser('spanGamut')(header, options, globals);\n\n return '<th' + id + style + '>' + header + '</th>\\n';\n }\n\n function parseCells (cell, style) {\n var subText = showdown.subParser('spanGamut')(cell, options, globals);\n return '<td' + style + '>' + subText + '</td>\\n';\n }\n\n function buildTable (headers, cells) {\n var tb = '<table>\\n<thead>\\n<tr>\\n',\n tblLgn = headers.length;\n\n for (var i = 0; i < tblLgn; ++i) {\n tb += headers[i];\n }\n tb += '</tr>\\n</thead>\\n<tbody>\\n';\n\n for (i = 0; i < cells.length; ++i) {\n tb += '<tr>\\n';\n for (var ii = 0; ii < tblLgn; ++ii) {\n tb += cells[i][ii];\n }\n tb += '</tr>\\n';\n }\n tb += '</tbody>\\n</table>\\n';\n return tb;\n }\n\n function parseTable (rawTable) {\n var i, tableLines = rawTable.split('\\n');\n\n for (i = 0; i < tableLines.length; ++i) {\n // strip wrong first and last column if wrapped tables are used\n if (/^ {0,3}\\|/.test(tableLines[i])) {\n tableLines[i] = tableLines[i].replace(/^ {0,3}\\|/, '');\n }\n if (/\\|[ \\t]*$/.test(tableLines[i])) {\n tableLines[i] = tableLines[i].replace(/\\|[ \\t]*$/, '');\n }\n // parse code spans first, but we only support one line code spans\n tableLines[i] = showdown.subParser('codeSpans')(tableLines[i], options, globals);\n }\n\n var rawHeaders = tableLines[0].split('|').map(function (s) { return s.trim();}),\n rawStyles = tableLines[1].split('|').map(function (s) { return s.trim();}),\n rawCells = [],\n headers = [],\n styles = [],\n cells = [];\n\n tableLines.shift();\n tableLines.shift();\n\n for (i = 0; i < tableLines.length; ++i) {\n if (tableLines[i].trim() === '') {\n continue;\n }\n rawCells.push(\n tableLines[i]\n .split('|')\n .map(function (s) {\n return s.trim();\n })\n );\n }\n\n if (rawHeaders.length < rawStyles.length) {\n return rawTable;\n }\n\n for (i = 0; i < rawStyles.length; ++i) {\n styles.push(parseStyles(rawStyles[i]));\n }\n\n for (i = 0; i < rawHeaders.length; ++i) {\n if (showdown.helper.isUndefined(styles[i])) {\n styles[i] = '';\n }\n headers.push(parseHeaders(rawHeaders[i], styles[i]));\n }\n\n for (i = 0; i < rawCells.length; ++i) {\n var row = [];\n for (var ii = 0; ii < headers.length; ++ii) {\n if (showdown.helper.isUndefined(rawCells[i][ii])) {\n\n }\n row.push(parseCells(rawCells[i][ii], styles[ii]));\n }\n cells.push(row);\n }\n\n return buildTable(headers, cells);\n }\n\n text = globals.converter._dispatch('tables.before', text, options, globals);\n\n // find escaped pipe characters\n text = text.replace(/\\\\(\\|)/g, showdown.helper.escapeCharactersCallback);\n\n // parse multi column tables\n text = text.replace(tableRgx, parseTable);\n\n // parse one column tables\n text = text.replace(singeColTblRgx, parseTable);\n\n text = globals.converter._dispatch('tables.after', text, options, globals);\n\n return text;\n});\n\r\nshowdown.subParser('underline', function (text, options, globals) {\n 'use strict';\n\n if (!options.underline) {\n return text;\n }\n\n text = globals.converter._dispatch('underline.before', text, options, globals);\n\n if (options.literalMidWordUnderscores) {\n text = text.replace(/\\b___(\\S[\\s\\S]*?)___\\b/g, function (wm, txt) {\n return '<u>' + txt + '</u>';\n });\n text = text.replace(/\\b__(\\S[\\s\\S]*?)__\\b/g, function (wm, txt) {\n return '<u>' + txt + '</u>';\n });\n } else {\n text = text.replace(/___(\\S[\\s\\S]*?)___/g, function (wm, m) {\n return (/\\S$/.test(m)) ? '<u>' + m + '</u>' : wm;\n });\n text = text.replace(/__(\\S[\\s\\S]*?)__/g, function (wm, m) {\n return (/\\S$/.test(m)) ? '<u>' + m + '</u>' : wm;\n });\n }\n\n // escape remaining underscores to prevent them being parsed by italic and bold\n text = text.replace(/(_)/g, showdown.helper.escapeCharactersCallback);\n\n text = globals.converter._dispatch('underline.after', text, options, globals);\n\n return text;\n});\n\r\n/**\n * Swap back in all the special characters we've hidden.\n */\nshowdown.subParser('unescapeSpecialChars', function (text, options, globals) {\n 'use strict';\n text = globals.converter._dispatch('unescapeSpecialChars.before', text, options, globals);\n\n text = text.replace(/¨E(\\d+)E/g, function (wholeMatch, m1) {\n var charCodeToReplace = parseInt(m1);\n return String.fromCharCode(charCodeToReplace);\n });\n\n text = globals.converter._dispatch('unescapeSpecialChars.after', text, options, globals);\n return text;\n});\n\r\nshowdown.subParser('makeMarkdown.blockquote', function (node, globals) {\n 'use strict';\n\n var txt = '';\n if (node.hasChildNodes()) {\n var children = node.childNodes,\n childrenLength = children.length;\n\n for (var i = 0; i < childrenLength; ++i) {\n var innerTxt = showdown.subParser('makeMarkdown.node')(children[i], globals);\n\n if (innerTxt === '') {\n continue;\n }\n txt += innerTxt;\n }\n }\n // cleanup\n txt = txt.trim();\n txt = '> ' + txt.split('\\n').join('\\n> ');\n return txt;\n});\n\r\nshowdown.subParser('makeMarkdown.codeBlock', function (node, globals) {\n 'use strict';\n\n var lang = node.getAttribute('language'),\n num = node.getAttribute('precodenum');\n return '```' + lang + '\\n' + globals.preList[num] + '\\n```';\n});\n\r\nshowdown.subParser('makeMarkdown.codeSpan', function (node) {\n 'use strict';\n\n return '`' + node.innerHTML + '`';\n});\n\r\nshowdown.subParser('makeMarkdown.emphasis', function (node, globals) {\n 'use strict';\n\n var txt = '';\n if (node.hasChildNodes()) {\n txt += '*';\n var children = node.childNodes,\n childrenLength = children.length;\n for (var i = 0; i < childrenLength; ++i) {\n txt += showdown.subParser('makeMarkdown.node')(children[i], globals);\n }\n txt += '*';\n }\n return txt;\n});\n\r\nshowdown.subParser('makeMarkdown.header', function (node, globals, headerLevel) {\n 'use strict';\n\n var headerMark = new Array(headerLevel + 1).join('#'),\n txt = '';\n\n if (node.hasChildNodes()) {\n txt = headerMark + ' ';\n var children = node.childNodes,\n childrenLength = children.length;\n\n for (var i = 0; i < childrenLength; ++i) {\n txt += showdown.subParser('makeMarkdown.node')(children[i], globals);\n }\n }\n return txt;\n});\n\r\nshowdown.subParser('makeMarkdown.hr', function () {\n 'use strict';\n\n return '---';\n});\n\r\nshowdown.subParser('makeMarkdown.image', function (node) {\n 'use strict';\n\n var txt = '';\n if (node.hasAttribute('src')) {\n txt += '![' + node.getAttribute('alt') + '](';\n txt += '<' + node.getAttribute('src') + '>';\n if (node.hasAttribute('width') && node.hasAttribute('height')) {\n txt += ' =' + node.getAttribute('width') + 'x' + node.getAttribute('height');\n }\n\n if (node.hasAttribute('title')) {\n txt += ' \"' + node.getAttribute('title') + '\"';\n }\n txt += ')';\n }\n return txt;\n});\n\r\nshowdown.subParser('makeMarkdown.links', function (node, globals) {\n 'use strict';\n\n var txt = '';\n if (node.hasChildNodes() && node.hasAttribute('href')) {\n var children = node.childNodes,\n childrenLength = children.length;\n txt = '[';\n for (var i = 0; i < childrenLength; ++i) {\n txt += showdown.subParser('makeMarkdown.node')(children[i], globals);\n }\n txt += '](';\n txt += '<' + node.getAttribute('href') + '>';\n if (node.hasAttribute('title')) {\n txt += ' \"' + node.getAttribute('title') + '\"';\n }\n txt += ')';\n }\n return txt;\n});\n\r\nshowdown.subParser('makeMarkdown.list', function (node, globals, type) {\n 'use strict';\n\n var txt = '';\n if (!node.hasChildNodes()) {\n return '';\n }\n var listItems = node.childNodes,\n listItemsLenght = listItems.length,\n listNum = node.getAttribute('start') || 1;\n\n for (var i = 0; i < listItemsLenght; ++i) {\n if (typeof listItems[i].tagName === 'undefined' || listItems[i].tagName.toLowerCase() !== 'li') {\n continue;\n }\n\n // define the bullet to use in list\n var bullet = '';\n if (type === 'ol') {\n bullet = listNum.toString() + '. ';\n } else {\n bullet = '- ';\n }\n\n // parse list item\n txt += bullet + showdown.subParser('makeMarkdown.listItem')(listItems[i], globals);\n ++listNum;\n }\n\n // add comment at the end to prevent consecutive lists to be parsed as one\n txt += '\\n<!-- -->\\n';\n return txt.trim();\n});\n\r\nshowdown.subParser('makeMarkdown.listItem', function (node, globals) {\n 'use strict';\n\n var listItemTxt = '';\n\n var children = node.childNodes,\n childrenLenght = children.length;\n\n for (var i = 0; i < childrenLenght; ++i) {\n listItemTxt += showdown.subParser('makeMarkdown.node')(children[i], globals);\n }\n // if it's only one liner, we need to add a newline at the end\n if (!/\\n$/.test(listItemTxt)) {\n listItemTxt += '\\n';\n } else {\n // it's multiparagraph, so we need to indent\n listItemTxt = listItemTxt\n .split('\\n')\n .join('\\n ')\n .replace(/^ {4}$/gm, '')\n .replace(/\\n\\n+/g, '\\n\\n');\n }\n\n return listItemTxt;\n});\n\r\n\n\nshowdown.subParser('makeMarkdown.node', function (node, globals, spansOnly) {\n 'use strict';\n\n spansOnly = spansOnly || false;\n\n var txt = '';\n\n // edge case of text without wrapper paragraph\n if (node.nodeType === 3) {\n return showdown.subParser('makeMarkdown.txt')(node, globals);\n }\n\n // HTML comment\n if (node.nodeType === 8) {\n return '<!--' + node.data + '-->\\n\\n';\n }\n\n // process only node elements\n if (node.nodeType !== 1) {\n return '';\n }\n\n var tagName = node.tagName.toLowerCase();\n\n switch (tagName) {\n\n //\n // BLOCKS\n //\n case 'h1':\n if (!spansOnly) { txt = showdown.subParser('makeMarkdown.header')(node, globals, 1) + '\\n\\n'; }\n break;\n case 'h2':\n if (!spansOnly) { txt = showdown.subParser('makeMarkdown.header')(node, globals, 2) + '\\n\\n'; }\n break;\n case 'h3':\n if (!spansOnly) { txt = showdown.subParser('makeMarkdown.header')(node, globals, 3) + '\\n\\n'; }\n break;\n case 'h4':\n if (!spansOnly) { txt = showdown.subParser('makeMarkdown.header')(node, globals, 4) + '\\n\\n'; }\n break;\n case 'h5':\n if (!spansOnly) { txt = showdown.subParser('makeMarkdown.header')(node, globals, 5) + '\\n\\n'; }\n break;\n case 'h6':\n if (!spansOnly) { txt = showdown.subParser('makeMarkdown.header')(node, globals, 6) + '\\n\\n'; }\n break;\n\n case 'p':\n if (!spansOnly) { txt = showdown.subParser('makeMarkdown.paragraph')(node, globals) + '\\n\\n'; }\n break;\n\n case 'blockquote':\n if (!spansOnly) { txt = showdown.subParser('makeMarkdown.blockquote')(node, globals) + '\\n\\n'; }\n break;\n\n case 'hr':\n if (!spansOnly) { txt = showdown.subParser('makeMarkdown.hr')(node, globals) + '\\n\\n'; }\n break;\n\n case 'ol':\n if (!spansOnly) { txt = showdown.subParser('makeMarkdown.list')(node, globals, 'ol') + '\\n\\n'; }\n break;\n\n case 'ul':\n if (!spansOnly) { txt = showdown.subParser('makeMarkdown.list')(node, globals, 'ul') + '\\n\\n'; }\n break;\n\n case 'precode':\n if (!spansOnly) { txt = showdown.subParser('makeMarkdown.codeBlock')(node, globals) + '\\n\\n'; }\n break;\n\n case 'pre':\n if (!spansOnly) { txt = showdown.subParser('makeMarkdown.pre')(node, globals) + '\\n\\n'; }\n break;\n\n case 'table':\n if (!spansOnly) { txt = showdown.subParser('makeMarkdown.table')(node, globals) + '\\n\\n'; }\n break;\n\n //\n // SPANS\n //\n case 'code':\n txt = showdown.subParser('makeMarkdown.codeSpan')(node, globals);\n break;\n\n case 'em':\n case 'i':\n txt = showdown.subParser('makeMarkdown.emphasis')(node, globals);\n break;\n\n case 'strong':\n case 'b':\n txt = showdown.subParser('makeMarkdown.strong')(node, globals);\n break;\n\n case 'del':\n txt = showdown.subParser('makeMarkdown.strikethrough')(node, globals);\n break;\n\n case 'a':\n txt = showdown.subParser('makeMarkdown.links')(node, globals);\n break;\n\n case 'img':\n txt = showdown.subParser('makeMarkdown.image')(node, globals);\n break;\n\n default:\n txt = node.outerHTML + '\\n\\n';\n }\n\n // common normalization\n // TODO eventually\n\n return txt;\n});\n\r\nshowdown.subParser('makeMarkdown.paragraph', function (node, globals) {\n 'use strict';\n\n var txt = '';\n if (node.hasChildNodes()) {\n var children = node.childNodes,\n childrenLength = children.length;\n for (var i = 0; i < childrenLength; ++i) {\n txt += showdown.subParser('makeMarkdown.node')(children[i], globals);\n }\n }\n\n // some text normalization\n txt = txt.trim();\n\n return txt;\n});\n\r\nshowdown.subParser('makeMarkdown.pre', function (node, globals) {\n 'use strict';\n\n var num = node.getAttribute('prenum');\n return '<pre>' + globals.preList[num] + '</pre>';\n});\n\r\nshowdown.subParser('makeMarkdown.strikethrough', function (node, globals) {\n 'use strict';\n\n var txt = '';\n if (node.hasChildNodes()) {\n txt += '~~';\n var children = node.childNodes,\n childrenLength = children.length;\n for (var i = 0; i < childrenLength; ++i) {\n txt += showdown.subParser('makeMarkdown.node')(children[i], globals);\n }\n txt += '~~';\n }\n return txt;\n});\n\r\nshowdown.subParser('makeMarkdown.strong', function (node, globals) {\n 'use strict';\n\n var txt = '';\n if (node.hasChildNodes()) {\n txt += '**';\n var children = node.childNodes,\n childrenLength = children.length;\n for (var i = 0; i < childrenLength; ++i) {\n txt += showdown.subParser('makeMarkdown.node')(children[i], globals);\n }\n txt += '**';\n }\n return txt;\n});\n\r\nshowdown.subParser('makeMarkdown.table', function (node, globals) {\n 'use strict';\n\n var txt = '',\n tableArray = [[], []],\n headings = node.querySelectorAll('thead>tr>th'),\n rows = node.querySelectorAll('tbody>tr'),\n i, ii;\n for (i = 0; i < headings.length; ++i) {\n var headContent = showdown.subParser('makeMarkdown.tableCell')(headings[i], globals),\n allign = '---';\n\n if (headings[i].hasAttribute('style')) {\n var style = headings[i].getAttribute('style').toLowerCase().replace(/\\s/g, '');\n switch (style) {\n case 'text-align:left;':\n allign = ':---';\n break;\n case 'text-align:right;':\n allign = '---:';\n break;\n case 'text-align:center;':\n allign = ':---:';\n break;\n }\n }\n tableArray[0][i] = headContent.trim();\n tableArray[1][i] = allign;\n }\n\n for (i = 0; i < rows.length; ++i) {\n var r = tableArray.push([]) - 1,\n cols = rows[i].getElementsByTagName('td');\n\n for (ii = 0; ii < headings.length; ++ii) {\n var cellContent = ' ';\n if (typeof cols[ii] !== 'undefined') {\n cellContent = showdown.subParser('makeMarkdown.tableCell')(cols[ii], globals);\n }\n tableArray[r].push(cellContent);\n }\n }\n\n var cellSpacesCount = 3;\n for (i = 0; i < tableArray.length; ++i) {\n for (ii = 0; ii < tableArray[i].length; ++ii) {\n var strLen = tableArray[i][ii].length;\n if (strLen > cellSpacesCount) {\n cellSpacesCount = strLen;\n }\n }\n }\n\n for (i = 0; i < tableArray.length; ++i) {\n for (ii = 0; ii < tableArray[i].length; ++ii) {\n if (i === 1) {\n if (tableArray[i][ii].slice(-1) === ':') {\n tableArray[i][ii] = showdown.helper.padEnd(tableArray[i][ii].slice(-1), cellSpacesCount - 1, '-') + ':';\n } else {\n tableArray[i][ii] = showdown.helper.padEnd(tableArray[i][ii], cellSpacesCount, '-');\n }\n } else {\n tableArray[i][ii] = showdown.helper.padEnd(tableArray[i][ii], cellSpacesCount);\n }\n }\n txt += '| ' + tableArray[i].join(' | ') + ' |\\n';\n }\n\n return txt.trim();\n});\n\r\nshowdown.subParser('makeMarkdown.tableCell', function (node, globals) {\n 'use strict';\n\n var txt = '';\n if (!node.hasChildNodes()) {\n return '';\n }\n var children = node.childNodes,\n childrenLength = children.length;\n\n for (var i = 0; i < childrenLength; ++i) {\n txt += showdown.subParser('makeMarkdown.node')(children[i], globals, true);\n }\n return txt.trim();\n});\n\r\nshowdown.subParser('makeMarkdown.txt', function (node) {\n 'use strict';\n\n var txt = node.nodeValue;\n\n // multiple spaces are collapsed\n txt = txt.replace(/ +/g, ' ');\n\n // replace the custom ¨NBSP; with a space\n txt = txt.replace(/¨NBSP;/g, ' ');\n\n // \", <, > and & should replace escaped html entities\n txt = showdown.helper.unescapeHTMLEntities(txt);\n\n // escape markdown magic characters\n // emphasis, strong and strikethrough - can appear everywhere\n // we also escape pipe (|) because of tables\n // and escape ` because of code blocks and spans\n txt = txt.replace(/([*_~|`])/g, '\\\\$1');\n\n // escape > because of blockquotes\n txt = txt.replace(/^(\\s*)>/g, '\\\\$1>');\n\n // hash character, only troublesome at the beginning of a line because of headers\n txt = txt.replace(/^#/gm, '\\\\#');\n\n // horizontal rules\n txt = txt.replace(/^(\\s*)([-=]{3,})(\\s*)$/, '$1\\\\$2$3');\n\n // dot, because of ordered lists, only troublesome at the beginning of a line when preceded by an integer\n txt = txt.replace(/^( {0,3}\\d+)\\./gm, '$1\\\\.');\n\n // +, * and -, at the beginning of a line becomes a list, so we need to escape them also (asterisk was already escaped)\n txt = txt.replace(/^( {0,3})([+-])/gm, '$1\\\\$2');\n\n // images and links, ] followed by ( is problematic, so we escape it\n txt = txt.replace(/]([\\s]*)\\(/g, '\\\\]$1\\\\(');\n\n // reference URIs must also be escaped\n txt = txt.replace(/^ {0,3}\\[([\\S \\t]*?)]:/gm, '\\\\[$1]:');\n\n return txt;\n});\n\r\nvar root = this;\n\n// AMD Loader\nif (typeof define === 'function' && define.amd) {\n define(function () {\n 'use strict';\n return showdown;\n });\n\n// CommonJS/nodeJS Loader\n} else if (typeof module !== 'undefined' && module.exports) {\n module.exports = showdown;\n\n// Regular Browser loader\n} else {\n root.showdown = showdown;\n}\n}).call(this);\r\n\n//# sourceMappingURL=showdown.js.map\r\n\n\n\n// WEBPACK FOOTER //\n// ../node_modules/showdown/dist/showdown.js","import { Component, cloneElement, h } from 'preact';\n\nvar EMPTY$1 = {};\n\nfunction assign(obj, props) {\n\t// eslint-disable-next-line guard-for-in\n\tfor (var i in props) {\n\t\tobj[i] = props[i];\n\t}\n\treturn obj;\n}\n\nfunction exec(url, route, opts) {\n\tvar reg = /(?:\\?([^#]*))?(#.*)?$/,\n\t\tc = url.match(reg),\n\t\tmatches = {},\n\t\tret;\n\tif (c && c[1]) {\n\t\tvar p = c[1].split('&');\n\t\tfor (var i=0; i<p.length; i++) {\n\t\t\tvar r = p[i].split('=');\n\t\t\tmatches[decodeURIComponent(r[0])] = decodeURIComponent(r.slice(1).join('='));\n\t\t}\n\t}\n\turl = segmentize(url.replace(reg, ''));\n\troute = segmentize(route || '');\n\tvar max = Math.max(url.length, route.length);\n\tfor (var i$1=0; i$1<max; i$1++) {\n\t\tif (route[i$1] && route[i$1].charAt(0)===':') {\n\t\t\tvar param = route[i$1].replace(/(^\\:|[+*?]+$)/g, ''),\n\t\t\t\tflags = (route[i$1].match(/[+*?]+$/) || EMPTY$1)[0] || '',\n\t\t\t\tplus = ~flags.indexOf('+'),\n\t\t\t\tstar = ~flags.indexOf('*'),\n\t\t\t\tval = url[i$1] || '';\n\t\t\tif (!val && !star && (flags.indexOf('?')<0 || plus)) {\n\t\t\t\tret = false;\n\t\t\t\tbreak;\n\t\t\t}\n\t\t\tmatches[param] = decodeURIComponent(val);\n\t\t\tif (plus || star) {\n\t\t\t\tmatches[param] = url.slice(i$1).map(decodeURIComponent).join('/');\n\t\t\t\tbreak;\n\t\t\t}\n\t\t}\n\t\telse if (route[i$1]!==url[i$1]) {\n\t\t\tret = false;\n\t\t\tbreak;\n\t\t}\n\t}\n\tif (opts.default!==true && ret===false) { return false; }\n\treturn matches;\n}\n\nfunction pathRankSort(a, b) {\n\treturn (\n\t\t(a.rank < b.rank) ? 1 :\n\t\t(a.rank > b.rank) ? -1 :\n\t\t(a.index - b.index)\n\t);\n}\n\n// filter out VNodes without attributes (which are unrankeable), and add `index`/`rank` properties to be used in sorting.\nfunction prepareVNodeForRanking(vnode, index) {\n\tvnode.index = index;\n\tvnode.rank = rankChild(vnode);\n\treturn vnode.attributes;\n}\n\nfunction segmentize(url) {\n\treturn url.replace(/(^\\/+|\\/+$)/g, '').split('/');\n}\n\nfunction rankSegment(segment) {\n\treturn segment.charAt(0)==':' ? (1 + '*+?'.indexOf(segment.charAt(segment.length-1))) || 4 : 5;\n}\n\nfunction rank(path) {\n\treturn segmentize(path).map(rankSegment).join('');\n}\n\nfunction rankChild(vnode) {\n\treturn vnode.attributes.default ? 0 : rank(vnode.attributes.path);\n}\n\nvar customHistory = null;\n\nvar ROUTERS = [];\n\nvar subscribers = [];\n\nvar EMPTY = {};\n\nfunction isPreactElement(node) {\n\treturn node.__preactattr_!=null || typeof Symbol!=='undefined' && node[Symbol.for('preactattr')]!=null;\n}\n\nfunction setUrl(url, type) {\n\tif ( type === void 0 ) type='push';\n\n\tif (customHistory && customHistory[type]) {\n\t\tcustomHistory[type](url);\n\t}\n\telse if (typeof history!=='undefined' && history[type+'State']) {\n\t\thistory[type+'State'](null, null, url);\n\t}\n}\n\n\nfunction getCurrentUrl() {\n\tvar url;\n\tif (customHistory && customHistory.location) {\n\t\turl = customHistory.location;\n\t}\n\telse if (customHistory && customHistory.getCurrentLocation) {\n\t\turl = customHistory.getCurrentLocation();\n\t}\n\telse {\n\t\turl = typeof location!=='undefined' ? location : EMPTY;\n\t}\n\treturn (\"\" + (url.pathname || '') + (url.search || ''));\n}\n\n\n\nfunction route(url, replace) {\n\tif ( replace === void 0 ) replace=false;\n\n\tif (typeof url!=='string' && url.url) {\n\t\treplace = url.replace;\n\t\turl = url.url;\n\t}\n\n\t// only push URL into history if we can handle it\n\tif (canRoute(url)) {\n\t\tsetUrl(url, replace ? 'replace' : 'push');\n\t}\n\n\treturn routeTo(url);\n}\n\n\n/** Check if the given URL can be handled by any router instances. */\nfunction canRoute(url) {\n\tfor (var i=ROUTERS.length; i--; ) {\n\t\tif (ROUTERS[i].canRoute(url)) { return true; }\n\t}\n\treturn false;\n}\n\n\n/** Tell all router instances to handle the given URL. */\nfunction routeTo(url) {\n\tvar didRoute = false;\n\tfor (var i=0; i<ROUTERS.length; i++) {\n\t\tif (ROUTERS[i].routeTo(url)===true) {\n\t\t\tdidRoute = true;\n\t\t}\n\t}\n\tfor (var i$1=subscribers.length; i$1--; ) {\n\t\tsubscribers[i$1](url);\n\t}\n\treturn didRoute;\n}\n\n\nfunction routeFromLink(node) {\n\t// only valid elements\n\tif (!node || !node.getAttribute) { return; }\n\n\tvar href = node.getAttribute('href'),\n\t\ttarget = node.getAttribute('target');\n\n\t// ignore links with targets and non-path URLs\n\tif (!href || !href.match(/^\\//g) || (target && !target.match(/^_?self$/i))) { return; }\n\n\t// attempt to route, if no match simply cede control to browser\n\treturn route(href);\n}\n\n\nfunction handleLinkClick(e) {\n\tif (e.button==0) {\n\t\trouteFromLink(e.currentTarget || e.target || this);\n\t\treturn prevent(e);\n\t}\n}\n\n\nfunction prevent(e) {\n\tif (e) {\n\t\tif (e.stopImmediatePropagation) { e.stopImmediatePropagation(); }\n\t\tif (e.stopPropagation) { e.stopPropagation(); }\n\t\te.preventDefault();\n\t}\n\treturn false;\n}\n\n\nfunction delegateLinkHandler(e) {\n\t// ignore events the browser takes care of already:\n\tif (e.ctrlKey || e.metaKey || e.altKey || e.shiftKey || e.button!==0) { return; }\n\n\tvar t = e.target;\n\tdo {\n\t\tif (String(t.nodeName).toUpperCase()==='A' && t.getAttribute('href') && isPreactElement(t)) {\n\t\t\tif (t.hasAttribute('native')) { return; }\n\t\t\t// if link is handled by the router, prevent browser defaults\n\t\t\tif (routeFromLink(t)) {\n\t\t\t\treturn prevent(e);\n\t\t\t}\n\t\t}\n\t} while ((t=t.parentNode));\n}\n\n\nvar eventListenersInitialized = false;\n\nfunction initEventListeners() {\n\tif (eventListenersInitialized) { return; }\n\n\tif (typeof addEventListener==='function') {\n\t\tif (!customHistory) {\n\t\t\taddEventListener('popstate', function () {\n\t\t\t\trouteTo(getCurrentUrl());\n\t\t\t});\n\t\t}\n\t\taddEventListener('click', delegateLinkHandler);\n\t}\n\teventListenersInitialized = true;\n}\n\n\nvar Router = (function (Component$$1) {\n\tfunction Router(props) {\n\t\tComponent$$1.call(this, props);\n\t\tif (props.history) {\n\t\t\tcustomHistory = props.history;\n\t\t}\n\n\t\tthis.state = {\n\t\t\turl: props.url || getCurrentUrl()\n\t\t};\n\n\t\tinitEventListeners();\n\t}\n\n\tif ( Component$$1 ) Router.__proto__ = Component$$1;\n\tRouter.prototype = Object.create( Component$$1 && Component$$1.prototype );\n\tRouter.prototype.constructor = Router;\n\n\tRouter.prototype.shouldComponentUpdate = function shouldComponentUpdate (props) {\n\t\tif (props.static!==true) { return true; }\n\t\treturn props.url!==this.props.url || props.onChange!==this.props.onChange;\n\t};\n\n\t/** Check if the given URL can be matched against any children */\n\tRouter.prototype.canRoute = function canRoute (url) {\n\t\treturn this.getMatchingChildren(this.props.children, url, false).length > 0;\n\t};\n\n\t/** Re-render children with a new URL to match against. */\n\tRouter.prototype.routeTo = function routeTo (url) {\n\t\tthis._didRoute = false;\n\t\tthis.setState({ url: url });\n\n\t\t// if we're in the middle of an update, don't synchronously re-route.\n\t\tif (this.updating) { return this.canRoute(url); }\n\n\t\tthis.forceUpdate();\n\t\treturn this._didRoute;\n\t};\n\n\tRouter.prototype.componentWillMount = function componentWillMount () {\n\t\tROUTERS.push(this);\n\t\tthis.updating = true;\n\t};\n\n\tRouter.prototype.componentDidMount = function componentDidMount () {\n\t\tvar this$1 = this;\n\n\t\tif (customHistory) {\n\t\t\tthis.unlisten = customHistory.listen(function (location) {\n\t\t\t\tthis$1.routeTo((\"\" + (location.pathname || '') + (location.search || '')));\n\t\t\t});\n\t\t}\n\t\tthis.updating = false;\n\t};\n\n\tRouter.prototype.componentWillUnmount = function componentWillUnmount () {\n\t\tif (typeof this.unlisten==='function') { this.unlisten(); }\n\t\tROUTERS.splice(ROUTERS.indexOf(this), 1);\n\t};\n\n\tRouter.prototype.componentWillUpdate = function componentWillUpdate () {\n\t\tthis.updating = true;\n\t};\n\n\tRouter.prototype.componentDidUpdate = function componentDidUpdate () {\n\t\tthis.updating = false;\n\t};\n\n\tRouter.prototype.getMatchingChildren = function getMatchingChildren (children, url, invoke) {\n\t\treturn children\n\t\t\t.filter(prepareVNodeForRanking)\n\t\t\t.sort(pathRankSort)\n\t\t\t.map( function (vnode) {\n\t\t\t\tvar matches = exec(url, vnode.attributes.path, vnode.attributes);\n\t\t\t\tif (matches) {\n\t\t\t\t\tif (invoke !== false) {\n\t\t\t\t\t\tvar newProps = { url: url, matches: matches };\n\t\t\t\t\t\tassign(newProps, matches);\n\t\t\t\t\t\tdelete newProps.ref;\n\t\t\t\t\t\tdelete newProps.key;\n\t\t\t\t\t\treturn cloneElement(vnode, newProps);\n\t\t\t\t\t}\n\t\t\t\t\treturn vnode;\n\t\t\t\t}\n\t\t\t}).filter(Boolean);\n\t};\n\n\tRouter.prototype.render = function render (ref, ref$1) {\n\t\tvar children = ref.children;\n\t\tvar onChange = ref.onChange;\n\t\tvar url = ref$1.url;\n\n\t\tvar active = this.getMatchingChildren(children, url, true);\n\n\t\tvar current = active[0] || null;\n\t\tthis._didRoute = !!current;\n\n\t\tvar previous = this.previousUrl;\n\t\tif (url!==previous) {\n\t\t\tthis.previousUrl = url;\n\t\t\tif (typeof onChange==='function') {\n\t\t\t\tonChange({\n\t\t\t\t\trouter: this,\n\t\t\t\t\turl: url,\n\t\t\t\t\tprevious: previous,\n\t\t\t\t\tactive: active,\n\t\t\t\t\tcurrent: current\n\t\t\t\t});\n\t\t\t}\n\t\t}\n\n\t\treturn current;\n\t};\n\n\treturn Router;\n}(Component));\n\nvar Link = function (props) { return (\n\th('a', assign({ onClick: handleLinkClick }, props))\n); };\n\nvar Route = function (props) { return h(props.component, props); };\n\nRouter.subscribers = subscribers;\nRouter.getCurrentUrl = getCurrentUrl;\nRouter.route = route;\nRouter.Router = Router;\nRouter.Route = Route;\nRouter.Link = Link;\n\nexport { subscribers, getCurrentUrl, route, Router, Route, Link };export default Router;\n//# sourceMappingURL=preact-router.es.js.map\n\n\n\n// WEBPACK FOOTER //\n// ../node_modules/preact-router/dist/preact-router.es.js","import style from \"./panel.css\";\nimport { Component } from 'preact';\n\nexport default class Panel extends Component {\n\trender() {\n\t\tlet title = null;\n\t\tif(this.props.title !== undefined) {\n\t\t\ttitle = (<h3>{this.props.title}</h3>)\n\t\t}\n\t\treturn (\n\t\t\t<div class={style.panel}>\n\t\t\t\t{title}\n\t\t\t\t{this.props.children}\n\t\t\t</div>\n\t\t);\n\t}\n}\n\n\n\n// WEBPACK FOOTER //\n// ./components/panel.js","import style from \"./split.css\";\nimport { Component } from 'preact';\n\nexport default class Split extends Component {\n\trender() {\n\t let title = null;\n\t if(this.props.title !== undefined) {\n title = (<h2>{this.props.title}</h2>)\n }\n\n let children;\n if(Array.isArray(this.props.children)) {\n children = this.props.children.map(element => {\n return (<div class={style.splitchild}>{element}</div>);\n });\n }\n else {\n children = <div class={style.splitchild}>{this.props.children}</div>;\n }\n\t\treturn (\n\t <div class={style.split}>\n {title}\n <div class={style.splitparent}>{children}</div>\n </div>\n );\n\t}\n}\n\n\n\n// WEBPACK FOOTER //\n// ./components/split.js","import style from \"./todo.css\";\nimport { Component } from 'preact';\n\nexport default class Todo extends Component {\n\trender() {\n\t\treturn <span class={style.todo}>{this.props.children}</span>;\n\t}\n}\n\n\n\n// WEBPACK FOOTER //\n// ./components/todo.js","import style from './home.css'\nimport { Component } from 'preact';\nimport Panel from '../components/panel';\nimport Split from '../components/split';\nimport Todo from '../components/todo';\n\nexport default class Home extends Component {\n render() {\n return (\n <div style={style.home}>\n <h1>Indice</h1>\n <Split title=\"Argomenti\">\n <Panel title={<a href=\"/fisica\">Fisica</a>}>\n <p>\n Appunti delle <a href=\"http://personale.unimore.it/rubrica/contenutiad/brunetti/2019/58025/N0/N0/9999\">lezioni di Fisica</a> del <a href=\"https://www.unimore.it/didattica/mlaurea.html?ID=54\">corso triennale di Informatica</a> all'<a href=\"https://www.unimore.it/\">Unimore</a>, tenute dalla <a href=\"https://personale.unimore.it/rubrica/dettaglio/brunetti\">Prof.ssa Rossella Brunetti</a> nel primo semestre dell'Anno Accademico 2019/2020.\n </p>\n <p>\n <Todo>Work in progress</Todo>\n </p>\n </Panel>\n <Panel title={<a href=\"https://github.com/Steffo99/appunti-universitari/tree/master/2019_SistemiOperativi/Arzigogoli\">Sistemi Operativi</a>}>\n <p>\n Soluzioni agli <a href=\"https://weblab.ing.unimore.it/people/andreolini/didattica/sistemi-operativi/index.html#arzigogoli\">Arzigogoli</a> proposti dal <a href=\"https://personale.unimore.it/rubrica/dettaglio/andreolini\">Prof. Mauro Andreolini</a> durante le <a href=\"https://personale.unimore.it/rubrica/contenutiad/andreolini/2019/58027/N0/N0/9999\">lezioni di Sistemi Operativi</a> del <a href=\"https://www.unimore.it/didattica/mlaurea.html?ID=54\">corso triennale di Informatica</a> all'<a href=\"https://www.unimore.it/\">Unimore</a> tenutesi nel primo semestre dell'Anno Accademico 2019/2020.\n </p>\n </Panel>\n <Panel title={<a href=\"https://github.com/Steffo99/appunti-universitari/tree/master/2018_AlgoritmiEStruttureDati\">Algoritmi e Strutture Dati</a>}>\n <p>\n Appunti delle <a href=\"https://personale.unimore.it/rubrica/contenutiad/mmontangero/2018/58133/N0/N0/9999\">lezioni di Algoritmi e Strutture Dati</a> del <a href=\"https://www.unimore.it/didattica/mlaurea.html?ID=54\">corso triennale di Informatica</a> all'<a href=\"https://www.unimore.it/\">Unimore</a>, tenute dalla <a href=\"https://personale.unimore.it/rubrica/dettaglio/mmontangero\">Prof.ssa Manuela Montangero</a> nel secondo semestre dell'Anno Accademico 2018/2019.\n </p>\n </Panel>\n <Panel title={<a href=\"/vldigeometria\">Videolezioni di Geometria</a>}>\n <p>\n Ottime videolezioni di Geometria con licenza <a href=\"https://creativecommons.org/licenses/by-nc-sa/4.0/\">CC BY-NC-SA 4.0</a> che ho trovato sul <a href=\"https://dolly.fim.unimore.it/2018/course/view.php?id=14#section-0\">portale Dolly 2018</a> dell'<a href=\"https://www.unimore.it/\">Unimore</a>.\n </p>\n </Panel>\n <Panel title={<a href=\"/mingwinstall\">Come installare MinGW</a>}>\n <p>\n Un breve tutorial con immagini su come installare e configurare <a href=\"https://it.wikipedia.org/wiki/MinGW\">MinGW</a> per compilare programmi C e C++ su Windows. \n </p>\n </Panel>\n </Split>\n <Split title=\"Altri collegamenti utili\">\n <Panel title={<a href=\"https://t.me/unimoreinfo\">@unimoreinfo</a>}>\n <p>\n Il gruppo <a href=\"https://telegram.org/\">Telegram</a> del corso di Informatica dell'Unimore! \n </p>\n </Panel>\n <Panel title={<a href=\"https://calendar.google.com/calendar?cid=MmYza2o2M3VuZWQ1cmZqaGpmOGY0MWFrNmdAZ3JvdXAuY2FsZW5kYXIuZ29vZ2xlLmNvbQ\">Calendario Lezioni</a>}>\n <p>\n Calendario Google <small>quasi</small> sempre aggiornato delle lezioni e degli esami del secondo anno dell'<a href=\"https://www.unimore.it/\">Unimore</a> durante l'Anno Accademico 2019/2020.\n </p>\n </Panel>\n <Panel title={<a href=\"http://erre2.fermitech.info/dashboard\">Erre2</a>}>\n <p>\n Portale contenente appunti e riassunti mantenuto da <a href=\"https://github.com/LBindustries\">Lorenzo Balugani</a>.\n </p>\n </Panel>\n <Panel title={<a href=\"https://github.com/vezzalinistefano/Appunti-Algoritmi\">vezzalinistefano/Appunti-Algoritmi</a>}>\n <p>\n Appunti di Algoritmi e Strutture Dati mantenuti da <a href=\"https://github.com/vezzalinistefano/\">Vezzalini Stefano</a>.\n </p>\n </Panel>\n </Split>\n </div>\n )\n }\n}\n\n\n\n// WEBPACK FOOTER //\n// ./pages/home.js","import style from './latex.css';\nimport { Component } from 'preact';\n\nexport default class Latex extends Component {\n\trender() {\n\t\tlet equation = `{\\\\color{White} ${this.props.children} }`;\n\t\treturn (\n\t\t\t<img src={`https://latex.codecogs.com/png.latex?${equation}`}\n\t\t\t\t alt={this.props.children}\n\t\t\t title={this.props.children}\n\t\t\t class={style.latex}\n\t\t\t/>);\n\t}\n}\n\n\n// WEBPACK FOOTER //\n// ./components/latex.js","import style from \"./plus.css\";\nimport { Component } from 'preact';\n\nexport default class Plus extends Component {\n\trender() {\n\t\treturn <span class={style.plus}>{this.props.children}</span>;\n\t}\n}\n\n\n\n// WEBPACK FOOTER //\n// ./components/plus.js","import style from \"./minus.css\";\nimport { Component } from 'preact';\n\nexport default class Minus extends Component {\n\trender() {\n\t\treturn <span class={style.minus}>{this.props.children}</span>;\n\t}\n}\n\n\n\n// WEBPACK FOOTER //\n// ./components/minus.js","import style from './fisica.css';\nimport { Component } from 'preact';\nimport Latex from '../components/latex';\nimport Panel from '../components/panel';\nimport Split from '../components/split';\nimport Plus from '../components/plus';\nimport Minus from '../components/minus';\nimport Todo from '../components/todo';\n\nconst r = String.raw;\n\nexport default class Fisica extends Component {\n\trender() {\n return (\n <div style={style.fisica}>\n <h1>Fisica</h1>\n <Split title=\"Vettori\">\n <Panel title=\"Componenti cartesiane\">\n <p>\n Usa le regole base della trigonometria:\n </p>\n <p>\n <Latex>{r`\\vec{v} = \\vec{v}_x + \\vec{v}_y`}</Latex>\n </p>\n <p>\n <Latex>{r`\\left | \\vec{v}_x \\right | = \\left | \\vec{v} \\right | \\sin \\alpha`}</Latex>\n </p>\n <p>\n <Latex>{r`\\left | \\vec{v}_y \\right | = \\left | \\vec{v} \\right | \\cos \\alpha`}</Latex>\n </p>\n </Panel>\n <Panel title=\"Somma\">\n <p>\n Scomponi in componenti, poi sommali:\n </p>\n <p>\n <Latex>{r`\\vec{v} + \\vec{w} = (\\vec{v}_x + \\vec{w}_x) + (\\vec{v}_y + \\vec{w}_y)`}</Latex>\n </p>\n <p>\n Produce il vettore risultante dall'applicazione della regola del parallelogramma.\n </p>\n </Panel>\n <Panel title=\"Differenza\">\n <p>\n Alla fine è sempre una somma:\n </p>\n <p>\n <Latex>{r`\\vec{v} - \\vec{w} = (\\vec{v}_x - \\vec{w}_x) + (\\vec{v}_y - \\vec{w}_y)`}</Latex>\n </p>\n <p>\n Produce il vettore che parte da <Latex>w</Latex> e arriva a <Latex>v</Latex>.\n </p>\n </Panel>\n <Panel title=\"Prodotto scalare\">\n <p>\n Si chiama scalare perchè il risultato è uno scalare, non un vettore.\n </p>\n <p>\n <Latex>{r`\\vec{v} \\cdot \\vec{w} = \\left | \\vec{v} \\right | \\left | \\vec{w} \\right | \\cos \\alpha`}</Latex>\n </p>\n <p>\n Produce il modulo della proiezione di <Latex>{r`\\vec{a}`}</Latex> su <Latex>{r`\\vec{b}`}</Latex>.\n </p>\n </Panel>\n <Panel title=\"Prodotto vettoriale\">\n <p>\n Si chiama vettoriale perchè il risultato è un altro vettore.\n </p>\n <ul>\n <li><Latex>{r`\\vec{c} = \\vec{a} \\times \\vec{b}`}</Latex></li>\n <li><Latex>{r`\\left | \\vec{c} \\right | = \\left | \\vec{a} \\right | \\cdot \\left | \\vec{b} \\right | \\cdot \\sin(\\alpha)`}</Latex></li>\n <li><a href=\"https://it.wikipedia.org/wiki/Regola_della_mano_destra\">Regola della mano destra</a></li>\n </ul>\n <p>\n Non è commutativo!\n </p>\n </Panel>\n </Split>\n <Split title=\"Leggi di Newton\">\n <Panel title=\"1ᵃ: Inerzia\">\n <p>\n Se un corpo puntiforme ha forza risultante nulla, allora la sua velocità non cambia.\n </p>\n <p>\n <Latex>{r`\\Sigma \\vec{F} = 0 \\Longleftrightarrow \\Delta v = 0`}</Latex>\n </p>\n </Panel>\n <Panel title=\"2ᵃ: Proporzionalità\">\n <p>\n La forza risultante di un corpo è direttamente proporzionale alla sua accelerazione, e la costante di proporzionalità è la <i>massa</i>.\n </p>\n <p>\n <Latex>{r`\\Sigma \\vec{F} = m \\vec{a}`}</Latex>\n </p>\n </Panel>\n <Panel title=\"3ᵃ: Azione e reazione\">\n <p>\n Due corpi esercitano forze uguali e opposte uno sull'altro. \n </p>\n <p>\n <Latex>{r`\\vec{F}_{21} = -\\vec{F}_{12}`}</Latex>\n </p>\n </Panel>\n </Split>\n <Split title=\"Forza di gravità\">\n <Panel title=\"Tra due corpi\">\n <p>\n Due corpi puntiformi si attirano uno verso l'altro con forza:\n </p>\n <p>\n <Latex>{r`\\left | \\vec{F} \\right | = G \\frac{m_1 m_2}{s^2}`}</Latex>\n </p>\n <p>\n <Latex>G</Latex> è la <i>costante di gravitazione universale</i> e vale:\n </p>\n <p>\n <Latex>{r`G = 6.67 \\cdot 10^{-11} \\frac{N m^2}{{kg}^2}`}</Latex>\n </p>\n </Panel>\n <Panel title=\"Verso la Terra\">\n <p>\n Se nel sistema di riferimento consideriamo la Terra ferma, allora un corpo è attratto verso la Terra con forza <i>peso</i> uguale a:\n </p>\n <p>\n <Latex>{r`\\left | \\vec{F} \\right | = g m`}</Latex>\n </p>\n <p>\n <Latex>g</Latex> è la <i>costante di gravità</i> della Terra, e vale:\n </p>\n <p>\n <Latex>{r`g = 9.81 \\frac{m}{s^2}`}</Latex>\n </p>\n </Panel>\n <Panel title=\"Su pianeti diversi\">\n <p>\n Per pianeti diversi dalla Terra vale la stessa regola:\n </p>\n <p>\n <Latex>{r`\\left | \\vec{F} \\right | = g m`}</Latex>\n </p>\n <p>\n L'unica differenza è che cambia la <i>costante di gravità</i>:\n </p>\n <p>\n <Latex>{r`g_{luna} = 1.62 \\frac{m}{s^2}`}</Latex>\n </p>\n <p>\n <Latex>{r`g_{marte} = 3.71 \\frac{m}{s^2}`}</Latex>\n </p>\n </Panel>\n </Split>\n <Split title=\"Forze di contatto\">\n <Panel title=\"Normale\">\n <p>\n Si oppone alle forze applicate alla superficie di contatto.\n </p>\n <p>\n Un libro appoggiato su un tavolo ha la <b>forza di gravità</b> che lo attira verso il terreno e la <b>forza normale</b> che lo trattiene dal cadere. \n </p>\n </Panel>\n <Panel title=\"Attrito statico\">\n <p>\n Impedisce a un corpo di muoversi se non viene spinto da una forza che supera una certa soglia:\n </p>\n <p>\n <Latex>{r`\\left | \\vec{F} \\right | \\leq \\mu_{s} \\left | \\vec{F}_{normale} \\right |`}</Latex>\n </p>\n </Panel>\n <Panel title=\"Attrito dinamico\">\n <p>\n Rallenta i corpi che si stanno muovendo finchè essi non si fermano:\n </p>\n <p>\n <Latex>{r`\\left | \\vec{F} \\right | \\leq \\mu_{d} \\left | \\vec{F}_{normale} \\right |`}</Latex>\n </p>\n </Panel>\n <Panel title=\"Tensione\">\n <p>\n E' forza trasmessa tra due estremi di una fune.\n </p>\n <p>\n Può essere redirezionata per mezzo di carrucole.\n </p>\n </Panel>\n <Panel title=\"Elastica\">\n <p>\n Una molla cerca sempre di tornare alla sua posizione indeformata con forza:\n </p>\n <p>\n <Latex>{r`F = -k x`}</Latex>\n </p>\n <p>\n (E' negativa perchè la forza è opposta a quella applicata per deformarla.)\n </p>\n </Panel>\n </Split>\n <Split title=\"Cinematica\">\n <Panel title=\"Spostamento\">\n <p>\n È un vettore che indica la posizione di un corpo rispetto a un'origine.\n </p>\n <p>\n <Latex>{r`\\Delta \\vec{s} = \\vec{s}(fine) - \\vec{s}(inizio)`}</Latex>\n </p>\n </Panel>\n <Panel title=\"Velocità\">\n <p>\n È un vettore che misura la variazione di posizione nel tempo.\n </p>\n <p>\n <Latex>{r`\\vec{v} = \\frac{\\Delta \\vec{s}}{\\Delta t}`}</Latex>\n </p>\n <p>\n Se si considera un intervallo di tempo infinitesimale si dice <i>velocità istantanea</i>:\n </p>\n <p>\n <Latex>{r`\\vec{v} = \\lim_{\\Delta t \\to 0} \\frac{\\Delta \\vec{s}}{\\Delta t} = \\frac{d \\vec{s}}{dt}`}</Latex>\n </p>\n </Panel>\n <Panel title=\"Accelerazione\">\n <p>\n È un vettore che misura la variazione di velocità nel tempo.\n </p>\n <p>\n <Latex>{r`\\vec{a} = \\frac{\\Delta \\vec{v}}{\\Delta t}`}</Latex>\n </p>\n <p>\n Se si considera un intervallo di tempo infinitesimale si dice <i>accelerazione istantanea</i>:\n </p>\n <p>\n <Latex>{r`\\vec{a} = \\lim_{\\Delta v \\to 0} \\frac{\\Delta \\vec{v}}{\\Delta t} = \\frac{d \\vec{v}}{d t} = \\frac{d^2 \\vec{s}}{d t^2}`}</Latex>\n </p>\n </Panel>\n <Panel title={<span>Quantità di moto <small>(momento lineare)</small></span>}>\n <p>\n La quantità di moto è una proprietà vettoriale dei corpi:\n </p>\n <p>\n <Latex>{r`\\vec{p} = m \\vec{v}`}</Latex>\n </p>\n <p>\n Se la forza risultante è nulla, la quantità di moto non cambia.\n </p>\n <p>\n <Latex>{r`\\Sigma \\vec{F} = 0 \\Longleftrightarrow \\Delta \\vec{p} = 0`}</Latex>\n </p>\n </Panel>\n </Split>\n <Split title=\"Moto rettilineo uniforme\">\n <Panel title=\"Spostamento\">\n <p>\n La <i>legge oraria</i> è:\n </p>\n <p>\n <Latex>{r`s(t) = v \\cdot \\Delta t + s(0)`}</Latex>\n </p>\n </Panel>\n <Panel title=\"Velocità\">\n <p>\n È costante:\n </p>\n <p>\n <Latex>{r`v(t) = k`}</Latex>\n </p>\n </Panel>\n <Panel title=\"Accelerazione\">\n <p>\n La velocità non varia:\n </p>\n <p>\n <Latex>{r`a(t) = 0`}</Latex>\n </p>\n </Panel>\n <Panel title=\"Forze\">\n <p>\n Si applica la prima legge di Newton:\n </p>\n <p>\n <Latex>f(t) = 0</Latex>\n </p>\n </Panel>\n </Split>\n <Split title=\"Moto rettilineo uniformemente accelerato\">\n <Panel title=\"Spostamento\">\n <p>\n La <i>legge oraria</i> è:\n </p>\n <p>\n <Latex>{r`s(t) = \\frac{1}{2} a \\cdot (\\Delta t)^2 + v(0) \\cdot (\\Delta t) + s(0)`}</Latex>\n </p>\n </Panel>\n <Panel title=\"Velocità\">\n <p>\n È una retta:\n </p>\n <p>\n <Latex>{r`v(t) = a \\Delta t + v(0)`}</Latex>\n </p>\n </Panel>\n <Panel title=\"Accelerazione\">\n <p>\n È costante:\n </p>\n <p>\n <Latex>{r`a(t) = k`}</Latex>\n </p>\n </Panel>\n <Panel title=\"Forze\">\n <p>\n Si applica la prima legge di Newton:\n </p>\n <p>\n <Latex>f(t) = m a</Latex>\n </p>\n </Panel>\n </Split>\n <Split title=\"Moto armonico semplice\">\n <Panel title=\"Ampiezza\">\n <p>\n E' la distanza dal centro massima che raggiunge il corpo.\n </p>\n <p>\n (L'ampiezza di una sinusoide.)\n </p>\n </Panel>\n <Panel title=\"Velocità angolare\">\n <p>\n Indica quanto in fretta cambia la posizione del corpo. \n </p>\n <p>\n Dipende dal periodo:\n </p>\n <p>\n <Latex>{r`\\omega = \\frac{2 \\pi}{T}`}</Latex>\n </p>\n </Panel>\n <Panel title=\"Spostamento\">\n <p>\n E' una sinusoide:\n </p>\n <p>\n <Latex>{r`s(t) = A \\sin (\\omega \\cdot t + \\phi)`}</Latex>\n </p>\n </Panel>\n <Panel title=\"Velocità\">\n <p>\n E' la sinusoide dello spostamento, sfasata di <Latex>{r`\\frac{\\pi}{2}`}</Latex>:\n </p>\n <p>\n <Latex>{r`v(t) = A \\sin (\\omega \\cdot t + \\phi + \\frac{\\pi}{2})`}</Latex>\n </p>\n </Panel>\n <Panel title=\"Accelerazione\">\n <p>\n E' la sinusoide della velocità, sfasata di <Latex>{r`\\pi`}</Latex>:\n </p>\n <p>\n <Latex>{r`a(t) = A \\sin (\\omega \\cdot t + \\phi + \\pi)`}</Latex>\n </p>\n </Panel>\n <Panel title=\"Forze\">\n <p>\n Si applica la prima legge di Newton:\n </p>\n <p>\n <Latex>f(t) = m a</Latex>\n </p>\n </Panel>\n </Split>\n <Split title=\"Moti composti\">\n <Panel title=\"Moto parabolico\">\n <p>\n Il moto parabolico è dato sommando un moto rettilineo uniforme sull'asse orizzontale e un moto rettilineo uniformemente accelerato sull'asse verticale.\n </p>\n </Panel>\n <Panel title=\"Moto circolare uniforme\">\n <p>\n Il moto parabolico è dato sommando due moti armonici semplici: uno sull'asse X, e l'altro, sfasato di <Latex>{r`\\frac{\\pi}{2}`}</Latex>, sull'asse Y.\n </p>\n </Panel>\n </Split>\n <Split title=\"Moto circolare uniforme\">\n <Panel>\n <h3>\n Velocità angolare\n </h3>\n <p>\n Quanto cambia la fase nel tempo.\n </p>\n <p>\n <Latex>{r`\\omega = \\frac{2 \\pi}{T}`}</Latex>\n </p>\n </Panel>\n <Panel title=\"Fase\">\n <p>\n E' l'angolo percorso dal corpo rispetto alla posizione iniziale.\n </p>\n <p>\n Si indica con <Latex>{r`\\phi`}</Latex>, e generalmente si usa in radianti.\n </p>\n </Panel>\n <Panel title=\"Velocità\">\n <p>\n Si applicano le formule per la circonferenza:\n </p>\n <p>\n <Latex>{r`v = \\frac{\\Delta s}{t} = \\frac{2 \\pi \\cdot r}{T} = \\omega r`}</Latex>\n </p>\n </Panel>\n <Panel title=\"Accelerazione\">\n <p>\n Il corpo ha sempre un accelerazione verso il centro che gli impedisce di abbandonare il moto: \n </p>\n <p>\n <Latex>{r`a = \\frac{v^2}{r} = r \\cdot \\omega^2 = v \\cdot \\omega`}</Latex>\n </p>\n </Panel>\n <Panel title=\"Forza centripeta\">\n <p>\n È verso il centro e si calcola con:\n </p>\n <p>\n <Latex>{r`F = m \\cdot a`}</Latex>\n </p>\n </Panel>\n </Split>\n <Split title=\"Lavoro ed energia\">\n <Panel title=\"Lavoro\">\n <p>\n E' compiuto da una forza che sposta un corpo.\n </p>\n <p>\n <Latex>{r`W = \\vec{F} \\cdot \\vec{s} = F \\cdot \\Delta s \\cdot cos(\\alpha )`}</Latex>\n </p>\n <p>\n (Se la forza non è parallela allo spostamento, il prodotto scalare ci fa considerare solo la componente parallela.)\n </p>\n </Panel>\n <Panel title=\"Energia cinetica\">\n <p>\n Un corpo ha energia cinetica in ogni momento uguale a:\n </p>\n <p>\n <Latex>{r`E_c = \\frac{1}{2} m v^2`}</Latex>\n </p>\n <p>\n Se una forza effettua lavoro su un corpo, cambia la sua energia cinetica pari al lavoro effettuato:\n </p>\n <p>\n <Latex>{r`\\Delta E_c = W`}</Latex>\n </p>\n </Panel>\n <Panel title=\"Energia potenziale gravitazionale\">\n <p>\n Un corpo ha energia potenziale in ogni momento pari a: \n </p>\n <p>\n <Latex>{r`E_{p_g} = m \\cdot g \\cdot h`}</Latex>\n </p>\n <p>\n (Con <Latex>h</Latex> uguale a un altezza scelta come punto di riferimento.)\n </p>\n </Panel>\n <Panel title=\"Energia potenziale elastica\">\n <p>\n Una molla ha sempre energia potenziale elastica pari a:\n </p>\n <p>\n <Latex>{r`E_{p_e} = \\frac{1}{2} k x^2`}</Latex>\n </p>\n </Panel>\n <Panel title=\"Forze conservative\">\n <p>\n Sono conservative le forze per le quali il lavoro compiuto non dipende dal percorso seguito per andare dalla partenza all'arrivo.\n </p>\n <p>\n Ad esempio, è conservativa la <i>forza di gravità</i>, ma <b>non</b> è conservativa la forza di attrito.\n </p>\n <p>\n Se in un sistema ci sono solo forze conservative, allora l'energia meccanica totale si conserva:\n </p>\n <p>\n <Latex>{r`E = E_k + E_p`}</Latex>\n </p>\n </Panel>\n <Panel title=\"Potenza\">\n <p>\n È la velocità di trasferimento di energia:\n </p>\n <p>\n <Latex>{r`P = \\frac{\\Delta E}{\\Delta t}`}</Latex>\n </p>\n </Panel>\n </Split>\n <Split title=\"Elettrostatica\">\n <Panel title=\"Carica elettrica\">\n <p>\n È una proprietà dei corpi che può essere <Plus>positiva</Plus> o <Minus>negativa</Minus>.\n </p>\n <p>\n Si conserva: in un sistema chiuso la carica totale è costante.\n </p>\n <p>\n Esiste un'unità elementare: <Latex>{r`C_{elettrone} = 1.602 \\cdot 10^{-19}`}</Latex>.\n </p>\n <p>\n Cariche <Plus>opp</Plus><Minus>oste</Minus> si attraggono; cariche <Plus>uguali</Plus> si respingono.\n </p>\n </Panel>\n <Panel title=\"Conduttori e isolanti\">\n <p>\n Più <a href=\"https://it.wikipedia.org/wiki/Ione\">ioni</a> ha un corpo, meglio la carica si muove attraverso di esso.\n </p>\n <p>\n I corpi in cui la carica si muove bene sono <i>conduttori</i>, mentre quelli in cui si muove difficilmente sono <i>isolanti</i>.\n </p>\n <p>\n <i>Il corpo umano è un buon conduttore.</i>\n </p>\n </Panel>\n </Split>\n <Split title=\"Polarizzazione\">\n <Panel title=\"Polarizzazione\">\n <p>\n E' possibile polarizzare un corpo per accumulare la carica di un segno in una certa zona.\n </p>\n </Panel>\n </Split>\n <Split>\n <Panel title=\"Messa a terra\">\n <p>\n Se un corpo conduttore è in contatto con la Terra, le cariche su di esso saranno <i>equilibrate</i> e il corpo diventerà elettricamente neutro (con stesso numero di <Plus>cariche positive</Plus> e <Minus>negative</Minus> all'interno).\n </p>\n </Panel>\n </Split>\n <Split>\n <Panel title=\"Polarizzazione per strofinio\">\n <p>\n Strofinando tra loro due corpi isolanti, essi si <i>polarizzeranno per strofinio</i>.\n </p>\n </Panel>\n <Panel title=\"Polarizzazione per contatto\">\n <p>\n Toccando un conduttore con un corpo carico, il conduttore potrà <i>polarizzarsi per contatto</i>.\n </p>\n </Panel>\n <Panel title=\"Polarizzazione per induzione\">\n <p>\n Se un corpo conduttore ha cariche \"esterne\" di un <Plus>certo segno</Plus> vicino, esso avrà tutte le cariche del <Minus>segno opposto</Minus> in equilibrio vicino alle cariche esterne, e tutte le cariche dello <Plus>stesso segno</Plus> più lontano possibile da esse.\n </p>\n <p>\n Mettendo a terra il conduttore, nuove cariche del <Minus>segno opposto</Minus> saranno attratte all'interno del corpo per equilibrare le cariche che si sono allontanate.\n </p>\n <p>\n Staccando il conduttore da terra e rimuovendo le cariche esterne, esso si ritroverà <Minus>caricato del segno opposto</Minus> rispetto alle cariche esterne.\n </p>\n </Panel>\n </Split>\n <Split title=\"Forza elettrica\">\n <Panel title=\"Legge di Coulomb\">\n <p>\n Due corpi carichi si attraggono tra loro con forza: \n </p>\n <p>\n <Latex>{r`\\left | \\vec{F}_{elettrica} \\right | = \\frac{-k \\cdot q_1 \\cdot q_2}{s^2}`}</Latex>\n </p>\n <p>\n <Latex>{r`k`}</Latex> è la <i>costante di Coulomb</i>, e vale <Latex>{r`k = 8.99 \\cdot 10^9 \\frac{N \\cdot m^2}{C^2}`}</Latex>.\n </p>\n </Panel>\n <Panel title=\"Permeabilità dello spazio vuoto\">\n <p>\n La costante <Latex>{r`k`}</Latex> è in realtà dipendente da un altra costante, <Latex>{r`\\epsilon_0`}</Latex>, la <i>permeabilità del vuoto</i>.\n </p>\n <p>\n <Latex>{r`k = \\frac{1}{4 \\pi \\cdot \\epsilon_0}`}</Latex>\n </p>\n <p>\n <Latex>{r`\\left | \\vec{F}_{elettrica} \\right | = \\frac{q_1 \\cdot q_2}{4 \\pi \\cdot \\epsilon_0 \\cdot s^2}`}</Latex>\n </p>\n </Panel>\n <Panel title=\"Campo elettrico\">\n <p>\n Misura che forza viene applicata in ogni punto su una carica unitaria:\n </p>\n <p>\n <Latex>{r`\\vec{E} = \\frac{\\vec{F}_{elettrica}}{q} = \\frac{-k \\cdot q}{s^2}`}</Latex>\n </p>\n </Panel>\n <Panel title=\"Flusso elettrico\">\n <p>\n È la differenza tra \"quanto\" campo elettrico <Plus>entra</Plus> e quanto campo elettrico <Minus>esce</Minus> da una certa area.\n </p>\n <p>\n In qualsiasi superficie chiusa, il flusso elettrico è uguale alla componente perpendicolare del campo elettrico moltiplicato per l'area.\n </p>\n <p>\n <Latex>{r`\\Phi_E = \\vec{E} \\cdot \\vec{A}`}</Latex>\n </p>\n <p>\n Se il campo elettrico è uniforme, se ne può calcolare facilmente il valore:\n </p>\n <p>\n <Latex>{r`\\Phi_E = \\vec{E} \\cdot \\vec{A} = E_\\perp \\cdot A \\cdot \\cos(\\alpha)`}</Latex>\n </p>\n <p>\n <Todo>Circa. E' una specie di integrale...</Todo>\n </p>\n </Panel>\n <Panel title=\"Legge di Gauss per i campi elettrostatici\">\n <p>\n Il flusso elettrico è direttamente proporzionale alla carica presente all'interno della superficie.\n </p>\n <p>\n <Latex>{r`\\Phi_E = 4 \\pi \\cdot k \\cdot q = \\frac{q}{\\epsilon_0}`}</Latex>\n </p>\n <p>\n Ovvero, i campi elettrostatici sono generati dalle cariche elettriche.\n </p>\n </Panel>\n </Split>\n <Split title=\"Energia elettrica\">\n <Panel title=\"Energia potenziale elettrica\">\n <p>\n Un corpo carico vicino ad altre cariche possiede un'<i>energia potenziale elettrica</i> <Latex>{r`U_e`}</Latex>.\n </p> \n </Panel>\n </Split>\n <Split title=\"Circuiti elettrici\">\n <Panel title={<span>Potenziale elettrico <small>(tensione)</small></span>}>\n <p>\n È il valore dell'energia potenziale elettrica per una carica unitaria.\n </p>\n <p>\n <Latex>{r`V = \\frac{E_{elettrica}}{q}`}</Latex>\n </p>\n <p>\n La sua unità di misura è il Volt (<Latex>{r`V`}</Latex>).\n </p> \n <p>\n In una batteria è detto <i>forza elettromotrice</i>, e corrisponde al lavoro compiuto da una batteria ideale per spostare una carica unitaria tra i due poli.\n </p>\n </Panel>\n <Panel title={<span>Corrente elettrica <small>(intensità)</small></span>}>\n <p>\n Quanta carica passa attraverso un'area (perpendicolare al flusso) nel tempo.\n </p>\n <p>\n <Latex>{r`I = \\frac{\\Delta q}{\\Delta t}`}</Latex>\n </p>\n <p>\n Fintanto che c'è differenza di potenziale, ci sarà anche intensità non nulla.\n </p>\n <p>\n La sua unità di misura è l'Ampere (<Latex>{r`A`}</Latex>).\n </p>\n </Panel>\n <Panel title={<span>Corrente continua <small>(<abbr title=\"Direct Current\">DC</abbr>)</small></span>}>\n <p>\n Quando in un circuito la direzione della corrente è costante.\n </p>\n </Panel>\n <Panel title={<span>Corrente alternata <small>(<abbr title=\"Alternate Current\">AC</abbr>)</small></span>}>\n <p>\n Quando in un circuito la direzione della corrente si alterna periodicamente.\n </p>\n </Panel>\n <Panel title=\"Potenza elettrica\">\n <p>\n Possiamo calcolare la potenza di un circuito:\n </p>\n <p>\n <Latex>{r`P = \\frac{\\Delta U}{\\Delta t} = I \\cdot \\Delta V = I^2 \\cdot R = \\frac{(\\Delta V)^2}{R}`}</Latex>\n </p>\n </Panel>\n </Split>\n <Split title=\"Elementi di un circuito\">\n <Panel title=\"Resistore\">\n <p>\n Riduce l'intensità di corrente, e converte parte del potenziale in calore.\n </p>\n <p>\n Il potenziale utilizzato è pari a:\n </p>\n <p>\n <Latex>{r`V = R \\cdot I`}</Latex>\n </p>\n <p>\n Dove <Latex>{r`R`}</Latex> è una costante detta <i>resistenza</i> con unità di misura Ohm (<Latex>{r`\\Omega`}</Latex>).\n </p>\n <p>\n La resistenza di un conduttore vale:\n </p>\n <p>\n <Latex>{r`R = \\rho \\frac{L_{unghezza}}{A_{rea}}`}</Latex>\n </p>\n <p>\n <Latex>{r`\\rho`}</Latex> è la <i>resistività</i> del materiale, e varia in base alla temperatura:\n </p>\n <p>\n <Latex>{r`\\rho = \\rho_0 (1 + \\alpha(T - T_0))`}</Latex>\n </p>\n </Panel>\n <Panel title=\"Condensatore\">\n <p>\n Immagazzina potenziale elettrico, permettendo di riutilizzarla in seguito.\n </p>\n <p>\n Per farlo, cattura cariche <Plus>positive</Plus> e <Minus>negative</Minus> sulle sue due armature; perchè questo avvenga, deve essere compiuto lavoro.\n </p>\n <p>\n Ha una <b>capacità</b> caratteristica, che in un condensatore a facce piane parallele è:\n </p>\n <p>\n <Latex>{r`C = \\frac{q_{massima}}{\\Delta V}`}</Latex>\n </p>\n <p>\n Condensatori di capacità maggiore immagazzinano più potenziale con meno carica.\n </p>\n <p>\n La capacità aumenta se viene messo qualcosa tra le armature:\n </p>\n <p>\n <Latex>{r`C_{nuova} = \\kappa \\cdot \\frac{\\epsilon_0 \\cdot A}{s}`}</Latex>\n </p>\n <p>\n Dove <Latex>{r`\\kappa`}</Latex> è la <i>costante dielettrica relativa</i> del materiale inserito, <Latex>{r`A`}</Latex> l'area di una armatura e <Latex>{r`d`}</Latex> la distanza tra le due armature.\n </p>\n <p>\n Se il campo elettrico creatosi tra le due armature supera la <i>rigidità dielettrica</i> del condensatore, la carica immagazzinata viene persa e ha luogo un <i>breakdown</i>.\n </p>\n <p>\n La sua unità di misura è il Farad (<Latex>{r`Fa`}</Latex>)\n </p>\n </Panel>\n <Panel title=\"Amperometro\">\n <p>\n Misura la corrente elettrica se messo in serie.\n </p>\n <p>\n (Funzionamento: ha una resistenza interna bassisima in modo da non influire significativamente sulla corrente.)\n </p>\n </Panel>\n <Panel title=\"Voltmetro\">\n <p>\n Misura la differenza di potenziale se messo in parallelo.\n </p>\n <p>\n (Funzionamento: ha una resistenza altissima in modo da non influire significativamente sulla tensione.)\n </p>\n </Panel>\n </Split>\n <Split title=\"Principi di Kirchhoff\">\n <Panel title=\"Legge dei nodi\">\n <p>\n Per nodo si intende un qualsiasi punto del circuito.\n </p>\n <p>\n Da un nodo entra ed esce la stessa corrente.\n </p>\n </Panel>\n <Panel title=\"Legge delle maglie\">\n <p>\n Per maglia si intende un qualsiasi percorso chiuso all'interno del circuito.\n </p>\n <p>\n In una maglia chiusa, la somma delle differenze di potenziale è 0.\n </p>\n </Panel>\n </Split>\n <Split title=\"Serie e Parallelo\">\n <Panel title=\"Circuito in serie\">\n <p>\n Più parti di circuito sono <i>in serie</i> se sono consecutive e senza biforcazioni.\n </p>\n <p>\n Parti di circuito in serie sono attraversate dalla stessa corrente.\n </p>\n </Panel>\n <Panel title=\"Circuito in parallelo\">\n <p>\n Più parti di circuito sono <i>in parallelo</i> tra loro se hanno lo stesso punto di partenza e lo stesso punto di arrivo. \n </p>\n <p>\n Parti di circuito in parallelo hanno la stessa differenza di potenziale.\n </p>\n </Panel>\n </Split>\n <Split title=\"Resistenze equivalenti\">\n <Panel title=\"Circuiti in serie\">\n <p>\n Nei circuiti in serie, tutte le resistenze possono essere sostituite con una equivalente dal valore della somma di tutte le quelle sostituite:\n </p>\n <p>\n <Latex>{r`R_{serie} = \\sum_{i=1}^{n} R_i`}</Latex>\n </p>\n </Panel>\n <Panel title=\"Circuiti in parallelo\">\n <p>\n Nei circuiti in parallelo, tutte le resistenze possono essere sostituite con una equivalente dal valore di:\n </p>\n <p>\n <Latex>{r`R_{parallelo} = \\frac{1}{\\sum_{i=1}^{n} \\frac{1}{R_i}}`}</Latex>\n </p>\n </Panel>\n </Split>\n <Split title=\"Condensatori equivalenti\">\n <Panel title=\"Circuiti in serie\">\n <p>\n Nei circuiti in serie, tutte i condensatori possono essere sostituiti con uno equivalente dal valore di:\n </p>\n <p>\n <Latex>{r`C_{serie} = \\frac{1}{\\sum_{i=1}^{n} \\frac{1}{C_i}}`}</Latex>\n </p>\n </Panel>\n <Panel title=\"Circuiti in parallelo\">\n <p>\n Nei circuiti in parallelo, tutte i condensatori possono essere sostituite con uno equivalente dal valore della somma della capacità di tutti quelli sostituiti:\n </p>\n <p>\n <Latex>{r`C_{parallelo} = \\sum_{i=1}^{n} C_n`}</Latex>\n </p>\n </Panel>\n </Split>\n <Split title=\"Magnetismo\">\n <Panel title=\"Permeabilità magnetica dello spazio vuoto\">\n <p>\n E' una costante fisica fondamentale che rappresenta quanto un materiale si magnetizza facilmente.\n </p>\n <p>\n <Latex>{r`\\mu_0 = 4 \\pi \\cdot 10^{-7} \\frac{H}{m}`}</Latex> (<Latex>{r`\\frac{N}{A^2}`}</Latex>)\n </p>\n </Panel>\n <Panel title=\"Campo magnetico\">\n <p>\n Come un campo elettrico, ma per i magneti.\n </p>\n <p>\n Il suo simbolo è <Latex>{r`B`}</Latex>, e la sua unità di misura è il Tesla (<Latex>T</Latex>).\n </p>\n </Panel>\n <Panel title=\"Flusso magnetico\">\n <p>\n È \"quanto\" campo magnetico <b>attraversa</b> un percorso chiuso.\n </p>\n <p>\n Per qualsiasi percorso chiuso, il flusso magnetico è uguale alla componente parallela del campo moltiplicata per la lunghezza del percorso:\n </p>\n <p>\n <Latex>{r`\\Phi_B = \\vec{B} \\cdot \\vec{L} = B_\\parallel \\cdot L \\cdot \\sin(\\alpha)`}</Latex>\n </p>\n <p>\n La sua unità di misura è il Weber (<Latex>{r`Wb = T \\cdot m^2`}</Latex>).\n </p>\n <p>\n <Todo>Circa. E' una specie di integrale...</Todo>\n </p>\n </Panel>\n <Panel title=\"Legge di Gauss per i campi magnetici\">\n <p>\n Il flusso magnetico attraverso qualsiasi superficie chiusa è sempre nullo.\n </p>\n <p>\n Ovvero, non esistono monopoli magnetici.\n </p>\n </Panel>\n <Panel title=\"Legge di Ampère\">\n <p>\n L'intensità di corrente che attraversa un percorso chiuso è direttamente proporzionale al flusso magnetico dello stesso percorso.\n </p>\n <p>\n <Latex>\\Phi_B = \\mu_0 \\cdot I</Latex>\n </p>\n </Panel>\n </Split>\n <Split title=\"Forze magnetiche\">\n <Panel>\n <h3>\n Forza magnetica su carica puntiforme <small>(Forza di Lorentz)</small>\n </h3>\n <p>\n I campi magnetici applicano una forza sulle cariche vicine:\n </p>\n <p>\n <Latex>{r`\\vec{F}_{magnetica} = q \\cdot (\\vec{v} \\times \\vec{B})`}</Latex>\n </p>\n <p>\n Dove <Latex>{r`\\vec{B}`}</Latex> è l'intensità del campo magnetico e <Latex>{r`\\vec{v}`}</Latex> la velocità della carica considerata.\n </p>\n <p>\n Si ha una forza massima se la velocità è perpendicolare al campo magnetico.\n </p>\n <p>\n In un campo magnetico uniforme, una velocità perpendicolare al campo porta alla creazione di un moto circolare uniforme.\n </p>\n </Panel>\n <Panel title=\"Forza magnetica in un filo\">\n <p>\n I campi magnetici influenzano ovviamente anche le cariche presenti in un conduttore:\n </p>\n <p>\n <Latex>{r`\\vec{F}_{magnetica} = I \\cdot (\\vec{L} \\times \\vec{B})`}</Latex> <a href=\"https://it.openprof.com/wb/forza_di_lorentz_su_un_filo_percorso_da_corrente?ch=360\">[1]</a>\n </p>\n <p>\n Dove <Latex>{r`I`}</Latex> è la corrente elettrica, <Latex>{r`\\vec{L}`}</Latex> è un vettore che punta nella direzione di scorrimento della corrente e <Todo>ha come modulo la lunghezza del conduttore.</Todo>\n </p>\n </Panel>\n </Split>\n <Split title=\"Campi magnetici\">\n <Panel title=\"Campo magnetico in una spira\">\n <p>\n Una spira in cui passa corrente produce un campo magnetico perpendicolare al piano creato dalla spira.\n </p>\n </Panel>\n <Panel title=\"Campo magnetico di un solenoide\">\n <p>\n Un solenoide sono tante spire avvolte in modo da formare una specie di cilindro.\n </p>\n <p>\n All'interno del solenoide si crea un campo (quasi) uniforme:\n </p>\n <p>\n <Latex>{r`\\left | \\vec{B} \\right | = \\mu_0 \\cdot I \\cdot \\frac{A_{vvolgimenti}}{L_{unghezzafilo}}`}</Latex>\n </p>\n </Panel>\n <Panel title=\"Legge di Oersted\">\n <p>\n <i>Caso particolare della <a href=\"https://it.wikipedia.org/wiki/Legge_di_Amp%C3%A8re\">Legge di Ampère</a>.</i>\n </p>\n <p>\n Il modulo del campo magnetico <Latex>B</Latex> prodotto da un filo in cui passa una corrente continua <Latex>I</Latex> alla distanza <Latex>s</Latex> è:\n </p>\n <p>\n <Latex>{r`\\left | \\vec{B} \\right | = \\frac{\\mu \\cdot I}{2 \\pi r}`}</Latex>\n </p>\n <p>\n Il campo magnetico così creato gira attorno al filo in senso antiorario.\n </p>\n <p>\n Due fili attraversati dalla <Plus>stessa corrente</Plus> si attraggono, due fili attraversati da <Plus>corr</Plus><Minus>enti</Minus> <Plus>opp</Plus><Minus>oste</Minus> si respingono.\n </p>\n </Panel>\n </Split>\n <Split title=\"Induzione elettromagnetica\">\n <Panel title=\"Forza elettromotrice indotta\">\n <p>\n Un conduttore perpendicolare ad un campo magnetico può ottenere una differenza di potenziale se messo in movimento in un direzione perpendicolare alla direzione del conduttore e del campo. \n </p>\n <p>\n La differenza di potenziale si crea a causa della forza magnetica, che fa spostare tutti gli elettroni verso un capo del conduttore. \n </p>\n <p>\n Essa vale:\n </p>\n <p>\n <Latex>{r`\\Delta V_{indotta} = v \\cdot B \\cdot L`}</Latex>\n </p>\n <p>\n Dove <Latex>v</Latex> è la velocità del conduttore, <Latex>B</Latex> è l'intensità del campo magnetico ed <Latex>L</Latex> è la lunghezza del conduttore.\n </p>\n </Panel>\n <Panel title=\"Flusso magnetico in una spira\">\n <p>\n In un campo magnetico <Latex>{r`B`}</Latex> uniforme e perpendicolare al piano di una spira di area <Latex>{r`A`}</Latex>, il flusso magnetico si può determinare con la <i>Legge di Faraday-Neumann-Lenz</i>:\n </p>\n <p>\n <Latex>{r`\\Phi_B = \\vec{B} \\cdot \\vec{A} = B \\cdot A \\cdot \\cos(\\alpha)`}</Latex>\n </p>\n </Panel>\n </Split>\n <Split>\n <Panel title=\"Legge di Faraday\">\n <p>\n Dice che la forza elettromotrice indotta in un percorso dipende dalla variazione nel tempo del flusso magnetico nello stesso percorso.\n </p>\n <p>\n <Latex>{r`\\Delta V_{indotta} = - \\frac{\\Delta \\Phi_B}{\\Delta t}`}</Latex>\n </p>\n </Panel>\n <Panel title=\"Legge di Lenz\">\n <p>\n In un solenoide, la forza elettromotrice indotta è uguale a:\n </p>\n <p>\n <Latex>{r`\\Delta V_{indotta} = - N \\frac{\\Delta \\Phi_B}{\\Delta t}`}</Latex>\n </p>\n <p>\n Dove <Latex>{r`N`}</Latex> è il numero delle spire del solenoide.\n </p>\n </Panel>\n <Panel title=\"Legge di Ampère-Maxwell\">\n <p>\n Correnti o campi elettrici variabili creano un campo magnetico.\n </p>\n </Panel>\n </Split>\n <Split title=\"Elettromagnetismo\">\n <Panel title=\"Onde elettromagnetiche\">\n <p>\n Nel vuoto, il campo elettrico <Latex>E</Latex> e il campo magnetico <Latex>B</Latex> sono perpendicolari tra loro e la direzione di propagazione, e sono entrambe funzioni del tempo.\n </p>\n <p>\n Si dice quindi che sono <i>onde elettromagnetiche</i>.\n </p>\n <p>\n Esse sono legate dalla relazione:\n </p>\n <p>\n <Latex>{r`E = c \\cdot B`}</Latex>\n </p>\n <p>\n Dove <Latex>{r`c`}</Latex> è la velocità delle onde (luce) nel vuoto, e a sua volta è uguale a:\n </p>\n <p>\n <Latex>{r`c = \\frac{1}{\\sqrt{\\epsilon_0 \\cdot \\mu_0}} = 3.00 \\cdot 10^8 \\frac{m}{s}`}</Latex>\n </p>\n </Panel>\n <Panel title=\"Formula delle onde\">\n <p>\n <Latex>{r`A(t) = A_{max} \\cdot \\sin \\left ( \\frac{2 \\pi}{\\lambda} - \\omega t + \\phi \\right )`}</Latex>\n </p>\n <p>\n Dove <Latex>{r`A_{max}`}</Latex> è l'ampiezza massima che può avere l'onda, <Latex>{r`\\frac{2 \\pi}{\\lambda} = \\left | \\vec{k} \\right |`}</Latex> è il vettore d'onda, <Latex>{r`\\omega`}</Latex> la frequenza angolare e <Latex>{r`\\phi`}</Latex> la fase.\n </p>\n <p>\n In un avvolgimento di <Latex>{r`N`}</Latex> spire, essa vale:\n </p>\n <p>\n <Latex>{r`\\Delta V_{indotta} = - N \\cdot \\frac{\\Delta \\Phi_B}{\\Delta t}`}</Latex>\n </p>\n </Panel>\n </Split>\n </div>\n )\n\t}\n}\n\n\n// WEBPACK FOOTER //\n// ./pages/fisica.js","import style from \"./markdown.css\";\nimport { Component } from 'preact';\nimport showdown from \"showdown\";\n\nexport default class Markdown extends Component {\n\trender() {\n let converter = new showdown.Converter();\n converter.setFlavor(\"github\");\n let html = converter.makeHtml(`${this.props.children}`);\n // noinspection CheckTagEmptyBody\n return <div style={style.markdown} dangerouslySetInnerHTML={{__html: html}}></div>;\n\t}\n}\n\n\n\n// WEBPACK FOOTER //\n// ./components/markdown.js","import style from './vldigeometria.css';\nimport { Component } from 'preact';\nimport Markdown from '../components/markdown';\nimport Panel from '../components/panel';\n\nconst r = String.raw;\n\nexport default class VlDiGeometria extends Component {\n\trender() {\n\t\t//Imported from unimore-info-wiki\n\t\treturn (\n\t\t\t<div style={style.vldigeometria}>\n <h1>Videolezioni di Geometria</h1>\n <Panel>\n <Markdown>{r`\nTutte le videolezioni sono state pubblicate sotto licenza [CC BY-NC-SA 4.0](https://creativecommons.org/licenses/by-nc-sa/4.0/) dalla Prof.ssa Beatrice Ruini nell'anno accademico 2018/2019 sul [portale Dolly 2018](https://dolly.fim.unimore.it/2018/course/view.php?id=14#section-0) (Moodle).\n\nPer comodità, ho estratto l'url sorgente del video dall'embed presente nella rispettiva pagina.\n\n1. [Definizione di Spazio Vettoriale](https://www.youtube.com/watch?v=7eHEzf4403c) (1:17:29)\n2. [Sottospazi vettoriali I](https://www.youtube.com/watch?v=FPqrULk5HBU) (37:15)\n3. [Sottospazi vettoriali II](https://www.youtube.com/watch?v=ubDWUw9hk0k) (43:26)\n4. [Sottospazi vettoriali III](https://www.youtube.com/watch?v=381n4NPb6Oc) (40:29)\n5. [Lineare dipendenza e indipendenza](https://www.youtube.com/watch?v=9YVQ5olYrh0) (56:12)\n6. [Basi di uno spazio vettoriale I](https://www.youtube.com/watch?v=mEF_lcTzEoE) (25:52)\n7. [Basi di uno spazio vettoriale II](https://www.youtube.com/watch?v=k1r9JfXY53k) (48:24)\n8. [Teorema di Grassmann](https://www.youtube.com/watch?v=3sqB-MMyCWM) (32:36)\n9. [Basi e Matrici](https://www.youtube.com/watch?v=Rd6AB_jE7YI) (27:06)\n10. [Definizione di Applicazioni Lineari](https://www.youtube.com/watch?v=rmd7ffZeVYk) (16:23)\n11. [Proprietà delle Applicazioni Lineari](https://www.youtube.com/watch?v=MH7ztQGkqmw) (31:58)\n12. [Definizione di determinante](https://www.youtube.com/watch?v=EwubcLwBdzk) (36:43)\n13. [Proprietà e metodo di triangolazione](https://www.youtube.com/watch?v=SFusGarV6HI) (22:36)\n14. [Teorema di Laplace](https://www.youtube.com/watch?v=BqZDWnKl2nQ) (29:03)\n15. [4 applicazioni del Teorema di Laplace](https://www.youtube.com/watch?v=2tr3y725GY0) (47:53)\n16. [Spazi vettoriali euclidei reali - Parte 1](https://www.youtube.com/watch?v=W7Z1hm-jwMM) (28:46)\n17. [Spazi vettoriali euclidei reali - Parte 2](https://www.youtube.com/watch?v=zjmKE9TMGm8) (27:17)\n18. [Autovalori e autovettori](https://www.youtube.com/watch?v=XlrlcnvcTtQ) (33:00)\n19. [Polinomio caratteristico](https://www.youtube.com/watch?v=61icRbgWTdI) (31:31)\n20. [Teorema diagonalizzabilità](https://www.youtube.com/watch?v=wm5V6en9OFo) (18:49)\n21. [Spazi affini](https://player.vimeo.com/video/291457587) (20:46)\n22. [Sottospazi affini](https://player.vimeo.com/video/291458991) (21:32)\n23. [Parallelismo e Riferimenti Affini](https://player.vimeo.com/video/291510181) (16:57)\n24. [Rappresentazione di Sottospazi Affini](https://player.vimeo.com/video/291510296) (31:17)\n25. [Spazi Euclidei](https://player.vimeo.com/video/291510612) (35:57)\n26. [Teoria dei ranghi](https://player.vimeo.com/video/291510964) (9:44)\n27. [Teoria dei ranghi 2](https://player.vimeo.com/video/291510862) (14:44)\n\nNell'anno accademico 2018/2019 non sono stati trattati gli argomenti nei video 21, 22 e 23.\n `}</Markdown>\n </Panel>\n\t\t\t</div>\n\t\t);\n\t}\n}\n\n\n\n\n// WEBPACK FOOTER //\n// ./pages/vldigeometria.js","import style from './mingwinstall.css';\nimport { Component } from 'preact';\nimport Panel from '../components/panel';\n\nexport default class MingwInstall extends Component {\n\trender() {\n\t\t//Imported from unimore-info-wiki\n\t\treturn (\n\t\t\t<div style={style.mingwinstall}>\n <h1>Come installare MinGW</h1>\n <Panel>\n\t\t\t\t\t<p> Scaricate <a href=\"https://osdn.net/projects/mingw/downloads/68260/mingw-get-setup.exe/\">l'installer ufficiale</a>,\n\t\t\t\t\t\ted eseguitelo.</p><img src=\"https://i.imgur.com/mDZSqjV.png\" alt=\"\"/>\n\t\t\t\t\t<p> Dovrebbe comparire questa schermata. Cliccate su <code>Install</code>, poi scegliete una cartella di installazione\n\t\t\t\t\t\t(ricordatevela!) e poi <code>Continue</code>. Lasciate stare le altre opzioni, dovrebbero essere tutte spuntate,\n\t\t\t\t\t\ttranne <code>For all users</code>, che dovrebbe essere disattivato.</p><img src=\"https://i.imgur.com/brdw8Xy.png\" alt=\"\"/>\n\t\t\t\t\t<p> Aspettate che finisca il download. Pochi secondi dopo, dovrebbe finire e dovrebbe apparire un tasto\n\t\t\t\t\t\t<code>Continue</code>. Premetelo.</p><img src=\"https://i.imgur.com/aPTwrxz.png\" alt=\"\"/>\n\t\t\t\t\t<p> Dovrebbe apparirvi questa finestra. L'installer di MinGW è una specie di gestore pacchetti (tipo <code>apt</code> su\n\t\t\t\t\t\tUbuntu); potete scegliere quali pacchetti installare, e quindi quali funzionalità.</p><img src=\"https://i.imgur.com/5QLSkFN.png\" alt=\"\"/>\n\t\t\t\t\t<p> Nel nostro caso, dovrebbero servirci <code>mingw32-base-bin</code> (per il C e alcune librerie C++) e\n\t\t\t\t\t\t<code>mingw32-gcc-g++-bin</code> (per il C++). Cliccate, quindi, sui due quadratini corrispondenti, e premete\n\t\t\t\t\t\t<code>Mark for Installation</code>. Dovrebbe comparire una freccia gialla sul quadratino.</p><img src=\"https://i.imgur.com/zP74nks.png\" alt=\"\"/>\n\t\t\t\t\t<p> Ora, è il momento di installare i pacchetti. Aprite il menù <code>Installation</code>, poi premete\n\t\t\t\t\t\t<code>Apply Changes</code>, e di nuovo <code>Apply</code>.</p><img src=\"https://i.imgur.com/jp4uz5B.png\" alt=\"\"/>\n\t\t\t\t\t<p> Lasciate che scarichi, ci vorrà un po'. Guardatevi un video nel frattempo, fatevi una partitina a qualcosa, tornate\n\t\t\t\t\t\tdopo circa 10 minuti.</p><img src=\"https://i.imgur.com/Lq9IepY.png\" alt=\"\"/>\n\t\t\t\t\t<p> Una volta installato, dobbiamo aggiungere <code>g++</code> ai programmi eseguibili da Prompt dei Comandi: premete il\n\t\t\t\t\t\ttasto <kbd>Windows</kbd>, e scrivete <code>PATH</code>. Windows dovrebbe trovarvi automaticamente quell'opzione.</p>\n\t\t\t\t\t<img src=\"https://i.imgur.com/dy3b5Ub.png\" alt=\"\"/>\n\t\t\t\t\t<p> Dentro la finestra di <i>Proprietà del Sistema</i>, premete <code>Variabili d'ambiente</code>.</p><img src=\"https://i.imgur.com/FjYpT1n.png\" alt=\"\"/>\n\t\t\t\t\t<p> Trovate la variabile d'ambiente globale <code>Path</code>, e fateci doppio click per modificarla.</p><img src=\"https://i.imgur.com/klZQ9So.png\" alt=\"\"/>\n\t\t\t\t\t<p> Ora dovreste vedere l'elenco di tutte le cartelle contenenti programmi eseguibili da terminale: dobbiamo aggiungere\n\t\t\t\t\t\tquella di MinGW! Premete <code>Sfoglia</code>.</p><img src=\"https://i.imgur.com/F6lBCqS.png\" alt=\"\"/>\n\t\t\t\t\t<p> Trovate la cartella in cui avete installato MinGW (vi avevo detto di ricordarvela!); entrateci, poi selezionate la\n\t\t\t\t\t\tsottocartella <code>bin</code> e premete <code>OK</code> su tutte le finestre che avete aperto fino ad ora,\n\t\t\t\t\t\tchiudendole.</p>\n\t\t\t\t\t<p> Complimenti! Avete installato MinGW e potete compilare programmi C e C++ da Windows! Avete a disposizione\n\t\t\t\t\t\t<code>gcc</code> e <code>g++</code> sul Prompt dei Comandi, e potete finalmente creare dei file .exe! </p>\n\t\t\t\t</Panel>\n\t\t\t</div>\n\t\t);\n\t}\n}\n\n\n\n\n// WEBPACK FOOTER //\n// ./pages/mingwinstall.js","import style from './copyright.css';\nimport { Component } from 'preact';\n\nexport default class Copyright extends Component {\n\trender() {\n\t\treturn <div class={style.copyright}>© 2019 - Stefano Pigozzi - <a href=\"https://creativecommons.org/licenses/by-sa/4.0/\">CC BY-SA 4.0</a> - <a href=\"https://github.com/Steffo99/appuntiweb\">Codice sorgente</a></div>;\n\t}\n}\n\n\n// WEBPACK FOOTER //\n// ./components/copyright.js","import './index.css';\nimport './manifest.json';\nimport { Component } from 'preact';\nimport Router from 'preact-router';\nimport Home from './pages/home';\nimport Fisica from './pages/fisica';\nimport VlDiGeometria from './pages/vldigeometria';\nimport MingwInstall from './pages/mingwinstall';\nimport Copyright from './components/copyright';\n\n// noinspection JSUnusedGlobalSymbols\nexport default class App extends Component {\n\trender() {\n\t\treturn (\n\t\t\t<div id=\"app\">\n\t\t\t\t<h1><a href=\"/\">Appuntiweb</a> <small>di <a href=\"https://steffo.eu/\">Steffo</a></small></h1>\n\t\t\t\t<Router>\n\t\t\t\t\t<Home path=\"/\"/>\n\t\t\t\t\t<Fisica path=\"/fisica\"/>\n\t\t\t\t\t<VlDiGeometria path=\"/vldigeometria\"/>\n\t\t\t\t\t<MingwInstall path=\"/mingwinstall\"/>\n\t\t\t\t</Router>\n\t\t\t\t<Copyright/>\n\t\t\t</div>\n\t\t);\n\t}\n}\n\n\n\n// WEBPACK FOOTER //\n// ./index.js","!function(){\"use strict\";function e(e,t){var n,o,r,i,l=W;for(i=arguments.length;i-- >2;)P.push(arguments[i]);t&&null!=t.children&&(P.length||P.push(t.children),delete t.children);while(P.length)if((o=P.pop())&&void 0!==o.pop)for(i=o.length;i--;)P.push(o[i]);else\"boolean\"==typeof o&&(o=null),(r=\"function\"!=typeof e)&&(null==o?o=\"\":\"number\"==typeof o?o+=\"\":\"string\"!=typeof o&&(r=!1)),r&&n?l[l.length-1]+=o:l===W?l=[o]:l.push(o),n=r;var a=new T;return a.nodeName=e,a.children=l,a.attributes=null==t?void 0:t,a.key=null==t?void 0:t.key,void 0!==M.vnode&&M.vnode(a),a}function t(e,t){for(var n in t)e[n]=t[n];return e}function n(e,t){e&&(\"function\"==typeof e?e(t):e.current=t)}function o(n,o){return e(n.nodeName,t(t({},n.attributes),o),arguments.length>2?[].slice.call(arguments,2):n.children)}function r(e){!e.__d&&(e.__d=!0)&&1==V.push(e)&&(M.debounceRendering||D)(i)}function i(){var e;while(e=V.pop())e.__d&&x(e)}function l(e,t,n){return\"string\"==typeof t||\"number\"==typeof t?void 0!==e.splitText:\"string\"==typeof t.nodeName?!e._componentConstructor&&a(e,t.nodeName):n||e._componentConstructor===t.nodeName}function a(e,t){return e.__n===t||e.nodeName.toLowerCase()===t.toLowerCase()}function u(e){var n=t({},e.attributes);n.children=e.children;var o=e.nodeName.defaultProps;if(void 0!==o)for(var r in o)void 0===n[r]&&(n[r]=o[r]);return n}function c(e,t){var n=t?document.createElementNS(\"http://www.w3.org/2000/svg\",e):document.createElement(e);return n.__n=e,n}function p(e){var t=e.parentNode;t&&t.removeChild(e)}function s(e,t,o,r,i){if(\"className\"===t&&(t=\"class\"),\"key\"===t);else if(\"ref\"===t)n(o,null),n(r,e);else if(\"class\"!==t||i)if(\"style\"===t){if(r&&\"string\"!=typeof r&&\"string\"!=typeof o||(e.style.cssText=r||\"\"),r&&\"object\"==typeof r){if(\"string\"!=typeof o)for(var l in o)l in r||(e.style[l]=\"\");for(var l in r)e.style[l]=\"number\"==typeof r[l]&&!1===E.test(l)?r[l]+\"px\":r[l]}}else if(\"dangerouslySetInnerHTML\"===t)r&&(e.innerHTML=r.__html||\"\");else if(\"o\"==t[0]&&\"n\"==t[1]){var a=t!==(t=t.replace(/Capture$/,\"\"));t=t.toLowerCase().substring(2),r?o||e.addEventListener(t,_,a):e.removeEventListener(t,_,a),(e.__l||(e.__l={}))[t]=r}else if(\"list\"!==t&&\"type\"!==t&&!i&&t in e){try{e[t]=null==r?\"\":r}catch(e){}null!=r&&!1!==r||\"spellcheck\"==t||e.removeAttribute(t)}else{var u=i&&t!==(t=t.replace(/^xlink:?/,\"\"));null==r||!1===r?u?e.removeAttributeNS(\"http://www.w3.org/1999/xlink\",t.toLowerCase()):e.removeAttribute(t):\"function\"!=typeof r&&(u?e.setAttributeNS(\"http://www.w3.org/1999/xlink\",t.toLowerCase(),r):e.setAttribute(t,r))}else e.className=r||\"\"}function _(e){return this.__l[e.type](M.event&&M.event(e)||e)}function f(){var e;while(e=A.shift())M.afterMount&&M.afterMount(e),e.componentDidMount&&e.componentDidMount()}function d(e,t,n,o,r,i){H++||(R=null!=r&&void 0!==r.ownerSVGElement,B=null!=e&&!(\"__preactattr_\"in e));var l=h(e,t,n,o,i);return r&&l.parentNode!==r&&r.appendChild(l),--H||(B=!1,i||f()),l}function h(e,t,n,o,r){var i=e,l=R;if(null!=t&&\"boolean\"!=typeof t||(t=\"\"),\"string\"==typeof t||\"number\"==typeof t)return e&&void 0!==e.splitText&&e.parentNode&&(!e._component||r)?e.nodeValue!=t&&(e.nodeValue=t):(i=document.createTextNode(t),e&&(e.parentNode&&e.parentNode.replaceChild(i,e),v(e,!0))),i.__preactattr_=!0,i;var u=t.nodeName;if(\"function\"==typeof u)return N(e,t,n,o);if(R=\"svg\"===u||\"foreignObject\"!==u&&R,u+=\"\",(!e||!a(e,u))&&(i=c(u,R),e)){while(e.firstChild)i.appendChild(e.firstChild);e.parentNode&&e.parentNode.replaceChild(i,e),v(e,!0)}var p=i.firstChild,s=i.__preactattr_,_=t.children;if(null==s){s=i.__preactattr_={};for(var f=i.attributes,d=f.length;d--;)s[f[d].name]=f[d].value}return!B&&_&&1===_.length&&\"string\"==typeof _[0]&&null!=p&&void 0!==p.splitText&&null==p.nextSibling?p.nodeValue!=_[0]&&(p.nodeValue=_[0]):(_&&_.length||null!=p)&&m(i,_,n,o,B||null!=s.dangerouslySetInnerHTML),y(i,t.attributes,s),R=l,i}function m(e,t,n,o,r){var i,a,u,c,s,_=e.childNodes,f=[],d={},m=0,b=0,y=_.length,g=0,w=t?t.length:0;if(0!==y)for(var C=0;C<y;C++){var x=_[C],N=x.__preactattr_,k=w&&N?x._component?x._component.__k:N.key:null;null!=k?(m++,d[k]=x):(N||(void 0!==x.splitText?!r||x.nodeValue.trim():r))&&(f[g++]=x)}if(0!==w)for(var C=0;C<w;C++){c=t[C],s=null;var k=c.key;if(null!=k)m&&void 0!==d[k]&&(s=d[k],d[k]=void 0,m--);else if(b<g)for(i=b;i<g;i++)if(void 0!==f[i]&&l(a=f[i],c,r)){s=a,f[i]=void 0,i===g-1&&g--,i===b&&b++;break}s=h(s,c,n,o),u=_[C],s&&s!==e&&s!==u&&(null==u?e.appendChild(s):s===u.nextSibling?p(u):e.insertBefore(s,u))}if(m)for(var C in d)void 0!==d[C]&&v(d[C],!1);while(b<=g)void 0!==(s=f[g--])&&v(s,!1)}function v(e,t){var o=e._component;o?k(o):(null!=e.__preactattr_&&n(e.__preactattr_.ref,null),!1!==t&&null!=e.__preactattr_||p(e),b(e))}function b(e){e=e.lastChild;while(e){var t=e.previousSibling;v(e,!0),e=t}}function y(e,t,n){var o;for(o in n)t&&null!=t[o]||null==n[o]||s(e,o,n[o],n[o]=void 0,R);for(o in t)\"children\"===o||\"innerHTML\"===o||o in n&&t[o]===(\"value\"===o||\"checked\"===o?e[o]:n[o])||s(e,o,n[o],n[o]=t[o],R)}function g(e,t,n){var o,r=F.length;e.prototype&&e.prototype.render?(o=new e(t,n),U.call(o,t,n)):(o=new U(t,n),o.constructor=e,o.render=w);while(r--)if(F[r].constructor===e)return o.__b=F[r].__b,F.splice(r,1),o;return o}function w(e,t,n){return this.constructor(e,n)}function C(e,t,o,i,l){e.__x||(e.__x=!0,e.__r=t.ref,e.__k=t.key,delete t.ref,delete t.key,void 0===e.constructor.getDerivedStateFromProps&&(!e.base||l?e.componentWillMount&&e.componentWillMount():e.componentWillReceiveProps&&e.componentWillReceiveProps(t,i)),i&&i!==e.context&&(e.__c||(e.__c=e.context),e.context=i),e.__p||(e.__p=e.props),e.props=t,e.__x=!1,0!==o&&(1!==o&&!1===M.syncComponentUpdates&&e.base?r(e):x(e,1,l)),n(e.__r,e))}function x(e,n,o,r){if(!e.__x){var i,l,a,c=e.props,p=e.state,s=e.context,_=e.__p||c,h=e.__s||p,m=e.__c||s,b=e.base,y=e.__b,w=b||y,N=e._component,U=!1,S=m;if(e.constructor.getDerivedStateFromProps&&(p=t(t({},p),e.constructor.getDerivedStateFromProps(c,p)),e.state=p),b&&(e.props=_,e.state=h,e.context=m,2!==n&&e.shouldComponentUpdate&&!1===e.shouldComponentUpdate(c,p,s)?U=!0:e.componentWillUpdate&&e.componentWillUpdate(c,p,s),e.props=c,e.state=p,e.context=s),e.__p=e.__s=e.__c=e.__b=null,e.__d=!1,!U){i=e.render(c,p,s),e.getChildContext&&(s=t(t({},s),e.getChildContext())),b&&e.getSnapshotBeforeUpdate&&(S=e.getSnapshotBeforeUpdate(_,h));var L,T,P=i&&i.nodeName;if(\"function\"==typeof P){var W=u(i);l=N,l&&l.constructor===P&&W.key==l.__k?C(l,W,1,s,!1):(L=l,e._component=l=g(P,W,s),l.__b=l.__b||y,l.__u=e,C(l,W,0,s,!1),x(l,1,o,!0)),T=l.base}else a=w,L=N,L&&(a=e._component=null),(w||1===n)&&(a&&(a._component=null),T=d(a,i,s,o||!b,w&&w.parentNode,!0));if(w&&T!==w&&l!==N){var D=w.parentNode;D&&T!==D&&(D.replaceChild(T,w),L||(w._component=null,v(w,!1)))}if(L&&k(L),e.base=T,T&&!r){var E=e,V=e;while(V=V.__u)(E=V).base=T;T._component=E,T._componentConstructor=E.constructor}}!b||o?A.push(e):U||(e.componentDidUpdate&&e.componentDidUpdate(_,h,S),M.afterUpdate&&M.afterUpdate(e));while(e.__h.length)e.__h.pop().call(e);H||r||f()}}function N(e,t,n,o){var r=e&&e._component,i=r,l=e,a=r&&e._componentConstructor===t.nodeName,c=a,p=u(t);while(r&&!c&&(r=r.__u))c=r.constructor===t.nodeName;return r&&c&&(!o||r._component)?(C(r,p,3,n,o),e=r.base):(i&&!a&&(k(i),e=l=null),r=g(t.nodeName,p,n),e&&!r.__b&&(r.__b=e,l=null),C(r,p,1,n,o),e=r.base,l&&e!==l&&(l._component=null,v(l,!1))),e}function k(e){M.beforeUnmount&&M.beforeUnmount(e);var t=e.base;e.__x=!0,e.componentWillUnmount&&e.componentWillUnmount(),e.base=null;var o=e._component;o?k(o):t&&(null!=t.__preactattr_&&n(t.__preactattr_.ref,null),e.__b=t,p(t),F.push(e),b(t)),n(e.__r,null)}function U(e,t){this.__d=!0,this.context=t,this.props=e,this.state=this.state||{},this.__h=[]}function S(e,t,n){return d(n,e,{},!1,t,!1)}function L(){return{}}var T=function(){},M={},P=[],W=[],D=\"function\"==typeof Promise?Promise.resolve().then.bind(Promise.resolve()):setTimeout,E=/acit|ex(?:s|g|n|p|$)|rph|ows|mnc|ntw|ine[ch]|zoo|^ord/i,V=[],A=[],H=0,R=!1,B=!1,F=[];t(U.prototype,{setState:function(e,n){this.__s||(this.__s=this.state),this.state=t(t({},this.state),\"function\"==typeof e?e(this.state,this.props):e),n&&this.__h.push(n),r(this)},forceUpdate:function(e){e&&this.__h.push(e),x(this,2)},render:function(){}});var j={h:e,createElement:e,cloneElement:o,createRef:L,Component:U,render:S,rerender:i,options:M};\"undefined\"!=typeof module?module.exports=j:self.preact=j}();\n//# sourceMappingURL=preact.min.js.map\n\n\n// WEBPACK FOOTER //\n// ../node_modules/preact/dist/preact.min.js","// removed by extract-text-webpack-plugin\nmodule.exports = {\"markdown\":\"markdown__bh-kq\"};\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./components/markdown.css\n// module id = MKE3\n// module chunks = 0","// removed by extract-text-webpack-plugin\nmodule.exports = {\"minus\":\"minus__2Ld4F\"};\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./components/minus.css\n// module id = MeW5\n// module chunks = 0","// removed by extract-text-webpack-plugin\nmodule.exports = {\"panel\":\"panel__1ubJw\"};\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./components/panel.css\n// module id = P9k+\n// module chunks = 0","module.exports = {\"name\":\"Appunti Web\",\"short_name\":\"Appunti Web\",\"start_url\":\"/appuntiweb/\",\"display\":\"standalone\",\"orientation\":\"portrait\",\"background_color\":\"#0d193b\",\"theme_color\":\"#a0ccff\",\"icons\":[{\"src\":\"/assets/icon.png\",\"type\":\"image/png\",\"sizes\":\"800x800\"}]}\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./manifest.json\n// module id = ZcXo\n// module chunks = 0","// removed by extract-text-webpack-plugin\nmodule.exports = {\"plus\":\"plus__29_QM\"};\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./components/plus.css\n// module id = ddTt\n// module chunks = 0","// removed by extract-text-webpack-plugin\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./pages/vldigeometria.css\n// module id = jHTF\n// module chunks = 0","// removed by extract-text-webpack-plugin\nmodule.exports = {\"copyright\":\"copyright__2FTnU\"};\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./components/copyright.css\n// module id = qMTX\n// module chunks = 0","// removed by extract-text-webpack-plugin\nmodule.exports = {\"todo\":\"todo__1pOoN\"};\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./components/todo.css\n// module id = tO1d\n// module chunks = 0","// removed by extract-text-webpack-plugin\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./index.css\n// module id = xHuH\n// module chunks = 0"],"sourceRoot":""} |