{"version":3,"file":"static/npm.mdast-util-gfm-autolink-literal.514ca55b.js","mappings":"iHAAA,IAAIA,EAASC,EAAQ,OACjBC,EAAiBD,EAAQ,OACzBE,EAAqBF,EAAQ,MAC7BG,EAAoBH,EAAQ,OAoBhC,SAASI,EAA0BC,GACjCC,KAAKC,OAAOC,MAAMC,iBAAiBC,KAAKJ,KAAMD,EAChD,CA8BA,SAASM,EAAQC,EAAIC,EAAUC,EAAQC,EAAMC,GAC3C,IACIC,EACAC,EAFAC,EAAS,GAKb,QAAKC,EAASJ,KAKV,MAAMK,KAAKR,KACbC,EAASD,EAAWC,EACpBD,EAAW,GACXM,EAAS,aAuCb,SAAyBL,GACvB,IAAIG,EAAQH,EAAOQ,MAAM,KAEzB,GACEL,EAAMM,OAAS,GACdN,EAAMA,EAAMM,OAAS,KACnB,IAAIF,KAAKJ,EAAMA,EAAMM,OAAS,MAC5B,aAAaF,KAAKJ,EAAMA,EAAMM,OAAS,MAC3CN,EAAMA,EAAMM,OAAS,KACnB,IAAIF,KAAKJ,EAAMA,EAAMM,OAAS,MAC5B,aAAaF,KAAKJ,EAAMA,EAAMM,OAAS,KAE5C,OAAO,EAGT,OAAO,CACT,CApDOC,CAAgBV,QAIrBG,EAkDF,SAAkBQ,GAChB,IACIC,EACAC,EACAC,EAHAC,EAAQ,sBAAsBC,KAAKL,GAKvC,GAAII,EAOF,IANAJ,EAAMA,EAAIM,MAAM,EAAGF,EAAMG,OAEzBN,GADAG,EAAQA,EAAM,IACYI,QAAQ,KAClCN,EAAgB5B,EAAO0B,EAAK,KAC5BG,EAAgB7B,EAAO0B,EAAK,MAEE,IAAvBC,GAA4BC,EAAgBC,GACjDH,GAAOI,EAAME,MAAM,EAAGL,EAAoB,GAE1CA,GADAG,EAAQA,EAAME,MAAML,EAAoB,IACdO,QAAQ,KAClCL,IAIJ,MAAO,CAACH,EAAKI,EACf,CAxEUK,CAASpB,EAASC,IAEf,KAEXG,EAAS,CACPiB,KAAM,OACNC,MAAO,KACPX,IAAKN,EAASN,EAAWI,EAAM,GAC/BoB,SAAU,CAAC,CAACF,KAAM,OAAQG,MAAOzB,EAAWI,EAAM,MAGhDA,EAAM,KACRC,EAAS,CAACA,EAAQ,CAACiB,KAAM,OAAQG,MAAOrB,EAAM,MAGzCC,IACT,CAEA,SAASqB,EAAU3B,EAAI4B,EAAOC,EAAOzB,GAEnC,SAAKI,EAASJ,GAAO,IAAS,QAAQK,KAAKoB,KAIpC,CACLN,KAAM,OACNC,MAAO,KACPX,IAAK,UAAYe,EAAQ,IAAMC,EAC/BJ,SAAU,CAAC,CAACF,KAAM,OAAQG,MAAOE,EAAQ,IAAMC,IAEnD,CA4CA,SAASrB,EAASJ,EAAO0B,GACvB,IAAIC,EAAO3B,EAAM4B,MAAMC,WAAW7B,EAAMgB,MAAQ,GAChD,OACGW,IAASA,GAAQxC,EAAkBwC,IAASzC,EAAmByC,OAC9DD,GAAkB,KAATC,EAEf,CAvJAG,EAAQC,WAAa,CAuCrB,SAAsCC,GACpC/C,EACE+C,EACA,CACE,CAAC,iDAAkDrC,GACnD,CAAC,mCAAoC4B,IAEvC,CAACU,OAAQ,CAAC,OAAQ,kBAEtB,GA/CAH,EAAQtC,MAAQ,CACd0C,gBAYF,SAA8B7C,GAC5BC,KAAKE,MAAM,CAAC2B,KAAM,OAAQC,MAAO,KAAMX,IAAK,GAAIY,SAAU,IAAKhC,EACjE,EAbE8C,qBAAsB/C,EACtBgD,oBAAqBhD,EACrBiD,mBAAoBjD,GAEtB0C,EAAQQ,KAAO,CACbJ,gBA2BF,SAA6B7C,GAC3BC,KAAKgD,KAAKjD,EACZ,EA5BE8C,qBAsBF,SAAkC9C,GAChCC,KAAKC,OAAO+C,KAAKC,cAAc7C,KAAKJ,KAAMD,EAC5C,EAvBE+C,oBAYF,SAAiC/C,GAC/BC,KAAKC,OAAO+C,KAAK7C,iBAAiBC,KAAKJ,KAAMD,EAC/C,EAbEgD,mBAeF,SAAgChD,GAC9BC,KAAKC,OAAO+C,KAAKE,KAAK9C,KAAKJ,KAAMD,GACjCC,KAAKmD,MAAMnD,KAAKmD,MAAMlC,OAAS,GAAGE,IAAM,UAAYnB,KAAKoD,eAAerD,EAC1E,E,sBClCA,IAAIsD,EAAc,WACdC,EAAiB,CAAC,WAAY,OAAQ,QAAS,SAEnDd,EAAQe,OAAS,CACf,CACEC,UAAW,IACXC,OAAQ,aACRC,MAAO,YACPL,YAAaA,EACbC,eAAgBA,GAElB,CACEE,UAAW,IACXC,OAAQ,OACRC,MAAO,YACPL,YAAaA,EACbC,eAAgBA,GAElB,CACEE,UAAW,IACXC,OAAQ,OACRC,MAAO,MACPL,YAAaA,EACbC,eAAgBA,G","sources":["../node_modules/mdast-util-gfm-autolink-literal/from-markdown.js","../node_modules/mdast-util-gfm-autolink-literal/to-markdown.js"],"sourcesContent":["var ccount = require('ccount')\nvar findAndReplace = require('mdast-util-find-and-replace')\nvar unicodePunctuation = require('micromark/dist/character/unicode-punctuation')\nvar unicodeWhitespace = require('micromark/dist/character/unicode-whitespace')\n\nexports.transforms = [transformGfmAutolinkLiterals]\nexports.enter = {\n literalAutolink: enterLiteralAutolink,\n literalAutolinkEmail: enterLiteralAutolinkValue,\n literalAutolinkHttp: enterLiteralAutolinkValue,\n literalAutolinkWww: enterLiteralAutolinkValue\n}\nexports.exit = {\n literalAutolink: exitLiteralAutolink,\n literalAutolinkEmail: exitLiteralAutolinkEmail,\n literalAutolinkHttp: exitLiteralAutolinkHttp,\n literalAutolinkWww: exitLiteralAutolinkWww\n}\n\nfunction enterLiteralAutolink(token) {\n this.enter({type: 'link', title: null, url: '', children: []}, token)\n}\n\nfunction enterLiteralAutolinkValue(token) {\n this.config.enter.autolinkProtocol.call(this, token)\n}\n\nfunction exitLiteralAutolinkHttp(token) {\n this.config.exit.autolinkProtocol.call(this, token)\n}\n\nfunction exitLiteralAutolinkWww(token) {\n this.config.exit.data.call(this, token)\n this.stack[this.stack.length - 1].url = 'http://' + this.sliceSerialize(token)\n}\n\nfunction exitLiteralAutolinkEmail(token) {\n this.config.exit.autolinkEmail.call(this, token)\n}\n\nfunction exitLiteralAutolink(token) {\n this.exit(token)\n}\n\nfunction transformGfmAutolinkLiterals(tree) {\n findAndReplace(\n tree,\n [\n [/(https?:\\/\\/|www(?=\\.))([-.\\w]+)([^ \\t\\r\\n]*)/i, findUrl],\n [/([-.\\w+]+)@([-\\w]+(?:\\.[-\\w]+)+)/, findEmail]\n ],\n {ignore: ['link', 'linkReference']}\n )\n}\n\nfunction findUrl($0, protocol, domain, path, match) {\n var prefix = ''\n var parts\n var result\n\n // Not an expected previous character.\n if (!previous(match)) {\n return false\n }\n\n // Treat `www` as part of the domain.\n if (/^w/i.test(protocol)) {\n domain = protocol + domain\n protocol = ''\n prefix = 'http://'\n }\n\n if (!isCorrectDomain(domain)) {\n return false\n }\n\n parts = splitUrl(domain + path)\n\n if (!parts[0]) return false\n\n result = {\n type: 'link',\n title: null,\n url: prefix + protocol + parts[0],\n children: [{type: 'text', value: protocol + parts[0]}]\n }\n\n if (parts[1]) {\n result = [result, {type: 'text', value: parts[1]}]\n }\n\n return result\n}\n\nfunction findEmail($0, atext, label, match) {\n // Not an expected previous character.\n if (!previous(match, true) || /[_-]$/.test(label)) {\n return false\n }\n\n return {\n type: 'link',\n title: null,\n url: 'mailto:' + atext + '@' + label,\n children: [{type: 'text', value: atext + '@' + label}]\n }\n}\n\nfunction isCorrectDomain(domain) {\n var parts = domain.split('.')\n\n if (\n parts.length < 2 ||\n (parts[parts.length - 1] &&\n (/_/.test(parts[parts.length - 1]) ||\n !/[a-zA-Z\\d]/.test(parts[parts.length - 1]))) ||\n (parts[parts.length - 2] &&\n (/_/.test(parts[parts.length - 2]) ||\n !/[a-zA-Z\\d]/.test(parts[parts.length - 2])))\n ) {\n return false\n }\n\n return true\n}\n\nfunction splitUrl(url) {\n var trail = /[!\"&'),.:;<>?\\]}]+$/.exec(url)\n var closingParenIndex\n var openingParens\n var closingParens\n\n if (trail) {\n url = url.slice(0, trail.index)\n trail = trail[0]\n closingParenIndex = trail.indexOf(')')\n openingParens = ccount(url, '(')\n closingParens = ccount(url, ')')\n\n while (closingParenIndex !== -1 && openingParens > closingParens) {\n url += trail.slice(0, closingParenIndex + 1)\n trail = trail.slice(closingParenIndex + 1)\n closingParenIndex = trail.indexOf(')')\n closingParens++\n }\n }\n\n return [url, trail]\n}\n\nfunction previous(match, email) {\n var code = match.input.charCodeAt(match.index - 1)\n return (\n (code !== code || unicodeWhitespace(code) || unicodePunctuation(code)) &&\n (!email || code !== 47)\n )\n}\n","var inConstruct = 'phrasing'\nvar notInConstruct = ['autolink', 'link', 'image', 'label']\n\nexports.unsafe = [\n {\n character: '@',\n before: '[+\\\\-.\\\\w]',\n after: '[\\\\-.\\\\w]',\n inConstruct: inConstruct,\n notInConstruct: notInConstruct\n },\n {\n character: '.',\n before: '[Ww]',\n after: '[\\\\-.\\\\w]',\n inConstruct: inConstruct,\n notInConstruct: notInConstruct\n },\n {\n character: ':',\n before: '[ps]',\n after: '\\\\/',\n inConstruct: inConstruct,\n notInConstruct: notInConstruct\n }\n]\n"],"names":["ccount","require","findAndReplace","unicodePunctuation","unicodeWhitespace","enterLiteralAutolinkValue","token","this","config","enter","autolinkProtocol","call","findUrl","$0","protocol","domain","path","match","parts","result","prefix","previous","test","split","length","isCorrectDomain","url","closingParenIndex","openingParens","closingParens","trail","exec","slice","index","indexOf","splitUrl","type","title","children","value","findEmail","atext","label","email","code","input","charCodeAt","exports","transforms","tree","ignore","literalAutolink","literalAutolinkEmail","literalAutolinkHttp","literalAutolinkWww","exit","autolinkEmail","data","stack","sliceSerialize","inConstruct","notInConstruct","unsafe","character","before","after"],"sourceRoot":""}