mirror of
https://github.com/Steffo99/unisteffo.git
synced 2024-11-23 00:14:21 +00:00
1 line
No EOL
998 KiB
Text
1 line
No EOL
998 KiB
Text
{"version":3,"sources":["webpack:///bundle.8b2a9.js","webpack:///webpack/bootstrap 6d853fba75161583c80b","webpack:///./components/latex.css","webpack:///./components/split.css","webpack:///../node_modules/showdown/dist/showdown.js","webpack:///./components/thesis.css","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:///./components/theorem.js","webpack:///./components/hypothesis.js","webpack:///./components/thesis.js","webpack:///./components/proof.js","webpack:///./components/example.js","webpack:///./pages/statistica.js","webpack:///./index.js","webpack:///../node_modules/preact/dist/preact.min.js","webpack:///./components/markdown.css","webpack:///./components/minus.css","webpack:///./components/panel.css","webpack:///./components/example.css","webpack:///./manifest.json","webpack:///./components/plus.css","webpack:///./components/theorem.css","webpack:///./components/hypothesis.css","webpack:///../node_modules/preact-cli/lib/lib/entry.js","webpack:///./components/copyright.css","webpack:///./components/todo.css"],"names":["modules","__webpack_require__","moduleId","installedModules","exports","module","i","l","call","m","c","d","name","getter","o","Object","defineProperty","configurable","enumerable","get","n","__esModule","object","property","prototype","hasOwnProperty","p","s","+uq9","0lnO","1EpE","36Ou","5m9J","6adR","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","validate","extension","errMsg","valid","error","showdown","helper","isArray","length","baseMsg","ext","isString","toLowerCase","isUndefined","listeners","filter","regex","ln","RegExp","replace","escapeCharactersCallback","wholeMatch","m1","charCodeAt","parsers","extensions","globalOptions","setFlavor","flavor","github","original","ghost","vanilla","allOn","options","setOption","key","value","this","getOption","getOptions","resetOptions","Error","preset","option","getFlavor","getFlavorOptions","getDefaultOptions","subParser","func","stdExtName","validExtension","getAllExtensions","removeExtension","resetExtensions","validateExtension","console","warn","a","String","isFunction","getType","toString","Array","forEach","obj","callback","prop","escapeCharacters","text","charsToEscape","afterBackslash","regexString","unescapeHTMLEntities","txt","rgxFindMatchPos","str","left","right","flags","t","start","end","f","g","indexOf","x","pos","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","_parseExtension","legacyExtensionLoading","validExt","langExtensions","outputModifiers","listen","rTrimInputText","rsp","setConvFlavor","parsed","raw","format","gOpt","_dispatch","evtName","globals","ei","nText","makeHtml","gHtmlBlocks","gHtmlMdBlocks","gHtmlSpans","gUrls","gTitles","gDimensions","gListLevel","hashLinkCounts","converter","makeMarkdown","makeMd","src","HTMLParser","clean","node","childNodes","child","nodeType","nodeValue","split","removeChild","window","document","doc","createElement","innerHTML","preList","pres","querySelectorAll","presPH","childElementCount","firstChild","tagName","content","trim","language","getAttribute","classes","className","matches","outerHTML","setAttribute","nodes","mdDoc","addExtension","useExtension","extensionName","splice","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","rgx","bq","pre","codeblock","nextChar","doctype","doctypeParsed","charset","lang","meta","leadingText","numSpaces","emojiCode","tags","comments","delim","blockText","blockTags","repFunc","inside","opTagPos","rgx1","patLeft","patRight","subTexts","newSubText1","concat","hashHTMLSpan","html","repText","limit","num","$1","headerId","prefix","customizedHeaderId","isNaN","parseInt","setextRegexH1","setextRegexH2","spanGamut","hID","hLevel","hashBlock","matchFound","hText","span","header","writeImageTagBase64","altText","width","height","writeImageTag","gDims","inlineRegExp","crazyRegExp","base64RegExp","referenceRegExp","refShortcutRegExp","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","parseStyles","sLine","parseHeaders","id","tableHeaderId","parseCells","cell","buildTable","headers","cells","tb","tblLgn","ii","parseTable","rawTable","tableLines","rawHeaders","map","rawStyles","rawCells","styles","shift","row","tableRgx","singeColTblRgx","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","define","J9SO","JkW7","__webpack_exports__","assign","props","route","opts","reg","decodeURIComponent","segmentize","max","i$1","charAt","param","EMPTY$1","plus","star","val","default","pathRankSort","rank","prepareVNodeForRanking","vnode","rankChild","attributes","rankSegment","segment","path","isPreactElement","__preactattr_","Symbol","for","setUrl","customHistory","history","getCurrentUrl","location","getCurrentLocation","EMPTY","pathname","canRoute","routeTo","ROUTERS","didRoute","subscribers","routeFromLink","handleLinkClick","e","button","currentTarget","prevent","stopImmediatePropagation","stopPropagation","preventDefault","delegateLinkHandler","ctrlKey","metaKey","altKey","shiftKey","nodeName","toUpperCase","parentNode","initEventListeners","eventListenersInitialized","addEventListener","_possibleConstructorReturn","self","ReferenceError","_inherits","subClass","superClass","TypeError","create","constructor","writable","setPrototypeOf","__proto__","split__classCallCheck","instance","Constructor","split__possibleConstructorReturn","split__inherits","todo__classCallCheck","todo__possibleConstructorReturn","todo__inherits","home__classCallCheck","home__possibleConstructorReturn","home__inherits","latex__classCallCheck","latex__possibleConstructorReturn","latex__inherits","plus__classCallCheck","plus__possibleConstructorReturn","plus__inherits","minus__classCallCheck","minus__possibleConstructorReturn","minus__inherits","_taggedTemplateLiteralLoose","strings","fisica__classCallCheck","fisica__possibleConstructorReturn","fisica__inherits","markdown__classCallCheck","markdown__possibleConstructorReturn","markdown__inherits","vldigeometria__classCallCheck","vldigeometria__possibleConstructorReturn","vldigeometria__inherits","mingwinstall__classCallCheck","mingwinstall__possibleConstructorReturn","mingwinstall__inherits","copyright__classCallCheck","copyright__possibleConstructorReturn","copyright__inherits","theorem__classCallCheck","theorem__possibleConstructorReturn","theorem__inherits","hypothesis__classCallCheck","hypothesis__possibleConstructorReturn","hypothesis__inherits","thesis__classCallCheck","thesis__possibleConstructorReturn","thesis__inherits","proof__classCallCheck","proof__possibleConstructorReturn","proof__inherits","example__classCallCheck","example__possibleConstructorReturn","example__inherits","statistica__taggedTemplateLiteralLoose","statistica__classCallCheck","statistica__possibleConstructorReturn","statistica__inherits","index__classCallCheck","index__possibleConstructorReturn","index__inherits","preact_min","Router","Component$$1","state","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","home","home_default","panel","panel_default","Panel","_Component","apply","arguments","getStyle","undefined","class","split_default","Split","element","splitchild","splitparent","todo","todo_default","Todo","_ref","_ref2","_ref3","Home","fisica","fisica_default","latex","latex_default","Latex","equation","alt","plus_default","Plus","minus","minus_default","Minus","_templateObject","_templateObject2","_templateObject3","_templateObject4","_templateObject5","_templateObject6","_templateObject7","_templateObject8","_templateObject9","_templateObject10","_templateObject11","_templateObject12","_templateObject13","_templateObject14","_templateObject15","_templateObject16","_templateObject17","_templateObject18","_templateObject19","_templateObject20","_templateObject21","_templateObject22","_templateObject23","_templateObject24","_templateObject25","_templateObject26","_templateObject27","_templateObject28","_templateObject29","_templateObject30","_templateObject31","_templateObject32","_templateObject33","_templateObject34","_templateObject35","_templateObject36","_templateObject37","_templateObject38","_templateObject39","_templateObject40","_templateObject41","_templateObject42","_templateObject43","_templateObject44","_templateObject45","_templateObject46","_templateObject47","_templateObject48","_templateObject49","_templateObject50","_templateObject51","_templateObject52","_templateObject53","_templateObject54","_templateObject55","_templateObject56","_templateObject57","_templateObject58","_templateObject59","_templateObject60","_templateObject61","_templateObject62","_templateObject63","_templateObject64","_templateObject65","_templateObject66","_templateObject67","_templateObject68","_templateObject69","_templateObject70","_templateObject71","_templateObject72","_templateObject73","_templateObject74","_templateObject75","_templateObject76","_templateObject77","_templateObject78","_templateObject79","_templateObject80","_templateObject81","_templateObject82","_templateObject83","_templateObject84","_templateObject85","_templateObject86","_templateObject87","_templateObject88","_templateObject89","_templateObject90","_templateObject91","_templateObject92","_templateObject93","_templateObject94","_templateObject95","_templateObject96","_templateObject97","_templateObject98","_templateObject99","_templateObject100","_templateObject101","_templateObject102","_templateObject103","_templateObject104","_templateObject105","_templateObject106","_templateObject107","_templateObject108","_templateObject109","_templateObject110","_templateObject111","_templateObject112","_templateObject113","_templateObject114","_templateObject115","_templateObject116","_templateObject117","_templateObject118","_templateObject119","_templateObject120","_templateObject121","_templateObject122","_templateObject123","_templateObject124","_templateObject125","_templateObject126","fisica__ref","fisica__ref2","fisica__ref3","_ref4","_ref5","_ref6","_ref7","_ref8","_ref9","_ref10","_ref11","_ref12","_ref13","_ref14","_ref15","_ref16","_ref17","_ref18","_ref19","_ref20","_ref21","_ref22","_ref23","_ref24","_ref25","_ref26","_ref27","_ref28","_ref29","_ref30","_ref31","_ref32","_ref33","_ref34","_ref35","_ref36","_ref37","_ref38","_ref39","_ref40","_ref41","_ref42","_ref43","_ref44","_ref45","_ref46","_ref47","_ref48","_ref49","_ref50","_ref51","_ref52","_ref53","_ref54","_ref55","_ref56","_ref57","_ref58","_ref59","_ref60","_ref61","_ref62","_ref63","_ref64","_ref65","_ref66","_ref67","_ref68","_ref69","_ref70","_ref71","_ref72","_ref73","_ref74","_ref75","_ref76","_ref77","_ref78","_ref79","_ref80","_ref81","_ref82","_ref83","_ref84","_ref85","_ref86","_ref87","_ref88","_ref89","_ref90","_ref91","_ref92","_ref93","_ref94","_ref95","_ref96","_ref97","_ref98","_ref99","_ref100","_ref101","_ref102","_ref103","_ref104","_ref105","_ref106","_ref107","_ref108","_ref109","_ref110","_ref111","_ref112","_ref113","_ref114","_ref115","_ref116","_ref117","_ref118","_ref119","_ref120","_ref121","_ref122","_ref123","_ref124","_ref125","_ref126","_ref127","_ref128","_ref129","_ref130","_ref131","_ref132","_ref133","_ref134","_ref135","_ref136","_ref137","_ref138","_ref139","_ref140","_ref141","_ref142","_ref143","_ref144","_ref145","_ref146","_ref147","_ref148","_ref149","_ref150","_ref151","_ref152","_ref153","_ref154","_ref155","_ref156","_ref157","_ref158","_ref159","_ref160","_ref161","_ref162","_ref163","_ref164","_ref165","_ref166","Fisica","vldigeometria","vldigeometria_default","markdown","markdown_default","showdown_default","Markdown","dangerouslySetInnerHTML","__html","vldigeometria__templateObject","vldigeometria__ref","VlDiGeometria","mingwinstall","mingwinstall_default","mingwinstall__ref","mingwinstall__ref2","MingwInstall","copyright","copyright_default","copyright__ref","copyright__ref2","Copyright","statistica","statistica_default","theorem","theorem_default","Theorem","_Panel","hypothesis","hypothesis_default","hypothesis__ref","Hypothesis","thesis","thesis_default","thesis__ref","Thesis","proof","proof_default","proof__ref","Proof","example","example_default","Example","statistica__templateObject","statistica__templateObject2","statistica__templateObject3","statistica__templateObject4","statistica__templateObject5","statistica__templateObject6","statistica__templateObject7","statistica__templateObject8","statistica__templateObject9","statistica__templateObject10","statistica__templateObject11","statistica__templateObject12","statistica__templateObject13","statistica__templateObject14","statistica__templateObject15","statistica__templateObject16","statistica__templateObject17","statistica__templateObject18","statistica__templateObject19","statistica__templateObject20","statistica__templateObject21","statistica__templateObject22","statistica__templateObject23","statistica__templateObject24","statistica__templateObject25","statistica__templateObject26","statistica__templateObject27","statistica__templateObject28","statistica__templateObject29","statistica__templateObject30","statistica__templateObject31","statistica__templateObject32","statistica__templateObject33","statistica__templateObject34","statistica__templateObject35","statistica__templateObject36","statistica__templateObject37","statistica__templateObject38","statistica__templateObject39","statistica__templateObject40","statistica__templateObject41","statistica__templateObject42","statistica__templateObject43","statistica__templateObject44","statistica__templateObject45","statistica__templateObject46","statistica__templateObject47","statistica__templateObject48","statistica__templateObject49","statistica__templateObject50","statistica__templateObject51","statistica__templateObject52","statistica__templateObject53","statistica__templateObject54","statistica__templateObject55","statistica__templateObject56","statistica__templateObject57","statistica__templateObject58","statistica__templateObject59","statistica__templateObject60","statistica__templateObject61","statistica__templateObject62","statistica__templateObject63","statistica__templateObject64","statistica__templateObject65","statistica__templateObject66","statistica__templateObject67","statistica__templateObject68","statistica__templateObject69","statistica__templateObject70","statistica__templateObject71","statistica__templateObject72","statistica__templateObject73","statistica__templateObject74","statistica__templateObject75","statistica__templateObject76","statistica__templateObject77","statistica__templateObject78","statistica__templateObject79","statistica__templateObject80","statistica__templateObject81","statistica__templateObject82","statistica__templateObject83","statistica__templateObject84","statistica__templateObject85","statistica__templateObject86","statistica__templateObject87","statistica__templateObject88","statistica__templateObject89","statistica__templateObject90","statistica__templateObject91","statistica__templateObject92","statistica__templateObject93","statistica__templateObject94","statistica__templateObject95","statistica__templateObject96","statistica__templateObject97","statistica__templateObject98","statistica__templateObject99","statistica__templateObject100","statistica__templateObject101","statistica__templateObject102","statistica__templateObject103","statistica__templateObject104","statistica__templateObject105","statistica__templateObject106","statistica__ref","statistica__ref2","statistica__ref3","statistica__ref4","statistica__ref5","statistica__ref6","statistica__ref7","statistica__ref8","statistica__ref9","statistica__ref10","statistica__ref11","statistica__ref12","statistica__ref13","statistica__ref14","statistica__ref15","statistica__ref16","statistica__ref17","statistica__ref18","statistica__ref19","statistica__ref20","statistica__ref21","statistica__ref22","statistica__ref23","statistica__ref24","statistica__ref25","statistica__ref26","statistica__ref27","statistica__ref28","statistica__ref29","statistica__ref30","statistica__ref31","statistica__ref32","statistica__ref33","statistica__ref34","statistica__ref35","statistica__ref36","statistica__ref37","statistica__ref38","statistica__ref39","statistica__ref40","statistica__ref41","statistica__ref42","statistica__ref43","statistica__ref44","statistica__ref45","statistica__ref46","statistica__ref47","statistica__ref48","statistica__ref49","statistica__ref50","statistica__ref51","statistica__ref52","statistica__ref53","statistica__ref54","statistica__ref55","statistica__ref56","statistica__ref57","statistica__ref58","statistica__ref59","statistica__ref60","statistica__ref61","statistica__ref62","statistica__ref63","statistica__ref64","statistica__ref65","statistica__ref66","statistica__ref67","statistica__ref68","statistica__ref69","statistica__ref70","statistica__ref71","statistica__ref72","statistica__ref73","statistica__ref74","statistica__ref75","statistica__ref76","statistica__ref77","statistica__ref78","statistica__ref79","statistica__ref80","statistica__ref81","statistica__ref82","statistica__ref83","statistica__ref84","statistica__ref85","statistica__ref86","statistica__ref87","statistica__ref88","statistica__ref89","statistica__ref90","statistica__ref91","statistica__ref92","statistica__ref93","statistica__ref94","statistica__ref95","statistica__ref96","statistica__ref97","statistica__ref98","statistica__ref99","statistica__ref100","statistica__ref101","statistica__ref102","statistica__ref103","statistica__ref104","statistica__ref105","statistica__ref106","statistica__ref107","statistica__ref108","statistica__ref109","statistica__ref110","statistica__ref111","statistica__ref112","statistica__ref113","statistica__ref114","statistica__ref115","statistica__ref116","statistica__ref117","statistica__ref118","statistica__ref119","statistica__ref120","statistica__ref121","statistica__ref122","statistica__ref123","statistica__ref124","statistica__ref125","statistica__ref126","statistica__ref127","statistica__ref128","statistica__ref129","statistica__ref130","statistica__ref131","statistica__ref132","statistica__ref133","statistica__ref134","statistica__ref135","statistica__ref136","statistica__ref137","statistica__ref138","statistica__ref139","statistica__ref140","statistica__ref141","statistica__ref142","statistica__ref143","statistica__ref144","statistica__ref145","statistica__ref146","statistica__ref147","statistica__ref148","statistica__ref149","statistica__ref150","statistica__ref151","statistica__ref152","statistica__ref153","statistica__ref154","statistica__ref155","statistica__ref156","statistica__ref157","statistica__ref158","Statistica","App","index__ref","KM04","W","P","pop","T","M","__d","V","debounceRendering","D","splitText","_componentConstructor","__n","u","defaultProps","createElementNS","cssText","E","_","removeEventListener","__l","removeAttribute","removeAttributeNS","setAttributeNS","event","A","afterMount","H","R","ownerSVGElement","B","appendChild","_component","createTextNode","replaceChild","v","N","nextSibling","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","MKE3","MeW5","Oqef","P9k+","WViY","Xa+Z","ZcXo","ddTt","jHTF","oNmJ","pRAn","pwNi","_preact","require","navigator","protocol","serviceWorker","register","__webpack_public_path__","interopDefault","root","body","firstElementChild","init","app","qMTX","tO1d","xHuH"],"mappings":"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IAAMhhB,MAAM,WACT,qFAGA,gEAC2C,0CAD3C,wCACuG,uCADvG,kCdu2MpBihB,Gcl2MoB,wHdw2MpBC,Gch2MoB,6Fds2MpBC,Gc/1MgB,aAAC,IAAMnhB,MAAM,YACT,yEAGA,2Ed02MpBohB,Gcr2MoB,qGd22MpBC,Gcr2MoB,oGd22MpBC,Gcp2MoB,iGd02MpBC,Gcl2MoB,uFdw2MpBC,Gcl2MoB,uFACkE,6CADlE,Kd82MpBC,Gct2MoB,sFd42MpBC,Gct2MoB,uFACkE,kDADlE,Kdk3MpBC,Gc32M8B,6CAAuB,gDds3MrDC,Gcr3MoB,mFd23MpBC,Gcr3MoB,yFd23MpBC,Gcj3MoB,4BACO,sCADP,Od63MpBC,Gcr3MoB,qCd23MpBC,Gcn3MoB,gDdy3MpBC,Gcl3MgB,aAAC,IAAMjiB,MAAM,SACT,8DAGA,sBACI,aAAC,GAAD,mBdg4MxBkiB,Gc13MoB,4BACO,sCADP,Ods4MpBC,Gc93MoB,sCdo4MpBC,Gc53MoB,qCdk4MpBC,Gc33MgB,aAAC,IAAMriB,MAAM,SACT,8DAGA,sBACI,aAAC,GAAD,qBdy4MxBsiB,Gcp4MgB,aAAC,IAAMtiB,MAAM,YACT,mFAGA,yDd+4MpBuiB,Gc14MoB,gFdg5MpBC,Gc74MoB,8Cdm5MpBC,Gc34MoB,2Cdi5MpBC,Gc13MgB,aAAC,IAAM1iB,MAAM,SACT,8DAGA,sBACI,aAAC,GAAD,qBdw4MxB2iB,Gcn4MgB,aAAC,IAAM3iB,MAAM,mBACT,kLd44MpB4iB,Gch4MoB,4Cds4MpBC,Gcn4MoB,0Ddy4MpBC,Gcj4MoB,0Fdu4MpBC,Gc/3MoB,uEdq4MpBC,Gc73MoB,uHdm4MpBC,Gc33MoB,6Ddi4MpBC,Gcv3MoB,uEd63MpBC,Gcv3MoB,6Id63MpBC,Gcx3MoB,gFd83MpBC,Gcx3MoB,6Hd83MpBC,Gct3MoB,gFd43MpBC,Gct3MoB,8BACS,aAAC,GAAD,UADT,2Ddk4MpBC,Gc73MoB,iFdm4MpBC,Gc33MoB,2Jdi4MpBC,Gc93MoB,uDACkC,0CADlC,QAC8D,6BAD9D,wCdg5MpBC,Gc74MoB,0Hdm5MpBC,Gc34MoB,oEdi5MpBC,Gcv4MoB,kEAC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","file":"bundle.8b2a9.js","sourcesContent":["/******/ (function(modules) { // webpackBootstrap\n/******/ \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 = \"pwNi\");\n/******/ })\n/************************************************************************/\n/******/ ({\n\n/***/ \"+uq9\":\n/***/ (function(module, exports) {\n\n// removed by extract-text-webpack-plugin\nmodule.exports = {\"latex\":\"latex__34DCT\"};\n\n/***/ }),\n\n/***/ \"0lnO\":\n/***/ (function(module, exports) {\n\n// removed by extract-text-webpack-plugin\n\n/***/ }),\n\n/***/ \"1EpE\":\n/***/ (function(module, exports) {\n\n// removed by extract-text-webpack-plugin\nmodule.exports = {\"split\":\"split__2Bl8C\",\"splitparent\":\"splitparent__nqY7W\",\"splitchild\":\"splitchild__3Ip86\"};\n\n/***/ }),\n\n/***/ \"36Ou\":\n/***/ (function(module, exports) {\n\n// removed by extract-text-webpack-plugin\n\n/***/ }),\n\n/***/ \"5m9J\":\n/***/ (function(module, exports) {\n\n// removed by extract-text-webpack-plugin\n\n/***/ }),\n\n/***/ \"6adR\":\n/***/ (function(module, exports, __webpack_require__) {\n\nvar __WEBPACK_AMD_DEFINE_RESULT__;; /*! showdown v 1.9.1 - 02-11-2019 */\n(function () {\n /**\n * Created by Tivie on 13-07-2015.\n */\n\n function 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\n function allOptionsOn() {\n 'use strict';\n\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\n /**\n * Created by Tivie on 06-01-2015.\n */\n\n // Private properties\n var 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 */\n showdown.helper = {};\n\n /**\n * TODO LEGACY SUPPORT CODE\n * @type {{}}\n */\n showdown.extensions = {};\n\n /**\n * Set a global option\n * @static\n * @param {string} key\n * @param {*} value\n * @returns {showdown}\n */\n showdown.setOption = function (key, value) {\n 'use strict';\n\n globalOptions[key] = value;\n return this;\n };\n\n /**\n * Get a global option\n * @static\n * @param {string} key\n * @returns {*}\n */\n showdown.getOption = function (key) {\n 'use strict';\n\n return globalOptions[key];\n };\n\n /**\n * Get the global options\n * @static\n * @returns {{}}\n */\n showdown.getOptions = function () {\n 'use strict';\n\n return globalOptions;\n };\n\n /**\n * Reset global options to the default values\n * @static\n */\n showdown.resetOptions = function () {\n 'use strict';\n\n globalOptions = getDefaultOpts(true);\n };\n\n /**\n * Set the flavor showdown should use as default\n * @param {string} name\n */\n showdown.setFlavor = function (name) {\n 'use strict';\n\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 */\n showdown.getFlavor = function () {\n 'use strict';\n\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 */\n showdown.getFlavorOptions = function (name) {\n 'use strict';\n\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 */\n showdown.getDefaultOptions = function (simple) {\n 'use strict';\n\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 */\n showdown.subParser = function (name, func) {\n 'use strict';\n\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 */\n showdown.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 */\n showdown.getAllExtensions = function () {\n 'use strict';\n\n return extensions;\n };\n\n /**\n * Remove an extension\n * @param {string} name\n */\n showdown.removeExtension = function (name) {\n 'use strict';\n\n delete extensions[name];\n };\n\n /**\n * Removes all extensions\n */\n showdown.resetExtensions = function () {\n 'use strict';\n\n extensions = {};\n };\n\n /**\n * Validate extension\n * @param {array} extension\n * @param {string} name\n * @returns {{valid: boolean, error: string}}\n */\n function 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 + ' 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 */\n showdown.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\n /**\n * showdownjs helper functions\n */\n\n if (!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 */\n showdown.helper.isString = function (a) {\n 'use strict';\n\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 */\n showdown.helper.isFunction = function (a) {\n 'use strict';\n\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 */\n showdown.helper.isArray = function (a) {\n 'use strict';\n\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 */\n showdown.helper.isUndefined = function (value) {\n 'use strict';\n\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 */\n showdown.helper.forEach = function (obj, callback) {\n 'use strict';\n // check if obj is defined\n\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 */\n showdown.helper.stdExtName = function (s) {\n 'use strict';\n\n return s.replace(/[_?*+\\/\\\\.^-]/g, '').replace(/\\s/g, '').toLowerCase();\n };\n\n function escapeCharactersCallback(wholeMatch, m1) {\n 'use strict';\n\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 */\n showdown.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 */\n showdown.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\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 */\n showdown.helper.unescapeHTMLEntities = function (txt) {\n 'use strict';\n\n return txt.replace(/"/g, '\"').replace(/</g, '<').replace(/>/g, '>').replace(/&/g, '&');\n };\n\n var rgxFindMatchPos = function rgxFindMatchPos(str, left, right, flags) {\n 'use strict';\n\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,\n s,\n m,\n start,\n 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 */\n showdown.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([str.slice(matchPos[i].wholeMatch.start, matchPos[i].wholeMatch.end), str.slice(matchPos[i].match.start, matchPos[i].match.end), str.slice(matchPos[i].left.start, matchPos[i].left.end), str.slice(matchPos[i].right.start, matchPos[i].right.end)]);\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 */\n showdown.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 replacement() {\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(replacement(str.slice(matchPos[i].wholeMatch.start, matchPos[i].wholeMatch.end), str.slice(matchPos[i].match.start, matchPos[i].match.end), str.slice(matchPos[i].left.start, matchPos[i].left.end), str.slice(matchPos[i].right.start, matchPos[i].right.end)));\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 */\n showdown.helper.regexIndexOf = function (str, regex, fromIndex) {\n 'use strict';\n\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 */\n showdown.helper.splitAtIndex = function (str, index) {\n 'use strict';\n\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 */\n showdown.helper.encodeEmailAddress = function (mail) {\n 'use strict';\n\n var encode = [function (ch) {\n return '&#' + ch.charCodeAt(0) + ';';\n }, function (ch) {\n return '&#x' + ch.charCodeAt(0).toString(16) + ';';\n }, function (ch) {\n return ch;\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 = r > 0.9 ? encode[2](ch) : r > 0.45 ? encode[1](ch) : encode[0](ch);\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 */\n showdown.helper.padEnd = function padEnd(str, targetLength, padString) {\n 'use strict';\n /*jshint bitwise: false*/\n // eslint-disable-next-line space-infix-ops\n\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\n if (typeof console === 'undefined') {\n console = {\n warn: function warn(msg) {\n 'use strict';\n\n alert(msg);\n },\n log: function log(msg) {\n 'use strict';\n\n alert(msg);\n },\n error: function error(msg) {\n 'use strict';\n\n throw msg;\n }\n };\n }\n\n /**\n * Common regexes.\n * We declare some common regexes to improve performance\n */\n showdown.helper.regexes = {\n asteriskDashAndColon: /([*_:~])/g\n };\n\n /**\n * EMOJIS LIST\n */\n showdown.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': '\\xA9\\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': '\\xAE\\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\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 */\n showdown.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 /**\n * Language extensions used by this converter\n * @private\n * @type {Array}\n */\n langExtensions = [],\n\n\n /**\n * Output modifiers extensions used by this converter\n * @private\n * @type {Array}\n */\n outputModifiers = [],\n\n\n /**\n * Event listeners\n * @private\n * @type {{}}\n */\n listeners = {},\n\n\n /**\n * The flavor set in this converter\n */\n setConvFlavor = setFlavor,\n\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 + ' 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.' + 'Please inform the developer that the extension should be updated!');\n legacyExtensionLoading(showdown.extensions[ext], ext);\n return;\n // END LEGACY SUPPORT CODE\n } else if (!showdown.helper.isUndefined(extensions[ext])) {\n ext = extensions[ext];\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 * 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:\n // 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\n /**\n * Turn Markdown link shortcuts into XHTML <a> tags.\n */\n showdown.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 writeAnchorTag(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, writeAnchorTag);\n\n // normal cases\n text = text.replace(/\\[((?:\\[[^\\]]*]|[^\\[\\]])*)]()[ \\t]*\\([ \\t]?<?([\\S]+?(?:\\([\\S]*?\\)[\\S]*?)?)>?(?:[ \\t]*(([\"'])([^\"]*?)\\5))?[ \\t]?\\)/g, 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\n // url allowed chars [a-z\\d_.~:/?#[]@!$&'()*+,;=-]\n\n var 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 replaceLink = function replaceLink(options) {\n 'use strict';\n\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 replaceMail = function replaceMail(options, globals) {\n 'use strict';\n\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\n showdown.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\n showdown.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\n /**\n * These are all the transformations that form block-level\n * tags like paragraphs, headers, and list items.\n */\n showdown.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\n showdown.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\n /**\n * Process Markdown `<pre><code>` blocks.\n */\n showdown.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\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 */\n showdown.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, function (wholeMatch, m1, m2, m3) {\n var c = m3;\n c = c.replace(/^([ \\t]*)/g, ''); // leading whitespace\n c = c.replace(/[ \\t]*$/g, ''); // 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 text = globals.converter._dispatch('codeSpans.after', text, options, globals);\n return text;\n });\n\n /**\n * Create a full HTML document from the processed markdown\n */\n showdown.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\n /**\n * Convert all tabs to spaces\n */\n showdown.subParser('detab', function (text, options, globals) {\n 'use strict';\n\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\n showdown.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\n /**\n * Turn emoji codes into emojis\n *\n * List of supported emojis: https://github.com/showdownjs/showdown/wiki/Emojis\n */\n showdown.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\n /**\n * Smart processing for ampersands and angle brackets that need to be encoded.\n */\n showdown.subParser('encodeAmpsAndAngles', function (text, options, globals) {\n 'use strict';\n\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\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 */\n showdown.subParser('encodeBackslashEscapes', function (text, options, globals) {\n 'use strict';\n\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\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 */\n showdown.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.replace(/&/g, '&')\n // Do the angle bracket song and dance:\n .replace(/</g, '<').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\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 */\n showdown.subParser('escapeSpecialCharsWithinTagAttributes', function (text, options, globals) {\n 'use strict';\n\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.replace(/(.)<\\/?code>(?=.)/g, '$1`').replace(/([\\\\`*_~=|])/g, showdown.helper.escapeCharactersCallback);\n });\n\n text = text.replace(comments, function (wholeMatch) {\n return wholeMatch.replace(/([\\\\`*_~=|])/g, showdown.helper.escapeCharactersCallback);\n });\n\n text = globals.converter._dispatch('escapeSpecialCharsWithinTagAttributes.after', text, options, globals);\n return text;\n });\n\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 */\n showdown.subParser('githubCodeBlocks', function (text, options, globals) {\n 'use strict';\n\n // early exit if option is not enabled\n\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\n showdown.subParser('hashBlock', function (text, options, globals) {\n 'use strict';\n\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\n /**\n * Hash and escape <code> elements that should not be parsed as markdown\n */\n showdown.subParser('hashCodeTags', function (text, options, globals) {\n 'use strict';\n\n text = globals.converter._dispatch('hashCodeTags.before', text, options, globals);\n\n var repFunc = function repFunc(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\n showdown.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\n showdown.subParser('hashHTMLBlocks', function (text, options, globals) {\n 'use strict';\n\n text = globals.converter._dispatch('hashHTMLBlocks.before', text, options, globals);\n\n var blockTags = ['pre', 'div', 'h1', 'h2', 'h3', 'h4', 'h5', 'h6', 'blockquote', 'table', 'dl', 'ol', 'ul', 'script', 'noscript', 'form', 'fieldset', 'iframe', 'math', 'style', 'section', 'header', 'footer', 'nav', 'article', 'aside', 'address', 'audio', 'canvas', 'figure', 'hgroup', 'output', 'video', 'p'],\n repFunc = function repFunc(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\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, 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, showdown.subParser('hashElement')(text, options, globals));\n\n text = globals.converter._dispatch('hashHTMLBlocks.after', text, options, globals);\n return text;\n });\n\n /**\n * Hash span elements that should not be parsed as markdown\n */\n showdown.subParser('hashHTMLSpans', function (text, options, globals) {\n 'use strict';\n\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 */\n showdown.subParser('unhashHTMLSpans', function (text, options, globals) {\n 'use strict';\n\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\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\n /**\n * Hash and escape <pre><code> elements that should not be parsed as markdown\n */\n showdown.subParser('hashPreCodeTags', function (text, options, globals) {\n 'use strict';\n\n text = globals.converter._dispatch('hashPreCodeTags.before', text, options, globals);\n\n var repFunc = function repFunc(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\n showdown.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\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, 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.replace(/ /g, '-')\n // replace previously escaped chars (&, ¨ and $)\n .replace(/&/g, '').replace(/¨T/g, '').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, '').toLowerCase();\n } else if (options.rawHeaderId) {\n title = title.replace(/ /g, '-')\n // replace previously escaped chars (&, ¨ and $)\n .replace(/&/g, '&').replace(/¨T/g, '¨').replace(/¨D/g, '$')\n // replace \" and '\n .replace(/[\"']/g, '-').toLowerCase();\n } else {\n title = title.replace(/[^\\w]/g, '').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\n /**\n * Turn Markdown link shortcuts into XHTML <a> tags.\n */\n showdown.subParser('horizontalRule', function (text, options, globals) {\n 'use strict';\n\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\n /**\n * Turn Markdown image shortcuts into <img> tags.\n */\n showdown.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 } 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.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.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\n showdown.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 });\n text = text.replace(/__(\\S[\\s\\S]*?)__/g, function (wm, m) {\n return (/\\S$/.test(m) ? parseInside(m, '<strong>', '</strong>') : wm\n );\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 // 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 });\n text = text.replace(/\\*\\*(\\S[\\s\\S]*?)\\*\\*/g, function (wm, m) {\n return (/\\S$/.test(m) ? parseInside(m, '<strong>', '</strong>') : wm\n );\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\n /**\n * Form HTML ordered (numbered) and unordered (bulleted) lists.\n */\n showdown.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\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, function (wholeMatch, list, m2) {\n var listType = m2.search(/[*+-]/g) > -1 ? 'ul' : 'ol';\n return parseConsecutiveLists(list, listType, true);\n });\n } else {\n text = text.replace(/(\\n\\n|^\\n?)(( {0,3}([*+-]|\\d+[.])[ \\t]+)[^\\r]+?(¨0|\\n{2,}(?=\\S)(?![ \\t]*(?:[*+-]|\\d+[.])[ \\t]+)))/gm, function (wholeMatch, m1, list, m3) {\n var listType = m3.search(/[*+-]/g) > -1 ? 'ul' : 'ol';\n return parseConsecutiveLists(list, listType, false);\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\n /**\n * Parse metadata at the top of the document\n */\n showdown.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\n /**\n * Remove one level of line-leading tabs or spaces\n */\n showdown.subParser('outdent', function (text, options, globals) {\n 'use strict';\n\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\n /**\n *\n */\n showdown.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\n /**\n * Run extension\n */\n showdown.subParser('runExtension', function (ext, text, options, globals) {\n 'use strict';\n\n if (ext.filter) {\n text = ext.filter(text, globals.converter, options);\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\n /**\n * These are all the transformations that occur *within* block-level\n * tags like paragraphs, headers, and list items.\n */\n showdown.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\n showdown.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) {\n return parseInside(txt);\n });\n text = globals.converter._dispatch('strikethrough.after', text, options, globals);\n }\n\n return text;\n });\n\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 */\n showdown.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 replaceFunc(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 } 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\n showdown.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\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,\n 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) {\n return s.trim();\n }),\n rawStyles = tableLines[1].split('|').map(function (s) {\n return s.trim();\n }),\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(tableLines[i].split('|').map(function (s) {\n return s.trim();\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 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\n showdown.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 });\n text = text.replace(/__(\\S[\\s\\S]*?)__/g, function (wm, m) {\n return (/\\S$/.test(m) ? '<u>' + m + '</u>' : wm\n );\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\n /**\n * Swap back in all the special characters we've hidden.\n */\n showdown.subParser('unescapeSpecialChars', function (text, options, globals) {\n 'use strict';\n\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\n showdown.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\n showdown.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\n showdown.subParser('makeMarkdown.codeSpan', function (node) {\n 'use strict';\n\n return '`' + node.innerHTML + '`';\n });\n\n showdown.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\n showdown.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\n showdown.subParser('makeMarkdown.hr', function () {\n 'use strict';\n\n return '---';\n });\n\n showdown.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\n showdown.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\n showdown.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\n showdown.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.split('\\n').join('\\n ').replace(/^ {4}$/gm, '').replace(/\\n\\n+/g, '\\n\\n');\n }\n\n return listItemTxt;\n });\n\n showdown.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) {\n txt = showdown.subParser('makeMarkdown.header')(node, globals, 1) + '\\n\\n';\n }\n break;\n case 'h2':\n if (!spansOnly) {\n txt = showdown.subParser('makeMarkdown.header')(node, globals, 2) + '\\n\\n';\n }\n break;\n case 'h3':\n if (!spansOnly) {\n txt = showdown.subParser('makeMarkdown.header')(node, globals, 3) + '\\n\\n';\n }\n break;\n case 'h4':\n if (!spansOnly) {\n txt = showdown.subParser('makeMarkdown.header')(node, globals, 4) + '\\n\\n';\n }\n break;\n case 'h5':\n if (!spansOnly) {\n txt = showdown.subParser('makeMarkdown.header')(node, globals, 5) + '\\n\\n';\n }\n break;\n case 'h6':\n if (!spansOnly) {\n txt = showdown.subParser('makeMarkdown.header')(node, globals, 6) + '\\n\\n';\n }\n break;\n\n case 'p':\n if (!spansOnly) {\n txt = showdown.subParser('makeMarkdown.paragraph')(node, globals) + '\\n\\n';\n }\n break;\n\n case 'blockquote':\n if (!spansOnly) {\n txt = showdown.subParser('makeMarkdown.blockquote')(node, globals) + '\\n\\n';\n }\n break;\n\n case 'hr':\n if (!spansOnly) {\n txt = showdown.subParser('makeMarkdown.hr')(node, globals) + '\\n\\n';\n }\n break;\n\n case 'ol':\n if (!spansOnly) {\n txt = showdown.subParser('makeMarkdown.list')(node, globals, 'ol') + '\\n\\n';\n }\n break;\n\n case 'ul':\n if (!spansOnly) {\n txt = showdown.subParser('makeMarkdown.list')(node, globals, 'ul') + '\\n\\n';\n }\n break;\n\n case 'precode':\n if (!spansOnly) {\n txt = showdown.subParser('makeMarkdown.codeBlock')(node, globals) + '\\n\\n';\n }\n break;\n\n case 'pre':\n if (!spansOnly) {\n txt = showdown.subParser('makeMarkdown.pre')(node, globals) + '\\n\\n';\n }\n break;\n\n case 'table':\n if (!spansOnly) {\n txt = showdown.subParser('makeMarkdown.table')(node, globals) + '\\n\\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\n showdown.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\n showdown.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\n showdown.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\n showdown.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\n showdown.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,\n 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\n showdown.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\n showdown.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\n var root = this;\n\n // AMD Loader\n if (true) {\n !(__WEBPACK_AMD_DEFINE_RESULT__ = (function () {\n 'use strict';\n\n return showdown;\n }).call(exports, __webpack_require__, exports, module),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\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);\n\n//# sourceMappingURL=showdown.js.map\n\n/***/ }),\n\n/***/ \"J9SO\":\n/***/ (function(module, exports) {\n\n// removed by extract-text-webpack-plugin\nmodule.exports = {\"thesis\":\"thesis__3uAQ4\"};\n\n/***/ }),\n\n/***/ \"JkW7\":\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\nObject.defineProperty(__webpack_exports__, \"__esModule\", { value: true });\n\n// EXTERNAL MODULE: ../node_modules/preact/dist/preact.min.js\nvar preact_min = __webpack_require__(\"KM04\");\nvar preact_min_default = /*#__PURE__*/__webpack_require__.n(preact_min);\n\n// EXTERNAL MODULE: ./index.css\nvar index = __webpack_require__(\"xHuH\");\nvar index_default = /*#__PURE__*/__webpack_require__.n(index);\n\n// EXTERNAL MODULE: ./manifest.json\nvar manifest = __webpack_require__(\"ZcXo\");\nvar manifest_default = /*#__PURE__*/__webpack_require__.n(manifest);\n\n// CONCATENATED MODULE: ../node_modules/preact-router/dist/preact-router.es.js\n\n\nvar EMPTY$1 = {};\n\nfunction preact_router_es_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 c = url.match(reg),\n\t matches = {},\n\t ret;\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 flags = (route[i$1].match(/[+*?]+$/) || EMPTY$1)[0] || '',\n\t\t\t plus = ~flags.indexOf('+'),\n\t\t\t star = ~flags.indexOf('*'),\n\t\t\t val = 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} else 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) {\n\t\treturn false;\n\t}\n\treturn matches;\n}\n\nfunction pathRankSort(a, b) {\n\treturn a.rank < b.rank ? 1 : a.rank > b.rank ? -1 : a.index - b.index;\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} else if (typeof history !== 'undefined' && history[type + 'State']) {\n\t\thistory[type + 'State'](null, null, url);\n\t}\n}\n\nfunction getCurrentUrl() {\n\tvar url;\n\tif (customHistory && customHistory.location) {\n\t\turl = customHistory.location;\n\t} else if (customHistory && customHistory.getCurrentLocation) {\n\t\turl = customHistory.getCurrentLocation();\n\t} else {\n\t\turl = typeof location !== 'undefined' ? location : EMPTY;\n\t}\n\treturn \"\" + (url.pathname || '') + (url.search || '');\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/** 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)) {\n\t\t\treturn true;\n\t\t}\n\t}\n\treturn false;\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\nfunction routeFromLink(node) {\n\t// only valid elements\n\tif (!node || !node.getAttribute) {\n\t\treturn;\n\t}\n\n\tvar href = node.getAttribute('href'),\n\t target = 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)) {\n\t\treturn;\n\t}\n\n\t// attempt to route, if no match simply cede control to browser\n\treturn route(href);\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\nfunction prevent(e) {\n\tif (e) {\n\t\tif (e.stopImmediatePropagation) {\n\t\t\te.stopImmediatePropagation();\n\t\t}\n\t\tif (e.stopPropagation) {\n\t\t\te.stopPropagation();\n\t\t}\n\t\te.preventDefault();\n\t}\n\treturn false;\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) {\n\t\treturn;\n\t}\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')) {\n\t\t\t\treturn;\n\t\t\t}\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\nvar eventListenersInitialized = false;\n\nfunction initEventListeners() {\n\tif (eventListenersInitialized) {\n\t\treturn;\n\t}\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\nvar preact_router_es_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) {\n\t\t\treturn true;\n\t\t}\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) {\n\t\t\treturn this.canRoute(url);\n\t\t}\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') {\n\t\t\tthis.unlisten();\n\t\t}\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.filter(prepareVNodeForRanking).sort(pathRankSort).map(function (vnode) {\n\t\t\tvar matches = exec(url, vnode.attributes.path, vnode.attributes);\n\t\t\tif (matches) {\n\t\t\t\tif (invoke !== false) {\n\t\t\t\t\tvar newProps = { url: url, matches: matches };\n\t\t\t\t\tpreact_router_es_assign(newProps, matches);\n\t\t\t\t\tdelete newProps.ref;\n\t\t\t\t\tdelete newProps.key;\n\t\t\t\t\treturn Object(preact_min[\"cloneElement\"])(vnode, newProps);\n\t\t\t\t}\n\t\t\t\treturn vnode;\n\t\t\t}\n\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}(preact_min[\"Component\"]);\n\nvar preact_router_es_Link = function Link(props) {\n\treturn Object(preact_min[\"h\"])('a', preact_router_es_assign({ onClick: handleLinkClick }, props));\n};\n\nvar preact_router_es_Route = function Route(props) {\n\treturn Object(preact_min[\"h\"])(props.component, props);\n};\n\npreact_router_es_Router.subscribers = subscribers;\npreact_router_es_Router.getCurrentUrl = getCurrentUrl;\npreact_router_es_Router.route = route;\npreact_router_es_Router.Router = preact_router_es_Router;\npreact_router_es_Router.Route = preact_router_es_Route;\npreact_router_es_Router.Link = preact_router_es_Link;\n\n/* harmony default export */ var preact_router_es = (preact_router_es_Router);\n//# sourceMappingURL=preact-router.es.js.map\n// EXTERNAL MODULE: ./pages/home.css\nvar home = __webpack_require__(\"36Ou\");\nvar home_default = /*#__PURE__*/__webpack_require__.n(home);\n\n// EXTERNAL MODULE: ./components/panel.css\nvar panel = __webpack_require__(\"P9k+\");\nvar panel_default = /*#__PURE__*/__webpack_require__.n(panel);\n\n// CONCATENATED MODULE: ./components/panel.js\n\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\n\n\n\nvar panel_Panel = function (_Component) {\n\t_inherits(Panel, _Component);\n\n\tfunction Panel() {\n\t\t_classCallCheck(this, Panel);\n\n\t\treturn _possibleConstructorReturn(this, _Component.apply(this, arguments));\n\t}\n\n\tPanel.prototype.getStyle = function getStyle() {\n\t\treturn panel_default.a.panel;\n\t};\n\n\tPanel.prototype.render = function render() {\n\t\tvar title = null;\n\t\tif (this.props.title !== undefined) {\n\t\t\ttitle = Object(preact_min[\"h\"])(\n\t\t\t\t\"h3\",\n\t\t\t\tnull,\n\t\t\t\tthis.props.title\n\t\t\t);\n\t\t}\n\n\t\treturn Object(preact_min[\"h\"])(\n\t\t\t\"div\",\n\t\t\t{ \"class\": this.getStyle(), id: this.props.id },\n\t\t\ttitle,\n\t\t\tthis.props.children\n\t\t);\n\t};\n\n\treturn Panel;\n}(preact_min[\"Component\"]);\n\n\n// EXTERNAL MODULE: ./components/split.css\nvar split = __webpack_require__(\"1EpE\");\nvar split_default = /*#__PURE__*/__webpack_require__.n(split);\n\n// CONCATENATED MODULE: ./components/split.js\n\n\nfunction split__classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction split__possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction split__inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\n\n\n\nvar split_Split = function (_Component) {\n split__inherits(Split, _Component);\n\n function Split() {\n split__classCallCheck(this, Split);\n\n return split__possibleConstructorReturn(this, _Component.apply(this, arguments));\n }\n\n Split.prototype.render = function render() {\n var title = null;\n if (this.props.title !== undefined) {\n title = Object(preact_min[\"h\"])(\n \"h2\",\n null,\n this.props.title\n );\n }\n\n var children = void 0;\n if (Array.isArray(this.props.children)) {\n children = this.props.children.map(function (element) {\n return Object(preact_min[\"h\"])(\n \"div\",\n { \"class\": split_default.a.splitchild },\n element\n );\n });\n } else {\n children = Object(preact_min[\"h\"])(\n \"div\",\n { \"class\": split_default.a.splitchild },\n this.props.children\n );\n }\n return Object(preact_min[\"h\"])(\n \"div\",\n { \"class\": split_default.a.split },\n title,\n Object(preact_min[\"h\"])(\n \"div\",\n { \"class\": split_default.a.splitparent },\n children\n )\n );\n };\n\n return Split;\n}(preact_min[\"Component\"]);\n\n\n// EXTERNAL MODULE: ./components/todo.css\nvar todo = __webpack_require__(\"tO1d\");\nvar todo_default = /*#__PURE__*/__webpack_require__.n(todo);\n\n// CONCATENATED MODULE: ./components/todo.js\n\n\nfunction todo__classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction todo__possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction todo__inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\n\n\n\nvar todo_Todo = function (_Component) {\n\ttodo__inherits(Todo, _Component);\n\n\tfunction Todo() {\n\t\ttodo__classCallCheck(this, Todo);\n\n\t\treturn todo__possibleConstructorReturn(this, _Component.apply(this, arguments));\n\t}\n\n\tTodo.prototype.render = function render() {\n\t\treturn Object(preact_min[\"h\"])(\n\t\t\t\"span\",\n\t\t\t{ \"class\": todo_default.a.todo },\n\t\t\tthis.props.children\n\t\t);\n\t};\n\n\treturn Todo;\n}(preact_min[\"Component\"]);\n\n\n// CONCATENATED MODULE: ./pages/home.js\n\n\nfunction home__classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction home__possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction home__inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\n\n\n\n\n\n\nvar _ref = Object(preact_min[\"h\"])(\n 'h1',\n null,\n 'Indice'\n);\n\nvar _ref2 = Object(preact_min[\"h\"])(\n split_Split,\n { title: 'Argomenti' },\n Object(preact_min[\"h\"])(\n panel_Panel,\n { title: Object(preact_min[\"h\"])(\n 'a',\n { href: '/statistica' },\n 'Statistica ed elementi di probabilit\\xE0'\n ) },\n Object(preact_min[\"h\"])(\n 'p',\n null,\n 'Appunti scritti mentre studiavo per l\\'esame di ',\n Object(preact_min[\"h\"])(\n 'a',\n { href: \"http://personale.unimore.it/rubrica/contenutiad/llarocca/2019/58028/N0/N0/9999\" },\n 'Statistica ed elementi di probabilit\\xE0'\n ),\n ' del ',\n Object(preact_min[\"h\"])(\n 'a',\n { href: 'https://www.unimore.it/didattica/mlaurea.html?ID=54' },\n 'corso triennale di Informatica'\n ),\n ' all\\'',\n Object(preact_min[\"h\"])(\n 'a',\n { href: 'https://www.unimore.it/' },\n 'Unimore'\n ),\n ' del Prof. ',\n Object(preact_min[\"h\"])(\n 'a',\n { href: \"http://personale.unimore.it/rubrica/dettaglio/llarocca\" },\n 'Luca La Rocca'\n ),\n '.'\n ),\n Object(preact_min[\"h\"])(\n 'p',\n null,\n Object(preact_min[\"h\"])(\n todo_Todo,\n null,\n 'TODO: \\xE8 ancora incompleto!'\n )\n )\n ),\n Object(preact_min[\"h\"])(\n panel_Panel,\n { title: Object(preact_min[\"h\"])(\n 'a',\n { href: 'https://github.com/Steffo99/cleaver' },\n 'Cleaver'\n ) },\n Object(preact_min[\"h\"])(\n 'p',\n null,\n 'Progetto in Java sviluppato per l\\'esame di ',\n Object(preact_min[\"h\"])(\n 'a',\n { href: 'http://personale.unimore.it/rubrica/contenutiad/gcabri/2019/58026/N0/N0/9999' },\n 'Programmazione ad Oggetti'\n ),\n ' del ',\n Object(preact_min[\"h\"])(\n 'a',\n { href: 'https://www.unimore.it/didattica/mlaurea.html?ID=54' },\n 'corso triennale di Informatica'\n ),\n ' all\\'',\n Object(preact_min[\"h\"])(\n 'a',\n { href: 'https://www.unimore.it/' },\n 'Unimore'\n ),\n ', tenuto dai Prof. ',\n Object(preact_min[\"h\"])(\n 'a',\n { href: 'http://personale.unimore.it/rubrica/dettaglio/gcabri' },\n 'Giacomo Cabri'\n ),\n ' e ',\n Object(preact_min[\"h\"])(\n 'a',\n { href: 'http://personale.unimore.it/Rubrica/Dettaglio/n.capodieci' },\n 'Nicola Capodieci'\n ),\n '.'\n )\n ),\n Object(preact_min[\"h\"])(\n panel_Panel,\n { title: Object(preact_min[\"h\"])(\n 'a',\n { href: '/fisica' },\n 'Fisica'\n ) },\n Object(preact_min[\"h\"])(\n 'p',\n null,\n 'Appunti delle ',\n Object(preact_min[\"h\"])(\n 'a',\n { href: 'http://personale.unimore.it/rubrica/contenutiad/brunetti/2019/58025/N0/N0/9999' },\n 'lezioni di Fisica'\n ),\n ' del ',\n Object(preact_min[\"h\"])(\n 'a',\n { href: 'https://www.unimore.it/didattica/mlaurea.html?ID=54' },\n 'corso triennale di Informatica'\n ),\n ' all\\'',\n Object(preact_min[\"h\"])(\n 'a',\n { href: 'https://www.unimore.it/' },\n 'Unimore'\n ),\n ', tenute dalla ',\n Object(preact_min[\"h\"])(\n 'a',\n { href: 'https://personale.unimore.it/rubrica/dettaglio/brunetti' },\n 'Prof.ssa Rossella Brunetti'\n ),\n ' nel primo semestre dell\\'Anno Accademico 2019/2020.'\n )\n ),\n Object(preact_min[\"h\"])(\n panel_Panel,\n { title: Object(preact_min[\"h\"])(\n 'a',\n { href: 'https://github.com/Steffo99/appunti-universitari/tree/master/2019_SistemiOperativi/Arzigogoli' },\n 'Sistemi Operativi'\n ) },\n Object(preact_min[\"h\"])(\n 'p',\n null,\n 'Soluzioni agli ',\n Object(preact_min[\"h\"])(\n 'a',\n { href: 'https://weblab.ing.unimore.it/people/andreolini/didattica/sistemi-operativi/index.html#arzigogoli' },\n 'Arzigogoli'\n ),\n ' proposti dal ',\n Object(preact_min[\"h\"])(\n 'a',\n { href: 'https://personale.unimore.it/rubrica/dettaglio/andreolini' },\n 'Prof. Mauro Andreolini'\n ),\n ' durante le ',\n Object(preact_min[\"h\"])(\n 'a',\n { href: 'https://personale.unimore.it/rubrica/contenutiad/andreolini/2019/58027/N0/N0/9999' },\n 'lezioni di Sistemi Operativi'\n ),\n ' del ',\n Object(preact_min[\"h\"])(\n 'a',\n { href: 'https://www.unimore.it/didattica/mlaurea.html?ID=54' },\n 'corso triennale di Informatica'\n ),\n ' all\\'',\n Object(preact_min[\"h\"])(\n 'a',\n { href: 'https://www.unimore.it/' },\n 'Unimore'\n ),\n ' tenutesi nel primo semestre dell\\'Anno Accademico 2019/2020.'\n )\n ),\n Object(preact_min[\"h\"])(\n panel_Panel,\n { title: Object(preact_min[\"h\"])(\n 'a',\n { href: 'https://github.com/Steffo99/appunti-universitari/tree/master/2018_AlgoritmiEStruttureDati' },\n 'Algoritmi e Strutture Dati'\n ) },\n Object(preact_min[\"h\"])(\n 'p',\n null,\n 'Appunti delle ',\n Object(preact_min[\"h\"])(\n 'a',\n { href: 'https://personale.unimore.it/rubrica/contenutiad/mmontangero/2018/58133/N0/N0/9999' },\n 'lezioni di Algoritmi e Strutture Dati'\n ),\n ' del ',\n Object(preact_min[\"h\"])(\n 'a',\n { href: 'https://www.unimore.it/didattica/mlaurea.html?ID=54' },\n 'corso triennale di Informatica'\n ),\n ' all\\'',\n Object(preact_min[\"h\"])(\n 'a',\n { href: 'https://www.unimore.it/' },\n 'Unimore'\n ),\n ', tenute dalla ',\n Object(preact_min[\"h\"])(\n 'a',\n { href: 'https://personale.unimore.it/rubrica/dettaglio/mmontangero' },\n 'Prof.ssa Manuela Montangero'\n ),\n ' nel secondo semestre dell\\'Anno Accademico 2018/2019.'\n )\n ),\n Object(preact_min[\"h\"])(\n panel_Panel,\n { title: Object(preact_min[\"h\"])(\n 'a',\n { href: '/vldigeometria' },\n 'Videolezioni di Geometria'\n ) },\n Object(preact_min[\"h\"])(\n 'p',\n null,\n 'Ottime videolezioni di Geometria con licenza ',\n Object(preact_min[\"h\"])(\n 'a',\n { href: 'https://creativecommons.org/licenses/by-nc-sa/4.0/' },\n 'CC BY-NC-SA 4.0'\n ),\n ' che ho trovato sul ',\n Object(preact_min[\"h\"])(\n 'a',\n { href: 'https://dolly.fim.unimore.it/2018/course/view.php?id=14#section-0' },\n 'portale Dolly 2018'\n ),\n ' dell\\'',\n Object(preact_min[\"h\"])(\n 'a',\n { href: 'https://www.unimore.it/' },\n 'Unimore'\n ),\n '.'\n )\n ),\n Object(preact_min[\"h\"])(\n panel_Panel,\n { title: Object(preact_min[\"h\"])(\n 'a',\n { href: '/mingwinstall' },\n 'Come installare MinGW'\n ) },\n Object(preact_min[\"h\"])(\n 'p',\n null,\n 'Un breve tutorial con immagini su come installare e configurare ',\n Object(preact_min[\"h\"])(\n 'a',\n { href: 'https://it.wikipedia.org/wiki/MinGW' },\n 'MinGW'\n ),\n ' per compilare programmi C e C++ su Windows.'\n )\n )\n);\n\nvar _ref3 = Object(preact_min[\"h\"])(\n split_Split,\n { title: 'Altri collegamenti utili' },\n Object(preact_min[\"h\"])(\n panel_Panel,\n { title: Object(preact_min[\"h\"])(\n 'a',\n { href: 'https://t.me/unimoreinfo' },\n '@unimoreinfo'\n ) },\n Object(preact_min[\"h\"])(\n 'p',\n null,\n 'Il gruppo ',\n Object(preact_min[\"h\"])(\n 'a',\n { href: 'https://telegram.org/' },\n 'Telegram'\n ),\n ' del corso di Informatica dell\\'Unimore!'\n )\n ),\n Object(preact_min[\"h\"])(\n panel_Panel,\n { title: Object(preact_min[\"h\"])(\n 'a',\n { href: 'https://calendar.google.com/calendar?cid=MmYza2o2M3VuZWQ1cmZqaGpmOGY0MWFrNmdAZ3JvdXAuY2FsZW5kYXIuZ29vZ2xlLmNvbQ' },\n 'Calendario Lezioni'\n ) },\n Object(preact_min[\"h\"])(\n 'p',\n null,\n 'Calendario Google ',\n Object(preact_min[\"h\"])(\n 'small',\n null,\n 'quasi'\n ),\n ' sempre aggiornato delle lezioni e degli esami del secondo anno dell\\'',\n Object(preact_min[\"h\"])(\n 'a',\n { href: 'https://www.unimore.it/' },\n 'Unimore'\n ),\n ' durante l\\'Anno Accademico 2019/2020.'\n )\n ),\n Object(preact_min[\"h\"])(\n panel_Panel,\n { title: Object(preact_min[\"h\"])(\n 'a',\n { href: 'http://erre2.fermitech.info/dashboard' },\n 'Erre2'\n ) },\n Object(preact_min[\"h\"])(\n 'p',\n null,\n 'Portale contenente appunti e riassunti mantenuto da ',\n Object(preact_min[\"h\"])(\n 'a',\n { href: 'https://github.com/LBindustries' },\n 'Lorenzo Balugani'\n ),\n '.'\n )\n ),\n Object(preact_min[\"h\"])(\n panel_Panel,\n { title: Object(preact_min[\"h\"])(\n 'a',\n { href: 'https://github.com/vezzalinistefano/Appunti-Algoritmi' },\n 'vezzalinistefano/Appunti-Algoritmi'\n ) },\n Object(preact_min[\"h\"])(\n 'p',\n null,\n 'Appunti di Algoritmi e Strutture Dati mantenuti da ',\n Object(preact_min[\"h\"])(\n 'a',\n { href: 'https://github.com/vezzalinistefano/' },\n 'Vezzalini Stefano'\n ),\n '.'\n )\n )\n);\n\nvar home_Home = function (_Component) {\n home__inherits(Home, _Component);\n\n function Home() {\n home__classCallCheck(this, Home);\n\n return home__possibleConstructorReturn(this, _Component.apply(this, arguments));\n }\n\n Home.prototype.render = function render() {\n return Object(preact_min[\"h\"])(\n 'div',\n { style: home_default.a.home },\n _ref,\n _ref2,\n _ref3\n );\n };\n\n return Home;\n}(preact_min[\"Component\"]);\n\n\n// EXTERNAL MODULE: ./pages/fisica.css\nvar fisica = __webpack_require__(\"0lnO\");\nvar fisica_default = /*#__PURE__*/__webpack_require__.n(fisica);\n\n// EXTERNAL MODULE: ./components/latex.css\nvar latex = __webpack_require__(\"+uq9\");\nvar latex_default = /*#__PURE__*/__webpack_require__.n(latex);\n\n// CONCATENATED MODULE: ./components/latex.js\n\n\nfunction latex__classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction latex__possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction latex__inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\n\n\n\nvar latex_Latex = function (_Component) {\n\tlatex__inherits(Latex, _Component);\n\n\tfunction Latex() {\n\t\tlatex__classCallCheck(this, Latex);\n\n\t\treturn latex__possibleConstructorReturn(this, _Component.apply(this, arguments));\n\t}\n\n\tLatex.prototype.render = function render() {\n\t\tvar equation = '{\\\\color{White} ' + this.props.children + ' }';\n\t\treturn Object(preact_min[\"h\"])('img', { src: 'https://latex.codecogs.com/png.latex?' + equation,\n\t\t\talt: this.props.children,\n\t\t\ttitle: this.props.children,\n\t\t\t'class': latex_default.a.latex\n\t\t});\n\t};\n\n\treturn Latex;\n}(preact_min[\"Component\"]);\n\n\n// EXTERNAL MODULE: ./components/plus.css\nvar plus = __webpack_require__(\"ddTt\");\nvar plus_default = /*#__PURE__*/__webpack_require__.n(plus);\n\n// CONCATENATED MODULE: ./components/plus.js\n\n\nfunction plus__classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction plus__possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction plus__inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\n\n\n\nvar plus_Plus = function (_Component) {\n\tplus__inherits(Plus, _Component);\n\n\tfunction Plus() {\n\t\tplus__classCallCheck(this, Plus);\n\n\t\treturn plus__possibleConstructorReturn(this, _Component.apply(this, arguments));\n\t}\n\n\tPlus.prototype.render = function render() {\n\t\treturn Object(preact_min[\"h\"])(\n\t\t\t\"span\",\n\t\t\t{ \"class\": plus_default.a.plus },\n\t\t\tthis.props.children\n\t\t);\n\t};\n\n\treturn Plus;\n}(preact_min[\"Component\"]);\n\n\n// EXTERNAL MODULE: ./components/minus.css\nvar minus = __webpack_require__(\"MeW5\");\nvar minus_default = /*#__PURE__*/__webpack_require__.n(minus);\n\n// CONCATENATED MODULE: ./components/minus.js\n\n\nfunction minus__classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction minus__possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction minus__inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\n\n\n\nvar minus_Minus = function (_Component) {\n\tminus__inherits(Minus, _Component);\n\n\tfunction Minus() {\n\t\tminus__classCallCheck(this, Minus);\n\n\t\treturn minus__possibleConstructorReturn(this, _Component.apply(this, arguments));\n\t}\n\n\tMinus.prototype.render = function render() {\n\t\treturn Object(preact_min[\"h\"])(\n\t\t\t\"span\",\n\t\t\t{ \"class\": minus_default.a.minus },\n\t\t\tthis.props.children\n\t\t);\n\t};\n\n\treturn Minus;\n}(preact_min[\"Component\"]);\n\n\n// CONCATENATED MODULE: ./pages/fisica.js\nvar _templateObject = _taggedTemplateLiteralLoose(['\\x0Bec{v} = \\x0Bec{v}_x + \\x0Bec{v}_y'], ['\\\\vec{v} = \\\\vec{v}_x + \\\\vec{v}_y']),\n _templateObject2 = _taggedTemplateLiteralLoose(['left | \\x0Bec{v}_x \\right | = left | \\x0Bec{v} \\right | sin alpha'], ['\\\\left | \\\\vec{v}_x \\\\right | = \\\\left | \\\\vec{v} \\\\right | \\\\sin \\\\alpha']),\n _templateObject3 = _taggedTemplateLiteralLoose(['left | \\x0Bec{v}_y \\right | = left | \\x0Bec{v} \\right | cos alpha'], ['\\\\left | \\\\vec{v}_y \\\\right | = \\\\left | \\\\vec{v} \\\\right | \\\\cos \\\\alpha']),\n _templateObject4 = _taggedTemplateLiteralLoose(['\\x0Bec{v} + \\x0Bec{w} = (\\x0Bec{v}_x + \\x0Bec{w}_x) + (\\x0Bec{v}_y + \\x0Bec{w}_y)'], ['\\\\vec{v} + \\\\vec{w} = (\\\\vec{v}_x + \\\\vec{w}_x) + (\\\\vec{v}_y + \\\\vec{w}_y)']),\n _templateObject5 = _taggedTemplateLiteralLoose(['\\x0Bec{v} - \\x0Bec{w} = (\\x0Bec{v}_x - \\x0Bec{w}_x) + (\\x0Bec{v}_y - \\x0Bec{w}_y)'], ['\\\\vec{v} - \\\\vec{w} = (\\\\vec{v}_x - \\\\vec{w}_x) + (\\\\vec{v}_y - \\\\vec{w}_y)']),\n _templateObject6 = _taggedTemplateLiteralLoose(['\\x0Bec{v} cdot \\x0Bec{w} = left | \\x0Bec{v} \\right | left | \\x0Bec{w} \\right | cos alpha'], ['\\\\vec{v} \\\\cdot \\\\vec{w} = \\\\left | \\\\vec{v} \\\\right | \\\\left | \\\\vec{w} \\\\right | \\\\cos \\\\alpha']),\n _templateObject7 = _taggedTemplateLiteralLoose(['\\x0Bec{a}'], ['\\\\vec{a}']),\n _templateObject8 = _taggedTemplateLiteralLoose(['\\x0Bec{b}'], ['\\\\vec{b}']),\n _templateObject9 = _taggedTemplateLiteralLoose(['\\x0Bec{c} = \\x0Bec{a} \\times \\x0Bec{b}'], ['\\\\vec{c} = \\\\vec{a} \\\\times \\\\vec{b}']),\n _templateObject10 = _taggedTemplateLiteralLoose(['left | \\x0Bec{c} \\right | = left | \\x0Bec{a} \\right | cdot left | \\x0Bec{b} \\right | cdot sin(alpha)'], ['\\\\left | \\\\vec{c} \\\\right | = \\\\left | \\\\vec{a} \\\\right | \\\\cdot \\\\left | \\\\vec{b} \\\\right | \\\\cdot \\\\sin(\\\\alpha)']),\n _templateObject11 = _taggedTemplateLiteralLoose(['Sigma \\x0Bec{F} = 0 Longleftrightarrow Delta v = 0'], ['\\\\Sigma \\\\vec{F} = 0 \\\\Longleftrightarrow \\\\Delta v = 0']),\n _templateObject12 = _taggedTemplateLiteralLoose(['Sigma \\x0Bec{F} = m \\x0Bec{a}'], ['\\\\Sigma \\\\vec{F} = m \\\\vec{a}']),\n _templateObject13 = _taggedTemplateLiteralLoose(['\\x0Bec{F}_{21} = -\\x0Bec{F}_{12}'], ['\\\\vec{F}_{21} = -\\\\vec{F}_{12}']),\n _templateObject14 = _taggedTemplateLiteralLoose(['left | \\x0Bec{F} \\right | = G \\frac{m_1 m_2}{s^2}'], ['\\\\left | \\\\vec{F} \\\\right | = G \\\\frac{m_1 m_2}{s^2}']),\n _templateObject15 = _taggedTemplateLiteralLoose(['G = 6.67 cdot 10^{-11} \\frac{N m^2}{{kg}^2}'], ['G = 6.67 \\\\cdot 10^{-11} \\\\frac{N m^2}{{kg}^2}']),\n _templateObject16 = _taggedTemplateLiteralLoose(['left | \\x0Bec{F} \\right | = g m'], ['\\\\left | \\\\vec{F} \\\\right | = g m']),\n _templateObject17 = _taggedTemplateLiteralLoose(['g = 9.81 \\frac{m}{s^2}'], ['g = 9.81 \\\\frac{m}{s^2}']),\n _templateObject18 = _taggedTemplateLiteralLoose(['g_{luna} = 1.62 \\frac{m}{s^2}'], ['g_{luna} = 1.62 \\\\frac{m}{s^2}']),\n _templateObject19 = _taggedTemplateLiteralLoose(['g_{marte} = 3.71 \\frac{m}{s^2}'], ['g_{marte} = 3.71 \\\\frac{m}{s^2}']),\n _templateObject20 = _taggedTemplateLiteralLoose(['left | \\x0Bec{F} \\right | leq mu_{s} left | \\x0Bec{F}_{normale} \\right |'], ['\\\\left | \\\\vec{F} \\\\right | \\\\leq \\\\mu_{s} \\\\left | \\\\vec{F}_{normale} \\\\right |']),\n _templateObject21 = _taggedTemplateLiteralLoose(['left | \\x0Bec{F} \\right | leq mu_{d} left | \\x0Bec{F}_{normale} \\right |'], ['\\\\left | \\\\vec{F} \\\\right | \\\\leq \\\\mu_{d} \\\\left | \\\\vec{F}_{normale} \\\\right |']),\n _templateObject22 = _taggedTemplateLiteralLoose(['F = -k x'], ['F = -k x']),\n _templateObject23 = _taggedTemplateLiteralLoose(['Delta \\x0Bec{s} = \\x0Bec{s}(fine) - \\x0Bec{s}(inizio)'], ['\\\\Delta \\\\vec{s} = \\\\vec{s}(fine) - \\\\vec{s}(inizio)']),\n _templateObject24 = _taggedTemplateLiteralLoose(['\\x0Bec{v} = \\frac{Delta \\x0Bec{s}}{Delta t}'], ['\\\\vec{v} = \\\\frac{\\\\Delta \\\\vec{s}}{\\\\Delta t}']),\n _templateObject25 = _taggedTemplateLiteralLoose(['\\x0Bec{v} = lim_{Delta t \\to 0} \\frac{Delta \\x0Bec{s}}{Delta t} = \\frac{d \\x0Bec{s}}{dt}'], ['\\\\vec{v} = \\\\lim_{\\\\Delta t \\\\to 0} \\\\frac{\\\\Delta \\\\vec{s}}{\\\\Delta t} = \\\\frac{d \\\\vec{s}}{dt}']),\n _templateObject26 = _taggedTemplateLiteralLoose(['\\x0Bec{a} = \\frac{Delta \\x0Bec{v}}{Delta t}'], ['\\\\vec{a} = \\\\frac{\\\\Delta \\\\vec{v}}{\\\\Delta t}']),\n _templateObject27 = _taggedTemplateLiteralLoose(['\\x0Bec{a} = lim_{Delta v \\to 0} \\frac{Delta \\x0Bec{v}}{Delta t} = \\frac{d \\x0Bec{v}}{d t} = \\frac{d^2 \\x0Bec{s}}{d t^2}'], ['\\\\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}']),\n _templateObject28 = _taggedTemplateLiteralLoose(['\\x0Bec{p} = m \\x0Bec{v}'], ['\\\\vec{p} = m \\\\vec{v}']),\n _templateObject29 = _taggedTemplateLiteralLoose(['Sigma \\x0Bec{F} = 0 Longleftrightarrow Delta \\x0Bec{p} = 0'], ['\\\\Sigma \\\\vec{F} = 0 \\\\Longleftrightarrow \\\\Delta \\\\vec{p} = 0']),\n _templateObject30 = _taggedTemplateLiteralLoose(['s(t) = v cdot Delta t + s(0)'], ['s(t) = v \\\\cdot \\\\Delta t + s(0)']),\n _templateObject31 = _taggedTemplateLiteralLoose(['v(t) = k'], ['v(t) = k']),\n _templateObject32 = _taggedTemplateLiteralLoose(['a(t) = 0'], ['a(t) = 0']),\n _templateObject33 = _taggedTemplateLiteralLoose(['s(t) = \\frac{1}{2} a cdot (Delta t)^2 + v(0) cdot (Delta t) + s(0)'], ['s(t) = \\\\frac{1}{2} a \\\\cdot (\\\\Delta t)^2 + v(0) \\\\cdot (\\\\Delta t) + s(0)']),\n _templateObject34 = _taggedTemplateLiteralLoose(['v(t) = a Delta t + v(0)'], ['v(t) = a \\\\Delta t + v(0)']),\n _templateObject35 = _taggedTemplateLiteralLoose(['a(t) = k'], ['a(t) = k']),\n _templateObject36 = _taggedTemplateLiteralLoose(['omega = \\frac{2 pi}{T}'], ['\\\\omega = \\\\frac{2 \\\\pi}{T}']),\n _templateObject37 = _taggedTemplateLiteralLoose(['s(t) = A sin (omega cdot t + phi)'], ['s(t) = A \\\\sin (\\\\omega \\\\cdot t + \\\\phi)']),\n _templateObject38 = _taggedTemplateLiteralLoose(['\\frac{pi}{2}'], ['\\\\frac{\\\\pi}{2}']),\n _templateObject39 = _taggedTemplateLiteralLoose(['v(t) = A sin (omega cdot t + phi + \\frac{pi}{2})'], ['v(t) = A \\\\sin (\\\\omega \\\\cdot t + \\\\phi + \\\\frac{\\\\pi}{2})']),\n _templateObject40 = _taggedTemplateLiteralLoose(['pi'], ['\\\\pi']),\n _templateObject41 = _taggedTemplateLiteralLoose(['a(t) = A sin (omega cdot t + phi + pi)'], ['a(t) = A \\\\sin (\\\\omega \\\\cdot t + \\\\phi + \\\\pi)']),\n _templateObject42 = _taggedTemplateLiteralLoose(['phi'], ['\\\\phi']),\n _templateObject43 = _taggedTemplateLiteralLoose(['v = \\frac{Delta s}{t} = \\frac{2 pi cdot r}{T} = omega r'], ['v = \\\\frac{\\\\Delta s}{t} = \\\\frac{2 \\\\pi \\\\cdot r}{T} = \\\\omega r']),\n _templateObject44 = _taggedTemplateLiteralLoose(['a = \\frac{v^2}{r} = r cdot omega^2 = v cdot omega'], ['a = \\\\frac{v^2}{r} = r \\\\cdot \\\\omega^2 = v \\\\cdot \\\\omega']),\n _templateObject45 = _taggedTemplateLiteralLoose(['F = m cdot a'], ['F = m \\\\cdot a']),\n _templateObject46 = _taggedTemplateLiteralLoose(['W = \\x0Bec{F} cdot \\x0Bec{s} = F cdot Delta s cdot cos(alpha )'], ['W = \\\\vec{F} \\\\cdot \\\\vec{s} = F \\\\cdot \\\\Delta s \\\\cdot cos(\\\\alpha )']),\n _templateObject47 = _taggedTemplateLiteralLoose(['E_c = \\frac{1}{2} m v^2'], ['E_c = \\\\frac{1}{2} m v^2']),\n _templateObject48 = _taggedTemplateLiteralLoose(['Delta E_c = W'], ['\\\\Delta E_c = W']),\n _templateObject49 = _taggedTemplateLiteralLoose(['E_{p_g} = m cdot g cdot h'], ['E_{p_g} = m \\\\cdot g \\\\cdot h']),\n _templateObject50 = _taggedTemplateLiteralLoose(['E_{p_e} = \\frac{1}{2} k x^2'], ['E_{p_e} = \\\\frac{1}{2} k x^2']),\n _templateObject51 = _taggedTemplateLiteralLoose(['E = E_k + E_p'], ['E = E_k + E_p']),\n _templateObject52 = _taggedTemplateLiteralLoose(['P = \\frac{Delta E}{Delta t}'], ['P = \\\\frac{\\\\Delta E}{\\\\Delta t}']),\n _templateObject53 = _taggedTemplateLiteralLoose(['C_{elettrone} = 1.602 cdot 10^{-19}'], ['C_{elettrone} = 1.602 \\\\cdot 10^{-19}']),\n _templateObject54 = _taggedTemplateLiteralLoose(['left | \\x0Bec{F}_{elettrica} \\right | = \\frac{-k cdot q_1 cdot q_2}{s^2}'], ['\\\\left | \\\\vec{F}_{elettrica} \\\\right | = \\\\frac{-k \\\\cdot q_1 \\\\cdot q_2}{s^2}']),\n _templateObject55 = _taggedTemplateLiteralLoose(['k'], ['k']),\n _templateObject56 = _taggedTemplateLiteralLoose(['k = 8.99 cdot 10^9 \\frac{N cdot m^2}{C^2}'], ['k = 8.99 \\\\cdot 10^9 \\\\frac{N \\\\cdot m^2}{C^2}']),\n _templateObject57 = _taggedTemplateLiteralLoose(['epsilon_0'], ['\\\\epsilon_0']),\n _templateObject58 = _taggedTemplateLiteralLoose(['k = \\frac{1}{4 pi cdot epsilon_0}'], ['k = \\\\frac{1}{4 \\\\pi \\\\cdot \\\\epsilon_0}']),\n _templateObject59 = _taggedTemplateLiteralLoose(['left | \\x0Bec{F}_{elettrica} \\right | = \\frac{q_1 cdot q_2}{4 pi cdot epsilon_0 cdot s^2}'], ['\\\\left | \\\\vec{F}_{elettrica} \\\\right | = \\\\frac{q_1 \\\\cdot q_2}{4 \\\\pi \\\\cdot \\\\epsilon_0 \\\\cdot s^2}']),\n _templateObject60 = _taggedTemplateLiteralLoose(['\\x0Bec{E} = \\frac{\\x0Bec{F}_{elettrica}}{q} = \\frac{-k cdot q}{s^2}'], ['\\\\vec{E} = \\\\frac{\\\\vec{F}_{elettrica}}{q} = \\\\frac{-k \\\\cdot q}{s^2}']),\n _templateObject61 = _taggedTemplateLiteralLoose(['Phi_E = \\x0Bec{E} cdot \\x0Bec{A}'], ['\\\\Phi_E = \\\\vec{E} \\\\cdot \\\\vec{A}']),\n _templateObject62 = _taggedTemplateLiteralLoose(['Phi_E = \\x0Bec{E} cdot \\x0Bec{A} = E_perp cdot A cdot cos(alpha)'], ['\\\\Phi_E = \\\\vec{E} \\\\cdot \\\\vec{A} = E_\\\\perp \\\\cdot A \\\\cdot \\\\cos(\\\\alpha)']),\n _templateObject63 = _taggedTemplateLiteralLoose(['Phi_E = 4 pi cdot k cdot q = \\frac{q}{epsilon_0}'], ['\\\\Phi_E = 4 \\\\pi \\\\cdot k \\\\cdot q = \\\\frac{q}{\\\\epsilon_0}']),\n _templateObject64 = _taggedTemplateLiteralLoose(['U_e'], ['U_e']),\n _templateObject65 = _taggedTemplateLiteralLoose(['V = \\frac{U_e}{q}'], ['V = \\\\frac{U_e}{q}']),\n _templateObject66 = _taggedTemplateLiteralLoose(['V'], ['V']),\n _templateObject67 = _taggedTemplateLiteralLoose(['I = \\frac{Delta q}{Delta t}'], ['I = \\\\frac{\\\\Delta q}{\\\\Delta t}']),\n _templateObject68 = _taggedTemplateLiteralLoose(['A'], ['A']),\n _templateObject69 = _taggedTemplateLiteralLoose(['P = \\frac{Delta U_e}{Delta t} = I cdot Delta V = I^2 cdot R = \\frac{(Delta V)^2}{R}'], ['P = \\\\frac{\\\\Delta U_e}{\\\\Delta t} = I \\\\cdot \\\\Delta V = I^2 \\\\cdot R = \\\\frac{(\\\\Delta V)^2}{R}']),\n _templateObject70 = _taggedTemplateLiteralLoose(['V = R cdot I'], ['V = R \\\\cdot I']),\n _templateObject71 = _taggedTemplateLiteralLoose(['R'], ['R']),\n _templateObject72 = _taggedTemplateLiteralLoose(['Omega'], ['\\\\Omega']),\n _templateObject73 = _taggedTemplateLiteralLoose(['R = \\rho \\frac{L_{unghezza}}{A_{rea}}'], ['R = \\\\rho \\\\frac{L_{unghezza}}{A_{rea}}']),\n _templateObject74 = _taggedTemplateLiteralLoose(['\\rho'], ['\\\\rho']),\n _templateObject75 = _taggedTemplateLiteralLoose(['\\rho = \\rho_0 (1 + alpha(T - T_0))'], ['\\\\rho = \\\\rho_0 (1 + \\\\alpha(T - T_0))']),\n _templateObject76 = _taggedTemplateLiteralLoose(['C = \\frac{q_{massima}}{Delta V}'], ['C = \\\\frac{q_{massima}}{\\\\Delta V}']),\n _templateObject77 = _taggedTemplateLiteralLoose(['C_{nuova} = kappa cdot \\frac{epsilon_0 cdot A}{s}'], ['C_{nuova} = \\\\kappa \\\\cdot \\\\frac{\\\\epsilon_0 \\\\cdot A}{s}']),\n _templateObject78 = _taggedTemplateLiteralLoose(['kappa'], ['\\\\kappa']),\n _templateObject79 = _taggedTemplateLiteralLoose(['s'], ['s']),\n _templateObject80 = _taggedTemplateLiteralLoose(['Fa'], ['Fa']),\n _templateObject81 = _taggedTemplateLiteralLoose(['R_{serie} = sum_{i=1}^{n} R_i'], ['R_{serie} = \\\\sum_{i=1}^{n} R_i']),\n _templateObject82 = _taggedTemplateLiteralLoose(['R_{parallelo} = \\frac{1}{sum_{i=1}^{n} \\frac{1}{R_i}}'], ['R_{parallelo} = \\\\frac{1}{\\\\sum_{i=1}^{n} \\\\frac{1}{R_i}}']),\n _templateObject83 = _taggedTemplateLiteralLoose(['C_{serie} = \\frac{1}{sum_{i=1}^{n} \\frac{1}{C_i}}'], ['C_{serie} = \\\\frac{1}{\\\\sum_{i=1}^{n} \\\\frac{1}{C_i}}']),\n _templateObject84 = _taggedTemplateLiteralLoose(['C_{parallelo} = sum_{i=1}^{n} C_n'], ['C_{parallelo} = \\\\sum_{i=1}^{n} C_n']),\n _templateObject85 = _taggedTemplateLiteralLoose(['mu_0 = 4 pi cdot 10^{-7} \\frac{H}{m}'], ['\\\\mu_0 = 4 \\\\pi \\\\cdot 10^{-7} \\\\frac{H}{m}']),\n _templateObject86 = _taggedTemplateLiteralLoose(['\\frac{N}{A^2}'], ['\\\\frac{N}{A^2}']),\n _templateObject87 = _taggedTemplateLiteralLoose(['B'], ['B']),\n _templateObject88 = _taggedTemplateLiteralLoose(['Phi_{B_{i}} = \\x0Bec{B} cdot \\x0Bec{L}_n = B cdot L_i cdot sin(alpha) = B_parallel cdot L_i'], ['\\\\Phi_{B_{i}} = \\\\vec{B} \\\\cdot \\\\vec{L}_n = B \\\\cdot L_i \\\\cdot \\\\sin(\\\\alpha) = B_\\\\parallel \\\\cdot L_i']),\n _templateObject89 = _taggedTemplateLiteralLoose(['Phi_{B} = sum_{i=0}^{n_{lati}} Phi_{Bn}'], ['\\\\Phi_{B} = \\\\sum_{i=0}^{n_{lati}} \\\\Phi_{Bn}']),\n _templateObject90 = _taggedTemplateLiteralLoose(['Wb = T cdot m^2'], ['Wb = T \\\\cdot m^2']),\n _templateObject91 = _taggedTemplateLiteralLoose(['Phi_B = mu_0 cdot I'], ['\\\\Phi_B = \\\\mu_0 \\\\cdot I']),\n _templateObject92 = _taggedTemplateLiteralLoose(['\\x0Bec{F}_{B} = q cdot (\\x0Bec{v} \\times \\x0Bec{B})'], ['\\\\vec{F}_{B} = q \\\\cdot (\\\\vec{v} \\\\times \\\\vec{B})']),\n _templateObject93 = _taggedTemplateLiteralLoose(['\\x0Bec{B}'], ['\\\\vec{B}']),\n _templateObject94 = _taggedTemplateLiteralLoose(['\\x0Bec{v}'], ['\\\\vec{v}']),\n _templateObject95 = _taggedTemplateLiteralLoose(['\\x0Bec{F}_{magnetica} = I cdot (\\x0Bec{L} \\times \\x0Bec{B})'], ['\\\\vec{F}_{magnetica} = I \\\\cdot (\\\\vec{L} \\\\times \\\\vec{B})']),\n _templateObject96 = _taggedTemplateLiteralLoose(['I'], ['I']),\n _templateObject97 = _taggedTemplateLiteralLoose(['\\x0Bec{L}'], ['\\\\vec{L}']),\n _templateObject98 = _taggedTemplateLiteralLoose(['left | \\x0Bec{B} \\right | = mu_0 cdot I cdot \\frac{A_{vvolgimenti}}{L_{unghezzafilo}}'], ['\\\\left | \\\\vec{B} \\\\right | = \\\\mu_0 \\\\cdot I \\\\cdot \\\\frac{A_{vvolgimenti}}{L_{unghezzafilo}}']),\n _templateObject99 = _taggedTemplateLiteralLoose(['left | \\x0Bec{B} \\right | = \\frac{mu cdot I}{2 pi r}'], ['\\\\left | \\\\vec{B} \\\\right | = \\\\frac{\\\\mu \\\\cdot I}{2 \\\\pi r}']),\n _templateObject100 = _taggedTemplateLiteralLoose(['Delta V_{indotta} = v cdot B cdot L'], ['\\\\Delta V_{indotta} = v \\\\cdot B \\\\cdot L']),\n _templateObject101 = _taggedTemplateLiteralLoose(['Phi_B = \\x0Bec{B} cdot \\x0Bec{A} = B cdot A cdot cos(alpha)'], ['\\\\Phi_B = \\\\vec{B} \\\\cdot \\\\vec{A} = B \\\\cdot A \\\\cdot \\\\cos(\\\\alpha)']),\n _templateObject102 = _taggedTemplateLiteralLoose(['Delta V_{indotta} = - \\frac{Delta Phi_B}{Delta t}'], ['\\\\Delta V_{indotta} = - \\\\frac{\\\\Delta \\\\Phi_B}{\\\\Delta t}']),\n _templateObject103 = _taggedTemplateLiteralLoose(['Delta V_{indotta} = - \\frac{N cdot Delta Phi_{B_{spira}}}{Delta t} = - \\frac{N cdot B cdot A cdot cos(alpha)}{Delta t}'], ['\\\\Delta V_{indotta} = - \\\\frac{N \\\\cdot \\\\Delta \\\\Phi_{B_{spira}}}{\\\\Delta t} = - \\\\frac{N \\\\cdot B \\\\cdot A \\\\cdot cos(\\\\alpha)}{\\\\Delta t}']),\n _templateObject104 = _taggedTemplateLiteralLoose(['N'], ['N']),\n _templateObject105 = _taggedTemplateLiteralLoose(['E'], ['E']),\n _templateObject106 = _taggedTemplateLiteralLoose(['E = c cdot B'], ['E = c \\\\cdot B']),\n _templateObject107 = _taggedTemplateLiteralLoose(['c'], ['c']),\n _templateObject108 = _taggedTemplateLiteralLoose(['c = \\frac{1}{sqrt{epsilon_0 cdot mu_0}} = 3.00 cdot 10^8 \\frac{m}{s}'], ['c = \\\\frac{1}{\\\\sqrt{\\\\epsilon_0 \\\\cdot \\\\mu_0}} = 3.00 \\\\cdot 10^8 \\\\frac{m}{s}']),\n _templateObject109 = _taggedTemplateLiteralLoose(['A(t) = A_{max} cdot sin left ( \\frac{2 pi}{lambda} - omega t + phi \\right )'], ['A(t) = A_{max} \\\\cdot \\\\sin \\\\left ( \\\\frac{2 \\\\pi}{\\\\lambda} - \\\\omega t + \\\\phi \\\\right )']),\n _templateObject110 = _taggedTemplateLiteralLoose(['A_{max}'], ['A_{max}']),\n _templateObject111 = _taggedTemplateLiteralLoose(['\\frac{2 pi}{lambda} = left | \\x0Bec{k} \\right |'], ['\\\\frac{2 \\\\pi}{\\\\lambda} = \\\\left | \\\\vec{k} \\\\right |']),\n _templateObject112 = _taggedTemplateLiteralLoose(['omega'], ['\\\\omega']),\n _templateObject113 = _taggedTemplateLiteralLoose(['\\frac{1}{lambda} = R left ( \\frac{1}{4} - \\frac{1}{n^2} \\right )'], ['\\\\frac{1}{\\\\lambda} = R \\\\left ( \\\\frac{1}{4} - \\\\frac{1}{n^2} \\\\right )']),\n _templateObject114 = _taggedTemplateLiteralLoose(['R = 1.097 cdot 10^7 \\frac{1}{m}'], ['R = 1.097 \\\\cdot 10^7 \\\\frac{1}{m}']),\n _templateObject115 = _taggedTemplateLiteralLoose(['n'], ['n']),\n _templateObject116 = _taggedTemplateLiteralLoose(['h'], ['h']),\n _templateObject117 = _taggedTemplateLiteralLoose(['hbar = left ( \\frac{h}{2 pi} \\right )'], ['\\\\hbar = \\\\left ( \\\\frac{h}{2 \\\\pi} \\\\right )']),\n _templateObject118 = _taggedTemplateLiteralLoose(['m cdot v_n cdot 2 pi cdot r = n cdot h'], ['m \\\\cdot v_n \\\\cdot 2 \\\\pi \\\\cdot r = n \\\\cdot h']),\n _templateObject119 = _taggedTemplateLiteralLoose(['r_n = n^2 cdot a_0 = n^2 cdot \\frac{hbar}{m_{elettrone} cdot k cdot e^2} '], ['r_n = n^2 \\\\cdot a_0 = n^2 \\\\cdot \\\\frac{\\\\hbar}{m_{elettrone} \\\\cdot k \\\\cdot e^2} ']),\n _templateObject120 = _taggedTemplateLiteralLoose(['a_0 = left ( \\frac{h}{2 pi} \\right )^2 cdot \\frac{1}{m_{elettrone} cdot k cdot e^2} = 5.29 cdot 10^{-11} m'], ['a_0 = \\\\left ( \\\\frac{h}{2 \\\\pi} \\\\right )^2 \\\\cdot \\\\frac{1}{m_{elettrone} \\\\cdot k \\\\cdot e^2} = 5.29 \\\\cdot 10^{-11} m']),\n _templateObject121 = _taggedTemplateLiteralLoose(['E_n = \\frac{1}{n^2} cdot E_1 = - \\frac{1}{n^2} cdot \\frac{a_0^2}{2 cdot m cdot hbar^4} = - \\frac{1}{n^2} cdot \\frac{m_{elettrone} cdot k^2 cdot e^4}{2 cdot hbar^2}'], ['E_n = \\\\frac{1}{n^2} \\\\cdot E_1 = - \\\\frac{1}{n^2} \\\\cdot \\\\frac{a_0^2}{2 \\\\cdot m \\\\cdot \\\\hbar^4} = - \\\\frac{1}{n^2} \\\\cdot \\\\frac{m_{elettrone} \\\\cdot k^2 \\\\cdot e^4}{2 \\\\cdot \\\\hbar^2}']),\n _templateObject122 = _taggedTemplateLiteralLoose(['10^1 eV'], ['10^1 eV']),\n _templateObject123 = _taggedTemplateLiteralLoose(['1 eV'], ['1 eV']),\n _templateObject124 = _taggedTemplateLiteralLoose(['lambda'], ['\\\\lambda']),\n _templateObject125 = _taggedTemplateLiteralLoose(['lambda_{max} cdot T'], ['\\\\lambda_{max} \\\\cdot T']),\n _templateObject126 = _taggedTemplateLiteralLoose(['E_{fotone} = h cdot f'], ['E_{fotone} = h \\\\cdot f']);\n\n\n\nfunction _taggedTemplateLiteralLoose(strings, raw) { strings.raw = raw; return strings; }\n\nfunction fisica__classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction fisica__possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction fisica__inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\n\n\n\n\n\n\n\n\n\nvar r = String.raw;\n\nvar fisica__ref = Object(preact_min[\"h\"])(\n 'h1',\n null,\n 'Fisica'\n);\n\nvar fisica__ref2 = Object(preact_min[\"h\"])(\n 'p',\n null,\n 'Usa le regole base della trigonometria:'\n);\n\nvar fisica__ref3 = Object(preact_min[\"h\"])(\n 'p',\n null,\n 'Scomponi in componenti, poi sommali:'\n);\n\nvar _ref4 = Object(preact_min[\"h\"])(\n 'p',\n null,\n 'Produce il vettore risultante dall\\'applicazione della regola del parallelogramma.'\n);\n\nvar _ref5 = Object(preact_min[\"h\"])(\n 'p',\n null,\n 'Alla fine \\xE8 sempre una somma:'\n);\n\nvar _ref6 = Object(preact_min[\"h\"])(\n 'p',\n null,\n 'Produce il vettore che parte da ',\n Object(preact_min[\"h\"])(\n latex_Latex,\n null,\n 'w'\n ),\n ' e arriva a ',\n Object(preact_min[\"h\"])(\n latex_Latex,\n null,\n 'v'\n ),\n '.'\n);\n\nvar _ref7 = Object(preact_min[\"h\"])(\n 'p',\n null,\n 'Si chiama scalare perch\\xE8 il risultato \\xE8 uno scalare, non un vettore.'\n);\n\nvar _ref8 = Object(preact_min[\"h\"])(\n 'p',\n null,\n 'Si chiama vettoriale perch\\xE8 il risultato \\xE8 un altro vettore.'\n);\n\nvar _ref9 = Object(preact_min[\"h\"])(\n 'li',\n null,\n Object(preact_min[\"h\"])(\n 'a',\n { href: 'https://it.wikipedia.org/wiki/Regola_della_mano_destra' },\n 'Regola della mano destra'\n )\n);\n\nvar _ref10 = Object(preact_min[\"h\"])(\n 'p',\n null,\n 'Non \\xE8 commutativo!'\n);\n\nvar _ref11 = Object(preact_min[\"h\"])(\n 'p',\n null,\n 'Se un corpo puntiforme ha forza risultante nulla, allora la sua velocit\\xE0 non cambia.'\n);\n\nvar _ref12 = Object(preact_min[\"h\"])(\n 'p',\n null,\n 'La forza risultante di un corpo \\xE8 direttamente proporzionale alla sua accelerazione, e la costante di proporzionalit\\xE0 \\xE8 la ',\n Object(preact_min[\"h\"])(\n 'i',\n null,\n 'massa'\n ),\n '.'\n);\n\nvar _ref13 = Object(preact_min[\"h\"])(\n 'p',\n null,\n 'Due corpi esercitano forze uguali e opposte uno sull\\'altro.'\n);\n\nvar _ref14 = Object(preact_min[\"h\"])(\n 'p',\n null,\n 'Due corpi puntiformi si attirano uno verso l\\'altro con forza:'\n);\n\nvar _ref15 = Object(preact_min[\"h\"])(\n 'p',\n null,\n Object(preact_min[\"h\"])(\n latex_Latex,\n null,\n 'G'\n ),\n ' \\xE8 la ',\n Object(preact_min[\"h\"])(\n 'i',\n null,\n 'costante di gravitazione universale'\n ),\n ' e vale:'\n);\n\nvar _ref16 = Object(preact_min[\"h\"])(\n 'p',\n null,\n 'Se nel sistema di riferimento consideriamo la Terra ferma, allora un corpo \\xE8 attratto verso la Terra con forza ',\n Object(preact_min[\"h\"])(\n 'i',\n null,\n 'peso'\n ),\n ' uguale a:'\n);\n\nvar _ref17 = Object(preact_min[\"h\"])(\n 'p',\n null,\n Object(preact_min[\"h\"])(\n latex_Latex,\n null,\n 'g'\n ),\n ' \\xE8 la ',\n Object(preact_min[\"h\"])(\n 'i',\n null,\n 'costante di gravit\\xE0'\n ),\n ' della Terra, e vale:'\n);\n\nvar _ref18 = Object(preact_min[\"h\"])(\n 'p',\n null,\n 'Per pianeti diversi dalla Terra vale la stessa regola:'\n);\n\nvar _ref19 = Object(preact_min[\"h\"])(\n 'p',\n null,\n 'L\\'unica differenza \\xE8 che cambia la ',\n Object(preact_min[\"h\"])(\n 'i',\n null,\n 'costante di gravit\\xE0'\n ),\n ':'\n);\n\nvar _ref20 = Object(preact_min[\"h\"])(\n panel_Panel,\n { title: 'Normale' },\n Object(preact_min[\"h\"])(\n 'p',\n null,\n 'Si oppone alle forze applicate alla superficie di contatto.'\n ),\n Object(preact_min[\"h\"])(\n 'p',\n null,\n 'Un libro appoggiato su un tavolo ha la ',\n Object(preact_min[\"h\"])(\n 'b',\n null,\n 'forza di gravit\\xE0'\n ),\n ' che lo attira verso il terreno e la ',\n Object(preact_min[\"h\"])(\n 'b',\n null,\n 'forza normale'\n ),\n ' che lo trattiene dal cadere.'\n )\n);\n\nvar _ref21 = Object(preact_min[\"h\"])(\n 'p',\n null,\n 'Impedisce a un corpo di muoversi se non viene spinto da una forza che supera una certa soglia:'\n);\n\nvar _ref22 = Object(preact_min[\"h\"])(\n 'p',\n null,\n 'Rallenta i corpi che si stanno muovendo finch\\xE8 essi non si fermano:'\n);\n\nvar _ref23 = Object(preact_min[\"h\"])(\n panel_Panel,\n { title: 'Tensione' },\n Object(preact_min[\"h\"])(\n 'p',\n null,\n 'E\\' forza trasmessa tra due estremi di una fune.'\n ),\n Object(preact_min[\"h\"])(\n 'p',\n null,\n 'Pu\\xF2 essere redirezionata per mezzo di carrucole.'\n )\n);\n\nvar _ref24 = Object(preact_min[\"h\"])(\n 'p',\n null,\n 'Una molla cerca sempre di tornare alla sua posizione indeformata con forza:'\n);\n\nvar _ref25 = Object(preact_min[\"h\"])(\n 'p',\n null,\n '(E\\' negativa perch\\xE8 la forza \\xE8 opposta a quella applicata per deformarla.)'\n);\n\nvar _ref26 = Object(preact_min[\"h\"])(\n 'p',\n null,\n '\\xC8 un vettore che indica la posizione di un corpo rispetto a un\\'origine.'\n);\n\nvar _ref27 = Object(preact_min[\"h\"])(\n 'p',\n null,\n '\\xC8 un vettore che misura la variazione di posizione nel tempo.'\n);\n\nvar _ref28 = Object(preact_min[\"h\"])(\n 'p',\n null,\n 'Se si considera un intervallo di tempo infinitesimale si dice ',\n Object(preact_min[\"h\"])(\n 'i',\n null,\n 'velocit\\xE0 istantanea'\n ),\n ':'\n);\n\nvar _ref29 = Object(preact_min[\"h\"])(\n 'p',\n null,\n '\\xC8 un vettore che misura la variazione di velocit\\xE0 nel tempo.'\n);\n\nvar _ref30 = Object(preact_min[\"h\"])(\n 'p',\n null,\n 'Se si considera un intervallo di tempo infinitesimale si dice ',\n Object(preact_min[\"h\"])(\n 'i',\n null,\n 'accelerazione istantanea'\n ),\n ':'\n);\n\nvar _ref31 = Object(preact_min[\"h\"])(\n 'span',\n null,\n 'Quantit\\xE0 di moto ',\n Object(preact_min[\"h\"])(\n 'small',\n null,\n '(momento lineare)'\n )\n);\n\nvar _ref32 = Object(preact_min[\"h\"])(\n 'p',\n null,\n 'La quantit\\xE0 di moto \\xE8 una propriet\\xE0 vettoriale dei corpi:'\n);\n\nvar _ref33 = Object(preact_min[\"h\"])(\n 'p',\n null,\n 'Se la forza risultante \\xE8 nulla, la quantit\\xE0 di moto non cambia.'\n);\n\nvar _ref34 = Object(preact_min[\"h\"])(\n 'p',\n null,\n 'La ',\n Object(preact_min[\"h\"])(\n 'i',\n null,\n 'legge oraria'\n ),\n ' \\xE8:'\n);\n\nvar _ref35 = Object(preact_min[\"h\"])(\n 'p',\n null,\n '\\xC8 costante:'\n);\n\nvar _ref36 = Object(preact_min[\"h\"])(\n 'p',\n null,\n 'La velocit\\xE0 non varia:'\n);\n\nvar _ref37 = Object(preact_min[\"h\"])(\n panel_Panel,\n { title: 'Forze' },\n Object(preact_min[\"h\"])(\n 'p',\n null,\n 'Si applica la prima legge di Newton:'\n ),\n Object(preact_min[\"h\"])(\n 'p',\n null,\n Object(preact_min[\"h\"])(\n latex_Latex,\n null,\n 'f(t) = 0'\n )\n )\n);\n\nvar _ref38 = Object(preact_min[\"h\"])(\n 'p',\n null,\n 'La ',\n Object(preact_min[\"h\"])(\n 'i',\n null,\n 'legge oraria'\n ),\n ' \\xE8:'\n);\n\nvar _ref39 = Object(preact_min[\"h\"])(\n 'p',\n null,\n '\\xC8 una retta:'\n);\n\nvar _ref40 = Object(preact_min[\"h\"])(\n 'p',\n null,\n '\\xC8 costante:'\n);\n\nvar _ref41 = Object(preact_min[\"h\"])(\n panel_Panel,\n { title: 'Forze' },\n Object(preact_min[\"h\"])(\n 'p',\n null,\n 'Si applica la prima legge di Newton:'\n ),\n Object(preact_min[\"h\"])(\n 'p',\n null,\n Object(preact_min[\"h\"])(\n latex_Latex,\n null,\n 'f(t) = m a'\n )\n )\n);\n\nvar _ref42 = Object(preact_min[\"h\"])(\n panel_Panel,\n { title: 'Ampiezza' },\n Object(preact_min[\"h\"])(\n 'p',\n null,\n 'E\\' la distanza dal centro massima che raggiunge il corpo.'\n ),\n Object(preact_min[\"h\"])(\n 'p',\n null,\n '(L\\'ampiezza di una sinusoide.)'\n )\n);\n\nvar _ref43 = Object(preact_min[\"h\"])(\n 'p',\n null,\n 'Indica quanto in fretta cambia la posizione del corpo.'\n);\n\nvar _ref44 = Object(preact_min[\"h\"])(\n 'p',\n null,\n 'Dipende dal periodo:'\n);\n\nvar _ref45 = Object(preact_min[\"h\"])(\n 'p',\n null,\n 'E\\' una sinusoide:'\n);\n\nvar _ref46 = Object(preact_min[\"h\"])(\n panel_Panel,\n { title: 'Forze' },\n Object(preact_min[\"h\"])(\n 'p',\n null,\n 'Si applica la prima legge di Newton:'\n ),\n Object(preact_min[\"h\"])(\n 'p',\n null,\n Object(preact_min[\"h\"])(\n latex_Latex,\n null,\n 'f(t) = m a'\n )\n )\n);\n\nvar _ref47 = Object(preact_min[\"h\"])(\n panel_Panel,\n { title: 'Moto parabolico' },\n Object(preact_min[\"h\"])(\n 'p',\n null,\n 'Il moto parabolico \\xE8 dato sommando un moto rettilineo uniforme sull\\'asse orizzontale e un moto rettilineo uniformemente accelerato sull\\'asse verticale.'\n )\n);\n\nvar _ref48 = Object(preact_min[\"h\"])(\n 'h3',\n null,\n 'Velocit\\xE0 angolare'\n);\n\nvar _ref49 = Object(preact_min[\"h\"])(\n 'p',\n null,\n 'Quanto cambia la fase nel tempo.'\n);\n\nvar _ref50 = Object(preact_min[\"h\"])(\n 'p',\n null,\n 'E\\' l\\'angolo percorso dal corpo rispetto alla posizione iniziale.'\n);\n\nvar _ref51 = Object(preact_min[\"h\"])(\n 'p',\n null,\n 'Si applicano le formule per la circonferenza:'\n);\n\nvar _ref52 = Object(preact_min[\"h\"])(\n 'p',\n null,\n 'Il corpo ha sempre un accelerazione verso il centro che gli impedisce di abbandonare il moto:'\n);\n\nvar _ref53 = Object(preact_min[\"h\"])(\n 'p',\n null,\n '\\xC8 verso il centro e si calcola con:'\n);\n\nvar _ref54 = Object(preact_min[\"h\"])(\n 'p',\n null,\n 'E\\' compiuto da una forza che sposta un corpo.'\n);\n\nvar _ref55 = Object(preact_min[\"h\"])(\n 'p',\n null,\n '(Se la forza non \\xE8 parallela allo spostamento, il prodotto scalare ci fa considerare solo la componente parallela.)'\n);\n\nvar _ref56 = Object(preact_min[\"h\"])(\n 'p',\n null,\n 'Un corpo ha energia cinetica in ogni momento uguale a:'\n);\n\nvar _ref57 = Object(preact_min[\"h\"])(\n 'p',\n null,\n 'Se una forza effettua lavoro su un corpo, cambia la sua energia cinetica pari al lavoro effettuato:'\n);\n\nvar _ref58 = Object(preact_min[\"h\"])(\n 'p',\n null,\n 'Un corpo ha energia potenziale in ogni momento pari a:'\n);\n\nvar _ref59 = Object(preact_min[\"h\"])(\n 'p',\n null,\n '(Con ',\n Object(preact_min[\"h\"])(\n latex_Latex,\n null,\n 'h'\n ),\n ' uguale a un altezza scelta come punto di riferimento.)'\n);\n\nvar _ref60 = Object(preact_min[\"h\"])(\n 'p',\n null,\n 'Una molla ha sempre energia potenziale elastica pari a:'\n);\n\nvar _ref61 = Object(preact_min[\"h\"])(\n 'p',\n null,\n 'Sono conservative le forze per le quali il lavoro compiuto non dipende dal percorso seguito per andare dalla partenza all\\'arrivo.'\n);\n\nvar _ref62 = Object(preact_min[\"h\"])(\n 'p',\n null,\n 'Ad esempio, \\xE8 conservativa la ',\n Object(preact_min[\"h\"])(\n 'i',\n null,\n 'forza di gravit\\xE0'\n ),\n ', ma ',\n Object(preact_min[\"h\"])(\n 'b',\n null,\n 'non'\n ),\n ' \\xE8 conservativa la forza di attrito.'\n);\n\nvar _ref63 = Object(preact_min[\"h\"])(\n 'p',\n null,\n 'Se in un sistema ci sono solo forze conservative, allora l\\'energia meccanica totale si conserva:'\n);\n\nvar _ref64 = Object(preact_min[\"h\"])(\n 'p',\n null,\n '\\xC8 la velocit\\xE0 di trasferimento di energia:'\n);\n\nvar _ref65 = Object(preact_min[\"h\"])(\n 'p',\n null,\n '\\xC8 una propriet\\xE0 dei corpi che pu\\xF2 essere ',\n Object(preact_min[\"h\"])(\n plus_Plus,\n null,\n 'positiva'\n ),\n ' o ',\n Object(preact_min[\"h\"])(\n minus_Minus,\n null,\n 'negativa'\n ),\n '.'\n);\n\nvar _ref66 = Object(preact_min[\"h\"])(\n 'p',\n null,\n 'Si conserva: in un sistema chiuso la carica totale \\xE8 costante.'\n);\n\nvar _ref67 = Object(preact_min[\"h\"])(\n 'p',\n null,\n 'Cariche ',\n Object(preact_min[\"h\"])(\n plus_Plus,\n null,\n 'opp'\n ),\n Object(preact_min[\"h\"])(\n minus_Minus,\n null,\n 'oste'\n ),\n ' si attraggono; cariche ',\n Object(preact_min[\"h\"])(\n plus_Plus,\n null,\n 'uguali'\n ),\n ' si respingono.'\n);\n\nvar _ref68 = Object(preact_min[\"h\"])(\n panel_Panel,\n { title: 'Conduttori e isolanti' },\n Object(preact_min[\"h\"])(\n 'p',\n null,\n 'Pi\\xF9 ',\n Object(preact_min[\"h\"])(\n 'a',\n { href: 'https://it.wikipedia.org/wiki/Ione' },\n 'ioni'\n ),\n ' ha un corpo, meglio la carica si muove attraverso di esso.'\n ),\n Object(preact_min[\"h\"])(\n 'p',\n null,\n 'I corpi in cui la carica si muove bene sono ',\n Object(preact_min[\"h\"])(\n 'i',\n null,\n 'conduttori'\n ),\n ', mentre quelli in cui si muove difficilmente sono ',\n Object(preact_min[\"h\"])(\n 'i',\n null,\n 'isolanti'\n ),\n '.'\n ),\n Object(preact_min[\"h\"])(\n 'p',\n null,\n Object(preact_min[\"h\"])(\n 'i',\n null,\n 'Il corpo umano \\xE8 un buon conduttore.'\n )\n )\n);\n\nvar _ref69 = Object(preact_min[\"h\"])(\n split_Split,\n { title: 'Polarizzazione' },\n Object(preact_min[\"h\"])(\n panel_Panel,\n { title: 'Polarizzazione' },\n Object(preact_min[\"h\"])(\n 'p',\n null,\n 'E\\' possibile polarizzare un corpo per accumulare la carica di un segno in una certa zona.'\n )\n )\n);\n\nvar _ref70 = Object(preact_min[\"h\"])(\n split_Split,\n null,\n Object(preact_min[\"h\"])(\n panel_Panel,\n { title: 'Messa a terra' },\n Object(preact_min[\"h\"])(\n 'p',\n null,\n 'Se un corpo conduttore \\xE8 in contatto con la Terra, le cariche su di esso saranno ',\n Object(preact_min[\"h\"])(\n 'i',\n null,\n 'equilibrate'\n ),\n ' e il corpo diventer\\xE0 elettricamente neutro (con stesso numero di ',\n Object(preact_min[\"h\"])(\n plus_Plus,\n null,\n 'cariche positive'\n ),\n ' e ',\n Object(preact_min[\"h\"])(\n minus_Minus,\n null,\n 'negative'\n ),\n ' all\\'interno).'\n )\n )\n);\n\nvar _ref71 = Object(preact_min[\"h\"])(\n split_Split,\n null,\n Object(preact_min[\"h\"])(\n panel_Panel,\n { title: 'Polarizzazione per strofinio' },\n Object(preact_min[\"h\"])(\n 'p',\n null,\n 'Strofinando tra loro due corpi isolanti, essi si ',\n Object(preact_min[\"h\"])(\n 'i',\n null,\n 'polarizzeranno per strofinio'\n ),\n '.'\n )\n ),\n Object(preact_min[\"h\"])(\n panel_Panel,\n { title: 'Polarizzazione per contatto' },\n Object(preact_min[\"h\"])(\n 'p',\n null,\n 'Toccando un conduttore con un corpo carico, il conduttore potr\\xE0 ',\n Object(preact_min[\"h\"])(\n 'i',\n null,\n 'polarizzarsi per contatto'\n ),\n '.'\n )\n ),\n Object(preact_min[\"h\"])(\n panel_Panel,\n { title: 'Polarizzazione per induzione' },\n Object(preact_min[\"h\"])(\n 'p',\n null,\n 'Se un corpo conduttore ha cariche \"esterne\" di un ',\n Object(preact_min[\"h\"])(\n plus_Plus,\n null,\n 'certo segno'\n ),\n ' vicino, esso avr\\xE0 tutte le cariche del ',\n Object(preact_min[\"h\"])(\n minus_Minus,\n null,\n 'segno opposto'\n ),\n ' in equilibrio vicino alle cariche esterne, e tutte le cariche dello ',\n Object(preact_min[\"h\"])(\n plus_Plus,\n null,\n 'stesso segno'\n ),\n ' pi\\xF9 lontano possibile da esse.'\n ),\n Object(preact_min[\"h\"])(\n 'p',\n null,\n 'Mettendo a terra il conduttore, nuove cariche del ',\n Object(preact_min[\"h\"])(\n minus_Minus,\n null,\n 'segno opposto'\n ),\n ' saranno attratte all\\'interno del corpo per equilibrare le cariche che si sono allontanate.'\n ),\n Object(preact_min[\"h\"])(\n 'p',\n null,\n 'Staccando il conduttore da terra e rimuovendo le cariche esterne, esso si ritrover\\xE0 ',\n Object(preact_min[\"h\"])(\n minus_Minus,\n null,\n 'caricato del segno opposto'\n ),\n ' rispetto alle cariche esterne.'\n )\n )\n);\n\nvar _ref72 = Object(preact_min[\"h\"])(\n 'p',\n null,\n 'Due corpi carichi si attraggono tra loro con forza:'\n);\n\nvar _ref73 = Object(preact_min[\"h\"])(\n 'i',\n null,\n 'costante di Coulomb'\n);\n\nvar _ref74 = Object(preact_min[\"h\"])(\n 'i',\n null,\n 'permeabilit\\xE0 del vuoto'\n);\n\nvar _ref75 = Object(preact_min[\"h\"])(\n 'p',\n null,\n 'Misura che forza viene applicata in ogni punto su una carica unitaria:'\n);\n\nvar _ref76 = Object(preact_min[\"h\"])(\n 'p',\n null,\n '\\xC8 la differenza tra \"quanto\" campo elettrico ',\n Object(preact_min[\"h\"])(\n plus_Plus,\n null,\n 'entra'\n ),\n ' e quanto campo elettrico ',\n Object(preact_min[\"h\"])(\n minus_Minus,\n null,\n 'esce'\n ),\n ' da una certa area.'\n);\n\nvar _ref77 = Object(preact_min[\"h\"])(\n 'p',\n null,\n 'In qualsiasi superficie chiusa, il flusso elettrico \\xE8 uguale alla componente perpendicolare del campo elettrico moltiplicato per l\\'area.'\n);\n\nvar _ref78 = Object(preact_min[\"h\"])(\n 'p',\n null,\n 'Se il campo elettrico \\xE8 uniforme, se ne pu\\xF2 calcolare facilmente il valore:'\n);\n\nvar _ref79 = Object(preact_min[\"h\"])(\n 'p',\n null,\n Object(preact_min[\"h\"])(\n todo_Todo,\n null,\n 'Circa. E\\' una specie di integrale...'\n )\n);\n\nvar _ref80 = Object(preact_min[\"h\"])(\n 'p',\n null,\n 'Il flusso elettrico \\xE8 direttamente proporzionale alla carica presente all\\'interno della superficie.'\n);\n\nvar _ref81 = Object(preact_min[\"h\"])(\n 'p',\n null,\n 'Ovvero, i campi elettrostatici sono generati dalle cariche elettriche.'\n);\n\nvar _ref82 = Object(preact_min[\"h\"])(\n 'i',\n null,\n 'energia potenziale elettrica'\n);\n\nvar _ref83 = Object(preact_min[\"h\"])(\n 'span',\n null,\n 'Potenziale elettrico ',\n Object(preact_min[\"h\"])(\n 'small',\n null,\n '(tensione)'\n )\n);\n\nvar _ref84 = Object(preact_min[\"h\"])(\n 'p',\n null,\n '\\xC8 il valore dell\\'energia potenziale elettrica per una carica unitaria.'\n);\n\nvar _ref85 = Object(preact_min[\"h\"])(\n 'p',\n null,\n 'In una batteria \\xE8 detto ',\n Object(preact_min[\"h\"])(\n 'i',\n null,\n 'forza elettromotrice'\n ),\n ', e corrisponde al lavoro compiuto da una batteria ideale per spostare una carica unitaria tra i due poli.'\n);\n\nvar _ref86 = Object(preact_min[\"h\"])(\n 'span',\n null,\n 'Corrente elettrica ',\n Object(preact_min[\"h\"])(\n 'small',\n null,\n '(intensit\\xE0)'\n )\n);\n\nvar _ref87 = Object(preact_min[\"h\"])(\n 'p',\n null,\n 'Quanta carica passa attraverso un\\'area (perpendicolare al flusso) nel tempo.'\n);\n\nvar _ref88 = Object(preact_min[\"h\"])(\n 'p',\n null,\n 'Fintanto che c\\'\\xE8 differenza di potenziale, ci sar\\xE0 anche intensit\\xE0 non nulla.'\n);\n\nvar _ref89 = Object(preact_min[\"h\"])(\n panel_Panel,\n { title: Object(preact_min[\"h\"])(\n 'span',\n null,\n 'Corrente continua ',\n Object(preact_min[\"h\"])(\n 'small',\n null,\n '(',\n Object(preact_min[\"h\"])(\n 'abbr',\n { title: 'Direct Current' },\n 'DC'\n ),\n ')'\n )\n ) },\n Object(preact_min[\"h\"])(\n 'p',\n null,\n 'Quando in un circuito la direzione della corrente \\xE8 costante.'\n )\n);\n\nvar _ref90 = Object(preact_min[\"h\"])(\n panel_Panel,\n { title: Object(preact_min[\"h\"])(\n 'span',\n null,\n 'Corrente alternata ',\n Object(preact_min[\"h\"])(\n 'small',\n null,\n '(',\n Object(preact_min[\"h\"])(\n 'abbr',\n { title: 'Alternate Current' },\n 'AC'\n ),\n ')'\n )\n ) },\n Object(preact_min[\"h\"])(\n 'p',\n null,\n 'Quando in un circuito la direzione della corrente si alterna periodicamente.'\n )\n);\n\nvar _ref91 = Object(preact_min[\"h\"])(\n 'p',\n null,\n 'Possiamo calcolare la potenza di un circuito:'\n);\n\nvar _ref92 = Object(preact_min[\"h\"])(\n 'p',\n null,\n 'Riduce l\\'intensit\\xE0 di corrente, e converte parte del potenziale in calore.'\n);\n\nvar _ref93 = Object(preact_min[\"h\"])(\n 'p',\n null,\n 'Il potenziale utilizzato \\xE8 pari a:'\n);\n\nvar _ref94 = Object(preact_min[\"h\"])(\n 'i',\n null,\n 'resistenza'\n);\n\nvar _ref95 = Object(preact_min[\"h\"])(\n 'p',\n null,\n 'La resistenza di un conduttore vale:'\n);\n\nvar _ref96 = Object(preact_min[\"h\"])(\n 'i',\n null,\n 'resistivit\\xE0'\n);\n\nvar _ref97 = Object(preact_min[\"h\"])(\n 'p',\n null,\n 'Immagazzina potenziale elettrico, permettendo di riutilizzarla in seguito.'\n);\n\nvar _ref98 = Object(preact_min[\"h\"])(\n 'p',\n null,\n 'Per farlo, cattura cariche ',\n Object(preact_min[\"h\"])(\n plus_Plus,\n null,\n 'positive'\n ),\n ' e ',\n Object(preact_min[\"h\"])(\n minus_Minus,\n null,\n 'negative'\n ),\n ' sulle sue due armature; perch\\xE8 questo avvenga, deve essere compiuto lavoro.'\n);\n\nvar _ref99 = Object(preact_min[\"h\"])(\n 'p',\n null,\n 'Ha una ',\n Object(preact_min[\"h\"])(\n 'b',\n null,\n 'capacit\\xE0'\n ),\n ' caratteristica, che in un condensatore a facce piane parallele \\xE8:'\n);\n\nvar _ref100 = Object(preact_min[\"h\"])(\n 'p',\n null,\n 'Condensatori di capacit\\xE0 maggiore immagazzinano pi\\xF9 potenziale con meno carica.'\n);\n\nvar _ref101 = Object(preact_min[\"h\"])(\n 'p',\n null,\n 'La capacit\\xE0 aumenta se viene messo qualcosa tra le armature:'\n);\n\nvar _ref102 = Object(preact_min[\"h\"])(\n 'i',\n null,\n 'costante dielettrica relativa'\n);\n\nvar _ref103 = Object(preact_min[\"h\"])(\n 'p',\n null,\n 'Se il campo elettrico creatosi tra le due armature supera la ',\n Object(preact_min[\"h\"])(\n 'i',\n null,\n 'rigidit\\xE0 dielettrica'\n ),\n ' del condensatore, la carica immagazzinata viene persa e ha luogo un ',\n Object(preact_min[\"h\"])(\n 'i',\n null,\n 'breakdown'\n ),\n '.'\n);\n\nvar _ref104 = Object(preact_min[\"h\"])(\n panel_Panel,\n { title: 'Amperometro' },\n Object(preact_min[\"h\"])(\n 'p',\n null,\n 'Misura la corrente elettrica se messo in serie.'\n ),\n Object(preact_min[\"h\"])(\n 'p',\n null,\n '(Funzionamento: ha una resistenza interna bassisima in modo da non influire significativamente sulla corrente.)'\n )\n);\n\nvar _ref105 = Object(preact_min[\"h\"])(\n panel_Panel,\n { title: 'Voltmetro' },\n Object(preact_min[\"h\"])(\n 'p',\n null,\n 'Misura la differenza di potenziale se messo in parallelo.'\n ),\n Object(preact_min[\"h\"])(\n 'p',\n null,\n '(Funzionamento: ha una resistenza altissima in modo da non influire significativamente sulla tensione.)'\n )\n);\n\nvar _ref106 = Object(preact_min[\"h\"])(\n split_Split,\n { title: 'Principi di Kirchhoff' },\n Object(preact_min[\"h\"])(\n panel_Panel,\n { title: 'Legge dei nodi' },\n Object(preact_min[\"h\"])(\n 'p',\n null,\n 'Per nodo si intende un qualsiasi punto del circuito.'\n ),\n Object(preact_min[\"h\"])(\n 'p',\n null,\n 'Da un nodo entra ed esce la stessa corrente.'\n )\n ),\n Object(preact_min[\"h\"])(\n panel_Panel,\n { title: 'Legge delle maglie' },\n Object(preact_min[\"h\"])(\n 'p',\n null,\n 'Per maglia si intende un qualsiasi percorso chiuso all\\'interno del circuito.'\n ),\n Object(preact_min[\"h\"])(\n 'p',\n null,\n 'In una maglia chiusa, la somma delle differenze di potenziale \\xE8 0.'\n )\n )\n);\n\nvar _ref107 = Object(preact_min[\"h\"])(\n split_Split,\n { title: 'Serie e Parallelo' },\n Object(preact_min[\"h\"])(\n panel_Panel,\n { title: 'Circuito in serie' },\n Object(preact_min[\"h\"])(\n 'p',\n null,\n 'Pi\\xF9 parti di circuito sono ',\n Object(preact_min[\"h\"])(\n 'i',\n null,\n 'in serie'\n ),\n ' se sono consecutive e senza biforcazioni.'\n ),\n Object(preact_min[\"h\"])(\n 'p',\n null,\n 'Parti di circuito in serie sono attraversate dalla stessa corrente.'\n )\n ),\n Object(preact_min[\"h\"])(\n panel_Panel,\n { title: 'Circuito in parallelo' },\n Object(preact_min[\"h\"])(\n 'p',\n null,\n 'Pi\\xF9 parti di circuito sono ',\n Object(preact_min[\"h\"])(\n 'i',\n null,\n 'in parallelo'\n ),\n ' tra loro se hanno lo stesso punto di partenza e lo stesso punto di arrivo.'\n ),\n Object(preact_min[\"h\"])(\n 'p',\n null,\n 'Parti di circuito in parallelo hanno la stessa differenza di potenziale.'\n )\n )\n);\n\nvar _ref108 = Object(preact_min[\"h\"])(\n 'p',\n null,\n 'Nei circuiti in serie, tutte le resistenze possono essere sostituite con una equivalente dalla resistenza della somma di tutte le quelle sostituite:'\n);\n\nvar _ref109 = Object(preact_min[\"h\"])(\n 'p',\n null,\n 'Nei circuiti in parallelo, tutte le resistenze possono essere sostituite con una equivalente dalla resistenza di:'\n);\n\nvar _ref110 = Object(preact_min[\"h\"])(\n 'p',\n null,\n 'Nei circuiti in serie, tutti i condensatori possono essere sostituiti con uno equivalente dalla capacit\\xE0 di:'\n);\n\nvar _ref111 = Object(preact_min[\"h\"])(\n 'p',\n null,\n 'Nei circuiti in parallelo, tutte i condensatori possono essere sostituite con uno equivalente dalla capacit\\xE0 della somma di tutti quelli sostituiti:'\n);\n\nvar _ref112 = Object(preact_min[\"h\"])(\n 'p',\n null,\n 'E\\' una costante fisica fondamentale che rappresenta quanto un materiale si magnetizza facilmente.'\n);\n\nvar _ref113 = Object(preact_min[\"h\"])(\n 'p',\n null,\n 'Come un campo elettrico, ma per i magneti.'\n);\n\nvar _ref114 = Object(preact_min[\"h\"])(\n latex_Latex,\n null,\n 'T'\n);\n\nvar _ref115 = Object(preact_min[\"h\"])(\n 'p',\n null,\n '\\xC8 \"quanto\" campo magnetico ',\n Object(preact_min[\"h\"])(\n 'b',\n null,\n 'attraversa'\n ),\n ' un percorso chiuso.'\n);\n\nvar _ref116 = Object(preact_min[\"h\"])(\n 'p',\n null,\n 'Per qualsiasi percorso chiuso, il flusso magnetico \\xE8 uguale alla somma di tutti i \"sottoflussi\" magnetici calcolati sui suoi lati.'\n);\n\nvar _ref117 = Object(preact_min[\"h\"])(\n panel_Panel,\n { title: 'Legge di Gauss per i campi magnetici' },\n Object(preact_min[\"h\"])(\n 'p',\n null,\n 'Il flusso magnetico attraverso qualsiasi superficie chiusa \\xE8 sempre nullo.'\n ),\n Object(preact_min[\"h\"])(\n 'p',\n null,\n 'Ovvero, non esistono monopoli magnetici.'\n )\n);\n\nvar _ref118 = Object(preact_min[\"h\"])(\n 'p',\n null,\n 'L\\'intensit\\xE0 di corrente che attraversa un percorso chiuso \\xE8 direttamente proporzionale al flusso magnetico dello stesso percorso.'\n);\n\nvar _ref119 = Object(preact_min[\"h\"])(\n 'span',\n null,\n 'Forza magnetica su carica puntiforme ',\n Object(preact_min[\"h\"])(\n 'small',\n null,\n '(Forza di Lorentz)'\n )\n);\n\nvar _ref120 = Object(preact_min[\"h\"])(\n 'p',\n null,\n 'I campi magnetici applicano una forza sulle cariche vicine:'\n);\n\nvar _ref121 = Object(preact_min[\"h\"])(\n 'p',\n null,\n 'Si ha una forza massima se la velocit\\xE0 \\xE8 perpendicolare al campo magnetico.'\n);\n\nvar _ref122 = Object(preact_min[\"h\"])(\n 'p',\n null,\n 'In un campo magnetico uniforme, una velocit\\xE0 perpendicolare al campo porta alla creazione di un moto circolare uniforme.'\n);\n\nvar _ref123 = Object(preact_min[\"h\"])(\n 'p',\n null,\n 'I campi magnetici influenzano ovviamente anche le cariche presenti in un conduttore:'\n);\n\nvar _ref124 = Object(preact_min[\"h\"])(\n 'a',\n { href: 'https://it.openprof.com/wb/forza_di_lorentz_su_un_filo_percorso_da_corrente?ch=360' },\n '[1]'\n);\n\nvar _ref125 = Object(preact_min[\"h\"])(\n panel_Panel,\n { title: 'Campo magnetico in una spira' },\n Object(preact_min[\"h\"])(\n 'p',\n null,\n 'Una spira in cui passa corrente produce un campo magnetico perpendicolare al piano creato dalla spira.'\n )\n);\n\nvar _ref126 = Object(preact_min[\"h\"])(\n 'p',\n null,\n 'Un solenoide sono tante spire avvolte in modo da formare una specie di cilindro.'\n);\n\nvar _ref127 = Object(preact_min[\"h\"])(\n 'p',\n null,\n 'All\\'interno del solenoide si crea un campo (quasi) uniforme:'\n);\n\nvar _ref128 = Object(preact_min[\"h\"])(\n 'p',\n null,\n Object(preact_min[\"h\"])(\n 'i',\n null,\n 'Caso particolare della ',\n Object(preact_min[\"h\"])(\n 'a',\n { href: 'https://it.wikipedia.org/wiki/Legge_di_Amp%C3%A8re' },\n 'Legge di Amp\\xE8re'\n ),\n '.'\n )\n);\n\nvar _ref129 = Object(preact_min[\"h\"])(\n 'p',\n null,\n 'Il modulo del campo magnetico ',\n Object(preact_min[\"h\"])(\n latex_Latex,\n null,\n 'B'\n ),\n ' prodotto da un filo in cui passa una corrente continua ',\n Object(preact_min[\"h\"])(\n latex_Latex,\n null,\n 'I'\n ),\n ' alla distanza ',\n Object(preact_min[\"h\"])(\n latex_Latex,\n null,\n 's'\n ),\n ' \\xE8:'\n);\n\nvar _ref130 = Object(preact_min[\"h\"])(\n 'p',\n null,\n 'Il campo magnetico cos\\xEC creato gira attorno al filo in senso antiorario.'\n);\n\nvar _ref131 = Object(preact_min[\"h\"])(\n 'p',\n null,\n 'Due fili attraversati dalla ',\n Object(preact_min[\"h\"])(\n plus_Plus,\n null,\n 'stessa corrente'\n ),\n ' si attraggono, due fili attraversati da ',\n Object(preact_min[\"h\"])(\n plus_Plus,\n null,\n 'corr'\n ),\n Object(preact_min[\"h\"])(\n minus_Minus,\n null,\n 'enti'\n ),\n ' ',\n Object(preact_min[\"h\"])(\n plus_Plus,\n null,\n 'opp'\n ),\n Object(preact_min[\"h\"])(\n minus_Minus,\n null,\n 'oste'\n ),\n ' si respingono.'\n);\n\nvar _ref132 = Object(preact_min[\"h\"])(\n 'p',\n null,\n 'Un conduttore perpendicolare ad un campo magnetico pu\\xF2 ottenere una differenza di potenziale se messo in movimento in un direzione perpendicolare alla direzione del conduttore e del campo.'\n);\n\nvar _ref133 = Object(preact_min[\"h\"])(\n 'p',\n null,\n 'La differenza di potenziale si crea a causa della forza magnetica, che fa spostare tutti gli elettroni verso un capo del conduttore.'\n);\n\nvar _ref134 = Object(preact_min[\"h\"])(\n 'p',\n null,\n 'Essa vale:'\n);\n\nvar _ref135 = Object(preact_min[\"h\"])(\n 'p',\n null,\n 'Dove ',\n Object(preact_min[\"h\"])(\n latex_Latex,\n null,\n 'v'\n ),\n ' \\xE8 la velocit\\xE0 del conduttore, ',\n Object(preact_min[\"h\"])(\n latex_Latex,\n null,\n 'B'\n ),\n ' \\xE8 l\\'intensit\\xE0 del campo magnetico ed ',\n Object(preact_min[\"h\"])(\n latex_Latex,\n null,\n 'L'\n ),\n ' \\xE8 la lunghezza del conduttore.'\n);\n\nvar _ref136 = Object(preact_min[\"h\"])(\n 'i',\n null,\n 'Legge di Faraday-Neumann-Lenz'\n);\n\nvar _ref137 = Object(preact_min[\"h\"])(\n 'p',\n null,\n 'Dice che la forza elettromotrice media indotta in un percorso dipende dalla variazione nel tempo del flusso magnetico nello stesso percorso.'\n);\n\nvar _ref138 = Object(preact_min[\"h\"])(\n 'p',\n null,\n 'Il meno \\xE8 dovuto alla ',\n Object(preact_min[\"h\"])(\n 'a',\n { href: 'https://it.wikipedia.org/wiki/Legge_di_Lenz' },\n 'Legge di Lenz'\n ),\n ', che specifica qualitativamente il verso della forza elettromotrice indotta.'\n);\n\nvar _ref139 = Object(preact_min[\"h\"])(\n 'p',\n null,\n 'In un solenoide, la forza elettromotrice indotta \\xE8 uguale a:'\n);\n\nvar _ref140 = Object(preact_min[\"h\"])(\n panel_Panel,\n { title: 'Legge di Amp\\xE8re-Maxwell' },\n Object(preact_min[\"h\"])(\n 'p',\n null,\n 'Correnti o campi elettrici variabili creano un campo magnetico.'\n )\n);\n\nvar _ref141 = Object(preact_min[\"h\"])(\n 'p',\n null,\n 'Si dice quindi che sono ',\n Object(preact_min[\"h\"])(\n 'i',\n null,\n 'onde elettromagnetiche'\n ),\n '.'\n);\n\nvar _ref142 = Object(preact_min[\"h\"])(\n 'p',\n null,\n 'Esse sono legate dalla relazione:'\n);\n\nvar _ref143 = Object(preact_min[\"h\"])(\n 'p',\n null,\n 'I solidi, se portati ad alta temperatura, emettono luce con uno ',\n Object(preact_min[\"h\"])(\n 'a',\n { href: 'https://it.wikipedia.org/wiki/Spettro_continuo' },\n 'spettro continuo'\n ),\n '.'\n);\n\nvar _ref144 = Object(preact_min[\"h\"])(\n 'p',\n null,\n 'I gas, invece, ad alta temperatura emettono luce solo con particolari lunghezze d\\'onda.'\n);\n\nvar _ref145 = Object(preact_min[\"h\"])(\n 'p',\n null,\n 'In un gas di idrogeno, le lunghezze d\\'onda emesse sono ricavabili con:'\n);\n\nvar _ref146 = Object(preact_min[\"h\"])(\n 'p',\n null,\n 'Una grandezza si dice quantizzata (o discreta) se pu\\xF2 assumere solo determinati valori.'\n);\n\nvar _ref147 = Object(preact_min[\"h\"])(\n 'p',\n null,\n 'Una grandezza si dice continua se pu\\xF2 assumere qualsiasi valore e quindi se non \\xE8 quantizzata.'\n);\n\nvar _ref148 = Object(preact_min[\"h\"])(\n 'p',\n null,\n 'Energia, momento angolare e raggio sono quantizzati.'\n);\n\nvar _ref149 = Object(preact_min[\"h\"])(\n 'p',\n null,\n 'L\\'energia degli elettroni \\xE8 quantizzata.'\n);\n\nvar _ref150 = Object(preact_min[\"h\"])(\n 'p',\n null,\n 'Inoltre, per essi \\xE8 valido che:'\n);\n\nvar _ref151 = Object(preact_min[\"h\"])(\n 'p',\n null,\n 'Ancora, il raggio delle orbite \\xE8 uguale a:'\n);\n\nvar _ref152 = Object(preact_min[\"h\"])(\n 'p',\n null,\n 'Infine, in ogni stato, l\\'energia \\xE8 pari a:'\n);\n\nvar _ref153 = Object(preact_min[\"h\"])(\n 'p',\n null,\n 'Due elettroni non possono occupare lo stesso stato.'\n);\n\nvar _ref154 = Object(preact_min[\"h\"])(\n 'p',\n null,\n 'Questo modello funziona solo per atomi con numero atomico basso. Atomi con molti elettroni hanno comportamenti diversi, descritti dal modello di'\n);\n\nvar _ref155 = Object(preact_min[\"h\"])(\n split_Split,\n null,\n Object(preact_min[\"h\"])(\n panel_Panel,\n { title: 'Nei solidi' },\n Object(preact_min[\"h\"])(\n 'p',\n null,\n 'Nei solidi, le lunghezze d\\'onda sono talmente tanto vicine da poter essere considerate una banda.'\n ),\n Object(preact_min[\"h\"])(\n 'p',\n null,\n 'Possono per\\xF2 comunque avere dei gap dovuti agli intervalli di energia non ammessi.'\n )\n )\n);\n\nvar _ref156 = Object(preact_min[\"h\"])(\n 'p',\n null,\n Object(preact_min[\"h\"])(\n todo_Todo,\n null,\n 'Refactor this'\n )\n);\n\nvar _ref157 = Object(preact_min[\"h\"])(\n 'p',\n null,\n 'Se invece la banda di emissione si sovrappone a un altra, allora il corpo \\xE8 un conduttore.'\n);\n\nvar _ref158 = Object(preact_min[\"h\"])(\n panel_Panel,\n { title: 'Lacune' },\n Object(preact_min[\"h\"])(\n 'p',\n null,\n 'Legami in cui ',\n Object(preact_min[\"h\"])(\n plus_Plus,\n null,\n 'mancano elettroni'\n ),\n '.'\n ),\n Object(preact_min[\"h\"])(\n 'p',\n null,\n Object(preact_min[\"h\"])(\n minus_Minus,\n null,\n 'Elettroni'\n ),\n ' di altri legami possono spostarsi per colmare le ',\n Object(preact_min[\"h\"])(\n plus_Plus,\n null,\n 'lacune'\n ),\n ', creandone altre, e spostandole in direzione opposta a quella della corrente.'\n )\n);\n\nvar _ref159 = Object(preact_min[\"h\"])(\n panel_Panel,\n { title: 'Accettori e donori' },\n Object(preact_min[\"h\"])(\n 'p',\n null,\n 'Se si inserisce in un cristallo semiconduttore si inserisce un atomo con numero atomico diverso, si otterr\\xE0:'\n ),\n Object(preact_min[\"h\"])(\n 'ul',\n null,\n Object(preact_min[\"h\"])(\n 'li',\n null,\n 'Con numero atomico maggiore, un semiconduttore di ',\n Object(preact_min[\"h\"])(\n minus_Minus,\n null,\n 'tipo N'\n ),\n ' con ',\n Object(preact_min[\"h\"])(\n minus_Minus,\n null,\n 'elettroni in eccesso'\n ),\n ' liberi di scorrere.'\n ),\n Object(preact_min[\"h\"])(\n 'li',\n null,\n 'Con numero atomico minore, un semiconduttore di ',\n Object(preact_min[\"h\"])(\n plus_Plus,\n null,\n 'tipo P'\n ),\n ' con ',\n Object(preact_min[\"h\"])(\n plus_Plus,\n null,\n 'lacune in eccesso'\n ),\n ' libere di catturare elettroni da altri legami.'\n )\n ),\n Object(preact_min[\"h\"])(\n 'p',\n null,\n 'Maggiore impurezza porta a maggiore conduttivit\\xE0.'\n )\n);\n\nvar _ref160 = Object(preact_min[\"h\"])(\n panel_Panel,\n { title: 'Temperatura' },\n Object(preact_min[\"h\"])(\n 'p',\n null,\n 'Aumentando la temperatura di un semiconduttore si aumenta la conduttivit\\xE0, perch\\xE8 eccita le particelle e favorisce il movimento di ',\n Object(preact_min[\"h\"])(\n minus_Minus,\n null,\n 'elettroni'\n ),\n ' e ',\n Object(preact_min[\"h\"])(\n plus_Plus,\n null,\n 'lacune'\n ),\n '.'\n )\n);\n\nvar _ref161 = Object(preact_min[\"h\"])(\n 'span',\n null,\n 'Ottica ',\n Object(preact_min[\"h\"])(\n 'small',\n null,\n '(non l\\'abbiamo fatta)'\n )\n);\n\nvar _ref162 = Object(preact_min[\"h\"])(\n panel_Panel,\n { title: 'Assorbimento e riflessione' },\n Object(preact_min[\"h\"])(\n 'p',\n null,\n 'I corpi possono assorbire o riflettere le onde elettromagnetiche che li colpiscono.'\n )\n);\n\nvar _ref163 = Object(preact_min[\"h\"])(\n 'p',\n null,\n 'Un corpo nero \\xE8 un corpo che assorbe tutte le onde elettromagnetiche che riceve senza rifletterne nessuna.'\n);\n\nvar _ref164 = Object(preact_min[\"h\"])(\n panel_Panel,\n { title: 'Teoria di Planck per il corpo nero' },\n Object(preact_min[\"h\"])(\n 'p',\n null,\n 'L\\'energia assorbita e emessa dai corpi neri \\xE8 quantizzata.'\n )\n);\n\nvar _ref165 = Object(preact_min[\"h\"])(\n 'p',\n null,\n 'Un onda magnetica con un quanto di energia \\xE8 detta ',\n Object(preact_min[\"h\"])(\n 'i',\n null,\n 'fotone'\n ),\n ':'\n);\n\nvar _ref166 = Object(preact_min[\"h\"])(\n panel_Panel,\n { title: 'Effetto fotoelettrico' },\n Object(preact_min[\"h\"])(\n 'p',\n null,\n 'A volte, i fotoni che colpiscono un metallo possono estrarvi degli elettroni e creare una differenza di potenziale.'\n ),\n Object(preact_min[\"h\"])(\n 'p',\n null,\n 'Perch\\xE8 avvenga, la frequenza deve essere maggiore di una certa soglia.'\n ),\n Object(preact_min[\"h\"])(\n 'p',\n null,\n 'Il numero di elettroni estratti dipende dall\\'intensit\\xE0 dell\\'onda, mentre l\\'energia cinetica degli elettroni dipende dalla frequenza.'\n ),\n Object(preact_min[\"h\"])(\n 'p',\n null,\n 'Non c\\'\\xE8 nessun ritardo tra l\\'assorbimento del fotone e l\\'estrazione di elettroni.'\n )\n);\n\nvar fisica_Fisica = function (_Component) {\n fisica__inherits(Fisica, _Component);\n\n function Fisica() {\n fisica__classCallCheck(this, Fisica);\n\n return fisica__possibleConstructorReturn(this, _Component.apply(this, arguments));\n }\n\n Fisica.prototype.render = function render() {\n return Object(preact_min[\"h\"])(\n 'div',\n { style: fisica_default.a.fisica },\n fisica__ref,\n Object(preact_min[\"h\"])(\n split_Split,\n { title: 'Vettori' },\n Object(preact_min[\"h\"])(\n panel_Panel,\n { title: 'Componenti cartesiane' },\n fisica__ref2,\n Object(preact_min[\"h\"])(\n 'p',\n null,\n Object(preact_min[\"h\"])(\n latex_Latex,\n null,\n r(_templateObject)\n )\n ),\n Object(preact_min[\"h\"])(\n 'p',\n null,\n Object(preact_min[\"h\"])(\n latex_Latex,\n null,\n r(_templateObject2)\n )\n ),\n Object(preact_min[\"h\"])(\n 'p',\n null,\n Object(preact_min[\"h\"])(\n latex_Latex,\n null,\n r(_templateObject3)\n )\n )\n ),\n Object(preact_min[\"h\"])(\n panel_Panel,\n { title: 'Somma' },\n fisica__ref3,\n Object(preact_min[\"h\"])(\n 'p',\n null,\n Object(preact_min[\"h\"])(\n latex_Latex,\n null,\n r(_templateObject4)\n )\n ),\n _ref4\n ),\n Object(preact_min[\"h\"])(\n panel_Panel,\n { title: 'Differenza' },\n _ref5,\n Object(preact_min[\"h\"])(\n 'p',\n null,\n Object(preact_min[\"h\"])(\n latex_Latex,\n null,\n r(_templateObject5)\n )\n ),\n _ref6\n ),\n Object(preact_min[\"h\"])(\n panel_Panel,\n { title: 'Prodotto scalare' },\n _ref7,\n Object(preact_min[\"h\"])(\n 'p',\n null,\n Object(preact_min[\"h\"])(\n latex_Latex,\n null,\n r(_templateObject6)\n )\n ),\n Object(preact_min[\"h\"])(\n 'p',\n null,\n 'Produce il modulo della proiezione di ',\n Object(preact_min[\"h\"])(\n latex_Latex,\n null,\n r(_templateObject7)\n ),\n ' su ',\n Object(preact_min[\"h\"])(\n latex_Latex,\n null,\n r(_templateObject8)\n ),\n '.'\n )\n ),\n Object(preact_min[\"h\"])(\n panel_Panel,\n { title: 'Prodotto vettoriale' },\n _ref8,\n Object(preact_min[\"h\"])(\n 'ul',\n null,\n Object(preact_min[\"h\"])(\n 'li',\n null,\n Object(preact_min[\"h\"])(\n latex_Latex,\n null,\n r(_templateObject9)\n )\n ),\n Object(preact_min[\"h\"])(\n 'li',\n null,\n Object(preact_min[\"h\"])(\n latex_Latex,\n null,\n r(_templateObject10)\n )\n ),\n _ref9\n ),\n _ref10\n )\n ),\n Object(preact_min[\"h\"])(\n split_Split,\n { title: 'Leggi di Newton' },\n Object(preact_min[\"h\"])(\n panel_Panel,\n { title: '1\\u1D43: Inerzia' },\n _ref11,\n Object(preact_min[\"h\"])(\n 'p',\n null,\n Object(preact_min[\"h\"])(\n latex_Latex,\n null,\n r(_templateObject11)\n )\n )\n ),\n Object(preact_min[\"h\"])(\n panel_Panel,\n { title: '2\\u1D43: Proporzionalit\\xE0' },\n _ref12,\n Object(preact_min[\"h\"])(\n 'p',\n null,\n Object(preact_min[\"h\"])(\n latex_Latex,\n null,\n r(_templateObject12)\n )\n )\n ),\n Object(preact_min[\"h\"])(\n panel_Panel,\n { title: '3\\u1D43: Azione e reazione' },\n _ref13,\n Object(preact_min[\"h\"])(\n 'p',\n null,\n Object(preact_min[\"h\"])(\n latex_Latex,\n null,\n r(_templateObject13)\n )\n )\n )\n ),\n Object(preact_min[\"h\"])(\n split_Split,\n { title: 'Forza di gravit\\xE0' },\n Object(preact_min[\"h\"])(\n panel_Panel,\n { title: 'Tra due corpi' },\n _ref14,\n Object(preact_min[\"h\"])(\n 'p',\n null,\n Object(preact_min[\"h\"])(\n latex_Latex,\n null,\n r(_templateObject14)\n )\n ),\n _ref15,\n Object(preact_min[\"h\"])(\n 'p',\n null,\n Object(preact_min[\"h\"])(\n latex_Latex,\n null,\n r(_templateObject15)\n )\n )\n ),\n Object(preact_min[\"h\"])(\n panel_Panel,\n { title: 'Verso la Terra' },\n _ref16,\n Object(preact_min[\"h\"])(\n 'p',\n null,\n Object(preact_min[\"h\"])(\n latex_Latex,\n null,\n r(_templateObject16)\n )\n ),\n _ref17,\n Object(preact_min[\"h\"])(\n 'p',\n null,\n Object(preact_min[\"h\"])(\n latex_Latex,\n null,\n r(_templateObject17)\n )\n )\n ),\n Object(preact_min[\"h\"])(\n panel_Panel,\n { title: 'Su pianeti diversi' },\n _ref18,\n Object(preact_min[\"h\"])(\n 'p',\n null,\n Object(preact_min[\"h\"])(\n latex_Latex,\n null,\n r(_templateObject16)\n )\n ),\n _ref19,\n Object(preact_min[\"h\"])(\n 'p',\n null,\n Object(preact_min[\"h\"])(\n latex_Latex,\n null,\n r(_templateObject18)\n )\n ),\n Object(preact_min[\"h\"])(\n 'p',\n null,\n Object(preact_min[\"h\"])(\n latex_Latex,\n null,\n r(_templateObject19)\n )\n )\n )\n ),\n Object(preact_min[\"h\"])(\n split_Split,\n { title: 'Forze di contatto' },\n _ref20,\n Object(preact_min[\"h\"])(\n panel_Panel,\n { title: 'Attrito statico' },\n _ref21,\n Object(preact_min[\"h\"])(\n 'p',\n null,\n Object(preact_min[\"h\"])(\n latex_Latex,\n null,\n r(_templateObject20)\n )\n )\n ),\n Object(preact_min[\"h\"])(\n panel_Panel,\n { title: 'Attrito dinamico' },\n _ref22,\n Object(preact_min[\"h\"])(\n 'p',\n null,\n Object(preact_min[\"h\"])(\n latex_Latex,\n null,\n r(_templateObject21)\n )\n )\n ),\n _ref23,\n Object(preact_min[\"h\"])(\n panel_Panel,\n { title: 'Elastica' },\n _ref24,\n Object(preact_min[\"h\"])(\n 'p',\n null,\n Object(preact_min[\"h\"])(\n latex_Latex,\n null,\n r(_templateObject22)\n )\n ),\n _ref25\n )\n ),\n Object(preact_min[\"h\"])(\n split_Split,\n { title: 'Cinematica' },\n Object(preact_min[\"h\"])(\n panel_Panel,\n { title: 'Spostamento' },\n _ref26,\n Object(preact_min[\"h\"])(\n 'p',\n null,\n Object(preact_min[\"h\"])(\n latex_Latex,\n null,\n r(_templateObject23)\n )\n )\n ),\n Object(preact_min[\"h\"])(\n panel_Panel,\n { title: 'Velocit\\xE0' },\n _ref27,\n Object(preact_min[\"h\"])(\n 'p',\n null,\n Object(preact_min[\"h\"])(\n latex_Latex,\n null,\n r(_templateObject24)\n )\n ),\n _ref28,\n Object(preact_min[\"h\"])(\n 'p',\n null,\n Object(preact_min[\"h\"])(\n latex_Latex,\n null,\n r(_templateObject25)\n )\n )\n ),\n Object(preact_min[\"h\"])(\n panel_Panel,\n { title: 'Accelerazione' },\n _ref29,\n Object(preact_min[\"h\"])(\n 'p',\n null,\n Object(preact_min[\"h\"])(\n latex_Latex,\n null,\n r(_templateObject26)\n )\n ),\n _ref30,\n Object(preact_min[\"h\"])(\n 'p',\n null,\n Object(preact_min[\"h\"])(\n latex_Latex,\n null,\n r(_templateObject27)\n )\n )\n ),\n Object(preact_min[\"h\"])(\n panel_Panel,\n { title: _ref31 },\n _ref32,\n Object(preact_min[\"h\"])(\n 'p',\n null,\n Object(preact_min[\"h\"])(\n latex_Latex,\n null,\n r(_templateObject28)\n )\n ),\n _ref33,\n Object(preact_min[\"h\"])(\n 'p',\n null,\n Object(preact_min[\"h\"])(\n latex_Latex,\n null,\n r(_templateObject29)\n )\n )\n )\n ),\n Object(preact_min[\"h\"])(\n split_Split,\n { title: 'Moto rettilineo uniforme' },\n Object(preact_min[\"h\"])(\n panel_Panel,\n { title: 'Spostamento' },\n _ref34,\n Object(preact_min[\"h\"])(\n 'p',\n null,\n Object(preact_min[\"h\"])(\n latex_Latex,\n null,\n r(_templateObject30)\n )\n )\n ),\n Object(preact_min[\"h\"])(\n panel_Panel,\n { title: 'Velocit\\xE0' },\n _ref35,\n Object(preact_min[\"h\"])(\n 'p',\n null,\n Object(preact_min[\"h\"])(\n latex_Latex,\n null,\n r(_templateObject31)\n )\n )\n ),\n Object(preact_min[\"h\"])(\n panel_Panel,\n { title: 'Accelerazione' },\n _ref36,\n Object(preact_min[\"h\"])(\n 'p',\n null,\n Object(preact_min[\"h\"])(\n latex_Latex,\n null,\n r(_templateObject32)\n )\n )\n ),\n _ref37\n ),\n Object(preact_min[\"h\"])(\n split_Split,\n { title: 'Moto rettilineo uniformemente accelerato' },\n Object(preact_min[\"h\"])(\n panel_Panel,\n { title: 'Spostamento' },\n _ref38,\n Object(preact_min[\"h\"])(\n 'p',\n null,\n Object(preact_min[\"h\"])(\n latex_Latex,\n null,\n r(_templateObject33)\n )\n )\n ),\n Object(preact_min[\"h\"])(\n panel_Panel,\n { title: 'Velocit\\xE0' },\n _ref39,\n Object(preact_min[\"h\"])(\n 'p',\n null,\n Object(preact_min[\"h\"])(\n latex_Latex,\n null,\n r(_templateObject34)\n )\n )\n ),\n Object(preact_min[\"h\"])(\n panel_Panel,\n { title: 'Accelerazione' },\n _ref40,\n Object(preact_min[\"h\"])(\n 'p',\n null,\n Object(preact_min[\"h\"])(\n latex_Latex,\n null,\n r(_templateObject35)\n )\n )\n ),\n _ref41\n ),\n Object(preact_min[\"h\"])(\n split_Split,\n { title: 'Moto armonico semplice' },\n _ref42,\n Object(preact_min[\"h\"])(\n panel_Panel,\n { title: 'Velocit\\xE0 angolare' },\n _ref43,\n _ref44,\n Object(preact_min[\"h\"])(\n 'p',\n null,\n Object(preact_min[\"h\"])(\n latex_Latex,\n null,\n r(_templateObject36)\n )\n )\n ),\n Object(preact_min[\"h\"])(\n panel_Panel,\n { title: 'Spostamento' },\n _ref45,\n Object(preact_min[\"h\"])(\n 'p',\n null,\n Object(preact_min[\"h\"])(\n latex_Latex,\n null,\n r(_templateObject37)\n )\n )\n ),\n Object(preact_min[\"h\"])(\n panel_Panel,\n { title: 'Velocit\\xE0' },\n Object(preact_min[\"h\"])(\n 'p',\n null,\n 'E\\' la sinusoide dello spostamento, sfasata di ',\n Object(preact_min[\"h\"])(\n latex_Latex,\n null,\n r(_templateObject38)\n ),\n ':'\n ),\n Object(preact_min[\"h\"])(\n 'p',\n null,\n Object(preact_min[\"h\"])(\n latex_Latex,\n null,\n r(_templateObject39)\n )\n )\n ),\n Object(preact_min[\"h\"])(\n panel_Panel,\n { title: 'Accelerazione' },\n Object(preact_min[\"h\"])(\n 'p',\n null,\n 'E\\' la sinusoide della velocit\\xE0, sfasata di ',\n Object(preact_min[\"h\"])(\n latex_Latex,\n null,\n r(_templateObject40)\n ),\n ':'\n ),\n Object(preact_min[\"h\"])(\n 'p',\n null,\n Object(preact_min[\"h\"])(\n latex_Latex,\n null,\n r(_templateObject41)\n )\n )\n ),\n _ref46\n ),\n Object(preact_min[\"h\"])(\n split_Split,\n { title: 'Moti composti' },\n _ref47,\n Object(preact_min[\"h\"])(\n panel_Panel,\n { title: 'Moto circolare uniforme' },\n Object(preact_min[\"h\"])(\n 'p',\n null,\n 'Il moto parabolico \\xE8 dato sommando due moti armonici semplici: uno sull\\'asse X, e l\\'altro, sfasato di ',\n Object(preact_min[\"h\"])(\n latex_Latex,\n null,\n r(_templateObject38)\n ),\n ', sull\\'asse Y.'\n )\n )\n ),\n Object(preact_min[\"h\"])(\n split_Split,\n { title: 'Moto circolare uniforme' },\n Object(preact_min[\"h\"])(\n panel_Panel,\n null,\n _ref48,\n _ref49,\n Object(preact_min[\"h\"])(\n 'p',\n null,\n Object(preact_min[\"h\"])(\n latex_Latex,\n null,\n r(_templateObject36)\n )\n )\n ),\n Object(preact_min[\"h\"])(\n panel_Panel,\n { title: 'Fase' },\n _ref50,\n Object(preact_min[\"h\"])(\n 'p',\n null,\n 'Si indica con ',\n Object(preact_min[\"h\"])(\n latex_Latex,\n null,\n r(_templateObject42)\n ),\n ', e generalmente si usa in radianti.'\n )\n ),\n Object(preact_min[\"h\"])(\n panel_Panel,\n { title: 'Velocit\\xE0' },\n _ref51,\n Object(preact_min[\"h\"])(\n 'p',\n null,\n Object(preact_min[\"h\"])(\n latex_Latex,\n null,\n r(_templateObject43)\n )\n )\n ),\n Object(preact_min[\"h\"])(\n panel_Panel,\n { title: 'Accelerazione' },\n _ref52,\n Object(preact_min[\"h\"])(\n 'p',\n null,\n Object(preact_min[\"h\"])(\n latex_Latex,\n null,\n r(_templateObject44)\n )\n )\n ),\n Object(preact_min[\"h\"])(\n panel_Panel,\n { title: 'Forza centripeta' },\n _ref53,\n Object(preact_min[\"h\"])(\n 'p',\n null,\n Object(preact_min[\"h\"])(\n latex_Latex,\n null,\n r(_templateObject45)\n )\n )\n )\n ),\n Object(preact_min[\"h\"])(\n split_Split,\n { title: 'Lavoro ed energia' },\n Object(preact_min[\"h\"])(\n panel_Panel,\n { title: 'Lavoro' },\n _ref54,\n Object(preact_min[\"h\"])(\n 'p',\n null,\n Object(preact_min[\"h\"])(\n latex_Latex,\n null,\n r(_templateObject46)\n )\n ),\n _ref55\n ),\n Object(preact_min[\"h\"])(\n panel_Panel,\n { title: 'Energia cinetica' },\n _ref56,\n Object(preact_min[\"h\"])(\n 'p',\n null,\n Object(preact_min[\"h\"])(\n latex_Latex,\n null,\n r(_templateObject47)\n )\n ),\n _ref57,\n Object(preact_min[\"h\"])(\n 'p',\n null,\n Object(preact_min[\"h\"])(\n latex_Latex,\n null,\n r(_templateObject48)\n )\n )\n ),\n Object(preact_min[\"h\"])(\n panel_Panel,\n { title: 'Energia potenziale gravitazionale' },\n _ref58,\n Object(preact_min[\"h\"])(\n 'p',\n null,\n Object(preact_min[\"h\"])(\n latex_Latex,\n null,\n r(_templateObject49)\n )\n ),\n _ref59\n ),\n Object(preact_min[\"h\"])(\n panel_Panel,\n { title: 'Energia potenziale elastica' },\n _ref60,\n Object(preact_min[\"h\"])(\n 'p',\n null,\n Object(preact_min[\"h\"])(\n latex_Latex,\n null,\n r(_templateObject50)\n )\n )\n ),\n Object(preact_min[\"h\"])(\n panel_Panel,\n { title: 'Forze conservative' },\n _ref61,\n _ref62,\n _ref63,\n Object(preact_min[\"h\"])(\n 'p',\n null,\n Object(preact_min[\"h\"])(\n latex_Latex,\n null,\n r(_templateObject51)\n )\n )\n ),\n Object(preact_min[\"h\"])(\n panel_Panel,\n { title: 'Potenza' },\n _ref64,\n Object(preact_min[\"h\"])(\n 'p',\n null,\n Object(preact_min[\"h\"])(\n latex_Latex,\n null,\n r(_templateObject52)\n )\n )\n )\n ),\n Object(preact_min[\"h\"])(\n split_Split,\n { title: 'Elettrostatica' },\n Object(preact_min[\"h\"])(\n panel_Panel,\n { title: 'Carica elettrica' },\n _ref65,\n _ref66,\n Object(preact_min[\"h\"])(\n 'p',\n null,\n 'Esiste un\\'unit\\xE0 elementare: ',\n Object(preact_min[\"h\"])(\n latex_Latex,\n null,\n r(_templateObject53)\n ),\n '.'\n ),\n _ref67\n ),\n _ref68\n ),\n _ref69,\n _ref70,\n _ref71,\n Object(preact_min[\"h\"])(\n split_Split,\n { title: 'Forza elettrica' },\n Object(preact_min[\"h\"])(\n panel_Panel,\n { title: 'Legge di Coulomb' },\n _ref72,\n Object(preact_min[\"h\"])(\n 'p',\n null,\n Object(preact_min[\"h\"])(\n latex_Latex,\n null,\n r(_templateObject54)\n )\n ),\n Object(preact_min[\"h\"])(\n 'p',\n null,\n Object(preact_min[\"h\"])(\n latex_Latex,\n null,\n r(_templateObject55)\n ),\n ' \\xE8 la ',\n _ref73,\n ', e vale ',\n Object(preact_min[\"h\"])(\n latex_Latex,\n null,\n r(_templateObject56)\n ),\n '.'\n )\n ),\n Object(preact_min[\"h\"])(\n panel_Panel,\n { title: 'Permeabilit\\xE0 dello spazio vuoto' },\n Object(preact_min[\"h\"])(\n 'p',\n null,\n 'La costante ',\n Object(preact_min[\"h\"])(\n latex_Latex,\n null,\n r(_templateObject55)\n ),\n ' \\xE8 in realt\\xE0 dipendente da un altra costante, ',\n Object(preact_min[\"h\"])(\n latex_Latex,\n null,\n r(_templateObject57)\n ),\n ', la ',\n _ref74,\n '.'\n ),\n Object(preact_min[\"h\"])(\n 'p',\n null,\n Object(preact_min[\"h\"])(\n latex_Latex,\n null,\n r(_templateObject58)\n )\n ),\n Object(preact_min[\"h\"])(\n 'p',\n null,\n Object(preact_min[\"h\"])(\n latex_Latex,\n null,\n r(_templateObject59)\n )\n )\n ),\n Object(preact_min[\"h\"])(\n panel_Panel,\n { title: 'Campo elettrico' },\n _ref75,\n Object(preact_min[\"h\"])(\n 'p',\n null,\n Object(preact_min[\"h\"])(\n latex_Latex,\n null,\n r(_templateObject60)\n )\n )\n ),\n Object(preact_min[\"h\"])(\n panel_Panel,\n { title: 'Flusso elettrico' },\n _ref76,\n _ref77,\n Object(preact_min[\"h\"])(\n 'p',\n null,\n Object(preact_min[\"h\"])(\n latex_Latex,\n null,\n r(_templateObject61)\n )\n ),\n _ref78,\n Object(preact_min[\"h\"])(\n 'p',\n null,\n Object(preact_min[\"h\"])(\n latex_Latex,\n null,\n r(_templateObject62)\n )\n ),\n _ref79\n ),\n Object(preact_min[\"h\"])(\n panel_Panel,\n { title: 'Legge di Gauss per i campi elettrostatici' },\n _ref80,\n Object(preact_min[\"h\"])(\n 'p',\n null,\n Object(preact_min[\"h\"])(\n latex_Latex,\n null,\n r(_templateObject63)\n )\n ),\n _ref81\n )\n ),\n Object(preact_min[\"h\"])(\n split_Split,\n { title: 'Energia elettrica' },\n Object(preact_min[\"h\"])(\n panel_Panel,\n { title: 'Energia potenziale elettrica' },\n Object(preact_min[\"h\"])(\n 'p',\n null,\n 'Un corpo carico vicino ad altre cariche possiede un\\'',\n _ref82,\n ' ',\n Object(preact_min[\"h\"])(\n latex_Latex,\n null,\n r(_templateObject64)\n ),\n '.'\n )\n )\n ),\n Object(preact_min[\"h\"])(\n split_Split,\n { title: 'Circuiti elettrici' },\n Object(preact_min[\"h\"])(\n panel_Panel,\n { title: _ref83 },\n _ref84,\n Object(preact_min[\"h\"])(\n 'p',\n null,\n Object(preact_min[\"h\"])(\n latex_Latex,\n null,\n r(_templateObject65)\n )\n ),\n Object(preact_min[\"h\"])(\n 'p',\n null,\n 'La sua unit\\xE0 di misura \\xE8 il Volt (',\n Object(preact_min[\"h\"])(\n latex_Latex,\n null,\n r(_templateObject66)\n ),\n ').'\n ),\n _ref85\n ),\n Object(preact_min[\"h\"])(\n panel_Panel,\n { title: _ref86 },\n _ref87,\n Object(preact_min[\"h\"])(\n 'p',\n null,\n Object(preact_min[\"h\"])(\n latex_Latex,\n null,\n r(_templateObject67)\n )\n ),\n _ref88,\n Object(preact_min[\"h\"])(\n 'p',\n null,\n 'La sua unit\\xE0 di misura \\xE8 l\\'Ampere (',\n Object(preact_min[\"h\"])(\n latex_Latex,\n null,\n r(_templateObject68)\n ),\n ').'\n )\n ),\n _ref89,\n _ref90,\n Object(preact_min[\"h\"])(\n panel_Panel,\n { title: 'Potenza elettrica' },\n _ref91,\n Object(preact_min[\"h\"])(\n 'p',\n null,\n Object(preact_min[\"h\"])(\n latex_Latex,\n null,\n r(_templateObject69)\n )\n )\n )\n ),\n Object(preact_min[\"h\"])(\n split_Split,\n { title: 'Elementi di un circuito' },\n Object(preact_min[\"h\"])(\n panel_Panel,\n { title: 'Resistore' },\n _ref92,\n _ref93,\n Object(preact_min[\"h\"])(\n 'p',\n null,\n Object(preact_min[\"h\"])(\n latex_Latex,\n null,\n r(_templateObject70)\n )\n ),\n Object(preact_min[\"h\"])(\n 'p',\n null,\n 'Dove ',\n Object(preact_min[\"h\"])(\n latex_Latex,\n null,\n r(_templateObject71)\n ),\n ' \\xE8 una costante detta ',\n _ref94,\n ' con unit\\xE0 di misura Ohm (',\n Object(preact_min[\"h\"])(\n latex_Latex,\n null,\n r(_templateObject72)\n ),\n ').'\n ),\n _ref95,\n Object(preact_min[\"h\"])(\n 'p',\n null,\n Object(preact_min[\"h\"])(\n latex_Latex,\n null,\n r(_templateObject73)\n )\n ),\n Object(preact_min[\"h\"])(\n 'p',\n null,\n Object(preact_min[\"h\"])(\n latex_Latex,\n null,\n r(_templateObject74)\n ),\n ' \\xE8 la ',\n _ref96,\n ' del materiale, e varia in base alla temperatura:'\n ),\n Object(preact_min[\"h\"])(\n 'p',\n null,\n Object(preact_min[\"h\"])(\n latex_Latex,\n null,\n r(_templateObject75)\n )\n )\n ),\n Object(preact_min[\"h\"])(\n panel_Panel,\n { title: 'Condensatore' },\n _ref97,\n _ref98,\n _ref99,\n Object(preact_min[\"h\"])(\n 'p',\n null,\n Object(preact_min[\"h\"])(\n latex_Latex,\n null,\n r(_templateObject76)\n )\n ),\n _ref100,\n _ref101,\n Object(preact_min[\"h\"])(\n 'p',\n null,\n Object(preact_min[\"h\"])(\n latex_Latex,\n null,\n r(_templateObject77)\n )\n ),\n Object(preact_min[\"h\"])(\n 'p',\n null,\n 'Dove ',\n Object(preact_min[\"h\"])(\n latex_Latex,\n null,\n r(_templateObject78)\n ),\n ' \\xE8 la ',\n _ref102,\n ' del materiale inserito, ',\n Object(preact_min[\"h\"])(\n latex_Latex,\n null,\n r(_templateObject68)\n ),\n ' l\\'area di una armatura e ',\n Object(preact_min[\"h\"])(\n latex_Latex,\n null,\n r(_templateObject79)\n ),\n ' la distanza tra le due armature.'\n ),\n _ref103,\n Object(preact_min[\"h\"])(\n 'p',\n null,\n 'La sua unit\\xE0 di misura \\xE8 il Farad (',\n Object(preact_min[\"h\"])(\n latex_Latex,\n null,\n r(_templateObject80)\n ),\n ')'\n )\n ),\n _ref104,\n _ref105\n ),\n _ref106,\n _ref107,\n Object(preact_min[\"h\"])(\n split_Split,\n { title: 'Resistenze equivalenti' },\n Object(preact_min[\"h\"])(\n panel_Panel,\n { title: 'Circuiti in serie' },\n _ref108,\n Object(preact_min[\"h\"])(\n 'p',\n null,\n Object(preact_min[\"h\"])(\n latex_Latex,\n null,\n r(_templateObject81)\n )\n )\n ),\n Object(preact_min[\"h\"])(\n panel_Panel,\n { title: 'Circuiti in parallelo' },\n _ref109,\n Object(preact_min[\"h\"])(\n 'p',\n null,\n Object(preact_min[\"h\"])(\n latex_Latex,\n null,\n r(_templateObject82)\n )\n )\n )\n ),\n Object(preact_min[\"h\"])(\n split_Split,\n { title: 'Condensatori equivalenti' },\n Object(preact_min[\"h\"])(\n panel_Panel,\n { title: 'Circuiti in serie' },\n _ref110,\n Object(preact_min[\"h\"])(\n 'p',\n null,\n Object(preact_min[\"h\"])(\n latex_Latex,\n null,\n r(_templateObject83)\n )\n )\n ),\n Object(preact_min[\"h\"])(\n panel_Panel,\n { title: 'Circuiti in parallelo' },\n _ref111,\n Object(preact_min[\"h\"])(\n 'p',\n null,\n Object(preact_min[\"h\"])(\n latex_Latex,\n null,\n r(_templateObject84)\n )\n )\n )\n ),\n Object(preact_min[\"h\"])(\n split_Split,\n { title: 'Magnetismo' },\n Object(preact_min[\"h\"])(\n panel_Panel,\n { title: 'Permeabilit\\xE0 magnetica dello spazio vuoto' },\n _ref112,\n Object(preact_min[\"h\"])(\n 'p',\n null,\n Object(preact_min[\"h\"])(\n latex_Latex,\n null,\n r(_templateObject85)\n ),\n ' (',\n Object(preact_min[\"h\"])(\n latex_Latex,\n null,\n r(_templateObject86)\n ),\n ')'\n )\n ),\n Object(preact_min[\"h\"])(\n panel_Panel,\n { title: 'Campo magnetico' },\n _ref113,\n Object(preact_min[\"h\"])(\n 'p',\n null,\n 'Il suo simbolo \\xE8 ',\n Object(preact_min[\"h\"])(\n latex_Latex,\n null,\n r(_templateObject87)\n ),\n ', e la sua unit\\xE0 di misura \\xE8 il Tesla (',\n _ref114,\n ').'\n )\n ),\n Object(preact_min[\"h\"])(\n panel_Panel,\n { title: 'Flusso magnetico' },\n _ref115,\n _ref116,\n Object(preact_min[\"h\"])(\n 'p',\n null,\n Object(preact_min[\"h\"])(\n latex_Latex,\n null,\n r(_templateObject88)\n )\n ),\n Object(preact_min[\"h\"])(\n 'p',\n null,\n Object(preact_min[\"h\"])(\n latex_Latex,\n null,\n r(_templateObject89)\n )\n ),\n Object(preact_min[\"h\"])(\n 'p',\n null,\n 'La sua unit\\xE0 di misura \\xE8 il Weber (',\n Object(preact_min[\"h\"])(\n latex_Latex,\n null,\n r(_templateObject90)\n ),\n ').'\n )\n ),\n _ref117,\n Object(preact_min[\"h\"])(\n panel_Panel,\n { title: 'Legge di Amp\\xE8re' },\n _ref118,\n Object(preact_min[\"h\"])(\n 'p',\n null,\n Object(preact_min[\"h\"])(\n latex_Latex,\n null,\n r(_templateObject91)\n )\n )\n )\n ),\n Object(preact_min[\"h\"])(\n split_Split,\n { title: 'Forze magnetiche' },\n Object(preact_min[\"h\"])(\n panel_Panel,\n { title: _ref119 },\n _ref120,\n Object(preact_min[\"h\"])(\n 'p',\n null,\n Object(preact_min[\"h\"])(\n latex_Latex,\n null,\n r(_templateObject92)\n )\n ),\n Object(preact_min[\"h\"])(\n 'p',\n null,\n 'Dove ',\n Object(preact_min[\"h\"])(\n latex_Latex,\n null,\n r(_templateObject93)\n ),\n ' \\xE8 l\\'intensit\\xE0 del campo magnetico e ',\n Object(preact_min[\"h\"])(\n latex_Latex,\n null,\n r(_templateObject94)\n ),\n ' la velocit\\xE0 della carica considerata.'\n ),\n _ref121,\n _ref122\n ),\n Object(preact_min[\"h\"])(\n panel_Panel,\n { title: 'Forza magnetica in un filo' },\n _ref123,\n Object(preact_min[\"h\"])(\n 'p',\n null,\n Object(preact_min[\"h\"])(\n latex_Latex,\n null,\n r(_templateObject95)\n ),\n ' ',\n _ref124\n ),\n Object(preact_min[\"h\"])(\n 'p',\n null,\n 'Dove ',\n Object(preact_min[\"h\"])(\n latex_Latex,\n null,\n r(_templateObject96)\n ),\n ' \\xE8 la corrente elettrica, ',\n Object(preact_min[\"h\"])(\n latex_Latex,\n null,\n r(_templateObject97)\n ),\n ' \\xE8 un vettore che punta nella direzione di scorrimento della corrente e ha come modulo la lunghezza del conduttore.'\n )\n )\n ),\n Object(preact_min[\"h\"])(\n split_Split,\n { title: 'Campi magnetici' },\n _ref125,\n Object(preact_min[\"h\"])(\n panel_Panel,\n { title: 'Campo magnetico di un solenoide' },\n _ref126,\n _ref127,\n Object(preact_min[\"h\"])(\n 'p',\n null,\n Object(preact_min[\"h\"])(\n latex_Latex,\n null,\n r(_templateObject98)\n )\n )\n ),\n Object(preact_min[\"h\"])(\n panel_Panel,\n { title: 'Legge di Oersted' },\n _ref128,\n _ref129,\n Object(preact_min[\"h\"])(\n 'p',\n null,\n Object(preact_min[\"h\"])(\n latex_Latex,\n null,\n r(_templateObject99)\n )\n ),\n _ref130,\n _ref131\n )\n ),\n Object(preact_min[\"h\"])(\n split_Split,\n { title: 'Induzione elettromagnetica' },\n Object(preact_min[\"h\"])(\n panel_Panel,\n { title: 'Forza elettromotrice indotta' },\n _ref132,\n _ref133,\n _ref134,\n Object(preact_min[\"h\"])(\n 'p',\n null,\n Object(preact_min[\"h\"])(\n latex_Latex,\n null,\n r(_templateObject100)\n )\n ),\n _ref135\n ),\n Object(preact_min[\"h\"])(\n panel_Panel,\n { title: 'Flusso magnetico in una spira' },\n Object(preact_min[\"h\"])(\n 'p',\n null,\n 'In un campo magnetico ',\n Object(preact_min[\"h\"])(\n latex_Latex,\n null,\n r(_templateObject87)\n ),\n ' uniforme e perpendicolare al piano di una spira di area ',\n Object(preact_min[\"h\"])(\n latex_Latex,\n null,\n r(_templateObject68)\n ),\n ', il flusso magnetico si pu\\xF2 determinare con la ',\n _ref136,\n ':'\n ),\n Object(preact_min[\"h\"])(\n 'p',\n null,\n Object(preact_min[\"h\"])(\n latex_Latex,\n null,\n r(_templateObject101)\n )\n )\n )\n ),\n Object(preact_min[\"h\"])(\n split_Split,\n null,\n Object(preact_min[\"h\"])(\n panel_Panel,\n { title: 'Legge di Faraday-Neumann-Lenz' },\n _ref137,\n Object(preact_min[\"h\"])(\n 'p',\n null,\n Object(preact_min[\"h\"])(\n latex_Latex,\n null,\n r(_templateObject102)\n )\n ),\n _ref138\n ),\n Object(preact_min[\"h\"])(\n panel_Panel,\n { title: 'Faraday in un solenoide' },\n _ref139,\n Object(preact_min[\"h\"])(\n 'p',\n null,\n Object(preact_min[\"h\"])(\n latex_Latex,\n null,\n r(_templateObject103)\n )\n ),\n Object(preact_min[\"h\"])(\n 'p',\n null,\n 'Dove ',\n Object(preact_min[\"h\"])(\n latex_Latex,\n null,\n r(_templateObject104)\n ),\n ' \\xE8 il numero delle spire del solenoide.'\n )\n ),\n _ref140\n ),\n Object(preact_min[\"h\"])(\n split_Split,\n { title: 'Elettromagnetismo' },\n Object(preact_min[\"h\"])(\n panel_Panel,\n { title: 'Onde elettromagnetiche' },\n Object(preact_min[\"h\"])(\n 'p',\n null,\n 'Nel vuoto, il campo elettrico ',\n Object(preact_min[\"h\"])(\n latex_Latex,\n null,\n r(_templateObject105)\n ),\n ' e il campo magnetico ',\n Object(preact_min[\"h\"])(\n latex_Latex,\n null,\n r(_templateObject87)\n ),\n ' sono perpendicolari tra loro e la direzione di propagazione, e sono entrambe funzioni del tempo.'\n ),\n _ref141,\n _ref142,\n Object(preact_min[\"h\"])(\n 'p',\n null,\n Object(preact_min[\"h\"])(\n latex_Latex,\n null,\n r(_templateObject106)\n )\n ),\n Object(preact_min[\"h\"])(\n 'p',\n null,\n 'Dove ',\n Object(preact_min[\"h\"])(\n latex_Latex,\n null,\n r(_templateObject107)\n ),\n ' \\xE8 la velocit\\xE0 delle onde (luce) nel vuoto, e a sua volta \\xE8 uguale a:'\n ),\n Object(preact_min[\"h\"])(\n 'p',\n null,\n Object(preact_min[\"h\"])(\n latex_Latex,\n null,\n r(_templateObject108)\n )\n )\n ),\n Object(preact_min[\"h\"])(\n panel_Panel,\n { title: 'Formula delle onde' },\n Object(preact_min[\"h\"])(\n 'p',\n null,\n Object(preact_min[\"h\"])(\n latex_Latex,\n null,\n r(_templateObject109)\n )\n ),\n Object(preact_min[\"h\"])(\n 'p',\n null,\n 'Dove ',\n Object(preact_min[\"h\"])(\n latex_Latex,\n null,\n r(_templateObject110)\n ),\n ' \\xE8 l\\'ampiezza massima che pu\\xF2 avere l\\'onda, ',\n Object(preact_min[\"h\"])(\n latex_Latex,\n null,\n r(_templateObject111)\n ),\n ' \\xE8 il vettore d\\'onda, ',\n Object(preact_min[\"h\"])(\n latex_Latex,\n null,\n r(_templateObject112)\n ),\n ' la frequenza angolare e ',\n Object(preact_min[\"h\"])(\n latex_Latex,\n null,\n r(_templateObject42)\n ),\n ' la fase.'\n )\n )\n ),\n Object(preact_min[\"h\"])(\n split_Split,\n { title: 'Spettroscopia' },\n Object(preact_min[\"h\"])(\n panel_Panel,\n { title: 'Emissione' },\n _ref143,\n _ref144,\n _ref145,\n Object(preact_min[\"h\"])(\n 'p',\n null,\n Object(preact_min[\"h\"])(\n latex_Latex,\n null,\n r(_templateObject113)\n )\n ),\n Object(preact_min[\"h\"])(\n 'p',\n null,\n 'Con ',\n Object(preact_min[\"h\"])(\n latex_Latex,\n null,\n r(_templateObject114)\n ),\n ', detta costante di Rydberg, e ',\n Object(preact_min[\"h\"])(\n latex_Latex,\n null,\n r(_templateObject115)\n ),\n ' un numero intero.'\n )\n ),\n Object(preact_min[\"h\"])(\n panel_Panel,\n { title: 'Grandezza quantizzata' },\n _ref146,\n _ref147,\n _ref148,\n Object(preact_min[\"h\"])(\n 'p',\n null,\n 'Nota costante quantica \\xE8 ',\n Object(preact_min[\"h\"])(\n latex_Latex,\n null,\n r(_templateObject116)\n ),\n ', la costante di Planck, ovvero il valore minimo possibile per la carica (talvolta espressa come ',\n Object(preact_min[\"h\"])(\n latex_Latex,\n null,\n r(_templateObject117)\n ),\n '.'\n )\n )\n ),\n Object(preact_min[\"h\"])(\n split_Split,\n null,\n Object(preact_min[\"h\"])(\n panel_Panel,\n { title: 'Modello di Bohr' },\n _ref149,\n _ref150,\n Object(preact_min[\"h\"])(\n 'p',\n null,\n Object(preact_min[\"h\"])(\n latex_Latex,\n null,\n r(_templateObject118)\n )\n ),\n _ref151,\n Object(preact_min[\"h\"])(\n 'p',\n null,\n Object(preact_min[\"h\"])(\n latex_Latex,\n null,\n r(_templateObject119)\n )\n ),\n Object(preact_min[\"h\"])(\n 'p',\n null,\n 'Con ',\n Object(preact_min[\"h\"])(\n latex_Latex,\n null,\n r(_templateObject120)\n ),\n '.'\n ),\n _ref152,\n Object(preact_min[\"h\"])(\n 'p',\n null,\n Object(preact_min[\"h\"])(\n latex_Latex,\n null,\n r(_templateObject121)\n )\n ),\n _ref153,\n _ref154\n )\n ),\n _ref155,\n Object(preact_min[\"h\"])(\n split_Split,\n { title: 'Semiconduttori' },\n Object(preact_min[\"h\"])(\n panel_Panel,\n { title: 'Semiconduttori' },\n _ref156,\n Object(preact_min[\"h\"])(\n 'p',\n null,\n 'Se la banda di emissione con energia pi\\xF9 alta di un corpo \\xE8 assente o \\xE8 separata da un gap dell\\'ordine di grandezza maggiore di ',\n Object(preact_min[\"h\"])(\n latex_Latex,\n null,\n r(_templateObject122)\n ),\n ', allora il corpo \\xE8 un isolante.'\n ),\n _ref157,\n Object(preact_min[\"h\"])(\n 'p',\n null,\n 'Se il gap \\xE8 invece dell\\'ordine di grandezza di ',\n Object(preact_min[\"h\"])(\n latex_Latex,\n null,\n r(_templateObject123)\n ),\n ', allora il corpo \\xE8 un semiconduttore.'\n )\n ),\n _ref158,\n _ref159,\n _ref160\n ),\n Object(preact_min[\"h\"])(\n split_Split,\n { title: _ref161 },\n _ref162,\n Object(preact_min[\"h\"])(\n panel_Panel,\n { title: 'Corpo nero' },\n _ref163,\n Object(preact_min[\"h\"])(\n 'p',\n null,\n 'Le onde assorbite vengono poi riemesse sotto forma di un onda di ',\n Object(preact_min[\"h\"])(\n latex_Latex,\n null,\n r(_templateObject124)\n ),\n ' variabile in base alla temperatura.'\n ),\n Object(preact_min[\"h\"])(\n 'p',\n null,\n Object(preact_min[\"h\"])(\n latex_Latex,\n null,\n r(_templateObject125)\n ),\n ' \\xE8 costante.'\n )\n ),\n _ref164,\n Object(preact_min[\"h\"])(\n panel_Panel,\n { title: 'Fotone' },\n _ref165,\n Object(preact_min[\"h\"])(\n 'p',\n null,\n Object(preact_min[\"h\"])(\n latex_Latex,\n null,\n r(_templateObject126)\n )\n )\n ),\n _ref166\n )\n );\n };\n\n return Fisica;\n}(preact_min[\"Component\"]);\n\n\n// EXTERNAL MODULE: ./pages/vldigeometria.css\nvar vldigeometria = __webpack_require__(\"jHTF\");\nvar vldigeometria_default = /*#__PURE__*/__webpack_require__.n(vldigeometria);\n\n// EXTERNAL MODULE: ./components/markdown.css\nvar markdown = __webpack_require__(\"MKE3\");\nvar markdown_default = /*#__PURE__*/__webpack_require__.n(markdown);\n\n// EXTERNAL MODULE: ../node_modules/showdown/dist/showdown.js\nvar showdown = __webpack_require__(\"6adR\");\nvar showdown_default = /*#__PURE__*/__webpack_require__.n(showdown);\n\n// CONCATENATED MODULE: ./components/markdown.js\n\n\nfunction markdown__classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction markdown__possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction markdown__inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\n\n\n\n\nvar markdown_Markdown = function (_Component) {\n markdown__inherits(Markdown, _Component);\n\n function Markdown() {\n markdown__classCallCheck(this, Markdown);\n\n return markdown__possibleConstructorReturn(this, _Component.apply(this, arguments));\n }\n\n Markdown.prototype.render = function render() {\n var converter = new showdown_default.a.Converter();\n converter.setFlavor(\"github\");\n var html = converter.makeHtml(\"\" + this.props.children);\n // noinspection CheckTagEmptyBody\n return Object(preact_min[\"h\"])(\"div\", { style: markdown_default.a.markdown, dangerouslySetInnerHTML: { __html: html } });\n };\n\n return Markdown;\n}(preact_min[\"Component\"]);\n\n\n// CONCATENATED MODULE: ./pages/vldigeometria.js\nvar vldigeometria__templateObject = vldigeometria__taggedTemplateLiteralLoose(['\\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\\xE0, 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\\xE0 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\\xE0 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\\xE0](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 '], ['\\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\\xE0, 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\\xE0 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\\xE0 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\\xE0](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 ']);\n\n\n\nfunction vldigeometria__taggedTemplateLiteralLoose(strings, raw) { strings.raw = raw; return strings; }\n\nfunction vldigeometria__classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction vldigeometria__possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction vldigeometria__inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\n\n\n\n\n\nvar vldigeometria_r = String.raw;\n\nvar vldigeometria__ref = Object(preact_min[\"h\"])(\n\t'h1',\n\tnull,\n\t'Videolezioni di Geometria'\n);\n\nvar vldigeometria_VlDiGeometria = function (_Component) {\n\tvldigeometria__inherits(VlDiGeometria, _Component);\n\n\tfunction VlDiGeometria() {\n\t\tvldigeometria__classCallCheck(this, VlDiGeometria);\n\n\t\treturn vldigeometria__possibleConstructorReturn(this, _Component.apply(this, arguments));\n\t}\n\n\tVlDiGeometria.prototype.render = function render() {\n\t\t//Imported from unimore-info-wiki\n\t\treturn Object(preact_min[\"h\"])(\n\t\t\t'div',\n\t\t\t{ style: vldigeometria_default.a.vldigeometria },\n\t\t\tvldigeometria__ref,\n\t\t\tObject(preact_min[\"h\"])(\n\t\t\t\tpanel_Panel,\n\t\t\t\tnull,\n\t\t\t\tObject(preact_min[\"h\"])(\n\t\t\t\t\tmarkdown_Markdown,\n\t\t\t\t\tnull,\n\t\t\t\t\tvldigeometria_r(vldigeometria__templateObject)\n\t\t\t\t)\n\t\t\t)\n\t\t);\n\t};\n\n\treturn VlDiGeometria;\n}(preact_min[\"Component\"]);\n\n\n// EXTERNAL MODULE: ./pages/mingwinstall.css\nvar mingwinstall = __webpack_require__(\"5m9J\");\nvar mingwinstall_default = /*#__PURE__*/__webpack_require__.n(mingwinstall);\n\n// CONCATENATED MODULE: ./pages/mingwinstall.js\n\n\nfunction mingwinstall__classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction mingwinstall__possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction mingwinstall__inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\n\n\n\n\nvar mingwinstall__ref = Object(preact_min[\"h\"])(\n\t'h1',\n\tnull,\n\t'Come installare MinGW'\n);\n\nvar mingwinstall__ref2 = Object(preact_min[\"h\"])(\n\tpanel_Panel,\n\tnull,\n\tObject(preact_min[\"h\"])(\n\t\t'p',\n\t\tnull,\n\t\t' Scaricate ',\n\t\tObject(preact_min[\"h\"])(\n\t\t\t'a',\n\t\t\t{ href: 'https://osdn.net/projects/mingw/downloads/68260/mingw-get-setup.exe/' },\n\t\t\t'l\\'installer ufficiale'\n\t\t),\n\t\t', ed eseguitelo.'\n\t),\n\tObject(preact_min[\"h\"])('img', { src: 'https://i.imgur.com/mDZSqjV.png', alt: '' }),\n\tObject(preact_min[\"h\"])(\n\t\t'p',\n\t\tnull,\n\t\t' Dovrebbe comparire questa schermata. Cliccate su ',\n\t\tObject(preact_min[\"h\"])(\n\t\t\t'code',\n\t\t\tnull,\n\t\t\t'Install'\n\t\t),\n\t\t', poi scegliete una cartella di installazione (ricordatevela!) e poi ',\n\t\tObject(preact_min[\"h\"])(\n\t\t\t'code',\n\t\t\tnull,\n\t\t\t'Continue'\n\t\t),\n\t\t'. Lasciate stare le altre opzioni, dovrebbero essere tutte spuntate, tranne ',\n\t\tObject(preact_min[\"h\"])(\n\t\t\t'code',\n\t\t\tnull,\n\t\t\t'For all users'\n\t\t),\n\t\t', che dovrebbe essere disattivato.'\n\t),\n\tObject(preact_min[\"h\"])('img', { src: 'https://i.imgur.com/brdw8Xy.png', alt: '' }),\n\tObject(preact_min[\"h\"])(\n\t\t'p',\n\t\tnull,\n\t\t' Aspettate che finisca il download. Pochi secondi dopo, dovrebbe finire e dovrebbe apparire un tasto',\n\t\tObject(preact_min[\"h\"])(\n\t\t\t'code',\n\t\t\tnull,\n\t\t\t'Continue'\n\t\t),\n\t\t'. Premetelo.'\n\t),\n\tObject(preact_min[\"h\"])('img', { src: 'https://i.imgur.com/aPTwrxz.png', alt: '' }),\n\tObject(preact_min[\"h\"])(\n\t\t'p',\n\t\tnull,\n\t\t' Dovrebbe apparirvi questa finestra. L\\'installer di MinGW \\xE8 una specie di gestore pacchetti (tipo ',\n\t\tObject(preact_min[\"h\"])(\n\t\t\t'code',\n\t\t\tnull,\n\t\t\t'apt'\n\t\t),\n\t\t' su Ubuntu); potete scegliere quali pacchetti installare, e quindi quali funzionalit\\xE0.'\n\t),\n\tObject(preact_min[\"h\"])('img', { src: 'https://i.imgur.com/5QLSkFN.png', alt: '' }),\n\tObject(preact_min[\"h\"])(\n\t\t'p',\n\t\tnull,\n\t\t' Nel nostro caso, dovrebbero servirci ',\n\t\tObject(preact_min[\"h\"])(\n\t\t\t'code',\n\t\t\tnull,\n\t\t\t'mingw32-base-bin'\n\t\t),\n\t\t' (per il C e alcune librerie C++) e',\n\t\tObject(preact_min[\"h\"])(\n\t\t\t'code',\n\t\t\tnull,\n\t\t\t'mingw32-gcc-g++-bin'\n\t\t),\n\t\t' (per il C++). Cliccate, quindi, sui due quadratini corrispondenti, e premete',\n\t\tObject(preact_min[\"h\"])(\n\t\t\t'code',\n\t\t\tnull,\n\t\t\t'Mark for Installation'\n\t\t),\n\t\t'. Dovrebbe comparire una freccia gialla sul quadratino.'\n\t),\n\tObject(preact_min[\"h\"])('img', { src: 'https://i.imgur.com/zP74nks.png', alt: '' }),\n\tObject(preact_min[\"h\"])(\n\t\t'p',\n\t\tnull,\n\t\t' Ora, \\xE8 il momento di installare i pacchetti. Aprite il men\\xF9 ',\n\t\tObject(preact_min[\"h\"])(\n\t\t\t'code',\n\t\t\tnull,\n\t\t\t'Installation'\n\t\t),\n\t\t', poi premete',\n\t\tObject(preact_min[\"h\"])(\n\t\t\t'code',\n\t\t\tnull,\n\t\t\t'Apply Changes'\n\t\t),\n\t\t', e di nuovo ',\n\t\tObject(preact_min[\"h\"])(\n\t\t\t'code',\n\t\t\tnull,\n\t\t\t'Apply'\n\t\t),\n\t\t'.'\n\t),\n\tObject(preact_min[\"h\"])('img', { src: 'https://i.imgur.com/jp4uz5B.png', alt: '' }),\n\tObject(preact_min[\"h\"])(\n\t\t'p',\n\t\tnull,\n\t\t' Lasciate che scarichi, ci vorr\\xE0 un po\\'. Guardatevi un video nel frattempo, fatevi una partitina a qualcosa, tornate dopo circa 10 minuti.'\n\t),\n\tObject(preact_min[\"h\"])('img', { src: 'https://i.imgur.com/Lq9IepY.png', alt: '' }),\n\tObject(preact_min[\"h\"])(\n\t\t'p',\n\t\tnull,\n\t\t' Una volta installato, dobbiamo aggiungere ',\n\t\tObject(preact_min[\"h\"])(\n\t\t\t'code',\n\t\t\tnull,\n\t\t\t'g++'\n\t\t),\n\t\t' ai programmi eseguibili da Prompt dei Comandi: premete il tasto ',\n\t\tObject(preact_min[\"h\"])(\n\t\t\t'kbd',\n\t\t\tnull,\n\t\t\t'Windows'\n\t\t),\n\t\t', e scrivete ',\n\t\tObject(preact_min[\"h\"])(\n\t\t\t'code',\n\t\t\tnull,\n\t\t\t'PATH'\n\t\t),\n\t\t'. Windows dovrebbe trovarvi automaticamente quell\\'opzione.'\n\t),\n\tObject(preact_min[\"h\"])('img', { src: 'https://i.imgur.com/dy3b5Ub.png', alt: '' }),\n\tObject(preact_min[\"h\"])(\n\t\t'p',\n\t\tnull,\n\t\t' Dentro la finestra di ',\n\t\tObject(preact_min[\"h\"])(\n\t\t\t'i',\n\t\t\tnull,\n\t\t\t'Propriet\\xE0 del Sistema'\n\t\t),\n\t\t', premete ',\n\t\tObject(preact_min[\"h\"])(\n\t\t\t'code',\n\t\t\tnull,\n\t\t\t'Variabili d\\'ambiente'\n\t\t),\n\t\t'.'\n\t),\n\tObject(preact_min[\"h\"])('img', { src: 'https://i.imgur.com/FjYpT1n.png', alt: '' }),\n\tObject(preact_min[\"h\"])(\n\t\t'p',\n\t\tnull,\n\t\t' Trovate la variabile d\\'ambiente globale ',\n\t\tObject(preact_min[\"h\"])(\n\t\t\t'code',\n\t\t\tnull,\n\t\t\t'Path'\n\t\t),\n\t\t', e fateci doppio click per modificarla.'\n\t),\n\tObject(preact_min[\"h\"])('img', { src: 'https://i.imgur.com/klZQ9So.png', alt: '' }),\n\tObject(preact_min[\"h\"])(\n\t\t'p',\n\t\tnull,\n\t\t' Ora dovreste vedere l\\'elenco di tutte le cartelle contenenti programmi eseguibili da terminale: dobbiamo aggiungere quella di MinGW! Premete ',\n\t\tObject(preact_min[\"h\"])(\n\t\t\t'code',\n\t\t\tnull,\n\t\t\t'Sfoglia'\n\t\t),\n\t\t'.'\n\t),\n\tObject(preact_min[\"h\"])('img', { src: 'https://i.imgur.com/F6lBCqS.png', alt: '' }),\n\tObject(preact_min[\"h\"])(\n\t\t'p',\n\t\tnull,\n\t\t' Trovate la cartella in cui avete installato MinGW (vi avevo detto di ricordarvela!); entrateci, poi selezionate la sottocartella ',\n\t\tObject(preact_min[\"h\"])(\n\t\t\t'code',\n\t\t\tnull,\n\t\t\t'bin'\n\t\t),\n\t\t' e premete ',\n\t\tObject(preact_min[\"h\"])(\n\t\t\t'code',\n\t\t\tnull,\n\t\t\t'OK'\n\t\t),\n\t\t' su tutte le finestre che avete aperto fino ad ora, chiudendole.'\n\t),\n\tObject(preact_min[\"h\"])(\n\t\t'p',\n\t\tnull,\n\t\t' Complimenti! Avete installato MinGW e potete compilare programmi C e C++ da Windows! Avete a disposizione',\n\t\tObject(preact_min[\"h\"])(\n\t\t\t'code',\n\t\t\tnull,\n\t\t\t'gcc'\n\t\t),\n\t\t' e ',\n\t\tObject(preact_min[\"h\"])(\n\t\t\t'code',\n\t\t\tnull,\n\t\t\t'g++'\n\t\t),\n\t\t' sul Prompt dei Comandi, e potete finalmente creare dei file .exe! '\n\t)\n);\n\nvar mingwinstall_MingwInstall = function (_Component) {\n\tmingwinstall__inherits(MingwInstall, _Component);\n\n\tfunction MingwInstall() {\n\t\tmingwinstall__classCallCheck(this, MingwInstall);\n\n\t\treturn mingwinstall__possibleConstructorReturn(this, _Component.apply(this, arguments));\n\t}\n\n\tMingwInstall.prototype.render = function render() {\n\t\t//Imported from unimore-info-wiki\n\t\treturn Object(preact_min[\"h\"])(\n\t\t\t'div',\n\t\t\t{ style: mingwinstall_default.a.mingwinstall },\n\t\t\tmingwinstall__ref,\n\t\t\tmingwinstall__ref2\n\t\t);\n\t};\n\n\treturn MingwInstall;\n}(preact_min[\"Component\"]);\n\n\n// EXTERNAL MODULE: ./components/copyright.css\nvar copyright = __webpack_require__(\"qMTX\");\nvar copyright_default = /*#__PURE__*/__webpack_require__.n(copyright);\n\n// CONCATENATED MODULE: ./components/copyright.js\n\n\nfunction copyright__classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction copyright__possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction copyright__inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\n\n\n\nvar copyright__ref = Object(preact_min[\"h\"])(\n\t'a',\n\t{ href: 'https://creativecommons.org/licenses/by-sa/4.0/' },\n\t'CC BY-SA 4.0'\n);\n\nvar copyright__ref2 = Object(preact_min[\"h\"])(\n\t'a',\n\t{ href: 'https://github.com/Steffo99/appuntiweb' },\n\t'Codice sorgente'\n);\n\nvar copyright_Copyright = function (_Component) {\n\tcopyright__inherits(Copyright, _Component);\n\n\tfunction Copyright() {\n\t\tcopyright__classCallCheck(this, Copyright);\n\n\t\treturn copyright__possibleConstructorReturn(this, _Component.apply(this, arguments));\n\t}\n\n\tCopyright.prototype.render = function render() {\n\t\treturn Object(preact_min[\"h\"])(\n\t\t\t'div',\n\t\t\t{ 'class': copyright_default.a.copyright },\n\t\t\t'\\xA9 2019 - Stefano Pigozzi - ',\n\t\t\tcopyright__ref,\n\t\t\t' - ',\n\t\t\tcopyright__ref2\n\t\t);\n\t};\n\n\treturn Copyright;\n}(preact_min[\"Component\"]);\n\n\n// EXTERNAL MODULE: ./pages/statistica.css\nvar statistica = __webpack_require__(\"WViY\");\nvar statistica_default = /*#__PURE__*/__webpack_require__.n(statistica);\n\n// EXTERNAL MODULE: ./components/theorem.css\nvar theorem = __webpack_require__(\"oNmJ\");\nvar theorem_default = /*#__PURE__*/__webpack_require__.n(theorem);\n\n// CONCATENATED MODULE: ./components/theorem.js\nfunction theorem__classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction theorem__possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction theorem__inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\n\n\n\nvar theorem_Theorem = function (_Panel) {\n theorem__inherits(Theorem, _Panel);\n\n function Theorem() {\n theorem__classCallCheck(this, Theorem);\n\n return theorem__possibleConstructorReturn(this, _Panel.apply(this, arguments));\n }\n\n Theorem.prototype.getStyle = function getStyle() {\n return _Panel.prototype.getStyle.call(this) + \" \" + theorem_default.a.theorem;\n };\n\n return Theorem;\n}(panel_Panel);\n\n\n// EXTERNAL MODULE: ./components/hypothesis.css\nvar hypothesis = __webpack_require__(\"pRAn\");\nvar hypothesis_default = /*#__PURE__*/__webpack_require__.n(hypothesis);\n\n// CONCATENATED MODULE: ./components/hypothesis.js\n\n\nfunction hypothesis__classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction hypothesis__possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction hypothesis__inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\n\n\n\nvar hypothesis__ref = Object(preact_min[\"h\"])(\n \"h4\",\n null,\n \"Ipotesi\"\n);\n\nvar hypothesis_Hypothesis = function (_Component) {\n hypothesis__inherits(Hypothesis, _Component);\n\n function Hypothesis() {\n hypothesis__classCallCheck(this, Hypothesis);\n\n return hypothesis__possibleConstructorReturn(this, _Component.apply(this, arguments));\n }\n\n Hypothesis.prototype.render = function render() {\n return Object(preact_min[\"h\"])(\n \"div\",\n { \"class\": hypothesis_default.a.hypothesis },\n hypothesis__ref,\n this.props.children\n );\n };\n\n return Hypothesis;\n}(preact_min[\"Component\"]);\n\n\n// EXTERNAL MODULE: ./components/thesis.css\nvar thesis = __webpack_require__(\"J9SO\");\nvar thesis_default = /*#__PURE__*/__webpack_require__.n(thesis);\n\n// CONCATENATED MODULE: ./components/thesis.js\n\n\nfunction thesis__classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction thesis__possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction thesis__inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\n\n\n\nvar thesis__ref = Object(preact_min[\"h\"])(\n \"h4\",\n null,\n \"Tesi\"\n);\n\nvar thesis_Thesis = function (_Component) {\n thesis__inherits(Thesis, _Component);\n\n function Thesis() {\n thesis__classCallCheck(this, Thesis);\n\n return thesis__possibleConstructorReturn(this, _Component.apply(this, arguments));\n }\n\n Thesis.prototype.render = function render() {\n return Object(preact_min[\"h\"])(\n \"div\",\n { \"class\": thesis_default.a.thesis },\n thesis__ref,\n this.props.children\n );\n };\n\n return Thesis;\n}(preact_min[\"Component\"]);\n\n\n// EXTERNAL MODULE: ./components/proof.css\nvar proof = __webpack_require__(\"Oqef\");\nvar proof_default = /*#__PURE__*/__webpack_require__.n(proof);\n\n// CONCATENATED MODULE: ./components/proof.js\n\n\nfunction proof__classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction proof__possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction proof__inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\n\n\n\nvar proof__ref = Object(preact_min[\"h\"])(\n \"h4\",\n null,\n \"Dimostrazione\"\n);\n\nvar proof_Proof = function (_Component) {\n proof__inherits(Proof, _Component);\n\n function Proof() {\n proof__classCallCheck(this, Proof);\n\n return proof__possibleConstructorReturn(this, _Component.apply(this, arguments));\n }\n\n Proof.prototype.render = function render() {\n return Object(preact_min[\"h\"])(\n \"div\",\n { \"class\": proof_default.a.proof },\n proof__ref,\n this.props.children\n );\n };\n\n return Proof;\n}(preact_min[\"Component\"]);\n\n\n// EXTERNAL MODULE: ./components/example.css\nvar example = __webpack_require__(\"Xa+Z\");\nvar example_default = /*#__PURE__*/__webpack_require__.n(example);\n\n// CONCATENATED MODULE: ./components/example.js\n\n\nfunction example__classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction example__possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction example__inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\n\n\n\nvar example_Example = function (_Component) {\n example__inherits(Example, _Component);\n\n function Example() {\n example__classCallCheck(this, Example);\n\n return example__possibleConstructorReturn(this, _Component.apply(this, arguments));\n }\n\n Example.prototype.render = function render() {\n return Object(preact_min[\"h\"])(\n \"blockquote\",\n { \"class\": example_default.a.example },\n this.props.children\n );\n };\n\n return Example;\n}(preact_min[\"Component\"]);\n\n\n// CONCATENATED MODULE: ./pages/statistica.js\nvar statistica__templateObject = statistica__taggedTemplateLiteralLoose(['P(E) = \\frac{casi favorevoli}{casi possibili}'], ['P(E) = \\\\frac{casi\\\\ favorevoli}{casi\\\\ possibili}']),\n statistica__templateObject2 = statistica__taggedTemplateLiteralLoose(['P(E) = \\frac{successi}{prove totali}'], ['P(E) = \\\\frac{successi}{prove\\\\ totali}']),\n statistica__templateObject3 = statistica__taggedTemplateLiteralLoose(['Omega = left { 1, 2, 3, 4, 5, 6 \\right }'], ['\\\\Omega = \\\\left \\\\{ 1, 2, 3, 4, 5, 6 \\\\right \\\\}']),\n statistica__templateObject4 = statistica__taggedTemplateLiteralLoose(['omega = 1'], ['\\\\omega = 1']),\n statistica__templateObject5 = statistica__taggedTemplateLiteralLoose(['E = left { 1, 2 \\right }'], ['E = \\\\left \\\\{ 1, 2 \\\\right \\\\}']),\n statistica__templateObject6 = statistica__taggedTemplateLiteralLoose(['\\bar{E} = left { 3, 4, 5, 6 \\right }'], ['\\\\bar{E} = \\\\left \\\\{ 3, 4, 5, 6 \\\\right \\\\}']),\n statistica__templateObject7 = statistica__taggedTemplateLiteralLoose(['E cap F = left { 1 \\right }'], ['E \\\\cap F = \\\\left \\\\{ 1 \\\\right \\\\}']),\n statistica__templateObject8 = statistica__taggedTemplateLiteralLoose(['E cup F = left { 1, 2, 3, 4 \\right }'], ['E \\\\cup F = \\\\left \\\\{ 1, 2, 3, 4 \\\\right \\\\}']),\n statistica__templateObject9 = statistica__taggedTemplateLiteralLoose(['E setminus F = E cap \\bar{F}'], ['E \\\\setminus F = E \\\\cap \\\\bar{F}']),\n statistica__templateObject10 = statistica__taggedTemplateLiteralLoose(['E subseteq F'], ['E \\\\subseteq F']),\n statistica__templateObject11 = statistica__taggedTemplateLiteralLoose(['E = emptyset'], ['E = \\\\emptyset']),\n statistica__templateObject12 = statistica__taggedTemplateLiteralLoose(['E cap F = emptyset'], ['E \\\\cap F = \\\\emptyset']),\n statistica__templateObject13 = statistica__taggedTemplateLiteralLoose(['mathcal{F}'], ['\\\\mathcal{F}']),\n statistica__templateObject14 = statistica__taggedTemplateLiteralLoose(['sigma'], ['\\\\sigma']),\n statistica__templateObject15 = statistica__taggedTemplateLiteralLoose(['Omega in mathcal{F}'], ['\\\\Omega \\\\in \\\\mathcal{F}']),\n statistica__templateObject16 = statistica__taggedTemplateLiteralLoose(['E in mathcal{F} implies \\bar{E} in mathcal{F}'], ['E \\\\in \\\\mathcal{F} \\\\implies \\\\bar{E} \\\\in \\\\mathcal{F}']),\n statistica__templateObject17 = statistica__taggedTemplateLiteralLoose(['(E, F) in mathcal{F} implies (E cup F, E cap F) in mathcal{F}'], ['(E, F) \\\\in \\\\mathcal{F} \\\\implies (E \\\\cup F, E \\\\cap F) \\\\in \\\\mathcal{F}']),\n statistica__templateObject18 = statistica__taggedTemplateLiteralLoose(['E in mathcal{F} implies mathcal{F} = { emptyset, E, \\bar{E}, Omega }'], ['E \\\\in \\\\mathcal{F} \\\\implies \\\\mathcal{F} = \\\\{ \\\\emptyset, E, \\\\bar{E}, \\\\Omega \\\\}']),\n statistica__templateObject19 = statistica__taggedTemplateLiteralLoose(['E_i'], ['E_i']),\n statistica__templateObject20 = statistica__taggedTemplateLiteralLoose(['E_1'], ['E_1']),\n statistica__templateObject21 = statistica__taggedTemplateLiteralLoose(['E_2'], ['E_2']),\n statistica__templateObject22 = statistica__taggedTemplateLiteralLoose(['E_3'], ['E_3']),\n statistica__templateObject23 = statistica__taggedTemplateLiteralLoose(['E_n'], ['E_n']),\n statistica__templateObject24 = statistica__taggedTemplateLiteralLoose(['\\forall E in mathcal{F}, 0 leq P(E) leq 1'], ['\\\\forall E \\\\in \\\\mathcal{F}, 0 \\\\leq P(E) \\\\leq 1']),\n statistica__templateObject25 = statistica__taggedTemplateLiteralLoose(['P(Omega) = 1'], ['P(\\\\Omega) = 1']),\n statistica__templateObject26 = statistica__taggedTemplateLiteralLoose(['P left ( \\bigcup_i E_i \\right ) = sum_i P ( E_i )'], ['P \\\\left ( \\\\bigcup_i E_i \\\\right ) = \\\\sum_i P ( E_i )']),\n statistica__templateObject27 = statistica__taggedTemplateLiteralLoose(['P(\\bar{E}) = 1 - P({E})'], ['P(\\\\bar{E}) = 1 - P({E})']),\n statistica__templateObject28 = statistica__taggedTemplateLiteralLoose(['F subseteq E implies P(F) leq P(E)'], ['F \\\\subseteq E \\\\implies P(F) \\\\leq P(E)']),\n statistica__templateObject29 = statistica__taggedTemplateLiteralLoose(['P(E cup F) = P(E) + P(F) - P(E cap F)'], ['P(E \\\\cup F) = P(E) + P(F) - P(E \\\\cap F)']),\n statistica__templateObject30 = statistica__taggedTemplateLiteralLoose(['P(E) = \\frac{len(E)}{len(Omega)}'], ['P(E) = \\\\frac{len(E)}{len(\\\\Omega)}']),\n statistica__templateObject31 = statistica__taggedTemplateLiteralLoose(['\\boldsymbol{D}_{n, k} = \\frac{n!}{(n - k)!}'], ['\\\\boldsymbol{D}_{n, k} = \\\\frac{n!}{(n - k)!}']),\n statistica__templateObject32 = statistica__taggedTemplateLiteralLoose(['\\boldsymbol{D}^{r}_{n, k} = n^k'], ['\\\\boldsymbol{D}^{r}_{n, k} = n^k']),\n statistica__templateObject33 = statistica__taggedTemplateLiteralLoose(['\\boldsymbol{C}_{n, k} = \\binom{n}{k} = \\frac{n!}{(k)! cdot (n - k)!}'], ['\\\\boldsymbol{C}_{n, k} = \\\\binom{n}{k} = \\\\frac{n!}{(k)! \\\\cdot (n - k)!}']),\n statistica__templateObject34 = statistica__taggedTemplateLiteralLoose(['\\boldsymbol{C}^{r}_{n, k} = \\binom{n + k - 1}{k} = \\frac{(n + k - 1)!}{(k)! cdot (n - 1)!}'], ['\\\\boldsymbol{C}^{r}_{n, k} = \\\\binom{n + k - 1}{k} = \\\\frac{(n + k - 1)!}{(k)! \\\\cdot (n - 1)!}']),\n statistica__templateObject35 = statistica__taggedTemplateLiteralLoose(['\\boldsymbol{P}_n = n!'], ['\\\\boldsymbol{P}_n = n!']),\n statistica__templateObject36 = statistica__taggedTemplateLiteralLoose(['P(E|F) = \\frac{P(E cap F)}{P(F)}'], ['P(E|F) = \\\\frac{P(E \\\\cap F)}{P(F)}']),\n statistica__templateObject37 = statistica__taggedTemplateLiteralLoose(['E cap F = emptyset Longleftrightarrow P(E|F) = P(F|E) = 0'], ['E \\\\cap F = \\\\emptyset \\\\Longleftrightarrow P(E|F) = P(F|E) = 0']),\n statistica__templateObject38 = statistica__taggedTemplateLiteralLoose(['P(E_1 cap \\times cap E_n) = P(E_1) \\times P(E_2 | E_1) \\times dots \\times P(E_n | E_1 cap E_2 cap dots cap E_{n-1})'], ['P(E_1 \\\\cap \\\\times \\\\cap E_n) = P(E_1) \\\\times P(E_2 | E_1) \\\\times \\\\dots \\\\times P(E_n | E_1 \\\\cap E_2 \\\\cap \\\\dots \\\\cap E_{n-1})']),\n statistica__templateObject39 = statistica__taggedTemplateLiteralLoose(['Omega'], ['\\\\Omega']),\n statistica__templateObject40 = statistica__taggedTemplateLiteralLoose(['F'], ['F']),\n statistica__templateObject41 = statistica__taggedTemplateLiteralLoose(['in Omega'], ['\\\\in \\\\Omega']),\n statistica__templateObject42 = statistica__taggedTemplateLiteralLoose(['P(F) = sum_{i} P(F|E_i) cdot P(E_i)'], ['P(F) = \\\\sum_{i} P(F|E_i) \\\\cdot P(E_i)']),\n statistica__templateObject43 = statistica__taggedTemplateLiteralLoose(['P(F|E_i) cdot P(E_i) = P(F cap E_i)'], ['P(F|E_i) \\\\cdot P(E_i) = P(F \\\\cap E_i)']),\n statistica__templateObject44 = statistica__taggedTemplateLiteralLoose(['\\forall i, exists! E_i'], ['\\\\forall i, \\\\exists! E_i']),\n statistica__templateObject45 = statistica__taggedTemplateLiteralLoose(['sum_i P(F cap E_i) = P left( \\bigcup_i (F cap E_i) \\right)'], ['\\\\sum_i P(F \\\\cap E_i) = P \\\\left( \\\\bigcup_i (F \\\\cap E_i) \\\\right)']),\n statistica__templateObject46 = statistica__taggedTemplateLiteralLoose(['\\bigcup_i ( F cap E_i ) = F cap left( \\bigcup_i E_i \\right) = F cap Omega = F'], ['\\\\bigcup_i ( F \\\\cap E_i ) = F \\\\cap \\\\left( \\\\bigcup_i E_i \\\\right) = F \\\\cap \\\\Omega = F']),\n statistica__templateObject47 = statistica__taggedTemplateLiteralLoose(['P(F|G) = sum_i P(F|E_i cap G) cdot P(E_i | G)'], ['P(F|G) = \\\\sum_i P(F|E_i \\\\cap G) \\\\cdot P(E_i | G)']),\n statistica__templateObject48 = statistica__taggedTemplateLiteralLoose(['P(E_h | F) = \\frac{P(F | E_h) cdot P(E_h)}{P(F)}'], ['P(E_h | F) = \\\\frac{P(F | E_h) \\\\cdot P(E_h)}{P(F)}']),\n statistica__templateObject49 = statistica__taggedTemplateLiteralLoose(['P(E_h | F) cdot P(F) = P(E_h cap F) = P(F | E_h) cdot P(E_h)'], ['P(E_h | F) \\\\cdot P(F) = P(E_h \\\\cap F) = P(F | E_h) \\\\cdot P(E_h)']),\n statistica__templateObject50 = statistica__taggedTemplateLiteralLoose(['P(E cap F) = P(E) cdot P(F) Longleftrightarrow P(E|F) = P(E) Longleftrightarrow P(F|E) = P(F)'], ['P(E \\\\cap F) = P(E) \\\\cdot P(F) \\\\Longleftrightarrow P(E|F) = P(E) \\\\Longleftrightarrow P(F|E) = P(F)']),\n statistica__templateObject51 = statistica__taggedTemplateLiteralLoose(['P(E cap F cap G) = P(E) cdot P(F) cdot P(G)'], ['P(E \\\\cap F \\\\cap G) = P(E) \\\\cdot P(F) \\\\cdot P(G)']),\n statistica__templateObject52 = statistica__taggedTemplateLiteralLoose(['X(omega) : Omega \\to mathbb{R}'], ['X(\\\\omega) : \\\\Omega \\\\to \\\\mathbb{R}']),\n statistica__templateObject53 = statistica__taggedTemplateLiteralLoose(['A_t = { omega | X(omega) leq t }'], ['A_t = \\\\{ \\\\omega | X(\\\\omega) \\\\leq t \\\\}']),\n statistica__templateObject54 = statistica__taggedTemplateLiteralLoose(['\\forall t in mathbb{R}, A_t in mathcal{F}'], ['\\\\forall t \\\\in \\\\mathbb{R}, A_t \\\\in \\\\mathcal{F}']),\n statistica__templateObject55 = statistica__taggedTemplateLiteralLoose(['p_X : X \\to [0, 1]'], ['p_X : X \\\\to [0, 1]']),\n statistica__templateObject56 = statistica__taggedTemplateLiteralLoose(['p_X (x) = \\begin{cases}\\n P([X = x]) quad se X mapsto x \\\\\\n 0 qquad qquad quad se X \\notmapsto x\\n end{cases}'], ['p_X (x) = \\\\begin{cases}\\n P([X = x]) \\\\quad se\\\\ X \\\\mapsto x \\\\\\\\\\n 0 \\\\qquad \\\\qquad \\\\quad se\\\\ X \\\\not\\\\mapsto x\\n \\\\end{cases}']),\n statistica__templateObject57 = statistica__taggedTemplateLiteralLoose(['f_X : X \\to [0, 1]'], ['f_X : X \\\\to [0, 1]']),\n statistica__templateObject58 = statistica__taggedTemplateLiteralLoose(['P([a < X leq b]) = int_a^b f_X (x) dx'], ['P([a < X \\\\leq b]) = \\\\int_a^b f_X (x) dx']),\n statistica__templateObject59 = statistica__taggedTemplateLiteralLoose(['F_X : mathbb{R} \\to [0, 1]'], ['F_X : \\\\mathbb{R} \\\\to [0, 1]']),\n statistica__templateObject60 = statistica__taggedTemplateLiteralLoose(['A_t'], ['A_t']),\n statistica__templateObject61 = statistica__taggedTemplateLiteralLoose(['F_X (t) = P(A_t) = \\begin{cases}\\n sum_{x_i leq t} p_X (x_i) quad nel discreto\\\\\\n \\\\\\n int_{-infty}^t f_X (x) dx quad nel continuo\\n end{cases}'], ['F_X (t) = P(A_t) = \\\\begin{cases}\\n \\\\sum_{x_i \\\\leq t} p_X (x_i) \\\\quad nel\\\\ discreto\\\\\\\\\\n \\\\\\\\\\n \\\\int_{-\\\\infty}^t f_X (x) dx \\\\quad nel\\\\ continuo\\n \\\\end{cases}']),\n statistica__templateObject62 = statistica__taggedTemplateLiteralLoose(['\\forall x_0 in mathbb{R}, F_X (x_0) = lim_{t \\to x^+_0} F_X (t)'], ['\\\\forall x_0 \\\\in \\\\mathbb{R}, F_X (x_0) = \\\\lim_{t \\\\to x^+_0} F_X (t)']),\n statistica__templateObject63 = statistica__taggedTemplateLiteralLoose(['P([X = x_0]) = lim_{t \\to x^+_0} F_X (t) - lim_{t \\to x^-_0} F_X (t)'], ['P([X = x_0]) = \\\\lim_{t \\\\to x^+_0} F_X (t) - \\\\lim_{t \\\\to x^-_0} F_X (t)']),\n statistica__templateObject64 = statistica__taggedTemplateLiteralLoose(['f_Y (y) = int_{g(a)}^{g(b)} f_X ( g^{-1} (x) ) g^{-2} (x)'], ['f_Y (y) = \\\\int_{g(a)}^{g(b)} f_X ( g^{-1} (x) ) g^{-2} (x)']),\n statistica__templateObject65 = statistica__taggedTemplateLiteralLoose(['E(X) = int_0^{+infty} (1 - F_X (t)) dt - int_{-infty}^{0} F_X (t) dt'], ['E(X) = \\\\int_0^{+infty} (1 - F_X (t)) dt - \\\\int_{-\\\\infty}^{0} F_X (t) dt']),\n statistica__templateObject66 = statistica__taggedTemplateLiteralLoose(['E(X) = sum_i P(X = x_i) cdot x_i'], ['E(X) = \\\\sum_i P(X = x_i) \\\\cdot x_i']),\n statistica__templateObject67 = statistica__taggedTemplateLiteralLoose(['E(X) = int_{-infty}^{+infty} f_X (x) cdot x cdot dx'], ['E(X) = \\\\int_{-\\\\infty}^{+\\\\infty} f_X (x) \\\\cdot x \\\\cdot dx']),\n statistica__templateObject68 = statistica__taggedTemplateLiteralLoose(['x_{alpha}'], ['x_{\\\\alpha}']),\n statistica__templateObject69 = statistica__taggedTemplateLiteralLoose(['0 leq alpha leq 1'], ['0 \\\\leq \\\\alpha \\\\leq 1']),\n statistica__templateObject70 = statistica__taggedTemplateLiteralLoose(['P([X < x_{alpha}]) leq alpha leq P([X leq x_{alpha}])'], ['P([X < x_{\\\\alpha}]) \\\\leq \\\\alpha \\\\leq P([X \\\\leq x_{\\\\alpha}])']),\n statistica__templateObject71 = statistica__taggedTemplateLiteralLoose(['x_{0.5}'], ['x_{0.5}']),\n statistica__templateObject72 = statistica__taggedTemplateLiteralLoose(['x_{0.25}'], ['x_{0.25}']),\n statistica__templateObject73 = statistica__taggedTemplateLiteralLoose(['x_{0.75}'], ['x_{0.75}']),\n statistica__templateObject74 = statistica__taggedTemplateLiteralLoose(['\\frac{n}{100}'], ['\\\\frac{n}{100}']),\n statistica__templateObject75 = statistica__taggedTemplateLiteralLoose(['Var(X) = E( (X - E(X) )^2 ) = E ( X^2 ) - (E(X))^2'], ['Var(X) = E( (X - E(X) )^2 ) = E ( X^2 ) - (E(X))^2']),\n statistica__templateObject76 = statistica__taggedTemplateLiteralLoose(['\\forall K > 0, P([g(X) geq K]) leq \\frac{E(g(X))}{K}'], ['\\\\forall K > 0, P([g(X) \\\\geq K]) \\\\leq \\\\frac{E(g(X))}{K}']),\n statistica__templateObject77 = statistica__taggedTemplateLiteralLoose(['epsilon'], ['\\\\epsilon']),\n statistica__templateObject78 = statistica__taggedTemplateLiteralLoose(['\\frac{Var(X)}{epsilon^2}'], ['\\\\frac{Var(X)}{\\\\epsilon^2}']),\n statistica__templateObject79 = statistica__taggedTemplateLiteralLoose(['\\forall epsilon > 0, P([ -epsilon leq left( X - E(X) \\right) leq epsilon]) leq \\frac{Var(X)}{epsilon^2}'], ['\\\\forall \\\\epsilon > 0, P([ -\\\\epsilon \\\\leq \\\\left( X - E(X) \\\\right) \\\\leq \\\\epsilon]) \\\\leq \\\\frac{Var(X)}{\\\\epsilon^2}']),\n statistica__templateObject80 = statistica__taggedTemplateLiteralLoose(['mu_k = E ( X^k ) = \\begin{cases}\\n sum_i x_i^k p_X (x_i) qquad nel discreto\\\\\\n \\\\\\n int_{-infty}^{+infty} x^k f_X (x) dx qquad nel continuo\\n end{cases}'], ['\\\\mu_k = E ( X^k ) = \\\\begin{cases}\\n \\\\sum_i x_i^k p_X (x_i) \\\\qquad nel\\\\ discreto\\\\\\\\\\n \\\\\\\\\\n \\\\int_{-\\\\infty}^{+\\\\infty} x^k f_X (x) dx \\\\qquad nel\\\\ continuo\\n \\\\end{cases}']),\n statistica__templateObject81 = statistica__taggedTemplateLiteralLoose(['m_X (t) = E( e^{t cdot X} )'], ['m_X (t) = E( e^{t \\\\cdot X} )']),\n statistica__templateObject82 = statistica__taggedTemplateLiteralLoose(['H_X (t) = E ( e^{i cdot t cdot X} )'], ['H_X (t) = E ( e^{i \\\\cdot t \\\\cdot X} )']),\n statistica__templateObject83 = statistica__taggedTemplateLiteralLoose(['X sim Distribuzione()'], ['X \\\\sim Distribuzione()']),\n statistica__templateObject84 = statistica__taggedTemplateLiteralLoose(['Ber(p)'], ['Ber(p)']),\n statistica__templateObject85 = statistica__taggedTemplateLiteralLoose(['f_X (k) : {0, 1} = \\begin{cases}\\n p quad se k = 1\\\\\\n q quad se k = 0\\\\\\n 0 quad altrimenti\\n end{cases} = p^x cdot q^{1 - k}'], ['f_X (k) : \\\\{0, 1\\\\} = \\\\begin{cases}\\n p \\\\quad se\\\\ k = 1\\\\\\\\\\n q \\\\quad se\\\\ k = 0\\\\\\\\\\n 0 \\\\quad altrimenti\\n \\\\end{cases} = p^x \\\\cdot q^{1 - k}']),\n statistica__templateObject86 = statistica__taggedTemplateLiteralLoose(['Bin(n, p)'], ['Bin(n, p)']),\n statistica__templateObject87 = statistica__taggedTemplateLiteralLoose(['f_X (k) : {0..n} = \\binom{n}{k} cdot p^k cdot q^{n - k}'], ['f_X (k) : \\\\{0..n\\\\} = \\\\binom{n}{k} \\\\cdot p^k \\\\cdot q^{n - k}']),\n statistica__templateObject88 = statistica__taggedTemplateLiteralLoose(['m_X (t) = (q + p cdot e^t) ^ n'], ['m_X (t) = (q + p \\\\cdot e^t) ^ n']),\n statistica__templateObject89 = statistica__taggedTemplateLiteralLoose(['E(X) = n cdot p'], ['E(X) = n \\\\cdot p']),\n statistica__templateObject90 = statistica__taggedTemplateLiteralLoose(['Var(X) = n cdot p cdot q'], ['Var(X) = n \\\\cdot p \\\\cdot q']),\n statistica__templateObject91 = statistica__taggedTemplateLiteralLoose(['f_X (k) : mathbb{N} = q^{k - 1} p'], ['f_X (k) : \\\\mathbb{N} = q^{k - 1} p']),\n statistica__templateObject92 = statistica__taggedTemplateLiteralLoose(['m_X (t) = \\frac{p cdot e^t}{1 - q cdot e^t}'], ['m_X (t) = \\\\frac{p \\\\cdot e^t}{1 - q \\\\cdot e^t}']),\n statistica__templateObject93 = statistica__taggedTemplateLiteralLoose(['E(X) = \\frac{1}{p}'], ['E(X) = \\\\frac{1}{p}']),\n statistica__templateObject94 = statistica__taggedTemplateLiteralLoose(['Var(X) = \\frac{q}{p^2}'], ['Var(X) = \\\\frac{q}{p^2}']),\n statistica__templateObject95 = statistica__taggedTemplateLiteralLoose(['overline{Bin}(n, p)'], ['\\\\overline{Bin}(n, p)']),\n statistica__templateObject96 = statistica__taggedTemplateLiteralLoose(['f_X (k) : { n .. +infty } in mathbb{N} = \\binom{k - 1}{n - 1} cdot p^n cdot q^{k - n} '], ['f_X (k) : \\\\{ n .. +\\\\infty \\\\} \\\\in \\\\mathbb{N} = \\\\binom{k - 1}{n - 1} \\\\cdot p^n \\\\cdot q^{k - n} ']),\n statistica__templateObject97 = statistica__taggedTemplateLiteralLoose(['m_X (t) : { t < ln(\\frac{1}{q}) } = left( \\frac{p cdot e^t}{1 - q cdot e^t} \\right) ^n'], ['m_X (t) : \\\\{ t < ln(\\\\frac{1}{q}) \\\\} = \\\\left( \\\\frac{p \\\\cdot e^t}{1 - q \\\\cdot e^t} \\\\right) ^n']),\n statistica__templateObject98 = statistica__taggedTemplateLiteralLoose(['E(X) = \\frac{n}{p}'], ['E(X) = \\\\frac{n}{p}']),\n statistica__templateObject99 = statistica__taggedTemplateLiteralLoose(['Var(X) = \\frac{n cdot q}{p^2}'], ['Var(X) = \\\\frac{n \\\\cdot q}{p^2}']),\n statistica__templateObject100 = statistica__taggedTemplateLiteralLoose(['Geo(p)'], ['Geo(p)']),\n statistica__templateObject101 = statistica__taggedTemplateLiteralLoose(['f_X (k) : mathbb{N} = p cdot q^k '], ['f_X (k) : \\\\mathbb{N} = p \\\\cdot q^k ']),\n statistica__templateObject102 = statistica__taggedTemplateLiteralLoose(['m_X (t) : left{ t < ln left( \\frac{1}{q} \\right) \\right} = \\frac{p}{1 - q cdot e^t}'], ['m_X (t) : \\\\left\\\\{ t < ln \\\\left( \\\\frac{1}{q} \\\\right) \\\\right\\\\} = \\\\frac{p}{1 - q \\\\cdot e^t}']),\n statistica__templateObject103 = statistica__taggedTemplateLiteralLoose(['E(X) = \\frac{q}{p}'], ['E(X) = \\\\frac{q}{p}']),\n statistica__templateObject104 = statistica__taggedTemplateLiteralLoose(['f_X (k) : mathbb{N} = \\binom{k + n - 1}{n - 1} cdot p^n cdot q^k '], ['f_X (k) : \\\\mathbb{N} = \\\\binom{k + n - 1}{n - 1} \\\\cdot p^n \\\\cdot q^k ']),\n statistica__templateObject105 = statistica__taggedTemplateLiteralLoose(['m_X (t) : left{ t < ln left( \\frac{1}{q} \\right) \\right} = left( \\frac{p cdot e^t}{1 - q cdot e^t} \\right) ^n'], ['m_X (t) : \\\\left\\\\{ t < ln \\\\left( \\\\frac{1}{q} \\\\right) \\\\right\\\\} = \\\\left( \\\\frac{p \\\\cdot e^t}{1 - q \\\\cdot e^t} \\\\right) ^n']),\n statistica__templateObject106 = statistica__taggedTemplateLiteralLoose(['E(X) = \\frac{n cdot q}{p}'], ['E(X) = \\\\frac{n \\\\cdot q}{p}']);\n\n\n\nfunction statistica__taggedTemplateLiteralLoose(strings, raw) { strings.raw = raw; return strings; }\n\nfunction statistica__classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction statistica__possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction statistica__inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nvar statistica_r = String.raw;\n\nvar statistica__ref = Object(preact_min[\"h\"])(\n 'h1',\n null,\n 'Statistica ed Elementi di Probabilit\\xE0'\n);\n\nvar statistica__ref2 = Object(preact_min[\"h\"])(\n panel_Panel,\n { title: \"Soggettiva\" },\n Object(preact_min[\"h\"])(\n 'p',\n null,\n 'Il prezzo che un individuo coerente riterrebbe equo per ricevere ',\n Object(preact_min[\"h\"])(\n 'b',\n null,\n '1'\n ),\n ' nel caso l\\'evento si verificasse e ',\n Object(preact_min[\"h\"])(\n 'b',\n null,\n '0'\n ),\n ' nel caso l\\'evento non si verificasse.'\n )\n);\n\nvar statistica__ref3 = Object(preact_min[\"h\"])(\n 'blockquote',\n null,\n '\"omegone\"'\n);\n\nvar statistica__ref4 = Object(preact_min[\"h\"])(\n 'p',\n null,\n 'L\\'',\n Object(preact_min[\"h\"])(\n 'b',\n null,\n 'insieme'\n ),\n ' di tutti gli esiti possibili di un esperimento.'\n);\n\nvar statistica__ref5 = Object(preact_min[\"h\"])(\n 'blockquote',\n null,\n '\"omeghino\"'\n);\n\nvar statistica__ref6 = Object(preact_min[\"h\"])(\n 'p',\n null,\n 'Un ',\n Object(preact_min[\"h\"])(\n 'b',\n null,\n 'elemento'\n ),\n ' dello spazio campionario.'\n);\n\nvar statistica__ref7 = Object(preact_min[\"h\"])(\n 'blockquote',\n null,\n '\"e\"'\n);\n\nvar statistica__ref8 = Object(preact_min[\"h\"])(\n 'p',\n null,\n 'Un ',\n Object(preact_min[\"h\"])(\n 'b',\n null,\n 'sottoinsieme'\n ),\n ' dello spazio campionario.'\n);\n\nvar statistica__ref9 = Object(preact_min[\"h\"])(\n 'p',\n null,\n 'Lo spazio campionario stesso \\xE8 un ',\n Object(preact_min[\"h\"])(\n 'b',\n null,\n 'evento certo'\n ),\n '.'\n);\n\nvar statistica__ref10 = Object(preact_min[\"h\"])(\n 'blockquote',\n null,\n '\"not e\"'\n);\n\nvar statistica__ref11 = Object(preact_min[\"h\"])(\n 'p',\n null,\n 'Il ',\n Object(preact_min[\"h\"])(\n 'b',\n null,\n 'complementare'\n ),\n ' di un sottoinsieme.'\n);\n\nvar statistica__ref12 = Object(preact_min[\"h\"])(\n 'blockquote',\n null,\n '\"e intersecato effe\"'\n);\n\nvar statistica__ref13 = Object(preact_min[\"h\"])(\n 'p',\n null,\n 'L\\'',\n Object(preact_min[\"h\"])(\n 'b',\n null,\n 'intersezione'\n ),\n ' di pi\\xF9 sottoinsiemi.'\n);\n\nvar statistica__ref14 = Object(preact_min[\"h\"])(\n 'blockquote',\n null,\n '\"e unito a effe\"'\n);\n\nvar statistica__ref15 = Object(preact_min[\"h\"])(\n 'p',\n null,\n 'L\\'',\n Object(preact_min[\"h\"])(\n 'b',\n null,\n 'unione'\n ),\n ' di pi\\xF9 sottoinsiemi.'\n);\n\nvar statistica__ref16 = Object(preact_min[\"h\"])(\n 'blockquote',\n null,\n '\"e meno effe\"'\n);\n\nvar statistica__ref17 = Object(preact_min[\"h\"])(\n 'blockquote',\n null,\n '\"e contenuto in effe\"'\n);\n\nvar statistica__ref18 = Object(preact_min[\"h\"])(\n 'p',\n null,\n 'L\\'',\n Object(preact_min[\"h\"])(\n 'b',\n null,\n 'inclusione'\n ),\n ' del primo insieme in un altro.'\n);\n\nvar statistica__ref19 = Object(preact_min[\"h\"])(\n 'p',\n null,\n 'Se si verifica ',\n Object(preact_min[\"h\"])(\n latex_Latex,\n null,\n 'E'\n ),\n ', allora si verifica anche ',\n Object(preact_min[\"h\"])(\n latex_Latex,\n null,\n 'F'\n ),\n '.'\n);\n\nvar statistica__ref20 = Object(preact_min[\"h\"])(\n 'blockquote',\n null,\n '\"e \\xE8 impossibile\"'\n);\n\nvar statistica__ref21 = Object(preact_min[\"h\"])(\n 'p',\n null,\n 'Un sottoinsieme ',\n Object(preact_min[\"h\"])(\n 'b',\n null,\n 'vuoto'\n ),\n '.'\n);\n\nvar statistica__ref22 = Object(preact_min[\"h\"])(\n 'blockquote',\n null,\n '\"e ed effe si escludono mutualmente\"'\n);\n\nvar statistica__ref23 = Object(preact_min[\"h\"])(\n 'p',\n null,\n 'La ',\n Object(preact_min[\"h\"])(\n 'b',\n null,\n 'disgiunzione'\n ),\n ' di due insiemi.'\n);\n\nvar statistica__ref24 = Object(preact_min[\"h\"])(\n 'blockquote',\n null,\n '\"famiglia effe\"'\n);\n\nvar statistica__ref25 = Object(preact_min[\"h\"])(\n 'p',\n null,\n 'I sottoinsiemi dello spazio campionario formano una ',\n Object(preact_min[\"h\"])(\n 'b',\n null,\n 'famiglia'\n ),\n ' di sottoinsiemi detta ',\n Object(preact_min[\"h\"])(\n 'i',\n null,\n 'famiglia degli eventi'\n ),\n '.'\n);\n\nvar statistica__ref26 = Object(preact_min[\"h\"])(\n 'blockquote',\n null,\n '\"sigma algebra\"'\n);\n\nvar statistica__ref27 = Object(preact_min[\"h\"])(\n 'blockquote',\n null,\n '\"la partizione e composta da e uno, e due, e tre...\"'\n);\n\nvar statistica__ref28 = Object(preact_min[\"h\"])(\n 'p',\n null,\n 'Un insieme di esiti e eventi:'\n);\n\nvar statistica__ref29 = Object(preact_min[\"h\"])(\n 'ul',\n null,\n Object(preact_min[\"h\"])(\n 'li',\n null,\n Object(preact_min[\"h\"])(\n 'b',\n null,\n 'Finito'\n ),\n '.'\n ),\n Object(preact_min[\"h\"])(\n 'li',\n null,\n 'In cui tutti gli eventi hanno ',\n Object(preact_min[\"h\"])(\n 'b',\n null,\n 'probabilit\\xE0 diversa da 0'\n ),\n '.'\n ),\n Object(preact_min[\"h\"])(\n 'li',\n null,\n 'In cui tutti gli eventi sono ',\n Object(preact_min[\"h\"])(\n 'b',\n null,\n 'mutualmente esclusivi'\n ),\n '.'\n ),\n Object(preact_min[\"h\"])(\n 'li',\n null,\n 'In cui l\\'unione di tutti i suoi elementi ',\n Object(preact_min[\"h\"])(\n 'b',\n null,\n 'copre lo spazio campionario'\n ),\n '.'\n )\n);\n\nvar statistica__ref30 = Object(preact_min[\"h\"])(\n example_Example,\n null,\n 'Se lo spazio campionario fosse una torta, una sua partizione sarebbe l\\'insieme delle fette di uno dei modi in cui si potrebbe tagliare.'\n);\n\nvar statistica__ref31 = Object(preact_min[\"h\"])(\n 'p',\n null,\n 'La probabilit\\xE0 di un evento \\xE8 un numero tra 0 e 1.'\n);\n\nvar statistica__ref32 = Object(preact_min[\"h\"])(\n 'p',\n null,\n 'La probabilit\\xE0 dello spazio campionario \\xE8 sempre 1.'\n);\n\nvar statistica__ref33 = Object(preact_min[\"h\"])(\n 'p',\n null,\n 'La probabilit\\xE0 dell\\'unione di eventi indipendenti \\xE8 uguale alla somma delle loro probabilit\\xE0.'\n);\n\nvar statistica__ref34 = Object(preact_min[\"h\"])(\n 'p',\n null,\n 'La probabilit\\xE0 di un evento negato \\xE8 uguale a 1 meno la probabilit\\xE0 dell\\'evento non negato.'\n);\n\nvar statistica__ref35 = Object(preact_min[\"h\"])(\n 'p',\n null,\n 'La probabilit\\xE0 di un evento incluso in un altro \\xE8 sempre minore o uguale alla probabilit\\xE0 dell\\'evento in cui \\xE8 incluso.'\n);\n\nvar statistica__ref36 = Object(preact_min[\"h\"])(\n 'p',\n null,\n 'La probabilit\\xE0 di un evento unito a un altro \\xE8 uguale alla somma delle probabilit\\xE0 dei due eventi meno la probabilit\\xE0 della loro intersezione.'\n);\n\nvar statistica__ref37 = Object(preact_min[\"h\"])(\n example_Example,\n null,\n 'Sommando le probabilit\\xE0 dei due eventi, l\\'intersezione viene contata due volte, e va quindi rimossa!'\n);\n\nvar statistica__ref38 = Object(preact_min[\"h\"])(\n 'p',\n null,\n 'Spazi campionari in cui ci sono un numero finito di esiti e ogni esito ha la stessa probabilit\\xE0 di verificarsi.'\n);\n\nvar statistica__ref39 = Object(preact_min[\"h\"])(\n panel_Panel,\n { title: \"Spazi equiprobabili geometrici\" },\n Object(preact_min[\"h\"])(\n 'p',\n null,\n 'Gli spazi campionari possono avere un numero infinito di esiti: sono ',\n Object(preact_min[\"h\"])(\n 'i',\n null,\n 'equiprobabili geometrici'\n ),\n ' se nessun esito \\xE8 privilegiato rispetto agli altri.'\n )\n);\n\nvar statistica__ref40 = Object(preact_min[\"h\"])(\n 'p',\n null,\n 'Estraggo un numero, da un sacchetto con ',\n Object(preact_min[\"h\"])(\n latex_Latex,\n null,\n 'n'\n ),\n ' numeri, mi segno che numero ho estratto e lo ',\n Object(preact_min[\"h\"])(\n 'b',\n null,\n 'tengo fuori dal sacchetto'\n ),\n '. Ripeto per ',\n Object(preact_min[\"h\"])(\n latex_Latex,\n null,\n 'k'\n ),\n ' volte.'\n);\n\nvar statistica__ref41 = Object(preact_min[\"h\"])(\n 'p',\n null,\n Object(preact_min[\"h\"])(\n 'b',\n null,\n 'Tengo conto'\n ),\n ' dell\\'ordine in cui ho estratto i numeri.'\n);\n\nvar statistica__ref42 = Object(preact_min[\"h\"])(\n 'p',\n null,\n 'Estraggo un numero, da un sacchetto con ',\n Object(preact_min[\"h\"])(\n latex_Latex,\n null,\n 'n'\n ),\n ' numeri, mi segno che numero ho estratto e lo ',\n Object(preact_min[\"h\"])(\n 'b',\n null,\n 'rimetto nel sacchetto'\n ),\n '. Ripeto per ',\n Object(preact_min[\"h\"])(\n latex_Latex,\n null,\n 'k'\n ),\n ' volte.'\n);\n\nvar statistica__ref43 = Object(preact_min[\"h\"])(\n 'p',\n null,\n Object(preact_min[\"h\"])(\n 'b',\n null,\n 'Tengo conto'\n ),\n ' dell\\'ordine in cui ho estratto i numeri.'\n);\n\nvar statistica__ref44 = Object(preact_min[\"h\"])(\n 'p',\n null,\n 'Estraggo un numero, da un sacchetto con ',\n Object(preact_min[\"h\"])(\n latex_Latex,\n null,\n 'n'\n ),\n ' numeri, mi segno che numero ho estratto e lo ',\n Object(preact_min[\"h\"])(\n 'b',\n null,\n 'tengo fuori dal sacchetto'\n ),\n '. Ripeto per ',\n Object(preact_min[\"h\"])(\n latex_Latex,\n null,\n 'k'\n ),\n ' volte.'\n);\n\nvar statistica__ref45 = Object(preact_min[\"h\"])(\n 'p',\n null,\n Object(preact_min[\"h\"])(\n 'b',\n null,\n 'Non mi interessa'\n ),\n ' l\\'ordine in cui ho estratto i numeri.'\n);\n\nvar statistica__ref46 = Object(preact_min[\"h\"])(\n 'p',\n null,\n 'Estraggo un numero, da un sacchetto con ',\n Object(preact_min[\"h\"])(\n latex_Latex,\n null,\n 'n'\n ),\n ' numeri, mi segno che numero ho estratto e lo ',\n Object(preact_min[\"h\"])(\n 'b',\n null,\n 'rimetto nel sacchetto'\n ),\n '. Ripeto per ',\n Object(preact_min[\"h\"])(\n latex_Latex,\n null,\n 'k'\n ),\n ' volte.'\n);\n\nvar statistica__ref47 = Object(preact_min[\"h\"])(\n 'p',\n null,\n Object(preact_min[\"h\"])(\n 'b',\n null,\n 'Non mi interessa'\n ),\n ' l\\'ordine in cui ho estratto i numeri.'\n);\n\nvar statistica__ref48 = Object(preact_min[\"h\"])(\n 'p',\n null,\n 'Estraggo ',\n Object(preact_min[\"h\"])(\n latex_Latex,\n null,\n 'n'\n ),\n ' numeri e guardo in quanti ordini diversi li posso mettere.'\n);\n\nvar statistica__ref49 = Object(preact_min[\"h\"])(\n 'blockquote',\n null,\n '\"E dato F\"'\n);\n\nvar statistica__ref50 = Object(preact_min[\"h\"])(\n 'p',\n null,\n 'La probabilit\\xE0 che si verifichi ',\n Object(preact_min[\"h\"])(\n latex_Latex,\n null,\n 'E'\n ),\n ' sapendo che ',\n Object(preact_min[\"h\"])(\n 'b',\n null,\n 'si \\xE8 gi\\xE0 verificato'\n ),\n ' ',\n Object(preact_min[\"h\"])(\n latex_Latex,\n null,\n 'F'\n ),\n '.'\n);\n\nvar statistica__ref51 = Object(preact_min[\"h\"])(\n example_Example,\n null,\n 'Ricorda vagamente le pipe di ',\n Object(preact_min[\"h\"])(\n 'code',\n null,\n 'bash'\n ),\n ', per\\xF2 al contrario...'\n);\n\nvar statistica__ref52 = Object(preact_min[\"h\"])(\n 'p',\n null,\n 'Se due eventi sono mutualmente esclusivi, entrambe le loro probabilit\\xE0 condizionate saranno uguali a 0.'\n);\n\nvar statistica__ref53 = Object(preact_min[\"h\"])(\n 'p',\n null,\n 'Si pu\\xF2 sfruttare la formula inversa della probabilit\\xE0 condizionata per calcolare catene di intersezioni:'\n);\n\nvar statistica__ref54 = Object(preact_min[\"h\"])(\n latex_Latex,\n null,\n 'E_i'\n);\n\nvar statistica__ref55 = Object(preact_min[\"h\"])(\n 'b',\n null,\n 'partizione'\n);\n\nvar statistica__ref56 = Object(preact_min[\"h\"])(\n 'b',\n null,\n 'evento'\n);\n\nvar statistica__ref57 = Object(preact_min[\"h\"])(\n 'p',\n null,\n 'La probabilit\\xE0 che si verifichi un evento \\xE8 pari alla somma delle probabilit\\xE0 dell\\'evento stesso dati tutti gli eventi di una partizione.'\n);\n\nvar statistica__ref58 = Object(preact_min[\"h\"])(\n 'p',\n null,\n 'Per la definizione di probabilit\\xE0 condizionata:'\n);\n\nvar statistica__ref59 = Object(preact_min[\"h\"])(\n 'p',\n null,\n 'Essendo parte di una partizione, tutti gli ',\n Object(preact_min[\"h\"])(\n latex_Latex,\n null,\n 'E_i'\n ),\n ' sono distinti:'\n);\n\nvar statistica__ref60 = Object(preact_min[\"h\"])(\n 'p',\n null,\n 'Essendo mutualmente esclusivi, le probabilit\\xE0 di tutti gli ',\n Object(preact_min[\"h\"])(\n latex_Latex,\n null,\n 'E_i'\n ),\n ' possono essere sommate senza bisogno di sottrarvi l\\'intersezione:'\n);\n\nvar statistica__ref61 = Object(preact_min[\"h\"])(\n latex_Latex,\n null,\n 'E'\n);\n\nvar statistica__ref62 = Object(preact_min[\"h\"])(\n 'p',\n null,\n 'La legge delle alternative funziona anche quando ad essere partizionato \\xE8 un ',\n Object(preact_min[\"h\"])(\n 'b',\n null,\n 'evento'\n ),\n ':'\n);\n\nvar statistica__ref63 = Object(preact_min[\"h\"])(\n latex_Latex,\n null,\n 'E_i'\n);\n\nvar statistica__ref64 = Object(preact_min[\"h\"])(\n 'b',\n null,\n 'partizione'\n);\n\nvar statistica__ref65 = Object(preact_min[\"h\"])(\n 'b',\n null,\n 'evento'\n);\n\nvar statistica__ref66 = Object(preact_min[\"h\"])(\n 'p',\n null,\n Object(preact_min[\"h\"])(\n todo_Todo,\n null,\n 'TODO: ha un po\\' poco senso tbf'\n )\n);\n\nvar statistica__ref67 = Object(preact_min[\"h\"])(\n 'p',\n null,\n 'Partiamo dalla definizione di probabilit\\xE0 condizionata:'\n);\n\nvar statistica__ref68 = Object(preact_min[\"h\"])(\n 'p',\n null,\n 'Spostiamo al denominatore un pezzo:'\n);\n\nvar statistica__ref69 = Object(preact_min[\"h\"])(\n 'p',\n null,\n 'Applichiamo la legge delle alternative sul denominatore:'\n);\n\nvar statistica__ref70 = Object(preact_min[\"h\"])(\n 'blockquote',\n null,\n '\"eventi indipendenti a due a due\"'\n);\n\nvar statistica__ref71 = Object(preact_min[\"h\"])(\n 'p',\n null,\n 'Se due eventi sono indipendenti, sapere che uno dei due si \\xE8 verificato non influisce sulle probabilit\\xE0 che si sia verificato l\\'altro.'\n);\n\nvar statistica__ref72 = Object(preact_min[\"h\"])(\n 'p',\n null,\n Object(preact_min[\"h\"])(\n todo_Todo,\n null,\n 'TODO: ha una dimostrazione'\n )\n);\n\nvar statistica__ref73 = Object(preact_min[\"h\"])(\n 'blockquote',\n null,\n '\"eventi indipendenti a tre a tre, a quattro a quattro, a cinque a cinque...\"'\n);\n\nvar statistica__ref74 = Object(preact_min[\"h\"])(\n 'p',\n null,\n 'Si pu\\xF2 verificare l\\'indipendenza di pi\\xF9 eventi alla volta:'\n);\n\nvar statistica__ref75 = Object(preact_min[\"h\"])(\n 'p',\n null,\n 'Eventi indipendenti a due a due non sono per forza indipendenti a tre a tre, e viceversa.'\n);\n\nvar statistica__ref76 = Object(preact_min[\"h\"])(\n panel_Panel,\n { title: \"Famiglia di eventi indipendenti\" },\n Object(preact_min[\"h\"])(\n 'p',\n null,\n 'Un insieme di ',\n Object(preact_min[\"h\"])(\n latex_Latex,\n null,\n 'n'\n ),\n ' eventi \\xE8 una ',\n Object(preact_min[\"h\"])(\n 'i',\n null,\n 'famiglia di eventi indipendenti'\n ),\n ' se, preso un qualsiasi numero di eventi da essa, essi risulteranno indipendenti.'\n ),\n Object(preact_min[\"h\"])(\n example_Example,\n null,\n 'Tutti gli eventi provenienti da essa saranno indipendenti sia a due a due, sia a tre a tre, sia a quattro a quattro, e cos\\xEC via!'\n )\n);\n\nvar statistica__ref77 = Object(preact_min[\"h\"])(\n todo_Todo,\n null,\n 'Titolo?'\n);\n\nvar statistica__ref78 = Object(preact_min[\"h\"])(\n latex_Latex,\n null,\n 't'\n);\n\nvar statistica__ref79 = Object(preact_min[\"h\"])(\n 'p',\n null,\n 'Per definizione, tutte le variabili aleatorie devono rispettare questa condizione:'\n);\n\nvar statistica__ref80 = Object(preact_min[\"h\"])(\n example_Example,\n null,\n 'All\\'aumentare di t, l\\'insieme conterr\\xE0 sempre pi\\xF9 elementi.'\n);\n\nvar statistica__ref81 = Object(preact_min[\"h\"])(\n panel_Panel,\n { title: \"Supporto\" },\n Object(preact_min[\"h\"])(\n 'blockquote',\n null,\n '\"supporto di X\"'\n ),\n Object(preact_min[\"h\"])(\n 'p',\n null,\n 'Il ',\n Object(preact_min[\"h\"])(\n 'b',\n null,\n 'codominio'\n ),\n ' della variabile aleatoria \\xE8 il suo ',\n Object(preact_min[\"h\"])(\n 'i',\n null,\n 'supporto'\n ),\n '.'\n ),\n Object(preact_min[\"h\"])(\n 'p',\n null,\n 'Per indicare che un valore ',\n Object(preact_min[\"h\"])(\n latex_Latex,\n null,\n 'x_0'\n ),\n ' appartiene al supporto di ',\n Object(preact_min[\"h\"])(\n latex_Latex,\n null,\n 'X'\n ),\n ', si usa la notazione ',\n Object(preact_min[\"h\"])(\n latex_Latex,\n null,\n 'X \\\\mapsto x_0'\n ),\n '.'\n )\n);\n\nvar statistica__ref82 = Object(preact_min[\"h\"])(\n 'i',\n null,\n 'funzione probabilit\\xE0'\n);\n\nvar statistica__ref83 = Object(preact_min[\"h\"])(\n 'b',\n null,\n 'discreta'\n);\n\nvar statistica__ref84 = Object(preact_min[\"h\"])(\n latex_Latex,\n null,\n 'X'\n);\n\nvar statistica__ref85 = Object(preact_min[\"h\"])(\n 'i',\n null,\n 'funzione densit\\xE0'\n);\n\nvar statistica__ref86 = Object(preact_min[\"h\"])(\n 'b',\n null,\n 'continua'\n);\n\nvar statistica__ref87 = Object(preact_min[\"h\"])(\n latex_Latex,\n null,\n 'X'\n);\n\nvar statistica__ref88 = Object(preact_min[\"h\"])(\n 'p',\n null,\n 'A differenza della funzione probabilit\\xE0, \\xE8 possibile che la funzione densit\\xE0 ',\n Object(preact_min[\"h\"])(\n 'b',\n null,\n 'non esista'\n ),\n ' per una certa variabile aleatoria.'\n);\n\nvar statistica__ref89 = Object(preact_min[\"h\"])(\n example_Example,\n null,\n 'Rappresenta \"quanta\" probabilit\\xE0 c\\'\\xE8 in un\\'unit\\xE0 di x!'\n);\n\nvar statistica__ref90 = Object(preact_min[\"h\"])(\n 'i',\n null,\n 'funzione di ripartizione'\n);\n\nvar statistica__ref91 = Object(preact_min[\"h\"])(\n latex_Latex,\n null,\n 't'\n);\n\nvar statistica__ref92 = Object(preact_min[\"h\"])(\n 'p',\n null,\n Object(preact_min[\"h\"])(\n todo_Todo,\n null,\n 'TODO: sintassi del libro che non mi piace'\n )\n);\n\nvar statistica__ref93 = Object(preact_min[\"h\"])(\n 'li',\n null,\n '\\xC8 sempre ',\n Object(preact_min[\"h\"])(\n 'b',\n null,\n 'monotona crescente'\n ),\n ' (non strettamente).'\n);\n\nvar statistica__ref94 = Object(preact_min[\"h\"])('br', null);\n\nvar statistica__ref95 = Object(preact_min[\"h\"])(\n 'li',\n null,\n 'Vale ',\n Object(preact_min[\"h\"])(\n 'b',\n null,\n '0'\n ),\n ' a ',\n Object(preact_min[\"h\"])(\n latex_Latex,\n null,\n '-\\\\infty'\n ),\n ' e ',\n Object(preact_min[\"h\"])(\n 'b',\n null,\n '1'\n ),\n ' a ',\n Object(preact_min[\"h\"])(\n latex_Latex,\n null,\n '+\\\\infty'\n ),\n '.'\n);\n\nvar statistica__ref96 = Object(preact_min[\"h\"])('br', null);\n\nvar statistica__ref97 = Object(preact_min[\"h\"])(\n 'b',\n null,\n 'continua da destra'\n);\n\nvar statistica__ref98 = Object(preact_min[\"h\"])(\n 'p',\n null,\n 'Possiamo usare la funzione di ripartizione per calcolare la probabilit\\xE0 di un certo valore reale:'\n);\n\nvar statistica__ref99 = Object(preact_min[\"h\"])(\n panel_Panel,\n { title: \"Nel discreto\" },\n Object(preact_min[\"h\"])(\n 'p',\n null,\n 'Nel discreto basta abbinare un nuovo valore a ogni valore della variabile originale.'\n )\n);\n\nvar statistica__ref100 = Object(preact_min[\"h\"])(\n 'p',\n null,\n 'Nel continuo applichiamo la formula dell\\'integrazione per sostituzione:'\n);\n\nvar statistica__ref101 = Object(preact_min[\"h\"])(\n panel_Panel,\n { title: \"Nel... digitale\" },\n Object(preact_min[\"h\"])(\n 'p',\n null,\n 'Trasformare variabili aleatorie \\xE8 molto utile nell\\'informatica per creare distribuzioni partendo da una funzione ',\n Object(preact_min[\"h\"])(\n 'a',\n { href: \"https://docs.python.org/3/library/random.html#random.random\" },\n Object(preact_min[\"h\"])(\n 'code',\n null,\n 'random()'\n )\n ),\n ' che restituisce numeri da 0 a 1 con una distribuzione lineare.'\n )\n);\n\nvar statistica__ref102 = Object(preact_min[\"h\"])(\n 'p',\n null,\n 'Ogni variabile aleatoria che ha una ',\n Object(preact_min[\"h\"])(\n 'b',\n null,\n 'funzione di ripartizione'\n ),\n ' e un ',\n Object(preact_min[\"h\"])(\n 'b',\n null,\n 'supporto finito'\n ),\n ' ha anche una ',\n Object(preact_min[\"h\"])(\n 'i',\n null,\n 'media'\n ),\n ' (o ',\n Object(preact_min[\"h\"])(\n 'i',\n null,\n 'valore medio'\n ),\n ' o ',\n Object(preact_min[\"h\"])(\n 'i',\n null,\n 'atteso'\n ),\n '):'\n);\n\nvar statistica__ref103 = Object(preact_min[\"h\"])(\n 'p',\n null,\n 'Nel discreto, si pu\\xF2 calcolare con:'\n);\n\nvar statistica__ref104 = Object(preact_min[\"h\"])(\n 'p',\n null,\n 'Nel continuo, si pu\\xF2 calcolare con:'\n);\n\nvar statistica__ref105 = Object(preact_min[\"h\"])(\n panel_Panel,\n { title: \"Moda\" },\n Object(preact_min[\"h\"])(\n 'p',\n null,\n 'Valore per cui la ',\n Object(preact_min[\"h\"])(\n 'b',\n null,\n 'funzione probabilit\\xE0'\n ),\n ' o ',\n Object(preact_min[\"h\"])(\n 'b',\n null,\n 'funzione densit\\xE0'\n ),\n ' \\xE8 ',\n Object(preact_min[\"h\"])(\n 'b',\n null,\n 'massima'\n ),\n '.'\n )\n);\n\nvar statistica__ref106 = Object(preact_min[\"h\"])(\n 'i',\n null,\n 'quantile'\n);\n\nvar statistica__ref107 = Object(preact_min[\"h\"])(\n latex_Latex,\n null,\n 'X'\n);\n\nvar statistica__ref108 = Object(preact_min[\"h\"])('p', null);\n\nvar statistica__ref109 = Object(preact_min[\"h\"])(\n 'i',\n null,\n 'mediana'\n);\n\nvar statistica__ref110 = Object(preact_min[\"h\"])(\n 'i',\n null,\n 'quartili'\n);\n\nvar statistica__ref111 = Object(preact_min[\"h\"])(\n 'i',\n null,\n Object(preact_min[\"h\"])(\n latex_Latex,\n null,\n 'n'\n ),\n '-esima percentile'\n);\n\nvar statistica__ref112 = Object(preact_min[\"h\"])(\n 'p',\n null,\n '\\xC8 un valore che indica quanto la variabile aleatoria si discosta generalmente dalla media:'\n);\n\nvar statistica__ref113 = Object(preact_min[\"h\"])(\n 'p',\n null,\n 'La disuguaglianza di Markov serve a \"stabilire un limite superiore al valore della probabilit\\xE0\" quando si \\xE8 solo a conoscenza del valore atteso.'\n);\n\nvar statistica__ref114 = Object(preact_min[\"h\"])(\n 'blockquote',\n null,\n '\"disuguaglianza di cebicev\"'\n);\n\nvar statistica__ref115 = Object(preact_min[\"h\"])(\n latex_Latex,\n null,\n 'X'\n);\n\nvar statistica__ref116 = Object(preact_min[\"h\"])(\n example_Example,\n null,\n 'Serve per semplificare i calcoli quando la funzione di ripartizione \\xE8 difficile da calcolare!'\n);\n\nvar statistica__ref117 = Object(preact_min[\"h\"])(\n 'p',\n null,\n 'Il ',\n Object(preact_min[\"h\"])(\n 'i',\n null,\n 'momento'\n ),\n ' ',\n Object(preact_min[\"h\"])(\n latex_Latex,\n null,\n 'k'\n ),\n '-esimo di una variabile aleatoria \\xE8:'\n);\n\nvar statistica__ref118 = Object(preact_min[\"h\"])(\n example_Example,\n null,\n 'La media di una variabile aleatoria \\xE8 anche il suo primo momento.'\n);\n\nvar statistica__ref119 = Object(preact_min[\"h\"])(\n 'p',\n null,\n 'La ',\n Object(preact_min[\"h\"])(\n 'i',\n null,\n 'funzione generatrice dei momenti'\n ),\n ' \\xE8:'\n);\n\nvar statistica__ref120 = Object(preact_min[\"h\"])(\n 'p',\n null,\n 'Se due variabile aleatorie hanno la stessa funzione generatrice dei momenti, allora esse hanno la ',\n Object(preact_min[\"h\"])(\n 'b',\n null,\n 'stessa distribuzione'\n ),\n '.'\n);\n\nvar statistica__ref121 = Object(preact_min[\"h\"])(\n 'p',\n null,\n 'E\\' la ',\n Object(preact_min[\"h\"])(\n 'b',\n null,\n 'trasformata di Laplace'\n ),\n ' della variabile aleatoria di X.'\n);\n\nvar statistica__ref122 = Object(preact_min[\"h\"])(\n 'p',\n null,\n 'La ',\n Object(preact_min[\"h\"])(\n 'i',\n null,\n 'funzione caratteristica'\n ),\n ' \\xE8:'\n);\n\nvar statistica__ref123 = Object(preact_min[\"h\"])(\n 'p',\n null,\n 'Se due variabile aleatorie hanno la stessa funzione caratteristica, allora esse hanno la ',\n Object(preact_min[\"h\"])(\n 'b',\n null,\n 'stessa distribuzione'\n ),\n '.'\n);\n\nvar statistica__ref124 = Object(preact_min[\"h\"])(\n 'p',\n null,\n 'E\\' la ',\n Object(preact_min[\"h\"])(\n 'b',\n null,\n 'trasformata di Fourier'\n ),\n ' della variabile aleatoria di X.'\n);\n\nvar statistica__ref125 = Object(preact_min[\"h\"])(\n 'p',\n null,\n 'Per dire che una variabile ha una certa distribuzione, si usa la notazione:'\n);\n\nvar statistica__ref126 = Object(preact_min[\"h\"])(\n panel_Panel,\n { title: \"Prova di Bernoulli\" },\n Object(preact_min[\"h\"])(\n 'p',\n null,\n 'Una prova con solo due possibili esiti: ',\n Object(preact_min[\"h\"])(\n plus_Plus,\n null,\n 'successo'\n ),\n ' e ',\n Object(preact_min[\"h\"])(\n minus_Minus,\n null,\n 'insuccesso'\n ),\n '.'\n )\n);\n\nvar statistica__ref127 = Object(preact_min[\"h\"])(\n panel_Panel,\n { title: \"Schema di Bernoulli\" },\n Object(preact_min[\"h\"])(\n 'p',\n null,\n 'Una sequenza di prove di Bernoulli per le quali le probabilit\\xE0 di successo e fallimento rimangono invariate.'\n )\n);\n\nvar statistica__ref128 = Object(preact_min[\"h\"])(\n 'p',\n null,\n 'Una variabile aleatoria che rappresenta una prova di Bernoulli:'\n);\n\nvar statistica__ref129 = Object(preact_min[\"h\"])(\n 'ul',\n null,\n Object(preact_min[\"h\"])(\n 'li',\n null,\n 'vale ',\n Object(preact_min[\"h\"])(\n plus_Plus,\n null,\n '1'\n ),\n ' in caso di ',\n Object(preact_min[\"h\"])(\n plus_Plus,\n null,\n 'successo'\n ),\n '.'\n ),\n Object(preact_min[\"h\"])(\n 'li',\n null,\n 'vale ',\n Object(preact_min[\"h\"])(\n minus_Minus,\n null,\n '0'\n ),\n ' in caso di ',\n Object(preact_min[\"h\"])(\n minus_Minus,\n null,\n 'insuccesso'\n ),\n '.'\n )\n);\n\nvar statistica__ref130 = Object(preact_min[\"h\"])(\n 'p',\n null,\n 'La distribuzione bernoulliana ha come densit\\xE0:'\n);\n\nvar statistica__ref131 = Object(preact_min[\"h\"])(\n 'p',\n null,\n 'Una variabile aleatoria che conta il numero di successi di ',\n Object(preact_min[\"h\"])(\n latex_Latex,\n null,\n 'n'\n ),\n ' prove di uno schema di Bernoulli.'\n);\n\nvar statistica__ref132 = Object(preact_min[\"h\"])(\n 'p',\n null,\n 'La binomiale ha come densit\\xE0:'\n);\n\nvar statistica__ref133 = Object(preact_min[\"h\"])(\n 'p',\n null,\n 'La ',\n Object(preact_min[\"h\"])(\n 'b',\n null,\n 'funzione generatrice dei momenti'\n ),\n ' della binomiale \\xE8:'\n);\n\nvar statistica__ref134 = Object(preact_min[\"h\"])(\n 'p',\n null,\n 'La ',\n Object(preact_min[\"h\"])(\n 'b',\n null,\n 'media'\n ),\n ' di una binomiale \\xE8:'\n);\n\nvar statistica__ref135 = Object(preact_min[\"h\"])(\n 'p',\n null,\n 'La ',\n Object(preact_min[\"h\"])(\n 'b',\n null,\n 'varianza'\n ),\n ' di una binomiale \\xE8:'\n);\n\nvar statistica__ref136 = Object(preact_min[\"h\"])(\n panel_Panel,\n { title: \"Distribuzione geometrica\" },\n Object(preact_min[\"h\"])(\n 'p',\n null,\n 'Una variabile aleatoria che conta il numero di prove in uno schema di Bernoulli fino alla comparsa del primo successo.'\n ),\n Object(preact_min[\"h\"])(\n 'p',\n null,\n 'Il suo simbolo \\xE8 ',\n Object(preact_min[\"h\"])(\n latex_Latex,\n null,\n 'Geo(p)'\n ),\n '.'\n )\n);\n\nvar statistica__ref137 = Object(preact_min[\"h\"])(\n 'p',\n null,\n 'La geometrica ha come densit\\xE0:'\n);\n\nvar statistica__ref138 = Object(preact_min[\"h\"])(\n 'p',\n null,\n 'La ',\n Object(preact_min[\"h\"])(\n 'b',\n null,\n 'funzione generatrice dei momenti'\n ),\n ' della geometrica \\xE8:'\n);\n\nvar statistica__ref139 = Object(preact_min[\"h\"])(\n 'p',\n null,\n 'La ',\n Object(preact_min[\"h\"])(\n 'b',\n null,\n 'media'\n ),\n ' della geometrica \\xE8:'\n);\n\nvar statistica__ref140 = Object(preact_min[\"h\"])(\n 'p',\n null,\n 'La ',\n Object(preact_min[\"h\"])(\n 'b',\n null,\n 'varianza'\n ),\n ' della geometrica \\xE8:'\n);\n\nvar statistica__ref141 = Object(preact_min[\"h\"])(\n panel_Panel,\n { title: \"Assenza di memoria della geometrica\" },\n Object(preact_min[\"h\"])(\n 'p',\n null,\n Object(preact_min[\"h\"])(\n todo_Todo,\n null,\n 'TODO: Quella di uno studente all\\'esame.'\n )\n )\n);\n\nvar statistica__ref142 = Object(preact_min[\"h\"])(\n 'p',\n null,\n 'Una variabile aleatoria che conta il numero di prove in uno schema di Bernoulli necessarie perch\\xE8 si verifichi l\\'',\n Object(preact_min[\"h\"])(\n latex_Latex,\n null,\n 'n'\n ),\n '-esimo successo.'\n);\n\nvar statistica__ref143 = Object(preact_min[\"h\"])(\n 'p',\n null,\n 'La binomiale negativa ha come densit\\xE0:'\n);\n\nvar statistica__ref144 = Object(preact_min[\"h\"])(\n 'p',\n null,\n 'La ',\n Object(preact_min[\"h\"])(\n 'b',\n null,\n 'funzione generatrice dei momenti'\n ),\n ' della binomiale negativa \\xE8:'\n);\n\nvar statistica__ref145 = Object(preact_min[\"h\"])(\n 'p',\n null,\n 'La ',\n Object(preact_min[\"h\"])(\n 'b',\n null,\n 'media'\n ),\n ' della binomiale negativa \\xE8:'\n);\n\nvar statistica__ref146 = Object(preact_min[\"h\"])(\n 'p',\n null,\n 'La ',\n Object(preact_min[\"h\"])(\n 'b',\n null,\n 'varianza'\n ),\n ' della binomiale negativa \\xE8:'\n);\n\nvar statistica__ref147 = Object(preact_min[\"h\"])(\n 'p',\n null,\n 'Una variabile aleatoria che conta il numero ',\n Object(preact_min[\"h\"])(\n latex_Latex,\n null,\n 'k'\n ),\n ' di insuccessi consecutivi in uno schema di Bernoulli:'\n);\n\nvar statistica__ref148 = Object(preact_min[\"h\"])(\n 'p',\n null,\n 'La geometrica traslata ha come densit\\xE0:'\n);\n\nvar statistica__ref149 = Object(preact_min[\"h\"])(\n 'p',\n null,\n 'La ',\n Object(preact_min[\"h\"])(\n 'b',\n null,\n 'funzione generatrice dei momenti'\n ),\n ' della geometrica traslata \\xE8:'\n);\n\nvar statistica__ref150 = Object(preact_min[\"h\"])(\n 'p',\n null,\n 'La ',\n Object(preact_min[\"h\"])(\n 'b',\n null,\n 'media'\n ),\n ' della geometrica traslata \\xE8:'\n);\n\nvar statistica__ref151 = Object(preact_min[\"h\"])(\n 'p',\n null,\n 'La ',\n Object(preact_min[\"h\"])(\n 'b',\n null,\n 'varianza'\n ),\n ' della geometrica \\xE8:'\n);\n\nvar statistica__ref152 = Object(preact_min[\"h\"])(\n panel_Panel,\n { title: \"Assenza di memoria della geometrica traslata\" },\n Object(preact_min[\"h\"])(\n 'p',\n null,\n Object(preact_min[\"h\"])(\n todo_Todo,\n null,\n 'TODO: Quella di uno studente all\\'esame.'\n )\n )\n);\n\nvar statistica__ref153 = Object(preact_min[\"h\"])(\n 'p',\n null,\n 'Una variabile aleatoria che conta il numero di insuccessi in uno schema di Bernoulli prima che si verifichi l\\'',\n Object(preact_min[\"h\"])(\n latex_Latex,\n null,\n 'n'\n ),\n '-esimo successo.'\n);\n\nvar statistica__ref154 = Object(preact_min[\"h\"])(\n 'p',\n null,\n 'La binomiale negativa traslata ha come densit\\xE0:'\n);\n\nvar statistica__ref155 = Object(preact_min[\"h\"])(\n 'p',\n null,\n 'La ',\n Object(preact_min[\"h\"])(\n 'b',\n null,\n 'funzione generatrice dei momenti'\n ),\n ' della binomiale negativa traslata \\xE8:'\n);\n\nvar statistica__ref156 = Object(preact_min[\"h\"])(\n 'p',\n null,\n 'La ',\n Object(preact_min[\"h\"])(\n 'b',\n null,\n 'media'\n ),\n ' della binomiale negativa traslata \\xE8:'\n);\n\nvar statistica__ref157 = Object(preact_min[\"h\"])(\n 'p',\n null,\n 'La ',\n Object(preact_min[\"h\"])(\n 'b',\n null,\n 'varianza'\n ),\n ' della binomiale negativa traslata \\xE8:'\n);\n\nvar statistica__ref158 = Object(preact_min[\"h\"])(\n split_Split,\n { title: \"Ipergeometrica\" },\n Object(preact_min[\"h\"])(\n todo_Todo,\n null,\n 'TODO: it\\'s a bit weird'\n )\n);\n\nvar statistica_Statistica = function (_Component) {\n statistica__inherits(Statistica, _Component);\n\n function Statistica() {\n statistica__classCallCheck(this, Statistica);\n\n return statistica__possibleConstructorReturn(this, _Component.apply(this, arguments));\n }\n\n Statistica.prototype.render = function render() {\n /*\n <Split title={\"Popolazioni\"}>\n <Panel title={\"Popolazione\"} id={\"popolazione\"}>\n <p>\n Gruppo <b>intero</b> di oggetti di cui si cercano informazioni.\n </p>\n </Panel>\n <Panel title={\"Popolazione tangibile\"}>\n <p>\n Popolazione finita di oggetti concreti che possono essere campionati ciascuno solo una volta.\n </p>\n </Panel>\n <Panel title={\"Popolazione concettuale\"}>\n <p>\n Popolazione di valori ottenuti da prove sperimentali indipendenti ripetute più volte.\n </p>\n </Panel>\n </Split>\n <Split title={\"Campionamento\"}>\n <Panel title={\"Campione\"}>\n <p>\n Sottoinsieme della <a href={\"#popolazione\"}>popolazione</a> che contiene gli oggetti che si sono osservati.\n </p>\n </Panel>\n <Panel title={<i>Simple random sample</i>}>\n <p>\n Campione di una data dimensione in cui qualsiasi selezione di <i>n</i> elementi ha la stessa probabilità di costituire il campione.\n </p>\n </Panel>\n <Panel title={<i>Sample of convenience</i>}>\n <p>\n Campione ottenuto in un modo casuale non ben definito.\n </p>\n </Panel>\n <Panel title={<i>Sample with replacement</i>}>\n <p>\n Campione ottenuto sostituendo nella popolazione gli elementi estratti con dei nuovi elementi.\n </p>\n <p>\n Dire che un campione è ottenuto <i>with replacement</i> è equivalente a dire che la popolazione che si sta campionando è infinita, e quindi che tutti gli elementi sono indipendenti.\n </p>\n </Panel>\n <Panel title={\"Campione pesato\"}>\n <p>\n Campione ottenuto da una popolazione in cui certi elementi hanno più probabilità di essere stati selezionati di altri.\n </p>\n </Panel>\n <Panel title={<i>Stratified random sample</i>}>\n <p>\n Campione ottenuto da un sottoinsieme della popolazione detto <i>strato</i>.\n </p>\n </Panel>\n <Panel title={<i>Cluster sample</i>}>\n <p>\n Campione ottenuto selezionando più <i>cluster</i> di elementi alla volta.\n </p>\n </Panel>\n </Split>\n <Split>\n <Panel title={<i>Sampling variation</i>}>\n <p>\n Differenza di informazioni presente tra due campioni diversi della stessa popolazione.\n </p>\n </Panel>\n <Panel title={\"Indipendenza\"}>\n <p>\n Gli elementi in un campione sono indipendenti se gli elementi estratti in precedenza non influsicono <small>significativamente</small> sulle probabilità di estrazione dell'elemento successivo.\n </p>\n </Panel>\n </Split>\n <Split title={\"Tipi di prove sperimentali\"}>\n <Panel title={\"A campione singolo\"}>\n <p>\n Esperimento in cui c'è una sola popolazione da cui vengono estratti campioni.\n </p>\n <p>\n Serve per verificare delle condizioni.\n </p>\n </Panel>\n <Panel title={\"Multicampione\"}>\n <p>\n Esperimento in cui sono presenti più popolazioni (aventi caratteristiche differenti una dall'altra dette <i>fattori</i>) da cui vengono estratti campioni.\n </p>\n <p>\n Serve per capire quali fattori influenzano il risultato dell'esperimento.\n </p>\n </Panel>\n </Split>\n <Split title={\"Tipi di dato\"}>\n <Panel title={<span>Numerico<small> o quantitativo</small></span>}>\n Il dato descrive un valore numerico relativo all'elemento, come ad esempio una quantità fisica.\n </Panel>\n <Panel title={<span>Categorico<small> o qualitativo</small></span>}>\n Il dato indica una categoria a cui appartiene l'elemento, come ad esempio il suo colore.\n </Panel>\n </Split>\n */\n return Object(preact_min[\"h\"])(\n 'div',\n { style: statistica_default.a.statistica },\n statistica__ref,\n Object(preact_min[\"h\"])(\n split_Split,\n { title: \"Tipi di probabilità\" },\n Object(preact_min[\"h\"])(\n panel_Panel,\n { title: \"Classica\" },\n Object(preact_min[\"h\"])(\n 'p',\n null,\n Object(preact_min[\"h\"])(\n latex_Latex,\n null,\n statistica_r(statistica__templateObject)\n )\n )\n ),\n Object(preact_min[\"h\"])(\n panel_Panel,\n { title: \"Frequentista\" },\n Object(preact_min[\"h\"])(\n 'p',\n null,\n Object(preact_min[\"h\"])(\n latex_Latex,\n null,\n statistica_r(statistica__templateObject2)\n )\n )\n ),\n statistica__ref2\n ),\n Object(preact_min[\"h\"])(\n split_Split,\n { title: \"Linguaggio matematico\" },\n Object(preact_min[\"h\"])(\n panel_Panel,\n { title: \"Spazio campionario\" },\n statistica__ref3,\n statistica__ref4,\n Object(preact_min[\"h\"])(\n 'p',\n null,\n Object(preact_min[\"h\"])(\n latex_Latex,\n null,\n statistica_r(statistica__templateObject3)\n )\n )\n ),\n Object(preact_min[\"h\"])(\n panel_Panel,\n { title: \"Esito\" },\n statistica__ref5,\n statistica__ref6,\n Object(preact_min[\"h\"])(\n 'p',\n null,\n Object(preact_min[\"h\"])(\n latex_Latex,\n null,\n statistica_r(statistica__templateObject4)\n )\n )\n ),\n Object(preact_min[\"h\"])(\n panel_Panel,\n { title: \"Evento\" },\n statistica__ref7,\n statistica__ref8,\n Object(preact_min[\"h\"])(\n 'p',\n null,\n Object(preact_min[\"h\"])(\n latex_Latex,\n null,\n statistica_r(statistica__templateObject5)\n )\n ),\n statistica__ref9\n ),\n Object(preact_min[\"h\"])(\n panel_Panel,\n { title: \"Not\" },\n statistica__ref10,\n statistica__ref11,\n Object(preact_min[\"h\"])(\n 'p',\n null,\n Object(preact_min[\"h\"])(\n latex_Latex,\n null,\n statistica_r(statistica__templateObject6)\n )\n )\n ),\n Object(preact_min[\"h\"])(\n panel_Panel,\n { title: \"And\" },\n statistica__ref12,\n statistica__ref13,\n Object(preact_min[\"h\"])(\n 'p',\n null,\n Object(preact_min[\"h\"])(\n latex_Latex,\n null,\n statistica_r(statistica__templateObject7)\n )\n )\n ),\n Object(preact_min[\"h\"])(\n panel_Panel,\n { title: \"Or\" },\n statistica__ref14,\n statistica__ref15,\n Object(preact_min[\"h\"])(\n 'p',\n null,\n Object(preact_min[\"h\"])(\n latex_Latex,\n null,\n statistica_r(statistica__templateObject8)\n )\n )\n ),\n Object(preact_min[\"h\"])(\n panel_Panel,\n { title: \"Differenza\" },\n statistica__ref16,\n Object(preact_min[\"h\"])(\n 'p',\n null,\n Object(preact_min[\"h\"])(\n latex_Latex,\n null,\n statistica_r(statistica__templateObject9)\n )\n )\n ),\n Object(preact_min[\"h\"])(\n panel_Panel,\n { title: \"Implicazione\" },\n statistica__ref17,\n statistica__ref18,\n Object(preact_min[\"h\"])(\n 'p',\n null,\n Object(preact_min[\"h\"])(\n latex_Latex,\n null,\n statistica_r(statistica__templateObject10)\n )\n ),\n statistica__ref19\n ),\n Object(preact_min[\"h\"])(\n panel_Panel,\n { title: \"Evento impossibile\" },\n statistica__ref20,\n statistica__ref21,\n Object(preact_min[\"h\"])(\n 'p',\n null,\n Object(preact_min[\"h\"])(\n latex_Latex,\n null,\n statistica_r(statistica__templateObject11)\n )\n )\n ),\n Object(preact_min[\"h\"])(\n panel_Panel,\n { title: \"Mutua esclusione\" },\n statistica__ref22,\n statistica__ref23,\n Object(preact_min[\"h\"])(\n 'p',\n null,\n Object(preact_min[\"h\"])(\n latex_Latex,\n null,\n statistica_r(statistica__templateObject12)\n )\n )\n )\n ),\n Object(preact_min[\"h\"])(\n split_Split,\n null,\n Object(preact_min[\"h\"])(\n panel_Panel,\n { title: \"Famiglia degli eventi\" },\n statistica__ref24,\n statistica__ref25,\n Object(preact_min[\"h\"])(\n 'p',\n null,\n Object(preact_min[\"h\"])(\n latex_Latex,\n null,\n statistica_r(statistica__templateObject13)\n )\n ),\n Object(preact_min[\"h\"])(\n 'p',\n null,\n 'Qualsiasi sottoinsieme appartenente a ',\n Object(preact_min[\"h\"])(\n latex_Latex,\n null,\n statistica_r(statistica__templateObject13)\n ),\n ' \\xE8 considerato un evento.'\n )\n ),\n Object(preact_min[\"h\"])(\n panel_Panel,\n { title: Object(preact_min[\"h\"])(\n 'span',\n null,\n Object(preact_min[\"h\"])(\n latex_Latex,\n null,\n statistica_r(statistica__templateObject14)\n ),\n '-algebra'\n ) },\n statistica__ref26,\n Object(preact_min[\"h\"])(\n 'p',\n null,\n 'Se la famiglia degli eventi soddisfa questi tre requisiti, allora viene detta ',\n Object(preact_min[\"h\"])(\n 'i',\n null,\n Object(preact_min[\"h\"])(\n latex_Latex,\n null,\n statistica_r(statistica__templateObject14)\n ),\n '-algebra'\n ),\n ':'\n ),\n Object(preact_min[\"h\"])(\n 'ol',\n null,\n Object(preact_min[\"h\"])(\n 'li',\n null,\n 'Lo spazio campionario \\xE8 un evento: ',\n Object(preact_min[\"h\"])(\n latex_Latex,\n null,\n statistica_r(statistica__templateObject15)\n )\n ),\n Object(preact_min[\"h\"])(\n 'li',\n null,\n 'Se un sottoinsieme \\xE8 un evento, allora anche il suo complementare lo \\xE8: ',\n Object(preact_min[\"h\"])(\n latex_Latex,\n null,\n statistica_r(statistica__templateObject16)\n )\n ),\n Object(preact_min[\"h\"])(\n 'li',\n null,\n 'Se due sottoinsiemi sono eventi, allora lo sono anche la loro unione e intersezione: ',\n Object(preact_min[\"h\"])(\n latex_Latex,\n null,\n statistica_r(statistica__templateObject17)\n )\n )\n ),\n Object(preact_min[\"h\"])(\n 'p',\n null,\n 'Un esempio: ',\n Object(preact_min[\"h\"])(\n latex_Latex,\n null,\n statistica_r(statistica__templateObject18)\n )\n )\n )\n ),\n Object(preact_min[\"h\"])(\n split_Split,\n null,\n Object(preact_min[\"h\"])(\n panel_Panel,\n { title: \"Partizione\" },\n statistica__ref27,\n statistica__ref28,\n statistica__ref29,\n Object(preact_min[\"h\"])(\n 'p',\n null,\n 'La partizione ',\n Object(preact_min[\"h\"])(\n latex_Latex,\n null,\n statistica_r(statistica__templateObject19)\n ),\n ' \\xE8 composta dagli eventi ',\n Object(preact_min[\"h\"])(\n latex_Latex,\n null,\n statistica_r(statistica__templateObject20)\n ),\n ', ',\n Object(preact_min[\"h\"])(\n latex_Latex,\n null,\n statistica_r(statistica__templateObject21)\n ),\n ', ',\n Object(preact_min[\"h\"])(\n latex_Latex,\n null,\n statistica_r(statistica__templateObject22)\n ),\n ', fino a ',\n Object(preact_min[\"h\"])(\n latex_Latex,\n null,\n statistica_r(statistica__templateObject23)\n ),\n '.'\n ),\n statistica__ref30\n )\n ),\n Object(preact_min[\"h\"])(\n split_Split,\n { title: \"Assiomi della probabilità\" },\n Object(preact_min[\"h\"])(\n panel_Panel,\n { title: \"Primo assioma della probabilità\" },\n statistica__ref31,\n Object(preact_min[\"h\"])(\n 'p',\n null,\n Object(preact_min[\"h\"])(\n latex_Latex,\n null,\n statistica_r(statistica__templateObject24)\n )\n )\n ),\n Object(preact_min[\"h\"])(\n panel_Panel,\n { title: \"Secondo assioma della probabilità\" },\n statistica__ref32,\n Object(preact_min[\"h\"])(\n 'p',\n null,\n Object(preact_min[\"h\"])(\n latex_Latex,\n null,\n statistica_r(statistica__templateObject25)\n )\n )\n ),\n Object(preact_min[\"h\"])(\n panel_Panel,\n { title: \"Terzo assioma della probabilità\" },\n statistica__ref33,\n Object(preact_min[\"h\"])(\n 'p',\n null,\n Object(preact_min[\"h\"])(\n latex_Latex,\n null,\n statistica_r(statistica__templateObject26)\n )\n )\n )\n ),\n Object(preact_min[\"h\"])(\n split_Split,\n { title: \"Conseguenze degli assiomi\" },\n Object(preact_min[\"h\"])(\n panel_Panel,\n { title: \"Probabilità di un evento negato\" },\n statistica__ref34,\n Object(preact_min[\"h\"])(\n 'p',\n null,\n Object(preact_min[\"h\"])(\n latex_Latex,\n null,\n statistica_r(statistica__templateObject27)\n )\n )\n ),\n Object(preact_min[\"h\"])(\n panel_Panel,\n { title: \"Probabilità di un evento incluso\" },\n statistica__ref35,\n Object(preact_min[\"h\"])(\n 'p',\n null,\n Object(preact_min[\"h\"])(\n latex_Latex,\n null,\n statistica_r(statistica__templateObject28)\n )\n )\n ),\n Object(preact_min[\"h\"])(\n panel_Panel,\n { title: \"Unione\" },\n statistica__ref36,\n Object(preact_min[\"h\"])(\n 'p',\n null,\n Object(preact_min[\"h\"])(\n latex_Latex,\n null,\n statistica_r(statistica__templateObject29)\n )\n ),\n statistica__ref37\n )\n ),\n Object(preact_min[\"h\"])(\n split_Split,\n { title: \"Spazi equiprobabili\" },\n Object(preact_min[\"h\"])(\n panel_Panel,\n { title: \"Cosa sono?\" },\n statistica__ref38,\n Object(preact_min[\"h\"])(\n 'p',\n null,\n Object(preact_min[\"h\"])(\n latex_Latex,\n null,\n statistica_r(statistica__templateObject30)\n )\n )\n ),\n statistica__ref39\n ),\n Object(preact_min[\"h\"])(\n split_Split,\n { title: \"Calcolo combinatorio\" },\n Object(preact_min[\"h\"])(\n panel_Panel,\n { title: \"Disposizioni\" },\n statistica__ref40,\n statistica__ref41,\n Object(preact_min[\"h\"])(\n 'p',\n null,\n Object(preact_min[\"h\"])(\n latex_Latex,\n null,\n statistica_r(statistica__templateObject31)\n )\n )\n ),\n Object(preact_min[\"h\"])(\n panel_Panel,\n { title: \"Disposizioni con ripetizione\" },\n statistica__ref42,\n statistica__ref43,\n Object(preact_min[\"h\"])(\n 'p',\n null,\n Object(preact_min[\"h\"])(\n latex_Latex,\n null,\n statistica_r(statistica__templateObject32)\n )\n )\n ),\n Object(preact_min[\"h\"])(\n panel_Panel,\n { title: \"Combinazioni\" },\n statistica__ref44,\n statistica__ref45,\n Object(preact_min[\"h\"])(\n 'p',\n null,\n Object(preact_min[\"h\"])(\n latex_Latex,\n null,\n statistica_r(statistica__templateObject33)\n )\n )\n ),\n Object(preact_min[\"h\"])(\n panel_Panel,\n { title: \"Combinazioni con ripetizione\" },\n statistica__ref46,\n statistica__ref47,\n Object(preact_min[\"h\"])(\n 'p',\n null,\n Object(preact_min[\"h\"])(\n latex_Latex,\n null,\n statistica_r(statistica__templateObject34)\n )\n )\n ),\n Object(preact_min[\"h\"])(\n panel_Panel,\n { title: \"Permutazioni\" },\n statistica__ref48,\n Object(preact_min[\"h\"])(\n 'p',\n null,\n Object(preact_min[\"h\"])(\n latex_Latex,\n null,\n statistica_r(statistica__templateObject35)\n )\n )\n )\n ),\n Object(preact_min[\"h\"])(\n split_Split,\n { title: \"Probabilità condizionata\" },\n Object(preact_min[\"h\"])(\n panel_Panel,\n { title: \"Eventi condizionati\" },\n statistica__ref49,\n statistica__ref50,\n Object(preact_min[\"h\"])(\n 'p',\n null,\n Object(preact_min[\"h\"])(\n latex_Latex,\n null,\n statistica_r(statistica__templateObject36)\n )\n ),\n statistica__ref51\n ),\n Object(preact_min[\"h\"])(\n panel_Panel,\n { title: \"Eventi mutualmente esclusivi\" },\n statistica__ref52,\n Object(preact_min[\"h\"])(\n 'p',\n null,\n Object(preact_min[\"h\"])(\n latex_Latex,\n null,\n statistica_r(statistica__templateObject37)\n )\n )\n )\n ),\n Object(preact_min[\"h\"])(\n split_Split,\n null,\n Object(preact_min[\"h\"])(\n panel_Panel,\n { title: \"Regola della catena\" },\n statistica__ref53,\n Object(preact_min[\"h\"])(\n 'p',\n null,\n Object(preact_min[\"h\"])(\n latex_Latex,\n null,\n statistica_r(statistica__templateObject38)\n )\n )\n )\n ),\n Object(preact_min[\"h\"])(\n split_Split,\n { title: \"Legge delle alternative\" },\n Object(preact_min[\"h\"])(\n theorem_Theorem,\n { title: \"Teorema\" },\n Object(preact_min[\"h\"])(\n hypothesis_Hypothesis,\n null,\n Object(preact_min[\"h\"])(\n 'ul',\n null,\n Object(preact_min[\"h\"])(\n 'li',\n null,\n statistica__ref54,\n ' ',\n statistica__ref55,\n ' di ',\n Object(preact_min[\"h\"])(\n latex_Latex,\n null,\n statistica_r(statistica__templateObject39)\n )\n ),\n Object(preact_min[\"h\"])(\n 'li',\n null,\n Object(preact_min[\"h\"])(\n latex_Latex,\n null,\n statistica_r(statistica__templateObject40)\n ),\n ' ',\n statistica__ref56,\n ' ',\n Object(preact_min[\"h\"])(\n latex_Latex,\n null,\n statistica_r(statistica__templateObject41)\n )\n )\n )\n ),\n Object(preact_min[\"h\"])(\n thesis_Thesis,\n null,\n statistica__ref57,\n Object(preact_min[\"h\"])(\n 'p',\n null,\n Object(preact_min[\"h\"])(\n latex_Latex,\n null,\n statistica_r(statistica__templateObject42)\n )\n )\n ),\n Object(preact_min[\"h\"])(\n proof_Proof,\n null,\n statistica__ref58,\n Object(preact_min[\"h\"])(\n 'p',\n null,\n Object(preact_min[\"h\"])(\n latex_Latex,\n null,\n statistica_r(statistica__templateObject43)\n )\n ),\n statistica__ref59,\n Object(preact_min[\"h\"])(\n 'p',\n null,\n Object(preact_min[\"h\"])(\n latex_Latex,\n null,\n statistica_r(statistica__templateObject44)\n )\n ),\n statistica__ref60,\n Object(preact_min[\"h\"])(\n 'p',\n null,\n Object(preact_min[\"h\"])(\n latex_Latex,\n null,\n statistica_r(statistica__templateObject45)\n )\n ),\n Object(preact_min[\"h\"])(\n 'p',\n null,\n 'Essendo ',\n statistica__ref61,\n ' una partizione di ',\n Object(preact_min[\"h\"])(\n latex_Latex,\n null,\n statistica_r(statistica__templateObject39)\n ),\n ', allora la unione di tutti gli eventi che la compongono riforma lo spazio campionario:'\n ),\n Object(preact_min[\"h\"])(\n 'p',\n null,\n Object(preact_min[\"h\"])(\n latex_Latex,\n null,\n statistica_r(statistica__templateObject46)\n )\n )\n )\n ),\n Object(preact_min[\"h\"])(\n panel_Panel,\n { title: \"Legge condizionata delle alternative\" },\n statistica__ref62,\n Object(preact_min[\"h\"])(\n 'p',\n null,\n Object(preact_min[\"h\"])(\n latex_Latex,\n null,\n statistica_r(statistica__templateObject47)\n )\n )\n ),\n Object(preact_min[\"h\"])(\n theorem_Theorem,\n { title: \"Formula di Bayes\" },\n Object(preact_min[\"h\"])(\n hypothesis_Hypothesis,\n null,\n Object(preact_min[\"h\"])(\n 'ul',\n null,\n Object(preact_min[\"h\"])(\n 'li',\n null,\n statistica__ref63,\n ' ',\n statistica__ref64,\n ' di ',\n Object(preact_min[\"h\"])(\n latex_Latex,\n null,\n statistica_r(statistica__templateObject39)\n )\n ),\n Object(preact_min[\"h\"])(\n 'li',\n null,\n Object(preact_min[\"h\"])(\n latex_Latex,\n null,\n statistica_r(statistica__templateObject40)\n ),\n ' ',\n statistica__ref65,\n ' ',\n Object(preact_min[\"h\"])(\n latex_Latex,\n null,\n statistica_r(statistica__templateObject41)\n )\n )\n )\n ),\n Object(preact_min[\"h\"])(\n thesis_Thesis,\n null,\n Object(preact_min[\"h\"])(\n 'p',\n null,\n Object(preact_min[\"h\"])(\n latex_Latex,\n null,\n statistica_r(statistica__templateObject48)\n )\n )\n ),\n Object(preact_min[\"h\"])(\n proof_Proof,\n null,\n statistica__ref66,\n statistica__ref67,\n Object(preact_min[\"h\"])(\n 'p',\n null,\n Object(preact_min[\"h\"])(\n latex_Latex,\n null,\n statistica_r(statistica__templateObject49)\n )\n ),\n statistica__ref68,\n Object(preact_min[\"h\"])(\n 'p',\n null,\n Object(preact_min[\"h\"])(\n latex_Latex,\n null,\n statistica_r(statistica__templateObject48)\n )\n ),\n statistica__ref69,\n Object(preact_min[\"h\"])(\n 'p',\n null,\n Object(preact_min[\"h\"])(\n latex_Latex,\n null,\n statistica_r(statistica__templateObject48)\n )\n )\n )\n )\n ),\n Object(preact_min[\"h\"])(\n split_Split,\n { title: \"Eventi indipendenti\" },\n Object(preact_min[\"h\"])(\n panel_Panel,\n { title: \"Due eventi indipendenti\" },\n statistica__ref70,\n statistica__ref71,\n statistica__ref72,\n Object(preact_min[\"h\"])(\n 'p',\n null,\n Object(preact_min[\"h\"])(\n latex_Latex,\n null,\n statistica_r(statistica__templateObject50)\n )\n )\n ),\n Object(preact_min[\"h\"])(\n panel_Panel,\n { title: \"Più eventi indipendenti\" },\n statistica__ref73,\n statistica__ref74,\n Object(preact_min[\"h\"])(\n 'p',\n null,\n Object(preact_min[\"h\"])(\n latex_Latex,\n null,\n statistica_r(statistica__templateObject51)\n )\n ),\n statistica__ref75\n ),\n statistica__ref76\n ),\n Object(preact_min[\"h\"])(\n split_Split,\n { title: \"Variabili aleatorie\" },\n Object(preact_min[\"h\"])(\n panel_Panel,\n { title: \"Variabile aleatoria\" },\n Object(preact_min[\"h\"])(\n 'p',\n null,\n 'Una funzione che fa corrispondere un numero reale a ogni possibile esito dello spazio campionario. ',\n Object(preact_min[\"h\"])(\n latex_Latex,\n null,\n statistica_r(statistica__templateObject52)\n ),\n '.'\n )\n ),\n Object(preact_min[\"h\"])(\n panel_Panel,\n { title: statistica__ref77 },\n Object(preact_min[\"h\"])(\n 'p',\n null,\n 'Ad ogni variabile aleatoria sono associati gli eventi ',\n Object(preact_min[\"h\"])(\n latex_Latex,\n null,\n statistica_r(statistica__templateObject53)\n ),\n ', che contengono tutti gli esiti a cui la variabile aleatoria associa un valore minore o uguale a ',\n statistica__ref78,\n '.'\n ),\n statistica__ref79,\n Object(preact_min[\"h\"])(\n 'p',\n null,\n Object(preact_min[\"h\"])(\n latex_Latex,\n null,\n statistica_r(statistica__templateObject54)\n )\n ),\n statistica__ref80\n ),\n statistica__ref81\n ),\n Object(preact_min[\"h\"])(\n split_Split,\n { title: \"Densità\" },\n Object(preact_min[\"h\"])(\n panel_Panel,\n { title: \"Funzione probabilità\" },\n Object(preact_min[\"h\"])(\n 'p',\n null,\n 'La ',\n statistica__ref82,\n ' ',\n Object(preact_min[\"h\"])(\n latex_Latex,\n null,\n statistica_r(statistica__templateObject55)\n ),\n ' di una variabile aleatoria ',\n statistica__ref83,\n ' ',\n statistica__ref84,\n ' \\xE8 la funzione che associa ad ogni esito la sua probabilit\\xE0:'\n ),\n Object(preact_min[\"h\"])(\n 'p',\n null,\n Object(preact_min[\"h\"])(\n latex_Latex,\n null,\n statistica_r(statistica__templateObject56)\n )\n )\n ),\n Object(preact_min[\"h\"])(\n panel_Panel,\n { title: \"Funzione densità\" },\n Object(preact_min[\"h\"])(\n 'p',\n null,\n 'La ',\n statistica__ref85,\n ' ',\n Object(preact_min[\"h\"])(\n latex_Latex,\n null,\n statistica_r(statistica__templateObject57)\n ),\n ' di una variabile aleatoria ',\n statistica__ref86,\n ' ',\n statistica__ref87,\n ' \\xE8 l\\'equivalente continuo della funzione probabilit\\xE0:'\n ),\n Object(preact_min[\"h\"])(\n 'p',\n null,\n Object(preact_min[\"h\"])(\n latex_Latex,\n null,\n statistica_r(statistica__templateObject58)\n )\n ),\n statistica__ref88,\n statistica__ref89\n )\n ),\n Object(preact_min[\"h\"])(\n split_Split,\n { title: \"Funzione di ripartizione\" },\n Object(preact_min[\"h\"])(\n panel_Panel,\n { title: \"Definizione\" },\n Object(preact_min[\"h\"])(\n 'p',\n null,\n 'Ogni variabile aleatoria ha una ',\n statistica__ref90,\n ' ',\n Object(preact_min[\"h\"])(\n latex_Latex,\n null,\n statistica_r(statistica__templateObject59)\n ),\n ' associata, che rappresenta la probabilit\\xE0 che la variabile aleatoria assuma un valore minore o uguale a ',\n statistica__ref91,\n ':'\n ),\n Object(preact_min[\"h\"])(\n 'p',\n null,\n 'Si pu\\xF2 dire che essa rappresenti la probabilit\\xE0 dell\\'evento ',\n Object(preact_min[\"h\"])(\n latex_Latex,\n null,\n statistica_r(statistica__templateObject60)\n ),\n ':'\n ),\n Object(preact_min[\"h\"])(\n 'p',\n null,\n Object(preact_min[\"h\"])(\n latex_Latex,\n null,\n statistica_r(statistica__templateObject61)\n )\n ),\n statistica__ref92\n ),\n Object(preact_min[\"h\"])(\n panel_Panel,\n { title: \"Proprietà della funzione\" },\n Object(preact_min[\"h\"])(\n 'ul',\n null,\n statistica__ref93,\n statistica__ref94,\n statistica__ref95,\n statistica__ref96,\n Object(preact_min[\"h\"])(\n 'li',\n null,\n '\\xC8 ',\n statistica__ref97,\n ': ',\n Object(preact_min[\"h\"])(\n latex_Latex,\n null,\n statistica_r(statistica__templateObject62)\n )\n )\n )\n ),\n Object(preact_min[\"h\"])(\n panel_Panel,\n { title: \"Probabilità di un valore\" },\n statistica__ref98,\n Object(preact_min[\"h\"])(\n 'p',\n null,\n Object(preact_min[\"h\"])(\n latex_Latex,\n null,\n statistica_r(statistica__templateObject63)\n )\n )\n )\n ),\n Object(preact_min[\"h\"])(\n split_Split,\n { title: \"Trasformazioni di variabili aleatorie\" },\n statistica__ref99,\n Object(preact_min[\"h\"])(\n panel_Panel,\n { title: \"Nel continuo (invertibile)\" },\n statistica__ref100,\n Object(preact_min[\"h\"])(\n 'p',\n null,\n Object(preact_min[\"h\"])(\n latex_Latex,\n null,\n statistica_r(statistica__templateObject64)\n )\n )\n ),\n statistica__ref101\n ),\n Object(preact_min[\"h\"])(\n split_Split,\n { title: \"Informazioni delle variabili aleatorie\" },\n Object(preact_min[\"h\"])(\n panel_Panel,\n { title: \"Media\" },\n statistica__ref102,\n Object(preact_min[\"h\"])(\n 'p',\n null,\n Object(preact_min[\"h\"])(\n latex_Latex,\n null,\n statistica_r(statistica__templateObject65)\n )\n ),\n statistica__ref103,\n Object(preact_min[\"h\"])(\n 'p',\n null,\n Object(preact_min[\"h\"])(\n latex_Latex,\n null,\n statistica_r(statistica__templateObject66)\n )\n ),\n statistica__ref104,\n Object(preact_min[\"h\"])(\n 'p',\n null,\n Object(preact_min[\"h\"])(\n latex_Latex,\n null,\n statistica_r(statistica__templateObject67)\n )\n )\n )\n ),\n Object(preact_min[\"h\"])(\n split_Split,\n null,\n statistica__ref105,\n Object(preact_min[\"h\"])(\n panel_Panel,\n { title: \"Quantili\" },\n Object(preact_min[\"h\"])(\n 'p',\n null,\n 'Il ',\n statistica__ref106,\n ' ',\n Object(preact_min[\"h\"])(\n latex_Latex,\n null,\n statistica_r(statistica__templateObject68)\n ),\n ' di ordine ',\n Object(preact_min[\"h\"])(\n latex_Latex,\n null,\n statistica_r(statistica__templateObject69)\n ),\n ' della variabile aleatoria ',\n statistica__ref107,\n ' \\xE8 il pi\\xF9 piccolo numero tale che:'\n ),\n Object(preact_min[\"h\"])(\n 'p',\n null,\n Object(preact_min[\"h\"])(\n latex_Latex,\n null,\n statistica_r(statistica__templateObject70)\n )\n ),\n statistica__ref108,\n Object(preact_min[\"h\"])(\n 'p',\n null,\n 'Il quantile di ordine 0.5 ',\n Object(preact_min[\"h\"])(\n latex_Latex,\n null,\n statistica_r(statistica__templateObject71)\n ),\n ' \\xE8 detto ',\n statistica__ref109,\n '.'\n ),\n Object(preact_min[\"h\"])(\n 'p',\n null,\n 'I quantili di ordine 0.25 ',\n Object(preact_min[\"h\"])(\n latex_Latex,\n null,\n statistica_r(statistica__templateObject72)\n ),\n ' e 0.75 ',\n Object(preact_min[\"h\"])(\n latex_Latex,\n null,\n statistica_r(statistica__templateObject73)\n ),\n ' sono detti ',\n statistica__ref110,\n '.'\n ),\n Object(preact_min[\"h\"])(\n 'p',\n null,\n 'I quantili di ordine ',\n Object(preact_min[\"h\"])(\n latex_Latex,\n null,\n statistica_r(statistica__templateObject74)\n ),\n ' sono detti ',\n statistica__ref111,\n '.'\n )\n ),\n Object(preact_min[\"h\"])(\n panel_Panel,\n { title: \"Varianza\" },\n statistica__ref112,\n Object(preact_min[\"h\"])(\n 'p',\n null,\n Object(preact_min[\"h\"])(\n latex_Latex,\n null,\n statistica_r(statistica__templateObject75)\n )\n )\n )\n ),\n Object(preact_min[\"h\"])(\n split_Split,\n { title: \"Disuguaglianze notevoli\" },\n Object(preact_min[\"h\"])(\n panel_Panel,\n { title: \"Disuguaglianza di Markov\" },\n statistica__ref113,\n Object(preact_min[\"h\"])(\n 'p',\n null,\n Object(preact_min[\"h\"])(\n latex_Latex,\n null,\n statistica_r(statistica__templateObject76)\n )\n )\n ),\n Object(preact_min[\"h\"])(\n panel_Panel,\n { title: \"Disuguaglianza di Čebyšëv\" },\n statistica__ref114,\n Object(preact_min[\"h\"])(\n 'p',\n null,\n 'Se la variabile aleatoria ',\n statistica__ref115,\n ' ha media e varianza, allora la probabilit\\xE0 che essa abbia un valore a pi\\xF9 di ',\n Object(preact_min[\"h\"])(\n latex_Latex,\n null,\n statistica_r(statistica__templateObject77)\n ),\n ' di distanza dal valore medio \\xE8 minore o uguale a ',\n Object(preact_min[\"h\"])(\n latex_Latex,\n null,\n statistica_r(statistica__templateObject78)\n ),\n '.'\n ),\n Object(preact_min[\"h\"])(\n 'p',\n null,\n Object(preact_min[\"h\"])(\n latex_Latex,\n null,\n statistica_r(statistica__templateObject79)\n )\n ),\n statistica__ref116\n )\n ),\n Object(preact_min[\"h\"])(\n split_Split,\n { title: \"Un momento...!\" },\n Object(preact_min[\"h\"])(\n panel_Panel,\n { title: \"Momento\" },\n statistica__ref117,\n Object(preact_min[\"h\"])(\n 'p',\n null,\n Object(preact_min[\"h\"])(\n latex_Latex,\n null,\n statistica_r(statistica__templateObject80)\n )\n ),\n statistica__ref118\n ),\n Object(preact_min[\"h\"])(\n panel_Panel,\n { title: \"Funzione generatrice dei momenti\" },\n statistica__ref119,\n Object(preact_min[\"h\"])(\n 'p',\n null,\n Object(preact_min[\"h\"])(\n latex_Latex,\n null,\n statistica_r(statistica__templateObject81)\n )\n ),\n statistica__ref120,\n statistica__ref121\n ),\n Object(preact_min[\"h\"])(\n panel_Panel,\n { title: \"Funzione caratteristica\" },\n statistica__ref122,\n Object(preact_min[\"h\"])(\n 'p',\n null,\n Object(preact_min[\"h\"])(\n latex_Latex,\n null,\n statistica_r(statistica__templateObject82)\n )\n ),\n statistica__ref123,\n statistica__ref124\n )\n ),\n Object(preact_min[\"h\"])(\n split_Split,\n { title: \"Prove e schemi\" },\n Object(preact_min[\"h\"])(\n panel_Panel,\n { title: \"Variabile con distribuzione\" },\n statistica__ref125,\n Object(preact_min[\"h\"])(\n 'p',\n null,\n Object(preact_min[\"h\"])(\n latex_Latex,\n null,\n statistica_r(statistica__templateObject83)\n )\n )\n ),\n statistica__ref126,\n statistica__ref127\n ),\n Object(preact_min[\"h\"])(\n split_Split,\n { title: \"Bernoulliana\" },\n Object(preact_min[\"h\"])(\n panel_Panel,\n { title: \"Distribuzione bernoulliana\" },\n statistica__ref128,\n statistica__ref129,\n Object(preact_min[\"h\"])(\n 'p',\n null,\n 'Il suo simbolo \\xE8 ',\n Object(preact_min[\"h\"])(\n latex_Latex,\n null,\n statistica_r(statistica__templateObject84)\n )\n )\n ),\n Object(preact_min[\"h\"])(\n panel_Panel,\n { title: \"Densità della bernoulliana\" },\n statistica__ref130,\n Object(preact_min[\"h\"])(\n 'p',\n null,\n Object(preact_min[\"h\"])(\n latex_Latex,\n null,\n statistica_r(statistica__templateObject85)\n )\n )\n )\n ),\n Object(preact_min[\"h\"])(\n split_Split,\n { title: \"Binomiale\" },\n Object(preact_min[\"h\"])(\n panel_Panel,\n { title: \"Distribuzione binomiale\" },\n statistica__ref131,\n Object(preact_min[\"h\"])(\n 'p',\n null,\n 'Il suo simbolo \\xE8 ',\n Object(preact_min[\"h\"])(\n latex_Latex,\n null,\n statistica_r(statistica__templateObject86)\n ),\n '.'\n )\n ),\n Object(preact_min[\"h\"])(\n panel_Panel,\n { title: \"Densità della binomiale\" },\n statistica__ref132,\n Object(preact_min[\"h\"])(\n 'p',\n null,\n Object(preact_min[\"h\"])(\n latex_Latex,\n null,\n statistica_r(statistica__templateObject87)\n )\n )\n ),\n Object(preact_min[\"h\"])(\n panel_Panel,\n { title: \"Momenti della binomiale\" },\n statistica__ref133,\n Object(preact_min[\"h\"])(\n 'p',\n null,\n Object(preact_min[\"h\"])(\n latex_Latex,\n null,\n statistica_r(statistica__templateObject88)\n )\n ),\n statistica__ref134,\n Object(preact_min[\"h\"])(\n 'p',\n null,\n Object(preact_min[\"h\"])(\n latex_Latex,\n null,\n statistica_r(statistica__templateObject89)\n )\n ),\n statistica__ref135,\n Object(preact_min[\"h\"])(\n 'p',\n null,\n Object(preact_min[\"h\"])(\n latex_Latex,\n null,\n statistica_r(statistica__templateObject90)\n )\n )\n )\n ),\n Object(preact_min[\"h\"])(\n split_Split,\n { title: \"Geometrica\" },\n statistica__ref136,\n Object(preact_min[\"h\"])(\n panel_Panel,\n { title: \"Densità della geometrica\" },\n statistica__ref137,\n Object(preact_min[\"h\"])(\n 'p',\n null,\n Object(preact_min[\"h\"])(\n latex_Latex,\n null,\n statistica_r(statistica__templateObject91)\n )\n )\n ),\n Object(preact_min[\"h\"])(\n panel_Panel,\n { title: \"Momenti della geometrica\" },\n statistica__ref138,\n Object(preact_min[\"h\"])(\n 'p',\n null,\n Object(preact_min[\"h\"])(\n latex_Latex,\n null,\n statistica_r(statistica__templateObject92)\n )\n ),\n statistica__ref139,\n Object(preact_min[\"h\"])(\n 'p',\n null,\n Object(preact_min[\"h\"])(\n latex_Latex,\n null,\n statistica_r(statistica__templateObject93)\n )\n ),\n statistica__ref140,\n Object(preact_min[\"h\"])(\n 'p',\n null,\n Object(preact_min[\"h\"])(\n latex_Latex,\n null,\n statistica_r(statistica__templateObject94)\n )\n )\n ),\n statistica__ref141\n ),\n Object(preact_min[\"h\"])(\n split_Split,\n { title: \"Binomiale negativa\" },\n Object(preact_min[\"h\"])(\n panel_Panel,\n { title: \"Distribuzione binomiale negativa\" },\n statistica__ref142,\n Object(preact_min[\"h\"])(\n 'p',\n null,\n 'Il suo simbolo \\xE8 ',\n Object(preact_min[\"h\"])(\n latex_Latex,\n null,\n statistica_r(statistica__templateObject95)\n ),\n '.'\n )\n ),\n Object(preact_min[\"h\"])(\n panel_Panel,\n { title: \"Densità della binomiale negativa\" },\n statistica__ref143,\n Object(preact_min[\"h\"])(\n 'p',\n null,\n Object(preact_min[\"h\"])(\n latex_Latex,\n null,\n statistica_r(statistica__templateObject96)\n )\n )\n ),\n Object(preact_min[\"h\"])(\n panel_Panel,\n { title: \"Momenti della binomiale negativa\" },\n Object(preact_min[\"h\"])(\n 'p',\n null,\n statistica__ref144,\n Object(preact_min[\"h\"])(\n 'p',\n null,\n Object(preact_min[\"h\"])(\n latex_Latex,\n null,\n statistica_r(statistica__templateObject97)\n )\n ),\n statistica__ref145,\n Object(preact_min[\"h\"])(\n 'p',\n null,\n Object(preact_min[\"h\"])(\n latex_Latex,\n null,\n statistica_r(statistica__templateObject98)\n )\n ),\n statistica__ref146,\n Object(preact_min[\"h\"])(\n 'p',\n null,\n Object(preact_min[\"h\"])(\n latex_Latex,\n null,\n statistica_r(statistica__templateObject99)\n )\n )\n )\n )\n ),\n Object(preact_min[\"h\"])(\n split_Split,\n { title: \"Geometrica traslata\" },\n Object(preact_min[\"h\"])(\n panel_Panel,\n { title: \"Distribuzione geometrica traslata\" },\n statistica__ref147,\n Object(preact_min[\"h\"])(\n 'p',\n null,\n 'Il suo simbolo rimane ',\n Object(preact_min[\"h\"])(\n latex_Latex,\n null,\n statistica_r(statistica__templateObject100)\n ),\n '.'\n )\n ),\n Object(preact_min[\"h\"])(\n panel_Panel,\n { title: \"Densità della geometrica tralsata\" },\n statistica__ref148,\n Object(preact_min[\"h\"])(\n 'p',\n null,\n Object(preact_min[\"h\"])(\n latex_Latex,\n null,\n statistica_r(statistica__templateObject101)\n )\n )\n ),\n Object(preact_min[\"h\"])(\n panel_Panel,\n { title: \"Momenti della geometrica traslata\" },\n statistica__ref149,\n Object(preact_min[\"h\"])(\n 'p',\n null,\n Object(preact_min[\"h\"])(\n latex_Latex,\n null,\n statistica_r(statistica__templateObject102)\n )\n ),\n statistica__ref150,\n Object(preact_min[\"h\"])(\n 'p',\n null,\n Object(preact_min[\"h\"])(\n latex_Latex,\n null,\n statistica_r(statistica__templateObject103)\n )\n ),\n statistica__ref151,\n Object(preact_min[\"h\"])(\n 'p',\n null,\n Object(preact_min[\"h\"])(\n latex_Latex,\n null,\n statistica_r(statistica__templateObject94)\n )\n )\n ),\n statistica__ref152\n ),\n Object(preact_min[\"h\"])(\n split_Split,\n { title: \"Binomiale negativa traslata\" },\n Object(preact_min[\"h\"])(\n panel_Panel,\n { title: \"Distribuzione binomiale negativa traslata\" },\n statistica__ref153,\n Object(preact_min[\"h\"])(\n 'p',\n null,\n 'Il suo simbolo rimane ',\n Object(preact_min[\"h\"])(\n latex_Latex,\n null,\n statistica_r(statistica__templateObject95)\n ),\n '.'\n )\n ),\n Object(preact_min[\"h\"])(\n panel_Panel,\n { title: \"Densità della binomiale negativa traslata\" },\n statistica__ref154,\n Object(preact_min[\"h\"])(\n 'p',\n null,\n Object(preact_min[\"h\"])(\n latex_Latex,\n null,\n statistica_r(statistica__templateObject104)\n )\n )\n ),\n Object(preact_min[\"h\"])(\n panel_Panel,\n { title: \"Momenti della binomiale negativa traslata\" },\n Object(preact_min[\"h\"])(\n 'p',\n null,\n statistica__ref155,\n Object(preact_min[\"h\"])(\n 'p',\n null,\n Object(preact_min[\"h\"])(\n latex_Latex,\n null,\n statistica_r(statistica__templateObject105)\n )\n ),\n statistica__ref156,\n Object(preact_min[\"h\"])(\n 'p',\n null,\n Object(preact_min[\"h\"])(\n latex_Latex,\n null,\n statistica_r(statistica__templateObject106)\n )\n ),\n statistica__ref157,\n Object(preact_min[\"h\"])(\n 'p',\n null,\n Object(preact_min[\"h\"])(\n latex_Latex,\n null,\n statistica_r(statistica__templateObject99)\n )\n )\n )\n )\n ),\n statistica__ref158\n );\n };\n\n return Statistica;\n}(preact_min[\"Component\"]);\n\n\n// CONCATENATED MODULE: ./index.js\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return App; });\n\n\nfunction index__classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction index__possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction index__inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\n\n\n\n\n\n\n\n\n\n\n\n// noinspection JSUnusedGlobalSymbols\n\nvar index__ref = Object(preact_min[\"h\"])(\n\t'div',\n\t{ id: 'app' },\n\tObject(preact_min[\"h\"])(\n\t\t'h1',\n\t\tnull,\n\t\tObject(preact_min[\"h\"])(\n\t\t\t'a',\n\t\t\t{ href: '/' },\n\t\t\t'Appuntiweb'\n\t\t),\n\t\t' ',\n\t\tObject(preact_min[\"h\"])(\n\t\t\t'small',\n\t\t\tnull,\n\t\t\t'di ',\n\t\t\tObject(preact_min[\"h\"])(\n\t\t\t\t'a',\n\t\t\t\t{ href: 'https://steffo.eu/' },\n\t\t\t\t'Steffo'\n\t\t\t)\n\t\t)\n\t),\n\tObject(preact_min[\"h\"])(\n\t\tpreact_router_es,\n\t\tnull,\n\t\tObject(preact_min[\"h\"])(home_Home, { path: '/' }),\n\t\tObject(preact_min[\"h\"])(fisica_Fisica, { path: '/fisica' }),\n\t\tObject(preact_min[\"h\"])(vldigeometria_VlDiGeometria, { path: '/vldigeometria' }),\n\t\tObject(preact_min[\"h\"])(mingwinstall_MingwInstall, { path: '/mingwinstall' }),\n\t\tObject(preact_min[\"h\"])(statistica_Statistica, { path: '/statistica' })\n\t),\n\tObject(preact_min[\"h\"])(copyright_Copyright, null)\n);\n\nvar App = function (_Component) {\n\tindex__inherits(App, _Component);\n\n\tfunction App() {\n\t\tindex__classCallCheck(this, App);\n\n\t\treturn index__possibleConstructorReturn(this, _Component.apply(this, arguments));\n\t}\n\n\tApp.prototype.render = function render() {\n\t\treturn index__ref;\n\t};\n\n\treturn App;\n}(preact_min[\"Component\"]);\n\n\n\n/***/ }),\n\n/***/ \"KM04\":\n/***/ (function(module, exports, __webpack_require__) {\n\n!function () {\n \"use strict\";\n function e(e, t) {\n var n,\n o,\n r,\n i,\n l = W;for (i = arguments.length; i-- > 2;) {\n P.push(arguments[i]);\n }t && null != t.children && (P.length || P.push(t.children), delete t.children);while (P.length) {\n if ((o = P.pop()) && void 0 !== o.pop) for (i = o.length; i--;) {\n P.push(o[i]);\n } 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;\n }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;\n }function t(e, t) {\n for (var n in t) {\n e[n] = t[n];\n }return e;\n }function n(e, t) {\n e && (\"function\" == typeof e ? e(t) : e.current = t);\n }function o(n, o) {\n return e(n.nodeName, t(t({}, n.attributes), o), arguments.length > 2 ? [].slice.call(arguments, 2) : n.children);\n }function r(e) {\n !e.__d && (e.__d = !0) && 1 == V.push(e) && (M.debounceRendering || D)(i);\n }function i() {\n var e;while (e = V.pop()) {\n e.__d && x(e);\n }\n }function l(e, t, n) {\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;\n }function a(e, t) {\n return e.__n === t || e.nodeName.toLowerCase() === t.toLowerCase();\n }function u(e) {\n var n = t({}, e.attributes);n.children = e.children;var o = e.nodeName.defaultProps;if (void 0 !== o) for (var r in o) {\n void 0 === n[r] && (n[r] = o[r]);\n }return n;\n }function c(e, t) {\n var n = t ? document.createElementNS(\"http://www.w3.org/2000/svg\", e) : document.createElement(e);return n.__n = e, n;\n }function p(e) {\n var t = e.parentNode;t && t.removeChild(e);\n }function s(e, t, o, r, i) {\n if (\"className\" === t && (t = \"class\"), \"key\" === t) ;else if (\"ref\" === t) n(o, null), n(r, e);else if (\"class\" !== t || i) {\n if (\"style\" === t) {\n if (r && \"string\" != typeof r && \"string\" != typeof o || (e.style.cssText = r || \"\"), r && \"object\" == typeof r) {\n if (\"string\" != typeof o) for (var l in o) {\n l in r || (e.style[l] = \"\");\n }for (var l in r) {\n e.style[l] = \"number\" == typeof r[l] && !1 === E.test(l) ? r[l] + \"px\" : r[l];\n }\n }\n } else if (\"dangerouslySetInnerHTML\" === t) r && (e.innerHTML = r.__html || \"\");else if (\"o\" == t[0] && \"n\" == t[1]) {\n 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;\n } else if (\"list\" !== t && \"type\" !== t && !i && t in e) {\n try {\n e[t] = null == r ? \"\" : r;\n } catch (e) {}null != r && !1 !== r || \"spellcheck\" == t || e.removeAttribute(t);\n } else {\n 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));\n }\n } else e.className = r || \"\";\n }function _(e) {\n return this.__l[e.type](M.event && M.event(e) || e);\n }function f() {\n var e;while (e = A.shift()) {\n M.afterMount && M.afterMount(e), e.componentDidMount && e.componentDidMount();\n }\n }function d(e, t, n, o, r, i) {\n 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;\n }function h(e, t, n, o, r) {\n var i = e,\n 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)) {\n while (e.firstChild) {\n i.appendChild(e.firstChild);\n }e.parentNode && e.parentNode.replaceChild(i, e), v(e, !0);\n }var p = i.firstChild,\n s = i.__preactattr_,\n _ = t.children;if (null == s) {\n s = i.__preactattr_ = {};for (var f = i.attributes, d = f.length; d--;) {\n s[f[d].name] = f[d].value;\n }\n }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;\n }function m(e, t, n, o, r) {\n var i,\n a,\n u,\n c,\n s,\n _ = e.childNodes,\n f = [],\n d = {},\n m = 0,\n b = 0,\n y = _.length,\n g = 0,\n w = t ? t.length : 0;if (0 !== y) for (var C = 0; C < y; C++) {\n var x = _[C],\n N = x.__preactattr_,\n 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);\n }if (0 !== w) for (var C = 0; C < w; C++) {\n 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++) {\n if (void 0 !== f[i] && l(a = f[i], c, r)) {\n s = a, f[i] = void 0, i === g - 1 && g--, i === b && b++;break;\n }\n }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));\n }if (m) for (var C in d) {\n void 0 !== d[C] && v(d[C], !1);\n }while (b <= g) {\n void 0 !== (s = f[g--]) && v(s, !1);\n }\n }function v(e, t) {\n var o = e._component;o ? k(o) : (null != e.__preactattr_ && n(e.__preactattr_.ref, null), !1 !== t && null != e.__preactattr_ || p(e), b(e));\n }function b(e) {\n e = e.lastChild;while (e) {\n var t = e.previousSibling;v(e, !0), e = t;\n }\n }function y(e, t, n) {\n var o;for (o in n) {\n t && null != t[o] || null == n[o] || s(e, o, n[o], n[o] = void 0, R);\n }for (o in t) {\n \"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);\n }\n }function g(e, t, n) {\n var o,\n 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--) {\n if (F[r].constructor === e) return o.__b = F[r].__b, F.splice(r, 1), o;\n }return o;\n }function w(e, t, n) {\n return this.constructor(e, n);\n }function C(e, t, o, i, l) {\n 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));\n }function x(e, n, o, r) {\n if (!e.__x) {\n var i,\n l,\n a,\n c = e.props,\n p = e.state,\n s = e.context,\n _ = e.__p || c,\n h = e.__s || p,\n m = e.__c || s,\n b = e.base,\n y = e.__b,\n w = b || y,\n N = e._component,\n U = !1,\n 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) {\n i = e.render(c, p, s), e.getChildContext && (s = t(t({}, s), e.getChildContext())), b && e.getSnapshotBeforeUpdate && (S = e.getSnapshotBeforeUpdate(_, h));var L,\n T,\n P = i && i.nodeName;if (\"function\" == typeof P) {\n 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;\n } 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) {\n var D = w.parentNode;D && T !== D && (D.replaceChild(T, w), L || (w._component = null, v(w, !1)));\n }if (L && k(L), e.base = T, T && !r) {\n var E = e,\n V = e;while (V = V.__u) {\n (E = V).base = T;\n }T._component = E, T._componentConstructor = E.constructor;\n }\n }!b || o ? A.push(e) : U || (e.componentDidUpdate && e.componentDidUpdate(_, h, S), M.afterUpdate && M.afterUpdate(e));while (e.__h.length) {\n e.__h.pop().call(e);\n }H || r || f();\n }\n }function N(e, t, n, o) {\n var r = e && e._component,\n i = r,\n l = e,\n a = r && e._componentConstructor === t.nodeName,\n c = a,\n p = u(t);while (r && !c && (r = r.__u)) {\n c = r.constructor === t.nodeName;\n }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;\n }function k(e) {\n 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);\n }function U(e, t) {\n this.__d = !0, this.context = t, this.props = e, this.state = this.state || {}, this.__h = [];\n }function S(e, t, n) {\n return d(n, e, {}, !1, t, !1);\n }function L() {\n return {};\n }var T = function T() {},\n M = {},\n P = [],\n W = [],\n D = \"function\" == typeof Promise ? Promise.resolve().then.bind(Promise.resolve()) : setTimeout,\n E = /acit|ex(?:s|g|n|p|$)|rph|ows|mnc|ntw|ine[ch]|zoo|^ord/i,\n V = [],\n A = [],\n H = 0,\n R = !1,\n B = !1,\n F = [];t(U.prototype, { setState: function setState(e, n) {\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);\n }, forceUpdate: function forceUpdate(e) {\n e && this.__h.push(e), x(this, 2);\n }, render: function render() {} });var j = { h: e, createElement: e, cloneElement: o, createRef: L, Component: U, render: S, rerender: i, options: M }; true ? module.exports = j : self.preact = j;\n}();\n//# sourceMappingURL=preact.min.js.map\n\n/***/ }),\n\n/***/ \"MKE3\":\n/***/ (function(module, exports) {\n\n// removed by extract-text-webpack-plugin\nmodule.exports = {\"markdown\":\"markdown__2fpjQ\"};\n\n/***/ }),\n\n/***/ \"MeW5\":\n/***/ (function(module, exports) {\n\n// removed by extract-text-webpack-plugin\nmodule.exports = {\"minus\":\"minus__2d_8r\"};\n\n/***/ }),\n\n/***/ \"Oqef\":\n/***/ (function(module, exports) {\n\n// removed by extract-text-webpack-plugin\n\n/***/ }),\n\n/***/ \"P9k+\":\n/***/ (function(module, exports) {\n\n// removed by extract-text-webpack-plugin\nmodule.exports = {\"panel\":\"panel__22fOQ\"};\n\n/***/ }),\n\n/***/ \"WViY\":\n/***/ (function(module, exports) {\n\n// removed by extract-text-webpack-plugin\n\n/***/ }),\n\n/***/ \"Xa+Z\":\n/***/ (function(module, exports) {\n\n// removed by extract-text-webpack-plugin\nmodule.exports = {\"example\":\"example__2CnC8\"};\n\n/***/ }),\n\n/***/ \"ZcXo\":\n/***/ (function(module, exports) {\n\nmodule.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/***/ \"ddTt\":\n/***/ (function(module, exports) {\n\n// removed by extract-text-webpack-plugin\nmodule.exports = {\"plus\":\"plus__1JPyf\"};\n\n/***/ }),\n\n/***/ \"jHTF\":\n/***/ (function(module, exports) {\n\n// removed by extract-text-webpack-plugin\n\n/***/ }),\n\n/***/ \"oNmJ\":\n/***/ (function(module, exports) {\n\n// removed by extract-text-webpack-plugin\nmodule.exports = {\"theorem\":\"theorem__yukmA\"};\n\n/***/ }),\n\n/***/ \"pRAn\":\n/***/ (function(module, exports) {\n\n// removed by extract-text-webpack-plugin\nmodule.exports = {\"hypothesis\":\"hypothesis__Ma0m3\"};\n\n/***/ }),\n\n/***/ \"pwNi\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar _preact = __webpack_require__(\"KM04\");\n\nif (false) {\n\trequire('preact/devtools');\n} else if (true && 'serviceWorker' in navigator && location.protocol === 'https:') {\n\tnavigator.serviceWorker.register(__webpack_require__.p + 'sw.js');\n}\n\nvar interopDefault = function interopDefault(m) {\n\treturn m && m.default ? m.default : m;\n};\n\nvar app = interopDefault(__webpack_require__(\"JkW7\"));\n\nif (typeof app === 'function') {\n\tvar root = document.body.firstElementChild;\n\n\tvar init = function init() {\n\t\tvar app = interopDefault(__webpack_require__(\"JkW7\"));\n\t\troot = (0, _preact.render)((0, _preact.h)(app), document.body, root);\n\t};\n\n\tif (false) module.hot.accept('preact-cli-entrypoint', init);\n\n\tinit();\n}\n\n/***/ }),\n\n/***/ \"qMTX\":\n/***/ (function(module, exports) {\n\n// removed by extract-text-webpack-plugin\nmodule.exports = {\"copyright\":\"copyright__TBGn1\"};\n\n/***/ }),\n\n/***/ \"tO1d\":\n/***/ (function(module, exports) {\n\n// removed by extract-text-webpack-plugin\nmodule.exports = {\"todo\":\"todo__5Soco\"};\n\n/***/ }),\n\n/***/ \"xHuH\":\n/***/ (function(module, exports) {\n\n// removed by extract-text-webpack-plugin\n\n/***/ })\n\n/******/ });\n\n\n// WEBPACK FOOTER //\n// bundle.8b2a9.js"," \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 = \"pwNi\");\n\n\n\n// WEBPACK FOOTER //\n// webpack/bootstrap 6d853fba75161583c80b","// removed by extract-text-webpack-plugin\nmodule.exports = {\"latex\":\"latex__34DCT\"};\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./components/latex.css\n// module id = +uq9\n// module chunks = 0","// removed by extract-text-webpack-plugin\nmodule.exports = {\"split\":\"split__2Bl8C\",\"splitparent\":\"splitparent__nqY7W\",\"splitchild\":\"splitchild__3Ip86\"};\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./components/split.css\n// module id = 1EpE\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","// removed by extract-text-webpack-plugin\nmodule.exports = {\"thesis\":\"thesis__3uAQ4\"};\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./components/thesis.css\n// module id = J9SO\n// module chunks = 0","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\tgetStyle() {\n\t\treturn style.panel;\n\t};\n\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\n\t\treturn (\n\t\t\t<div class={this.getStyle()} id={this.props.id}>\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\";\r\nimport { Component } from 'preact';\r\n\r\nexport default class Todo extends Component {\r\n\trender() {\r\n\t\treturn <span class={style.todo}>{this.props.children}</span>;\r\n\t}\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./components/todo.js","import style from './home.css'\r\nimport { Component } from 'preact';\r\nimport Panel from '../components/panel';\r\nimport Split from '../components/split';\r\nimport Todo from '../components/todo';\r\n\r\nexport default class Home extends Component {\r\n render() {\r\n return (\r\n <div style={style.home}>\r\n <h1>Indice</h1>\r\n <Split title=\"Argomenti\">\r\n <Panel title={<a href=\"/statistica\">Statistica ed elementi di probabilità</a>}>\r\n <p>\r\n Appunti scritti mentre studiavo per l'esame di <a href={\"http://personale.unimore.it/rubrica/contenutiad/llarocca/2019/58028/N0/N0/9999\"}>Statistica ed elementi di probabilità</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> del Prof. <a href={\"http://personale.unimore.it/rubrica/dettaglio/llarocca\"}>Luca La Rocca</a>.\r\n </p>\r\n <p>\r\n <Todo>TODO: è ancora incompleto!</Todo>\r\n </p>\r\n </Panel>\r\n <Panel title={<a href=\"https://github.com/Steffo99/cleaver\">Cleaver</a>}>\r\n <p>\r\n Progetto in Java sviluppato per l'esame di <a href=\"http://personale.unimore.it/rubrica/contenutiad/gcabri/2019/58026/N0/N0/9999\">Programmazione ad Oggetti</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>, tenuto dai Prof. <a href=\"http://personale.unimore.it/rubrica/dettaglio/gcabri\">Giacomo Cabri</a> e <a href=\"http://personale.unimore.it/Rubrica/Dettaglio/n.capodieci\">Nicola Capodieci</a>.\r\n </p>\r\n </Panel>\r\n <Panel title={<a href=\"/fisica\">Fisica</a>}>\r\n <p>\r\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.\r\n </p>\r\n </Panel>\r\n <Panel title={<a href=\"https://github.com/Steffo99/appunti-universitari/tree/master/2019_SistemiOperativi/Arzigogoli\">Sistemi Operativi</a>}>\r\n <p>\r\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.\r\n </p>\r\n </Panel>\r\n <Panel title={<a href=\"https://github.com/Steffo99/appunti-universitari/tree/master/2018_AlgoritmiEStruttureDati\">Algoritmi e Strutture Dati</a>}>\r\n <p>\r\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.\r\n </p>\r\n </Panel>\r\n <Panel title={<a href=\"/vldigeometria\">Videolezioni di Geometria</a>}>\r\n <p>\r\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>.\r\n </p>\r\n </Panel>\r\n <Panel title={<a href=\"/mingwinstall\">Come installare MinGW</a>}>\r\n <p>\r\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.\r\n </p>\r\n </Panel>\r\n </Split>\r\n <Split title=\"Altri collegamenti utili\">\r\n <Panel title={<a href=\"https://t.me/unimoreinfo\">@unimoreinfo</a>}>\r\n <p>\r\n Il gruppo <a href=\"https://telegram.org/\">Telegram</a> del corso di Informatica dell'Unimore!\r\n </p>\r\n </Panel>\r\n <Panel title={<a href=\"https://calendar.google.com/calendar?cid=MmYza2o2M3VuZWQ1cmZqaGpmOGY0MWFrNmdAZ3JvdXAuY2FsZW5kYXIuZ29vZ2xlLmNvbQ\">Calendario Lezioni</a>}>\r\n <p>\r\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.\r\n </p>\r\n </Panel>\r\n <Panel title={<a href=\"http://erre2.fermitech.info/dashboard\">Erre2</a>}>\r\n <p>\r\n Portale contenente appunti e riassunti mantenuto da <a href=\"https://github.com/LBindustries\">Lorenzo Balugani</a>.\r\n </p>\r\n </Panel>\r\n <Panel title={<a href=\"https://github.com/vezzalinistefano/Appunti-Algoritmi\">vezzalinistefano/Appunti-Algoritmi</a>}>\r\n <p>\r\n Appunti di Algoritmi e Strutture Dati mantenuti da <a href=\"https://github.com/vezzalinistefano/\">Vezzalini Stefano</a>.\r\n </p>\r\n </Panel>\r\n </Split>\r\n </div>\r\n )\r\n }\r\n}\r\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\";\r\nimport { Component } from 'preact';\r\n\r\nexport default class Plus extends Component {\r\n\trender() {\r\n\t\treturn <span class={style.plus}>{this.props.children}</span>;\r\n\t}\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./components/plus.js","import style from \"./minus.css\";\r\nimport { Component } from 'preact';\r\n\r\nexport default class Minus extends Component {\r\n\trender() {\r\n\t\treturn <span class={style.minus}>{this.props.children}</span>;\r\n\t}\r\n}\r\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{U_e}{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_e}{\\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`s`}</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 dalla resistenza 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 dalla resistenza 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, tutti i condensatori possono essere sostituiti con uno equivalente dalla capacità 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 dalla capacità della somma 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 somma di tutti i \"sottoflussi\" magnetici calcolati sui suoi lati.\n </p>\n <p>\n <Latex>{r`\\Phi_{B_{i}} = \\vec{B} \\cdot \\vec{L}_n = B \\cdot L_i \\cdot \\sin(\\alpha) = B_\\parallel \\cdot L_i`}</Latex>\n </p>\n <p>\n <Latex>{r`\\Phi_{B} = \\sum_{i=0}^{n_{lati}} \\Phi_{Bn}`}</Latex>\n </p>\n <p>\n La sua unità di misura è il Weber (<Latex>{r`Wb = T \\cdot m^2`}</Latex>).\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>{r`\\Phi_B = \\mu_0 \\cdot I`}</Latex>\n </p>\n </Panel>\n </Split>\n <Split title=\"Forze magnetiche\">\n <Panel title={<span>Forza magnetica su carica puntiforme <small>(Forza di Lorentz)</small></span>}>\n <p>\n I campi magnetici applicano una forza sulle cariche vicine:\n </p>\n <p>\n <Latex>{r`\\vec{F}_{B} = 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 ha come modulo la lunghezza del conduttore.\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-Neumann-Lenz\">\n <p>\n Dice che la forza elettromotrice media 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 <p>\n Il meno è dovuto alla <a href=\"https://it.wikipedia.org/wiki/Legge_di_Lenz\">Legge di Lenz</a>, che specifica qualitativamente il verso della forza elettromotrice indotta.\n </p>\n </Panel>\n <Panel title=\"Faraday in un solenoide\">\n <p>\n In un solenoide, la forza elettromotrice indotta è uguale a:\n </p>\n <p>\n <Latex>{r`\\Delta V_{indotta} = - \\frac{N \\cdot \\Delta \\Phi_{B_{spira}}}{\\Delta t} = - \\frac{N \\cdot B \\cdot A \\cdot cos(\\alpha)}{\\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>{r`E`}</Latex> e il campo magnetico <Latex>{r`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 </Panel>\n </Split>\n <Split title=\"Spettroscopia\">\n <Panel title=\"Emissione\">\n <p>\n I solidi, se portati ad alta temperatura, emettono luce con uno <a href=\"https://it.wikipedia.org/wiki/Spettro_continuo\">spettro continuo</a>.\n </p>\n <p>\n I gas, invece, ad alta temperatura emettono luce solo con particolari lunghezze d'onda. \n </p>\n <p>\n In un gas di idrogeno, le lunghezze d'onda emesse sono ricavabili con:\n </p>\n <p>\n <Latex>{r`\\frac{1}{\\lambda} = R \\left ( \\frac{1}{4} - \\frac{1}{n^2} \\right )`}</Latex>\n </p>\n <p>\n Con <Latex>{r`R = 1.097 \\cdot 10^7 \\frac{1}{m}`}</Latex>, detta costante di Rydberg, e <Latex>{r`n`}</Latex> un numero intero.\n </p>\n </Panel>\n <Panel title=\"Grandezza quantizzata\">\n <p>\n Una grandezza si dice quantizzata (o discreta) se può assumere solo determinati valori. \n </p>\n <p>\n Una grandezza si dice continua se può assumere qualsiasi valore e quindi se non è quantizzata.\n </p>\n <p>\n Energia, momento angolare e raggio sono quantizzati.\n </p>\n <p>\n Nota costante quantica è <Latex>{r`h`}</Latex>, la costante di Planck, ovvero il valore minimo possibile per la carica (talvolta espressa come <Latex>{r`\\hbar = \\left ( \\frac{h}{2 \\pi} \\right )`}</Latex>.\n </p>\n </Panel>\n </Split>\n <Split>\n <Panel title=\"Modello di Bohr\">\n <p>\n L'energia degli elettroni è quantizzata.\n </p>\n <p>\n Inoltre, per essi è valido che:\n </p>\n <p>\n <Latex>{r`m \\cdot v_n \\cdot 2 \\pi \\cdot r = n \\cdot h`}</Latex>\n </p>\n <p>\n Ancora, il raggio delle orbite è uguale a:\n </p>\n <p>\n <Latex>{r`r_n = n^2 \\cdot a_0 = n^2 \\cdot \\frac{\\hbar}{m_{elettrone} \\cdot k \\cdot e^2} `}</Latex>\n </p>\n <p>\n Con <Latex>{r`a_0 = \\left ( \\frac{h}{2 \\pi} \\right )^2 \\cdot \\frac{1}{m_{elettrone} \\cdot k \\cdot e^2} = 5.29 \\cdot 10^{-11} m`}</Latex>.\n </p>\n <p>\n Infine, in ogni stato, l'energia è pari a:\n </p>\n <p>\n <Latex>{r`E_n = \\frac{1}{n^2} \\cdot E_1 = - \\frac{1}{n^2} \\cdot \\frac{a_0^2}{2 \\cdot m \\cdot \\hbar^4} = - \\frac{1}{n^2} \\cdot \\frac{m_{elettrone} \\cdot k^2 \\cdot e^4}{2 \\cdot \\hbar^2}`}</Latex>\n </p>\n <p>\n Due elettroni non possono occupare lo stesso stato.\n </p>\n <p>\n Questo modello funziona solo per atomi con numero atomico basso. Atomi con molti elettroni hanno comportamenti diversi, descritti dal modello di\n </p>\n </Panel>\n </Split>\n <Split>\n <Panel title=\"Nei solidi\">\n <p>\n Nei solidi, le lunghezze d'onda sono talmente tanto vicine da poter essere considerate una banda.\n </p>\n <p>\n Possono però comunque avere dei gap dovuti agli intervalli di energia non ammessi.\n </p>\n </Panel>\n </Split>\n <Split title=\"Semiconduttori\">\n <Panel title=\"Semiconduttori\">\n <p>\n <Todo>Refactor this</Todo>\n </p>\n <p>\n Se la banda di emissione con energia più alta di un corpo è assente o è separata da un gap dell'ordine di grandezza maggiore di <Latex>{r`10^1 eV`}</Latex>, allora il corpo è un isolante.\n </p>\n <p>\n Se invece la banda di emissione si sovrappone a un altra, allora il corpo è un conduttore.\n </p>\n <p>\n Se il gap è invece dell'ordine di grandezza di <Latex>{r`1 eV`}</Latex>, allora il corpo è un semiconduttore.\n </p>\n </Panel>\n <Panel title=\"Lacune\">\n <p>\n Legami in cui <Plus>mancano elettroni</Plus>.\n </p>\n <p>\n <Minus>Elettroni</Minus> di altri legami possono spostarsi per colmare le <Plus>lacune</Plus>, creandone altre, e spostandole in direzione opposta a quella della corrente.\n </p>\n </Panel>\n <Panel title=\"Accettori e donori\">\n <p>\n Se si inserisce in un cristallo semiconduttore si inserisce un atomo con numero atomico diverso, si otterrà:\n </p>\n <ul>\n <li>Con numero atomico maggiore, un semiconduttore di <Minus>tipo N</Minus> con <Minus>elettroni in eccesso</Minus> liberi di scorrere.</li>\n <li>Con numero atomico minore, un semiconduttore di <Plus>tipo P</Plus> con <Plus>lacune in eccesso</Plus> libere di catturare elettroni da altri legami.</li>\n </ul>\n <p>\n Maggiore impurezza porta a maggiore conduttività.\n </p>\n </Panel>\n <Panel title=\"Temperatura\">\n <p>\n Aumentando la temperatura di un semiconduttore si aumenta la conduttività, perchè eccita le particelle e favorisce il movimento di <Minus>elettroni</Minus> e <Plus>lacune</Plus>.\n </p>\n </Panel>\n </Split>\n <Split title={<span>Ottica <small>(non l'abbiamo fatta)</small></span>}>\n <Panel title=\"Assorbimento e riflessione\">\n <p>\n I corpi possono assorbire o riflettere le onde elettromagnetiche che li colpiscono.\n </p>\n </Panel>\n <Panel title=\"Corpo nero\">\n <p>\n Un corpo nero è un corpo che assorbe tutte le onde elettromagnetiche che riceve senza rifletterne nessuna.\n </p>\n <p>\n Le onde assorbite vengono poi riemesse sotto forma di un onda di <Latex>{r`\\lambda`}</Latex> variabile in base alla temperatura.\n </p>\n <p>\n <Latex>{r`\\lambda_{max} \\cdot T`}</Latex> è costante.\n </p>\n </Panel>\n <Panel title=\"Teoria di Planck per il corpo nero\">\n <p>\n L'energia assorbita e emessa dai corpi neri è quantizzata.\n </p>\n </Panel>\n <Panel title=\"Fotone\">\n <p>\n Un onda magnetica con un quanto di energia è detta <i>fotone</i>:\n </p>\n <p>\n <Latex>{r`E_{fotone} = h \\cdot f`}</Latex>\n </p>\n </Panel>\n <Panel title=\"Effetto fotoelettrico\">\n <p>\n A volte, i fotoni che colpiscono un metallo possono estrarvi degli elettroni e creare una differenza di potenziale.\n </p>\n <p>\n Perchè avvenga, la frequenza deve essere maggiore di una certa soglia.\n </p>\n <p>\n Il numero di elettroni estratti dipende dall'intensità dell'onda, mentre l'energia cinetica degli elettroni dipende dalla frequenza.\n </p>\n <p>\n Non c'è nessun ritardo tra l'assorbimento del fotone e l'estrazione di elettroni.\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';\r\nimport { Component } from 'preact';\r\nimport Markdown from '../components/markdown';\r\nimport Panel from '../components/panel';\r\n\r\nconst r = String.raw;\r\n\r\nexport default class VlDiGeometria extends Component {\r\n\trender() {\r\n\t\t//Imported from unimore-info-wiki\r\n\t\treturn (\r\n\t\t\t<div style={style.vldigeometria}>\r\n <h1>Videolezioni di Geometria</h1>\r\n <Panel>\r\n <Markdown>{r`\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).\r\n\r\nPer comodità, ho estratto l'url sorgente del video dall'embed presente nella rispettiva pagina.\r\n\r\n1. [Definizione di Spazio Vettoriale](https://www.youtube.com/watch?v=7eHEzf4403c) (1:17:29)\r\n2. [Sottospazi vettoriali I](https://www.youtube.com/watch?v=FPqrULk5HBU) (37:15)\r\n3. [Sottospazi vettoriali II](https://www.youtube.com/watch?v=ubDWUw9hk0k) (43:26)\r\n4. [Sottospazi vettoriali III](https://www.youtube.com/watch?v=381n4NPb6Oc) (40:29)\r\n5. [Lineare dipendenza e indipendenza](https://www.youtube.com/watch?v=9YVQ5olYrh0) (56:12)\r\n6. [Basi di uno spazio vettoriale I](https://www.youtube.com/watch?v=mEF_lcTzEoE) (25:52)\r\n7. [Basi di uno spazio vettoriale II](https://www.youtube.com/watch?v=k1r9JfXY53k) (48:24)\r\n8. [Teorema di Grassmann](https://www.youtube.com/watch?v=3sqB-MMyCWM) (32:36)\r\n9. [Basi e Matrici](https://www.youtube.com/watch?v=Rd6AB_jE7YI) (27:06)\r\n10. [Definizione di Applicazioni Lineari](https://www.youtube.com/watch?v=rmd7ffZeVYk) (16:23)\r\n11. [Proprietà delle Applicazioni Lineari](https://www.youtube.com/watch?v=MH7ztQGkqmw) (31:58)\r\n12. [Definizione di determinante](https://www.youtube.com/watch?v=EwubcLwBdzk) (36:43)\r\n13. [Proprietà e metodo di triangolazione](https://www.youtube.com/watch?v=SFusGarV6HI) (22:36)\r\n14. [Teorema di Laplace](https://www.youtube.com/watch?v=BqZDWnKl2nQ) (29:03)\r\n15. [4 applicazioni del Teorema di Laplace](https://www.youtube.com/watch?v=2tr3y725GY0) (47:53)\r\n16. [Spazi vettoriali euclidei reali - Parte 1](https://www.youtube.com/watch?v=W7Z1hm-jwMM) (28:46)\r\n17. [Spazi vettoriali euclidei reali - Parte 2](https://www.youtube.com/watch?v=zjmKE9TMGm8) (27:17)\r\n18. [Autovalori e autovettori](https://www.youtube.com/watch?v=XlrlcnvcTtQ) (33:00)\r\n19. [Polinomio caratteristico](https://www.youtube.com/watch?v=61icRbgWTdI) (31:31)\r\n20. [Teorema diagonalizzabilità](https://www.youtube.com/watch?v=wm5V6en9OFo) (18:49)\r\n21. [Spazi affini](https://player.vimeo.com/video/291457587) (20:46)\r\n22. [Sottospazi affini](https://player.vimeo.com/video/291458991) (21:32)\r\n23. [Parallelismo e Riferimenti Affini](https://player.vimeo.com/video/291510181) (16:57)\r\n24. [Rappresentazione di Sottospazi Affini](https://player.vimeo.com/video/291510296) (31:17)\r\n25. [Spazi Euclidei](https://player.vimeo.com/video/291510612) (35:57)\r\n26. [Teoria dei ranghi](https://player.vimeo.com/video/291510964) (9:44)\r\n27. [Teoria dei ranghi 2](https://player.vimeo.com/video/291510862) (14:44)\r\n\r\nNell'anno accademico 2018/2019 non sono stati trattati gli argomenti nei video 21, 22 e 23.\r\n `}</Markdown>\r\n </Panel>\r\n\t\t\t</div>\r\n\t\t);\r\n\t}\r\n}\r\n\r\n\n\n\n// WEBPACK FOOTER //\n// ./pages/vldigeometria.js","import style from './mingwinstall.css';\r\nimport { Component } from 'preact';\r\nimport Panel from '../components/panel';\r\n\r\nexport default class MingwInstall extends Component {\r\n\trender() {\r\n\t\t//Imported from unimore-info-wiki\r\n\t\treturn (\r\n\t\t\t<div style={style.mingwinstall}>\r\n <h1>Come installare MinGW</h1>\r\n <Panel>\r\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>,\r\n\t\t\t\t\t\ted eseguitelo.</p><img src=\"https://i.imgur.com/mDZSqjV.png\" alt=\"\"/>\r\n\t\t\t\t\t<p> Dovrebbe comparire questa schermata. Cliccate su <code>Install</code>, poi scegliete una cartella di installazione\r\n\t\t\t\t\t\t(ricordatevela!) e poi <code>Continue</code>. Lasciate stare le altre opzioni, dovrebbero essere tutte spuntate,\r\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=\"\"/>\r\n\t\t\t\t\t<p> Aspettate che finisca il download. Pochi secondi dopo, dovrebbe finire e dovrebbe apparire un tasto\r\n\t\t\t\t\t\t<code>Continue</code>. Premetelo.</p><img src=\"https://i.imgur.com/aPTwrxz.png\" alt=\"\"/>\r\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\r\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=\"\"/>\r\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\r\n\t\t\t\t\t\t<code>mingw32-gcc-g++-bin</code> (per il C++). Cliccate, quindi, sui due quadratini corrispondenti, e premete\r\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=\"\"/>\r\n\t\t\t\t\t<p> Ora, è il momento di installare i pacchetti. Aprite il menù <code>Installation</code>, poi premete\r\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=\"\"/>\r\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\r\n\t\t\t\t\t\tdopo circa 10 minuti.</p><img src=\"https://i.imgur.com/Lq9IepY.png\" alt=\"\"/>\r\n\t\t\t\t\t<p> Una volta installato, dobbiamo aggiungere <code>g++</code> ai programmi eseguibili da Prompt dei Comandi: premete il\r\n\t\t\t\t\t\ttasto <kbd>Windows</kbd>, e scrivete <code>PATH</code>. Windows dovrebbe trovarvi automaticamente quell'opzione.</p>\r\n\t\t\t\t\t<img src=\"https://i.imgur.com/dy3b5Ub.png\" alt=\"\"/>\r\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=\"\"/>\r\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=\"\"/>\r\n\t\t\t\t\t<p> Ora dovreste vedere l'elenco di tutte le cartelle contenenti programmi eseguibili da terminale: dobbiamo aggiungere\r\n\t\t\t\t\t\tquella di MinGW! Premete <code>Sfoglia</code>.</p><img src=\"https://i.imgur.com/F6lBCqS.png\" alt=\"\"/>\r\n\t\t\t\t\t<p> Trovate la cartella in cui avete installato MinGW (vi avevo detto di ricordarvela!); entrateci, poi selezionate la\r\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,\r\n\t\t\t\t\t\tchiudendole.</p>\r\n\t\t\t\t\t<p> Complimenti! Avete installato MinGW e potete compilare programmi C e C++ da Windows! Avete a disposizione\r\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>\r\n\t\t\t\t</Panel>\r\n\t\t\t</div>\r\n\t\t);\r\n\t}\r\n}\r\n\r\n\n\n\n// WEBPACK FOOTER //\n// ./pages/mingwinstall.js","import style from './copyright.css';\r\nimport { Component } from 'preact';\r\n\r\nexport default class Copyright extends Component {\r\n\trender() {\r\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>;\r\n\t}\r\n}\n\n\n// WEBPACK FOOTER //\n// ./components/copyright.js","import style from \"./theorem.css\";\r\nimport Panel from \"./panel.js\";\r\n\r\nexport default class Theorem extends Panel {\r\n getStyle() {\r\n return super.getStyle() + \" \" + style.theorem;\r\n }\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./components/theorem.js","import style from \"./hypothesis.css\";\r\nimport {Component} from \"preact\";\r\n\r\nexport default class Hypothesis extends Component {\r\n render() {\r\n return (\r\n <div class={style.hypothesis}>\r\n <h4>\r\n Ipotesi\r\n </h4>\r\n {this.props.children}\r\n </div>\r\n )\r\n }\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./components/hypothesis.js","import style from \"./thesis.css\";\r\nimport {Component} from \"preact\";\r\n\r\nexport default class Thesis extends Component {\r\n render() {\r\n return (\r\n <div class={style.thesis}>\r\n <h4>\r\n Tesi\r\n </h4>\r\n {this.props.children}\r\n </div>\r\n )\r\n }\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./components/thesis.js","import style from \"./proof.css\";\r\nimport {Component} from \"preact\";\r\n\r\nexport default class Proof extends Component {\r\n render() {\r\n return (\r\n <div class={style.proof}>\r\n <h4>\r\n Dimostrazione\r\n </h4>\r\n {this.props.children}\r\n </div>\r\n )\r\n }\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./components/proof.js","import style from \"./example.css\";\nimport {Component} from \"preact\";\n\nexport default class Example extends Component {\n render() {\n return (\n <blockquote class={style.example}>\n {this.props.children}\n </blockquote>\n )\n }\n}\n\n\n\n// WEBPACK FOOTER //\n// ./components/example.js","import style from './statistica.css';\nimport { Component } from 'preact';\nimport Latex from '../components/latex';\nimport Panel from '../components/panel';\nimport Split from '../components/split';\nimport Todo from '../components/todo';\nimport Theorem from \"../components/theorem\";\nimport Hypothesis from \"../components/hypothesis\";\nimport Thesis from \"../components/thesis\";\nimport Proof from \"../components/proof\";\nimport Example from \"../components/example\";\nimport Plus from \"../components/plus\";\nimport Minus from \"../components/minus\";\n\nconst r = String.raw;\n\nexport default class Statistica extends Component {\n\trender() {\n\t /*\n <Split title={\"Popolazioni\"}>\n <Panel title={\"Popolazione\"} id={\"popolazione\"}>\n <p>\n Gruppo <b>intero</b> di oggetti di cui si cercano informazioni.\n </p>\n </Panel>\n <Panel title={\"Popolazione tangibile\"}>\n <p>\n Popolazione finita di oggetti concreti che possono essere campionati ciascuno solo una volta.\n </p>\n </Panel>\n <Panel title={\"Popolazione concettuale\"}>\n <p>\n Popolazione di valori ottenuti da prove sperimentali indipendenti ripetute più volte.\n </p>\n </Panel>\n </Split>\n <Split title={\"Campionamento\"}>\n <Panel title={\"Campione\"}>\n <p>\n Sottoinsieme della <a href={\"#popolazione\"}>popolazione</a> che contiene gli oggetti che si sono osservati.\n </p>\n </Panel>\n <Panel title={<i>Simple random sample</i>}>\n <p>\n Campione di una data dimensione in cui qualsiasi selezione di <i>n</i> elementi ha la stessa probabilità di costituire il campione.\n </p>\n </Panel>\n <Panel title={<i>Sample of convenience</i>}>\n <p>\n Campione ottenuto in un modo casuale non ben definito.\n </p>\n </Panel>\n <Panel title={<i>Sample with replacement</i>}>\n <p>\n Campione ottenuto sostituendo nella popolazione gli elementi estratti con dei nuovi elementi.\n </p>\n <p>\n Dire che un campione è ottenuto <i>with replacement</i> è equivalente a dire che la popolazione che si sta campionando è infinita, e quindi che tutti gli elementi sono indipendenti.\n </p>\n </Panel>\n <Panel title={\"Campione pesato\"}>\n <p>\n Campione ottenuto da una popolazione in cui certi elementi hanno più probabilità di essere stati selezionati di altri.\n </p>\n </Panel>\n <Panel title={<i>Stratified random sample</i>}>\n <p>\n Campione ottenuto da un sottoinsieme della popolazione detto <i>strato</i>.\n </p>\n </Panel>\n <Panel title={<i>Cluster sample</i>}>\n <p>\n Campione ottenuto selezionando più <i>cluster</i> di elementi alla volta.\n </p>\n </Panel>\n </Split>\n <Split>\n <Panel title={<i>Sampling variation</i>}>\n <p>\n Differenza di informazioni presente tra due campioni diversi della stessa popolazione.\n </p>\n </Panel>\n <Panel title={\"Indipendenza\"}>\n <p>\n Gli elementi in un campione sono indipendenti se gli elementi estratti in precedenza non influsicono <small>significativamente</small> sulle probabilità di estrazione dell'elemento successivo.\n </p>\n </Panel>\n </Split>\n <Split title={\"Tipi di prove sperimentali\"}>\n <Panel title={\"A campione singolo\"}>\n <p>\n Esperimento in cui c'è una sola popolazione da cui vengono estratti campioni.\n </p>\n <p>\n Serve per verificare delle condizioni.\n </p>\n </Panel>\n <Panel title={\"Multicampione\"}>\n <p>\n Esperimento in cui sono presenti più popolazioni (aventi caratteristiche differenti una dall'altra dette <i>fattori</i>) da cui vengono estratti campioni.\n </p>\n <p>\n Serve per capire quali fattori influenzano il risultato dell'esperimento.\n </p>\n </Panel>\n </Split>\n <Split title={\"Tipi di dato\"}>\n <Panel title={<span>Numerico<small> o quantitativo</small></span>}>\n Il dato descrive un valore numerico relativo all'elemento, come ad esempio una quantità fisica.\n </Panel>\n <Panel title={<span>Categorico<small> o qualitativo</small></span>}>\n Il dato indica una categoria a cui appartiene l'elemento, come ad esempio il suo colore.\n </Panel>\n </Split>\n\t */\n return (\n <div style={style.statistica}>\n <h1>Statistica ed Elementi di Probabilità</h1>\n <Split title={\"Tipi di probabilità\"}>\n <Panel title={\"Classica\"}>\n <p>\n <Latex>{r`P(E) = \\frac{casi\\ favorevoli}{casi\\ possibili}`}</Latex>\n </p>\n </Panel>\n <Panel title={\"Frequentista\"}>\n <p>\n <Latex>{r`P(E) = \\frac{successi}{prove\\ totali}`}</Latex>\n </p>\n </Panel>\n <Panel title={\"Soggettiva\"}>\n <p>\n Il prezzo che un individuo coerente riterrebbe equo per ricevere <b>1</b> nel caso l'evento si verificasse e <b>0</b> nel caso l'evento non si verificasse.\n </p>\n </Panel>\n </Split>\n <Split title={\"Linguaggio matematico\"}>\n <Panel title={\"Spazio campionario\"}>\n <blockquote>\n \"omegone\"\n </blockquote>\n <p>\n L'<b>insieme</b> di tutti gli esiti possibili di un esperimento.\n </p>\n <p>\n <Latex>{r`\\Omega = \\left \\{ 1, 2, 3, 4, 5, 6 \\right \\}`}</Latex>\n </p>\n </Panel>\n <Panel title={\"Esito\"}>\n <blockquote>\n \"omeghino\"\n </blockquote>\n <p>\n Un <b>elemento</b> dello spazio campionario.\n </p>\n <p>\n <Latex>{r`\\omega = 1`}</Latex>\n </p>\n </Panel>\n <Panel title={\"Evento\"}>\n <blockquote>\n \"e\"\n </blockquote>\n <p>\n Un <b>sottoinsieme</b> dello spazio campionario.\n </p>\n <p>\n <Latex>{r`E = \\left \\{ 1, 2 \\right \\}`}</Latex>\n </p>\n <p>\n Lo spazio campionario stesso è un <b>evento certo</b>.\n </p>\n </Panel>\n <Panel title={\"Not\"}>\n <blockquote>\n \"not e\"\n </blockquote>\n <p>\n Il <b>complementare</b> di un sottoinsieme.\n </p>\n <p>\n <Latex>{r`\\bar{E} = \\left \\{ 3, 4, 5, 6 \\right \\}`}</Latex>\n </p>\n </Panel>\n <Panel title={\"And\"}>\n <blockquote>\n \"e intersecato effe\"\n </blockquote>\n <p>\n L'<b>intersezione</b> di più sottoinsiemi.\n </p>\n <p>\n <Latex>{r`E \\cap F = \\left \\{ 1 \\right \\}`}</Latex>\n </p>\n </Panel>\n <Panel title={\"Or\"}>\n <blockquote>\n \"e unito a effe\"\n </blockquote>\n <p>\n L'<b>unione</b> di più sottoinsiemi.\n </p>\n <p>\n <Latex>{r`E \\cup F = \\left \\{ 1, 2, 3, 4 \\right \\}`}</Latex>\n </p>\n </Panel>\n <Panel title={\"Differenza\"}>\n <blockquote>\n \"e meno effe\"\n </blockquote>\n <p>\n <Latex>{r`E \\setminus F = E \\cap \\bar{F}`}</Latex>\n </p>\n </Panel>\n <Panel title={\"Implicazione\"}>\n <blockquote>\n \"e contenuto in effe\"\n </blockquote>\n <p>\n L'<b>inclusione</b> del primo insieme in un altro.\n </p>\n <p>\n <Latex>{r`E \\subseteq F`}</Latex>\n </p>\n <p>\n Se si verifica <Latex>E</Latex>, allora si verifica anche <Latex>F</Latex>.\n </p>\n </Panel>\n <Panel title={\"Evento impossibile\"}>\n <blockquote>\n \"e è impossibile\"\n </blockquote>\n <p>\n Un sottoinsieme <b>vuoto</b>.\n </p>\n <p>\n <Latex>{r`E = \\emptyset`}</Latex>\n </p>\n </Panel>\n <Panel title={\"Mutua esclusione\"}>\n <blockquote>\n \"e ed effe si escludono mutualmente\"\n </blockquote>\n <p>\n La <b>disgiunzione</b> di due insiemi.\n </p>\n <p>\n <Latex>{r`E \\cap F = \\emptyset`}</Latex>\n </p>\n </Panel>\n </Split>\n <Split>\n <Panel title={\"Famiglia degli eventi\"}>\n <blockquote>\n \"famiglia effe\"\n </blockquote>\n <p>\n I sottoinsiemi dello spazio campionario formano una <b>famiglia</b> di sottoinsiemi detta <i>famiglia degli eventi</i>.\n </p>\n <p>\n <Latex>{r`\\mathcal{F}`}</Latex>\n </p>\n <p>\n Qualsiasi sottoinsieme appartenente a <Latex>{r`\\mathcal{F}`}</Latex> è considerato un evento.\n </p>\n </Panel>\n <Panel title={<span><Latex>{r`\\sigma`}</Latex>-algebra</span>}>\n <blockquote>\n \"sigma algebra\"\n </blockquote>\n <p>\n Se la famiglia degli eventi soddisfa questi tre requisiti, allora viene detta <i><Latex>{r`\\sigma`}</Latex>-algebra</i>:\n </p>\n <ol>\n <li>\n Lo spazio campionario è un evento: <Latex>{r`\\Omega \\in \\mathcal{F}`}</Latex>\n </li>\n <li>\n Se un sottoinsieme è un evento, allora anche il suo complementare lo è: <Latex>{r`E \\in \\mathcal{F} \\implies \\bar{E} \\in \\mathcal{F}`}</Latex>\n </li>\n <li>\n Se due sottoinsiemi sono eventi, allora lo sono anche la loro unione e intersezione: <Latex>{r`(E, F) \\in \\mathcal{F} \\implies (E \\cup F, E \\cap F) \\in \\mathcal{F}`}</Latex>\n </li>\n </ol>\n <p>\n Un esempio: <Latex>{r`E \\in \\mathcal{F} \\implies \\mathcal{F} = \\{ \\emptyset, E, \\bar{E}, \\Omega \\}`}</Latex>\n </p>\n </Panel>\n </Split>\n <Split>\n <Panel title={\"Partizione\"}>\n <blockquote>\n \"la partizione e composta da e uno, e due, e tre...\"\n </blockquote>\n <p>\n Un insieme di esiti e eventi:\n </p>\n <ul>\n <li><b>Finito</b>.</li>\n <li>In cui tutti gli eventi hanno <b>probabilità diversa da 0</b>.</li>\n <li>In cui tutti gli eventi sono <b>mutualmente esclusivi</b>.</li>\n <li>In cui l'unione di tutti i suoi elementi <b>copre lo spazio campionario</b>.</li>\n </ul>\n <p>\n La partizione <Latex>{r`E_i`}</Latex> è composta dagli eventi <Latex>{r`E_1`}</Latex>, <Latex>{r`E_2`}</Latex>, <Latex>{r`E_3`}</Latex>, fino a <Latex>{r`E_n`}</Latex>.\n </p>\n <Example>\n Se lo spazio campionario fosse una torta, una sua partizione sarebbe l'insieme delle fette di uno dei modi in cui si potrebbe tagliare.\n </Example>\n </Panel>\n </Split>\n <Split title={\"Assiomi della probabilità\"}>\n <Panel title={\"Primo assioma della probabilità\"}>\n <p>\n La probabilità di un evento è un numero tra 0 e 1.\n </p>\n <p>\n <Latex>{r`\\forall E \\in \\mathcal{F}, 0 \\leq P(E) \\leq 1`}</Latex>\n </p>\n </Panel>\n <Panel title={\"Secondo assioma della probabilità\"}>\n <p>\n La probabilità dello spazio campionario è sempre 1.\n </p>\n <p>\n <Latex>{r`P(\\Omega) = 1`}</Latex>\n </p>\n </Panel>\n <Panel title={\"Terzo assioma della probabilità\"}>\n <p>\n La probabilità dell'unione di eventi indipendenti è uguale alla somma delle loro probabilità.\n </p>\n <p>\n <Latex>{r`P \\left ( \\bigcup_i E_i \\right ) = \\sum_i P ( E_i )`}</Latex>\n </p>\n </Panel>\n </Split>\n <Split title={\"Conseguenze degli assiomi\"}>\n <Panel title={\"Probabilità di un evento negato\"}>\n <p>\n La probabilità di un evento negato è uguale a 1 meno la probabilità dell'evento non negato.\n </p>\n <p>\n <Latex>{r`P(\\bar{E}) = 1 - P({E})`}</Latex>\n </p>\n </Panel>\n <Panel title={\"Probabilità di un evento incluso\"}>\n <p>\n La probabilità di un evento incluso in un altro è sempre minore o uguale alla probabilità dell'evento in cui è incluso.\n </p>\n <p>\n <Latex>{r`F \\subseteq E \\implies P(F) \\leq P(E)`}</Latex>\n </p>\n </Panel>\n <Panel title={\"Unione\"}>\n <p>\n La probabilità di un evento unito a un altro è uguale alla somma delle probabilità dei due eventi meno la probabilità della loro intersezione.\n </p>\n <p>\n <Latex>{r`P(E \\cup F) = P(E) + P(F) - P(E \\cap F)`}</Latex>\n </p>\n <Example>\n Sommando le probabilità dei due eventi, l'intersezione viene contata due volte, e va quindi rimossa!\n </Example>\n </Panel>\n </Split>\n <Split title={\"Spazi equiprobabili\"}>\n <Panel title={\"Cosa sono?\"}>\n <p>\n Spazi campionari in cui ci sono un numero finito di esiti e ogni esito ha la stessa probabilità di verificarsi.\n </p>\n <p>\n <Latex>{r`P(E) = \\frac{len(E)}{len(\\Omega)}`}</Latex>\n </p>\n </Panel>\n <Panel title={\"Spazi equiprobabili geometrici\"}>\n <p>\n Gli spazi campionari possono avere un numero infinito di esiti: sono <i>equiprobabili geometrici</i> se nessun esito è privilegiato rispetto agli altri.\n </p>\n </Panel>\n </Split>\n <Split title={\"Calcolo combinatorio\"}>\n <Panel title={\"Disposizioni\"}>\n <p>\n Estraggo un numero, da un sacchetto con <Latex>n</Latex> numeri, mi segno che numero ho estratto e lo <b>tengo fuori dal sacchetto</b>. Ripeto per <Latex>k</Latex> volte.\n </p>\n <p>\n <b>Tengo conto</b> dell'ordine in cui ho estratto i numeri.\n </p>\n <p>\n <Latex>{r`\\boldsymbol{D}_{n, k} = \\frac{n!}{(n - k)!}`}</Latex>\n </p>\n </Panel>\n <Panel title={\"Disposizioni con ripetizione\"}>\n <p>\n Estraggo un numero, da un sacchetto con <Latex>n</Latex> numeri, mi segno che numero ho estratto e lo <b>rimetto nel sacchetto</b>. Ripeto per <Latex>k</Latex> volte.\n </p>\n <p>\n <b>Tengo conto</b> dell'ordine in cui ho estratto i numeri.\n </p>\n <p>\n <Latex>{r`\\boldsymbol{D}^{r}_{n, k} = n^k`}</Latex>\n </p>\n </Panel>\n <Panel title={\"Combinazioni\"}>\n <p>\n Estraggo un numero, da un sacchetto con <Latex>n</Latex> numeri, mi segno che numero ho estratto e lo <b>tengo fuori dal sacchetto</b>. Ripeto per <Latex>k</Latex> volte.\n </p>\n <p>\n <b>Non mi interessa</b> l'ordine in cui ho estratto i numeri.\n </p>\n <p>\n <Latex>{r`\\boldsymbol{C}_{n, k} = \\binom{n}{k} = \\frac{n!}{(k)! \\cdot (n - k)!}`}</Latex>\n </p>\n </Panel>\n <Panel title={\"Combinazioni con ripetizione\"}>\n <p>\n Estraggo un numero, da un sacchetto con <Latex>n</Latex> numeri, mi segno che numero ho estratto e lo <b>rimetto nel sacchetto</b>. Ripeto per <Latex>k</Latex> volte.\n </p>\n <p>\n <b>Non mi interessa</b> l'ordine in cui ho estratto i numeri.\n </p>\n <p>\n <Latex>{r`\\boldsymbol{C}^{r}_{n, k} = \\binom{n + k - 1}{k} = \\frac{(n + k - 1)!}{(k)! \\cdot (n - 1)!}`}</Latex>\n </p>\n </Panel>\n <Panel title={\"Permutazioni\"}>\n <p>\n Estraggo <Latex>n</Latex> numeri e guardo in quanti ordini diversi li posso mettere.\n </p>\n <p>\n <Latex>{r`\\boldsymbol{P}_n = n!`}</Latex>\n </p>\n </Panel>\n </Split>\n <Split title={\"Probabilità condizionata\"}>\n <Panel title={\"Eventi condizionati\"}>\n <blockquote>\n \"E dato F\"\n </blockquote>\n <p>\n La probabilità che si verifichi <Latex>E</Latex> sapendo che <b>si è già verificato</b> <Latex>F</Latex>.\n </p>\n <p>\n <Latex>{r`P(E|F) = \\frac{P(E \\cap F)}{P(F)}`}</Latex>\n </p>\n <Example>\n Ricorda vagamente le pipe di <code>bash</code>, però al contrario...\n </Example>\n </Panel>\n <Panel title={\"Eventi mutualmente esclusivi\"}>\n <p>\n Se due eventi sono mutualmente esclusivi, entrambe le loro probabilità condizionate saranno uguali a 0.\n </p>\n <p>\n <Latex>{r`E \\cap F = \\emptyset \\Longleftrightarrow P(E|F) = P(F|E) = 0`}</Latex>\n </p>\n </Panel>\n </Split>\n <Split>\n <Panel title={\"Regola della catena\"}>\n <p>\n Si può sfruttare la formula inversa della probabilità condizionata per calcolare catene di intersezioni:\n </p>\n <p>\n <Latex>{r`P(E_1 \\cap \\times \\cap E_n) = P(E_1) \\times P(E_2 | E_1) \\times \\dots \\times P(E_n | E_1 \\cap E_2 \\cap \\dots \\cap E_{n-1})`}</Latex>\n </p>\n </Panel>\n </Split>\n <Split title={\"Legge delle alternative\"}>\n <Theorem title={\"Teorema\"}>\n <Hypothesis>\n <ul>\n <li><Latex>E_i</Latex> <b>partizione</b> di <Latex>{r`\\Omega`}</Latex></li>\n <li><Latex>{r`F`}</Latex> <b>evento</b> <Latex>{r`\\in \\Omega`}</Latex></li>\n </ul>\n </Hypothesis>\n <Thesis>\n <p>\n La probabilità che si verifichi un evento è pari alla somma delle probabilità dell'evento stesso dati tutti gli eventi di una partizione.\n </p>\n <p>\n <Latex>{r`P(F) = \\sum_{i} P(F|E_i) \\cdot P(E_i)`}</Latex>\n </p>\n </Thesis>\n <Proof>\n <p>\n Per la definizione di probabilità condizionata:\n </p>\n <p>\n <Latex>{r`P(F|E_i) \\cdot P(E_i) = P(F \\cap E_i)`}</Latex>\n </p>\n <p>\n Essendo parte di una partizione, tutti gli <Latex>E_i</Latex> sono distinti:\n </p>\n <p>\n <Latex>{r`\\forall i, \\exists! E_i`}</Latex>\n </p>\n <p>\n Essendo mutualmente esclusivi, le probabilità di tutti gli <Latex>E_i</Latex> possono essere sommate senza bisogno di sottrarvi l'intersezione:\n </p>\n <p>\n <Latex>{r`\\sum_i P(F \\cap E_i) = P \\left( \\bigcup_i (F \\cap E_i) \\right)`}</Latex>\n </p>\n <p>\n Essendo <Latex>E</Latex> una partizione di <Latex>{r`\\Omega`}</Latex>, allora la unione di tutti gli eventi che la compongono riforma lo spazio campionario:\n </p>\n <p>\n <Latex>{r`\\bigcup_i ( F \\cap E_i ) = F \\cap \\left( \\bigcup_i E_i \\right) = F \\cap \\Omega = F`}</Latex>\n </p>\n </Proof>\n </Theorem>\n <Panel title={\"Legge condizionata delle alternative\"}>\n <p>\n La legge delle alternative funziona anche quando ad essere partizionato è un <b>evento</b>:\n </p>\n <p>\n <Latex>{r`P(F|G) = \\sum_i P(F|E_i \\cap G) \\cdot P(E_i | G)`}</Latex>\n </p>\n </Panel>\n <Theorem title={\"Formula di Bayes\"}>\n <Hypothesis>\n <ul>\n <li><Latex>E_i</Latex> <b>partizione</b> di <Latex>{r`\\Omega`}</Latex></li>\n <li><Latex>{r`F`}</Latex> <b>evento</b> <Latex>{r`\\in \\Omega`}</Latex></li>\n </ul>\n </Hypothesis>\n <Thesis>\n <p>\n <Latex>{r`P(E_h | F) = \\frac{P(F | E_h) \\cdot P(E_h)}{P(F)}`}</Latex>\n </p>\n </Thesis>\n <Proof>\n <p>\n <Todo>TODO: ha un po' poco senso tbf</Todo>\n </p>\n <p>\n Partiamo dalla definizione di probabilità condizionata:\n </p>\n <p>\n <Latex>{r`P(E_h | F) \\cdot P(F) = P(E_h \\cap F) = P(F | E_h) \\cdot P(E_h)`}</Latex>\n </p>\n <p>\n Spostiamo al denominatore un pezzo:\n </p>\n <p>\n <Latex>{r`P(E_h | F) = \\frac{P(F | E_h) \\cdot P(E_h)}{P(F)}`}</Latex>\n </p>\n <p>\n Applichiamo la legge delle alternative sul denominatore:\n </p>\n <p>\n <Latex>{r`P(E_h | F) = \\frac{P(F | E_h) \\cdot P(E_h)}{P(F)}`}</Latex>\n </p>\n </Proof>\n </Theorem>\n </Split>\n <Split title={\"Eventi indipendenti\"}>\n <Panel title={\"Due eventi indipendenti\"}>\n <blockquote>\n \"eventi indipendenti a due a due\"\n </blockquote>\n <p>\n Se due eventi sono indipendenti, sapere che uno dei due si è verificato non influisce sulle probabilità che si sia verificato l'altro.\n </p>\n <p>\n <Todo>TODO: ha una dimostrazione</Todo>\n </p>\n <p>\n <Latex>{r`P(E \\cap F) = P(E) \\cdot P(F) \\Longleftrightarrow P(E|F) = P(E) \\Longleftrightarrow P(F|E) = P(F)`}</Latex>\n </p>\n </Panel>\n <Panel title={\"Più eventi indipendenti\"}>\n <blockquote>\n \"eventi indipendenti a tre a tre, a quattro a quattro, a cinque a cinque...\"\n </blockquote>\n <p>\n Si può verificare l'indipendenza di più eventi alla volta:\n </p>\n <p>\n <Latex>{r`P(E \\cap F \\cap G) = P(E) \\cdot P(F) \\cdot P(G)`}</Latex>\n </p>\n <p>\n Eventi indipendenti a due a due non sono per forza indipendenti a tre a tre, e viceversa.\n </p>\n </Panel>\n <Panel title={\"Famiglia di eventi indipendenti\"}>\n <p>\n Un insieme di <Latex>n</Latex> eventi è una <i>famiglia di eventi indipendenti</i> se, preso un qualsiasi numero di eventi da essa, essi risulteranno indipendenti.\n </p>\n <Example>\n Tutti gli eventi provenienti da essa saranno indipendenti sia a due a due, sia a tre a tre, sia a quattro a quattro, e così via!\n </Example>\n </Panel>\n </Split>\n <Split title={\"Variabili aleatorie\"}>\n <Panel title={\"Variabile aleatoria\"}>\n <p>\n Una funzione che fa corrispondere un numero reale a ogni possibile esito dello spazio campionario. <Latex>{r`X(\\omega) : \\Omega \\to \\mathbb{R}`}</Latex>.\n </p>\n </Panel>\n <Panel title={<Todo>Titolo?</Todo>}>\n <p>\n Ad ogni variabile aleatoria sono associati gli eventi <Latex>{r`A_t = \\{ \\omega | X(\\omega) \\leq t \\}`}</Latex>, che contengono tutti gli esiti a cui la variabile aleatoria associa un valore minore o uguale a <Latex>t</Latex>.\n </p>\n <p>\n Per definizione, tutte le variabili aleatorie devono rispettare questa condizione:\n </p>\n <p>\n <Latex>{r`\\forall t \\in \\mathbb{R}, A_t \\in \\mathcal{F}`}</Latex>\n </p>\n <Example>\n All'aumentare di t, l'insieme conterrà sempre più elementi.\n </Example>\n </Panel>\n <Panel title={\"Supporto\"}>\n <blockquote>\n \"supporto di X\"\n </blockquote>\n <p>\n Il <b>codominio</b> della variabile aleatoria è il suo <i>supporto</i>.\n </p>\n <p>\n Per indicare che un valore <Latex>x_0</Latex> appartiene al supporto di <Latex>X</Latex>, si usa la notazione <Latex>X \\mapsto x_0</Latex>.\n </p>\n </Panel>\n </Split>\n <Split title={\"Densità\"}>\n <Panel title={\"Funzione probabilità\"}>\n <p>\n La <i>funzione probabilità</i> <Latex>{r`p_X : X \\to [0, 1]`}</Latex> di una variabile aleatoria <b>discreta</b> <Latex>X</Latex> è la funzione che associa ad ogni esito la sua probabilità:\n </p>\n <p>\n <Latex>{r`p_X (x) = \\begin{cases}\n P([X = x]) \\quad se\\ X \\mapsto x \\\\\n 0 \\qquad \\qquad \\quad se\\ X \\not\\mapsto x\n \\end{cases}`}</Latex>\n </p>\n </Panel>\n <Panel title={\"Funzione densità\"}>\n <p>\n La <i>funzione densità</i> <Latex>{r`f_X : X \\to [0, 1]`}</Latex> di una variabile aleatoria <b>continua</b> <Latex>X</Latex> è l'equivalente continuo della funzione probabilità:\n </p>\n <p>\n <Latex>{r`P([a < X \\leq b]) = \\int_a^b f_X (x) dx`}</Latex>\n </p>\n <p>\n A differenza della funzione probabilità, è possibile che la funzione densità <b>non esista</b> per una certa variabile aleatoria.\n </p>\n <Example>\n Rappresenta \"quanta\" probabilità c'è in un'unità di x!\n </Example>\n </Panel>\n </Split>\n <Split title={\"Funzione di ripartizione\"}>\n <Panel title={\"Definizione\"}>\n <p>\n Ogni variabile aleatoria ha una <i>funzione di ripartizione</i> <Latex>{r`F_X : \\mathbb{R} \\to [0, 1]`}</Latex> associata, che rappresenta la probabilità che la variabile aleatoria assuma un valore minore o uguale a <Latex>t</Latex>:\n </p>\n <p>\n Si può dire che essa rappresenti la probabilità dell'evento <Latex>{r`A_t`}</Latex>:\n </p>\n <p>\n <Latex>{r`F_X (t) = P(A_t) = \\begin{cases}\n \\sum_{x_i \\leq t} p_X (x_i) \\quad nel\\ discreto\\\\\n \\\\\n \\int_{-\\infty}^t f_X (x) dx \\quad nel\\ continuo\n \\end{cases}`}</Latex>\n </p>\n <p>\n <Todo>TODO: sintassi del libro che non mi piace</Todo>\n </p>\n </Panel>\n <Panel title={\"Proprietà della funzione\"}>\n <ul>\n <li>È sempre <b>monotona crescente</b> (non strettamente).</li><br/>\n <li>Vale <b>0</b> a <Latex>-\\infty</Latex> e <b>1</b> a <Latex>+\\infty</Latex>.</li><br/>\n <li>È <b>continua da destra</b>: <Latex>{r`\\forall x_0 \\in \\mathbb{R}, F_X (x_0) = \\lim_{t \\to x^+_0} F_X (t)`}</Latex></li>\n </ul>\n </Panel>\n <Panel title={\"Probabilità di un valore\"}>\n <p>\n Possiamo usare la funzione di ripartizione per calcolare la probabilità di un certo valore reale:\n </p>\n <p>\n <Latex>{r`P([X = x_0]) = \\lim_{t \\to x^+_0} F_X (t) - \\lim_{t \\to x^-_0} F_X (t)`}</Latex>\n </p>\n </Panel>\n </Split>\n <Split title={\"Trasformazioni di variabili aleatorie\"}>\n <Panel title={\"Nel discreto\"}>\n <p>\n Nel discreto basta abbinare un nuovo valore a ogni valore della variabile originale.\n </p>\n </Panel>\n <Panel title={\"Nel continuo (invertibile)\"}>\n {/*\n <Hypothesis>\n <ul>\n <li><Latex>{r`X`}</Latex> è una variabile aleatoria continua</li>\n <li><Latex>{r`Y = g(X)`}</Latex> è invertibile</li>\n </ul>\n </Hypothesis>\n <Thesis>\n <p>\n <Latex>{r`f_Y (y) = f_X ( g^{-1} (y) ) \\cdot \\left| g' (y) \\right|`}</Latex>\n </p>\n </Thesis>\n <Proof>\n <p>\n Per semplicità, assumiamo che <Latex>g</Latex> sia crescente.\n </p>\n <p>\n Allora possiamo scrivere la funzione di ripartizione di <Latex>Y</Latex> in termini di <Latex>f_X</Latex>:\n </p>\n <p>\n <Latex>{r`F_Y (y) = P( Y \\leq y ) = P( g(X) \\leq y ) = \\int_{g(x) \\leq y} f_X (x) dx`}</Latex>\n </p>\n <p>\n Integriamo per sostituzione <Latex>{r`x = h(t)`}</Latex>:\n </p>\n <p>\n <Latex>{r`\\int_{g(x) \\leq y} f_X (x) dx = \\int_{t \\leq y} f_X ( h(t) ) h'(t) dt`}</Latex>\n </p>\n </Proof>\n */}\n <p>\n Nel continuo applichiamo la formula dell'integrazione per sostituzione:\n </p>\n <p>\n <Latex>{r`f_Y (y) = \\int_{g(a)}^{g(b)} f_X ( g^{-1} (x) ) g^{-2} (x)`}</Latex>\n </p>\n </Panel>\n <Panel title={\"Nel... digitale\"}>\n <p>\n Trasformare variabili aleatorie è molto utile nell'informatica per creare distribuzioni partendo da una funzione <a href={\"https://docs.python.org/3/library/random.html#random.random\"}><code>random()</code></a> che restituisce numeri da 0 a 1 con una distribuzione lineare.\n </p>\n </Panel>\n </Split>\n <Split title={\"Informazioni delle variabili aleatorie\"}>\n <Panel title={\"Media\"}>\n <p>\n Ogni variabile aleatoria che ha una <b>funzione di ripartizione</b> e un <b>supporto finito</b> ha anche una <i>media</i> (o <i>valore medio</i> o <i>atteso</i>):\n </p>\n <p>\n <Latex>{r`E(X) = \\int_0^{+infty} (1 - F_X (t)) dt - \\int_{-\\infty}^{0} F_X (t) dt`}</Latex>\n </p>\n <p>\n Nel discreto, si può calcolare con:\n </p>\n <p>\n <Latex>{r`E(X) = \\sum_i P(X = x_i) \\cdot x_i`}</Latex>\n </p>\n <p>\n Nel continuo, si può calcolare con:\n </p>\n <p>\n <Latex>{r`E(X) = \\int_{-\\infty}^{+\\infty} f_X (x) \\cdot x \\cdot dx`}</Latex>\n </p>\n </Panel>\n </Split>\n <Split>\n <Panel title={\"Moda\"}>\n <p>\n Valore per cui la <b>funzione probabilità</b> o <b>funzione densità</b> è <b>massima</b>.\n </p>\n </Panel>\n <Panel title={\"Quantili\"}>\n <p>\n Il <i>quantile</i> <Latex>{r`x_{\\alpha}`}</Latex> di ordine <Latex>{r`0 \\leq \\alpha \\leq 1`}</Latex> della variabile aleatoria <Latex>X</Latex> è il più piccolo numero tale che:\n </p>\n <p>\n <Latex>\n {r`P([X < x_{\\alpha}]) \\leq \\alpha \\leq P([X \\leq x_{\\alpha}])`}\n </Latex>\n </p>\n <p>\n\n </p>\n <p>\n Il quantile di ordine 0.5 <Latex>{r`x_{0.5}`}</Latex> è detto <i>mediana</i>.\n </p>\n <p>\n I quantili di ordine 0.25 <Latex>{r`x_{0.25}`}</Latex> e 0.75 <Latex>{r`x_{0.75}`}</Latex> sono detti <i>quartili</i>.\n </p>\n <p>\n I quantili di ordine <Latex>{r`\\frac{n}{100}`}</Latex> sono detti <i><Latex>n</Latex>-esima percentile</i>.\n </p>\n </Panel>\n <Panel title={\"Varianza\"}>\n <p>\n È un valore che indica quanto la variabile aleatoria si discosta generalmente dalla media:\n </p>\n <p>\n <Latex>{r`Var(X) = E( (X - E(X) )^2 ) = E ( X^2 ) - (E(X))^2`}</Latex>\n </p>\n </Panel>\n </Split>\n <Split title={\"Disuguaglianze notevoli\"}>\n <Panel title={\"Disuguaglianza di Markov\"}>\n <p>\n La disuguaglianza di Markov serve a \"stabilire un limite superiore al valore della probabilità\" quando si è solo a conoscenza del valore atteso.\n </p>\n <p>\n <Latex>{r`\\forall K > 0, P([g(X) \\geq K]) \\leq \\frac{E(g(X))}{K}`}</Latex>\n </p>\n </Panel>\n <Panel title={\"Disuguaglianza di Čebyšëv\"}>\n <blockquote>\n \"disuguaglianza di cebicev\"\n </blockquote>\n <p>\n Se la variabile aleatoria <Latex>X</Latex> ha media e varianza, allora la probabilità che essa abbia un valore a più di <Latex>{r`\\epsilon`}</Latex> di distanza dal valore medio è minore o uguale a <Latex>{r`\\frac{Var(X)}{\\epsilon^2}`}</Latex>.\n </p>\n <p>\n <Latex>{r`\\forall \\epsilon > 0, P([ -\\epsilon \\leq \\left( X - E(X) \\right) \\leq \\epsilon]) \\leq \\frac{Var(X)}{\\epsilon^2}`}</Latex>\n </p>\n <Example>\n Serve per semplificare i calcoli quando la funzione di ripartizione è difficile da calcolare!\n </Example>\n </Panel>\n </Split>\n <Split title={\"Un momento...!\"}>\n <Panel title={\"Momento\"}>\n <p>\n Il <i>momento</i> <Latex>k</Latex>-esimo di una variabile aleatoria è:\n </p>\n <p>\n <Latex>\n {r`\\mu_k = E ( X^k ) = \\begin{cases}\n \\sum_i x_i^k p_X (x_i) \\qquad nel\\ discreto\\\\\n \\\\\n \\int_{-\\infty}^{+\\infty} x^k f_X (x) dx \\qquad nel\\ continuo\n \\end{cases}`}\n </Latex>\n </p>\n <Example>\n La media di una variabile aleatoria è anche il suo primo momento.\n </Example>\n </Panel>\n <Panel title={\"Funzione generatrice dei momenti\"}>\n <p>\n La <i>funzione generatrice dei momenti</i> è:\n </p>\n <p>\n <Latex>{r`m_X (t) = E( e^{t \\cdot X} )`}</Latex>\n </p>\n <p>\n Se due variabile aleatorie hanno la stessa funzione generatrice dei momenti, allora esse hanno la <b>stessa distribuzione</b>.\n </p>\n <p>\n E' la <b>trasformata di Laplace</b> della variabile aleatoria di X.\n </p>\n </Panel>\n <Panel title={\"Funzione caratteristica\"}>\n <p>\n La <i>funzione caratteristica</i> è:\n </p>\n <p>\n <Latex>{r`H_X (t) = E ( e^{i \\cdot t \\cdot X} )`}</Latex>\n </p>\n <p>\n Se due variabile aleatorie hanno la stessa funzione caratteristica, allora esse hanno la <b>stessa distribuzione</b>.\n </p>\n <p>\n E' la <b>trasformata di Fourier</b> della variabile aleatoria di X.\n </p>\n </Panel>\n </Split>\n <Split title={\"Prove e schemi\"}>\n <Panel title={\"Variabile con distribuzione\"}>\n <p>\n Per dire che una variabile ha una certa distribuzione, si usa la notazione:\n </p>\n <p>\n <Latex>{r`X \\sim Distribuzione()`}</Latex>\n </p>\n </Panel>\n <Panel title={\"Prova di Bernoulli\"}>\n <p>\n Una prova con solo due possibili esiti: <Plus>successo</Plus> e <Minus>insuccesso</Minus>.\n </p>\n </Panel>\n <Panel title={\"Schema di Bernoulli\"}>\n <p>\n Una sequenza di prove di Bernoulli per le quali le probabilità di successo e fallimento rimangono invariate.\n </p>\n </Panel>\n </Split>\n <Split title={\"Bernoulliana\"}>\n <Panel title={\"Distribuzione bernoulliana\"}>\n <p>\n Una variabile aleatoria che rappresenta una prova di Bernoulli:\n </p>\n <ul>\n <li>vale <Plus>1</Plus> in caso di <Plus>successo</Plus>.</li>\n <li>vale <Minus>0</Minus> in caso di <Minus>insuccesso</Minus>.</li>\n </ul>\n <p>\n Il suo simbolo è <Latex>{r`Ber(p)`}</Latex>\n </p>\n </Panel>\n <Panel title={\"Densità della bernoulliana\"}>\n <p>\n La distribuzione bernoulliana ha come densità:\n </p>\n <p>\n <Latex>{r`f_X (k) : \\{0, 1\\} = \\begin{cases}\n p \\quad se\\ k = 1\\\\\n q \\quad se\\ k = 0\\\\\n 0 \\quad altrimenti\n \\end{cases} = p^x \\cdot q^{1 - k}`}</Latex>\n </p>\n </Panel>\n </Split>\n <Split title={\"Binomiale\"}>\n <Panel title={\"Distribuzione binomiale\"}>\n <p>\n Una variabile aleatoria che conta il numero di successi di <Latex>n</Latex> prove di uno schema di Bernoulli.\n </p>\n <p>\n Il suo simbolo è <Latex>{r`Bin(n, p)`}</Latex>.\n </p>\n </Panel>\n <Panel title={\"Densità della binomiale\"}>\n <p>\n La binomiale ha come densità:\n </p>\n <p>\n <Latex>{r`f_X (k) : \\{0..n\\} = \\binom{n}{k} \\cdot p^k \\cdot q^{n - k}`}</Latex>\n </p>\n </Panel>\n <Panel title={\"Momenti della binomiale\"}>\n <p>\n La <b>funzione generatrice dei momenti</b> della binomiale è:\n </p>\n <p>\n <Latex>{r`m_X (t) = (q + p \\cdot e^t) ^ n`}</Latex>\n </p>\n <p>\n La <b>media</b> di una binomiale è:\n </p>\n <p>\n <Latex>{r`E(X) = n \\cdot p`}</Latex>\n </p>\n <p>\n La <b>varianza</b> di una binomiale è:\n </p>\n <p>\n <Latex>{r`Var(X) = n \\cdot p \\cdot q`}</Latex>\n </p>\n </Panel>\n </Split>\n <Split title={\"Geometrica\"}>\n <Panel title={\"Distribuzione geometrica\"}>\n <p>\n Una variabile aleatoria che conta il numero di prove in uno schema di Bernoulli fino alla comparsa del primo successo.\n </p>\n <p>\n Il suo simbolo è <Latex>Geo(p)</Latex>.\n </p>\n </Panel>\n <Panel title={\"Densità della geometrica\"}>\n <p>\n La geometrica ha come densità:\n </p>\n <p>\n <Latex>{r`f_X (k) : \\mathbb{N} = q^{k - 1} p`}</Latex>\n </p>\n </Panel>\n <Panel title={\"Momenti della geometrica\"}>\n <p>\n La <b>funzione generatrice dei momenti</b> della geometrica è:\n </p>\n <p>\n <Latex>{r`m_X (t) = \\frac{p \\cdot e^t}{1 - q \\cdot e^t}`}</Latex>\n </p>\n <p>\n La <b>media</b> della geometrica è:\n </p>\n <p>\n <Latex>{r`E(X) = \\frac{1}{p}`}</Latex>\n </p>\n <p>\n La <b>varianza</b> della geometrica è:\n </p>\n <p>\n <Latex>{r`Var(X) = \\frac{q}{p^2}`}</Latex>\n </p>\n </Panel>\n <Panel title={\"Assenza di memoria della geometrica\"}>\n <p>\n <Todo>TODO: Quella di uno studente all'esame.</Todo>\n </p>\n </Panel>\n </Split>\n <Split title={\"Binomiale negativa\"}>\n <Panel title={\"Distribuzione binomiale negativa\"}>\n <p>\n Una variabile aleatoria che conta il numero di prove in uno schema di Bernoulli necessarie perchè si verifichi l'<Latex>n</Latex>-esimo successo.\n </p>\n <p>\n Il suo simbolo è <Latex>{r`\\overline{Bin}(n, p)`}</Latex>.\n </p>\n </Panel>\n <Panel title={\"Densità della binomiale negativa\"}>\n <p>\n La binomiale negativa ha come densità:\n </p>\n <p>\n <Latex>{r`f_X (k) : \\{ n .. +\\infty \\} \\in \\mathbb{N} = \\binom{k - 1}{n - 1} \\cdot p^n \\cdot q^{k - n} `}</Latex>\n </p>\n </Panel>\n <Panel title={\"Momenti della binomiale negativa\"}>\n <p>\n <p>\n La <b>funzione generatrice dei momenti</b> della binomiale negativa è:\n </p>\n <p>\n <Latex>{r`m_X (t) : \\{ t < ln(\\frac{1}{q}) \\} = \\left( \\frac{p \\cdot e^t}{1 - q \\cdot e^t} \\right) ^n`}</Latex>\n </p>\n <p>\n La <b>media</b> della binomiale negativa è:\n </p>\n <p>\n <Latex>{r`E(X) = \\frac{n}{p}`}</Latex>\n </p>\n <p>\n La <b>varianza</b> della binomiale negativa è:\n </p>\n <p>\n <Latex>{r`Var(X) = \\frac{n \\cdot q}{p^2}`}</Latex>\n </p>\n </p>\n </Panel>\n </Split>\n <Split title={\"Geometrica traslata\"}>\n <Panel title={\"Distribuzione geometrica traslata\"}>\n <p>\n Una variabile aleatoria che conta il numero <Latex>k</Latex> di insuccessi consecutivi in uno schema di Bernoulli:\n </p>\n <p>\n Il suo simbolo rimane <Latex>{r`Geo(p)`}</Latex>.\n </p>\n </Panel>\n <Panel title={\"Densità della geometrica tralsata\"}>\n <p>\n La geometrica traslata ha come densità:\n </p>\n <p>\n <Latex>{r`f_X (k) : \\mathbb{N} = p \\cdot q^k `}</Latex>\n </p>\n </Panel>\n <Panel title={\"Momenti della geometrica traslata\"}>\n <p>\n La <b>funzione generatrice dei momenti</b> della geometrica traslata è:\n </p>\n <p>\n <Latex>{r`m_X (t) : \\left\\{ t < ln \\left( \\frac{1}{q} \\right) \\right\\} = \\frac{p}{1 - q \\cdot e^t}`}</Latex>\n </p>\n <p>\n La <b>media</b> della geometrica traslata è:\n </p>\n <p>\n <Latex>{r`E(X) = \\frac{q}{p}`}</Latex>\n </p>\n <p>\n La <b>varianza</b> della geometrica è:\n </p>\n <p>\n <Latex>{r`Var(X) = \\frac{q}{p^2}`}</Latex>\n </p>\n </Panel>\n <Panel title={\"Assenza di memoria della geometrica traslata\"}>\n <p>\n <Todo>TODO: Quella di uno studente all'esame.</Todo>\n </p>\n </Panel>\n </Split>\n <Split title={\"Binomiale negativa traslata\"}>\n <Panel title={\"Distribuzione binomiale negativa traslata\"}>\n <p>\n Una variabile aleatoria che conta il numero di insuccessi in uno schema di Bernoulli prima che si verifichi l'<Latex>n</Latex>-esimo successo.\n </p>\n <p>\n Il suo simbolo rimane <Latex>{r`\\overline{Bin}(n, p)`}</Latex>.\n </p>\n </Panel>\n <Panel title={\"Densità della binomiale negativa traslata\"}>\n <p>\n La binomiale negativa traslata ha come densità:\n </p>\n <p>\n <Latex>{r`f_X (k) : \\mathbb{N} = \\binom{k + n - 1}{n - 1} \\cdot p^n \\cdot q^k `}</Latex>\n </p>\n </Panel>\n <Panel title={\"Momenti della binomiale negativa traslata\"}>\n <p>\n <p>\n La <b>funzione generatrice dei momenti</b> della binomiale negativa traslata è:\n </p>\n <p>\n <Latex>{r`m_X (t) : \\left\\{ t < ln \\left( \\frac{1}{q} \\right) \\right\\} = \\left( \\frac{p \\cdot e^t}{1 - q \\cdot e^t} \\right) ^n`}</Latex>\n </p>\n <p>\n La <b>media</b> della binomiale negativa traslata è:\n </p>\n <p>\n <Latex>{r`E(X) = \\frac{n \\cdot q}{p}`}</Latex>\n </p>\n <p>\n La <b>varianza</b> della binomiale negativa traslata è:\n </p>\n <p>\n <Latex>{r`Var(X) = \\frac{n \\cdot q}{p^2}`}</Latex>\n </p>\n </p>\n </Panel>\n </Split>\n <Split title={\"Ipergeometrica\"}>\n <Todo>TODO: it's a bit weird</Todo>\n </Split>\n </div>\n )\n\t}\n}\n\n\n// WEBPACK FOOTER //\n// ./pages/statistica.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';\nimport Statistica from './pages/statistica';\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\t<Statistica path=\"/statistica\"/>\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__2fpjQ\"};\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__2d_8r\"};\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__22fOQ\"};\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./components/panel.css\n// module id = P9k+\n// module chunks = 0","// removed by extract-text-webpack-plugin\nmodule.exports = {\"example\":\"example__2CnC8\"};\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./components/example.css\n// module id = Xa+Z\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__1JPyf\"};\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./components/plus.css\n// module id = ddTt\n// module chunks = 0","// removed by extract-text-webpack-plugin\nmodule.exports = {\"theorem\":\"theorem__yukmA\"};\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./components/theorem.css\n// module id = oNmJ\n// module chunks = 0","// removed by extract-text-webpack-plugin\nmodule.exports = {\"hypothesis\":\"hypothesis__Ma0m3\"};\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./components/hypothesis.css\n// module id = pRAn\n// module chunks = 0","'use strict';\n\nvar _preact = require('preact');\n\nif (process.env.NODE_ENV === 'development') {\n\trequire('preact/devtools');\n} else if (process.env.ADD_SW && 'serviceWorker' in navigator && location.protocol === 'https:') {\n\tnavigator.serviceWorker.register(__webpack_public_path__ + 'sw.js');\n}\n\nconst interopDefault = m => m && m.default ? m.default : m;\n\nlet app = interopDefault(require('preact-cli-entrypoint'));\n\nif (typeof app === 'function') {\n\tlet root = document.body.firstElementChild;\n\n\tlet init = () => {\n\t\tlet app = interopDefault(require('preact-cli-entrypoint'));\n\t\troot = (0, _preact.render)((0, _preact.h)(app), document.body, root);\n\t};\n\n\tif (module.hot) module.hot.accept('preact-cli-entrypoint', init);\n\n\tinit();\n}\n\n\n// WEBPACK FOOTER //\n// ../node_modules/preact-cli/lib/lib/entry.js","// removed by extract-text-webpack-plugin\nmodule.exports = {\"copyright\":\"copyright__TBGn1\"};\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__5Soco\"};\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./components/todo.css\n// module id = tO1d\n// module chunks = 0"],"sourceRoot":""} |