highlight.min.js 178 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697989910010110210310410510610710810911011111211311411511611711811912012112212312412512612712812913013113213313413513613713813914014114214314414514614714814915015115215315415515615715815916016116216316416516616716816917017117217317417517617717817918018118218318418518618718818919019119219319419519619719819920020120220320420520620720820921021121221321421521621721821922022122222322422522622722822923023123223323423523623723823924024124224324424524624724824925025125225325425525625725825926026126226326426526626726826927027127227327427527627727827928028128228328428528628728828929029129229329429529629729829930030130230330430530630730830931031131231331431531631731831932032132232332432532632732832933033133233333433533633733833934034134234334434534634734834935035135235335435535635735835936036136236336436536636736836937037137237337437537637737837938038138238338438538638738838939039139239339439539639739839940040140240340440540640740840941041141241341441541641741841942042142242342442542642742842943043143243343443543643743843944044144244344444544644744844945045145245345445545645745845946046146246346446546646746846947047147247347447547647747847948048148248348448548648748848949049149249349449549649749849950050150250350450550650750850951051151251351451551651751851952052152252352452552652752852953053153253353453553653753853954054154254354454554654754854955055155255355455555655755855956056156256356456556656756856957057157257357457557657757857958058158258358458558658758858959059159259359459559659759859960060160260360460560660760860961061161261361461561661761861962062162262362462562662762862963063163263363463563663763863964064164264364464564664764864965065165265365465565665765865966066166266366466566666766866967067167267367467567667767867968068168268368468568668768868969069169269369469569669769869970070170270370470570670770870971071171271371471571671771871972072172272372472572672772872973073173273373473573673773873974074174274374474574674774874975075175275375475575675775875976076176276376476576676776876977077177277377477577677777877978078178278378478578678778878979079179279379479579679779879980080180280380480580680780880981081181281381481581681781881982082182282382482582682782882983083183283383483583683783883984084184284384484584684784884985085185285385485585685785885986086186286386486586686786886987087187287387487587687787887988088188288388488588688788888989089189289389489589689789889990090190290390490590690790890991091191291391491591691791891992092192292392492592692792892993093193293393493593693793893994094194294394494594694794894995095195295395495595695795895996096196296396496596696796896997097197297397497597697797897998098198298398498598698798898999099199299399499599699799899910001001100210031004100510061007100810091010101110121013101410151016101710181019102010211022102310241025102610271028102910301031103210331034103510361037103810391040104110421043104410451046104710481049105010511052105310541055105610571058105910601061106210631064106510661067106810691070107110721073107410751076107710781079108010811082108310841085108610871088108910901091109210931094109510961097109810991100110111021103110411051106110711081109111011111112111311141115111611171118111911201121112211231124112511261127112811291130113111321133113411351136113711381139114011411142114311441145114611471148114911501151115211531154115511561157115811591160116111621163116411651166116711681169117011711172117311741175117611771178117911801181118211831184118511861187118811891190119111921193119411951196119711981199120012011202120312041205120612071208120912101211121212131214121512161217121812191220122112221223122412251226122712281229123012311232123312341235123612371238123912401241124212431244124512461247124812491250125112521253125412551256125712581259126012611262126312641265126612671268126912701271127212731274127512761277127812791280128112821283128412851286128712881289129012911292129312941295129612971298129913001301130213031304130513061307130813091310131113121313131413151316131713181319132013211322132313241325132613271328132913301331133213331334133513361337133813391340134113421343134413451346134713481349135013511352135313541355135613571358135913601361136213631364136513661367136813691370137113721373137413751376137713781379138013811382138313841385138613871388138913901391139213931394139513961397139813991400140114021403140414051406140714081409141014111412141314141415141614171418141914201421142214231424142514261427142814291430143114321433143414351436143714381439144014411442144314441445144614471448144914501451145214531454145514561457145814591460146114621463146414651466146714681469147014711472147314741475147614771478147914801481148214831484148514861487148814891490149114921493149414951496149714981499150015011502150315041505150615071508150915101511151215131514151515161517151815191520152115221523152415251526152715281529153015311532153315341535153615371538153915401541154215431544154515461547154815491550155115521553155415551556155715581559156015611562156315641565156615671568156915701571157215731574157515761577157815791580158115821583158415851586158715881589159015911592159315941595159615971598159916001601160216031604160516061607160816091610161116121613161416151616161716181619162016211622162316241625162616271628162916301631163216331634163516361637163816391640164116421643164416451646164716481649165016511652165316541655165616571658165916601661166216631664166516661667166816691670167116721673167416751676167716781679168016811682168316841685168616871688168916901691169216931694169516961697169816991700170117021703170417051706170717081709171017111712171317141715171617171718171917201721172217231724172517261727172817291730173117321733173417351736173717381739174017411742174317441745174617471748174917501751175217531754175517561757175817591760176117621763176417651766176717681769177017711772177317741775177617771778177917801781178217831784178517861787178817891790179117921793179417951796179717981799180018011802180318041805180618071808180918101811181218131814181518161817181818191820182118221823182418251826182718281829183018311832183318341835183618371838183918401841184218431844184518461847184818491850185118521853185418551856185718581859186018611862186318641865186618671868186918701871187218731874187518761877187818791880188118821883188418851886188718881889189018911892189318941895189618971898189919001901190219031904190519061907190819091910191119121913191419151916191719181919192019211922192319241925192619271928192919301931193219331934193519361937193819391940194119421943194419451946194719481949195019511952195319541955195619571958195919601961196219631964196519661967196819691970197119721973197419751976197719781979198019811982198319841985198619871988198919901991199219931994199519961997199819992000200120022003200420052006200720082009201020112012201320142015201620172018201920202021202220232024202520262027202820292030203120322033203420352036203720382039204020412042204320442045204620472048204920502051205220532054205520562057205820592060206120622063206420652066206720682069207020712072207320742075207620772078207920802081208220832084208520862087208820892090209120922093209420952096209720982099210021012102210321042105210621072108210921102111211221132114211521162117211821192120212121222123212421252126212721282129213021312132213321342135213621372138213921402141214221432144214521462147214821492150215121522153215421552156215721582159216021612162216321642165216621672168216921702171217221732174217521762177217821792180218121822183218421852186218721882189219021912192219321942195219621972198219922002201220222032204220522062207220822092210221122122213221422152216221722182219222022212222222322242225222622272228222922302231223222332234223522362237223822392240224122422243224422452246224722482249225022512252225322542255225622572258225922602261226222632264226522662267226822692270227122722273227422752276227722782279228022812282228322842285228622872288228922902291229222932294229522962297229822992300230123022303230423052306230723082309231023112312231323142315231623172318231923202321232223232324232523262327232823292330233123322333233423352336233723382339234023412342234323442345234623472348234923502351235223532354235523562357235823592360236123622363236423652366236723682369237023712372237323742375237623772378237923802381238223832384238523862387238823892390239123922393239423952396239723982399240024012402240324042405240624072408240924102411241224132414241524162417241824192420242124222423242424252426242724282429243024312432243324342435243624372438243924402441244224432444244524462447244824492450245124522453245424552456245724582459246024612462246324642465246624672468246924702471247224732474247524762477247824792480248124822483248424852486248724882489249024912492249324942495249624972498249925002501250225032504250525062507250825092510251125122513251425152516251725182519252025212522252325242525252625272528252925302531253225332534253525362537253825392540254125422543254425452546254725482549255025512552255325542555255625572558255925602561256225632564256525662567256825692570257125722573257425752576257725782579258025812582258325842585258625872588258925902591259225932594259525962597259825992600260126022603260426052606260726082609261026112612261326142615261626172618261926202621262226232624262526262627262826292630263126322633263426352636263726382639264026412642264326442645264626472648264926502651265226532654265526562657265826592660266126622663266426652666266726682669267026712672267326742675267626772678267926802681268226832684268526862687268826892690269126922693269426952696269726982699270027012702270327042705270627072708270927102711271227132714271527162717271827192720272127222723272427252726272727282729273027312732273327342735273627372738
  1. /*!
  2. Highlight.js v11.3.1 (git: 2a972d8658)
  3. (c) 2006-2021 Ivan Sagalaev and other contributors
  4. License: BSD-3-Clause
  5. */
  6. var hljs = function () {
  7. "use strict"; var e = { exports: {} }; function t(e) {
  8. return e instanceof Map ? e.clear = e.delete = e.set = () => {
  9. throw Error("map is read-only")
  10. } : e instanceof Set && (e.add = e.clear = e.delete = () => {
  11. throw Error("set is read-only")
  12. }), Object.freeze(e), Object.getOwnPropertyNames(e).forEach((n => {
  13. var i = e[n]
  14. ; "object" != typeof i || Object.isFrozen(i) || t(i)
  15. })), e
  16. }
  17. e.exports = t, e.exports.default = t; var n = e.exports; class i {
  18. constructor(e) {
  19. void 0 === e.data && (e.data = {}), this.data = e.data, this.isMatchIgnored = !1
  20. }
  21. ignoreMatch() { this.isMatchIgnored = !0 }
  22. } function r(e) {
  23. return e.replace(/&/g, "&amp;").replace(/</g, "&lt;").replace(/>/g, "&gt;").replace(/"/g, "&quot;").replace(/'/g, "&#x27;")
  24. } function s(e, ...t) {
  25. const n = Object.create(null); for (const t in e) n[t] = e[t]
  26. ; return t.forEach((e => { for (const t in e) n[t] = e[t] })), n
  27. } const o = e => !!e.kind
  28. ; class a {
  29. constructor(e, t) {
  30. this.buffer = "", this.classPrefix = t.classPrefix, e.walk(this)
  31. } addText(e) {
  32. this.buffer += r(e)
  33. } openNode(e) {
  34. if (!o(e)) return; let t = e.kind
  35. ; t = e.sublanguage ? "language-" + t : ((e, { prefix: t }) => {
  36. if (e.includes(".")) {
  37. const n = e.split(".")
  38. ; return [`${t}${n.shift()}`, ...n.map(((e, t) => `${e}${"_".repeat(t + 1)}`))].join(" ")
  39. } return `${t}${e}`
  40. })(t, { prefix: this.classPrefix }), this.span(t)
  41. } closeNode(e) {
  42. o(e) && (this.buffer += "</span>")
  43. } value() { return this.buffer } span(e) {
  44. this.buffer += `<span class="${e}">`
  45. }
  46. } class c {
  47. constructor() {
  48. this.rootNode = {
  49. children: []
  50. }, this.stack = [this.rootNode]
  51. } get top() {
  52. return this.stack[this.stack.length - 1]
  53. } get root() { return this.rootNode } add(e) {
  54. this.top.children.push(e)
  55. } openNode(e) {
  56. const t = { kind: e, children: [] }
  57. ; this.add(t), this.stack.push(t)
  58. } closeNode() {
  59. if (this.stack.length > 1) return this.stack.pop()
  60. } closeAllNodes() {
  61. for (; this.closeNode(););
  62. } toJSON() { return JSON.stringify(this.rootNode, null, 4) }
  63. walk(e) { return this.constructor._walk(e, this.rootNode) } static _walk(e, t) {
  64. return "string" == typeof t ? e.addText(t) : t.children && (e.openNode(t),
  65. t.children.forEach((t => this._walk(e, t))), e.closeNode(t)), e
  66. } static _collapse(e) {
  67. "string" != typeof e && e.children && (e.children.every((e => "string" == typeof e)) ? e.children = [e.children.join("")] : e.children.forEach((e => {
  68. c._collapse(e)
  69. })))
  70. }
  71. } class l extends c {
  72. constructor(e) { super(), this.options = e }
  73. addKeyword(e, t) { "" !== e && (this.openNode(t), this.addText(e), this.closeNode()) }
  74. addText(e) { "" !== e && this.add(e) } addSublanguage(e, t) {
  75. const n = e.root
  76. ; n.kind = t, n.sublanguage = !0, this.add(n)
  77. } toHTML() {
  78. return new a(this, this.options).value()
  79. } finalize() { return !0 }
  80. } function g(e) {
  81. return e ? "string" == typeof e ? e : e.source : null
  82. } function d(e) { return f("(?=", e, ")") }
  83. function u(e) { return f("(?:", e, ")*") } function h(e) { return f("(?:", e, ")?") }
  84. function f(...e) { return e.map((e => g(e))).join("") } function p(...e) {
  85. const t = (e => {
  86. const t = e[e.length - 1]
  87. ; return "object" == typeof t && t.constructor === Object ? (e.splice(e.length - 1, 1), t) : {}
  88. })(e); return "(" + (t.capture ? "" : "?:") + e.map((e => g(e))).join("|") + ")"
  89. }
  90. function b(e) { return RegExp(e.toString() + "|").exec("").length - 1 }
  91. const m = /\[(?:[^\\\]]|\\.)*\]|\(\??|\\([1-9][0-9]*)|\\./
  92. ; function E(e, { joinWith: t }) {
  93. let n = 0; return e.map((e => {
  94. n += 1; const t = n
  95. ; let i = g(e), r = ""; for (; i.length > 0;) {
  96. const e = m.exec(i); if (!e) { r += i; break }
  97. r += i.substring(0, e.index),
  98. i = i.substring(e.index + e[0].length), "\\" === e[0][0] && e[1] ? r += "\\" + (Number(e[1]) + t) : (r += e[0],
  99. "(" === e[0] && n++)
  100. } return r
  101. })).map((e => `(${e})`)).join(t)
  102. }
  103. const x = "[a-zA-Z]\\w*", w = "[a-zA-Z_]\\w*", y = "\\b\\d+(\\.\\d+)?", _ = "(-?)(\\b0[xX][a-fA-F0-9]+|(\\b\\d+(\\.\\d*)?|\\.\\d+)([eE][-+]?\\d+)?)", v = "\\b(0b[01]+)", O = {
  104. begin: "\\\\[\\s\\S]", relevance: 0
  105. }, k = {
  106. scope: "string", begin: "'", end: "'",
  107. illegal: "\\n", contains: [O]
  108. }, N = {
  109. scope: "string", begin: '"', end: '"', illegal: "\\n",
  110. contains: [O]
  111. }, M = (e, t, n = {}) => {
  112. const i = s({
  113. scope: "comment", begin: e, end: t,
  114. contains: []
  115. }, n); i.contains.push({
  116. scope: "doctag",
  117. begin: "[ ]*(?=(TODO|FIXME|NOTE|BUG|OPTIMIZE|HACK|XXX):)",
  118. end: /(TODO|FIXME|NOTE|BUG|OPTIMIZE|HACK|XXX):/, excludeBegin: !0, relevance: 0
  119. })
  120. ; const r = p("I", "a", "is", "so", "us", "to", "at", "if", "in", "it", "on", /[A-Za-z]+['](d|ve|re|ll|t|s|n)/, /[A-Za-z]+[-][a-z]+/, /[A-Za-z][a-z]{2,}/)
  121. ; return i.contains.push({ begin: f(/[ ]+/, "(", r, /[.]?[:]?([.][ ]|[ ])/, "){3}") }), i
  122. }, S = M("//", "$"), R = M("/\\*", "\\*/"), j = M("#", "$"); var A = Object.freeze({
  123. __proto__: null, MATCH_NOTHING_RE: /\b\B/, IDENT_RE: x, UNDERSCORE_IDENT_RE: w,
  124. NUMBER_RE: y, C_NUMBER_RE: _, BINARY_NUMBER_RE: v,
  125. RE_STARTERS_RE: "!|!=|!==|%|%=|&|&&|&=|\\*|\\*=|\\+|\\+=|,|-|-=|/=|/|:|;|<<|<<=|<=|<|===|==|=|>>>=|>>=|>=|>>>|>>|>|\\?|\\[|\\{|\\(|\\^|\\^=|\\||\\|=|\\|\\||~",
  126. SHEBANG: (e = {}) => {
  127. const t = /^#![ ]*\//
  128. ; return e.binary && (e.begin = f(t, /.*\b/, e.binary, /\b.*/)), s({
  129. scope: "meta", begin: t,
  130. end: /$/, relevance: 0, "on:begin": (e, t) => { 0 !== e.index && t.ignoreMatch() }
  131. }, e)
  132. },
  133. BACKSLASH_ESCAPE: O, APOS_STRING_MODE: k, QUOTE_STRING_MODE: N, PHRASAL_WORDS_MODE: {
  134. begin: /\b(a|an|the|are|I'm|isn't|don't|doesn't|won't|but|just|should|pretty|simply|enough|gonna|going|wtf|so|such|will|you|your|they|like|more)\b/
  135. }, COMMENT: M, C_LINE_COMMENT_MODE: S, C_BLOCK_COMMENT_MODE: R, HASH_COMMENT_MODE: j,
  136. NUMBER_MODE: { scope: "number", begin: y, relevance: 0 }, C_NUMBER_MODE: {
  137. scope: "number",
  138. begin: _, relevance: 0
  139. }, BINARY_NUMBER_MODE: { scope: "number", begin: v, relevance: 0 },
  140. REGEXP_MODE: {
  141. begin: /(?=\/[^/\n]*\/)/, contains: [{
  142. scope: "regexp", begin: /\//,
  143. end: /\/[gimuy]*/, illegal: /\n/, contains: [O, {
  144. begin: /\[/, end: /\]/, relevance: 0,
  145. contains: [O]
  146. }]
  147. }]
  148. }, TITLE_MODE: { scope: "title", begin: x, relevance: 0 },
  149. UNDERSCORE_TITLE_MODE: { scope: "title", begin: w, relevance: 0 }, METHOD_GUARD: {
  150. begin: "\\.\\s*[a-zA-Z_]\\w*", relevance: 0
  151. }, END_SAME_AS_BEGIN: e => Object.assign(e, {
  152. "on:begin": (e, t) => { t.data._beginMatch = e[1] }, "on:end": (e, t) => {
  153. t.data._beginMatch !== e[1] && t.ignoreMatch()
  154. }
  155. })
  156. }); function I(e, t) {
  157. "." === e.input[e.index - 1] && t.ignoreMatch()
  158. } function T(e, t) {
  159. void 0 !== e.className && (e.scope = e.className, delete e.className)
  160. } function L(e, t) {
  161. t && e.beginKeywords && (e.begin = "\\b(" + e.beginKeywords.split(" ").join("|") + ")(?!\\.)(?=\\b|\\s)",
  162. e.__beforeBegin = I, e.keywords = e.keywords || e.beginKeywords, delete e.beginKeywords,
  163. void 0 === e.relevance && (e.relevance = 0))
  164. } function B(e, t) {
  165. Array.isArray(e.illegal) && (e.illegal = p(...e.illegal))
  166. } function D(e, t) {
  167. if (e.match) {
  168. if (e.begin || e.end) throw Error("begin & end are not supported with match")
  169. ; e.begin = e.match, delete e.match
  170. }
  171. } function P(e, t) {
  172. void 0 === e.relevance && (e.relevance = 1)
  173. } const H = (e, t) => {
  174. if (!e.beforeMatch) return
  175. ; if (e.starts) throw Error("beforeMatch cannot be used with starts")
  176. ; const n = Object.assign({}, e); Object.keys(e).forEach((t => {
  177. delete e[t]
  178. })), e.keywords = n.keywords, e.begin = f(n.beforeMatch, d(n.begin)), e.starts = {
  179. relevance: 0, contains: [Object.assign(n, { endsParent: !0 })]
  180. }, e.relevance = 0, delete n.beforeMatch
  181. }, C = ["of", "and", "for", "in", "not", "or", "if", "then", "parent", "list", "value"]
  182. ; function $(e, t, n = "keyword") {
  183. const i = Object.create(null)
  184. ; return "string" == typeof e ? r(n, e.split(" ")) : Array.isArray(e) ? r(n, e) : Object.keys(e).forEach((n => {
  185. Object.assign(i, $(e[n], t, n))
  186. })), i; function r(e, n) {
  187. t && (n = n.map((e => e.toLowerCase()))), n.forEach((t => {
  188. const n = t.split("|")
  189. ; i[n[0]] = [e, U(n[0], n[1])]
  190. }))
  191. }
  192. } function U(e, t) {
  193. return t ? Number(t) : (e => C.includes(e.toLowerCase()))(e) ? 0 : 1
  194. } const z = {}, K = e => {
  195. console.error(e)
  196. }, W = (e, ...t) => { console.log("WARN: " + e, ...t) }, X = (e, t) => {
  197. z[`${e}/${t}`] || (console.log(`Deprecated as of ${e}. ${t}`), z[`${e}/${t}`] = !0)
  198. }, G = Error(); function Z(e, t, { key: n }) {
  199. let i = 0; const r = e[n], s = {}, o = {}
  200. ; for (let e = 1; e <= t.length; e++)o[e + i] = r[e], s[e + i] = !0, i += b(t[e - 1])
  201. ; e[n] = o, e[n]._emit = s, e[n]._multi = !0
  202. } function F(e) {
  203. (e => {
  204. e.scope && "object" == typeof e.scope && null !== e.scope && (e.beginScope = e.scope,
  205. delete e.scope)
  206. })(e), "string" == typeof e.beginScope && (e.beginScope = {
  207. _wrap: e.beginScope
  208. }), "string" == typeof e.endScope && (e.endScope = {
  209. _wrap: e.endScope
  210. }), (e => {
  211. if (Array.isArray(e.begin)) {
  212. if (e.skip || e.excludeBegin || e.returnBegin) throw K("skip, excludeBegin, returnBegin not compatible with beginScope: {}"),
  213. G
  214. ; if ("object" != typeof e.beginScope || null === e.beginScope) throw K("beginScope must be object"),
  215. G; Z(e, e.begin, { key: "beginScope" }), e.begin = E(e.begin, { joinWith: "" })
  216. }
  217. })(e), (e => {
  218. if (Array.isArray(e.end)) {
  219. if (e.skip || e.excludeEnd || e.returnEnd) throw K("skip, excludeEnd, returnEnd not compatible with endScope: {}"),
  220. G
  221. ; if ("object" != typeof e.endScope || null === e.endScope) throw K("endScope must be object"),
  222. G; Z(e, e.end, { key: "endScope" }), e.end = E(e.end, { joinWith: "" })
  223. }
  224. })(e)
  225. } function V(e) {
  226. function t(t, n) {
  227. return RegExp(g(t), "m" + (e.case_insensitive ? "i" : "") + (e.unicodeRegex ? "u" : "") + (n ? "g" : ""))
  228. } class n {
  229. constructor() {
  230. this.matchIndexes = {}, this.regexes = [], this.matchAt = 1, this.position = 0
  231. }
  232. addRule(e, t) {
  233. t.position = this.position++, this.matchIndexes[this.matchAt] = t, this.regexes.push([t, e]),
  234. this.matchAt += b(e) + 1
  235. } compile() {
  236. 0 === this.regexes.length && (this.exec = () => null)
  237. ; const e = this.regexes.map((e => e[1])); this.matcherRe = t(E(e, {
  238. joinWith: "|"
  239. }), !0), this.lastIndex = 0
  240. } exec(e) {
  241. this.matcherRe.lastIndex = this.lastIndex
  242. ; const t = this.matcherRe.exec(e); if (!t) return null
  243. ; const n = t.findIndex(((e, t) => t > 0 && void 0 !== e)), i = this.matchIndexes[n]
  244. ; return t.splice(0, n), Object.assign(t, i)
  245. }
  246. } class i {
  247. constructor() {
  248. this.rules = [], this.multiRegexes = [],
  249. this.count = 0, this.lastIndex = 0, this.regexIndex = 0
  250. } getMatcher(e) {
  251. if (this.multiRegexes[e]) return this.multiRegexes[e]; const t = new n
  252. ; return this.rules.slice(e).forEach((([e, n]) => t.addRule(e, n))),
  253. t.compile(), this.multiRegexes[e] = t, t
  254. } resumingScanAtSamePosition() {
  255. return 0 !== this.regexIndex
  256. } considerAll() { this.regexIndex = 0 } addRule(e, t) {
  257. this.rules.push([e, t]), "begin" === t.type && this.count++
  258. } exec(e) {
  259. const t = this.getMatcher(this.regexIndex); t.lastIndex = this.lastIndex
  260. ; let n = t.exec(e)
  261. ; if (this.resumingScanAtSamePosition()) if (n && n.index === this.lastIndex); else {
  262. const t = this.getMatcher(0); t.lastIndex = this.lastIndex + 1, n = t.exec(e)
  263. }
  264. return n && (this.regexIndex += n.position + 1,
  265. this.regexIndex === this.count && this.considerAll()), n
  266. }
  267. }
  268. if (e.compilerExtensions || (e.compilerExtensions = []),
  269. e.contains && e.contains.includes("self")) throw Error("ERR: contains `self` is not supported at the top-level of a language. See documentation.")
  270. ; return e.classNameAliases = s(e.classNameAliases || {}), function n(r, o) {
  271. const a = r
  272. ; if (r.isCompiled) return a
  273. ;[T, D, F, H].forEach((e => e(r, o))), e.compilerExtensions.forEach((e => e(r, o))),
  274. r.__beforeBegin = null, [L, B, P].forEach((e => e(r, o))), r.isCompiled = !0; let c = null
  275. ; return "object" == typeof r.keywords && r.keywords.$pattern && (r.keywords = Object.assign({}, r.keywords),
  276. c = r.keywords.$pattern,
  277. delete r.keywords.$pattern), c = c || /\w+/, r.keywords && (r.keywords = $(r.keywords, e.case_insensitive)),
  278. a.keywordPatternRe = t(c, !0),
  279. o && (r.begin || (r.begin = /\B|\b/), a.beginRe = t(a.begin), r.end || r.endsWithParent || (r.end = /\B|\b/),
  280. r.end && (a.endRe = t(a.end)),
  281. a.terminatorEnd = g(a.end) || "", r.endsWithParent && o.terminatorEnd && (a.terminatorEnd += (r.end ? "|" : "") + o.terminatorEnd)),
  282. r.illegal && (a.illegalRe = t(r.illegal)),
  283. r.contains || (r.contains = []), r.contains = [].concat(...r.contains.map((e => (e => (e.variants && !e.cachedVariants && (e.cachedVariants = e.variants.map((t => s(e, {
  284. variants: null
  285. }, t)))), e.cachedVariants ? e.cachedVariants : q(e) ? s(e, {
  286. starts: e.starts ? s(e.starts) : null
  287. }) : Object.isFrozen(e) ? s(e) : e))("self" === e ? r : e)))), r.contains.forEach((e => {
  288. n(e, a)
  289. })), r.starts && n(r.starts, o), a.matcher = (e => {
  290. const t = new i
  291. ; return e.contains.forEach((e => t.addRule(e.begin, {
  292. rule: e, type: "begin"
  293. }))), e.terminatorEnd && t.addRule(e.terminatorEnd, {
  294. type: "end"
  295. }), e.illegal && t.addRule(e.illegal, { type: "illegal" }), t
  296. })(a), a
  297. }(e)
  298. } function q(e) {
  299. return !!e && (e.endsWithParent || q(e.starts))
  300. } class J extends Error {
  301. constructor(e, t) { super(e), this.name = "HTMLInjectionError", this.html = t }
  302. }
  303. const Y = r, Q = s, ee = Symbol("nomatch"); var te = (e => {
  304. const t = Object.create(null), r = Object.create(null), s = []; let o = !0
  305. ; const a = "Could not find the language '{}', did you forget to load/include a language module?", c = {
  306. disableAutodetect: !0, name: "Plain text", contains: []
  307. }; let g = {
  308. ignoreUnescapedHTML: !1, throwUnescapedHTML: !1, noHighlightRe: /^(no-?highlight)$/i,
  309. languageDetectRe: /\blang(?:uage)?-([\w-]+)\b/i, classPrefix: "hljs-",
  310. cssSelector: "pre code", languages: null, __emitter: l
  311. }; function b(e) {
  312. return g.noHighlightRe.test(e)
  313. } function m(e, t, n) {
  314. let i = "", r = ""
  315. ; "object" == typeof t ? (i = e,
  316. n = t.ignoreIllegals, r = t.language) : (X("10.7.0", "highlight(lang, code, ...args) has been deprecated."),
  317. X("10.7.0", "Please use highlight(code, options) instead.\nhttps://github.com/highlightjs/highlight.js/issues/2277"),
  318. r = e, i = t), void 0 === n && (n = !0); const s = { code: i, language: r }; N("before:highlight", s)
  319. ; const o = s.result ? s.result : E(s.language, s.code, n)
  320. ; return o.code = s.code, N("after:highlight", o), o
  321. } function E(e, n, r, s) {
  322. const c = Object.create(null); function l() {
  323. if (!k.keywords) return void M.addText(S)
  324. ; let e = 0; k.keywordPatternRe.lastIndex = 0; let t = k.keywordPatternRe.exec(S), n = ""
  325. ; for (; t;) {
  326. n += S.substring(e, t.index)
  327. ; const r = y.case_insensitive ? t[0].toLowerCase() : t[0], s = (i = r, k.keywords[i]); if (s) {
  328. const [e, i] = s
  329. ; if (M.addText(n), n = "", c[r] = (c[r] || 0) + 1, c[r] <= 7 && (R += i), e.startsWith("_")) n += t[0]; else {
  330. const n = y.classNameAliases[e] || e; M.addKeyword(t[0], n)
  331. }
  332. } else n += t[0]
  333. ; e = k.keywordPatternRe.lastIndex, t = k.keywordPatternRe.exec(S)
  334. } var i
  335. ; n += S.substr(e), M.addText(n)
  336. } function d() {
  337. null != k.subLanguage ? (() => {
  338. if ("" === S) return; let e = null; if ("string" == typeof k.subLanguage) {
  339. if (!t[k.subLanguage]) return void M.addText(S)
  340. ; e = E(k.subLanguage, S, !0, N[k.subLanguage]), N[k.subLanguage] = e._top
  341. } else e = x(S, k.subLanguage.length ? k.subLanguage : null)
  342. ; k.relevance > 0 && (R += e.relevance), M.addSublanguage(e._emitter, e.language)
  343. })() : l(), S = ""
  344. } function u(e, t) {
  345. let n = 1; for (; void 0 !== t[n];) {
  346. if (!e._emit[n]) {
  347. n++
  348. ; continue
  349. } const i = y.classNameAliases[e[n]] || e[n], r = t[n]
  350. ; i ? M.addKeyword(r, i) : (S = r, l(), S = ""), n++
  351. }
  352. } function h(e, t) {
  353. return e.scope && "string" == typeof e.scope && M.openNode(y.classNameAliases[e.scope] || e.scope),
  354. e.beginScope && (e.beginScope._wrap ? (M.addKeyword(S, y.classNameAliases[e.beginScope._wrap] || e.beginScope._wrap),
  355. S = "") : e.beginScope._multi && (u(e.beginScope, t), S = "")), k = Object.create(e, {
  356. parent: {
  357. value: k
  358. }
  359. }), k
  360. } function f(e, t, n) {
  361. let r = ((e, t) => {
  362. const n = e && e.exec(t)
  363. ; return n && 0 === n.index
  364. })(e.endRe, n); if (r) {
  365. if (e["on:end"]) {
  366. const n = new i(e)
  367. ; e["on:end"](t, n), n.isMatchIgnored && (r = !1)
  368. } if (r) {
  369. for (; e.endsParent && e.parent;)e = e.parent; return e
  370. }
  371. }
  372. if (e.endsWithParent) return f(e.parent, t, n)
  373. } function p(e) {
  374. return 0 === k.matcher.regexIndex ? (S += e[0], 1) : (I = !0, 0)
  375. } function b(e) {
  376. const t = e[0], i = n.substr(e.index), r = f(k, e, i); if (!r) return ee; const s = k
  377. ; k.endScope && k.endScope._wrap ? (d(),
  378. M.addKeyword(t, k.endScope._wrap)) : k.endScope && k.endScope._multi ? (d(),
  379. u(k.endScope, e)) : s.skip ? S += t : (s.returnEnd || s.excludeEnd || (S += t),
  380. d(), s.excludeEnd && (S = t)); do {
  381. k.scope && M.closeNode(), k.skip || k.subLanguage || (R += k.relevance), k = k.parent
  382. } while (k !== r.parent); return r.starts && h(r.starts, e), s.returnEnd ? 0 : t.length
  383. }
  384. let m = {}; function w(t, s) {
  385. const a = s && s[0]; if (S += t, null == a) return d(), 0
  386. ; if ("begin" === m.type && "end" === s.type && m.index === s.index && "" === a) {
  387. if (S += n.slice(s.index, s.index + 1), !o) {
  388. const t = Error(`0 width match regex (${e})`)
  389. ; throw t.languageName = e, t.badRule = m.rule, t
  390. } return 1
  391. }
  392. if (m = s, "begin" === s.type) return (e => {
  393. const t = e[0], n = e.rule, r = new i(n), s = [n.__beforeBegin, n["on:begin"]]
  394. ; for (const n of s) if (n && (n(e, r), r.isMatchIgnored)) return p(t)
  395. ; return n.skip ? S += t : (n.excludeBegin && (S += t),
  396. d(), n.returnBegin || n.excludeBegin || (S = t)), h(n, e), n.returnBegin ? 0 : t.length
  397. })(s)
  398. ; if ("illegal" === s.type && !r) {
  399. const e = Error('Illegal lexeme "' + a + '" for mode "' + (k.scope || "<unnamed>") + '"')
  400. ; throw e.mode = k, e
  401. } if ("end" === s.type) { const e = b(s); if (e !== ee) return e }
  402. if ("illegal" === s.type && "" === a) return 1
  403. ; if (A > 1e5 && A > 3 * s.index) throw Error("potential infinite loop, way more iterations than matches")
  404. ; return S += a, a.length
  405. } const y = v(e)
  406. ; if (!y) throw K(a.replace("{}", e)), Error('Unknown language: "' + e + '"')
  407. ; const _ = V(y); let O = "", k = s || _; const N = {}, M = new g.__emitter(g); (() => {
  408. const e = []
  409. ; for (let t = k; t !== y; t = t.parent)t.scope && e.unshift(t.scope)
  410. ; e.forEach((e => M.openNode(e)))
  411. })(); let S = "", R = 0, j = 0, A = 0, I = !1; try {
  412. for (k.matcher.considerAll(); ;) {
  413. A++, I ? I = !1 : k.matcher.considerAll(), k.matcher.lastIndex = j
  414. ; const e = k.matcher.exec(n); if (!e) break; const t = w(n.substring(j, e.index), e)
  415. ; j = e.index + t
  416. } return w(n.substr(j)), M.closeAllNodes(), M.finalize(), O = M.toHTML(), {
  417. language: e, value: O, relevance: R, illegal: !1, _emitter: M, _top: k
  418. }
  419. } catch (t) {
  420. if (t.message && t.message.includes("Illegal")) return {
  421. language: e, value: Y(n),
  422. illegal: !0, relevance: 0, _illegalBy: {
  423. message: t.message, index: j,
  424. context: n.slice(j - 100, j + 100), mode: t.mode, resultSoFar: O
  425. }, _emitter: M
  426. }; if (o) return {
  427. language: e, value: Y(n), illegal: !1, relevance: 0, errorRaised: t, _emitter: M, _top: k
  428. }
  429. ; throw t
  430. }
  431. } function x(e, n) {
  432. n = n || g.languages || Object.keys(t); const i = (e => {
  433. const t = { value: Y(e), illegal: !1, relevance: 0, _top: c, _emitter: new g.__emitter(g) }
  434. ; return t._emitter.addText(e), t
  435. })(e), r = n.filter(v).filter(k).map((t => E(t, e, !1)))
  436. ; r.unshift(i); const s = r.sort(((e, t) => {
  437. if (e.relevance !== t.relevance) return t.relevance - e.relevance
  438. ; if (e.language && t.language) {
  439. if (v(e.language).supersetOf === t.language) return 1
  440. ; if (v(t.language).supersetOf === e.language) return -1
  441. } return 0
  442. })), [o, a] = s, l = o
  443. ; return l.secondBest = a, l
  444. } function w(e) {
  445. let t = null; const n = (e => {
  446. let t = e.className + " "; t += e.parentNode ? e.parentNode.className : ""
  447. ; const n = g.languageDetectRe.exec(t); if (n) {
  448. const t = v(n[1])
  449. ; return t || (W(a.replace("{}", n[1])),
  450. W("Falling back to no-highlight mode for this block.", e)), t ? n[1] : "no-highlight"
  451. }
  452. return t.split(/\s+/).find((e => b(e) || v(e)))
  453. })(e); if (b(n)) return
  454. ; if (N("before:highlightElement", {
  455. el: e, language: n
  456. }), e.children.length > 0 && (g.ignoreUnescapedHTML || (console.warn("One of your code blocks includes unescaped HTML. This is a potentially serious security risk."),
  457. console.warn("https://github.com/highlightjs/highlight.js/issues/2886"),
  458. console.warn(e)),
  459. g.throwUnescapedHTML)) throw new J("One of your code blocks includes unescaped HTML.", e.innerHTML)
  460. ; t = e; const i = t.textContent, s = n ? m(i, { language: n, ignoreIllegals: !0 }) : x(i)
  461. ; e.innerHTML = s.value, ((e, t, n) => {
  462. const i = t && r[t] || n
  463. ; e.classList.add("hljs"), e.classList.add("language-" + i)
  464. })(e, n, s.language), e.result = {
  465. language: s.language, re: s.relevance,
  466. relevance: s.relevance
  467. }, s.secondBest && (e.secondBest = {
  468. language: s.secondBest.language, relevance: s.secondBest.relevance
  469. }), N("after:highlightElement", { el: e, result: s, text: i })
  470. } let y = !1; function _() {
  471. "loading" !== document.readyState ? document.querySelectorAll(g.cssSelector).forEach(w) : y = !0
  472. } function v(e) { return e = (e || "").toLowerCase(), t[e] || t[r[e]] }
  473. function O(e, { languageName: t }) {
  474. "string" == typeof e && (e = [e]), e.forEach((e => {
  475. r[e.toLowerCase()] = t
  476. }))
  477. } function k(e) {
  478. const t = v(e)
  479. ; return t && !t.disableAutodetect
  480. } function N(e, t) {
  481. const n = e; s.forEach((e => {
  482. e[n] && e[n](t)
  483. }))
  484. }
  485. "undefined" != typeof window && window.addEventListener && window.addEventListener("DOMContentLoaded", (() => {
  486. y && _()
  487. }), !1), Object.assign(e, {
  488. highlight: m, highlightAuto: x, highlightAll: _,
  489. highlightElement: w,
  490. highlightBlock: e => (X("10.7.0", "highlightBlock will be removed entirely in v12.0"),
  491. X("10.7.0", "Please use highlightElement now."), w(e)), configure: e => { g = Q(g, e) },
  492. initHighlighting: () => {
  493. _(), X("10.6.0", "initHighlighting() deprecated. Use highlightAll() now.")
  494. },
  495. initHighlightingOnLoad: () => {
  496. _(), X("10.6.0", "initHighlightingOnLoad() deprecated. Use highlightAll() now.")
  497. }, registerLanguage: (n, i) => {
  498. let r = null; try { r = i(e) } catch (e) {
  499. if (K("Language definition for '{}' could not be registered.".replace("{}", n)),
  500. !o) throw e; K(e), r = c
  501. }
  502. r.name || (r.name = n), t[n] = r, r.rawDefinition = i.bind(null, e), r.aliases && O(r.aliases, {
  503. languageName: n
  504. })
  505. }, unregisterLanguage: e => {
  506. delete t[e]
  507. ; for (const t of Object.keys(r)) r[t] === e && delete r[t]
  508. },
  509. listLanguages: () => Object.keys(t), getLanguage: v, registerAliases: O,
  510. autoDetection: k, inherit: Q, addPlugin: e => {
  511. (e => {
  512. e["before:highlightBlock"] && !e["before:highlightElement"] && (e["before:highlightElement"] = t => {
  513. e["before:highlightBlock"](Object.assign({ block: t.el }, t))
  514. }), e["after:highlightBlock"] && !e["after:highlightElement"] && (e["after:highlightElement"] = t => {
  515. e["after:highlightBlock"](Object.assign({ block: t.el }, t))
  516. })
  517. })(e), s.push(e)
  518. }
  519. }), e.debugMode = () => { o = !1 }, e.safeMode = () => {
  520. o = !0
  521. }, e.versionString = "11.3.1", e.regex = {
  522. concat: f, lookahead: d, either: p, optional: h,
  523. anyNumberOfTimes: u
  524. }; for (const e in A) "object" == typeof A[e] && n(A[e])
  525. ; return Object.assign(e, A), e
  526. })({}); return te
  527. }()
  528. ; "object" == typeof exports && "undefined" != typeof module && (module.exports = hljs);/*! `css` grammar compiled for Highlight.js 11.3.1 */
  529. (() => {
  530. var e = (() => {
  531. "use strict"
  532. ; const e = ["a", "abbr", "address", "article", "aside", "audio", "b", "blockquote", "body", "button", "canvas", "caption", "cite", "code", "dd", "del", "details", "dfn", "div", "dl", "dt", "em", "fieldset", "figcaption", "figure", "footer", "form", "h1", "h2", "h3", "h4", "h5", "h6", "header", "hgroup", "html", "i", "iframe", "img", "input", "ins", "kbd", "label", "legend", "li", "main", "mark", "menu", "nav", "object", "ol", "p", "q", "quote", "samp", "section", "span", "strong", "summary", "sup", "table", "tbody", "td", "textarea", "tfoot", "th", "thead", "time", "tr", "ul", "var", "video"], t = ["any-hover", "any-pointer", "aspect-ratio", "color", "color-gamut", "color-index", "device-aspect-ratio", "device-height", "device-width", "display-mode", "forced-colors", "grid", "height", "hover", "inverted-colors", "monochrome", "orientation", "overflow-block", "overflow-inline", "pointer", "prefers-color-scheme", "prefers-contrast", "prefers-reduced-motion", "prefers-reduced-transparency", "resolution", "scan", "scripting", "update", "width", "min-width", "max-width", "min-height", "max-height"], i = ["active", "any-link", "blank", "checked", "current", "default", "defined", "dir", "disabled", "drop", "empty", "enabled", "first", "first-child", "first-of-type", "fullscreen", "future", "focus", "focus-visible", "focus-within", "has", "host", "host-context", "hover", "indeterminate", "in-range", "invalid", "is", "lang", "last-child", "last-of-type", "left", "link", "local-link", "not", "nth-child", "nth-col", "nth-last-child", "nth-last-col", "nth-last-of-type", "nth-of-type", "only-child", "only-of-type", "optional", "out-of-range", "past", "placeholder-shown", "read-only", "read-write", "required", "right", "root", "scope", "target", "target-within", "user-invalid", "valid", "visited", "where"], o = ["after", "backdrop", "before", "cue", "cue-region", "first-letter", "first-line", "grammar-error", "marker", "part", "placeholder", "selection", "slotted", "spelling-error"], r = ["align-content", "align-items", "align-self", "all", "animation", "animation-delay", "animation-direction", "animation-duration", "animation-fill-mode", "animation-iteration-count", "animation-name", "animation-play-state", "animation-timing-function", "backface-visibility", "background", "background-attachment", "background-clip", "background-color", "background-image", "background-origin", "background-position", "background-repeat", "background-size", "border", "border-bottom", "border-bottom-color", "border-bottom-left-radius", "border-bottom-right-radius", "border-bottom-style", "border-bottom-width", "border-collapse", "border-color", "border-image", "border-image-outset", "border-image-repeat", "border-image-slice", "border-image-source", "border-image-width", "border-left", "border-left-color", "border-left-style", "border-left-width", "border-radius", "border-right", "border-right-color", "border-right-style", "border-right-width", "border-spacing", "border-style", "border-top", "border-top-color", "border-top-left-radius", "border-top-right-radius", "border-top-style", "border-top-width", "border-width", "bottom", "box-decoration-break", "box-shadow", "box-sizing", "break-after", "break-before", "break-inside", "caption-side", "caret-color", "clear", "clip", "clip-path", "clip-rule", "color", "column-count", "column-fill", "column-gap", "column-rule", "column-rule-color", "column-rule-style", "column-rule-width", "column-span", "column-width", "columns", "contain", "content", "content-visibility", "counter-increment", "counter-reset", "cue", "cue-after", "cue-before", "cursor", "direction", "display", "empty-cells", "filter", "flex", "flex-basis", "flex-direction", "flex-flow", "flex-grow", "flex-shrink", "flex-wrap", "float", "flow", "font", "font-display", "font-family", "font-feature-settings", "font-kerning", "font-language-override", "font-size", "font-size-adjust", "font-smoothing", "font-stretch", "font-style", "font-synthesis", "font-variant", "font-variant-caps", "font-variant-east-asian", "font-variant-ligatures", "font-variant-numeric", "font-variant-position", "font-variation-settings", "font-weight", "gap", "glyph-orientation-vertical", "grid", "grid-area", "grid-auto-columns", "grid-auto-flow", "grid-auto-rows", "grid-column", "grid-column-end", "grid-column-start", "grid-gap", "grid-row", "grid-row-end", "grid-row-start", "grid-template", "grid-template-areas", "grid-template-columns", "grid-template-rows", "hanging-punctuation", "height", "hyphens", "icon", "image-orientation", "image-rendering", "image-resolution", "ime-mode", "isolation", "justify-content", "left", "letter-spacing", "line-break", "line-height", "list-style", "list-style-image", "list-style-position", "list-style-type", "margin", "margin-bottom", "margin-left", "margin-right", "margin-top", "marks", "mask", "mask-border", "mask-border-mode", "mask-border-outset", "mask-border-repeat", "mask-border-slice", "mask-border-source", "mask-border-width", "mask-clip", "mask-composite", "mask-image", "mask-mode", "mask-origin", "mask-position", "mask-repeat", "mask-size", "mask-type", "max-height", "max-width", "min-height", "min-width", "mix-blend-mode", "nav-down", "nav-index", "nav-left", "nav-right", "nav-up", "none", "normal", "object-fit", "object-position", "opacity", "order", "orphans", "outline", "outline-color", "outline-offset", "outline-style", "outline-width", "overflow", "overflow-wrap", "overflow-x", "overflow-y", "padding", "padding-bottom", "padding-left", "padding-right", "padding-top", "page-break-after", "page-break-before", "page-break-inside", "pause", "pause-after", "pause-before", "perspective", "perspective-origin", "pointer-events", "position", "quotes", "resize", "rest", "rest-after", "rest-before", "right", "row-gap", "scroll-margin", "scroll-margin-block", "scroll-margin-block-end", "scroll-margin-block-start", "scroll-margin-bottom", "scroll-margin-inline", "scroll-margin-inline-end", "scroll-margin-inline-start", "scroll-margin-left", "scroll-margin-right", "scroll-margin-top", "scroll-padding", "scroll-padding-block", "scroll-padding-block-end", "scroll-padding-block-start", "scroll-padding-bottom", "scroll-padding-inline", "scroll-padding-inline-end", "scroll-padding-inline-start", "scroll-padding-left", "scroll-padding-right", "scroll-padding-top", "scroll-snap-align", "scroll-snap-stop", "scroll-snap-type", "shape-image-threshold", "shape-margin", "shape-outside", "speak", "speak-as", "src", "tab-size", "table-layout", "text-align", "text-align-all", "text-align-last", "text-combine-upright", "text-decoration", "text-decoration-color", "text-decoration-line", "text-decoration-style", "text-emphasis", "text-emphasis-color", "text-emphasis-position", "text-emphasis-style", "text-indent", "text-justify", "text-orientation", "text-overflow", "text-rendering", "text-shadow", "text-transform", "text-underline-position", "top", "transform", "transform-box", "transform-origin", "transform-style", "transition", "transition-delay", "transition-duration", "transition-property", "transition-timing-function", "unicode-bidi", "vertical-align", "visibility", "voice-balance", "voice-duration", "voice-family", "voice-pitch", "voice-range", "voice-rate", "voice-stress", "voice-volume", "white-space", "widows", "width", "will-change", "word-break", "word-spacing", "word-wrap", "writing-mode", "z-index"].reverse()
  533. ; return a => {
  534. const n = a.regex, l = (e => ({
  535. IMPORTANT: { scope: "meta", begin: "!important" },
  536. BLOCK_COMMENT: e.C_BLOCK_COMMENT_MODE, HEXCOLOR: {
  537. scope: "number",
  538. begin: /#(([0-9a-fA-F]{3,4})|(([0-9a-fA-F]{2}){3,4}))\b/
  539. }, FUNCTION_DISPATCH: {
  540. className: "built_in", begin: /[\w-]+(?=\()/
  541. }, ATTRIBUTE_SELECTOR_MODE: {
  542. scope: "selector-attr", begin: /\[/, end: /\]/, illegal: "$",
  543. contains: [e.APOS_STRING_MODE, e.QUOTE_STRING_MODE]
  544. }, CSS_NUMBER_MODE: {
  545. scope: "number",
  546. begin: e.NUMBER_RE + "(%|em|ex|ch|rem|vw|vh|vmin|vmax|cm|mm|in|pt|pc|px|deg|grad|rad|turn|s|ms|Hz|kHz|dpi|dpcm|dppx)?",
  547. relevance: 0
  548. }, CSS_VARIABLE: { className: "attr", begin: /--[A-Za-z][A-Za-z0-9_-]*/ }
  549. }))(a), s = [a.APOS_STRING_MODE, a.QUOTE_STRING_MODE]; return {
  550. name: "CSS",
  551. case_insensitive: !0, illegal: /[=|'\$]/, keywords: { keyframePosition: "from to" },
  552. classNameAliases: { keyframePosition: "selector-tag" }, contains: [l.BLOCK_COMMENT, {
  553. begin: /-(webkit|moz|ms|o)-(?=[a-z])/
  554. }, l.CSS_NUMBER_MODE, {
  555. className: "selector-id", begin: /#[A-Za-z0-9_-]+/, relevance: 0
  556. }, {
  557. className: "selector-class", begin: "\\.[a-zA-Z-][a-zA-Z0-9_-]*", relevance: 0
  558. }, l.ATTRIBUTE_SELECTOR_MODE, {
  559. className: "selector-pseudo", variants: [{
  560. begin: ":(" + i.join("|") + ")"
  561. }, { begin: ":(:)?(" + o.join("|") + ")" }]
  562. }, l.CSS_VARIABLE, {
  563. className: "attribute", begin: "\\b(" + r.join("|") + ")\\b"
  564. }, {
  565. begin: /:/, end: /[;}{]/,
  566. contains: [l.BLOCK_COMMENT, l.HEXCOLOR, l.IMPORTANT, l.CSS_NUMBER_MODE, ...s, {
  567. begin: /(url|data-uri)\(/, end: /\)/, relevance: 0, keywords: {
  568. built_in: "url data-uri"
  569. }, contains: [{ className: "string", begin: /[^)]/, endsWithParent: !0, excludeEnd: !0 }]
  570. }, l.FUNCTION_DISPATCH]
  571. }, {
  572. begin: n.lookahead(/@/), end: "[{;]", relevance: 0,
  573. illegal: /:/, contains: [{ className: "keyword", begin: /@-?\w[\w]*(-\w+)*/ }, {
  574. begin: /\s/, endsWithParent: !0, excludeEnd: !0, relevance: 0, keywords: {
  575. $pattern: /[a-z-]+/, keyword: "and or not only", attribute: t.join(" ")
  576. }, contains: [{
  577. begin: /[a-z-]+(?=:)/, className: "attribute"
  578. }, ...s, l.CSS_NUMBER_MODE]
  579. }]
  580. }, {
  581. className: "selector-tag", begin: "\\b(" + e.join("|") + ")\\b"
  582. }]
  583. }
  584. }
  585. })()
  586. ; hljs.registerLanguage("css", e)
  587. })();/*! `javascript` grammar compiled for Highlight.js 11.3.1 */
  588. (() => {
  589. var e = (() => {
  590. "use strict"
  591. ; const e = "[A-Za-z$_][0-9A-Za-z$_]*", n = ["as", "in", "of", "if", "for", "while", "finally", "var", "new", "function", "do", "return", "void", "else", "break", "catch", "instanceof", "with", "throw", "case", "default", "try", "switch", "continue", "typeof", "delete", "let", "yield", "const", "class", "debugger", "async", "await", "static", "import", "from", "export", "extends"], a = ["true", "false", "null", "undefined", "NaN", "Infinity"], t = ["Object", "Function", "Boolean", "Symbol", "Math", "Date", "Number", "BigInt", "String", "RegExp", "Array", "Float32Array", "Float64Array", "Int8Array", "Uint8Array", "Uint8ClampedArray", "Int16Array", "Int32Array", "Uint16Array", "Uint32Array", "BigInt64Array", "BigUint64Array", "Set", "Map", "WeakSet", "WeakMap", "ArrayBuffer", "SharedArrayBuffer", "Atomics", "DataView", "JSON", "Promise", "Generator", "GeneratorFunction", "AsyncFunction", "Reflect", "Proxy", "Intl", "WebAssembly"], s = ["Error", "EvalError", "InternalError", "RangeError", "ReferenceError", "SyntaxError", "TypeError", "URIError"], r = ["setInterval", "setTimeout", "clearInterval", "clearTimeout", "require", "exports", "eval", "isFinite", "isNaN", "parseFloat", "parseInt", "decodeURI", "decodeURIComponent", "encodeURI", "encodeURIComponent", "escape", "unescape"], c = ["arguments", "this", "super", "console", "window", "document", "localStorage", "module", "global"], i = [].concat(r, t, s)
  592. ; return o => {
  593. const l = o.regex, b = e, d = {
  594. begin: /<[A-Za-z0-9\\._:-]+/,
  595. end: /\/[A-Za-z0-9\\._:-]+>|\/>/, isTrulyOpeningTag: (e, n) => {
  596. const a = e[0].length + e.index, t = e.input[a]
  597. ; if ("<" === t || "," === t) return void n.ignoreMatch(); let s
  598. ; ">" === t && (((e, { after: n }) => {
  599. const a = "</" + e[0].slice(1)
  600. ; return -1 !== e.input.indexOf(a, n)
  601. })(e, {
  602. after: a
  603. }) || n.ignoreMatch()), (s = e.input.substr(a).match(/^\s+extends\s+/)) && 0 === s.index && n.ignoreMatch()
  604. }
  605. }, g = {
  606. $pattern: e, keyword: n, literal: a, built_in: i, "variable.language": c
  607. }, u = "\\.([0-9](_?[0-9])*)", m = "0|[1-9](_?[0-9])*|0[0-7]*[89][0-9]*", E = {
  608. className: "number", variants: [{
  609. begin: `(\\b(${m})((${u})|\\.)?|(${u}))[eE][+-]?([0-9](_?[0-9])*)\\b`
  610. }, {
  611. begin: `\\b(${m})\\b((${u})\\b|\\.)?|(${u})\\b`
  612. }, {
  613. begin: "\\b(0|[1-9](_?[0-9])*)n\\b"
  614. }, {
  615. begin: "\\b0[xX][0-9a-fA-F](_?[0-9a-fA-F])*n?\\b"
  616. }, {
  617. begin: "\\b0[bB][0-1](_?[0-1])*n?\\b"
  618. }, { begin: "\\b0[oO][0-7](_?[0-7])*n?\\b" }, {
  619. begin: "\\b0[0-7]+n?\\b"
  620. }], relevance: 0
  621. }, A = {
  622. className: "subst", begin: "\\$\\{",
  623. end: "\\}", keywords: g, contains: []
  624. }, y = {
  625. begin: "html`", end: "", starts: {
  626. end: "`",
  627. returnEnd: !1, contains: [o.BACKSLASH_ESCAPE, A], subLanguage: "xml"
  628. }
  629. }, N = {
  630. begin: "css`", end: "", starts: {
  631. end: "`", returnEnd: !1,
  632. contains: [o.BACKSLASH_ESCAPE, A], subLanguage: "css"
  633. }
  634. }, _ = {
  635. className: "string",
  636. begin: "`", end: "`", contains: [o.BACKSLASH_ESCAPE, A]
  637. }, f = {
  638. className: "comment",
  639. variants: [o.COMMENT(/\/\*\*(?!\/)/, "\\*/", {
  640. relevance: 0, contains: [{
  641. begin: "(?=@[A-Za-z]+)", relevance: 0, contains: [{
  642. className: "doctag",
  643. begin: "@[A-Za-z]+"
  644. }, {
  645. className: "type", begin: "\\{", end: "\\}", excludeEnd: !0,
  646. excludeBegin: !0, relevance: 0
  647. }, {
  648. className: "variable", begin: b + "(?=\\s*(-)|$)",
  649. endsParent: !0, relevance: 0
  650. }, { begin: /(?=[^\n])\s/, relevance: 0 }]
  651. }]
  652. }), o.C_BLOCK_COMMENT_MODE, o.C_LINE_COMMENT_MODE]
  653. }, h = [o.APOS_STRING_MODE, o.QUOTE_STRING_MODE, y, N, _, E]; A.contains = h.concat({
  654. begin: /\{/, end: /\}/, keywords: g, contains: ["self"].concat(h)
  655. })
  656. ; const v = [].concat(f, A.contains), p = v.concat([{
  657. begin: /\(/, end: /\)/, keywords: g,
  658. contains: ["self"].concat(v)
  659. }]), S = {
  660. className: "params", begin: /\(/, end: /\)/,
  661. excludeBegin: !0, excludeEnd: !0, keywords: g, contains: p
  662. }, w = {
  663. variants: [{
  664. match: [/class/, /\s+/, b, /\s+/, /extends/, /\s+/, l.concat(b, "(", l.concat(/\./, b), ")*")],
  665. scope: { 1: "keyword", 3: "title.class", 5: "keyword", 7: "title.class.inherited" }
  666. }, {
  667. match: [/class/, /\s+/, b], scope: { 1: "keyword", 3: "title.class" }
  668. }]
  669. }, R = {
  670. relevance: 0,
  671. match: l.either(/\bJSON/, /\b[A-Z][a-z]+([A-Z][a-z]+|\d)*/, /\b[A-Z]{2,}([A-Z][a-z]+|\d)+/),
  672. className: "title.class", keywords: { _: [...t, ...s] }
  673. }, O = {
  674. variants: [{
  675. match: [/function/, /\s+/, b, /(?=\s*\()/]
  676. }, { match: [/function/, /\s*(?=\()/] }],
  677. className: { 1: "keyword", 3: "title.function" }, label: "func.def", contains: [S],
  678. illegal: /%/
  679. }, I = {
  680. match: l.concat(/\b/, (k = [...r, "super"], l.concat("(?!", k.join("|"), ")")), b, l.lookahead(/\(/)),
  681. className: "title.function", relevance: 0
  682. }; var k; const x = {
  683. begin: l.concat(/\./, l.lookahead(l.concat(b, /(?![0-9A-Za-z$_(])/))), end: b,
  684. excludeBegin: !0, keywords: "prototype", className: "property", relevance: 0
  685. }, T = {
  686. match: [/get|set/, /\s+/, b, /(?=\()/], className: { 1: "keyword", 3: "title.function" },
  687. contains: [{ begin: /\(\)/ }, S]
  688. }, C = "(\\([^()]*(\\([^()]*(\\([^()]*\\)[^()]*)*\\)[^()]*)*\\)|" + o.UNDERSCORE_IDENT_RE + ")\\s*=>", M = {
  689. match: [/const|var|let/, /\s+/, b, /\s*/, /=\s*/, l.lookahead(C)], className: {
  690. 1: "keyword", 3: "title.function"
  691. }, contains: [S]
  692. }; return {
  693. name: "Javascript",
  694. aliases: ["js", "jsx", "mjs", "cjs"], keywords: g, exports: {
  695. PARAMS_CONTAINS: p,
  696. CLASS_REFERENCE: R
  697. }, illegal: /#(?![$_A-z])/, contains: [o.SHEBANG({
  698. label: "shebang",
  699. binary: "node", relevance: 5
  700. }), {
  701. label: "use_strict", className: "meta", relevance: 10,
  702. begin: /^\s*['"]use (strict|asm)['"]/
  703. }, o.APOS_STRING_MODE, o.QUOTE_STRING_MODE, y, N, _, f, E, R, {
  704. className: "attr",
  705. begin: b + l.lookahead(":"), relevance: 0
  706. }, M, {
  707. begin: "(" + o.RE_STARTERS_RE + "|\\b(case|return|throw)\\b)\\s*",
  708. keywords: "return throw case", relevance: 0, contains: [f, o.REGEXP_MODE, {
  709. className: "function", begin: C, returnBegin: !0, end: "\\s*=>", contains: [{
  710. className: "params", variants: [{ begin: o.UNDERSCORE_IDENT_RE, relevance: 0 }, {
  711. className: null, begin: /\(\s*\)/, skip: !0
  712. }, {
  713. begin: /\(/, end: /\)/, excludeBegin: !0,
  714. excludeEnd: !0, keywords: g, contains: p
  715. }]
  716. }]
  717. }, { begin: /,/, relevance: 0 }, {
  718. match: /\s+/,
  719. relevance: 0
  720. }, {
  721. variants: [{ begin: "<>", end: "</>" }, {
  722. match: /<[A-Za-z0-9\\._:-]+\s*\/>/
  723. }, {
  724. begin: d.begin,
  725. "on:begin": d.isTrulyOpeningTag, end: d.end
  726. }], subLanguage: "xml", contains: [{
  727. begin: d.begin, end: d.end, skip: !0, contains: ["self"]
  728. }]
  729. }]
  730. }, O, {
  731. beginKeywords: "while if switch catch for"
  732. }, {
  733. begin: "\\b(?!function)" + o.UNDERSCORE_IDENT_RE + "\\([^()]*(\\([^()]*(\\([^()]*\\)[^()]*)*\\)[^()]*)*\\)\\s*\\{",
  734. returnBegin: !0, label: "func.def", contains: [S, o.inherit(o.TITLE_MODE, {
  735. begin: b,
  736. className: "title.function"
  737. })]
  738. }, { match: /\.\.\./, relevance: 0 }, x, {
  739. match: "\\$" + b,
  740. relevance: 0
  741. }, {
  742. match: [/\bconstructor(?=\s*\()/], className: { 1: "title.function" },
  743. contains: [S]
  744. }, I, {
  745. relevance: 0, match: /\b[A-Z][A-Z_0-9]+\b/,
  746. className: "variable.constant"
  747. }, w, T, { match: /\$[(.]/ }]
  748. }
  749. }
  750. })()
  751. ; hljs.registerLanguage("javascript", e)
  752. })();/*! `bash` grammar compiled for Highlight.js 11.3.1 */
  753. (() => {
  754. var e = (() => {
  755. "use strict"; return e => {
  756. const s = e.regex, t = {}, n = {
  757. begin: /\$\{/,
  758. end: /\}/, contains: ["self", { begin: /:-/, contains: [t] }]
  759. }; Object.assign(t, {
  760. className: "variable", variants: [{
  761. begin: s.concat(/\$[\w\d#@][\w\d_]*/, "(?![\\w\\d])(?![$])")
  762. }, n]
  763. }); const a = {
  764. className: "subst", begin: /\$\(/, end: /\)/, contains: [e.BACKSLASH_ESCAPE]
  765. }, i = {
  766. begin: /<<-?\s*(?=\w+)/, starts: {
  767. contains: [e.END_SAME_AS_BEGIN({
  768. begin: /(\w+)/,
  769. end: /(\w+)/, className: "string"
  770. })]
  771. }
  772. }, c = {
  773. className: "string", begin: /"/, end: /"/,
  774. contains: [e.BACKSLASH_ESCAPE, t, a]
  775. }; a.contains.push(c); const o = {
  776. begin: /\$\(\(/,
  777. end: /\)\)/, contains: [{ begin: /\d+#[0-9a-f]+/, className: "number" }, e.NUMBER_MODE, t]
  778. }, r = e.SHEBANG({
  779. binary: "(fish|bash|zsh|sh|csh|ksh|tcsh|dash|scsh)", relevance: 10
  780. }), l = {
  781. className: "function", begin: /\w[\w\d_]*\s*\(\s*\)\s*\{/, returnBegin: !0,
  782. contains: [e.inherit(e.TITLE_MODE, { begin: /\w[\w\d_]*/ })], relevance: 0
  783. }; return {
  784. name: "Bash", aliases: ["sh"], keywords: {
  785. $pattern: /\b[a-z._-]+\b/,
  786. keyword: ["if", "then", "else", "elif", "fi", "for", "while", "in", "do", "done", "case", "esac", "function"],
  787. literal: ["true", "false"],
  788. built_in: ["break", "cd", "continue", "eval", "exec", "exit", "export", "getopts", "hash", "pwd", "readonly", "return", "shift", "test", "times", "trap", "umask", "unset", "alias", "bind", "builtin", "caller", "command", "declare", "echo", "enable", "help", "let", "local", "logout", "mapfile", "printf", "read", "readarray", "source", "type", "typeset", "ulimit", "unalias", "set", "shopt", "autoload", "bg", "bindkey", "bye", "cap", "chdir", "clone", "comparguments", "compcall", "compctl", "compdescribe", "compfiles", "compgroups", "compquote", "comptags", "comptry", "compvalues", "dirs", "disable", "disown", "echotc", "echoti", "emulate", "fc", "fg", "float", "functions", "getcap", "getln", "history", "integer", "jobs", "kill", "limit", "log", "noglob", "popd", "print", "pushd", "pushln", "rehash", "sched", "setcap", "setopt", "stat", "suspend", "ttyctl", "unfunction", "unhash", "unlimit", "unsetopt", "vared", "wait", "whence", "where", "which", "zcompile", "zformat", "zftp", "zle", "zmodload", "zparseopts", "zprof", "zpty", "zregexparse", "zsocket", "zstyle", "ztcp", "chcon", "chgrp", "chown", "chmod", "cp", "dd", "df", "dir", "dircolors", "ln", "ls", "mkdir", "mkfifo", "mknod", "mktemp", "mv", "realpath", "rm", "rmdir", "shred", "sync", "touch", "truncate", "vdir", "b2sum", "base32", "base64", "cat", "cksum", "comm", "csplit", "cut", "expand", "fmt", "fold", "head", "join", "md5sum", "nl", "numfmt", "od", "paste", "ptx", "pr", "sha1sum", "sha224sum", "sha256sum", "sha384sum", "sha512sum", "shuf", "sort", "split", "sum", "tac", "tail", "tr", "tsort", "unexpand", "uniq", "wc", "arch", "basename", "chroot", "date", "dirname", "du", "echo", "env", "expr", "factor", "groups", "hostid", "id", "link", "logname", "nice", "nohup", "nproc", "pathchk", "pinky", "printenv", "printf", "pwd", "readlink", "runcon", "seq", "sleep", "stat", "stdbuf", "stty", "tee", "test", "timeout", "tty", "uname", "unlink", "uptime", "users", "who", "whoami", "yes"]
  789. }, contains: [r, e.SHEBANG(), l, o, e.HASH_COMMENT_MODE, i, { match: /(\/[a-z._-]+)+/ }, c, {
  790. className: "", begin: /\\"/
  791. }, { className: "string", begin: /'/, end: /'/ }, t]
  792. }
  793. }
  794. })()
  795. ; hljs.registerLanguage("bash", e)
  796. })();/*! `vbnet` grammar compiled for Highlight.js 11.3.1 */
  797. (() => {
  798. var e = (() => {
  799. "use strict"; return e => {
  800. const n = e.regex, t = /\d{1,2}\/\d{1,2}\/\d{4}/, a = /\d{4}-\d{1,2}-\d{1,2}/, i = /(\d|1[012])(:\d+){0,2} *(AM|PM)/, s = /\d{1,2}(:\d{1,2}){1,2}/, r = {
  801. className: "literal", variants: [{ begin: n.concat(/# */, n.either(a, t), / *#/) }, {
  802. begin: n.concat(/# */, s, / *#/)
  803. }, { begin: n.concat(/# */, i, / *#/) }, {
  804. begin: n.concat(/# */, n.either(a, t), / +/, n.either(i, s), / *#/)
  805. }]
  806. }, l = e.COMMENT(/'''/, /$/, {
  807. contains: [{ className: "doctag", begin: /<\/?/, end: />/ }]
  808. }), o = e.COMMENT(null, /$/, { variants: [{ begin: /'/ }, { begin: /([\t ]|^)REM(?=\s)/ }] })
  809. ; return {
  810. name: "Visual Basic .NET", aliases: ["vb"], case_insensitive: !0,
  811. classNameAliases: { label: "symbol" }, keywords: {
  812. keyword: "addhandler alias aggregate ansi as async assembly auto binary by byref byval call case catch class compare const continue custom declare default delegate dim distinct do each equals else elseif end enum erase error event exit explicit finally for friend from function get global goto group handles if implements imports in inherits interface into iterator join key let lib loop me mid module mustinherit mustoverride mybase myclass namespace narrowing new next notinheritable notoverridable of off on operator option optional order overloads overridable overrides paramarray partial preserve private property protected public raiseevent readonly redim removehandler resume return select set shadows shared skip static step stop structure strict sub synclock take text then throw to try unicode until using when where while widening with withevents writeonly yield",
  813. built_in: "addressof and andalso await directcast gettype getxmlnamespace is isfalse isnot istrue like mod nameof new not or orelse trycast typeof xor cbool cbyte cchar cdate cdbl cdec cint clng cobj csbyte cshort csng cstr cuint culng cushort",
  814. type: "boolean byte char date decimal double integer long object sbyte short single string uinteger ulong ushort",
  815. literal: "true false nothing"
  816. },
  817. illegal: "//|\\{|\\}|endif|gosub|variant|wend|^\\$ ", contains: [{
  818. className: "string", begin: /"(""|[^/n])"C\b/
  819. }, {
  820. className: "string", begin: /"/,
  821. end: /"/, illegal: /\n/, contains: [{ begin: /""/ }]
  822. }, r, {
  823. className: "number", relevance: 0,
  824. variants: [{
  825. begin: /\b\d[\d_]*((\.[\d_]+(E[+-]?[\d_]+)?)|(E[+-]?[\d_]+))[RFD@!#]?/
  826. }, { begin: /\b\d[\d_]*((U?[SIL])|[%&])?/ }, { begin: /&H[\dA-F_]+((U?[SIL])|[%&])?/ }, {
  827. begin: /&O[0-7_]+((U?[SIL])|[%&])?/
  828. }, { begin: /&B[01_]+((U?[SIL])|[%&])?/ }]
  829. }, {
  830. className: "label", begin: /^\w+:/
  831. }, l, o, {
  832. className: "meta",
  833. begin: /[\t ]*#(const|disable|else|elseif|enable|end|externalsource|if|region)\b/,
  834. end: /$/, keywords: {
  835. keyword: "const disable else elseif enable end externalsource if region then"
  836. },
  837. contains: [o]
  838. }]
  839. }
  840. }
  841. })(); hljs.registerLanguage("vbnet", e)
  842. })();/*! `java` grammar compiled for Highlight.js 11.3.1 */
  843. (() => {
  844. var e = (() => {
  845. "use strict"
  846. ; var e = "\\.([0-9](_*[0-9])*)", a = "[0-9a-fA-F](_*[0-9a-fA-F])*", n = {
  847. className: "number", variants: [{
  848. begin: `(\\b([0-9](_*[0-9])*)((${e})|\\.)?|(${e}))[eE][+-]?([0-9](_*[0-9])*)[fFdD]?\\b`
  849. }, { begin: `\\b([0-9](_*[0-9])*)((${e})[fFdD]?\\b|\\.([fFdD]\\b)?)` }, {
  850. begin: `(${e})[fFdD]?\\b`
  851. }, { begin: "\\b([0-9](_*[0-9])*)[fFdD]\\b" }, {
  852. begin: `\\b0[xX]((${a})\\.?|(${a})?\\.(${a}))[pP][+-]?([0-9](_*[0-9])*)[fFdD]?\\b`
  853. }, { begin: "\\b(0|[1-9](_*[0-9])*)[lL]?\\b" }, { begin: `\\b0[xX](${a})[lL]?\\b` }, {
  854. begin: "\\b0(_*[0-7])*[lL]?\\b"
  855. }, { begin: "\\b0[bB][01](_*[01])*[lL]?\\b" }],
  856. relevance: 0
  857. }; function s(e, a, n) { return -1 === n ? "" : e.replace(a, (t => s(e, a, n - 1))) }
  858. return e => {
  859. e.regex
  860. ; const a = "[\xc0-\u02b8a-zA-Z_$][\xc0-\u02b8a-zA-Z_$0-9]*", t = a + s("(?:<" + a + "~~~(?:\\s*,\\s*" + a + "~~~)*>)?", /~~~/g, 2), i = {
  861. keyword: ["synchronized", "abstract", "private", "var", "static", "if", "const ", "for", "while", "strictfp", "finally", "protected", "import", "native", "final", "void", "enum", "else", "break", "transient", "catch", "instanceof", "volatile", "case", "assert", "package", "default", "public", "try", "switch", "continue", "throws", "protected", "public", "private", "module", "requires", "exports", "do"],
  862. literal: ["false", "true", "null"],
  863. type: ["char", "boolean", "long", "float", "int", "byte", "short", "double"],
  864. built_in: ["super", "this"]
  865. }, r = {
  866. className: "meta", begin: "@" + a, contains: [{
  867. begin: /\(/, end: /\)/, contains: ["self"]
  868. }]
  869. }, l = {
  870. className: "params", begin: /\(/,
  871. end: /\)/, keywords: i, relevance: 0, contains: [e.C_BLOCK_COMMENT_MODE], endsParent: !0
  872. }
  873. ; return {
  874. name: "Java", aliases: ["jsp"], keywords: i, illegal: /<\/|#/,
  875. contains: [e.COMMENT("/\\*\\*", "\\*/", {
  876. relevance: 0, contains: [{
  877. begin: /\w+@/,
  878. relevance: 0
  879. }, { className: "doctag", begin: "@[A-Za-z]+" }]
  880. }), {
  881. begin: /import java\.[a-z]+\./, keywords: "import", relevance: 2
  882. }, e.C_LINE_COMMENT_MODE, e.C_BLOCK_COMMENT_MODE, {
  883. begin: /"""/, end: /"""/,
  884. className: "string", contains: [e.BACKSLASH_ESCAPE]
  885. }, e.APOS_STRING_MODE, e.QUOTE_STRING_MODE, {
  886. match: [/\b(?:class|interface|enum|extends|implements|new)/, /\s+/, a], className: {
  887. 1: "keyword", 3: "title.class"
  888. }
  889. }, {
  890. begin: [a, /\s+/, a, /\s+/, /=/], className: {
  891. 1: "type",
  892. 3: "variable", 5: "operator"
  893. }
  894. }, {
  895. begin: [/record/, /\s+/, a], className: {
  896. 1: "keyword",
  897. 3: "title.class"
  898. }, contains: [l, e.C_LINE_COMMENT_MODE, e.C_BLOCK_COMMENT_MODE]
  899. }, {
  900. beginKeywords: "new throw return else", relevance: 0
  901. }, {
  902. begin: ["(?:" + t + "\\s+)", e.UNDERSCORE_IDENT_RE, /\s*(?=\()/], className: {
  903. 2: "title.function"
  904. }, keywords: i, contains: [{
  905. className: "params", begin: /\(/,
  906. end: /\)/, keywords: i, relevance: 0,
  907. contains: [r, e.APOS_STRING_MODE, e.QUOTE_STRING_MODE, n, e.C_BLOCK_COMMENT_MODE]
  908. }, e.C_LINE_COMMENT_MODE, e.C_BLOCK_COMMENT_MODE]
  909. }, n, r]
  910. }
  911. }
  912. })()
  913. ; hljs.registerLanguage("java", e)
  914. })();/*! `python` grammar compiled for Highlight.js 11.3.1 */
  915. (() => {
  916. var e = (() => {
  917. "use strict"; return e => {
  918. const n = e.regex, a = /[\p{XID_Start}_]\p{XID_Continue}*/u, i = {
  919. $pattern: /[A-Za-z]\w+|__\w+__/,
  920. keyword: ["and", "as", "assert", "async", "await", "break", "class", "continue", "def", "del", "elif", "else", "except", "finally", "for", "from", "global", "if", "import", "in", "is", "lambda", "nonlocal|10", "not", "or", "pass", "raise", "return", "try", "while", "with", "yield"],
  921. built_in: ["__import__", "abs", "all", "any", "ascii", "bin", "bool", "breakpoint", "bytearray", "bytes", "callable", "chr", "classmethod", "compile", "complex", "delattr", "dict", "dir", "divmod", "enumerate", "eval", "exec", "filter", "float", "format", "frozenset", "getattr", "globals", "hasattr", "hash", "help", "hex", "id", "input", "int", "isinstance", "issubclass", "iter", "len", "list", "locals", "map", "max", "memoryview", "min", "next", "object", "oct", "open", "ord", "pow", "print", "property", "range", "repr", "reversed", "round", "set", "setattr", "slice", "sorted", "staticmethod", "str", "sum", "super", "tuple", "type", "vars", "zip"],
  922. literal: ["__debug__", "Ellipsis", "False", "None", "NotImplemented", "True"],
  923. type: ["Any", "Callable", "Coroutine", "Dict", "List", "Literal", "Generic", "Optional", "Sequence", "Set", "Tuple", "Type", "Union"]
  924. }, s = { className: "meta", begin: /^(>>>|\.\.\.) / }, t = {
  925. className: "subst", begin: /\{/,
  926. end: /\}/, keywords: i, illegal: /#/
  927. }, r = { begin: /\{\{/, relevance: 0 }, l = {
  928. className: "string", contains: [e.BACKSLASH_ESCAPE], variants: [{
  929. begin: /([uU]|[bB]|[rR]|[bB][rR]|[rR][bB])?'''/, end: /'''/,
  930. contains: [e.BACKSLASH_ESCAPE, s], relevance: 10
  931. }, {
  932. begin: /([uU]|[bB]|[rR]|[bB][rR]|[rR][bB])?"""/, end: /"""/,
  933. contains: [e.BACKSLASH_ESCAPE, s], relevance: 10
  934. }, {
  935. begin: /([fF][rR]|[rR][fF]|[fF])'''/, end: /'''/,
  936. contains: [e.BACKSLASH_ESCAPE, s, r, t]
  937. }, {
  938. begin: /([fF][rR]|[rR][fF]|[fF])"""/,
  939. end: /"""/, contains: [e.BACKSLASH_ESCAPE, s, r, t]
  940. }, {
  941. begin: /([uU]|[rR])'/, end: /'/,
  942. relevance: 10
  943. }, { begin: /([uU]|[rR])"/, end: /"/, relevance: 10 }, {
  944. begin: /([bB]|[bB][rR]|[rR][bB])'/, end: /'/
  945. }, {
  946. begin: /([bB]|[bB][rR]|[rR][bB])"/,
  947. end: /"/
  948. }, {
  949. begin: /([fF][rR]|[rR][fF]|[fF])'/, end: /'/,
  950. contains: [e.BACKSLASH_ESCAPE, r, t]
  951. }, {
  952. begin: /([fF][rR]|[rR][fF]|[fF])"/, end: /"/,
  953. contains: [e.BACKSLASH_ESCAPE, r, t]
  954. }, e.APOS_STRING_MODE, e.QUOTE_STRING_MODE]
  955. }, b = "[0-9](_?[0-9])*", o = `(\\b(${b}))?\\.(${b})|\\b(${b})\\.`, c = {
  956. className: "number", relevance: 0, variants: [{
  957. begin: `(\\b(${b})|(${o}))[eE][+-]?(${b})[jJ]?\\b`
  958. }, { begin: `(${o})[jJ]?` }, {
  959. begin: "\\b([1-9](_?[0-9])*|0+(_?0)*)[lLjJ]?\\b"
  960. }, {
  961. begin: "\\b0[bB](_?[01])+[lL]?\\b"
  962. }, { begin: "\\b0[oO](_?[0-7])+[lL]?\\b" }, {
  963. begin: "\\b0[xX](_?[0-9a-fA-F])+[lL]?\\b"
  964. }, { begin: `\\b(${b})[jJ]\\b` }]
  965. }, d = {
  966. className: "comment", begin: n.lookahead(/# type:/), end: /$/, keywords: i, contains: [{
  967. begin: /# type:/
  968. }, { begin: /#/, end: /\b\B/, endsWithParent: !0 }]
  969. }, g = {
  970. className: "params", variants: [{ className: "", begin: /\(\s*\)/, skip: !0 }, {
  971. begin: /\(/,
  972. end: /\)/, excludeBegin: !0, excludeEnd: !0, keywords: i,
  973. contains: ["self", s, c, l, e.HASH_COMMENT_MODE]
  974. }]
  975. }; return t.contains = [l, c, s], {
  976. name: "Python", aliases: ["py", "gyp", "ipython"], unicodeRegex: !0, keywords: i,
  977. illegal: /(<\/|->|\?)|=>/, contains: [s, c, { begin: /\bself\b/ }, {
  978. beginKeywords: "if",
  979. relevance: 0
  980. }, l, d, e.HASH_COMMENT_MODE, {
  981. match: [/def/, /\s+/, a], scope: {
  982. 1: "keyword",
  983. 3: "title.function"
  984. }, contains: [g]
  985. }, {
  986. variants: [{
  987. match: [/class/, /\s+/, a, /\s*/, /\(\s*/, a, /\s*\)/]
  988. }, { match: [/class/, /\s+/, a] }],
  989. scope: { 1: "keyword", 3: "title.class", 6: "title.class.inherited" }
  990. }, {
  991. className: "meta", begin: /^[\t ]*@/, end: /(?=#)|$/, contains: [c, g, l]
  992. }]
  993. }
  994. }
  995. })()
  996. ; hljs.registerLanguage("python", e)
  997. })();/*! `makefile` grammar compiled for Highlight.js 11.3.1 */
  998. (() => {
  999. var e = (() => {
  1000. "use strict"; return e => {
  1001. const i = {
  1002. className: "variable",
  1003. variants: [{
  1004. begin: "\\$\\(" + e.UNDERSCORE_IDENT_RE + "\\)",
  1005. contains: [e.BACKSLASH_ESCAPE]
  1006. }, { begin: /\$[@%<?\^\+\*]/ }]
  1007. }, a = {
  1008. className: "string",
  1009. begin: /"/, end: /"/, contains: [e.BACKSLASH_ESCAPE, i]
  1010. }, n = {
  1011. className: "variable",
  1012. begin: /\$\([\w-]+\s/, end: /\)/, keywords: {
  1013. built_in: "subst patsubst strip findstring filter filter-out sort word wordlist firstword lastword dir notdir suffix basename addsuffix addprefix join wildcard realpath abspath error warning shell origin flavor foreach if or and call eval file value"
  1014. }, contains: [i]
  1015. }, s = { begin: "^" + e.UNDERSCORE_IDENT_RE + "\\s*(?=[:+?]?=)" }, r = {
  1016. className: "section", begin: /^[^\s]+:/, end: /$/, contains: [i]
  1017. }; return {
  1018. name: "Makefile", aliases: ["mk", "mak", "make"], keywords: {
  1019. $pattern: /[\w-]+/,
  1020. keyword: "define endef undefine ifdef ifndef ifeq ifneq else endif include -include sinclude override export unexport private vpath"
  1021. }, contains: [e.HASH_COMMENT_MODE, i, a, n, s, {
  1022. className: "meta", begin: /^\.PHONY:/,
  1023. end: /$/, keywords: { $pattern: /[\.\w]+/, keyword: ".PHONY" }
  1024. }, r]
  1025. }
  1026. }
  1027. })()
  1028. ; hljs.registerLanguage("makefile", e)
  1029. })();/*! `r` grammar compiled for Highlight.js 11.3.1 */
  1030. (() => {
  1031. var e = (() => {
  1032. "use strict"; return e => {
  1033. const a = e.regex, n = /(?:(?:[a-zA-Z]|\.[._a-zA-Z])[._a-zA-Z0-9]*)|\.(?!\d)/, i = a.either(/0[xX][0-9a-fA-F]+\.[0-9a-fA-F]*[pP][+-]?\d+i?/, /0[xX][0-9a-fA-F]+(?:[pP][+-]?\d+)?[Li]?/, /(?:\d+(?:\.\d*)?|\.\d+)(?:[eE][+-]?\d+)?[Li]?/), s = /[=!<>:]=|\|\||&&|:::?|<-|<<-|->>|->|\|>|[-+*\/?!$&|:<=>@^~]|\*\*/, t = a.either(/[()]/, /[{}]/, /\[\[/, /[[\]]/, /\\/, /,/)
  1034. ; return {
  1035. name: "R", keywords: {
  1036. $pattern: n,
  1037. keyword: "function if in break next repeat else for while",
  1038. literal: "NULL NA TRUE FALSE Inf NaN NA_integer_|10 NA_real_|10 NA_character_|10 NA_complex_|10",
  1039. built_in: "LETTERS letters month.abb month.name pi T F abs acos acosh all any anyNA Arg as.call as.character as.complex as.double as.environment as.integer as.logical as.null.default as.numeric as.raw asin asinh atan atanh attr attributes baseenv browser c call ceiling class Conj cos cosh cospi cummax cummin cumprod cumsum digamma dim dimnames emptyenv exp expression floor forceAndCall gamma gc.time globalenv Im interactive invisible is.array is.atomic is.call is.character is.complex is.double is.environment is.expression is.finite is.function is.infinite is.integer is.language is.list is.logical is.matrix is.na is.name is.nan is.null is.numeric is.object is.pairlist is.raw is.recursive is.single is.symbol lazyLoadDBfetch length lgamma list log max min missing Mod names nargs nzchar oldClass on.exit pos.to.env proc.time prod quote range Re rep retracemem return round seq_along seq_len seq.int sign signif sin sinh sinpi sqrt standardGeneric substitute sum switch tan tanh tanpi tracemem trigamma trunc unclass untracemem UseMethod xtfrm"
  1040. }, contains: [e.COMMENT(/#'/, /$/, {
  1041. contains: [{
  1042. scope: "doctag", match: /@examples/,
  1043. starts: {
  1044. end: a.lookahead(a.either(/\n^#'\s*(?=@[a-zA-Z]+)/, /\n^(?!#')/)),
  1045. endsParent: !0
  1046. }
  1047. }, {
  1048. scope: "doctag", begin: "@param", end: /$/, contains: [{
  1049. scope: "variable", variants: [{ match: n }, { match: /`(?:\\.|[^`\\])+`/ }], endsParent: !0
  1050. }]
  1051. }, { scope: "doctag", match: /@[a-zA-Z]+/ }, { scope: "keyword", match: /\\[a-zA-Z]+/ }]
  1052. }), e.HASH_COMMENT_MODE, {
  1053. scope: "string", contains: [e.BACKSLASH_ESCAPE],
  1054. variants: [e.END_SAME_AS_BEGIN({
  1055. begin: /[rR]"(-*)\(/, end: /\)(-*)"/
  1056. }), e.END_SAME_AS_BEGIN({
  1057. begin: /[rR]"(-*)\{/, end: /\}(-*)"/
  1058. }), e.END_SAME_AS_BEGIN({
  1059. begin: /[rR]"(-*)\[/, end: /\](-*)"/
  1060. }), e.END_SAME_AS_BEGIN({
  1061. begin: /[rR]'(-*)\(/, end: /\)(-*)'/
  1062. }), e.END_SAME_AS_BEGIN({
  1063. begin: /[rR]'(-*)\{/, end: /\}(-*)'/
  1064. }), e.END_SAME_AS_BEGIN({ begin: /[rR]'(-*)\[/, end: /\](-*)'/ }), {
  1065. begin: '"', end: '"',
  1066. relevance: 0
  1067. }, { begin: "'", end: "'", relevance: 0 }]
  1068. }, {
  1069. relevance: 0, variants: [{
  1070. scope: {
  1071. 1: "operator", 2: "number"
  1072. }, match: [s, i]
  1073. }, {
  1074. scope: { 1: "operator", 2: "number" },
  1075. match: [/%[^%]*%/, i]
  1076. }, { scope: { 1: "punctuation", 2: "number" }, match: [t, i] }, {
  1077. scope: {
  1078. 2: "number"
  1079. }, match: [/[^a-zA-Z0-9._]|^/, i]
  1080. }]
  1081. }, {
  1082. scope: { 3: "operator" },
  1083. match: [n, /\s+/, /<-/, /\s+/]
  1084. }, {
  1085. scope: "operator", relevance: 0, variants: [{ match: s }, {
  1086. match: /%[^%]*%/
  1087. }]
  1088. }, { scope: "punctuation", relevance: 0, match: t }, {
  1089. begin: "`", end: "`",
  1090. contains: [{ begin: /\\./ }]
  1091. }]
  1092. }
  1093. }
  1094. })(); hljs.registerLanguage("r", e)
  1095. })();/*! `diff` grammar compiled for Highlight.js 11.3.1 */
  1096. (() => {
  1097. var e = (() => {
  1098. "use strict"; return e => {
  1099. const a = e.regex; return {
  1100. name: "Diff",
  1101. aliases: ["patch"], contains: [{
  1102. className: "meta", relevance: 10,
  1103. match: a.either(/^@@ +-\d+,\d+ +\+\d+,\d+ +@@/, /^\*\*\* +\d+,\d+ +\*\*\*\*$/, /^--- +\d+,\d+ +----$/)
  1104. }, {
  1105. className: "comment", variants: [{
  1106. begin: a.either(/Index: /, /^index/, /={3,}/, /^-{3}/, /^\*{3} /, /^\+{3}/, /^diff --git/),
  1107. end: /$/
  1108. }, { match: /^\*{15}$/ }]
  1109. }, { className: "addition", begin: /^\+/, end: /$/ }, {
  1110. className: "deletion", begin: /^-/, end: /$/
  1111. }, {
  1112. className: "addition", begin: /^!/,
  1113. end: /$/
  1114. }]
  1115. }
  1116. }
  1117. })(); hljs.registerLanguage("diff", e)
  1118. })();/*! `less` grammar compiled for Highlight.js 11.3.1 */
  1119. (() => {
  1120. var e = (() => {
  1121. "use strict"
  1122. ; const e = ["a", "abbr", "address", "article", "aside", "audio", "b", "blockquote", "body", "button", "canvas", "caption", "cite", "code", "dd", "del", "details", "dfn", "div", "dl", "dt", "em", "fieldset", "figcaption", "figure", "footer", "form", "h1", "h2", "h3", "h4", "h5", "h6", "header", "hgroup", "html", "i", "iframe", "img", "input", "ins", "kbd", "label", "legend", "li", "main", "mark", "menu", "nav", "object", "ol", "p", "q", "quote", "samp", "section", "span", "strong", "summary", "sup", "table", "tbody", "td", "textarea", "tfoot", "th", "thead", "time", "tr", "ul", "var", "video"], t = ["any-hover", "any-pointer", "aspect-ratio", "color", "color-gamut", "color-index", "device-aspect-ratio", "device-height", "device-width", "display-mode", "forced-colors", "grid", "height", "hover", "inverted-colors", "monochrome", "orientation", "overflow-block", "overflow-inline", "pointer", "prefers-color-scheme", "prefers-contrast", "prefers-reduced-motion", "prefers-reduced-transparency", "resolution", "scan", "scripting", "update", "width", "min-width", "max-width", "min-height", "max-height"], i = ["active", "any-link", "blank", "checked", "current", "default", "defined", "dir", "disabled", "drop", "empty", "enabled", "first", "first-child", "first-of-type", "fullscreen", "future", "focus", "focus-visible", "focus-within", "has", "host", "host-context", "hover", "indeterminate", "in-range", "invalid", "is", "lang", "last-child", "last-of-type", "left", "link", "local-link", "not", "nth-child", "nth-col", "nth-last-child", "nth-last-col", "nth-last-of-type", "nth-of-type", "only-child", "only-of-type", "optional", "out-of-range", "past", "placeholder-shown", "read-only", "read-write", "required", "right", "root", "scope", "target", "target-within", "user-invalid", "valid", "visited", "where"], r = ["after", "backdrop", "before", "cue", "cue-region", "first-letter", "first-line", "grammar-error", "marker", "part", "placeholder", "selection", "slotted", "spelling-error"], o = ["align-content", "align-items", "align-self", "all", "animation", "animation-delay", "animation-direction", "animation-duration", "animation-fill-mode", "animation-iteration-count", "animation-name", "animation-play-state", "animation-timing-function", "backface-visibility", "background", "background-attachment", "background-clip", "background-color", "background-image", "background-origin", "background-position", "background-repeat", "background-size", "border", "border-bottom", "border-bottom-color", "border-bottom-left-radius", "border-bottom-right-radius", "border-bottom-style", "border-bottom-width", "border-collapse", "border-color", "border-image", "border-image-outset", "border-image-repeat", "border-image-slice", "border-image-source", "border-image-width", "border-left", "border-left-color", "border-left-style", "border-left-width", "border-radius", "border-right", "border-right-color", "border-right-style", "border-right-width", "border-spacing", "border-style", "border-top", "border-top-color", "border-top-left-radius", "border-top-right-radius", "border-top-style", "border-top-width", "border-width", "bottom", "box-decoration-break", "box-shadow", "box-sizing", "break-after", "break-before", "break-inside", "caption-side", "caret-color", "clear", "clip", "clip-path", "clip-rule", "color", "column-count", "column-fill", "column-gap", "column-rule", "column-rule-color", "column-rule-style", "column-rule-width", "column-span", "column-width", "columns", "contain", "content", "content-visibility", "counter-increment", "counter-reset", "cue", "cue-after", "cue-before", "cursor", "direction", "display", "empty-cells", "filter", "flex", "flex-basis", "flex-direction", "flex-flow", "flex-grow", "flex-shrink", "flex-wrap", "float", "flow", "font", "font-display", "font-family", "font-feature-settings", "font-kerning", "font-language-override", "font-size", "font-size-adjust", "font-smoothing", "font-stretch", "font-style", "font-synthesis", "font-variant", "font-variant-caps", "font-variant-east-asian", "font-variant-ligatures", "font-variant-numeric", "font-variant-position", "font-variation-settings", "font-weight", "gap", "glyph-orientation-vertical", "grid", "grid-area", "grid-auto-columns", "grid-auto-flow", "grid-auto-rows", "grid-column", "grid-column-end", "grid-column-start", "grid-gap", "grid-row", "grid-row-end", "grid-row-start", "grid-template", "grid-template-areas", "grid-template-columns", "grid-template-rows", "hanging-punctuation", "height", "hyphens", "icon", "image-orientation", "image-rendering", "image-resolution", "ime-mode", "isolation", "justify-content", "left", "letter-spacing", "line-break", "line-height", "list-style", "list-style-image", "list-style-position", "list-style-type", "margin", "margin-bottom", "margin-left", "margin-right", "margin-top", "marks", "mask", "mask-border", "mask-border-mode", "mask-border-outset", "mask-border-repeat", "mask-border-slice", "mask-border-source", "mask-border-width", "mask-clip", "mask-composite", "mask-image", "mask-mode", "mask-origin", "mask-position", "mask-repeat", "mask-size", "mask-type", "max-height", "max-width", "min-height", "min-width", "mix-blend-mode", "nav-down", "nav-index", "nav-left", "nav-right", "nav-up", "none", "normal", "object-fit", "object-position", "opacity", "order", "orphans", "outline", "outline-color", "outline-offset", "outline-style", "outline-width", "overflow", "overflow-wrap", "overflow-x", "overflow-y", "padding", "padding-bottom", "padding-left", "padding-right", "padding-top", "page-break-after", "page-break-before", "page-break-inside", "pause", "pause-after", "pause-before", "perspective", "perspective-origin", "pointer-events", "position", "quotes", "resize", "rest", "rest-after", "rest-before", "right", "row-gap", "scroll-margin", "scroll-margin-block", "scroll-margin-block-end", "scroll-margin-block-start", "scroll-margin-bottom", "scroll-margin-inline", "scroll-margin-inline-end", "scroll-margin-inline-start", "scroll-margin-left", "scroll-margin-right", "scroll-margin-top", "scroll-padding", "scroll-padding-block", "scroll-padding-block-end", "scroll-padding-block-start", "scroll-padding-bottom", "scroll-padding-inline", "scroll-padding-inline-end", "scroll-padding-inline-start", "scroll-padding-left", "scroll-padding-right", "scroll-padding-top", "scroll-snap-align", "scroll-snap-stop", "scroll-snap-type", "shape-image-threshold", "shape-margin", "shape-outside", "speak", "speak-as", "src", "tab-size", "table-layout", "text-align", "text-align-all", "text-align-last", "text-combine-upright", "text-decoration", "text-decoration-color", "text-decoration-line", "text-decoration-style", "text-emphasis", "text-emphasis-color", "text-emphasis-position", "text-emphasis-style", "text-indent", "text-justify", "text-orientation", "text-overflow", "text-rendering", "text-shadow", "text-transform", "text-underline-position", "top", "transform", "transform-box", "transform-origin", "transform-style", "transition", "transition-delay", "transition-duration", "transition-property", "transition-timing-function", "unicode-bidi", "vertical-align", "visibility", "voice-balance", "voice-duration", "voice-family", "voice-pitch", "voice-range", "voice-rate", "voice-stress", "voice-volume", "white-space", "widows", "width", "will-change", "word-break", "word-spacing", "word-wrap", "writing-mode", "z-index"].reverse(), n = i.concat(r)
  1123. ; return a => {
  1124. const s = (e => ({
  1125. IMPORTANT: { scope: "meta", begin: "!important" },
  1126. BLOCK_COMMENT: e.C_BLOCK_COMMENT_MODE, HEXCOLOR: {
  1127. scope: "number",
  1128. begin: /#(([0-9a-fA-F]{3,4})|(([0-9a-fA-F]{2}){3,4}))\b/
  1129. }, FUNCTION_DISPATCH: {
  1130. className: "built_in", begin: /[\w-]+(?=\()/
  1131. }, ATTRIBUTE_SELECTOR_MODE: {
  1132. scope: "selector-attr", begin: /\[/, end: /\]/, illegal: "$",
  1133. contains: [e.APOS_STRING_MODE, e.QUOTE_STRING_MODE]
  1134. }, CSS_NUMBER_MODE: {
  1135. scope: "number",
  1136. begin: e.NUMBER_RE + "(%|em|ex|ch|rem|vw|vh|vmin|vmax|cm|mm|in|pt|pc|px|deg|grad|rad|turn|s|ms|Hz|kHz|dpi|dpcm|dppx)?",
  1137. relevance: 0
  1138. }, CSS_VARIABLE: { className: "attr", begin: /--[A-Za-z][A-Za-z0-9_-]*/ }
  1139. }))(a), l = n, d = "([\\w-]+|@\\{[\\w-]+\\})", c = [], g = [], m = e => ({
  1140. className: "string",
  1141. begin: "~?" + e + ".*?" + e
  1142. }), p = (e, t, i) => ({ className: e, begin: t, relevance: i }), b = {
  1143. $pattern: /[a-z-]+/, keyword: "and or not only", attribute: t.join(" ")
  1144. }, u = {
  1145. begin: "\\(", end: "\\)", contains: g, keywords: b, relevance: 0
  1146. }
  1147. ; g.push(a.C_LINE_COMMENT_MODE, a.C_BLOCK_COMMENT_MODE, m("'"), m('"'), s.CSS_NUMBER_MODE, {
  1148. begin: "(url|data-uri)\\(", starts: {
  1149. className: "string", end: "[\\)\\n]",
  1150. excludeEnd: !0
  1151. }
  1152. }, s.HEXCOLOR, u, p("variable", "@@?[\\w-]+", 10), p("variable", "@\\{[\\w-]+\\}"), p("built_in", "~?`[^`]*?`"), {
  1153. className: "attribute", begin: "[\\w-]+\\s*:", end: ":", returnBegin: !0, excludeEnd: !0
  1154. }, s.IMPORTANT); const h = g.concat({ begin: /\{/, end: /\}/, contains: c }), f = {
  1155. beginKeywords: "when", endsWithParent: !0, contains: [{
  1156. beginKeywords: "and not"
  1157. }].concat(g)
  1158. }, v = {
  1159. begin: d + "\\s*:", returnBegin: !0, end: /[;}]/, relevance: 0,
  1160. contains: [{ begin: /-(webkit|moz|ms|o)-/ }, s.CSS_VARIABLE, {
  1161. className: "attribute",
  1162. begin: "\\b(" + o.join("|") + ")\\b", end: /(?=:)/, starts: {
  1163. endsWithParent: !0,
  1164. illegal: "[<=$]", relevance: 0, contains: g
  1165. }
  1166. }]
  1167. }, w = {
  1168. className: "keyword",
  1169. begin: "@(import|media|charset|font-face|(-[a-z]+-)?keyframes|supports|document|namespace|page|viewport|host)\\b",
  1170. starts: { end: "[;{}]", keywords: b, returnEnd: !0, contains: g, relevance: 0 }
  1171. }, k = {
  1172. className: "variable", variants: [{ begin: "@[\\w-]+\\s*:", relevance: 15 }, {
  1173. begin: "@[\\w-]+"
  1174. }], starts: { end: "[;}]", returnEnd: !0, contains: h }
  1175. }, y = {
  1176. variants: [{
  1177. begin: "[\\.#:&\\[>]", end: "[;{}]"
  1178. }, { begin: d, end: /\{/ }], returnBegin: !0,
  1179. returnEnd: !0, illegal: "[<='$\"]", relevance: 0,
  1180. contains: [a.C_LINE_COMMENT_MODE, a.C_BLOCK_COMMENT_MODE, f, p("keyword", "all\\b"), p("variable", "@\\{[\\w-]+\\}"), {
  1181. begin: "\\b(" + e.join("|") + ")\\b", className: "selector-tag"
  1182. }, s.CSS_NUMBER_MODE, p("selector-tag", d, 0), p("selector-id", "#" + d), p("selector-class", "\\." + d, 0), p("selector-tag", "&", 0), s.ATTRIBUTE_SELECTOR_MODE, {
  1183. className: "selector-pseudo", begin: ":(" + i.join("|") + ")"
  1184. }, {
  1185. className: "selector-pseudo", begin: ":(:)?(" + r.join("|") + ")"
  1186. }, {
  1187. begin: /\(/,
  1188. end: /\)/, relevance: 0, contains: h
  1189. }, { begin: "!important" }, s.FUNCTION_DISPATCH]
  1190. }, x = {
  1191. begin: `[\\w-]+:(:)?(${l.join("|")})`, returnBegin: !0, contains: [y]
  1192. }
  1193. ; return c.push(a.C_LINE_COMMENT_MODE, a.C_BLOCK_COMMENT_MODE, w, k, x, v, y), {
  1194. name: "Less", case_insensitive: !0, illegal: "[=>'/<($\"]", contains: c
  1195. }
  1196. }
  1197. })()
  1198. ; hljs.registerLanguage("less", e)
  1199. })();/*! `swift` grammar compiled for Highlight.js 11.3.1 */
  1200. (() => {
  1201. var e = (() => {
  1202. "use strict"; function e(e) {
  1203. return e ? "string" == typeof e ? e : e.source : null
  1204. } function a(e) { return t("(?=", e, ")") }
  1205. function t(...a) { return a.map((a => e(a))).join("") } function n(...a) {
  1206. const t = (e => {
  1207. const a = e[e.length - 1]
  1208. ; return "object" == typeof a && a.constructor === Object ? (e.splice(e.length - 1, 1), a) : {}
  1209. })(a); return "(" + (t.capture ? "" : "?:") + a.map((a => e(a))).join("|") + ")"
  1210. }
  1211. const i = e => t(/\b/, e, /\w$/.test(e) ? /\b/ : /\B/), s = ["Protocol", "Type"].map(i), u = ["init", "self"].map(i), c = ["Any", "Self"], r = ["actor", "associatedtype", "async", "await", /as\?/, /as!/, "as", "break", "case", "catch", "class", "continue", "convenience", "default", "defer", "deinit", "didSet", "do", "dynamic", "else", "enum", "extension", "fallthrough", /fileprivate\(set\)/, "fileprivate", "final", "for", "func", "get", "guard", "if", "import", "indirect", "infix", /init\?/, /init!/, "inout", /internal\(set\)/, "internal", "in", "is", "isolated", "nonisolated", "lazy", "let", "mutating", "nonmutating", /open\(set\)/, "open", "operator", "optional", "override", "postfix", "precedencegroup", "prefix", /private\(set\)/, "private", "protocol", /public\(set\)/, "public", "repeat", "required", "rethrows", "return", "set", "some", "static", "struct", "subscript", "super", "switch", "throws", "throw", /try\?/, /try!/, "try", "typealias", /unowned\(safe\)/, /unowned\(unsafe\)/, "unowned", "var", "weak", "where", "while", "willSet"], o = ["false", "nil", "true"], l = ["assignment", "associativity", "higherThan", "left", "lowerThan", "none", "right"], m = ["#colorLiteral", "#column", "#dsohandle", "#else", "#elseif", "#endif", "#error", "#file", "#fileID", "#fileLiteral", "#filePath", "#function", "#if", "#imageLiteral", "#keyPath", "#line", "#selector", "#sourceLocation", "#warn_unqualified_access", "#warning"], p = ["abs", "all", "any", "assert", "assertionFailure", "debugPrint", "dump", "fatalError", "getVaList", "isKnownUniquelyReferenced", "max", "min", "numericCast", "pointwiseMax", "pointwiseMin", "precondition", "preconditionFailure", "print", "readLine", "repeatElement", "sequence", "stride", "swap", "swift_unboxFromSwiftValueWithType", "transcode", "type", "unsafeBitCast", "unsafeDowncast", "withExtendedLifetime", "withUnsafeMutablePointer", "withUnsafePointer", "withVaList", "withoutActuallyEscaping", "zip"], d = n(/[/=\-+!*%<>&|^~?]/, /[\u00A1-\u00A7]/, /[\u00A9\u00AB]/, /[\u00AC\u00AE]/, /[\u00B0\u00B1]/, /[\u00B6\u00BB\u00BF\u00D7\u00F7]/, /[\u2016-\u2017]/, /[\u2020-\u2027]/, /[\u2030-\u203E]/, /[\u2041-\u2053]/, /[\u2055-\u205E]/, /[\u2190-\u23FF]/, /[\u2500-\u2775]/, /[\u2794-\u2BFF]/, /[\u2E00-\u2E7F]/, /[\u3001-\u3003]/, /[\u3008-\u3020]/, /[\u3030]/), F = n(d, /[\u0300-\u036F]/, /[\u1DC0-\u1DFF]/, /[\u20D0-\u20FF]/, /[\uFE00-\uFE0F]/, /[\uFE20-\uFE2F]/), b = t(d, F, "*"), h = n(/[a-zA-Z_]/, /[\u00A8\u00AA\u00AD\u00AF\u00B2-\u00B5\u00B7-\u00BA]/, /[\u00BC-\u00BE\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u00FF]/, /[\u0100-\u02FF\u0370-\u167F\u1681-\u180D\u180F-\u1DBF]/, /[\u1E00-\u1FFF]/, /[\u200B-\u200D\u202A-\u202E\u203F-\u2040\u2054\u2060-\u206F]/, /[\u2070-\u20CF\u2100-\u218F\u2460-\u24FF\u2776-\u2793]/, /[\u2C00-\u2DFF\u2E80-\u2FFF]/, /[\u3004-\u3007\u3021-\u302F\u3031-\u303F\u3040-\uD7FF]/, /[\uF900-\uFD3D\uFD40-\uFDCF\uFDF0-\uFE1F\uFE30-\uFE44]/, /[\uFE47-\uFEFE\uFF00-\uFFFD]/), f = n(h, /\d/, /[\u0300-\u036F\u1DC0-\u1DFF\u20D0-\u20FF\uFE20-\uFE2F]/), w = t(h, f, "*"), y = t(/[A-Z]/, f, "*"), g = ["autoclosure", t(/convention\(/, n("swift", "block", "c"), /\)/), "discardableResult", "dynamicCallable", "dynamicMemberLookup", "escaping", "frozen", "GKInspectable", "IBAction", "IBDesignable", "IBInspectable", "IBOutlet", "IBSegueAction", "inlinable", "main", "nonobjc", "NSApplicationMain", "NSCopying", "NSManaged", t(/objc\(/, w, /\)/), "objc", "objcMembers", "propertyWrapper", "requires_stored_property_inits", "resultBuilder", "testable", "UIApplicationMain", "unknown", "usableFromInline"], E = ["iOS", "iOSApplicationExtension", "macOS", "macOSApplicationExtension", "macCatalyst", "macCatalystApplicationExtension", "watchOS", "watchOSApplicationExtension", "tvOS", "tvOSApplicationExtension", "swift"]
  1212. ; return e => {
  1213. const d = { match: /\s+/, relevance: 0 }, h = e.COMMENT("/\\*", "\\*/", {
  1214. contains: ["self"]
  1215. }), v = [e.C_LINE_COMMENT_MODE, h], A = {
  1216. match: [/\./, n(...s, ...u)],
  1217. className: { 2: "keyword" }
  1218. }, N = {
  1219. match: t(/\./, n(...r)), relevance: 0
  1220. }, C = r.filter((e => "string" == typeof e)).concat(["_|0"]), D = {
  1221. variants: [{
  1222. className: "keyword",
  1223. match: n(...r.filter((e => "string" != typeof e)).concat(c).map(i), ...u)
  1224. }]
  1225. }, k = {
  1226. $pattern: n(/\b\w+/, /#\w+/), keyword: C.concat(m), literal: o
  1227. }, B = [A, N, D], _ = [{
  1228. match: t(/\./, n(...p)), relevance: 0
  1229. }, {
  1230. className: "built_in",
  1231. match: t(/\b/, n(...p), /(?=\()/)
  1232. }], S = { match: /->/, relevance: 0 }, M = [S, {
  1233. className: "operator", relevance: 0, variants: [{ match: b }, { match: `\\.(\\.|${F})+` }]
  1234. }], x = "([0-9a-fA-F]_*)+", I = {
  1235. className: "number", relevance: 0, variants: [{
  1236. match: "\\b(([0-9]_*)+)(\\.(([0-9]_*)+))?([eE][+-]?(([0-9]_*)+))?\\b"
  1237. }, {
  1238. match: `\\b0x(${x})(\\.(${x}))?([pP][+-]?(([0-9]_*)+))?\\b`
  1239. }, {
  1240. match: /\b0o([0-7]_*)+\b/
  1241. }, { match: /\b0b([01]_*)+\b/ }]
  1242. }, L = (e = "") => ({
  1243. className: "subst", variants: [{ match: t(/\\/, e, /[0\\tnr"']/) }, {
  1244. match: t(/\\/, e, /u\{[0-9a-fA-F]{1,8}\}/)
  1245. }]
  1246. }), O = (e = "") => ({
  1247. className: "subst",
  1248. match: t(/\\/, e, /[\t ]*(?:[\r\n]|\r\n)/)
  1249. }), T = (e = "") => ({
  1250. className: "subst",
  1251. label: "interpol", begin: t(/\\/, e, /\(/), end: /\)/
  1252. }), $ = (e = "") => ({
  1253. begin: t(e, /"""/),
  1254. end: t(/"""/, e), contains: [L(e), O(e), T(e)]
  1255. }), j = (e = "") => ({
  1256. begin: t(e, /"/),
  1257. end: t(/"/, e), contains: [L(e), T(e)]
  1258. }), P = {
  1259. className: "string",
  1260. variants: [$(), $("#"), $("##"), $("###"), j(), j("#"), j("##"), j("###")]
  1261. }, K = {
  1262. match: t(/`/, w, /`/)
  1263. }, z = [K, { className: "variable", match: /\$\d+/ }, {
  1264. className: "variable", match: `\\$${f}+`
  1265. }], q = [{
  1266. match: /(@|#)available/,
  1267. className: "keyword", starts: {
  1268. contains: [{
  1269. begin: /\(/, end: /\)/, keywords: E,
  1270. contains: [...M, I, P]
  1271. }]
  1272. }
  1273. }, { className: "keyword", match: t(/@/, n(...g)) }, {
  1274. className: "meta", match: t(/@/, w)
  1275. }], U = {
  1276. match: a(/\b[A-Z]/), relevance: 0, contains: [{
  1277. className: "type",
  1278. match: t(/(AV|CA|CF|CG|CI|CL|CM|CN|CT|MK|MP|MTK|MTL|NS|SCN|SK|UI|WK|XC)/, f, "+")
  1279. }, { className: "type", match: y, relevance: 0 }, { match: /[?!]+/, relevance: 0 }, {
  1280. match: /\.\.\./, relevance: 0
  1281. }, { match: t(/\s+&\s+/, a(y)), relevance: 0 }]
  1282. }, Z = {
  1283. begin: /</, end: />/, keywords: k, contains: [...v, ...B, ...q, S, U]
  1284. }; U.contains.push(Z)
  1285. ; const V = {
  1286. begin: /\(/, end: /\)/, relevance: 0, keywords: k, contains: ["self", {
  1287. match: t(w, /\s*:/), keywords: "_|0", relevance: 0
  1288. }, ...v, ...B, ..._, ...M, I, P, ...z, ...q, U]
  1289. }, W = {
  1290. begin: /</, end: />/, contains: [...v, U]
  1291. }, G = {
  1292. begin: /\(/, end: /\)/, keywords: k, contains: [{
  1293. begin: n(a(t(w, /\s*:/)), a(t(w, /\s+/, w, /\s*:/))), end: /:/, relevance: 0, contains: [{
  1294. className: "keyword", match: /\b_\b/
  1295. }, { className: "params", match: w }]
  1296. }, ...v, ...B, ...M, I, P, ...q, U, V], endsParent: !0, illegal: /["']/
  1297. }, R = {
  1298. match: [/func/, /\s+/, n(K.match, w, b)], className: { 1: "keyword", 3: "title.function" },
  1299. contains: [W, G, d], illegal: [/\[/, /%/]
  1300. }, X = {
  1301. match: [/\b(?:subscript|init[?!]?)/, /\s*(?=[<(])/], className: { 1: "keyword" },
  1302. contains: [W, G, d], illegal: /\[|%/
  1303. }, H = {
  1304. match: [/operator/, /\s+/, b], className: {
  1305. 1: "keyword", 3: "title"
  1306. }
  1307. }, J = {
  1308. begin: [/precedencegroup/, /\s+/, y], className: {
  1309. 1: "keyword", 3: "title"
  1310. }, contains: [U], keywords: [...l, ...o], end: /}/
  1311. }
  1312. ; for (const e of P.variants) {
  1313. const a = e.contains.find((e => "interpol" === e.label))
  1314. ; a.keywords = k; const t = [...B, ..._, ...M, I, P, ...z]; a.contains = [...t, {
  1315. begin: /\(/,
  1316. end: /\)/, contains: ["self", ...t]
  1317. }]
  1318. } return {
  1319. name: "Swift", keywords: k,
  1320. contains: [...v, R, X, {
  1321. beginKeywords: "struct protocol class extension enum actor",
  1322. end: "\\{", excludeEnd: !0, keywords: k, contains: [e.inherit(e.TITLE_MODE, {
  1323. className: "title.class", begin: /[A-Za-z$_][\u00C0-\u02B80-9A-Za-z$_]*/
  1324. }), ...B]
  1325. }, H, J, {
  1326. beginKeywords: "import", end: /$/, contains: [...v], relevance: 0
  1327. }, ...B, ..._, ...M, I, P, ...z, ...q, U, V]
  1328. }
  1329. }
  1330. })(); hljs.registerLanguage("swift", e)
  1331. })();/*! `go` grammar compiled for Highlight.js 11.3.1 */
  1332. (() => {
  1333. var e = (() => {
  1334. "use strict"; return e => {
  1335. const n = {
  1336. keyword: ["break", "case", "chan", "const", "continue", "default", "defer", "else", "fallthrough", "for", "func", "go", "goto", "if", "import", "interface", "map", "package", "range", "return", "select", "struct", "switch", "type", "var"],
  1337. type: ["bool", "byte", "complex64", "complex128", "error", "float32", "float64", "int8", "int16", "int32", "int64", "string", "uint8", "uint16", "uint32", "uint64", "int", "uint", "uintptr", "rune"],
  1338. literal: ["true", "false", "iota", "nil"],
  1339. built_in: ["append", "cap", "close", "complex", "copy", "imag", "len", "make", "new", "panic", "print", "println", "real", "recover", "delete"]
  1340. }; return {
  1341. name: "Go", aliases: ["golang"], keywords: n, illegal: "</",
  1342. contains: [e.C_LINE_COMMENT_MODE, e.C_BLOCK_COMMENT_MODE, {
  1343. className: "string",
  1344. variants: [e.QUOTE_STRING_MODE, e.APOS_STRING_MODE, { begin: "`", end: "`" }]
  1345. }, {
  1346. className: "number", variants: [{
  1347. begin: e.C_NUMBER_RE + "[i]", relevance: 1
  1348. }, e.C_NUMBER_MODE]
  1349. }, { begin: /:=/ }, {
  1350. className: "function", beginKeywords: "func",
  1351. end: "\\s*(\\{|$)", excludeEnd: !0, contains: [e.TITLE_MODE, {
  1352. className: "params",
  1353. begin: /\(/, end: /\)/, endsParent: !0, keywords: n, illegal: /["']/
  1354. }]
  1355. }]
  1356. }
  1357. }
  1358. })()
  1359. ; hljs.registerLanguage("go", e)
  1360. })();/*! `kotlin` grammar compiled for Highlight.js 11.3.1 */
  1361. (() => {
  1362. var e = (() => {
  1363. "use strict"
  1364. ; var e = "\\.([0-9](_*[0-9])*)", n = "[0-9a-fA-F](_*[0-9a-fA-F])*", a = {
  1365. className: "number", variants: [{
  1366. begin: `(\\b([0-9](_*[0-9])*)((${e})|\\.)?|(${e}))[eE][+-]?([0-9](_*[0-9])*)[fFdD]?\\b`
  1367. }, { begin: `\\b([0-9](_*[0-9])*)((${e})[fFdD]?\\b|\\.([fFdD]\\b)?)` }, {
  1368. begin: `(${e})[fFdD]?\\b`
  1369. }, { begin: "\\b([0-9](_*[0-9])*)[fFdD]\\b" }, {
  1370. begin: `\\b0[xX]((${n})\\.?|(${n})?\\.(${n}))[pP][+-]?([0-9](_*[0-9])*)[fFdD]?\\b`
  1371. }, { begin: "\\b(0|[1-9](_*[0-9])*)[lL]?\\b" }, { begin: `\\b0[xX](${n})[lL]?\\b` }, {
  1372. begin: "\\b0(_*[0-7])*[lL]?\\b"
  1373. }, { begin: "\\b0[bB][01](_*[01])*[lL]?\\b" }],
  1374. relevance: 0
  1375. }; return e => {
  1376. const n = {
  1377. keyword: "abstract as val var vararg get set class object open private protected public noinline crossinline dynamic final enum if else do while for when throw try catch finally import package is in fun override companion reified inline lateinit init interface annotation data sealed internal infix operator out by constructor super tailrec where const inner suspend typealias external expect actual",
  1378. built_in: "Byte Short Char Int Long Boolean Float Double Void Unit Nothing",
  1379. literal: "true false null"
  1380. }, i = {
  1381. className: "symbol", begin: e.UNDERSCORE_IDENT_RE + "@"
  1382. }, s = { className: "subst", begin: /\$\{/, end: /\}/, contains: [e.C_NUMBER_MODE] }, t = {
  1383. className: "variable", begin: "\\$" + e.UNDERSCORE_IDENT_RE
  1384. }, r = {
  1385. className: "string",
  1386. variants: [{ begin: '"""', end: '"""(?=[^"])', contains: [t, s] }, {
  1387. begin: "'", end: "'",
  1388. illegal: /\n/, contains: [e.BACKSLASH_ESCAPE]
  1389. }, {
  1390. begin: '"', end: '"', illegal: /\n/,
  1391. contains: [e.BACKSLASH_ESCAPE, t, s]
  1392. }]
  1393. }; s.contains.push(r); const l = {
  1394. className: "meta",
  1395. begin: "@(?:file|property|field|get|set|receiver|param|setparam|delegate)\\s*:(?:\\s*" + e.UNDERSCORE_IDENT_RE + ")?"
  1396. }, c = {
  1397. className: "meta", begin: "@" + e.UNDERSCORE_IDENT_RE, contains: [{
  1398. begin: /\(/,
  1399. end: /\)/, contains: [e.inherit(r, { className: "string" })]
  1400. }]
  1401. }, o = a, b = e.COMMENT("/\\*", "\\*/", { contains: [e.C_BLOCK_COMMENT_MODE] }), E = {
  1402. variants: [{ className: "type", begin: e.UNDERSCORE_IDENT_RE }, {
  1403. begin: /\(/, end: /\)/,
  1404. contains: []
  1405. }]
  1406. }, d = E; return d.variants[1].contains = [E], E.variants[1].contains = [d],
  1407. {
  1408. name: "Kotlin", aliases: ["kt", "kts"], keywords: n,
  1409. contains: [e.COMMENT("/\\*\\*", "\\*/", {
  1410. relevance: 0, contains: [{
  1411. className: "doctag",
  1412. begin: "@[A-Za-z]+"
  1413. }]
  1414. }), e.C_LINE_COMMENT_MODE, b, {
  1415. className: "keyword",
  1416. begin: /\b(break|continue|return|this)\b/, starts: {
  1417. contains: [{
  1418. className: "symbol",
  1419. begin: /@\w+/
  1420. }]
  1421. }
  1422. }, i, l, c, {
  1423. className: "function", beginKeywords: "fun", end: "[(]|$",
  1424. returnBegin: !0, excludeEnd: !0, keywords: n, relevance: 5, contains: [{
  1425. begin: e.UNDERSCORE_IDENT_RE + "\\s*\\(", returnBegin: !0, relevance: 0,
  1426. contains: [e.UNDERSCORE_TITLE_MODE]
  1427. }, {
  1428. className: "type", begin: /</, end: />/,
  1429. keywords: "reified", relevance: 0
  1430. }, {
  1431. className: "params", begin: /\(/, end: /\)/,
  1432. endsParent: !0, keywords: n, relevance: 0, contains: [{
  1433. begin: /:/, end: /[=,\/]/,
  1434. endsWithParent: !0, contains: [E, e.C_LINE_COMMENT_MODE, b], relevance: 0
  1435. }, e.C_LINE_COMMENT_MODE, b, l, c, r, e.C_NUMBER_MODE]
  1436. }, b]
  1437. }, {
  1438. className: "class",
  1439. beginKeywords: "class interface trait", end: /[:\{(]|$/, excludeEnd: !0,
  1440. illegal: "extends implements", contains: [{
  1441. beginKeywords: "public protected internal private constructor"
  1442. }, e.UNDERSCORE_TITLE_MODE, {
  1443. className: "type", begin: /</, end: />/, excludeBegin: !0,
  1444. excludeEnd: !0, relevance: 0
  1445. }, {
  1446. className: "type", begin: /[,:]\s*/, end: /[<\(,]|$/,
  1447. excludeBegin: !0, returnEnd: !0
  1448. }, l, c]
  1449. }, r, {
  1450. className: "meta", begin: "^#!/usr/bin/env",
  1451. end: "$", illegal: "\n"
  1452. }, o]
  1453. }
  1454. }
  1455. })(); hljs.registerLanguage("kotlin", e)
  1456. })();/*! `http` grammar compiled for Highlight.js 11.3.1 */
  1457. (() => {
  1458. var e = (() => {
  1459. "use strict"; return e => {
  1460. const n = "HTTP/(2|1\\.[01])", a = {
  1461. className: "attribute",
  1462. begin: e.regex.concat("^", /[A-Za-z][A-Za-z0-9-]*/, "(?=\\:\\s)"), starts: {
  1463. contains: [{
  1464. className: "punctuation", begin: /: /, relevance: 0, starts: {
  1465. end: "$",
  1466. relevance: 0
  1467. }
  1468. }]
  1469. }
  1470. }, s = [a, {
  1471. begin: "\\n\\n", starts: { subLanguage: [], endsWithParent: !0 }
  1472. }]; return {
  1473. name: "HTTP", aliases: ["https"], illegal: /\S/, contains: [{
  1474. begin: "^(?=" + n + " \\d{3})", end: /$/, contains: [{ className: "meta", begin: n }, {
  1475. className: "number", begin: "\\b\\d{3}\\b"
  1476. }], starts: {
  1477. end: /\b\B/, illegal: /\S/,
  1478. contains: s
  1479. }
  1480. }, {
  1481. begin: "(?=^[A-Z]+ (.*?) " + n + "$)", end: /$/, contains: [{
  1482. className: "string", begin: " ", end: " ", excludeBegin: !0, excludeEnd: !0
  1483. }, {
  1484. className: "meta", begin: n
  1485. }, { className: "keyword", begin: "[A-Z]+" }], starts: {
  1486. end: /\b\B/, illegal: /\S/, contains: s
  1487. }
  1488. }, e.inherit(a, { relevance: 0 })]
  1489. }
  1490. }
  1491. })()
  1492. ; hljs.registerLanguage("http", e)
  1493. })();/*! `xml` grammar compiled for Highlight.js 11.3.1 */
  1494. (() => {
  1495. var e = (() => {
  1496. "use strict"; return e => {
  1497. const a = e.regex, n = a.concat(/[A-Z_]/, a.optional(/[A-Z0-9_.-]*:/), /[A-Z0-9_.-]*/), s = {
  1498. className: "symbol", begin: /&[a-z]+;|&#[0-9]+;|&#x[a-f0-9]+;/
  1499. }, t = {
  1500. begin: /\s/,
  1501. contains: [{ className: "keyword", begin: /#?[a-z_][a-z1-9_-]+/, illegal: /\n/ }]
  1502. }, i = e.inherit(t, { begin: /\(/, end: /\)/ }), c = e.inherit(e.APOS_STRING_MODE, {
  1503. className: "string"
  1504. }), l = e.inherit(e.QUOTE_STRING_MODE, { className: "string" }), r = {
  1505. endsWithParent: !0, illegal: /</, relevance: 0, contains: [{
  1506. className: "attr",
  1507. begin: /[A-Za-z0-9._:-]+/, relevance: 0
  1508. }, {
  1509. begin: /=\s*/, relevance: 0, contains: [{
  1510. className: "string", endsParent: !0, variants: [{ begin: /"/, end: /"/, contains: [s] }, {
  1511. begin: /'/, end: /'/, contains: [s]
  1512. }, { begin: /[^\s"'=<>`]+/ }]
  1513. }]
  1514. }]
  1515. }; return {
  1516. name: "HTML, XML",
  1517. aliases: ["html", "xhtml", "rss", "atom", "xjb", "xsd", "xsl", "plist", "wsf", "svg"],
  1518. case_insensitive: !0, contains: [{
  1519. className: "meta", begin: /<![a-z]/, end: />/,
  1520. relevance: 10, contains: [t, l, c, i, {
  1521. begin: /\[/, end: /\]/, contains: [{
  1522. className: "meta",
  1523. begin: /<![a-z]/, end: />/, contains: [t, i, l, c]
  1524. }]
  1525. }]
  1526. }, e.COMMENT(/<!--/, /-->/, {
  1527. relevance: 10
  1528. }), { begin: /<!\[CDATA\[/, end: /\]\]>/, relevance: 10 }, s, {
  1529. className: "meta", begin: /<\?xml/, end: /\?>/, relevance: 10
  1530. }, {
  1531. className: "tag",
  1532. begin: /<style(?=\s|>)/, end: />/, keywords: { name: "style" }, contains: [r], starts: {
  1533. end: /<\/style>/, returnEnd: !0, subLanguage: ["css", "xml"]
  1534. }
  1535. }, {
  1536. className: "tag",
  1537. begin: /<script(?=\s|>)/, end: />/, keywords: { name: "script" }, contains: [r], starts: {
  1538. end: /<\/script>/, returnEnd: !0, subLanguage: ["javascript", "handlebars", "xml"]
  1539. }
  1540. }, {
  1541. className: "tag", begin: /<>|<\/>/
  1542. }, {
  1543. className: "tag",
  1544. begin: a.concat(/</, a.lookahead(a.concat(n, a.either(/\/>/, />/, /\s/)))),
  1545. end: /\/?>/, contains: [{ className: "name", begin: n, relevance: 0, starts: r }]
  1546. }, {
  1547. className: "tag", begin: a.concat(/<\//, a.lookahead(a.concat(n, />/))), contains: [{
  1548. className: "name", begin: n, relevance: 0
  1549. }, { begin: />/, relevance: 0, endsParent: !0 }]
  1550. }]
  1551. }
  1552. }
  1553. })(); hljs.registerLanguage("xml", e)
  1554. })();/*! `markdown` grammar compiled for Highlight.js 11.3.1 */
  1555. (() => {
  1556. var e = (() => {
  1557. "use strict"; return e => {
  1558. const n = {
  1559. begin: /<\/?[A-Za-z_]/,
  1560. end: ">", subLanguage: "xml", relevance: 0
  1561. }, a = {
  1562. variants: [{
  1563. begin: /\[.+?\]\[.*?\]/,
  1564. relevance: 0
  1565. }, {
  1566. begin: /\[.+?\]\(((data|javascript|mailto):|(?:http|ftp)s?:\/\/).*?\)/,
  1567. relevance: 2
  1568. }, {
  1569. begin: e.regex.concat(/\[.+?\]\(/, /[A-Za-z][A-Za-z0-9+.-]*/, /:\/\/.*?\)/),
  1570. relevance: 2
  1571. }, { begin: /\[.+?\]\([./?&#].*?\)/, relevance: 1 }, {
  1572. begin: /\[.*?\]\(.*?\)/, relevance: 0
  1573. }], returnBegin: !0, contains: [{
  1574. match: /\[(?=\])/
  1575. }, {
  1576. className: "string", relevance: 0, begin: "\\[", end: "\\]", excludeBegin: !0,
  1577. returnEnd: !0
  1578. }, {
  1579. className: "link", relevance: 0, begin: "\\]\\(", end: "\\)",
  1580. excludeBegin: !0, excludeEnd: !0
  1581. }, {
  1582. className: "symbol", relevance: 0, begin: "\\]\\[",
  1583. end: "\\]", excludeBegin: !0, excludeEnd: !0
  1584. }]
  1585. }, i = {
  1586. className: "strong", contains: [],
  1587. variants: [{ begin: /_{2}/, end: /_{2}/ }, { begin: /\*{2}/, end: /\*{2}/ }]
  1588. }, s = {
  1589. className: "emphasis", contains: [], variants: [{ begin: /\*(?!\*)/, end: /\*/ }, {
  1590. begin: /_(?!_)/, end: /_/, relevance: 0
  1591. }]
  1592. }; i.contains.push(s), s.contains.push(i)
  1593. ; let c = [n, a]
  1594. ; return i.contains = i.contains.concat(c), s.contains = s.contains.concat(c),
  1595. c = c.concat(i, s), {
  1596. name: "Markdown", aliases: ["md", "mkdown", "mkd"], contains: [{
  1597. className: "section", variants: [{ begin: "^#{1,6}", end: "$", contains: c }, {
  1598. begin: "(?=^.+?\\n[=-]{2,}$)", contains: [{ begin: "^[=-]*$" }, {
  1599. begin: "^", end: "\\n",
  1600. contains: c
  1601. }]
  1602. }]
  1603. }, n, {
  1604. className: "bullet", begin: "^[ \t]*([*+-]|(\\d+\\.))(?=\\s+)",
  1605. end: "\\s+", excludeEnd: !0
  1606. }, i, s, {
  1607. className: "quote", begin: "^>\\s+", contains: c,
  1608. end: "$"
  1609. }, {
  1610. className: "code", variants: [{ begin: "(`{3,})[^`](.|\\n)*?\\1`*[ ]*" }, {
  1611. begin: "(~{3,})[^~](.|\\n)*?\\1~*[ ]*"
  1612. }, { begin: "```", end: "```+[ ]*$" }, {
  1613. begin: "~~~", end: "~~~+[ ]*$"
  1614. }, { begin: "`.+?`" }, {
  1615. begin: "(?=^( {4}|\\t))",
  1616. contains: [{ begin: "^( {4}|\\t)", end: "(\\n)$" }], relevance: 0
  1617. }]
  1618. }, {
  1619. begin: "^[-\\*]{3,}", end: "$"
  1620. }, a, {
  1621. begin: /^\[[^\n]+\]:/, returnBegin: !0, contains: [{
  1622. className: "symbol", begin: /\[/, end: /\]/, excludeBegin: !0, excludeEnd: !0
  1623. }, {
  1624. className: "link", begin: /:\s*/, end: /$/, excludeBegin: !0
  1625. }]
  1626. }]
  1627. }
  1628. }
  1629. })()
  1630. ; hljs.registerLanguage("markdown", e)
  1631. })();/*! `php` grammar compiled for Highlight.js 11.3.1 */
  1632. (() => {
  1633. var e = (() => {
  1634. "use strict"; return e => {
  1635. const r = {
  1636. className: "variable",
  1637. begin: "\\$+[a-zA-Z_\x7f-\xff][a-zA-Z0-9_\x7f-\xff]*(?![A-Za-z0-9])(?![$])"
  1638. }, t = {
  1639. className: "meta", variants: [{ begin: /<\?php/, relevance: 10 }, { begin: /<\?[=]?/ }, {
  1640. begin: /\?>/
  1641. }]
  1642. }, a = {
  1643. className: "subst", variants: [{ begin: /\$\w+/ }, {
  1644. begin: /\{\$/,
  1645. end: /\}/
  1646. }]
  1647. }, n = e.inherit(e.APOS_STRING_MODE, {
  1648. illegal: null
  1649. }), i = e.inherit(e.QUOTE_STRING_MODE, {
  1650. illegal: null,
  1651. contains: e.QUOTE_STRING_MODE.contains.concat(a)
  1652. }), o = e.END_SAME_AS_BEGIN({
  1653. begin: /<<<[ \t]*(\w+)\n/, end: /[ \t]*(\w+)\b/,
  1654. contains: e.QUOTE_STRING_MODE.contains.concat(a)
  1655. }), l = {
  1656. className: "string",
  1657. contains: [e.BACKSLASH_ESCAPE, t], variants: [e.inherit(n, {
  1658. begin: "b'", end: "'"
  1659. }), e.inherit(i, { begin: 'b"', end: '"' }), i, n, o]
  1660. }, s = {
  1661. className: "number", variants: [{
  1662. begin: "\\b0b[01]+(?:_[01]+)*\\b"
  1663. }, { begin: "\\b0o[0-7]+(?:_[0-7]+)*\\b" }, {
  1664. begin: "\\b0x[\\da-f]+(?:_[\\da-f]+)*\\b"
  1665. }, {
  1666. begin: "(?:\\b\\d+(?:_\\d+)*(\\.(?:\\d+(?:_\\d+)*))?|\\B\\.\\d+)(?:e[+-]?\\d+)?"
  1667. }], relevance: 0
  1668. }, c = {
  1669. keyword: "__CLASS__ __DIR__ __FILE__ __FUNCTION__ __LINE__ __METHOD__ __NAMESPACE__ __TRAIT__ die echo exit include include_once print require require_once array abstract and as binary bool boolean break callable case catch class clone const continue declare default do double else elseif empty enddeclare endfor endforeach endif endswitch endwhile enum eval extends final finally float for foreach from global goto if implements instanceof insteadof int integer interface isset iterable list match|0 mixed new object or private protected public real return string switch throw trait try unset use var void while xor yield",
  1670. literal: "false null true",
  1671. built_in: "Error|0 AppendIterator ArgumentCountError ArithmeticError ArrayIterator ArrayObject AssertionError BadFunctionCallException BadMethodCallException CachingIterator CallbackFilterIterator CompileError Countable DirectoryIterator DivisionByZeroError DomainException EmptyIterator ErrorException Exception FilesystemIterator FilterIterator GlobIterator InfiniteIterator InvalidArgumentException IteratorIterator LengthException LimitIterator LogicException MultipleIterator NoRewindIterator OutOfBoundsException OutOfRangeException OuterIterator OverflowException ParentIterator ParseError RangeException RecursiveArrayIterator RecursiveCachingIterator RecursiveCallbackFilterIterator RecursiveDirectoryIterator RecursiveFilterIterator RecursiveIterator RecursiveIteratorIterator RecursiveRegexIterator RecursiveTreeIterator RegexIterator RuntimeException SeekableIterator SplDoublyLinkedList SplFileInfo SplFileObject SplFixedArray SplHeap SplMaxHeap SplMinHeap SplObjectStorage SplObserver SplObserver SplPriorityQueue SplQueue SplStack SplSubject SplSubject SplTempFileObject TypeError UnderflowException UnexpectedValueException UnhandledMatchError ArrayAccess Closure Generator Iterator IteratorAggregate Serializable Stringable Throwable Traversable WeakReference WeakMap Directory __PHP_Incomplete_Class parent php_user_filter self static stdClass"
  1672. }; return {
  1673. case_insensitive: !0, keywords: c,
  1674. contains: [e.HASH_COMMENT_MODE, e.COMMENT("//", "$", {
  1675. contains: [t]
  1676. }), e.COMMENT("/\\*", "\\*/", {
  1677. contains: [{ className: "doctag", begin: "@[A-Za-z]+" }]
  1678. }), e.COMMENT("__halt_compiler.+?;", !1, {
  1679. endsWithParent: !0,
  1680. keywords: "__halt_compiler"
  1681. }), t, { className: "keyword", begin: /\$this\b/ }, r, {
  1682. begin: /(::|->)+[a-zA-Z_\x7f-\xff][a-zA-Z0-9_\x7f-\xff]*/
  1683. }, {
  1684. className: "function",
  1685. relevance: 0, beginKeywords: "fn function", end: /[;{]/, excludeEnd: !0,
  1686. illegal: "[$%\\[]", contains: [{ beginKeywords: "use" }, e.UNDERSCORE_TITLE_MODE, {
  1687. begin: "=>", endsParent: !0
  1688. }, {
  1689. className: "params", begin: "\\(", end: "\\)",
  1690. excludeBegin: !0, excludeEnd: !0, keywords: c,
  1691. contains: ["self", r, e.C_BLOCK_COMMENT_MODE, l, s]
  1692. }]
  1693. }, {
  1694. className: "class", variants: [{
  1695. beginKeywords: "enum", illegal: /[($"]/
  1696. }, {
  1697. beginKeywords: "class interface trait",
  1698. illegal: /[:($"]/
  1699. }], relevance: 0, end: /\{/, excludeEnd: !0, contains: [{
  1700. beginKeywords: "extends implements"
  1701. }, e.UNDERSCORE_TITLE_MODE]
  1702. }, {
  1703. beginKeywords: "namespace", relevance: 0, end: ";", illegal: /[.']/,
  1704. contains: [e.UNDERSCORE_TITLE_MODE]
  1705. }, {
  1706. beginKeywords: "use", relevance: 0, end: ";",
  1707. contains: [e.UNDERSCORE_TITLE_MODE]
  1708. }, l, s]
  1709. }
  1710. }
  1711. })(); hljs.registerLanguage("php", e)
  1712. })();/*! `php-template` grammar compiled for Highlight.js 11.3.1 */
  1713. (() => {
  1714. var n = (() => {
  1715. "use strict"; return n => ({
  1716. name: "PHP template",
  1717. subLanguage: "xml", contains: [{
  1718. begin: /<\?(php|=)?/, end: /\?>/, subLanguage: "php",
  1719. contains: [{ begin: "/\\*", end: "\\*/", skip: !0 }, { begin: 'b"', end: '"', skip: !0 }, {
  1720. begin: "b'", end: "'", skip: !0
  1721. }, n.inherit(n.APOS_STRING_MODE, {
  1722. illegal: null,
  1723. className: null, contains: null, skip: !0
  1724. }), n.inherit(n.QUOTE_STRING_MODE, {
  1725. illegal: null, className: null, contains: null, skip: !0
  1726. })]
  1727. }]
  1728. })
  1729. })()
  1730. ; hljs.registerLanguage("php-template", n)
  1731. })();/*! `ini` grammar compiled for Highlight.js 11.3.1 */
  1732. (() => {
  1733. var e = (() => {
  1734. "use strict"; return e => {
  1735. const n = e.regex, a = {
  1736. className: "number",
  1737. relevance: 0, variants: [{ begin: /([+-]+)?[\d]+_[\d_]+/ }, { begin: e.NUMBER_RE }]
  1738. }, s = e.COMMENT(); s.variants = [{ begin: /;/, end: /$/ }, { begin: /#/, end: /$/ }]; const i = {
  1739. className: "variable", variants: [{ begin: /\$[\w\d"][\w\d_]*/ }, {
  1740. begin: /\$\{(.*?)\}/
  1741. }]
  1742. }, t = { className: "literal", begin: /\bon|off|true|false|yes|no\b/ }, r = {
  1743. className: "string", contains: [e.BACKSLASH_ESCAPE], variants: [{
  1744. begin: "'''",
  1745. end: "'''", relevance: 10
  1746. }, { begin: '"""', end: '"""', relevance: 10 }, {
  1747. begin: '"', end: '"'
  1748. }, { begin: "'", end: "'" }]
  1749. }, l = {
  1750. begin: /\[/, end: /\]/, contains: [s, t, i, r, a, "self"],
  1751. relevance: 0
  1752. }, c = n.either(/[A-Za-z0-9_-]+/, /"(\\"|[^"])*"/, /'[^']*'/); return {
  1753. name: "TOML, also INI", aliases: ["toml"], case_insensitive: !0, illegal: /\S/,
  1754. contains: [s, { className: "section", begin: /\[+/, end: /\]+/ }, {
  1755. begin: n.concat(c, "(\\s*\\.\\s*", c, ")*", n.lookahead(/\s*=\s*[^#\s]/)),
  1756. className: "attr", starts: { end: /$/, contains: [s, l, t, i, r, a] }
  1757. }]
  1758. }
  1759. }
  1760. })()
  1761. ; hljs.registerLanguage("ini", e)
  1762. })();/*! `rust` grammar compiled for Highlight.js 11.3.1 */
  1763. (() => {
  1764. var e = (() => {
  1765. "use strict"; return e => {
  1766. const t = e.regex, n = {
  1767. className: "title.function.invoke", relevance: 0,
  1768. begin: t.concat(/\b/, /(?!let\b)/, e.IDENT_RE, t.lookahead(/\s*\(/))
  1769. }, a = "([ui](8|16|32|64|128|size)|f(32|64))?", i = ["drop ", "Copy", "Send", "Sized", "Sync", "Drop", "Fn", "FnMut", "FnOnce", "ToOwned", "Clone", "Debug", "PartialEq", "PartialOrd", "Eq", "Ord", "AsRef", "AsMut", "Into", "From", "Default", "Iterator", "Extend", "IntoIterator", "DoubleEndedIterator", "ExactSizeIterator", "SliceConcatExt", "ToString", "assert!", "assert_eq!", "bitflags!", "bytes!", "cfg!", "col!", "concat!", "concat_idents!", "debug_assert!", "debug_assert_eq!", "env!", "panic!", "file!", "format!", "format_args!", "include_bin!", "include_str!", "line!", "local_data_key!", "module_path!", "option_env!", "print!", "println!", "select!", "stringify!", "try!", "unimplemented!", "unreachable!", "vec!", "write!", "writeln!", "macro_rules!", "assert_ne!", "debug_assert_ne!"]
  1770. ; return {
  1771. name: "Rust", aliases: ["rs"], keywords: {
  1772. $pattern: e.IDENT_RE + "!?",
  1773. type: ["i8", "i16", "i32", "i64", "i128", "isize", "u8", "u16", "u32", "u64", "u128", "usize", "f32", "f64", "str", "char", "bool", "Box", "Option", "Result", "String", "Vec"],
  1774. keyword: ["abstract", "as", "async", "await", "become", "box", "break", "const", "continue", "crate", "do", "dyn", "else", "enum", "extern", "false", "final", "fn", "for", "if", "impl", "in", "let", "loop", "macro", "match", "mod", "move", "mut", "override", "priv", "pub", "ref", "return", "self", "Self", "static", "struct", "super", "trait", "true", "try", "type", "typeof", "unsafe", "unsized", "use", "virtual", "where", "while", "yield"],
  1775. literal: ["true", "false", "Some", "None", "Ok", "Err"], built_in: i
  1776. }, illegal: "</",
  1777. contains: [e.C_LINE_COMMENT_MODE, e.COMMENT("/\\*", "\\*/", {
  1778. contains: ["self"]
  1779. }), e.inherit(e.QUOTE_STRING_MODE, { begin: /b?"/, illegal: null }), {
  1780. className: "string", variants: [{ begin: /b?r(#*)"(.|\n)*?"\1(?!#)/ }, {
  1781. begin: /b?'\\?(x\w{2}|u\w{4}|U\w{8}|.)'/
  1782. }]
  1783. }, {
  1784. className: "symbol",
  1785. begin: /'[a-zA-Z_][a-zA-Z0-9_]*/
  1786. }, {
  1787. className: "number", variants: [{
  1788. begin: "\\b0b([01_]+)" + a
  1789. }, { begin: "\\b0o([0-7_]+)" + a }, {
  1790. begin: "\\b0x([A-Fa-f0-9_]+)" + a
  1791. }, {
  1792. begin: "\\b(\\d[\\d_]*(\\.[0-9_]+)?([eE][+-]?[0-9_]+)?)" + a
  1793. }], relevance: 0
  1794. }, {
  1795. begin: [/fn/, /\s+/, e.UNDERSCORE_IDENT_RE], className: {
  1796. 1: "keyword",
  1797. 3: "title.function"
  1798. }
  1799. }, {
  1800. className: "meta", begin: "#!?\\[", end: "\\]", contains: [{
  1801. className: "string", begin: /"/, end: /"/
  1802. }]
  1803. }, {
  1804. begin: [/let/, /\s+/, /(?:mut\s+)?/, e.UNDERSCORE_IDENT_RE], className: {
  1805. 1: "keyword",
  1806. 3: "keyword", 4: "variable"
  1807. }
  1808. }, {
  1809. begin: [/for/, /\s+/, e.UNDERSCORE_IDENT_RE, /\s+/, /in/], className: {
  1810. 1: "keyword",
  1811. 3: "variable", 5: "keyword"
  1812. }
  1813. }, {
  1814. begin: [/type/, /\s+/, e.UNDERSCORE_IDENT_RE],
  1815. className: { 1: "keyword", 3: "title.class" }
  1816. }, {
  1817. begin: [/(?:trait|enum|struct|union|impl|for)/, /\s+/, e.UNDERSCORE_IDENT_RE],
  1818. className: { 1: "keyword", 3: "title.class" }
  1819. }, {
  1820. begin: e.IDENT_RE + "::", keywords: {
  1821. keyword: "Self", built_in: i
  1822. }
  1823. }, { className: "punctuation", begin: "->" }, n]
  1824. }
  1825. }
  1826. })()
  1827. ; hljs.registerLanguage("rust", e)
  1828. })();/*! `scss` grammar compiled for Highlight.js 11.3.1 */
  1829. (() => {
  1830. var e = (() => {
  1831. "use strict"
  1832. ; const e = ["a", "abbr", "address", "article", "aside", "audio", "b", "blockquote", "body", "button", "canvas", "caption", "cite", "code", "dd", "del", "details", "dfn", "div", "dl", "dt", "em", "fieldset", "figcaption", "figure", "footer", "form", "h1", "h2", "h3", "h4", "h5", "h6", "header", "hgroup", "html", "i", "iframe", "img", "input", "ins", "kbd", "label", "legend", "li", "main", "mark", "menu", "nav", "object", "ol", "p", "q", "quote", "samp", "section", "span", "strong", "summary", "sup", "table", "tbody", "td", "textarea", "tfoot", "th", "thead", "time", "tr", "ul", "var", "video"], t = ["any-hover", "any-pointer", "aspect-ratio", "color", "color-gamut", "color-index", "device-aspect-ratio", "device-height", "device-width", "display-mode", "forced-colors", "grid", "height", "hover", "inverted-colors", "monochrome", "orientation", "overflow-block", "overflow-inline", "pointer", "prefers-color-scheme", "prefers-contrast", "prefers-reduced-motion", "prefers-reduced-transparency", "resolution", "scan", "scripting", "update", "width", "min-width", "max-width", "min-height", "max-height"], i = ["active", "any-link", "blank", "checked", "current", "default", "defined", "dir", "disabled", "drop", "empty", "enabled", "first", "first-child", "first-of-type", "fullscreen", "future", "focus", "focus-visible", "focus-within", "has", "host", "host-context", "hover", "indeterminate", "in-range", "invalid", "is", "lang", "last-child", "last-of-type", "left", "link", "local-link", "not", "nth-child", "nth-col", "nth-last-child", "nth-last-col", "nth-last-of-type", "nth-of-type", "only-child", "only-of-type", "optional", "out-of-range", "past", "placeholder-shown", "read-only", "read-write", "required", "right", "root", "scope", "target", "target-within", "user-invalid", "valid", "visited", "where"], r = ["after", "backdrop", "before", "cue", "cue-region", "first-letter", "first-line", "grammar-error", "marker", "part", "placeholder", "selection", "slotted", "spelling-error"], o = ["align-content", "align-items", "align-self", "all", "animation", "animation-delay", "animation-direction", "animation-duration", "animation-fill-mode", "animation-iteration-count", "animation-name", "animation-play-state", "animation-timing-function", "backface-visibility", "background", "background-attachment", "background-clip", "background-color", "background-image", "background-origin", "background-position", "background-repeat", "background-size", "border", "border-bottom", "border-bottom-color", "border-bottom-left-radius", "border-bottom-right-radius", "border-bottom-style", "border-bottom-width", "border-collapse", "border-color", "border-image", "border-image-outset", "border-image-repeat", "border-image-slice", "border-image-source", "border-image-width", "border-left", "border-left-color", "border-left-style", "border-left-width", "border-radius", "border-right", "border-right-color", "border-right-style", "border-right-width", "border-spacing", "border-style", "border-top", "border-top-color", "border-top-left-radius", "border-top-right-radius", "border-top-style", "border-top-width", "border-width", "bottom", "box-decoration-break", "box-shadow", "box-sizing", "break-after", "break-before", "break-inside", "caption-side", "caret-color", "clear", "clip", "clip-path", "clip-rule", "color", "column-count", "column-fill", "column-gap", "column-rule", "column-rule-color", "column-rule-style", "column-rule-width", "column-span", "column-width", "columns", "contain", "content", "content-visibility", "counter-increment", "counter-reset", "cue", "cue-after", "cue-before", "cursor", "direction", "display", "empty-cells", "filter", "flex", "flex-basis", "flex-direction", "flex-flow", "flex-grow", "flex-shrink", "flex-wrap", "float", "flow", "font", "font-display", "font-family", "font-feature-settings", "font-kerning", "font-language-override", "font-size", "font-size-adjust", "font-smoothing", "font-stretch", "font-style", "font-synthesis", "font-variant", "font-variant-caps", "font-variant-east-asian", "font-variant-ligatures", "font-variant-numeric", "font-variant-position", "font-variation-settings", "font-weight", "gap", "glyph-orientation-vertical", "grid", "grid-area", "grid-auto-columns", "grid-auto-flow", "grid-auto-rows", "grid-column", "grid-column-end", "grid-column-start", "grid-gap", "grid-row", "grid-row-end", "grid-row-start", "grid-template", "grid-template-areas", "grid-template-columns", "grid-template-rows", "hanging-punctuation", "height", "hyphens", "icon", "image-orientation", "image-rendering", "image-resolution", "ime-mode", "isolation", "justify-content", "left", "letter-spacing", "line-break", "line-height", "list-style", "list-style-image", "list-style-position", "list-style-type", "margin", "margin-bottom", "margin-left", "margin-right", "margin-top", "marks", "mask", "mask-border", "mask-border-mode", "mask-border-outset", "mask-border-repeat", "mask-border-slice", "mask-border-source", "mask-border-width", "mask-clip", "mask-composite", "mask-image", "mask-mode", "mask-origin", "mask-position", "mask-repeat", "mask-size", "mask-type", "max-height", "max-width", "min-height", "min-width", "mix-blend-mode", "nav-down", "nav-index", "nav-left", "nav-right", "nav-up", "none", "normal", "object-fit", "object-position", "opacity", "order", "orphans", "outline", "outline-color", "outline-offset", "outline-style", "outline-width", "overflow", "overflow-wrap", "overflow-x", "overflow-y", "padding", "padding-bottom", "padding-left", "padding-right", "padding-top", "page-break-after", "page-break-before", "page-break-inside", "pause", "pause-after", "pause-before", "perspective", "perspective-origin", "pointer-events", "position", "quotes", "resize", "rest", "rest-after", "rest-before", "right", "row-gap", "scroll-margin", "scroll-margin-block", "scroll-margin-block-end", "scroll-margin-block-start", "scroll-margin-bottom", "scroll-margin-inline", "scroll-margin-inline-end", "scroll-margin-inline-start", "scroll-margin-left", "scroll-margin-right", "scroll-margin-top", "scroll-padding", "scroll-padding-block", "scroll-padding-block-end", "scroll-padding-block-start", "scroll-padding-bottom", "scroll-padding-inline", "scroll-padding-inline-end", "scroll-padding-inline-start", "scroll-padding-left", "scroll-padding-right", "scroll-padding-top", "scroll-snap-align", "scroll-snap-stop", "scroll-snap-type", "shape-image-threshold", "shape-margin", "shape-outside", "speak", "speak-as", "src", "tab-size", "table-layout", "text-align", "text-align-all", "text-align-last", "text-combine-upright", "text-decoration", "text-decoration-color", "text-decoration-line", "text-decoration-style", "text-emphasis", "text-emphasis-color", "text-emphasis-position", "text-emphasis-style", "text-indent", "text-justify", "text-orientation", "text-overflow", "text-rendering", "text-shadow", "text-transform", "text-underline-position", "top", "transform", "transform-box", "transform-origin", "transform-style", "transition", "transition-delay", "transition-duration", "transition-property", "transition-timing-function", "unicode-bidi", "vertical-align", "visibility", "voice-balance", "voice-duration", "voice-family", "voice-pitch", "voice-range", "voice-rate", "voice-stress", "voice-volume", "white-space", "widows", "width", "will-change", "word-break", "word-spacing", "word-wrap", "writing-mode", "z-index"].reverse()
  1833. ; return a => {
  1834. const n = (e => ({
  1835. IMPORTANT: { scope: "meta", begin: "!important" },
  1836. BLOCK_COMMENT: e.C_BLOCK_COMMENT_MODE, HEXCOLOR: {
  1837. scope: "number",
  1838. begin: /#(([0-9a-fA-F]{3,4})|(([0-9a-fA-F]{2}){3,4}))\b/
  1839. }, FUNCTION_DISPATCH: {
  1840. className: "built_in", begin: /[\w-]+(?=\()/
  1841. }, ATTRIBUTE_SELECTOR_MODE: {
  1842. scope: "selector-attr", begin: /\[/, end: /\]/, illegal: "$",
  1843. contains: [e.APOS_STRING_MODE, e.QUOTE_STRING_MODE]
  1844. }, CSS_NUMBER_MODE: {
  1845. scope: "number",
  1846. begin: e.NUMBER_RE + "(%|em|ex|ch|rem|vw|vh|vmin|vmax|cm|mm|in|pt|pc|px|deg|grad|rad|turn|s|ms|Hz|kHz|dpi|dpcm|dppx)?",
  1847. relevance: 0
  1848. }, CSS_VARIABLE: { className: "attr", begin: /--[A-Za-z][A-Za-z0-9_-]*/ }
  1849. }))(a), l = r, s = i, d = "@[a-z-]+", c = {
  1850. className: "variable",
  1851. begin: "(\\$[a-zA-Z-][a-zA-Z0-9_-]*)\\b"
  1852. }; return {
  1853. name: "SCSS", case_insensitive: !0,
  1854. illegal: "[=/|']",
  1855. contains: [a.C_LINE_COMMENT_MODE, a.C_BLOCK_COMMENT_MODE, n.CSS_NUMBER_MODE, {
  1856. className: "selector-id", begin: "#[A-Za-z0-9_-]+", relevance: 0
  1857. }, {
  1858. className: "selector-class", begin: "\\.[A-Za-z0-9_-]+", relevance: 0
  1859. }, n.ATTRIBUTE_SELECTOR_MODE, {
  1860. className: "selector-tag",
  1861. begin: "\\b(" + e.join("|") + ")\\b", relevance: 0
  1862. }, {
  1863. className: "selector-pseudo",
  1864. begin: ":(" + s.join("|") + ")"
  1865. }, {
  1866. className: "selector-pseudo",
  1867. begin: ":(:)?(" + l.join("|") + ")"
  1868. }, c, {
  1869. begin: /\(/, end: /\)/,
  1870. contains: [n.CSS_NUMBER_MODE]
  1871. }, n.CSS_VARIABLE, {
  1872. className: "attribute",
  1873. begin: "\\b(" + o.join("|") + ")\\b"
  1874. }, {
  1875. begin: "\\b(whitespace|wait|w-resize|visible|vertical-text|vertical-ideographic|uppercase|upper-roman|upper-alpha|underline|transparent|top|thin|thick|text|text-top|text-bottom|tb-rl|table-header-group|table-footer-group|sw-resize|super|strict|static|square|solid|small-caps|separate|se-resize|scroll|s-resize|rtl|row-resize|ridge|right|repeat|repeat-y|repeat-x|relative|progress|pointer|overline|outside|outset|oblique|nowrap|not-allowed|normal|none|nw-resize|no-repeat|no-drop|newspaper|ne-resize|n-resize|move|middle|medium|ltr|lr-tb|lowercase|lower-roman|lower-alpha|loose|list-item|line|line-through|line-edge|lighter|left|keep-all|justify|italic|inter-word|inter-ideograph|inside|inset|inline|inline-block|inherit|inactive|ideograph-space|ideograph-parenthesis|ideograph-numeric|ideograph-alpha|horizontal|hidden|help|hand|groove|fixed|ellipsis|e-resize|double|dotted|distribute|distribute-space|distribute-letter|distribute-all-lines|disc|disabled|default|decimal|dashed|crosshair|collapse|col-resize|circle|char|center|capitalize|break-word|break-all|bottom|both|bolder|bold|block|bidi-override|below|baseline|auto|always|all-scroll|absolute|table|table-cell)\\b"
  1876. }, {
  1877. begin: /:/, end: /[;}{]/,
  1878. contains: [n.BLOCK_COMMENT, c, n.HEXCOLOR, n.CSS_NUMBER_MODE, a.QUOTE_STRING_MODE, a.APOS_STRING_MODE, n.IMPORTANT]
  1879. }, { begin: "@(page|font-face)", keywords: { $pattern: d, keyword: "@page @font-face" } }, {
  1880. begin: "@", end: "[{;]", returnBegin: !0, keywords: {
  1881. $pattern: /[a-z-]+/,
  1882. keyword: "and or not only", attribute: t.join(" ")
  1883. }, contains: [{
  1884. begin: d,
  1885. className: "keyword"
  1886. }, {
  1887. begin: /[a-z-]+(?=:)/, className: "attribute"
  1888. }, c, a.QUOTE_STRING_MODE, a.APOS_STRING_MODE, n.HEXCOLOR, n.CSS_NUMBER_MODE]
  1889. }, n.FUNCTION_DISPATCH]
  1890. }
  1891. }
  1892. })(); hljs.registerLanguage("scss", e)
  1893. })();/*! `objectivec` grammar compiled for Highlight.js 11.3.1 */
  1894. (() => {
  1895. var e = (() => {
  1896. "use strict"; return e => {
  1897. const n = /[a-zA-Z@][a-zA-Z0-9_]*/, _ = {
  1898. $pattern: n, keyword: ["@interface", "@class", "@protocol", "@implementation"]
  1899. }
  1900. ; return {
  1901. name: "Objective-C",
  1902. aliases: ["mm", "objc", "obj-c", "obj-c++", "objective-c++"], keywords: {
  1903. $pattern: n,
  1904. keyword: ["int", "float", "while", "char", "export", "sizeof", "typedef", "const", "struct", "for", "union", "unsigned", "long", "volatile", "static", "bool", "mutable", "if", "do", "return", "goto", "void", "enum", "else", "break", "extern", "asm", "case", "short", "default", "double", "register", "explicit", "signed", "typename", "this", "switch", "continue", "wchar_t", "inline", "readonly", "assign", "readwrite", "self", "@synchronized", "id", "typeof", "nonatomic", "super", "unichar", "IBOutlet", "IBAction", "strong", "weak", "copy", "in", "out", "inout", "bycopy", "byref", "oneway", "__strong", "__weak", "__block", "__autoreleasing", "@private", "@protected", "@public", "@try", "@property", "@end", "@throw", "@catch", "@finally", "@autoreleasepool", "@synthesize", "@dynamic", "@selector", "@optional", "@required", "@encode", "@package", "@import", "@defs", "@compatibility_alias", "__bridge", "__bridge_transfer", "__bridge_retained", "__bridge_retain", "__covariant", "__contravariant", "__kindof", "_Nonnull", "_Nullable", "_Null_unspecified", "__FUNCTION__", "__PRETTY_FUNCTION__", "__attribute__", "getter", "setter", "retain", "unsafe_unretained", "nonnull", "nullable", "null_unspecified", "null_resettable", "class", "instancetype", "NS_DESIGNATED_INITIALIZER", "NS_UNAVAILABLE", "NS_REQUIRES_SUPER", "NS_RETURNS_INNER_POINTER", "NS_INLINE", "NS_AVAILABLE", "NS_DEPRECATED", "NS_ENUM", "NS_OPTIONS", "NS_SWIFT_UNAVAILABLE", "NS_ASSUME_NONNULL_BEGIN", "NS_ASSUME_NONNULL_END", "NS_REFINED_FOR_SWIFT", "NS_SWIFT_NAME", "NS_SWIFT_NOTHROW", "NS_DURING", "NS_HANDLER", "NS_ENDHANDLER", "NS_VALUERETURN", "NS_VOIDRETURN"],
  1905. literal: ["false", "true", "FALSE", "TRUE", "nil", "YES", "NO", "NULL"],
  1906. built_in: ["BOOL", "dispatch_once_t", "dispatch_queue_t", "dispatch_sync", "dispatch_async", "dispatch_once"]
  1907. }, illegal: "</", contains: [{
  1908. className: "built_in",
  1909. begin: "\\b(AV|CA|CF|CG|CI|CL|CM|CN|CT|MK|MP|MTK|MTL|NS|SCN|SK|UI|WK|XC)\\w+"
  1910. }, e.C_LINE_COMMENT_MODE, e.C_BLOCK_COMMENT_MODE, e.C_NUMBER_MODE, e.QUOTE_STRING_MODE, e.APOS_STRING_MODE, {
  1911. className: "string", variants: [{
  1912. begin: '@"', end: '"', illegal: "\\n",
  1913. contains: [e.BACKSLASH_ESCAPE]
  1914. }]
  1915. }, {
  1916. className: "meta", begin: /#\s*[a-z]+\b/, end: /$/,
  1917. keywords: {
  1918. keyword: "if else elif endif define undef warning error line pragma ifdef ifndef include"
  1919. }, contains: [{ begin: /\\\n/, relevance: 0 }, e.inherit(e.QUOTE_STRING_MODE, {
  1920. className: "string"
  1921. }), {
  1922. className: "string", begin: /<.*?>/, end: /$/, illegal: "\\n"
  1923. }, e.C_LINE_COMMENT_MODE, e.C_BLOCK_COMMENT_MODE]
  1924. }, {
  1925. className: "class",
  1926. begin: "(" + _.keyword.join("|") + ")\\b", end: /(\{|$)/, excludeEnd: !0, keywords: _,
  1927. contains: [e.UNDERSCORE_TITLE_MODE]
  1928. }, {
  1929. begin: "\\." + e.UNDERSCORE_IDENT_RE,
  1930. relevance: 0
  1931. }]
  1932. }
  1933. }
  1934. })(); hljs.registerLanguage("objectivec", e)
  1935. })();/*! `python-repl` grammar compiled for Highlight.js 11.3.1 */
  1936. (() => {
  1937. var a = (() => {
  1938. "use strict"; return a => ({
  1939. aliases: ["pycon"], contains: [{
  1940. className: "meta", starts: { end: / |$/, starts: { end: "$", subLanguage: "python" } },
  1941. variants: [{ begin: /^>>>(?=[ ]|$)/ }, { begin: /^\.\.\.(?=[ ]|$)/ }]
  1942. }]
  1943. })
  1944. })()
  1945. ; hljs.registerLanguage("python-repl", a)
  1946. })();/*! `csharp` grammar compiled for Highlight.js 11.3.1 */
  1947. (() => {
  1948. var e = (() => {
  1949. "use strict"; return e => {
  1950. const n = {
  1951. keyword: ["abstract", "as", "base", "break", "case", "catch", "class", "const", "continue", "do", "else", "event", "explicit", "extern", "finally", "fixed", "for", "foreach", "goto", "if", "implicit", "in", "interface", "internal", "is", "lock", "namespace", "new", "operator", "out", "override", "params", "private", "protected", "public", "readonly", "record", "ref", "return", "sealed", "sizeof", "stackalloc", "static", "struct", "switch", "this", "throw", "try", "typeof", "unchecked", "unsafe", "using", "virtual", "void", "volatile", "while"].concat(["add", "alias", "and", "ascending", "async", "await", "by", "descending", "equals", "from", "get", "global", "group", "init", "into", "join", "let", "nameof", "not", "notnull", "on", "or", "orderby", "partial", "remove", "select", "set", "unmanaged", "value|0", "var", "when", "where", "with", "yield"]),
  1952. built_in: ["bool", "byte", "char", "decimal", "delegate", "double", "dynamic", "enum", "float", "int", "long", "nint", "nuint", "object", "sbyte", "short", "string", "ulong", "uint", "ushort"],
  1953. literal: ["default", "false", "null", "true"]
  1954. }, a = e.inherit(e.TITLE_MODE, {
  1955. begin: "[a-zA-Z](\\.?\\w)*"
  1956. }), i = {
  1957. className: "number", variants: [{
  1958. begin: "\\b(0b[01']+)"
  1959. }, {
  1960. begin: "(-?)\\b([\\d']+(\\.[\\d']*)?|\\.[\\d']+)(u|U|l|L|ul|UL|f|F|b|B)"
  1961. }, {
  1962. begin: "(-?)(\\b0[xX][a-fA-F0-9']+|(\\b[\\d']+(\\.[\\d']*)?|\\.[\\d']+)([eE][-+]?[\\d']+)?)"
  1963. }], relevance: 0
  1964. }, s = {
  1965. className: "string", begin: '@"', end: '"', contains: [{ begin: '""' }]
  1966. }, t = e.inherit(s, { illegal: /\n/ }), r = {
  1967. className: "subst", begin: /\{/, end: /\}/,
  1968. keywords: n
  1969. }, l = e.inherit(r, { illegal: /\n/ }), c = {
  1970. className: "string", begin: /\$"/,
  1971. end: '"', illegal: /\n/, contains: [{ begin: /\{\{/ }, {
  1972. begin: /\}\}/
  1973. }, e.BACKSLASH_ESCAPE, l]
  1974. }, o = {
  1975. className: "string", begin: /\$@"/, end: '"', contains: [{
  1976. begin: /\{\{/
  1977. }, { begin: /\}\}/ }, { begin: '""' }, r]
  1978. }, d = e.inherit(o, {
  1979. illegal: /\n/,
  1980. contains: [{ begin: /\{\{/ }, { begin: /\}\}/ }, { begin: '""' }, l]
  1981. })
  1982. ; r.contains = [o, c, s, e.APOS_STRING_MODE, e.QUOTE_STRING_MODE, i, e.C_BLOCK_COMMENT_MODE],
  1983. l.contains = [d, c, t, e.APOS_STRING_MODE, e.QUOTE_STRING_MODE, i, e.inherit(e.C_BLOCK_COMMENT_MODE, {
  1984. illegal: /\n/
  1985. })]; const g = {
  1986. variants: [o, c, s, e.APOS_STRING_MODE, e.QUOTE_STRING_MODE]
  1987. }, E = {
  1988. begin: "<", end: ">", contains: [{ beginKeywords: "in out" }, a]
  1989. }, _ = e.IDENT_RE + "(<" + e.IDENT_RE + "(\\s*,\\s*" + e.IDENT_RE + ")*>)?(\\[\\])?", b = {
  1990. begin: "@" + e.IDENT_RE, relevance: 0
  1991. }; return {
  1992. name: "C#", aliases: ["cs", "c#"],
  1993. keywords: n, illegal: /::/, contains: [e.COMMENT("///", "$", {
  1994. returnBegin: !0,
  1995. contains: [{
  1996. className: "doctag", variants: [{ begin: "///", relevance: 0 }, {
  1997. begin: "\x3c!--|--\x3e"
  1998. }, { begin: "</?", end: ">" }]
  1999. }]
  2000. }), e.C_LINE_COMMENT_MODE, e.C_BLOCK_COMMENT_MODE, {
  2001. className: "meta", begin: "#",
  2002. end: "$", keywords: {
  2003. keyword: "if else elif endif define undef warning error line region endregion pragma checksum"
  2004. }
  2005. }, g, i, {
  2006. beginKeywords: "class interface", relevance: 0, end: /[{;=]/,
  2007. illegal: /[^\s:,]/, contains: [{
  2008. beginKeywords: "where class"
  2009. }, a, E, e.C_LINE_COMMENT_MODE, e.C_BLOCK_COMMENT_MODE]
  2010. }, {
  2011. beginKeywords: "namespace",
  2012. relevance: 0, end: /[{;=]/, illegal: /[^\s:]/,
  2013. contains: [a, e.C_LINE_COMMENT_MODE, e.C_BLOCK_COMMENT_MODE]
  2014. }, {
  2015. beginKeywords: "record", relevance: 0, end: /[{;=]/, illegal: /[^\s:]/,
  2016. contains: [a, E, e.C_LINE_COMMENT_MODE, e.C_BLOCK_COMMENT_MODE]
  2017. }, {
  2018. className: "meta",
  2019. begin: "^\\s*\\[(?=[\\w])", excludeBegin: !0, end: "\\]", excludeEnd: !0, contains: [{
  2020. className: "string", begin: /"/, end: /"/
  2021. }]
  2022. }, {
  2023. beginKeywords: "new return throw await else", relevance: 0
  2024. }, {
  2025. className: "function",
  2026. begin: "(" + _ + "\\s+)+" + e.IDENT_RE + "\\s*(<[^=]+>\\s*)?\\(", returnBegin: !0,
  2027. end: /\s*[{;=]/, excludeEnd: !0, keywords: n, contains: [{
  2028. beginKeywords: "public private protected static internal protected abstract async extern override unsafe virtual new sealed partial",
  2029. relevance: 0
  2030. }, {
  2031. begin: e.IDENT_RE + "\\s*(<[^=]+>\\s*)?\\(", returnBegin: !0,
  2032. contains: [e.TITLE_MODE, E], relevance: 0
  2033. }, { match: /\(\)/ }, {
  2034. className: "params",
  2035. begin: /\(/, end: /\)/, excludeBegin: !0, excludeEnd: !0, keywords: n, relevance: 0,
  2036. contains: [g, i, e.C_BLOCK_COMMENT_MODE]
  2037. }, e.C_LINE_COMMENT_MODE, e.C_BLOCK_COMMENT_MODE]
  2038. }, b]
  2039. }
  2040. }
  2041. })()
  2042. ; hljs.registerLanguage("csharp", e)
  2043. })();/*! `typescript` grammar compiled for Highlight.js 11.3.1 */
  2044. (() => {
  2045. var e = (() => {
  2046. "use strict"
  2047. ; const e = "[A-Za-z$_][0-9A-Za-z$_]*", n = ["as", "in", "of", "if", "for", "while", "finally", "var", "new", "function", "do", "return", "void", "else", "break", "catch", "instanceof", "with", "throw", "case", "default", "try", "switch", "continue", "typeof", "delete", "let", "yield", "const", "class", "debugger", "async", "await", "static", "import", "from", "export", "extends"], a = ["true", "false", "null", "undefined", "NaN", "Infinity"], t = ["Object", "Function", "Boolean", "Symbol", "Math", "Date", "Number", "BigInt", "String", "RegExp", "Array", "Float32Array", "Float64Array", "Int8Array", "Uint8Array", "Uint8ClampedArray", "Int16Array", "Int32Array", "Uint16Array", "Uint32Array", "BigInt64Array", "BigUint64Array", "Set", "Map", "WeakSet", "WeakMap", "ArrayBuffer", "SharedArrayBuffer", "Atomics", "DataView", "JSON", "Promise", "Generator", "GeneratorFunction", "AsyncFunction", "Reflect", "Proxy", "Intl", "WebAssembly"], s = ["Error", "EvalError", "InternalError", "RangeError", "ReferenceError", "SyntaxError", "TypeError", "URIError"], r = ["setInterval", "setTimeout", "clearInterval", "clearTimeout", "require", "exports", "eval", "isFinite", "isNaN", "parseFloat", "parseInt", "decodeURI", "decodeURIComponent", "encodeURI", "encodeURIComponent", "escape", "unescape"], c = ["arguments", "this", "super", "console", "window", "document", "localStorage", "module", "global"], i = [].concat(r, t, s)
  2048. ; function o(o) {
  2049. const l = o.regex, d = e, b = {
  2050. begin: /<[A-Za-z0-9\\._:-]+/,
  2051. end: /\/[A-Za-z0-9\\._:-]+>|\/>/, isTrulyOpeningTag: (e, n) => {
  2052. const a = e[0].length + e.index, t = e.input[a]
  2053. ; if ("<" === t || "," === t) return void n.ignoreMatch(); let s
  2054. ; ">" === t && (((e, { after: n }) => {
  2055. const a = "</" + e[0].slice(1)
  2056. ; return -1 !== e.input.indexOf(a, n)
  2057. })(e, {
  2058. after: a
  2059. }) || n.ignoreMatch()), (s = e.input.substr(a).match(/^\s+extends\s+/)) && 0 === s.index && n.ignoreMatch()
  2060. }
  2061. }, g = {
  2062. $pattern: e, keyword: n, literal: a, built_in: i, "variable.language": c
  2063. }, u = "\\.([0-9](_?[0-9])*)", m = "0|[1-9](_?[0-9])*|0[0-7]*[89][0-9]*", E = {
  2064. className: "number", variants: [{
  2065. begin: `(\\b(${m})((${u})|\\.)?|(${u}))[eE][+-]?([0-9](_?[0-9])*)\\b`
  2066. }, {
  2067. begin: `\\b(${m})\\b((${u})\\b|\\.)?|(${u})\\b`
  2068. }, {
  2069. begin: "\\b(0|[1-9](_?[0-9])*)n\\b"
  2070. }, {
  2071. begin: "\\b0[xX][0-9a-fA-F](_?[0-9a-fA-F])*n?\\b"
  2072. }, {
  2073. begin: "\\b0[bB][0-1](_?[0-1])*n?\\b"
  2074. }, { begin: "\\b0[oO][0-7](_?[0-7])*n?\\b" }, {
  2075. begin: "\\b0[0-7]+n?\\b"
  2076. }], relevance: 0
  2077. }, y = {
  2078. className: "subst", begin: "\\$\\{",
  2079. end: "\\}", keywords: g, contains: []
  2080. }, A = {
  2081. begin: "html`", end: "", starts: {
  2082. end: "`",
  2083. returnEnd: !1, contains: [o.BACKSLASH_ESCAPE, y], subLanguage: "xml"
  2084. }
  2085. }, p = {
  2086. begin: "css`", end: "", starts: {
  2087. end: "`", returnEnd: !1,
  2088. contains: [o.BACKSLASH_ESCAPE, y], subLanguage: "css"
  2089. }
  2090. }, _ = {
  2091. className: "string",
  2092. begin: "`", end: "`", contains: [o.BACKSLASH_ESCAPE, y]
  2093. }, f = {
  2094. className: "comment",
  2095. variants: [o.COMMENT(/\/\*\*(?!\/)/, "\\*/", {
  2096. relevance: 0, contains: [{
  2097. begin: "(?=@[A-Za-z]+)", relevance: 0, contains: [{
  2098. className: "doctag",
  2099. begin: "@[A-Za-z]+"
  2100. }, {
  2101. className: "type", begin: "\\{", end: "\\}", excludeEnd: !0,
  2102. excludeBegin: !0, relevance: 0
  2103. }, {
  2104. className: "variable", begin: d + "(?=\\s*(-)|$)",
  2105. endsParent: !0, relevance: 0
  2106. }, { begin: /(?=[^\n])\s/, relevance: 0 }]
  2107. }]
  2108. }), o.C_BLOCK_COMMENT_MODE, o.C_LINE_COMMENT_MODE]
  2109. }, N = [o.APOS_STRING_MODE, o.QUOTE_STRING_MODE, A, p, _, E]; y.contains = N.concat({
  2110. begin: /\{/, end: /\}/, keywords: g, contains: ["self"].concat(N)
  2111. })
  2112. ; const h = [].concat(f, y.contains), v = h.concat([{
  2113. begin: /\(/, end: /\)/, keywords: g,
  2114. contains: ["self"].concat(h)
  2115. }]), S = {
  2116. className: "params", begin: /\(/, end: /\)/,
  2117. excludeBegin: !0, excludeEnd: !0, keywords: g, contains: v
  2118. }, w = {
  2119. variants: [{
  2120. match: [/class/, /\s+/, d, /\s+/, /extends/, /\s+/, l.concat(d, "(", l.concat(/\./, d), ")*")],
  2121. scope: { 1: "keyword", 3: "title.class", 5: "keyword", 7: "title.class.inherited" }
  2122. }, {
  2123. match: [/class/, /\s+/, d], scope: { 1: "keyword", 3: "title.class" }
  2124. }]
  2125. }, R = {
  2126. relevance: 0,
  2127. match: l.either(/\bJSON/, /\b[A-Z][a-z]+([A-Z][a-z]+|\d)*/, /\b[A-Z]{2,}([A-Z][a-z]+|\d)+/),
  2128. className: "title.class", keywords: { _: [...t, ...s] }
  2129. }, x = {
  2130. variants: [{
  2131. match: [/function/, /\s+/, d, /(?=\s*\()/]
  2132. }, { match: [/function/, /\s*(?=\()/] }],
  2133. className: { 1: "keyword", 3: "title.function" }, label: "func.def", contains: [S],
  2134. illegal: /%/
  2135. }, O = {
  2136. match: l.concat(/\b/, (k = [...r, "super"], l.concat("(?!", k.join("|"), ")")), d, l.lookahead(/\(/)),
  2137. className: "title.function", relevance: 0
  2138. }; var k; const I = {
  2139. begin: l.concat(/\./, l.lookahead(l.concat(d, /(?![0-9A-Za-z$_(])/))), end: d,
  2140. excludeBegin: !0, keywords: "prototype", className: "property", relevance: 0
  2141. }, C = {
  2142. match: [/get|set/, /\s+/, d, /(?=\()/], className: { 1: "keyword", 3: "title.function" },
  2143. contains: [{ begin: /\(\)/ }, S]
  2144. }, T = "(\\([^()]*(\\([^()]*(\\([^()]*\\)[^()]*)*\\)[^()]*)*\\)|" + o.UNDERSCORE_IDENT_RE + ")\\s*=>", M = {
  2145. match: [/const|var|let/, /\s+/, d, /\s*/, /=\s*/, l.lookahead(T)], className: {
  2146. 1: "keyword", 3: "title.function"
  2147. }, contains: [S]
  2148. }; return {
  2149. name: "Javascript",
  2150. aliases: ["js", "jsx", "mjs", "cjs"], keywords: g, exports: {
  2151. PARAMS_CONTAINS: v,
  2152. CLASS_REFERENCE: R
  2153. }, illegal: /#(?![$_A-z])/, contains: [o.SHEBANG({
  2154. label: "shebang",
  2155. binary: "node", relevance: 5
  2156. }), {
  2157. label: "use_strict", className: "meta", relevance: 10,
  2158. begin: /^\s*['"]use (strict|asm)['"]/
  2159. }, o.APOS_STRING_MODE, o.QUOTE_STRING_MODE, A, p, _, f, E, R, {
  2160. className: "attr",
  2161. begin: d + l.lookahead(":"), relevance: 0
  2162. }, M, {
  2163. begin: "(" + o.RE_STARTERS_RE + "|\\b(case|return|throw)\\b)\\s*",
  2164. keywords: "return throw case", relevance: 0, contains: [f, o.REGEXP_MODE, {
  2165. className: "function", begin: T, returnBegin: !0, end: "\\s*=>", contains: [{
  2166. className: "params", variants: [{ begin: o.UNDERSCORE_IDENT_RE, relevance: 0 }, {
  2167. className: null, begin: /\(\s*\)/, skip: !0
  2168. }, {
  2169. begin: /\(/, end: /\)/, excludeBegin: !0,
  2170. excludeEnd: !0, keywords: g, contains: v
  2171. }]
  2172. }]
  2173. }, { begin: /,/, relevance: 0 }, {
  2174. match: /\s+/,
  2175. relevance: 0
  2176. }, {
  2177. variants: [{ begin: "<>", end: "</>" }, {
  2178. match: /<[A-Za-z0-9\\._:-]+\s*\/>/
  2179. }, {
  2180. begin: b.begin,
  2181. "on:begin": b.isTrulyOpeningTag, end: b.end
  2182. }], subLanguage: "xml", contains: [{
  2183. begin: b.begin, end: b.end, skip: !0, contains: ["self"]
  2184. }]
  2185. }]
  2186. }, x, {
  2187. beginKeywords: "while if switch catch for"
  2188. }, {
  2189. begin: "\\b(?!function)" + o.UNDERSCORE_IDENT_RE + "\\([^()]*(\\([^()]*(\\([^()]*\\)[^()]*)*\\)[^()]*)*\\)\\s*\\{",
  2190. returnBegin: !0, label: "func.def", contains: [S, o.inherit(o.TITLE_MODE, {
  2191. begin: d,
  2192. className: "title.function"
  2193. })]
  2194. }, { match: /\.\.\./, relevance: 0 }, I, {
  2195. match: "\\$" + d,
  2196. relevance: 0
  2197. }, {
  2198. match: [/\bconstructor(?=\s*\()/], className: { 1: "title.function" },
  2199. contains: [S]
  2200. }, O, {
  2201. relevance: 0, match: /\b[A-Z][A-Z_0-9]+\b/,
  2202. className: "variable.constant"
  2203. }, w, C, { match: /\$[(.]/ }]
  2204. }
  2205. } return t => {
  2206. const s = o(t), r = ["any", "void", "number", "boolean", "string", "object", "never", "enum"], l = {
  2207. beginKeywords: "namespace", end: /\{/, excludeEnd: !0,
  2208. contains: [s.exports.CLASS_REFERENCE]
  2209. }, d = {
  2210. beginKeywords: "interface", end: /\{/,
  2211. excludeEnd: !0, keywords: { keyword: "interface extends", built_in: r },
  2212. contains: [s.exports.CLASS_REFERENCE]
  2213. }, b = {
  2214. $pattern: e,
  2215. keyword: n.concat(["type", "namespace", "typedef", "interface", "public", "private", "protected", "implements", "declare", "abstract", "readonly"]),
  2216. literal: a, built_in: i.concat(r), "variable.language": c
  2217. }, g = {
  2218. className: "meta",
  2219. begin: "@[A-Za-z$_][0-9A-Za-z$_]*"
  2220. }, u = (e, n, a) => {
  2221. const t = e.contains.findIndex((e => e.label === n))
  2222. ; if (-1 === t) throw Error("can not find mode to replace"); e.contains.splice(t, 1, a)
  2223. }
  2224. ; return Object.assign(s.keywords, b),
  2225. s.exports.PARAMS_CONTAINS.push(g), s.contains = s.contains.concat([g, l, d]),
  2226. u(s, "shebang", t.SHEBANG()), u(s, "use_strict", {
  2227. className: "meta", relevance: 10,
  2228. begin: /^\s*['"]use strict['"]/
  2229. }), s.contains.find((e => "func.def" === e.label)).relevance = 0, Object.assign(s, {
  2230. name: "TypeScript", aliases: ["ts", "tsx"]
  2231. }), s
  2232. }
  2233. })()
  2234. ; hljs.registerLanguage("typescript", e)
  2235. })();/*! `ruby` grammar compiled for Highlight.js 11.3.1 */
  2236. (() => {
  2237. var e = (() => {
  2238. "use strict"; return e => {
  2239. const n = e.regex, a = "([a-zA-Z_]\\w*[!?=]?|[-+~]@|<<|>>|=~|===?|<=>|[<>]=?|\\*\\*|[-/+%^&*~`|]|\\[\\]=?)", i = {
  2240. keyword: "and then defined module in return redo if BEGIN retry end for self when next until do begin unless END rescue else break undef not super class case require yield alias while ensure elsif or include attr_reader attr_writer attr_accessor __FILE__",
  2241. built_in: "proc lambda", literal: "true false nil"
  2242. }, s = {
  2243. className: "doctag",
  2244. begin: "@[A-Za-z]+"
  2245. }, b = { begin: "#<", end: ">" }, r = [e.COMMENT("#", "$", {
  2246. contains: [s]
  2247. }), e.COMMENT("^=begin", "^=end", {
  2248. contains: [s], relevance: 10
  2249. }), e.COMMENT("^__END__", "\\n$")], c = {
  2250. className: "subst", begin: /#\{/, end: /\}/,
  2251. keywords: i
  2252. }, t = {
  2253. className: "string", contains: [e.BACKSLASH_ESCAPE, c], variants: [{
  2254. begin: /'/, end: /'/
  2255. }, { begin: /"/, end: /"/ }, { begin: /`/, end: /`/ }, {
  2256. begin: /%[qQwWx]?\(/,
  2257. end: /\)/
  2258. }, { begin: /%[qQwWx]?\[/, end: /\]/ }, { begin: /%[qQwWx]?\{/, end: /\}/ }, {
  2259. begin: /%[qQwWx]?</, end: />/
  2260. }, { begin: /%[qQwWx]?\//, end: /\// }, {
  2261. begin: /%[qQwWx]?%/,
  2262. end: /%/
  2263. }, { begin: /%[qQwWx]?-/, end: /-/ }, { begin: /%[qQwWx]?\|/, end: /\|/ }, {
  2264. begin: /\B\?(\\\d{1,3})/
  2265. }, { begin: /\B\?(\\x[A-Fa-f0-9]{1,2})/ }, {
  2266. begin: /\B\?(\\u\{?[A-Fa-f0-9]{1,6}\}?)/
  2267. }, {
  2268. begin: /\B\?(\\M-\\C-|\\M-\\c|\\c\\M-|\\M-|\\C-\\M-)[\x20-\x7e]/
  2269. }, {
  2270. begin: /\B\?\\(c|C-)[\x20-\x7e]/
  2271. }, { begin: /\B\?\\?\S/ }, {
  2272. begin: n.concat(/<<[-~]?'?/, n.lookahead(/(\w+)(?=\W)[^\n]*\n(?:[^\n]*\n)*?\s*\1\b/)),
  2273. contains: [e.END_SAME_AS_BEGIN({
  2274. begin: /(\w+)/, end: /(\w+)/,
  2275. contains: [e.BACKSLASH_ESCAPE, c]
  2276. })]
  2277. }]
  2278. }, d = "[0-9](_?[0-9])*", g = {
  2279. className: "number",
  2280. relevance: 0, variants: [{
  2281. begin: `\\b([1-9](_?[0-9])*|0)(\\.(${d}))?([eE][+-]?(${d})|r)?i?\\b`
  2282. }, {
  2283. begin: "\\b0[dD][0-9](_?[0-9])*r?i?\\b"
  2284. }, {
  2285. begin: "\\b0[bB][0-1](_?[0-1])*r?i?\\b"
  2286. }, { begin: "\\b0[oO][0-7](_?[0-7])*r?i?\\b" }, {
  2287. begin: "\\b0[xX][0-9a-fA-F](_?[0-9a-fA-F])*r?i?\\b"
  2288. }, {
  2289. begin: "\\b0(_?[0-7])+r?i?\\b"
  2290. }]
  2291. }, l = {
  2292. className: "params", begin: "\\(", end: "\\)",
  2293. endsParent: !0, keywords: i
  2294. }, o = [t, {
  2295. className: "class", beginKeywords: "class module",
  2296. end: "$|;", illegal: /=/, contains: [e.inherit(e.TITLE_MODE, {
  2297. begin: "[A-Za-z_]\\w*(::\\w+)*(\\?|!)?"
  2298. }), {
  2299. begin: "<\\s*", contains: [{
  2300. begin: "(" + e.IDENT_RE + "::)?" + e.IDENT_RE, relevance: 0
  2301. }]
  2302. }].concat(r)
  2303. }, {
  2304. className: "function", begin: n.concat(/def\s+/, n.lookahead(a + "\\s*(\\(|;|$)")),
  2305. relevance: 0, keywords: "def", end: "$|;", contains: [e.inherit(e.TITLE_MODE, {
  2306. begin: a
  2307. }), l].concat(r)
  2308. }, { begin: e.IDENT_RE + "::" }, {
  2309. className: "symbol",
  2310. begin: e.UNDERSCORE_IDENT_RE + "(!|\\?)?:", relevance: 0
  2311. }, {
  2312. className: "symbol",
  2313. begin: ":(?!\\s)", contains: [t, { begin: a }], relevance: 0
  2314. }, g, {
  2315. className: "variable",
  2316. begin: "(\\$\\W)|((\\$|@@?)(\\w+))(?=[^@$?])(?![A-Za-z])(?![@$?'])"
  2317. }, {
  2318. className: "params", begin: /\|/, end: /\|/, relevance: 0, keywords: i
  2319. }, {
  2320. begin: "(" + e.RE_STARTERS_RE + "|unless)\\s*", keywords: "unless", contains: [{
  2321. className: "regexp", contains: [e.BACKSLASH_ESCAPE, c], illegal: /\n/, variants: [{
  2322. begin: "/", end: "/[a-z]*"
  2323. }, { begin: /%r\{/, end: /\}[a-z]*/ }, {
  2324. begin: "%r\\(",
  2325. end: "\\)[a-z]*"
  2326. }, { begin: "%r!", end: "![a-z]*" }, { begin: "%r\\[", end: "\\][a-z]*" }]
  2327. }].concat(b, r), relevance: 0
  2328. }].concat(b, r); c.contains = o, l.contains = o; const _ = [{
  2329. begin: /^\s*=>/, starts: { end: "$", contains: o }
  2330. }, {
  2331. className: "meta",
  2332. begin: "^([>?]>|[\\w#]+\\(\\w+\\):\\d+:\\d+>|(\\w+-)?\\d+\\.\\d+\\.\\d+(p\\d+)?[^\\d][^>]+>)(?=[ ])",
  2333. starts: { end: "$", contains: o }
  2334. }]; return r.unshift(b), {
  2335. name: "Ruby",
  2336. aliases: ["rb", "gemspec", "podspec", "thor", "irb"], keywords: i, illegal: /\/\*/,
  2337. contains: [e.SHEBANG({ binary: "ruby" })].concat(_).concat(r).concat(o)
  2338. }
  2339. }
  2340. })()
  2341. ; hljs.registerLanguage("ruby", e)
  2342. })();/*! `yaml` grammar compiled for Highlight.js 11.3.1 */
  2343. (() => {
  2344. var e = (() => {
  2345. "use strict"; return e => {
  2346. const n = "true false yes no null", a = "[\\w#;/?:@&=+$,.~*'()[\\]]+", s = {
  2347. className: "string", relevance: 0, variants: [{ begin: /'/, end: /'/ }, {
  2348. begin: /"/, end: /"/
  2349. }, { begin: /\S+/ }], contains: [e.BACKSLASH_ESCAPE, {
  2350. className: "template-variable",
  2351. variants: [{ begin: /\{\{/, end: /\}\}/ }, { begin: /%\{/, end: /\}/ }]
  2352. }]
  2353. }, i = e.inherit(s, {
  2354. variants: [{ begin: /'/, end: /'/ }, { begin: /"/, end: /"/ }, { begin: /[^\s,{}[\]]+/ }]
  2355. }), l = {
  2356. end: ",", endsWithParent: !0, excludeEnd: !0, keywords: n, relevance: 0
  2357. }, t = {
  2358. begin: /\{/,
  2359. end: /\}/, contains: [l], illegal: "\\n", relevance: 0
  2360. }, g = {
  2361. begin: "\\[", end: "\\]",
  2362. contains: [l], illegal: "\\n", relevance: 0
  2363. }, b = [{
  2364. className: "attr", variants: [{
  2365. begin: "\\w[\\w :\\/.-]*:(?=[ \t]|$)"
  2366. }, { begin: '"\\w[\\w :\\/.-]*":(?=[ \t]|$)' }, {
  2367. begin: "'\\w[\\w :\\/.-]*':(?=[ \t]|$)"
  2368. }]
  2369. }, {
  2370. className: "meta", begin: "^---\\s*$",
  2371. relevance: 10
  2372. }, {
  2373. className: "string",
  2374. begin: "[\\|>]([1-9]?[+-])?[ ]*\\n( +)[^ ][^\\n]*\\n(\\2[^\\n]+\\n?)*"
  2375. }, {
  2376. begin: "<%[%=-]?", end: "[%-]?%>", subLanguage: "ruby", excludeBegin: !0, excludeEnd: !0,
  2377. relevance: 0
  2378. }, { className: "type", begin: "!\\w+!" + a }, {
  2379. className: "type",
  2380. begin: "!<" + a + ">"
  2381. }, { className: "type", begin: "!" + a }, {
  2382. className: "type", begin: "!!" + a
  2383. }, { className: "meta", begin: "&" + e.UNDERSCORE_IDENT_RE + "$" }, {
  2384. className: "meta",
  2385. begin: "\\*" + e.UNDERSCORE_IDENT_RE + "$"
  2386. }, {
  2387. className: "bullet", begin: "-(?=[ ]|$)",
  2388. relevance: 0
  2389. }, e.HASH_COMMENT_MODE, { beginKeywords: n, keywords: { literal: n } }, {
  2390. className: "number",
  2391. begin: "\\b[0-9]{4}(-[0-9][0-9]){0,2}([Tt \\t][0-9][0-9]?(:[0-9][0-9]){2})?(\\.[0-9]*)?([ \\t])*(Z|[-+][0-9][0-9]?(:[0-9][0-9])?)?\\b"
  2392. }, { className: "number", begin: e.C_NUMBER_RE + "\\b", relevance: 0 }, t, g, s], r = [...b]
  2393. ; return r.pop(), r.push(i), l.contains = r, {
  2394. name: "YAML", case_insensitive: !0,
  2395. aliases: ["yml"], contains: b
  2396. }
  2397. }
  2398. })(); hljs.registerLanguage("yaml", e)
  2399. })();/*! `c` grammar compiled for Highlight.js 11.3.1 */
  2400. (() => {
  2401. var e = (() => {
  2402. "use strict"; return e => {
  2403. const n = e.regex, t = e.COMMENT("//", "$", {
  2404. contains: [{ begin: /\\\n/ }]
  2405. }), s = "[a-zA-Z_]\\w*::", a = "(decltype\\(auto\\)|" + n.optional(s) + "[a-zA-Z_]\\w*" + n.optional("<[^<>]+>") + ")", r = {
  2406. className: "type", variants: [{ begin: "\\b[a-z\\d_]*_t\\b" }, {
  2407. match: /\batomic_[a-z]{3,6}\b/
  2408. }]
  2409. }, i = {
  2410. className: "string", variants: [{
  2411. begin: '(u8?|U|L)?"', end: '"', illegal: "\\n", contains: [e.BACKSLASH_ESCAPE]
  2412. }, {
  2413. begin: "(u8?|U|L)?'(\\\\(x[0-9A-Fa-f]{2}|u[0-9A-Fa-f]{4,8}|[0-7]{3}|\\S)|.)",
  2414. end: "'", illegal: "."
  2415. }, e.END_SAME_AS_BEGIN({
  2416. begin: /(?:u8?|U|L)?R"([^()\\ ]{0,16})\(/, end: /\)([^()\\ ]{0,16})"/
  2417. })]
  2418. }, l = {
  2419. className: "number", variants: [{ begin: "\\b(0b[01']+)" }, {
  2420. begin: "(-?)\\b([\\d']+(\\.[\\d']*)?|\\.[\\d']+)((ll|LL|l|L)(u|U)?|(u|U)(ll|LL|l|L)?|f|F|b|B)"
  2421. }, {
  2422. begin: "(-?)(\\b0[xX][a-fA-F0-9']+|(\\b[\\d']+(\\.[\\d']*)?|\\.[\\d']+)([eE][-+]?[\\d']+)?)"
  2423. }], relevance: 0
  2424. }, o = {
  2425. className: "meta", begin: /#\s*[a-z]+\b/, end: /$/, keywords: {
  2426. keyword: "if else elif endif define undef warning error line pragma _Pragma ifdef ifndef include"
  2427. }, contains: [{ begin: /\\\n/, relevance: 0 }, e.inherit(i, { className: "string" }), {
  2428. className: "string", begin: /<.*?>/
  2429. }, t, e.C_BLOCK_COMMENT_MODE]
  2430. }, c = {
  2431. className: "title", begin: n.optional(s) + e.IDENT_RE, relevance: 0
  2432. }, d = n.optional(s) + e.IDENT_RE + "\\s*\\(", u = {
  2433. keyword: ["asm", "auto", "break", "case", "continue", "default", "do", "else", "enum", "extern", "for", "fortran", "goto", "if", "inline", "register", "restrict", "return", "sizeof", "struct", "switch", "typedef", "union", "volatile", "while", "_Alignas", "_Alignof", "_Atomic", "_Generic", "_Noreturn", "_Static_assert", "_Thread_local", "alignas", "alignof", "noreturn", "static_assert", "thread_local", "_Pragma"],
  2434. type: ["float", "double", "signed", "unsigned", "int", "short", "long", "char", "void", "_Bool", "_Complex", "_Imaginary", "_Decimal32", "_Decimal64", "_Decimal128", "const", "static", "complex", "bool", "imaginary"],
  2435. literal: "true false NULL",
  2436. built_in: "std string wstring cin cout cerr clog stdin stdout stderr stringstream istringstream ostringstream auto_ptr deque list queue stack vector map set pair bitset multiset multimap unordered_set unordered_map unordered_multiset unordered_multimap priority_queue make_pair array shared_ptr abort terminate abs acos asin atan2 atan calloc ceil cosh cos exit exp fabs floor fmod fprintf fputs free frexp fscanf future isalnum isalpha iscntrl isdigit isgraph islower isprint ispunct isspace isupper isxdigit tolower toupper labs ldexp log10 log malloc realloc memchr memcmp memcpy memset modf pow printf putchar puts scanf sinh sin snprintf sprintf sqrt sscanf strcat strchr strcmp strcpy strcspn strlen strncat strncmp strncpy strpbrk strrchr strspn strstr tanh tan vfprintf vprintf vsprintf endl initializer_list unique_ptr"
  2437. }, g = [o, r, t, e.C_BLOCK_COMMENT_MODE, l, i], m = {
  2438. variants: [{ begin: /=/, end: /;/ }, {
  2439. begin: /\(/, end: /\)/
  2440. }, { beginKeywords: "new throw return else", end: /;/ }],
  2441. keywords: u, contains: g.concat([{
  2442. begin: /\(/, end: /\)/, keywords: u,
  2443. contains: g.concat(["self"]), relevance: 0
  2444. }]), relevance: 0
  2445. }, p = {
  2446. begin: "(" + a + "[\\*&\\s]+)+" + d, returnBegin: !0, end: /[{;=]/, excludeEnd: !0,
  2447. keywords: u, illegal: /[^\w\s\*&:<>.]/, contains: [{
  2448. begin: "decltype\\(auto\\)",
  2449. keywords: u, relevance: 0
  2450. }, {
  2451. begin: d, returnBegin: !0, contains: [e.inherit(c, {
  2452. className: "title.function"
  2453. })], relevance: 0
  2454. }, { relevance: 0, match: /,/ }, {
  2455. className: "params", begin: /\(/, end: /\)/, keywords: u, relevance: 0,
  2456. contains: [t, e.C_BLOCK_COMMENT_MODE, i, l, r, {
  2457. begin: /\(/, end: /\)/, keywords: u,
  2458. relevance: 0, contains: ["self", t, e.C_BLOCK_COMMENT_MODE, i, l, r]
  2459. }]
  2460. }, r, t, e.C_BLOCK_COMMENT_MODE, o]
  2461. }; return {
  2462. name: "C", aliases: ["h"], keywords: u,
  2463. disableAutodetect: !0, illegal: "</", contains: [].concat(m, p, g, [o, {
  2464. begin: e.IDENT_RE + "::", keywords: u
  2465. }, {
  2466. className: "class",
  2467. beginKeywords: "enum class struct union", end: /[{;:<>=]/, contains: [{
  2468. beginKeywords: "final class struct"
  2469. }, e.TITLE_MODE]
  2470. }]), exports: {
  2471. preprocessor: o,
  2472. strings: i, keywords: u
  2473. }
  2474. }
  2475. }
  2476. })(); hljs.registerLanguage("c", e)
  2477. })();/*! `sql` grammar compiled for Highlight.js 11.3.1 */
  2478. (() => {
  2479. var e = (() => {
  2480. "use strict"; return e => {
  2481. const r = e.regex, t = e.COMMENT("--", "$"), n = ["true", "false", "unknown"], a = ["bigint", "binary", "blob", "boolean", "char", "character", "clob", "date", "dec", "decfloat", "decimal", "float", "int", "integer", "interval", "nchar", "nclob", "national", "numeric", "real", "row", "smallint", "time", "timestamp", "varchar", "varying", "varbinary"], i = ["abs", "acos", "array_agg", "asin", "atan", "avg", "cast", "ceil", "ceiling", "coalesce", "corr", "cos", "cosh", "count", "covar_pop", "covar_samp", "cume_dist", "dense_rank", "deref", "element", "exp", "extract", "first_value", "floor", "json_array", "json_arrayagg", "json_exists", "json_object", "json_objectagg", "json_query", "json_table", "json_table_primitive", "json_value", "lag", "last_value", "lead", "listagg", "ln", "log", "log10", "lower", "max", "min", "mod", "nth_value", "ntile", "nullif", "percent_rank", "percentile_cont", "percentile_disc", "position", "position_regex", "power", "rank", "regr_avgx", "regr_avgy", "regr_count", "regr_intercept", "regr_r2", "regr_slope", "regr_sxx", "regr_sxy", "regr_syy", "row_number", "sin", "sinh", "sqrt", "stddev_pop", "stddev_samp", "substring", "substring_regex", "sum", "tan", "tanh", "translate", "translate_regex", "treat", "trim", "trim_array", "unnest", "upper", "value_of", "var_pop", "var_samp", "width_bucket"], s = ["create table", "insert into", "primary key", "foreign key", "not null", "alter table", "add constraint", "grouping sets", "on overflow", "character set", "respect nulls", "ignore nulls", "nulls first", "nulls last", "depth first", "breadth first"], o = i, c = ["abs", "acos", "all", "allocate", "alter", "and", "any", "are", "array", "array_agg", "array_max_cardinality", "as", "asensitive", "asin", "asymmetric", "at", "atan", "atomic", "authorization", "avg", "begin", "begin_frame", "begin_partition", "between", "bigint", "binary", "blob", "boolean", "both", "by", "call", "called", "cardinality", "cascaded", "case", "cast", "ceil", "ceiling", "char", "char_length", "character", "character_length", "check", "classifier", "clob", "close", "coalesce", "collate", "collect", "column", "commit", "condition", "connect", "constraint", "contains", "convert", "copy", "corr", "corresponding", "cos", "cosh", "count", "covar_pop", "covar_samp", "create", "cross", "cube", "cume_dist", "current", "current_catalog", "current_date", "current_default_transform_group", "current_path", "current_role", "current_row", "current_schema", "current_time", "current_timestamp", "current_path", "current_role", "current_transform_group_for_type", "current_user", "cursor", "cycle", "date", "day", "deallocate", "dec", "decimal", "decfloat", "declare", "default", "define", "delete", "dense_rank", "deref", "describe", "deterministic", "disconnect", "distinct", "double", "drop", "dynamic", "each", "element", "else", "empty", "end", "end_frame", "end_partition", "end-exec", "equals", "escape", "every", "except", "exec", "execute", "exists", "exp", "external", "extract", "false", "fetch", "filter", "first_value", "float", "floor", "for", "foreign", "frame_row", "free", "from", "full", "function", "fusion", "get", "global", "grant", "group", "grouping", "groups", "having", "hold", "hour", "identity", "in", "indicator", "initial", "inner", "inout", "insensitive", "insert", "int", "integer", "intersect", "intersection", "interval", "into", "is", "join", "json_array", "json_arrayagg", "json_exists", "json_object", "json_objectagg", "json_query", "json_table", "json_table_primitive", "json_value", "lag", "language", "large", "last_value", "lateral", "lead", "leading", "left", "like", "like_regex", "listagg", "ln", "local", "localtime", "localtimestamp", "log", "log10", "lower", "match", "match_number", "match_recognize", "matches", "max", "member", "merge", "method", "min", "minute", "mod", "modifies", "module", "month", "multiset", "national", "natural", "nchar", "nclob", "new", "no", "none", "normalize", "not", "nth_value", "ntile", "null", "nullif", "numeric", "octet_length", "occurrences_regex", "of", "offset", "old", "omit", "on", "one", "only", "open", "or", "order", "out", "outer", "over", "overlaps", "overlay", "parameter", "partition", "pattern", "per", "percent", "percent_rank", "percentile_cont", "percentile_disc", "period", "portion", "position", "position_regex", "power", "precedes", "precision", "prepare", "primary", "procedure", "ptf", "range", "rank", "reads", "real", "recursive", "ref", "references", "referencing", "regr_avgx", "regr_avgy", "regr_count", "regr_intercept", "regr_r2", "regr_slope", "regr_sxx", "regr_sxy", "regr_syy", "release", "result", "return", "returns", "revoke", "right", "rollback", "rollup", "row", "row_number", "rows", "running", "savepoint", "scope", "scroll", "search", "second", "seek", "select", "sensitive", "session_user", "set", "show", "similar", "sin", "sinh", "skip", "smallint", "some", "specific", "specifictype", "sql", "sqlexception", "sqlstate", "sqlwarning", "sqrt", "start", "static", "stddev_pop", "stddev_samp", "submultiset", "subset", "substring", "substring_regex", "succeeds", "sum", "symmetric", "system", "system_time", "system_user", "table", "tablesample", "tan", "tanh", "then", "time", "timestamp", "timezone_hour", "timezone_minute", "to", "trailing", "translate", "translate_regex", "translation", "treat", "trigger", "trim", "trim_array", "true", "truncate", "uescape", "union", "unique", "unknown", "unnest", "update", "upper", "user", "using", "value", "values", "value_of", "var_pop", "var_samp", "varbinary", "varchar", "varying", "versioning", "when", "whenever", "where", "width_bucket", "window", "with", "within", "without", "year", "add", "asc", "collation", "desc", "final", "first", "last", "view"].filter((e => !i.includes(e))), l = {
  2482. begin: r.concat(/\b/, r.either(...o), /\s*\(/), relevance: 0, keywords: { built_in: o }
  2483. }
  2484. ; return {
  2485. name: "SQL", case_insensitive: !0, illegal: /[{}]|<\//, keywords: {
  2486. $pattern: /\b[\w\.]+/, keyword: ((e, { exceptions: r, when: t } = {}) => {
  2487. const n = t
  2488. ; return r = r || [], e.map((e => e.match(/\|\d+$/) || r.includes(e) ? e : n(e) ? e + "|0" : e))
  2489. })(c, { when: e => e.length < 3 }), literal: n, type: a,
  2490. built_in: ["current_catalog", "current_date", "current_default_transform_group", "current_path", "current_role", "current_schema", "current_transform_group_for_type", "current_user", "session_user", "system_time", "system_user", "current_time", "localtime", "current_timestamp", "localtimestamp"]
  2491. }, contains: [{
  2492. begin: r.either(...s), relevance: 0, keywords: {
  2493. $pattern: /[\w\.]+/,
  2494. keyword: c.concat(s), literal: n, type: a
  2495. }
  2496. }, {
  2497. className: "type",
  2498. begin: r.either("double precision", "large object", "with timezone", "without timezone")
  2499. }, l, { className: "variable", begin: /@[a-z0-9]+/ }, {
  2500. className: "string", variants: [{
  2501. begin: /'/, end: /'/, contains: [{ begin: /''/ }]
  2502. }]
  2503. }, {
  2504. begin: /"/, end: /"/, contains: [{
  2505. begin: /""/
  2506. }]
  2507. }, e.C_NUMBER_MODE, e.C_BLOCK_COMMENT_MODE, t, {
  2508. className: "operator",
  2509. begin: /[-+*/=%^~]|&&?|\|\|?|!=?|<(?:=>?|<|>)?|>[>=]?/, relevance: 0
  2510. }]
  2511. }
  2512. }
  2513. })()
  2514. ; hljs.registerLanguage("sql", e)
  2515. })();/*! `plaintext` grammar compiled for Highlight.js 11.3.1 */
  2516. (() => {
  2517. var t = (() => {
  2518. "use strict"; return t => ({
  2519. name: "Plain text",
  2520. aliases: ["text", "txt"], disableAutodetect: !0
  2521. })
  2522. })()
  2523. ; hljs.registerLanguage("plaintext", t)
  2524. })();/*! `cpp` grammar compiled for Highlight.js 11.3.1 */
  2525. (() => {
  2526. var e = (() => {
  2527. "use strict"; return e => {
  2528. const t = e.regex, a = e.COMMENT("//", "$", {
  2529. contains: [{ begin: /\\\n/ }]
  2530. }), n = "[a-zA-Z_]\\w*::", r = "(?!struct)(decltype\\(auto\\)|" + t.optional(n) + "[a-zA-Z_]\\w*" + t.optional("<[^<>]+>") + ")", i = {
  2531. className: "type", begin: "\\b[a-z\\d_]*_t\\b"
  2532. }, s = {
  2533. className: "string", variants: [{
  2534. begin: '(u8?|U|L)?"', end: '"', illegal: "\\n", contains: [e.BACKSLASH_ESCAPE]
  2535. }, {
  2536. begin: "(u8?|U|L)?'(\\\\(x[0-9A-Fa-f]{2}|u[0-9A-Fa-f]{4,8}|[0-7]{3}|\\S)|.)",
  2537. end: "'", illegal: "."
  2538. }, e.END_SAME_AS_BEGIN({
  2539. begin: /(?:u8?|U|L)?R"([^()\\ ]{0,16})\(/, end: /\)([^()\\ ]{0,16})"/
  2540. })]
  2541. }, c = {
  2542. className: "number", variants: [{ begin: "\\b(0b[01']+)" }, {
  2543. begin: "(-?)\\b([\\d']+(\\.[\\d']*)?|\\.[\\d']+)((ll|LL|l|L)(u|U)?|(u|U)(ll|LL|l|L)?|f|F|b|B)"
  2544. }, {
  2545. begin: "(-?)(\\b0[xX][a-fA-F0-9']+|(\\b[\\d']+(\\.[\\d']*)?|\\.[\\d']+)([eE][-+]?[\\d']+)?)"
  2546. }], relevance: 0
  2547. }, o = {
  2548. className: "meta", begin: /#\s*[a-z]+\b/, end: /$/, keywords: {
  2549. keyword: "if else elif endif define undef warning error line pragma _Pragma ifdef ifndef include"
  2550. }, contains: [{ begin: /\\\n/, relevance: 0 }, e.inherit(s, { className: "string" }), {
  2551. className: "string", begin: /<.*?>/
  2552. }, a, e.C_BLOCK_COMMENT_MODE]
  2553. }, l = {
  2554. className: "title", begin: t.optional(n) + e.IDENT_RE, relevance: 0
  2555. }, d = t.optional(n) + e.IDENT_RE + "\\s*\\(", u = {
  2556. type: ["bool", "char", "char16_t", "char32_t", "char8_t", "double", "float", "int", "long", "short", "void", "wchar_t", "unsigned", "signed", "const", "static"],
  2557. keyword: ["alignas", "alignof", "and", "and_eq", "asm", "atomic_cancel", "atomic_commit", "atomic_noexcept", "auto", "bitand", "bitor", "break", "case", "catch", "class", "co_await", "co_return", "co_yield", "compl", "concept", "const_cast|10", "consteval", "constexpr", "constinit", "continue", "decltype", "default", "delete", "do", "dynamic_cast|10", "else", "enum", "explicit", "export", "extern", "false", "final", "for", "friend", "goto", "if", "import", "inline", "module", "mutable", "namespace", "new", "noexcept", "not", "not_eq", "nullptr", "operator", "or", "or_eq", "override", "private", "protected", "public", "reflexpr", "register", "reinterpret_cast|10", "requires", "return", "sizeof", "static_assert", "static_cast|10", "struct", "switch", "synchronized", "template", "this", "thread_local", "throw", "transaction_safe", "transaction_safe_dynamic", "true", "try", "typedef", "typeid", "typename", "union", "using", "virtual", "volatile", "while", "xor", "xor_eq"],
  2558. literal: ["NULL", "false", "nullopt", "nullptr", "true"], built_in: ["_Pragma"],
  2559. _type_hints: ["any", "auto_ptr", "barrier", "binary_semaphore", "bitset", "complex", "condition_variable", "condition_variable_any", "counting_semaphore", "deque", "false_type", "future", "imaginary", "initializer_list", "istringstream", "jthread", "latch", "lock_guard", "multimap", "multiset", "mutex", "optional", "ostringstream", "packaged_task", "pair", "promise", "priority_queue", "queue", "recursive_mutex", "recursive_timed_mutex", "scoped_lock", "set", "shared_future", "shared_lock", "shared_mutex", "shared_timed_mutex", "shared_ptr", "stack", "string_view", "stringstream", "timed_mutex", "thread", "true_type", "tuple", "unique_lock", "unique_ptr", "unordered_map", "unordered_multimap", "unordered_multiset", "unordered_set", "variant", "vector", "weak_ptr", "wstring", "wstring_view"]
  2560. }, p = {
  2561. className: "function.dispatch", relevance: 0, keywords: {
  2562. _hint: ["abort", "abs", "acos", "apply", "as_const", "asin", "atan", "atan2", "calloc", "ceil", "cerr", "cin", "clog", "cos", "cosh", "cout", "declval", "endl", "exchange", "exit", "exp", "fabs", "floor", "fmod", "forward", "fprintf", "fputs", "free", "frexp", "fscanf", "future", "invoke", "isalnum", "isalpha", "iscntrl", "isdigit", "isgraph", "islower", "isprint", "ispunct", "isspace", "isupper", "isxdigit", "labs", "launder", "ldexp", "log", "log10", "make_pair", "make_shared", "make_shared_for_overwrite", "make_tuple", "make_unique", "malloc", "memchr", "memcmp", "memcpy", "memset", "modf", "move", "pow", "printf", "putchar", "puts", "realloc", "scanf", "sin", "sinh", "snprintf", "sprintf", "sqrt", "sscanf", "std", "stderr", "stdin", "stdout", "strcat", "strchr", "strcmp", "strcpy", "strcspn", "strlen", "strncat", "strncmp", "strncpy", "strpbrk", "strrchr", "strspn", "strstr", "swap", "tan", "tanh", "terminate", "to_underlying", "tolower", "toupper", "vfprintf", "visit", "vprintf", "vsprintf"]
  2563. },
  2564. begin: t.concat(/\b/, /(?!decltype)/, /(?!if)/, /(?!for)/, /(?!switch)/, /(?!while)/, e.IDENT_RE, t.lookahead(/(<[^<>]+>|)\s*\(/))
  2565. }, _ = [p, o, i, a, e.C_BLOCK_COMMENT_MODE, c, s], m = {
  2566. variants: [{ begin: /=/, end: /;/ }, {
  2567. begin: /\(/, end: /\)/
  2568. }, { beginKeywords: "new throw return else", end: /;/ }],
  2569. keywords: u, contains: _.concat([{
  2570. begin: /\(/, end: /\)/, keywords: u,
  2571. contains: _.concat(["self"]), relevance: 0
  2572. }]), relevance: 0
  2573. }, g = {
  2574. className: "function",
  2575. begin: "(" + r + "[\\*&\\s]+)+" + d, returnBegin: !0, end: /[{;=]/, excludeEnd: !0,
  2576. keywords: u, illegal: /[^\w\s\*&:<>.]/, contains: [{
  2577. begin: "decltype\\(auto\\)",
  2578. keywords: u, relevance: 0
  2579. }, { begin: d, returnBegin: !0, contains: [l], relevance: 0 }, {
  2580. begin: /::/, relevance: 0
  2581. }, { begin: /:/, endsWithParent: !0, contains: [s, c] }, {
  2582. relevance: 0, match: /,/
  2583. }, {
  2584. className: "params", begin: /\(/, end: /\)/, keywords: u,
  2585. relevance: 0, contains: [a, e.C_BLOCK_COMMENT_MODE, s, c, i, {
  2586. begin: /\(/, end: /\)/,
  2587. keywords: u, relevance: 0, contains: ["self", a, e.C_BLOCK_COMMENT_MODE, s, c, i]
  2588. }]
  2589. }, i, a, e.C_BLOCK_COMMENT_MODE, o]
  2590. }; return {
  2591. name: "C++",
  2592. aliases: ["cc", "c++", "h++", "hpp", "hh", "hxx", "cxx"], keywords: u, illegal: "</",
  2593. classNameAliases: { "function.dispatch": "built_in" },
  2594. contains: [].concat(m, g, p, _, [o, {
  2595. begin: "\\b(deque|list|queue|priority_queue|pair|stack|vector|map|set|bitset|multiset|multimap|unordered_map|unordered_set|unordered_multiset|unordered_multimap|array|tuple|optional|variant|function)\\s*<",
  2596. end: ">", keywords: u, contains: ["self", i]
  2597. }, { begin: e.IDENT_RE + "::", keywords: u }, {
  2598. match: [/\b(?:enum(?:\s+(?:class|struct))?|class|struct|union)/, /\s+/, /\w+/],
  2599. className: { 1: "keyword", 3: "title.class" }
  2600. }])
  2601. }
  2602. }
  2603. })(); hljs.registerLanguage("cpp", e)
  2604. })();/*! `shell` grammar compiled for Highlight.js 11.3.1 */
  2605. (() => {
  2606. var s = (() => {
  2607. "use strict"; return s => ({
  2608. name: "Shell Session",
  2609. aliases: ["console", "shellsession"], contains: [{
  2610. className: "meta",
  2611. begin: /^\s{0,3}[/~\w\d[\]()@-]*[>%$#][ ]?/, starts: {
  2612. end: /[^\\](?=\s*$)/,
  2613. subLanguage: "bash"
  2614. }
  2615. }]
  2616. })
  2617. })(); hljs.registerLanguage("shell", s)
  2618. })();/*! `perl` grammar compiled for Highlight.js 11.3.1 */
  2619. (() => {
  2620. var e = (() => {
  2621. "use strict"; return e => {
  2622. const n = e.regex, t = /[dualxmsipngr]{0,12}/, r = {
  2623. $pattern: /[\w.]+/,
  2624. keyword: "abs accept alarm and atan2 bind binmode bless break caller chdir chmod chomp chop chown chr chroot close closedir connect continue cos crypt dbmclose dbmopen defined delete die do dump each else elsif endgrent endhostent endnetent endprotoent endpwent endservent eof eval exec exists exit exp fcntl fileno flock for foreach fork format formline getc getgrent getgrgid getgrnam gethostbyaddr gethostbyname gethostent getlogin getnetbyaddr getnetbyname getnetent getpeername getpgrp getpriority getprotobyname getprotobynumber getprotoent getpwent getpwnam getpwuid getservbyname getservbyport getservent getsockname getsockopt given glob gmtime goto grep gt hex if index int ioctl join keys kill last lc lcfirst length link listen local localtime log lstat lt ma map mkdir msgctl msgget msgrcv msgsnd my ne next no not oct open opendir or ord our pack package pipe pop pos print printf prototype push q|0 qq quotemeta qw qx rand read readdir readline readlink readpipe recv redo ref rename require reset return reverse rewinddir rindex rmdir say scalar seek seekdir select semctl semget semop send setgrent sethostent setnetent setpgrp setpriority setprotoent setpwent setservent setsockopt shift shmctl shmget shmread shmwrite shutdown sin sleep socket socketpair sort splice split sprintf sqrt srand stat state study sub substr symlink syscall sysopen sysread sysseek system syswrite tell telldir tie tied time times tr truncate uc ucfirst umask undef unless unlink unpack unshift untie until use utime values vec wait waitpid wantarray warn when while write x|0 xor y|0"
  2625. }, s = { className: "subst", begin: "[$@]\\{", end: "\\}", keywords: r }, i = {
  2626. begin: /->\{/,
  2627. end: /\}/
  2628. }, a = {
  2629. variants: [{ begin: /\$\d/ }, {
  2630. begin: n.concat(/[$%@](\^\w\b|#\w+(::\w+)*|\{\w+\}|\w+(::\w*)*)/, "(?![A-Za-z])(?![@$%])")
  2631. }, { begin: /[$%@][^\s\w{]/, relevance: 0 }]
  2632. }, c = [e.BACKSLASH_ESCAPE, s, a], o = [/!/, /\//, /\|/, /\?/, /'/, /"/, /#/], g = (e, r, s = "\\1") => {
  2633. const i = "\\1" === s ? s : n.concat(s, r)
  2634. ; return n.concat(n.concat("(?:", e, ")"), r, /(?:\\.|[^\\\/])*?/, i, /(?:\\.|[^\\\/])*?/, s, t)
  2635. }, l = (e, r, s) => n.concat(n.concat("(?:", e, ")"), r, /(?:\\.|[^\\\/])*?/, s, t), d = [a, e.HASH_COMMENT_MODE, e.COMMENT(/^=\w/, /=cut/, {
  2636. endsWithParent: !0
  2637. }), i, {
  2638. className: "string", contains: c, variants: [{
  2639. begin: "q[qwxr]?\\s*\\(", end: "\\)", relevance: 5
  2640. }, {
  2641. begin: "q[qwxr]?\\s*\\[",
  2642. end: "\\]", relevance: 5
  2643. }, { begin: "q[qwxr]?\\s*\\{", end: "\\}", relevance: 5 }, {
  2644. begin: "q[qwxr]?\\s*\\|", end: "\\|", relevance: 5
  2645. }, {
  2646. begin: "q[qwxr]?\\s*<", end: ">",
  2647. relevance: 5
  2648. }, { begin: "qw\\s+q", end: "q", relevance: 5 }, {
  2649. begin: "'", end: "'",
  2650. contains: [e.BACKSLASH_ESCAPE]
  2651. }, { begin: '"', end: '"' }, {
  2652. begin: "`", end: "`",
  2653. contains: [e.BACKSLASH_ESCAPE]
  2654. }, { begin: /\{\w+\}/, relevance: 0 }, {
  2655. begin: "-?\\w+\\s*=>", relevance: 0
  2656. }]
  2657. }, {
  2658. className: "number",
  2659. begin: "(\\b0[0-7_]+)|(\\b0x[0-9a-fA-F_]+)|(\\b[1-9][0-9_]*(\\.[0-9_]+)?)|[0_]\\b",
  2660. relevance: 0
  2661. }, {
  2662. begin: "(\\/\\/|" + e.RE_STARTERS_RE + "|\\b(split|return|print|reverse|grep)\\b)\\s*",
  2663. keywords: "split return print reverse grep", relevance: 0,
  2664. contains: [e.HASH_COMMENT_MODE, {
  2665. className: "regexp", variants: [{
  2666. begin: g("s|tr|y", n.either(...o, { capture: !0 }))
  2667. }, { begin: g("s|tr|y", "\\(", "\\)") }, {
  2668. begin: g("s|tr|y", "\\[", "\\]")
  2669. }, { begin: g("s|tr|y", "\\{", "\\}") }], relevance: 2
  2670. }, {
  2671. className: "regexp", variants: [{ begin: /(m|qr)\/\//, relevance: 0 }, {
  2672. begin: l("(?:m|qr)?", /\//, /\//)
  2673. }, {
  2674. begin: l("m|qr", n.either(...o, {
  2675. capture: !0
  2676. }), /\1/)
  2677. }, { begin: l("m|qr", /\(/, /\)/) }, { begin: l("m|qr", /\[/, /\]/) }, {
  2678. begin: l("m|qr", /\{/, /\}/)
  2679. }]
  2680. }]
  2681. }, {
  2682. className: "function", beginKeywords: "sub",
  2683. end: "(\\s*\\(.*?\\))?[;{]", excludeEnd: !0, relevance: 5, contains: [e.TITLE_MODE]
  2684. }, {
  2685. begin: "-\\w\\b", relevance: 0
  2686. }, {
  2687. begin: "^__DATA__$", end: "^__END__$",
  2688. subLanguage: "mojolicious", contains: [{ begin: "^@@.*", end: "$", className: "comment" }]
  2689. }]; return s.contains = d, i.contains = d, {
  2690. name: "Perl", aliases: ["pl", "pm"], keywords: r,
  2691. contains: d
  2692. }
  2693. }
  2694. })(); hljs.registerLanguage("perl", e)
  2695. })();/*! `json` grammar compiled for Highlight.js 11.3.1 */
  2696. (() => {
  2697. var e = (() => {
  2698. "use strict"; return e => ({
  2699. name: "JSON", contains: [{
  2700. className: "attr", begin: /"(\\.|[^\\"\r\n])*"(?=\s*:)/, relevance: 1.01
  2701. }, {
  2702. match: /[{}[\],:]/, className: "punctuation", relevance: 0
  2703. }, e.QUOTE_STRING_MODE, {
  2704. beginKeywords: "true false null"
  2705. }, e.C_NUMBER_MODE, e.C_LINE_COMMENT_MODE, e.C_BLOCK_COMMENT_MODE], illegal: "\\S"
  2706. })
  2707. })(); hljs.registerLanguage("json", e)
  2708. })();/*! `lua` grammar compiled for Highlight.js 11.3.1 */
  2709. (() => {
  2710. var e = (() => {
  2711. "use strict"; return e => {
  2712. const t = "\\[=*\\[", a = "\\]=*\\]", n = {
  2713. begin: t, end: a, contains: ["self"]
  2714. }, o = [e.COMMENT("--(?!\\[=*\\[)", "$"), e.COMMENT("--\\[=*\\[", a, {
  2715. contains: [n],
  2716. relevance: 10
  2717. })]; return {
  2718. name: "Lua", keywords: {
  2719. $pattern: e.UNDERSCORE_IDENT_RE,
  2720. literal: "true false nil",
  2721. keyword: "and break do else elseif end for goto if in local not or repeat return then until while",
  2722. built_in: "_G _ENV _VERSION __index __newindex __mode __call __metatable __tostring __len __gc __add __sub __mul __div __mod __pow __concat __unm __eq __lt __le assert collectgarbage dofile error getfenv getmetatable ipairs load loadfile loadstring module next pairs pcall print rawequal rawget rawset require select setfenv setmetatable tonumber tostring type unpack xpcall arg self coroutine resume yield status wrap create running debug getupvalue debug sethook getmetatable gethook setmetatable setlocal traceback setfenv getinfo setupvalue getlocal getregistry getfenv io lines write close flush open output type read stderr stdin input stdout popen tmpfile math log max acos huge ldexp pi cos tanh pow deg tan cosh sinh random randomseed frexp ceil floor rad abs sqrt modf asin min mod fmod log10 atan2 exp sin atan os exit setlocale date getenv difftime remove time clock tmpname rename execute package preload loadlib loaded loaders cpath config path seeall string sub upper len gfind rep find match char dump gmatch reverse byte format gsub lower table setn insert getn foreachi maxn foreach concat sort remove"
  2723. }, contains: o.concat([{
  2724. className: "function", beginKeywords: "function", end: "\\)",
  2725. contains: [e.inherit(e.TITLE_MODE, {
  2726. begin: "([_a-zA-Z]\\w*\\.)*([_a-zA-Z]\\w*:)?[_a-zA-Z]\\w*"
  2727. }), {
  2728. className: "params",
  2729. begin: "\\(", endsWithParent: !0, contains: o
  2730. }].concat(o)
  2731. }, e.C_NUMBER_MODE, e.APOS_STRING_MODE, e.QUOTE_STRING_MODE, {
  2732. className: "string",
  2733. begin: t, end: a, contains: [n], relevance: 5
  2734. }])
  2735. }
  2736. }
  2737. })(); hljs.registerLanguage("lua", e)
  2738. })();