{"version":3,"sources":["node_modules/marked/lib/marked.esm.js","node_modules/ngx-markdown/fesm2022/ngx-markdown.mjs","projects/insight/src/app/state/actions/survey-ui.actions.ts","projects/insight/src/app/shared/survey-render/models/layout-type.model.ts"],"sourcesContent":["/**\n * marked v12.0.2 - a markdown parser\n * Copyright (c) 2011-2024, Christopher Jeffrey. (MIT Licensed)\n * https://github.com/markedjs/marked\n */\n\n/**\n * DO NOT EDIT THIS FILE\n * The code in this file is generated from files in ./src/\n */\n\n/**\n * Gets the original marked default options.\n */\nfunction _getDefaults() {\n return {\n async: false,\n breaks: false,\n extensions: null,\n gfm: true,\n hooks: null,\n pedantic: false,\n renderer: null,\n silent: false,\n tokenizer: null,\n walkTokens: null\n };\n}\nlet _defaults = _getDefaults();\nfunction changeDefaults(newDefaults) {\n _defaults = newDefaults;\n}\n\n/**\n * Helpers\n */\nconst escapeTest = /[&<>\"']/;\nconst escapeReplace = new RegExp(escapeTest.source, 'g');\nconst escapeTestNoEncode = /[<>\"']|&(?!(#\\d{1,7}|#[Xx][a-fA-F0-9]{1,6}|\\w+);)/;\nconst escapeReplaceNoEncode = new RegExp(escapeTestNoEncode.source, 'g');\nconst escapeReplacements = {\n '&': '&',\n '<': '<',\n '>': '>',\n '\"': '"',\n \"'\": '''\n};\nconst getEscapeReplacement = ch => escapeReplacements[ch];\nfunction escape$1(html, encode) {\n if (encode) {\n if (escapeTest.test(html)) {\n return html.replace(escapeReplace, getEscapeReplacement);\n }\n } else {\n if (escapeTestNoEncode.test(html)) {\n return html.replace(escapeReplaceNoEncode, getEscapeReplacement);\n }\n }\n return html;\n}\nconst unescapeTest = /&(#(?:\\d+)|(?:#x[0-9A-Fa-f]+)|(?:\\w+));?/ig;\nfunction unescape(html) {\n // explicitly match decimal, hex, and named HTML entities\n return html.replace(unescapeTest, (_, n) => {\n n = n.toLowerCase();\n if (n === 'colon') return ':';\n if (n.charAt(0) === '#') {\n return n.charAt(1) === 'x' ? String.fromCharCode(parseInt(n.substring(2), 16)) : String.fromCharCode(+n.substring(1));\n }\n return '';\n });\n}\nconst caret = /(^|[^\\[])\\^/g;\nfunction edit(regex, opt) {\n let source = typeof regex === 'string' ? regex : regex.source;\n opt = opt || '';\n const obj = {\n replace: (name, val) => {\n let valSource = typeof val === 'string' ? val : val.source;\n valSource = valSource.replace(caret, '$1');\n source = source.replace(name, valSource);\n return obj;\n },\n getRegex: () => {\n return new RegExp(source, opt);\n }\n };\n return obj;\n}\nfunction cleanUrl(href) {\n try {\n href = encodeURI(href).replace(/%25/g, '%');\n } catch (e) {\n return null;\n }\n return href;\n}\nconst noopTest = {\n exec: () => null\n};\nfunction splitCells(tableRow, count) {\n // ensure that every cell-delimiting pipe has a space\n // before it to distinguish it from an escaped pipe\n const row = tableRow.replace(/\\|/g, (match, offset, str) => {\n let escaped = false;\n let curr = offset;\n while (--curr >= 0 && str[curr] === '\\\\') escaped = !escaped;\n if (escaped) {\n // odd number of slashes means | is escaped\n // so we leave it alone\n return '|';\n } else {\n // add space before unescaped |\n return ' |';\n }\n }),\n cells = row.split(/ \\|/);\n let i = 0;\n // First/last cell in a row cannot be empty if it has no leading/trailing pipe\n if (!cells[0].trim()) {\n cells.shift();\n }\n if (cells.length > 0 && !cells[cells.length - 1].trim()) {\n cells.pop();\n }\n if (count) {\n if (cells.length > count) {\n cells.splice(count);\n } else {\n while (cells.length < count) cells.push('');\n }\n }\n for (; i < cells.length; i++) {\n // leading or trailing whitespace is ignored per the gfm spec\n cells[i] = cells[i].trim().replace(/\\\\\\|/g, '|');\n }\n return cells;\n}\n/**\n * Remove trailing 'c's. Equivalent to str.replace(/c*$/, '').\n * /c*$/ is vulnerable to REDOS.\n *\n * @param str\n * @param c\n * @param invert Remove suffix of non-c chars instead. Default falsey.\n */\nfunction rtrim(str, c, invert) {\n const l = str.length;\n if (l === 0) {\n return '';\n }\n // Length of suffix matching the invert condition.\n let suffLen = 0;\n // Step left until we fail to match the invert condition.\n while (suffLen < l) {\n const currChar = str.charAt(l - suffLen - 1);\n if (currChar === c && !invert) {\n suffLen++;\n } else if (currChar !== c && invert) {\n suffLen++;\n } else {\n break;\n }\n }\n return str.slice(0, l - suffLen);\n}\nfunction findClosingBracket(str, b) {\n if (str.indexOf(b[1]) === -1) {\n return -1;\n }\n let level = 0;\n for (let i = 0; i < str.length; i++) {\n if (str[i] === '\\\\') {\n i++;\n } else if (str[i] === b[0]) {\n level++;\n } else if (str[i] === b[1]) {\n level--;\n if (level < 0) {\n return i;\n }\n }\n }\n return -1;\n}\nfunction outputLink(cap, link, raw, lexer) {\n const href = link.href;\n const title = link.title ? escape$1(link.title) : null;\n const text = cap[1].replace(/\\\\([\\[\\]])/g, '$1');\n if (cap[0].charAt(0) !== '!') {\n lexer.state.inLink = true;\n const token = {\n type: 'link',\n raw,\n href,\n title,\n text,\n tokens: lexer.inlineTokens(text)\n };\n lexer.state.inLink = false;\n return token;\n }\n return {\n type: 'image',\n raw,\n href,\n title,\n text: escape$1(text)\n };\n}\nfunction indentCodeCompensation(raw, text) {\n const matchIndentToCode = raw.match(/^(\\s+)(?:```)/);\n if (matchIndentToCode === null) {\n return text;\n }\n const indentToCode = matchIndentToCode[1];\n return text.split('\\n').map(node => {\n const matchIndentInNode = node.match(/^\\s+/);\n if (matchIndentInNode === null) {\n return node;\n }\n const [indentInNode] = matchIndentInNode;\n if (indentInNode.length >= indentToCode.length) {\n return node.slice(indentToCode.length);\n }\n return node;\n }).join('\\n');\n}\n/**\n * Tokenizer\n */\nclass _Tokenizer {\n options;\n rules; // set by the lexer\n lexer; // set by the lexer\n constructor(options) {\n this.options = options || _defaults;\n }\n space(src) {\n const cap = this.rules.block.newline.exec(src);\n if (cap && cap[0].length > 0) {\n return {\n type: 'space',\n raw: cap[0]\n };\n }\n }\n code(src) {\n const cap = this.rules.block.code.exec(src);\n if (cap) {\n const text = cap[0].replace(/^ {1,4}/gm, '');\n return {\n type: 'code',\n raw: cap[0],\n codeBlockStyle: 'indented',\n text: !this.options.pedantic ? rtrim(text, '\\n') : text\n };\n }\n }\n fences(src) {\n const cap = this.rules.block.fences.exec(src);\n if (cap) {\n const raw = cap[0];\n const text = indentCodeCompensation(raw, cap[3] || '');\n return {\n type: 'code',\n raw,\n lang: cap[2] ? cap[2].trim().replace(this.rules.inline.anyPunctuation, '$1') : cap[2],\n text\n };\n }\n }\n heading(src) {\n const cap = this.rules.block.heading.exec(src);\n if (cap) {\n let text = cap[2].trim();\n // remove trailing #s\n if (/#$/.test(text)) {\n const trimmed = rtrim(text, '#');\n if (this.options.pedantic) {\n text = trimmed.trim();\n } else if (!trimmed || / $/.test(trimmed)) {\n // CommonMark requires space before trailing #s\n text = trimmed.trim();\n }\n }\n return {\n type: 'heading',\n raw: cap[0],\n depth: cap[1].length,\n text,\n tokens: this.lexer.inline(text)\n };\n }\n }\n hr(src) {\n const cap = this.rules.block.hr.exec(src);\n if (cap) {\n return {\n type: 'hr',\n raw: cap[0]\n };\n }\n }\n blockquote(src) {\n const cap = this.rules.block.blockquote.exec(src);\n if (cap) {\n // precede setext continuation with 4 spaces so it isn't a setext\n let text = cap[0].replace(/\\n {0,3}((?:=+|-+) *)(?=\\n|$)/g, '\\n $1');\n text = rtrim(text.replace(/^ *>[ \\t]?/gm, ''), '\\n');\n const top = this.lexer.state.top;\n this.lexer.state.top = true;\n const tokens = this.lexer.blockTokens(text);\n this.lexer.state.top = top;\n return {\n type: 'blockquote',\n raw: cap[0],\n tokens,\n text\n };\n }\n }\n list(src) {\n let cap = this.rules.block.list.exec(src);\n if (cap) {\n let bull = cap[1].trim();\n const isordered = bull.length > 1;\n const list = {\n type: 'list',\n raw: '',\n ordered: isordered,\n start: isordered ? +bull.slice(0, -1) : '',\n loose: false,\n items: []\n };\n bull = isordered ? `\\\\d{1,9}\\\\${bull.slice(-1)}` : `\\\\${bull}`;\n if (this.options.pedantic) {\n bull = isordered ? bull : '[*+-]';\n }\n // Get next list item\n const itemRegex = new RegExp(`^( {0,3}${bull})((?:[\\t ][^\\\\n]*)?(?:\\\\n|$))`);\n let raw = '';\n let itemContents = '';\n let endsWithBlankLine = false;\n // Check if current bullet point can start a new List Item\n while (src) {\n let endEarly = false;\n if (!(cap = itemRegex.exec(src))) {\n break;\n }\n if (this.rules.block.hr.test(src)) {\n // End list if bullet was actually HR (possibly move into itemRegex?)\n break;\n }\n raw = cap[0];\n src = src.substring(raw.length);\n let line = cap[2].split('\\n', 1)[0].replace(/^\\t+/, t => ' '.repeat(3 * t.length));\n let nextLine = src.split('\\n', 1)[0];\n let indent = 0;\n if (this.options.pedantic) {\n indent = 2;\n itemContents = line.trimStart();\n } else {\n indent = cap[2].search(/[^ ]/); // Find first non-space char\n indent = indent > 4 ? 1 : indent; // Treat indented code blocks (> 4 spaces) as having only 1 indent\n itemContents = line.slice(indent);\n indent += cap[1].length;\n }\n let blankLine = false;\n if (!line && /^ *$/.test(nextLine)) {\n // Items begin with at most one blank line\n raw += nextLine + '\\n';\n src = src.substring(nextLine.length + 1);\n endEarly = true;\n }\n if (!endEarly) {\n const nextBulletRegex = new RegExp(`^ {0,${Math.min(3, indent - 1)}}(?:[*+-]|\\\\d{1,9}[.)])((?:[ \\t][^\\\\n]*)?(?:\\\\n|$))`);\n const hrRegex = new RegExp(`^ {0,${Math.min(3, indent - 1)}}((?:- *){3,}|(?:_ *){3,}|(?:\\\\* *){3,})(?:\\\\n+|$)`);\n const fencesBeginRegex = new RegExp(`^ {0,${Math.min(3, indent - 1)}}(?:\\`\\`\\`|~~~)`);\n const headingBeginRegex = new RegExp(`^ {0,${Math.min(3, indent - 1)}}#`);\n // Check if following lines should be included in List Item\n while (src) {\n const rawLine = src.split('\\n', 1)[0];\n nextLine = rawLine;\n // Re-align to follow commonmark nesting rules\n if (this.options.pedantic) {\n nextLine = nextLine.replace(/^ {1,4}(?=( {4})*[^ ])/g, ' ');\n }\n // End list item if found code fences\n if (fencesBeginRegex.test(nextLine)) {\n break;\n }\n // End list item if found start of new heading\n if (headingBeginRegex.test(nextLine)) {\n break;\n }\n // End list item if found start of new bullet\n if (nextBulletRegex.test(nextLine)) {\n break;\n }\n // Horizontal rule found\n if (hrRegex.test(src)) {\n break;\n }\n if (nextLine.search(/[^ ]/) >= indent || !nextLine.trim()) {\n // Dedent if possible\n itemContents += '\\n' + nextLine.slice(indent);\n } else {\n // not enough indentation\n if (blankLine) {\n break;\n }\n // paragraph continuation unless last line was a different block level element\n if (line.search(/[^ ]/) >= 4) {\n // indented code block\n break;\n }\n if (fencesBeginRegex.test(line)) {\n break;\n }\n if (headingBeginRegex.test(line)) {\n break;\n }\n if (hrRegex.test(line)) {\n break;\n }\n itemContents += '\\n' + nextLine;\n }\n if (!blankLine && !nextLine.trim()) {\n // Check if current line is blank\n blankLine = true;\n }\n raw += rawLine + '\\n';\n src = src.substring(rawLine.length + 1);\n line = nextLine.slice(indent);\n }\n }\n if (!list.loose) {\n // If the previous item ended with a blank line, the list is loose\n if (endsWithBlankLine) {\n list.loose = true;\n } else if (/\\n *\\n *$/.test(raw)) {\n endsWithBlankLine = true;\n }\n }\n let istask = null;\n let ischecked;\n // Check for task list items\n if (this.options.gfm) {\n istask = /^\\[[ xX]\\] /.exec(itemContents);\n if (istask) {\n ischecked = istask[0] !== '[ ] ';\n itemContents = itemContents.replace(/^\\[[ xX]\\] +/, '');\n }\n }\n list.items.push({\n type: 'list_item',\n raw,\n task: !!istask,\n checked: ischecked,\n loose: false,\n text: itemContents,\n tokens: []\n });\n list.raw += raw;\n }\n // Do not consume newlines at end of final item. Alternatively, make itemRegex *start* with any newlines to simplify/speed up endsWithBlankLine logic\n list.items[list.items.length - 1].raw = raw.trimEnd();\n list.items[list.items.length - 1].text = itemContents.trimEnd();\n list.raw = list.raw.trimEnd();\n // Item child tokens handled here at end because we needed to have the final item to trim it first\n for (let i = 0; i < list.items.length; i++) {\n this.lexer.state.top = false;\n list.items[i].tokens = this.lexer.blockTokens(list.items[i].text, []);\n if (!list.loose) {\n // Check if list should be loose\n const spacers = list.items[i].tokens.filter(t => t.type === 'space');\n const hasMultipleLineBreaks = spacers.length > 0 && spacers.some(t => /\\n.*\\n/.test(t.raw));\n list.loose = hasMultipleLineBreaks;\n }\n }\n // Set all items to loose if list is loose\n if (list.loose) {\n for (let i = 0; i < list.items.length; i++) {\n list.items[i].loose = true;\n }\n }\n return list;\n }\n }\n html(src) {\n const cap = this.rules.block.html.exec(src);\n if (cap) {\n const token = {\n type: 'html',\n block: true,\n raw: cap[0],\n pre: cap[1] === 'pre' || cap[1] === 'script' || cap[1] === 'style',\n text: cap[0]\n };\n return token;\n }\n }\n def(src) {\n const cap = this.rules.block.def.exec(src);\n if (cap) {\n const tag = cap[1].toLowerCase().replace(/\\s+/g, ' ');\n const href = cap[2] ? cap[2].replace(/^<(.*)>$/, '$1').replace(this.rules.inline.anyPunctuation, '$1') : '';\n const title = cap[3] ? cap[3].substring(1, cap[3].length - 1).replace(this.rules.inline.anyPunctuation, '$1') : cap[3];\n return {\n type: 'def',\n tag,\n raw: cap[0],\n href,\n title\n };\n }\n }\n table(src) {\n const cap = this.rules.block.table.exec(src);\n if (!cap) {\n return;\n }\n if (!/[:|]/.test(cap[2])) {\n // delimiter row must have a pipe (|) or colon (:) otherwise it is a setext heading\n return;\n }\n const headers = splitCells(cap[1]);\n const aligns = cap[2].replace(/^\\||\\| *$/g, '').split('|');\n const rows = cap[3] && cap[3].trim() ? cap[3].replace(/\\n[ \\t]*$/, '').split('\\n') : [];\n const item = {\n type: 'table',\n raw: cap[0],\n header: [],\n align: [],\n rows: []\n };\n if (headers.length !== aligns.length) {\n // header and align columns must be equal, rows can be different.\n return;\n }\n for (const align of aligns) {\n if (/^ *-+: *$/.test(align)) {\n item.align.push('right');\n } else if (/^ *:-+: *$/.test(align)) {\n item.align.push('center');\n } else if (/^ *:-+ *$/.test(align)) {\n item.align.push('left');\n } else {\n item.align.push(null);\n }\n }\n for (const header of headers) {\n item.header.push({\n text: header,\n tokens: this.lexer.inline(header)\n });\n }\n for (const row of rows) {\n item.rows.push(splitCells(row, item.header.length).map(cell => {\n return {\n text: cell,\n tokens: this.lexer.inline(cell)\n };\n }));\n }\n return item;\n }\n lheading(src) {\n const cap = this.rules.block.lheading.exec(src);\n if (cap) {\n return {\n type: 'heading',\n raw: cap[0],\n depth: cap[2].charAt(0) === '=' ? 1 : 2,\n text: cap[1],\n tokens: this.lexer.inline(cap[1])\n };\n }\n }\n paragraph(src) {\n const cap = this.rules.block.paragraph.exec(src);\n if (cap) {\n const text = cap[1].charAt(cap[1].length - 1) === '\\n' ? cap[1].slice(0, -1) : cap[1];\n return {\n type: 'paragraph',\n raw: cap[0],\n text,\n tokens: this.lexer.inline(text)\n };\n }\n }\n text(src) {\n const cap = this.rules.block.text.exec(src);\n if (cap) {\n return {\n type: 'text',\n raw: cap[0],\n text: cap[0],\n tokens: this.lexer.inline(cap[0])\n };\n }\n }\n escape(src) {\n const cap = this.rules.inline.escape.exec(src);\n if (cap) {\n return {\n type: 'escape',\n raw: cap[0],\n text: escape$1(cap[1])\n };\n }\n }\n tag(src) {\n const cap = this.rules.inline.tag.exec(src);\n if (cap) {\n if (!this.lexer.state.inLink && /^/i.test(cap[0])) {\n this.lexer.state.inLink = false;\n }\n if (!this.lexer.state.inRawBlock && /^<(pre|code|kbd|script)(\\s|>)/i.test(cap[0])) {\n this.lexer.state.inRawBlock = true;\n } else if (this.lexer.state.inRawBlock && /^<\\/(pre|code|kbd|script)(\\s|>)/i.test(cap[0])) {\n this.lexer.state.inRawBlock = false;\n }\n return {\n type: 'html',\n raw: cap[0],\n inLink: this.lexer.state.inLink,\n inRawBlock: this.lexer.state.inRawBlock,\n block: false,\n text: cap[0]\n };\n }\n }\n link(src) {\n const cap = this.rules.inline.link.exec(src);\n if (cap) {\n const trimmedUrl = cap[2].trim();\n if (!this.options.pedantic && /^$/.test(trimmedUrl)) {\n return;\n }\n // ending angle bracket cannot be escaped\n const rtrimSlash = rtrim(trimmedUrl.slice(0, -1), '\\\\');\n if ((trimmedUrl.length - rtrimSlash.length) % 2 === 0) {\n return;\n }\n } else {\n // find closing parenthesis\n const lastParenIndex = findClosingBracket(cap[2], '()');\n if (lastParenIndex > -1) {\n const start = cap[0].indexOf('!') === 0 ? 5 : 4;\n const linkLen = start + cap[1].length + lastParenIndex;\n cap[2] = cap[2].substring(0, lastParenIndex);\n cap[0] = cap[0].substring(0, linkLen).trim();\n cap[3] = '';\n }\n }\n let href = cap[2];\n let title = '';\n if (this.options.pedantic) {\n // split pedantic href and title\n const link = /^([^'\"]*[^\\s])\\s+(['\"])(.*)\\2/.exec(href);\n if (link) {\n href = link[1];\n title = link[3];\n }\n } else {\n title = cap[3] ? cap[3].slice(1, -1) : '';\n }\n href = href.trim();\n if (/^$/.test(trimmedUrl)) {\n // pedantic allows starting angle bracket without ending angle bracket\n href = href.slice(1);\n } else {\n href = href.slice(1, -1);\n }\n }\n return outputLink(cap, {\n href: href ? href.replace(this.rules.inline.anyPunctuation, '$1') : href,\n title: title ? title.replace(this.rules.inline.anyPunctuation, '$1') : title\n }, cap[0], this.lexer);\n }\n }\n reflink(src, links) {\n let cap;\n if ((cap = this.rules.inline.reflink.exec(src)) || (cap = this.rules.inline.nolink.exec(src))) {\n const linkString = (cap[2] || cap[1]).replace(/\\s+/g, ' ');\n const link = links[linkString.toLowerCase()];\n if (!link) {\n const text = cap[0].charAt(0);\n return {\n type: 'text',\n raw: text,\n text\n };\n }\n return outputLink(cap, link, cap[0], this.lexer);\n }\n }\n emStrong(src, maskedSrc, prevChar = '') {\n let match = this.rules.inline.emStrongLDelim.exec(src);\n if (!match) return;\n // _ can't be between two alphanumerics. \\p{L}\\p{N} includes non-english alphabet/numbers as well\n if (match[3] && prevChar.match(/[\\p{L}\\p{N}]/u)) return;\n const nextChar = match[1] || match[2] || '';\n if (!nextChar || !prevChar || this.rules.inline.punctuation.exec(prevChar)) {\n // unicode Regex counts emoji as 1 char; spread into array for proper count (used multiple times below)\n const lLength = [...match[0]].length - 1;\n let rDelim,\n rLength,\n delimTotal = lLength,\n midDelimTotal = 0;\n const endReg = match[0][0] === '*' ? this.rules.inline.emStrongRDelimAst : this.rules.inline.emStrongRDelimUnd;\n endReg.lastIndex = 0;\n // Clip maskedSrc to same section of string as src (move to lexer?)\n maskedSrc = maskedSrc.slice(-1 * src.length + lLength);\n while ((match = endReg.exec(maskedSrc)) != null) {\n rDelim = match[1] || match[2] || match[3] || match[4] || match[5] || match[6];\n if (!rDelim) continue; // skip single * in __abc*abc__\n rLength = [...rDelim].length;\n if (match[3] || match[4]) {\n // found another Left Delim\n delimTotal += rLength;\n continue;\n } else if (match[5] || match[6]) {\n // either Left or Right Delim\n if (lLength % 3 && !((lLength + rLength) % 3)) {\n midDelimTotal += rLength;\n continue; // CommonMark Emphasis Rules 9-10\n }\n }\n delimTotal -= rLength;\n if (delimTotal > 0) continue; // Haven't found enough closing delimiters\n // Remove extra characters. *a*** -> *a*\n rLength = Math.min(rLength, rLength + delimTotal + midDelimTotal);\n // char length can be >1 for unicode characters;\n const lastCharLength = [...match[0]][0].length;\n const raw = src.slice(0, lLength + match.index + lastCharLength + rLength);\n // Create `em` if smallest delimiter has odd char count. *a***\n if (Math.min(lLength, rLength) % 2) {\n const text = raw.slice(1, -1);\n return {\n type: 'em',\n raw,\n text,\n tokens: this.lexer.inlineTokens(text)\n };\n }\n // Create 'strong' if smallest delimiter has even char count. **a***\n const text = raw.slice(2, -2);\n return {\n type: 'strong',\n raw,\n text,\n tokens: this.lexer.inlineTokens(text)\n };\n }\n }\n }\n codespan(src) {\n const cap = this.rules.inline.code.exec(src);\n if (cap) {\n let text = cap[2].replace(/\\n/g, ' ');\n const hasNonSpaceChars = /[^ ]/.test(text);\n const hasSpaceCharsOnBothEnds = /^ /.test(text) && / $/.test(text);\n if (hasNonSpaceChars && hasSpaceCharsOnBothEnds) {\n text = text.substring(1, text.length - 1);\n }\n text = escape$1(text, true);\n return {\n type: 'codespan',\n raw: cap[0],\n text\n };\n }\n }\n br(src) {\n const cap = this.rules.inline.br.exec(src);\n if (cap) {\n return {\n type: 'br',\n raw: cap[0]\n };\n }\n }\n del(src) {\n const cap = this.rules.inline.del.exec(src);\n if (cap) {\n return {\n type: 'del',\n raw: cap[0],\n text: cap[2],\n tokens: this.lexer.inlineTokens(cap[2])\n };\n }\n }\n autolink(src) {\n const cap = this.rules.inline.autolink.exec(src);\n if (cap) {\n let text, href;\n if (cap[2] === '@') {\n text = escape$1(cap[1]);\n href = 'mailto:' + text;\n } else {\n text = escape$1(cap[1]);\n href = text;\n }\n return {\n type: 'link',\n raw: cap[0],\n text,\n href,\n tokens: [{\n type: 'text',\n raw: text,\n text\n }]\n };\n }\n }\n url(src) {\n let cap;\n if (cap = this.rules.inline.url.exec(src)) {\n let text, href;\n if (cap[2] === '@') {\n text = escape$1(cap[0]);\n href = 'mailto:' + text;\n } else {\n // do extended autolink path validation\n let prevCapZero;\n do {\n prevCapZero = cap[0];\n cap[0] = this.rules.inline._backpedal.exec(cap[0])?.[0] ?? '';\n } while (prevCapZero !== cap[0]);\n text = escape$1(cap[0]);\n if (cap[1] === 'www.') {\n href = 'http://' + cap[0];\n } else {\n href = cap[0];\n }\n }\n return {\n type: 'link',\n raw: cap[0],\n text,\n href,\n tokens: [{\n type: 'text',\n raw: text,\n text\n }]\n };\n }\n }\n inlineText(src) {\n const cap = this.rules.inline.text.exec(src);\n if (cap) {\n let text;\n if (this.lexer.state.inRawBlock) {\n text = cap[0];\n } else {\n text = escape$1(cap[0]);\n }\n return {\n type: 'text',\n raw: cap[0],\n text\n };\n }\n }\n}\n\n/**\n * Block-Level Grammar\n */\nconst newline = /^(?: *(?:\\n|$))+/;\nconst blockCode = /^( {4}[^\\n]+(?:\\n(?: *(?:\\n|$))*)?)+/;\nconst fences = /^ {0,3}(`{3,}(?=[^`\\n]*(?:\\n|$))|~{3,})([^\\n]*)(?:\\n|$)(?:|([\\s\\S]*?)(?:\\n|$))(?: {0,3}\\1[~`]* *(?=\\n|$)|$)/;\nconst hr = /^ {0,3}((?:-[\\t ]*){3,}|(?:_[ \\t]*){3,}|(?:\\*[ \\t]*){3,})(?:\\n+|$)/;\nconst heading = /^ {0,3}(#{1,6})(?=\\s|$)(.*)(?:\\n+|$)/;\nconst bullet = /(?:[*+-]|\\d{1,9}[.)])/;\nconst lheading = edit(/^(?!bull |blockCode|fences|blockquote|heading|html)((?:.|\\n(?!\\s*?\\n|bull |blockCode|fences|blockquote|heading|html))+?)\\n {0,3}(=+|-+) *(?:\\n+|$)/).replace(/bull/g, bullet) // lists can interrupt\n.replace(/blockCode/g, / {4}/) // indented code blocks can interrupt\n.replace(/fences/g, / {0,3}(?:`{3,}|~{3,})/) // fenced code blocks can interrupt\n.replace(/blockquote/g, / {0,3}>/) // blockquote can interrupt\n.replace(/heading/g, / {0,3}#{1,6}/) // ATX heading can interrupt\n.replace(/html/g, / {0,3}<[^\\n>]+>\\n/) // block html can interrupt\n.getRegex();\nconst _paragraph = /^([^\\n]+(?:\\n(?!hr|heading|lheading|blockquote|fences|list|html|table| +\\n)[^\\n]+)*)/;\nconst blockText = /^[^\\n]+/;\nconst _blockLabel = /(?!\\s*\\])(?:\\\\.|[^\\[\\]\\\\])+/;\nconst def = edit(/^ {0,3}\\[(label)\\]: *(?:\\n *)?([^<\\s][^\\s]*|<.*?>)(?:(?: +(?:\\n *)?| *\\n *)(title))? *(?:\\n+|$)/).replace('label', _blockLabel).replace('title', /(?:\"(?:\\\\\"?|[^\"\\\\])*\"|'[^'\\n]*(?:\\n[^'\\n]+)*\\n?'|\\([^()]*\\))/).getRegex();\nconst list = edit(/^( {0,3}bull)([ \\t][^\\n]+?)?(?:\\n|$)/).replace(/bull/g, bullet).getRegex();\nconst _tag = 'address|article|aside|base|basefont|blockquote|body|caption' + '|center|col|colgroup|dd|details|dialog|dir|div|dl|dt|fieldset|figcaption' + '|figure|footer|form|frame|frameset|h[1-6]|head|header|hr|html|iframe' + '|legend|li|link|main|menu|menuitem|meta|nav|noframes|ol|optgroup|option' + '|p|param|search|section|summary|table|tbody|td|tfoot|th|thead|title' + '|tr|track|ul';\nconst _comment = /|$))/;\nconst html = edit('^ {0,3}(?:' // optional indentation\n+ '<(script|pre|style|textarea)[\\\\s>][\\\\s\\\\S]*?(?:\\\\1>[^\\\\n]*\\\\n+|$)' // (1)\n+ '|comment[^\\\\n]*(\\\\n+|$)' // (2)\n+ '|<\\\\?[\\\\s\\\\S]*?(?:\\\\?>\\\\n*|$)' // (3)\n+ '|\\\\n*|$)' // (4)\n+ '|\\\\n*|$)' // (5)\n+ '|?(tag)(?: +|\\\\n|/?>)[\\\\s\\\\S]*?(?:(?:\\\\n *)+\\\\n|$)' // (6)\n+ '|<(?!script|pre|style|textarea)([a-z][\\\\w-]*)(?:attribute)*? */?>(?=[ \\\\t]*(?:\\\\n|$))[\\\\s\\\\S]*?(?:(?:\\\\n *)+\\\\n|$)' // (7) open tag\n+ '|(?!script|pre|style|textarea)[a-z][\\\\w-]*\\\\s*>(?=[ \\\\t]*(?:\\\\n|$))[\\\\s\\\\S]*?(?:(?:\\\\n *)+\\\\n|$)' // (7) closing tag\n+ ')', 'i').replace('comment', _comment).replace('tag', _tag).replace('attribute', / +[a-zA-Z:_][\\w.:-]*(?: *= *\"[^\"\\n]*\"| *= *'[^'\\n]*'| *= *[^\\s\"'=<>`]+)?/).getRegex();\nconst paragraph = edit(_paragraph).replace('hr', hr).replace('heading', ' {0,3}#{1,6}(?:\\\\s|$)').replace('|lheading', '') // setext headings don't interrupt commonmark paragraphs\n.replace('|table', '').replace('blockquote', ' {0,3}>').replace('fences', ' {0,3}(?:`{3,}(?=[^`\\\\n]*\\\\n)|~{3,})[^\\\\n]*\\\\n').replace('list', ' {0,3}(?:[*+-]|1[.)]) ') // only lists starting from 1 can interrupt\n.replace('html', '?(?:tag)(?: +|\\\\n|/?>)|<(?:script|pre|style|textarea|!--)').replace('tag', _tag) // pars can be interrupted by type (6) html blocks\n.getRegex();\nconst blockquote = edit(/^( {0,3}> ?(paragraph|[^\\n]*)(?:\\n|$))+/).replace('paragraph', paragraph).getRegex();\n/**\n * Normal Block Grammar\n */\nconst blockNormal = {\n blockquote,\n code: blockCode,\n def,\n fences,\n heading,\n hr,\n html,\n lheading,\n list,\n newline,\n paragraph,\n table: noopTest,\n text: blockText\n};\n/**\n * GFM Block Grammar\n */\nconst gfmTable = edit('^ *([^\\\\n ].*)\\\\n' // Header\n+ ' {0,3}((?:\\\\| *)?:?-+:? *(?:\\\\| *:?-+:? *)*(?:\\\\| *)?)' // Align\n+ '(?:\\\\n((?:(?! *\\\\n|hr|heading|blockquote|code|fences|list|html).*(?:\\\\n|$))*)\\\\n*|$)') // Cells\n.replace('hr', hr).replace('heading', ' {0,3}#{1,6}(?:\\\\s|$)').replace('blockquote', ' {0,3}>').replace('code', ' {4}[^\\\\n]').replace('fences', ' {0,3}(?:`{3,}(?=[^`\\\\n]*\\\\n)|~{3,})[^\\\\n]*\\\\n').replace('list', ' {0,3}(?:[*+-]|1[.)]) ') // only lists starting from 1 can interrupt\n.replace('html', '?(?:tag)(?: +|\\\\n|/?>)|<(?:script|pre|style|textarea|!--)').replace('tag', _tag) // tables can be interrupted by type (6) html blocks\n.getRegex();\nconst blockGfm = {\n ...blockNormal,\n table: gfmTable,\n paragraph: edit(_paragraph).replace('hr', hr).replace('heading', ' {0,3}#{1,6}(?:\\\\s|$)').replace('|lheading', '') // setext headings don't interrupt commonmark paragraphs\n .replace('table', gfmTable) // interrupt paragraphs with table\n .replace('blockquote', ' {0,3}>').replace('fences', ' {0,3}(?:`{3,}(?=[^`\\\\n]*\\\\n)|~{3,})[^\\\\n]*\\\\n').replace('list', ' {0,3}(?:[*+-]|1[.)]) ') // only lists starting from 1 can interrupt\n .replace('html', '?(?:tag)(?: +|\\\\n|/?>)|<(?:script|pre|style|textarea|!--)').replace('tag', _tag) // pars can be interrupted by type (6) html blocks\n .getRegex()\n};\n/**\n * Pedantic grammar (original John Gruber's loose markdown specification)\n */\nconst blockPedantic = {\n ...blockNormal,\n html: edit('^ *(?:comment *(?:\\\\n|\\\\s*$)' + '|<(tag)[\\\\s\\\\S]+?\\\\1> *(?:\\\\n{2,}|\\\\s*$)' // closed tag\n + '| ${text}
\\n';\n }\n return '' + (escaped ? code : escape$1(code, true)) + '
\\n';\n }\n blockquote(quote) {\n return `' + (escaped ? code : escape$1(code, true)) + '
\\n${quote}
\\n`;\n }\n html(html, block) {\n return html;\n }\n heading(text, level, raw) {\n // ignore IDs\n return `
\\n';\n }\n list(body, ordered, start) {\n const type = ordered ? 'ol' : 'ul';\n const startatt = ordered && start !== 1 ? ' start=\"' + start + '\"' : '';\n return '<' + type + startatt + '>\\n' + body + '' + type + '>\\n';\n }\n listitem(text, task, checked) {\n return `
${text}
`;\n }\n br() {\n return 'An error occurred:
' + escape$1(e.message + '', true) + '';\n if (async) {\n return Promise.resolve(msg);\n }\n return msg;\n }\n if (async) {\n return Promise.reject(e);\n }\n throw e;\n };\n }\n}\nconst markedInstance = new Marked();\nfunction marked(src, opt) {\n return markedInstance.parse(src, opt);\n}\n/**\n * Sets the default options.\n *\n * @param options Hash of options\n */\nmarked.options = marked.setOptions = function (options) {\n markedInstance.setOptions(options);\n marked.defaults = markedInstance.defaults;\n changeDefaults(marked.defaults);\n return marked;\n};\n/**\n * Gets the original marked default options.\n */\nmarked.getDefaults = _getDefaults;\nmarked.defaults = _defaults;\n/**\n * Use Extension\n */\nmarked.use = function (...args) {\n markedInstance.use(...args);\n marked.defaults = markedInstance.defaults;\n changeDefaults(marked.defaults);\n return marked;\n};\n/**\n * Run callback for every token\n */\nmarked.walkTokens = function (tokens, callback) {\n return markedInstance.walkTokens(tokens, callback);\n};\n/**\n * Compiles markdown to HTML without enclosing `p` tag.\n *\n * @param src String of markdown source to be compiled\n * @param options Hash of options\n * @return String of compiled HTML\n */\nmarked.parseInline = markedInstance.parseInline;\n/**\n * Expose\n */\nmarked.Parser = _Parser;\nmarked.parser = _Parser.parse;\nmarked.Renderer = _Renderer;\nmarked.TextRenderer = _TextRenderer;\nmarked.Lexer = _Lexer;\nmarked.lexer = _Lexer.lex;\nmarked.Tokenizer = _Tokenizer;\nmarked.Hooks = _Hooks;\nmarked.parse = marked;\nconst options = marked.options;\nconst setOptions = marked.setOptions;\nconst use = marked.use;\nconst walkTokens = marked.walkTokens;\nconst parseInline = marked.parseInline;\nconst parse = marked;\nconst parser = _Parser.parse;\nconst lexer = _Lexer.lex;\nexport { _Hooks as Hooks, _Lexer as Lexer, Marked, _Parser as Parser, _Renderer as Renderer, _TextRenderer as TextRenderer, _Tokenizer as Tokenizer, _defaults as defaults, _getDefaults as getDefaults, lexer, marked, options, parse, parseInline, parser, setOptions, use, walkTokens };\n","import { AsyncPipe, isPlatformBrowser, CommonModule } from '@angular/common';\nimport * as i0 from '@angular/core';\nimport { Component, ChangeDetectionStrategy, InjectionToken, Pipe, PLATFORM_ID, Injectable, Inject, Optional, EventEmitter, Input, Output, SecurityContext, NgModule } from '@angular/core';\nimport { Subject, of, timer, merge } from 'rxjs';\nimport { mapTo, switchMap, distinctUntilChanged, shareReplay, startWith, map, takeUntil, first } from 'rxjs/operators';\nimport { Renderer, marked } from 'marked';\nexport { Renderer as MarkedRenderer } from 'marked';\nimport * as i1 from '@angular/common/http';\nimport * as i2 from '@angular/platform-browser';\nconst _c0 = [\"*\"];\nconst BUTTON_TEXT_COPY = 'Copy';\nconst BUTTON_TEXT_COPIED = 'Copied';\nlet ClipboardButtonComponent = /*#__PURE__*/(() => {\n class ClipboardButtonComponent {\n constructor() {\n this._buttonClick$ = new Subject();\n this.copied$ = this._buttonClick$.pipe(switchMap(() => merge(of(true), timer(3000).pipe(mapTo(false)))), distinctUntilChanged(), shareReplay(1));\n this.copiedText$ = this.copied$.pipe(startWith(false), map(copied => copied ? BUTTON_TEXT_COPIED : BUTTON_TEXT_COPY));\n }\n onCopyToClipboardClick() {\n this._buttonClick$.next();\n }\n static {\n this.ɵfac = function ClipboardButtonComponent_Factory(t) {\n return new (t || ClipboardButtonComponent)();\n };\n }\n static {\n this.ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n type: ClipboardButtonComponent,\n selectors: [[\"markdown-clipboard\"]],\n standalone: true,\n features: [i0.ɵɵStandaloneFeature],\n decls: 4,\n vars: 7,\n consts: [[1, \"markdown-clipboard-button\", 3, \"click\"]],\n template: function ClipboardButtonComponent_Template(rf, ctx) {\n if (rf & 1) {\n i0.ɵɵelementStart(0, \"button\", 0);\n i0.ɵɵpipe(1, \"async\");\n i0.ɵɵlistener(\"click\", function ClipboardButtonComponent_Template_button_click_0_listener() {\n return ctx.onCopyToClipboardClick();\n });\n i0.ɵɵtext(2);\n i0.ɵɵpipe(3, \"async\");\n i0.ɵɵelementEnd();\n }\n if (rf & 2) {\n i0.ɵɵclassProp(\"copied\", i0.ɵɵpipeBind1(1, 3, ctx.copied$));\n i0.ɵɵadvance(2);\n i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(3, 5, ctx.copiedText$));\n }\n },\n dependencies: [AsyncPipe],\n encapsulation: 2,\n changeDetection: 0\n });\n }\n }\n return ClipboardButtonComponent;\n})();\n(() => {\n (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\nconst CLIPBOARD_OPTIONS = new InjectionToken('CLIPBOARD_OPTIONS');\n\n/* eslint-disable */\nclass KatexSpecificOptions {}\nlet LanguagePipe = /*#__PURE__*/(() => {\n class LanguagePipe {\n transform(value, language) {\n if (value == null) {\n value = '';\n }\n if (language == null) {\n language = '';\n }\n if (typeof value !== 'string') {\n console.error(`LanguagePipe has been invoked with an invalid value type [${typeof value}]`);\n return value;\n }\n if (typeof language !== 'string') {\n console.error(`LanguagePipe has been invoked with an invalid parameter [${typeof language}]`);\n return value;\n }\n return '```' + language + '\\n' + value + '\\n```';\n }\n static {\n this.ɵfac = function LanguagePipe_Factory(t) {\n return new (t || LanguagePipe)();\n };\n }\n static {\n this.ɵpipe = /* @__PURE__ */i0.ɵɵdefinePipe({\n name: \"language\",\n type: LanguagePipe,\n pure: true,\n standalone: true\n });\n }\n }\n return LanguagePipe;\n})();\n(() => {\n (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\nvar PrismPlugin = /*#__PURE__*/function (PrismPlugin) {\n PrismPlugin[\"CommandLine\"] = \"command-line\";\n PrismPlugin[\"LineHighlight\"] = \"line-highlight\";\n PrismPlugin[\"LineNumbers\"] = \"line-numbers\";\n return PrismPlugin;\n}(PrismPlugin || {});\nconst MARKED_EXTENSIONS = new InjectionToken('MARKED_EXTENSIONS');\nconst MARKED_OPTIONS = new InjectionToken('MARKED_OPTIONS');\n\n/* eslint-disable max-len */\nconst errorJoyPixelsNotLoaded = '[ngx-markdown] When using the `emoji` attribute you *have to* include Emoji-Toolkit files to `angular.json` or use imports. See README for more information';\nconst errorKatexNotLoaded = '[ngx-markdown] When using the `katex` attribute you *have to* include KaTeX files to `angular.json` or use imports. See README for more information';\nconst errorMermaidNotLoaded = '[ngx-markdown] When using the `mermaid` attribute you *have to* include Mermaid files to `angular.json` or use imports. See README for more information';\nconst errorClipboardNotLoaded = '[ngx-markdown] When using the `clipboard` attribute you *have to* include Clipboard files to `angular.json` or use imports. See README for more information';\nconst errorClipboardViewContainerRequired = '[ngx-markdown] When using the `clipboard` attribute you *have to* provide the `viewContainerRef` parameter to `MarkdownService.render()` function';\nconst errorSrcWithoutHttpClient = '[ngx-markdown] When using the `src` attribute you *have to* pass the `HttpClient` as a parameter of the `forRoot` method. See README for more information';\n/* eslint-enable max-len */\nconst SECURITY_CONTEXT = new InjectionToken('SECURITY_CONTEXT');\nclass ExtendedRenderer extends Renderer {\n constructor() {\n super(...arguments);\n this.ɵNgxMarkdownRendererExtendedForExtensions = false;\n this.ɵNgxMarkdownRendererExtendedForMermaid = false;\n }\n}\nlet MarkdownService = /*#__PURE__*/(() => {\n class MarkdownService {\n get options() {\n return this._options;\n }\n set options(value) {\n this._options = {\n ...this.DEFAULT_MARKED_OPTIONS,\n ...value\n };\n }\n get renderer() {\n return this.options.renderer;\n }\n set renderer(value) {\n this.options.renderer = value;\n }\n constructor(clipboardOptions, extensions, options, platform, securityContext, http, sanitizer) {\n this.clipboardOptions = clipboardOptions;\n this.extensions = extensions;\n this.platform = platform;\n this.securityContext = securityContext;\n this.http = http;\n this.sanitizer = sanitizer;\n this.DEFAULT_MARKED_OPTIONS = {\n renderer: new Renderer()\n };\n this.DEFAULT_KATEX_OPTIONS = {\n delimiters: [{\n left: '$$',\n right: '$$',\n display: true\n }, {\n left: '$',\n right: '$',\n display: false\n }, {\n left: '\\\\(',\n right: '\\\\)',\n display: false\n }, {\n left: '\\\\begin{equation}',\n right: '\\\\end{equation}',\n display: true\n }, {\n left: '\\\\begin{align}',\n right: '\\\\end{align}',\n display: true\n }, {\n left: '\\\\begin{alignat}',\n right: '\\\\end{alignat}',\n display: true\n }, {\n left: '\\\\begin{gather}',\n right: '\\\\end{gather}',\n display: true\n }, {\n left: '\\\\begin{CD}',\n right: '\\\\end{CD}',\n display: true\n }, {\n left: '\\\\[',\n right: '\\\\]',\n display: true\n }]\n };\n this.DEFAULT_MERMAID_OPTIONS = {\n startOnLoad: false\n };\n this.DEFAULT_CLIPBOARD_OPTIONS = {\n buttonComponent: undefined\n };\n this.DEFAULT_PARSE_OPTIONS = {\n decodeHtml: false,\n inline: false,\n emoji: false,\n mermaid: false,\n markedOptions: undefined,\n disableSanitizer: false\n };\n this.DEFAULT_RENDER_OPTIONS = {\n clipboard: false,\n clipboardOptions: undefined,\n katex: false,\n katexOptions: undefined,\n mermaid: false,\n mermaidOptions: undefined\n };\n this._reload$ = new Subject();\n this.reload$ = this._reload$.asObservable();\n this.options = options;\n }\n parse(markdown, parseOptions = this.DEFAULT_PARSE_OPTIONS) {\n const {\n decodeHtml,\n inline,\n emoji,\n mermaid,\n disableSanitizer\n } = parseOptions;\n const markedOptions = {\n ...this.options,\n ...parseOptions.markedOptions\n };\n const renderer = markedOptions.renderer || this.renderer || new Renderer();\n if (this.extensions) {\n this.renderer = this.extendsRendererForExtensions(renderer);\n }\n if (mermaid) {\n this.renderer = this.extendsRendererForMermaid(renderer);\n }\n const trimmed = this.trimIndentation(markdown);\n const decoded = decodeHtml ? this.decodeHtml(trimmed) : trimmed;\n const emojified = emoji ? this.parseEmoji(decoded) : decoded;\n const marked = this.parseMarked(emojified, markedOptions, inline);\n const sanitized = disableSanitizer ? marked : this.sanitizer.sanitize(this.securityContext, marked);\n return sanitized || '';\n }\n render(element, options = this.DEFAULT_RENDER_OPTIONS, viewContainerRef) {\n const {\n clipboard,\n clipboardOptions,\n katex,\n katexOptions,\n mermaid,\n mermaidOptions\n } = options;\n if (katex) {\n this.renderKatex(element, {\n ...this.DEFAULT_KATEX_OPTIONS,\n ...katexOptions\n });\n }\n if (mermaid) {\n this.renderMermaid(element, {\n ...this.DEFAULT_MERMAID_OPTIONS,\n ...mermaidOptions\n });\n }\n if (clipboard) {\n this.renderClipboard(element, viewContainerRef, {\n ...this.DEFAULT_CLIPBOARD_OPTIONS,\n ...this.clipboardOptions,\n ...clipboardOptions\n });\n }\n this.highlight(element);\n }\n reload() {\n this._reload$.next();\n }\n getSource(src) {\n if (!this.http) {\n throw new Error(errorSrcWithoutHttpClient);\n }\n return this.http.get(src, {\n responseType: 'text'\n }).pipe(map(markdown => this.handleExtension(src, markdown)));\n }\n highlight(element) {\n if (!isPlatformBrowser(this.platform)) {\n return;\n }\n if (typeof Prism === 'undefined' || typeof Prism.highlightAllUnder === 'undefined') {\n return;\n }\n if (!element) {\n element = document;\n }\n const noLanguageElements = element.querySelectorAll('pre code:not([class*=\"language-\"])');\n Array.prototype.forEach.call(noLanguageElements, x => x.classList.add('language-none'));\n Prism.highlightAllUnder(element);\n }\n decodeHtml(html) {\n if (!isPlatformBrowser(this.platform)) {\n return html;\n }\n const textarea = document.createElement('textarea');\n textarea.innerHTML = html;\n return textarea.value;\n }\n extendsRendererForExtensions(renderer) {\n const extendedRenderer = renderer;\n if (extendedRenderer.ɵNgxMarkdownRendererExtendedForExtensions === true) {\n return renderer;\n }\n if (this.extensions?.length > 0) {\n marked.use(...this.extensions);\n }\n extendedRenderer.ɵNgxMarkdownRendererExtendedForExtensions = true;\n return renderer;\n }\n extendsRendererForMermaid(renderer) {\n const extendedRenderer = renderer;\n if (extendedRenderer.ɵNgxMarkdownRendererExtendedForMermaid === true) {\n return renderer;\n }\n // eslint-disable-next-line @typescript-eslint/unbound-method\n const defaultCode = renderer.code;\n renderer.code = function (code, language, isEscaped) {\n return language === 'mermaid' ? `
elements\n const preElements = element.querySelectorAll('pre');\n for (let i = 0; i < preElements.length; i++) {\n const preElement = preElements.item(i);\n // createwrapper element\n const preWrapperElement = document.createElement('div');\n preWrapperElement.style.position = 'relative';\n preElement.parentNode.insertBefore(preWrapperElement, preElement);\n preWrapperElement.appendChild(preElement);\n // create toolbar element\n const toolbarWrapperElement = document.createElement('div');\n toolbarWrapperElement.style.position = 'absolute';\n toolbarWrapperElement.style.top = '.5em';\n toolbarWrapperElement.style.right = '.5em';\n toolbarWrapperElement.style.opacity = '0';\n toolbarWrapperElement.style.transition = 'opacity 250ms ease-out';\n toolbarWrapperElement.style.zIndex = '1';\n preWrapperElement.insertAdjacentElement('beforeend', toolbarWrapperElement);\n // register listener to show/hide toolbar\n preElement.onmouseover = () => toolbarWrapperElement.style.opacity = '1';\n preElement.onmouseout = () => toolbarWrapperElement.style.opacity = '0';\n // declare embeddedViewRef holding variable\n let embeddedViewRef;\n // use provided component via input property\n // or provided via ClipboardOptions provider\n if (buttonComponent) {\n const componentRef = viewContainerRef.createComponent(buttonComponent);\n embeddedViewRef = componentRef.hostView;\n componentRef.changeDetectorRef.markForCheck();\n }\n // use provided template via input property\n else if (buttonTemplate) {\n embeddedViewRef = viewContainerRef.createEmbeddedView(buttonTemplate);\n }\n // use default component\n else {\n const componentRef = viewContainerRef.createComponent(ClipboardButtonComponent);\n embeddedViewRef = componentRef.hostView;\n componentRef.changeDetectorRef.markForCheck();\n }\n // declare clipboard instance variable\n let clipboardInstance;\n // attach clipboard.js to root node\n embeddedViewRef.rootNodes.forEach(node => {\n node.onmouseover = () => toolbarWrapperElement.style.opacity = '1';\n toolbarWrapperElement.appendChild(node);\n clipboardInstance = new ClipboardJS(node, {\n text: () => preElement.innerText\n });\n });\n // destroy clipboard instance when view is destroyed\n embeddedViewRef.onDestroy(() => clipboardInstance.destroy());\n }\n }\n renderMermaid(element, options = this.DEFAULT_MERMAID_OPTIONS) {\n if (!isPlatformBrowser(this.platform)) {\n return;\n }\n if (typeof mermaid === 'undefined' || typeof mermaid.initialize === 'undefined') {\n throw new Error(errorMermaidNotLoaded);\n }\n const mermaidElements = element.querySelectorAll('.mermaid');\n if (mermaidElements.length === 0) {\n return;\n }\n mermaid.initialize(options);\n mermaid.run({\n nodes: mermaidElements\n });\n }\n trimIndentation(markdown) {\n if (!markdown) {\n return '';\n }\n let indentStart;\n return markdown.split('\\n').map(line => {\n let lineIdentStart = indentStart;\n if (line.length > 0) {\n lineIdentStart = isNaN(lineIdentStart) ? line.search(/\\S|$/) : Math.min(line.search(/\\S|$/), lineIdentStart);\n }\n if (isNaN(indentStart)) {\n indentStart = lineIdentStart;\n }\n return lineIdentStart ? line.substring(lineIdentStart) : line;\n }).join('\\n');\n }\n static {\n this.ɵfac = function MarkdownService_Factory(t) {\n return new (t || MarkdownService)(i0.ɵɵinject(CLIPBOARD_OPTIONS, 8), i0.ɵɵinject(MARKED_EXTENSIONS, 8), i0.ɵɵinject(MARKED_OPTIONS, 8), i0.ɵɵinject(PLATFORM_ID), i0.ɵɵinject(SECURITY_CONTEXT), i0.ɵɵinject(i1.HttpClient, 8), i0.ɵɵinject(i2.DomSanitizer));\n };\n }\n static {\n this.ɵprov = /* @__PURE__ */i0.ɵɵdefineInjectable({\n token: MarkdownService,\n factory: MarkdownService.ɵfac\n });\n }\n }\n return MarkdownService;\n})();\n(() => {\n (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\nlet MarkdownComponent = /*#__PURE__*/(() => {\n class MarkdownComponent {\n get disableSanitizer() {\n return this._disableSanitizer;\n }\n set disableSanitizer(value) {\n this._disableSanitizer = this.coerceBooleanProperty(value);\n }\n get inline() {\n return this._inline;\n }\n set inline(value) {\n this._inline = this.coerceBooleanProperty(value);\n }\n // Plugin - clipboard\n get clipboard() {\n return this._clipboard;\n }\n set clipboard(value) {\n this._clipboard = this.coerceBooleanProperty(value);\n }\n // Plugin - emoji\n get emoji() {\n return this._emoji;\n }\n set emoji(value) {\n this._emoji = this.coerceBooleanProperty(value);\n }\n // Plugin - katex\n get katex() {\n return this._katex;\n }\n set katex(value) {\n this._katex = this.coerceBooleanProperty(value);\n }\n // Plugin - mermaid\n get mermaid() {\n return this._mermaid;\n }\n set mermaid(value) {\n this._mermaid = this.coerceBooleanProperty(value);\n }\n // Plugin - lineHighlight\n get lineHighlight() {\n return this._lineHighlight;\n }\n set lineHighlight(value) {\n this._lineHighlight = this.coerceBooleanProperty(value);\n }\n // Plugin - lineNumbers\n get lineNumbers() {\n return this._lineNumbers;\n }\n set lineNumbers(value) {\n this._lineNumbers = this.coerceBooleanProperty(value);\n }\n // Plugin - commandLine\n get commandLine() {\n return this._commandLine;\n }\n set commandLine(value) {\n this._commandLine = this.coerceBooleanProperty(value);\n }\n constructor(element, markdownService, viewContainerRef) {\n this.element = element;\n this.markdownService = markdownService;\n this.viewContainerRef = viewContainerRef;\n // Event emitters\n this.error = new EventEmitter();\n this.load = new EventEmitter();\n this.ready = new EventEmitter();\n this._clipboard = false;\n this._commandLine = false;\n this._disableSanitizer = false;\n this._emoji = false;\n this._inline = false;\n this._katex = false;\n this._lineHighlight = false;\n this._lineNumbers = false;\n this._mermaid = false;\n this.destroyed$ = new Subject();\n }\n ngOnChanges() {\n this.loadContent();\n }\n loadContent() {\n if (this.data != null) {\n this.handleData();\n return;\n }\n if (this.src != null) {\n this.handleSrc();\n return;\n }\n }\n ngAfterViewInit() {\n if (!this.data && !this.src) {\n this.handleTransclusion();\n }\n this.markdownService.reload$.pipe(takeUntil(this.destroyed$)).subscribe(() => this.loadContent());\n }\n ngOnDestroy() {\n this.destroyed$.next();\n this.destroyed$.complete();\n }\n async render(markdown, decodeHtml = false) {\n const parsedOptions = {\n decodeHtml,\n inline: this.inline,\n emoji: this.emoji,\n mermaid: this.mermaid,\n disableSanitizer: this.disableSanitizer\n };\n const renderOptions = {\n clipboard: this.clipboard,\n clipboardOptions: {\n buttonComponent: this.clipboardButtonComponent,\n buttonTemplate: this.clipboardButtonTemplate\n },\n katex: this.katex,\n katexOptions: this.katexOptions,\n mermaid: this.mermaid,\n mermaidOptions: this.mermaidOptions\n };\n const parsed = await this.markdownService.parse(markdown, parsedOptions);\n this.element.nativeElement.innerHTML = parsed;\n this.handlePlugins();\n this.markdownService.render(this.element.nativeElement, renderOptions, this.viewContainerRef);\n this.ready.emit();\n }\n coerceBooleanProperty(value) {\n return value != null && `${String(value)}` !== 'false';\n }\n handleData() {\n this.render(this.data);\n }\n handleSrc() {\n this.markdownService.getSource(this.src).subscribe({\n next: markdown => {\n this.render(markdown).then(() => {\n this.load.emit(markdown);\n });\n },\n error: error => this.error.emit(error)\n });\n }\n handleTransclusion() {\n this.render(this.element.nativeElement.innerHTML, true);\n }\n handlePlugins() {\n if (this.commandLine) {\n this.setPluginClass(this.element.nativeElement, PrismPlugin.CommandLine);\n this.setPluginOptions(this.element.nativeElement, {\n dataFilterOutput: this.filterOutput,\n dataHost: this.host,\n dataPrompt: this.prompt,\n dataOutput: this.output,\n dataUser: this.user\n });\n }\n if (this.lineHighlight) {\n this.setPluginOptions(this.element.nativeElement, {\n dataLine: this.line,\n dataLineOffset: this.lineOffset\n });\n }\n if (this.lineNumbers) {\n this.setPluginClass(this.element.nativeElement, PrismPlugin.LineNumbers);\n this.setPluginOptions(this.element.nativeElement, {\n dataStart: this.start\n });\n }\n }\n setPluginClass(element, plugin) {\n const preElements = element.querySelectorAll('pre');\n for (let i = 0; i < preElements.length; i++) {\n const classes = plugin instanceof Array ? plugin : [plugin];\n preElements.item(i).classList.add(...classes);\n }\n }\n setPluginOptions(element, options) {\n const preElements = element.querySelectorAll('pre');\n for (let i = 0; i < preElements.length; i++) {\n Object.keys(options).forEach(option => {\n const attributeValue = options[option];\n if (attributeValue) {\n const attributeName = this.toLispCase(option);\n preElements.item(i).setAttribute(attributeName, attributeValue.toString());\n }\n });\n }\n }\n toLispCase(value) {\n const upperChars = value.match(/([A-Z])/g);\n if (!upperChars) {\n return value;\n }\n let str = value.toString();\n for (let i = 0, n = upperChars.length; i < n; i++) {\n str = str.replace(new RegExp(upperChars[i]), '-' + upperChars[i].toLowerCase());\n }\n if (str.slice(0, 1) === '-') {\n str = str.slice(1);\n }\n return str;\n }\n static {\n this.ɵfac = function MarkdownComponent_Factory(t) {\n return new (t || MarkdownComponent)(i0.ɵɵdirectiveInject(i0.ElementRef), i0.ɵɵdirectiveInject(MarkdownService), i0.ɵɵdirectiveInject(i0.ViewContainerRef));\n };\n }\n static {\n this.ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n type: MarkdownComponent,\n selectors: [[\"markdown\"], [\"\", \"markdown\", \"\"]],\n inputs: {\n data: \"data\",\n src: \"src\",\n disableSanitizer: \"disableSanitizer\",\n inline: \"inline\",\n clipboard: \"clipboard\",\n clipboardButtonComponent: \"clipboardButtonComponent\",\n clipboardButtonTemplate: \"clipboardButtonTemplate\",\n emoji: \"emoji\",\n katex: \"katex\",\n katexOptions: \"katexOptions\",\n mermaid: \"mermaid\",\n mermaidOptions: \"mermaidOptions\",\n lineHighlight: \"lineHighlight\",\n line: \"line\",\n lineOffset: \"lineOffset\",\n lineNumbers: \"lineNumbers\",\n start: \"start\",\n commandLine: \"commandLine\",\n filterOutput: \"filterOutput\",\n host: \"host\",\n prompt: \"prompt\",\n output: \"output\",\n user: \"user\"\n },\n outputs: {\n error: \"error\",\n load: \"load\",\n ready: \"ready\"\n },\n standalone: true,\n features: [i0.ɵɵNgOnChangesFeature, i0.ɵɵStandaloneFeature],\n ngContentSelectors: _c0,\n decls: 1,\n vars: 0,\n template: function MarkdownComponent_Template(rf, ctx) {\n if (rf & 1) {\n i0.ɵɵprojectionDef();\n i0.ɵɵprojection(0);\n }\n },\n encapsulation: 2\n });\n }\n }\n return MarkdownComponent;\n})();\n(() => {\n (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\nlet MarkdownPipe = /*#__PURE__*/(() => {\n class MarkdownPipe {\n constructor(domSanitizer, elementRef, markdownService, viewContainerRef, zone) {\n this.domSanitizer = domSanitizer;\n this.elementRef = elementRef;\n this.markdownService = markdownService;\n this.viewContainerRef = viewContainerRef;\n this.zone = zone;\n }\n async transform(value, options) {\n if (value == null) {\n return '';\n }\n if (typeof value !== 'string') {\n console.error(`MarkdownPipe has been invoked with an invalid value type [${typeof value}]`);\n return value;\n }\n const markdown = await this.markdownService.parse(value, options);\n this.zone.onStable.pipe(first()).subscribe(() => this.markdownService.render(this.elementRef.nativeElement, options, this.viewContainerRef));\n return this.domSanitizer.bypassSecurityTrustHtml(markdown);\n }\n static {\n this.ɵfac = function MarkdownPipe_Factory(t) {\n return new (t || MarkdownPipe)(i0.ɵɵdirectiveInject(i2.DomSanitizer, 16), i0.ɵɵdirectiveInject(i0.ElementRef, 16), i0.ɵɵdirectiveInject(MarkdownService, 16), i0.ɵɵdirectiveInject(i0.ViewContainerRef, 16), i0.ɵɵdirectiveInject(i0.NgZone, 16));\n };\n }\n static {\n this.ɵpipe = /* @__PURE__ */i0.ɵɵdefinePipe({\n name: \"markdown\",\n type: MarkdownPipe,\n pure: true,\n standalone: true\n });\n }\n }\n return MarkdownPipe;\n})();\n(() => {\n (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\nfunction provideMarkdown(markdownModuleConfig) {\n return [MarkdownService, markdownModuleConfig?.loader ?? [], markdownModuleConfig?.clipboardOptions ?? [], markdownModuleConfig?.markedOptions ?? [], {\n provide: MARKED_EXTENSIONS,\n useValue: markdownModuleConfig?.markedExtensions ?? []\n }, {\n provide: SECURITY_CONTEXT,\n useValue: markdownModuleConfig?.sanitize ?? SecurityContext.HTML\n }];\n}\nconst sharedDeclarations = [ClipboardButtonComponent, LanguagePipe, MarkdownComponent, MarkdownPipe];\nlet MarkdownModule = /*#__PURE__*/(() => {\n class MarkdownModule {\n static forRoot(markdownModuleConfig) {\n return {\n ngModule: MarkdownModule,\n providers: [provideMarkdown(markdownModuleConfig)]\n };\n }\n static forChild() {\n return {\n ngModule: MarkdownModule\n };\n }\n static {\n this.ɵfac = function MarkdownModule_Factory(t) {\n return new (t || MarkdownModule)();\n };\n }\n static {\n this.ɵmod = /* @__PURE__ */i0.ɵɵdefineNgModule({\n type: MarkdownModule\n });\n }\n static {\n this.ɵinj = /* @__PURE__ */i0.ɵɵdefineInjector({\n imports: [CommonModule]\n });\n }\n }\n return MarkdownModule;\n})();\n(() => {\n (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/* eslint-disable */\nvar MermaidAPI;\n(function (MermaidAPI) {\n let SecurityLevel;\n (function (SecurityLevel) {\n /**\n * (default) tags in text are encoded, click functionality is disabled\n */\n SecurityLevel[\"Strict\"] = \"strict\";\n /**\n * tags in text are allowed, click functionality is enabled\n */\n SecurityLevel[\"Loose\"] = \"loose\";\n /**\n * html tags in text are allowed, (only script element is removed), click functionality is enabled\n */\n SecurityLevel[\"Antiscript\"] = \"antiscript\";\n /**\n * with this security level all rendering takes place in a sandboxed iframe.\n * This prevent any javascript running in the context.\n * This may hinder interactive functionality of the diagram like scripts,\n * popups in sequence diagram or links to other tabs/targets etc.\n */\n SecurityLevel[\"Sandbox\"] = \"sandbox\";\n })(SecurityLevel = MermaidAPI.SecurityLevel || (MermaidAPI.SecurityLevel = {}));\n let Theme;\n (function (Theme) {\n /**\n * Designed to modified, as the name implies it is supposed to be used as the base for making custom themes.\n */\n Theme[\"Base\"] = \"base\";\n /**\n * A theme full of light greens that is easy on the eyes.\n */\n Theme[\"Forest\"] = \"forest\";\n /**\n * A theme that would go well with other dark colored elements.\n */\n Theme[\"Dark\"] = \"dark\";\n /**\n * The default theme for all diagrams.\n */\n Theme[\"Default\"] = \"default\";\n /**\n * The theme to be used for black and white printing\n */\n Theme[\"Neutral\"] = \"neutral\";\n })(Theme = MermaidAPI.Theme || (MermaidAPI.Theme = {}));\n let LogLevel;\n (function (LogLevel) {\n LogLevel[LogLevel[\"Debug\"] = 1] = \"Debug\";\n LogLevel[LogLevel[\"Info\"] = 2] = \"Info\";\n LogLevel[LogLevel[\"Warn\"] = 3] = \"Warn\";\n LogLevel[LogLevel[\"Error\"] = 4] = \"Error\";\n LogLevel[LogLevel[\"Fatal\"] = 5] = \"Fatal\";\n })(LogLevel = MermaidAPI.LogLevel || (MermaidAPI.LogLevel = {}));\n})(MermaidAPI || (MermaidAPI = {}));\n\n/**\n * Generated bundle index. Do not edit.\n */\n\nexport { CLIPBOARD_OPTIONS, ClipboardButtonComponent, ExtendedRenderer, KatexSpecificOptions, LanguagePipe, MARKED_EXTENSIONS, MARKED_OPTIONS, MarkdownComponent, MarkdownModule, MarkdownPipe, MarkdownService, MermaidAPI, PrismPlugin, SECURITY_CONTEXT, errorClipboardNotLoaded, errorClipboardViewContainerRequired, errorJoyPixelsNotLoaded, errorKatexNotLoaded, errorMermaidNotLoaded, errorSrcWithoutHttpClient, provideMarkdown };\n","import { Action } from '@ngrx/store';\r\nimport {\r\n Answer,\r\n Field,\r\n LibraryQuestionPreview,\r\n ModulePreview,\r\n ModulePreviewResult,\r\n QuestionFieldPreview,\r\n Survey,\r\n SurveyUIState\r\n} from 'app/shared/models';\r\nimport { SurveyNavigationBookmark } from 'app/shared/survey-render/models';\r\nimport { TargetAction } from '../effects';\r\nimport { SurveyUITheme } from 'app/shared/models';\r\nexport enum Type {\r\n INIT_SURVEY_APP = '[SURVEY] INIT',\r\n LOAD_SURVEY_CONTENT = '[SURVEY] LOAD_SURVEY_CONTENT',\r\n LOAD_SURVEY_CONTENT_SUCCESS = '[SURVEY] LOAD_SURVEY_CONTENT_SUCCESS',\r\n LOAD_SURVEY_CONTENT_FAILURE = '[SURVEY] LOAD_SURVEY_CONTENT_FAILURE',\r\n LOAD_SURVEY_SURVEY_EXPIRED = '[SURVEY] LOAD_SURVEY_SURVEY_EXPIRED',\r\n LOAD_SURVEY_STATE = '[SURVEY] LOAD_SURVEY_STATE',\r\n LOAD_ANSWERS_DATABASE = '[SURVEY] LOAD_ANSWERS_DATABASE',\r\n LOAD_ANSWERS_DATABASE_SUCCESS = '[SURVEY] LOAD_ANSWERS_DATABASE_SUCCESS',\r\n SAVE_ANSWERS_DATABASE = '[SURVEY] SAVE_ANSWERS_DATABASE',\r\n SAVE_ANSWERS_DATABASE_SUCCESS = '[SURVEY] SAVE_ANSWERS_DATABASE_SUCCESS',\r\n SAVE_ANSWERS_DATABASE_FAILURE = '[SURVEY] SAVE_ANSWERS_DATABASE_FAILURE',\r\n START_SURVEY = '[SURVEY] START_SURVEY',\r\n SUBMIT_SURVEY = '[SURVEY] SUBMIT_SURVEY',\r\n SUBMIT_SURVEY_SUCCESS = '[SURVEY] SUBMIT_SURVEY_SUCCESS',\r\n SUBMIT_SURVEY_FAILURE = '[SURVEY] SUBMIT_SURVEY_FAILURE',\r\n NEXT_PAGE = '[SURVEY] NEXT_PAGE',\r\n PREVIOUS_PAGE = '[SURVEY] PREVIOUS_PAGE',\r\n REGISTER_ANSWER = '[SURVEY] REGISTER_ANSWER',\r\n REMOVE_ANSWER = '[SURVEY] REMOVE_ANSWER',\r\n SET_FAST_FORWARD_PAGE = '[SURVEY] SET_FAST_FORWARD_PAGE',\r\n FAST_FORWARD_PAGE = '[SURVEY] FAST_FORWARD_PAGE',\r\n GO_TO_PAGE = '[SURVEY] GO_TO_PAGE',\r\n GO_TO_PAGE_SUCCESS = '[SURVEY] GO_TO_PAGE_SUCCESS',\r\n GO_TO_PAGE_FAILURE = '[SURVEY] GO_TO_PAGE_FAILURE',\r\n SKIP_PAGE = '[SURVEY] SKIP_PAGE',\r\n CANCEL_SKIP = '[SURVEY] CANCEL_SKIP',\r\n LOAD_PREVIEW = '[SURVEY] LOAD_PREVIEW',\r\n LOAD_QUESTION_PREVIEW = '[SURVEY] LOAD_QUESTION_PREVIEW',\r\n LOAD_QUESTION_FIELD_PREVIEW = '[SURVEY] LOAD_QUESTION_FIELD_PREVIEW',\r\n SET_QUESTION_FIELD = '[EDIT_QUESTION_PREVIEW] SET QUESTION FIELD',\r\n LOAD_PREVIEW_SUCCESS = '[SURVEY] LOAD_PREVIEW_SUCCESS',\r\n CLEAR_STATE = '[SURVEY] CLEAR_STATE',\r\n SET_QUESTION_VISIBILITY = '[SURVEY] SET_QUESTION_VISIBILITY',\r\n SET_CONTENT_VISIBILITY = '[SURVEY] SET_CONTENT_VISIBILITY',\r\n SET_CHAPTER_VISIBILITY = '[SURVEY] SET_CHAPTER VISIBILITY',\r\n LOAD_CHAPTER_SUMMARY = '[SURVEY] LOAD_CHAPTER_SUMMARY',\r\n SETUP_SURVEY_CONTEXT = '[SURVEY] SETUP_SURVEY_CONTEXT',\r\n PREVIEW_THEME_SELECTED = '[SURVEY] PREVIEW_THEME_SELECTED',\r\n}\r\n\r\nexport class InitSurveyApp implements Action {\r\n readonly type = Type.INIT_SURVEY_APP;\r\n}\r\nexport class LoadSurveyContent implements Action {\r\n readonly type = Type.LOAD_SURVEY_CONTENT;\r\n constructor(public languageId?: number) { }\r\n}\r\nexport class LoadSurveyContentSuccess implements Action {\r\n readonly type = Type.LOAD_SURVEY_CONTENT_SUCCESS;\r\n constructor(public payload: Survey) { }\r\n}\r\n\r\nexport class LoadSurveySurveyExpired implements Action {\r\n readonly type = Type.LOAD_SURVEY_SURVEY_EXPIRED;\r\n constructor() { }\r\n}\r\n\r\nexport class LoadSurveyContentFailure implements Action {\r\n readonly type = Type.LOAD_SURVEY_CONTENT_FAILURE;\r\n constructor() { }\r\n}\r\nexport class LoadSurveyState implements Action {\r\n readonly type = Type.LOAD_SURVEY_STATE;\r\n constructor(public payload: SurveyUIState) { }\r\n}\r\nexport class LoadSurveyAnswersFromDatabase implements Action {\r\n readonly type = Type.LOAD_ANSWERS_DATABASE;\r\n constructor(public payload: Answer[]) { }\r\n}\r\nexport class LoadSurveyAnswersFromDatabaseSuccess implements Action {\r\n readonly type = Type.LOAD_ANSWERS_DATABASE_SUCCESS;\r\n constructor(public payload: Answer[]) { }\r\n}\r\nexport class StartSurvey implements Action {\r\n readonly type = Type.START_SURVEY;\r\n constructor() { }\r\n}\r\nexport class SubmitSurvey implements Action {\r\n readonly type = Type.SUBMIT_SURVEY;\r\n constructor() { }\r\n}\r\nexport class SubmitSurveySuccess implements Action {\r\n readonly type = Type.SUBMIT_SURVEY_SUCCESS;\r\n constructor() { }\r\n}\r\nexport class SubmitSurveyFailure implements Action {\r\n readonly type = Type.SUBMIT_SURVEY_FAILURE;\r\n constructor() { }\r\n}\r\n\r\nexport class NextPage implements Action {\r\n readonly type = Type.NEXT_PAGE;\r\n constructor() { }\r\n}\r\n\r\nexport class PreviousPage implements Action {\r\n readonly type = Type.PREVIOUS_PAGE;\r\n constructor() { }\r\n}\r\n\r\nexport class RegisterAnswer implements Action {\r\n readonly type = Type.REGISTER_ANSWER;\r\n constructor(public payload: Answer) { }\r\n}\r\n\r\nexport class RemoveAnswer implements Action {\r\n readonly type = Type.REMOVE_ANSWER;\r\n constructor(public payload: Pick) { }\r\n}\r\n\r\nexport class SetFastForwardPage implements Action {\r\n readonly type = Type.SET_FAST_FORWARD_PAGE;\r\n}\r\nexport class FastForwardPage implements Action {\r\n readonly type = Type.FAST_FORWARD_PAGE;\r\n constructor() { }\r\n}\r\nexport class GoToPage implements Action {\r\n readonly type = Type.GO_TO_PAGE;\r\n constructor(public payload: SurveyNavigationBookmark) { }\r\n}\r\nexport class GoToPageSuccess implements Action {\r\n readonly type = Type.GO_TO_PAGE_SUCCESS;\r\n constructor(public payload: SurveyNavigationBookmark) { }\r\n}\r\nexport class GoToPageFailure implements Action {\r\n readonly type = Type.GO_TO_PAGE_FAILURE;\r\n constructor(public err?: any) { }\r\n}\r\nexport class LoadPreview implements Action {\r\n readonly type = Type.LOAD_PREVIEW;\r\n constructor(public payload: ModulePreview) { }\r\n}\r\nexport class LoadQuestionPreview implements Action {\r\n readonly type = Type.LOAD_QUESTION_PREVIEW;\r\n constructor(public payload: LibraryQuestionPreview) { }\r\n}\r\nexport class LoadQuestionFieldPreview implements Action {\r\n readonly type = Type.LOAD_QUESTION_FIELD_PREVIEW;\r\n constructor(public payload: QuestionFieldPreview) { }\r\n}\r\n\r\nexport class SetQuestionFieldPreview implements Action {\r\n readonly type = Type.SET_QUESTION_FIELD;\r\n constructor(public payload: Field) { }\r\n}\r\n\r\nexport class LoadPreviewSuccess implements Action {\r\n readonly type = Type.LOAD_PREVIEW_SUCCESS;\r\n constructor(public payload: ModulePreviewResult) { }\r\n}\r\nexport class ClearState implements Action {\r\n readonly type = Type.CLEAR_STATE;\r\n constructor() { }\r\n}\r\nexport class SetQuestionVisibility implements Action {\r\n readonly type = Type.SET_QUESTION_VISIBILITY;\r\n constructor(public payload: TargetAction[]) { }\r\n}\r\n\r\nexport class SetContentVisibility implements Action {\r\n readonly type = Type.SET_CONTENT_VISIBILITY;\r\n constructor(public payload: { contentId: number, visible: boolean }) { }\r\n}\r\n\r\nexport class SetChapterVisibility implements Action {\r\n readonly type = Type.SET_CHAPTER_VISIBILITY;\r\n constructor(public payload: { pageGroupKey: string, visible: boolean }) { }\r\n}\r\nexport class LoadChapterSummary implements Action {\r\n readonly type = Type.LOAD_CHAPTER_SUMMARY;\r\n constructor(public payload: any) { }\r\n}\r\n\r\nexport class SkipPage implements Action {\r\n readonly type = Type.SKIP_PAGE;\r\n constructor(public payload: any) { }\r\n}\r\n\r\nexport class CancelSkip implements Action {\r\n readonly type = Type.CANCEL_SKIP;\r\n constructor() { }\r\n}\r\n\r\nexport class SaveAnswersDatabase implements Action {\r\n readonly type = Type.SAVE_ANSWERS_DATABASE;\r\n constructor(public payload: any) { }\r\n}\r\n\r\nexport class SaveAnswersDatabaseSuccess implements Action {\r\n readonly type = Type.SAVE_ANSWERS_DATABASE_SUCCESS;\r\n constructor() { }\r\n}\r\nexport class SaveAnswersDatabaseFailure implements Action {\r\n readonly type = Type.SAVE_ANSWERS_DATABASE_FAILURE;\r\n constructor(public error: any) { }\r\n}\r\n\r\nexport class SetupSurveyContext implements Action {\r\n readonly type = Type.SETUP_SURVEY_CONTEXT;\r\n}\r\n\r\nexport class PreviewThemeSelected implements Action {\r\n readonly type = Type.PREVIEW_THEME_SELECTED;\r\n constructor(public payload: SurveyUITheme) { }\r\n}\r\n\r\nexport type Actions =\r\n InitSurveyApp | LoadSurveyContent | LoadSurveyContentSuccess | LoadSurveyContentFailure | LoadSurveyState\r\n | StartSurvey | SubmitSurvey | SubmitSurveySuccess | SubmitSurveyFailure\r\n | NextPage | PreviousPage | SkipPage | CancelSkip | RegisterAnswer | FastForwardPage\r\n | GoToPage | GoToPageSuccess | GoToPageFailure\r\n | LoadPreview | LoadQuestionFieldPreview | LoadPreviewSuccess | ClearState\r\n | SetQuestionVisibility | SetContentVisibility | SetChapterVisibility | LoadChapterSummary | SetFastForwardPage\r\n | LoadSurveyAnswersFromDatabase | LoadSurveyAnswersFromDatabaseSuccess\r\n | RemoveAnswer\r\n | SaveAnswersDatabase | SaveAnswersDatabaseSuccess | SaveAnswersDatabaseFailure\r\n | LoadSurveySurveyExpired | SetupSurveyContext\r\n | PreviewThemeSelected\r\n | SetQuestionFieldPreview;\r\n","export enum LayoutType {\r\n QuestionPage = 'QuestionPage',\r\n ChapterPage = 'ChapterPage',\r\n ChapterSummaryPage = 'ChapterSummaryPage',\r\n WelcomePage = 'WelcomePage',\r\n SubmitPage = 'SubmitPage',\r\n DonePage = 'DonePage',\r\n AboutPage = 'AboutPage',\r\n SkipPage = 'SkipPage'\r\n}\r\n"],"mappings":"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","names":["_getDefaults","_defaults","changeDefaults","newDefaults","escapeTest","escapeReplace","escapeTestNoEncode","escapeReplaceNoEncode","escapeReplacements","getEscapeReplacement","ch","escape$1","html","encode","unescapeTest","unescape","_","caret","edit","regex","opt","source","obj","name","val","valSource","cleanUrl","href","noopTest","splitCells","tableRow","count","row","match","offset","str","escaped","curr","cells","rtrim","c","invert","l","suffLen","currChar","findClosingBracket","b","level","i","outputLink","cap","link","raw","lexer","title","text","token","indentCodeCompensation","matchIndentToCode","indentToCode","node","matchIndentInNode","indentInNode","_Tokenizer","options","src","trimmed","top","tokens","bull","isordered","list","itemRegex","itemContents","endsWithBlankLine","endEarly","line","t","nextLine","indent","blankLine","nextBulletRegex","hrRegex","fencesBeginRegex","headingBeginRegex","rawLine","istask","ischecked","spacers","hasMultipleLineBreaks","tag","headers","aligns","rows","item","align","header","cell","trimmedUrl","rtrimSlash","lastParenIndex","linkLen","links","linkString","maskedSrc","prevChar","lLength","rDelim","rLength","delimTotal","midDelimTotal","endReg","lastCharLength","hasNonSpaceChars","hasSpaceCharsOnBothEnds","prevCapZero","newline","blockCode","fences","hr","heading","bullet","lheading","_paragraph","blockText","_blockLabel","def","_tag","_comment","paragraph","blockquote","blockNormal","gfmTable","blockGfm","__spreadProps","__spreadValues","blockPedantic","escape","inlineCode","br","inlineText","_punctuation","punctuation","blockSkip","emStrongLDelim","emStrongRDelimAst","emStrongRDelimUnd","anyPunctuation","autolink","_inlineComment","_inlineLabel","reflink","nolink","reflinkSearch","inlineNormal","inlinePedantic","inlineGfm","inlineBreaks","block","inline","_Lexer","__Lexer","rules","next","leading","tabs","lastToken","cutSrc","lastParagraphClipped","extTokenizer","startIndex","tempSrc","tempStart","getStartIndex","errMsg","keepPrevChar","_Renderer","code","infostring","lang","quote","body","ordered","start","type","startatt","task","checked","content","flags","cleanHref","out","_TextRenderer","_Parser","__Parser","genericToken","ret","headingToken","codeToken","tableToken","j","k","blockquoteToken","listToken","loose","itemBody","checkbox","htmlToken","paragraphToken","textToken","renderer","escapeToken","tagToken","linkToken","imageToken","strongToken","emToken","codespanToken","delToken","_Hooks","markdown","Marked","#parseMarkdown","args","callback","values","childTokens","extensions","pack","opts","ext","prevRenderer","extLevel","prop","rendererProp","rendererFunc","tokenizer","tokenizerProp","tokenizerFunc","prevTokenizer","hooks","hooksProp","hooksFunc","prevHook","arg","walkTokens","packWalktokens","parser","origOpt","throwError","#onError","e","silent","async","msg","markedInstance","marked","setOptions","use","parseInline","parser","_Parser","lexer","_Lexer","BUTTON_TEXT_COPY","BUTTON_TEXT_COPIED","ClipboardButtonComponent","_ClipboardButtonComponent","Subject","switchMap","merge","of","timer","mapTo","distinctUntilChanged","shareReplay","startWith","map","copied","t","ɵɵdefineComponent","ɵɵStandaloneFeature","rf","ctx","ɵɵelementStart","ɵɵpipe","ɵɵlistener","ɵɵtext","ɵɵelementEnd","ɵɵclassProp","ɵɵpipeBind1","ɵɵadvance","ɵɵtextInterpolate","AsyncPipe","CLIPBOARD_OPTIONS","InjectionToken","MARKED_EXTENSIONS","InjectionToken","MARKED_OPTIONS","errorJoyPixelsNotLoaded","errorKatexNotLoaded","errorMermaidNotLoaded","errorClipboardNotLoaded","errorClipboardViewContainerRequired","errorSrcWithoutHttpClient","SECURITY_CONTEXT","MarkdownService","_MarkdownService","value","__spreadValues","clipboardOptions","extensions","options","platform","securityContext","http","sanitizer","_Renderer","Subject","markdown","parseOptions","decodeHtml","inline","emoji","mermaid","disableSanitizer","markedOptions","renderer","trimmed","decoded","emojified","marked","element","viewContainerRef","clipboard","katex","katexOptions","mermaidOptions","src","errorSrcWithoutHttpClient","map","isPlatformBrowser","noLanguageElements","x","html","textarea","extendedRenderer","defaultCode","code","language","isEscaped","urlProtocolIndex","urlWithoutProtocol","lastSlashIndex","lastUrlSegment","lastDotIndex","extension","errorJoyPixelsNotLoaded","errorKatexNotLoaded","errorClipboardNotLoaded","errorClipboardViewContainerRequired","buttonComponent","buttonTemplate","preElements","i","preElement","preWrapperElement","toolbarWrapperElement","embeddedViewRef","componentRef","ClipboardButtonComponent","clipboardInstance","node","errorMermaidNotLoaded","mermaidElements","indentStart","line","lineIdentStart","t","ɵɵinject","CLIPBOARD_OPTIONS","MARKED_EXTENSIONS","MARKED_OPTIONS","PLATFORM_ID","SECURITY_CONTEXT","HttpClient","DomSanitizer","ɵɵdefineInjectable","MarkdownPipe","_MarkdownPipe","domSanitizer","elementRef","markdownService","viewContainerRef","zone","value","options","__async","markdown","first","t","ɵɵdirectiveInject","DomSanitizer","ElementRef","MarkdownService","ViewContainerRef","NgZone","ɵɵdefinePipe","provideMarkdown","markdownModuleConfig","MARKED_EXTENSIONS","SECURITY_CONTEXT","SecurityContext","MarkdownModule","_MarkdownModule","markdownModuleConfig","provideMarkdown","t","ɵɵdefineNgModule","ɵɵdefineInjector","CommonModule","MermaidAPI","SecurityLevel","Theme","LogLevel","Type","InitSurveyApp","constructor","type","INIT_SURVEY_APP","LoadSurveyContentSuccess","constructor","payload","type","Type","LOAD_SURVEY_CONTENT_SUCCESS","LoadSurveySurveyExpired","LOAD_SURVEY_SURVEY_EXPIRED","LoadSurveyAnswersFromDatabase","constructor","payload","type","Type","LOAD_ANSWERS_DATABASE","LoadSurveyAnswersFromDatabaseSuccess","LOAD_ANSWERS_DATABASE_SUCCESS","StartSurvey","START_SURVEY","SubmitSurvey","SUBMIT_SURVEY","SubmitSurveySuccess","SUBMIT_SURVEY_SUCCESS","SubmitSurveyFailure","SUBMIT_SURVEY_FAILURE","NextPage","NEXT_PAGE","PreviousPage","PREVIOUS_PAGE","RegisterAnswer","REGISTER_ANSWER","RemoveAnswer","REMOVE_ANSWER","SetFastForwardPage","SET_FAST_FORWARD_PAGE","FastForwardPage","FAST_FORWARD_PAGE","GoToPage","GO_TO_PAGE","GoToPageSuccess","GO_TO_PAGE_SUCCESS","GoToPageFailure","err","GO_TO_PAGE_FAILURE","LoadPreview","LOAD_PREVIEW","LoadQuestionPreview","LOAD_QUESTION_PREVIEW","LoadQuestionFieldPreview","LOAD_QUESTION_FIELD_PREVIEW","SetQuestionFieldPreview","SET_QUESTION_FIELD","LoadPreviewSuccess","LOAD_PREVIEW_SUCCESS","ClearState","CLEAR_STATE","SetQuestionVisibility","SET_QUESTION_VISIBILITY","SetContentVisibility","SET_CONTENT_VISIBILITY","SetChapterVisibility","SET_CHAPTER_VISIBILITY","LoadChapterSummary","LOAD_CHAPTER_SUMMARY","CancelSkip","constructor","type","Type","CANCEL_SKIP","SaveAnswersDatabase","payload","SAVE_ANSWERS_DATABASE","SaveAnswersDatabaseSuccess","SAVE_ANSWERS_DATABASE_SUCCESS","SaveAnswersDatabaseFailure","error","SAVE_ANSWERS_DATABASE_FAILURE","SetupSurveyContext","SETUP_SURVEY_CONTEXT","PreviewThemeSelected","PREVIEW_THEME_SELECTED","LayoutType"],"x_google_ignoreList":[0,1]}