{"version":3,"file":"static/js/vendors-f82e0cd2.e2f7a529.js","mappings":"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,MACA,MACA,KACA,KACA,UACA,KACA,WACA,aACA,SACA,OACA,SACA,OACA,KACA,KACA,KACA,KACA,KACA,KACA,OACA,SACA,SACA,KACA,OACA,IACA,MACA,QACA,MACA,MACA,QACA,SACA,KACA,OACA,MACA,OACA,UACA,OACA,WACA,QACA,MACA,OACA,KACA,WACA,SACA,SACA,IACA,UACA,MACA,WACA,IACA,KACA,KACA,OACA,IACA,OACA,UACA,SACA,SACA,QACA,SACA,SACA,OACA,SACA,SACA,QACA,MACA,UACA,MACA,QACA,QACA,KACA,WACA,WACA,QACA,KACA,QACA,OACA,KACA,QACA,KACA,IACA,KACA,MACA,QACA,QAIWoE,EAAMpE,EAAO,CACxB,MACA,IACA,WACA,cACA,eACA,eACA,gBACA,mBACA,SACA,WACA,OACA,OACA,UACA,SACA,OACA,IACA,QACA,WACA,QACA,QACA,OACA,iBACA,SACA,OACA,WACA,QACA,OACA,UACA,UACA,WACA,iBACA,OACA,OACA,QACA,SACA,SACA,OACA,WACA,QACA,OACA,QACA,OACA,UAGWqE,EAAarE,EAAO,CAC/B,UACA,gBACA,sBACA,cACA,mBACA,oBACA,oBACA,iBACA,UACA,UACA,UACA,UACA,UACA,iBACA,UACA,UACA,cACA,eACA,WACA,eACA,qBACA,cACA,SACA,iBAOWsE,EAAgBtE,EAAO,CAClC,UACA,gBACA,SACA,UACA,eACA,YACA,mBACA,iBACA,gBACA,gBACA,gBACA,QACA,YACA,OACA,eACA,YACA,UACA,gBACA,SACA,MACA,aACA,UACA,QAGWuE,EAASvE,EAAO,CAC3B,OACA,WACA,SACA,UACA,QACA,SACA,KACA,aACA,gBACA,KACA,KACA,QACA,UACA,WACA,QACA,OACA,KACA,SACA,QACA,SACA,OACA,OACA,UACA,SACA,MACA,QACA,MACA,SACA,eAKWwE,EAAmBxE,EAAO,CACrC,UACA,cACA,aACA,WACA,YACA,UACA,UACA,SACA,SACA,QACA,YACA,aACA,iBACA,cACA,SAGWyE,EAAOzE,EAAO,CAAC,UCpRf0E,EAAO1E,EAAO,CACzB,SACA,SACA,QACA,MACA,iBACA,eACA,uBACA,WACA,aACA,UACA,SACA,UACA,cACA,cACA,UACA,OACA,QACA,QACA,QACA,OACA,UACA,WACA,eACA,SACA,cACA,WACA,WACA,UACA,MACA,WACA,0BACA,wBACA,WACA,YACA,UACA,eACA,OACA,MACA,UACA,SACA,SACA,OACA,OACA,WACA,KACA,YACA,YACA,QACA,OACA,QACA,OACA,OACA,UACA,OACA,MACA,MACA,YACA,QACA,SACA,MACA,YACA,WACA,QACA,OACA,QACA,UACA,aACA,SACA,OACA,UACA,UACA,cACA,cACA,SACA,UACA,UACA,aACA,WACA,MACA,WACA,MACA,WACA,OACA,OACA,UACA,aACA,QACA,WACA,QACA,OACA,QACA,OACA,UACA,QACA,MACA,SACA,OACA,QACA,UACA,WACA,QACA,YACA,OACA,SACA,SACA,QACA,QACA,QACA,SAGW2E,EAAM3E,EAAO,CACxB,gBACA,aACA,WACA,qBACA,SACA,gBACA,gBACA,UACA,gBACA,iBACA,QACA,OACA,KACA,QACA,OACA,gBACA,YACA,YACA,QACA,sBACA,8BACA,gBACA,kBACA,KACA,KACA,IACA,KACA,KACA,kBACA,YACA,UACA,UACA,MACA,WACA,YACA,MACA,OACA,eACA,YACA,SACA,cACA,cACA,gBACA,cACA,YACA,mBACA,eACA,aACA,eACA,cACA,KACA,KACA,KACA,KACA,aACA,WACA,gBACA,oBACA,SACA,OACA,KACA,kBACA,KACA,MACA,IACA,KACA,KACA,KACA,KACA,UACA,YACA,aACA,WACA,OACA,eACA,iBACA,eACA,mBACA,iBACA,QACA,aACA,aACA,eACA,eACA,cACA,cACA,mBACA,YACA,MACA,OACA,QACA,SACA,OACA,MACA,OACA,aACA,SACA,WACA,UACA,QACA,SACA,cACA,SACA,WACA,cACA,OACA,aACA,sBACA,mBACA,eACA,SACA,gBACA,sBACA,iBACA,IACA,KACA,KACA,SACA,OACA,OACA,cACA,YACA,UACA,SACA,SACA,QACA,OACA,kBACA,mBACA,mBACA,eACA,cACA,eACA,cACA,aACA,eACA,mBACA,oBACA,iBACA,kBACA,oBACA,iBACA,SACA,eACA,QACA,eACA,iBACA,WACA,UACA,UACA,YACA,mBACA,cACA,kBACA,iBACA,aACA,OACA,KACA,KACA,UACA,SACA,UACA,aACA,UACA,aACA,gBACA,gBACA,QACA,eACA,OACA,eACA,mBACA,mBACA,IACA,KACA,KACA,QACA,IACA,KACA,KACA,IACA,eAGW4E,EAAS5E,EAAO,CAC3B,SACA,cACA,QACA,WACA,QACA,eACA,cACA,aACA,aACA,QACA,MACA,UACA,eACA,WACA,QACA,QACA,SACA,OACA,KACA,UACA,SACA,gBACA,SACA,SACA,iBACA,YACA,WACA,cACA,UACA,UACA,gBACA,WACA,WACA,OACA,WACA,WACA,aACA,UACA,SACA,SACA,cACA,gBACA,uBACA,YACA,YACA,aACA,WACA,iBACA,iBACA,YACA,UACA,QACA,UAGW6E,EAAM7E,EAAO,CACxB,aACA,SACA,cACA,YACA,gBCrWW8E,EAAgB7E,EAAK,6BACrB8E,EAAW9E,EAAK,yBAChB+E,EAAc/E,EAAK,iBACnBgF,EAAYhF,EAAK,gCACjBiF,EAAYjF,EAAK,kBACjBkF,EAAiBlF,EAC5B,yFAEWmF,GAAoBnF,EAAK,yBACzBoF,GAAkBpF,EAC7B,+DAEWqF,GAAerF,EAAK,WACpBsF,GAAiBtF,EAAK,4BCK7BuF,GAAY,WAAH,MAA4B,oBAAXjG,OAAyB,KAAOA,MAAM,EAUhEkG,GAA4B,SAAUC,EAAclG,GACxD,GAC0B,WAAxBR,EAAO0G,IAC8B,mBAA9BA,EAAaC,aAEpB,OAAO,KAMT,IAAIC,EAAS,KACPC,EAAY,wBAEhBrG,EAASsG,eACTtG,EAASsG,cAAcC,aAAaF,KAEpCD,EAASpG,EAASsG,cAAcE,aAAaH,IAG/C,IAAMI,EAAa,aAAeL,EAAS,IAAMA,EA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","sources":["../node_modules/is-in-browser/dist/module.js","../node_modules/jspdf/node_modules/dompurify/src/utils.js","../node_modules/jspdf/node_modules/dompurify/src/tags.js","../node_modules/jspdf/node_modules/dompurify/src/attrs.js","../node_modules/jspdf/node_modules/dompurify/src/regexp.js","../node_modules/jspdf/node_modules/dompurify/src/purify.js","../node_modules/jss-plugin-camel-case/dist/jss-plugin-camel-case.esm.js","../node_modules/jss-plugin-default-unit/dist/jss-plugin-default-unit.esm.js","../node_modules/jss-plugin-global/dist/jss-plugin-global.esm.js","../node_modules/jss-plugin-nested/dist/jss-plugin-nested.esm.js","../node_modules/jss-plugin-props-sort/dist/jss-plugin-props-sort.esm.js","../node_modules/jss-plugin-rule-value-function/dist/jss-plugin-rule-value-function.esm.js","../node_modules/jss-plugin-vendor-prefixer/dist/jss-plugin-vendor-prefixer.esm.js","../node_modules/jss/dist/jss.esm.js"],"sourcesContent":["var _typeof = typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; };\n\nexport var isBrowser = (typeof window === \"undefined\" ? \"undefined\" : _typeof(window)) === \"object\" && (typeof document === \"undefined\" ? \"undefined\" : _typeof(document)) === 'object' && document.nodeType === 9;\n\nexport default isBrowser;\n","const {\n hasOwnProperty,\n setPrototypeOf,\n isFrozen,\n getPrototypeOf,\n getOwnPropertyDescriptor,\n} = Object;\n\nlet { freeze, seal, create } = Object; // eslint-disable-line import/no-mutable-exports\nlet { apply, construct } = typeof Reflect !== 'undefined' && Reflect;\n\nif (!apply) {\n apply = function (fun, thisValue, args) {\n return fun.apply(thisValue, args);\n };\n}\n\nif (!freeze) {\n freeze = function (x) {\n return x;\n };\n}\n\nif (!seal) {\n seal = function (x) {\n return x;\n };\n}\n\nif (!construct) {\n construct = function (Func, args) {\n return new Func(...args);\n };\n}\n\nconst arrayForEach = unapply(Array.prototype.forEach);\nconst arrayIndexOf = unapply(Array.prototype.indexOf);\nconst arrayPop = unapply(Array.prototype.pop);\nconst arrayPush = unapply(Array.prototype.push);\nconst arraySlice = unapply(Array.prototype.slice);\n\nconst stringToLowerCase = unapply(String.prototype.toLowerCase);\nconst stringToString = unapply(String.prototype.toString);\nconst stringMatch = unapply(String.prototype.match);\nconst stringReplace = unapply(String.prototype.replace);\nconst stringIndexOf = unapply(String.prototype.indexOf);\nconst stringTrim = unapply(String.prototype.trim);\n\nconst regExpTest = unapply(RegExp.prototype.test);\n\nconst typeErrorCreate = unconstruct(TypeError);\n\nexport function unapply(func) {\n return (thisArg, ...args) => apply(func, thisArg, args);\n}\n\nexport function unconstruct(func) {\n return (...args) => construct(func, args);\n}\n\n/* Add properties to a lookup table */\nexport function addToSet(set, array, transformCaseFunc) {\n transformCaseFunc = transformCaseFunc ?? stringToLowerCase;\n if (setPrototypeOf) {\n // Make 'in' and truthy checks like Boolean(set.constructor)\n // independent of any properties defined on Object.prototype.\n // Prevent prototype setters from intercepting set as a this value.\n setPrototypeOf(set, null);\n }\n\n let l = array.length;\n while (l--) {\n let element = array[l];\n if (typeof element === 'string') {\n const lcElement = transformCaseFunc(element);\n if (lcElement !== element) {\n // Config presets (e.g. tags.js, attrs.js) are immutable.\n if (!isFrozen(array)) {\n array[l] = lcElement;\n }\n\n element = lcElement;\n }\n }\n\n set[element] = true;\n }\n\n return set;\n}\n\n/* Shallow clone an object */\nexport function clone(object) {\n const newObject = create(null);\n\n let property;\n for (property in object) {\n if (apply(hasOwnProperty, object, [property]) === true) {\n newObject[property] = object[property];\n }\n }\n\n return newObject;\n}\n\n/* IE10 doesn't support __lookupGetter__ so lets'\n * simulate it. It also automatically checks\n * if the prop is function or getter and behaves\n * accordingly. */\nfunction lookupGetter(object, prop) {\n while (object !== null) {\n const desc = getOwnPropertyDescriptor(object, prop);\n if (desc) {\n if (desc.get) {\n return unapply(desc.get);\n }\n\n if (typeof desc.value === 'function') {\n return unapply(desc.value);\n }\n }\n\n object = getPrototypeOf(object);\n }\n\n function fallbackValue(element) {\n console.warn('fallback value for', element);\n return null;\n }\n\n return fallbackValue;\n}\n\nexport {\n // Array\n arrayForEach,\n arrayIndexOf,\n arrayPop,\n arrayPush,\n arraySlice,\n // Object\n freeze,\n getPrototypeOf,\n getOwnPropertyDescriptor,\n hasOwnProperty,\n isFrozen,\n setPrototypeOf,\n seal,\n // RegExp\n regExpTest,\n // String\n stringIndexOf,\n stringMatch,\n stringReplace,\n stringToLowerCase,\n stringToString,\n stringTrim,\n // Errors\n typeErrorCreate,\n // Other\n lookupGetter,\n};\n","import { freeze } from './utils.js';\n\nexport const html = freeze([\n 'a',\n 'abbr',\n 'acronym',\n 'address',\n 'area',\n 'article',\n 'aside',\n 'audio',\n 'b',\n 'bdi',\n 'bdo',\n 'big',\n 'blink',\n 'blockquote',\n 'body',\n 'br',\n 'button',\n 'canvas',\n 'caption',\n 'center',\n 'cite',\n 'code',\n 'col',\n 'colgroup',\n 'content',\n 'data',\n 'datalist',\n 'dd',\n 'decorator',\n 'del',\n 'details',\n 'dfn',\n 'dialog',\n 'dir',\n 'div',\n 'dl',\n 'dt',\n 'element',\n 'em',\n 'fieldset',\n 'figcaption',\n 'figure',\n 'font',\n 'footer',\n 'form',\n 'h1',\n 'h2',\n 'h3',\n 'h4',\n 'h5',\n 'h6',\n 'head',\n 'header',\n 'hgroup',\n 'hr',\n 'html',\n 'i',\n 'img',\n 'input',\n 'ins',\n 'kbd',\n 'label',\n 'legend',\n 'li',\n 'main',\n 'map',\n 'mark',\n 'marquee',\n 'menu',\n 'menuitem',\n 'meter',\n 'nav',\n 'nobr',\n 'ol',\n 'optgroup',\n 'option',\n 'output',\n 'p',\n 'picture',\n 'pre',\n 'progress',\n 'q',\n 'rp',\n 'rt',\n 'ruby',\n 's',\n 'samp',\n 'section',\n 'select',\n 'shadow',\n 'small',\n 'source',\n 'spacer',\n 'span',\n 'strike',\n 'strong',\n 'style',\n 'sub',\n 'summary',\n 'sup',\n 'table',\n 'tbody',\n 'td',\n 'template',\n 'textarea',\n 'tfoot',\n 'th',\n 'thead',\n 'time',\n 'tr',\n 'track',\n 'tt',\n 'u',\n 'ul',\n 'var',\n 'video',\n 'wbr',\n]);\n\n// SVG\nexport const svg = freeze([\n 'svg',\n 'a',\n 'altglyph',\n 'altglyphdef',\n 'altglyphitem',\n 'animatecolor',\n 'animatemotion',\n 'animatetransform',\n 'circle',\n 'clippath',\n 'defs',\n 'desc',\n 'ellipse',\n 'filter',\n 'font',\n 'g',\n 'glyph',\n 'glyphref',\n 'hkern',\n 'image',\n 'line',\n 'lineargradient',\n 'marker',\n 'mask',\n 'metadata',\n 'mpath',\n 'path',\n 'pattern',\n 'polygon',\n 'polyline',\n 'radialgradient',\n 'rect',\n 'stop',\n 'style',\n 'switch',\n 'symbol',\n 'text',\n 'textpath',\n 'title',\n 'tref',\n 'tspan',\n 'view',\n 'vkern',\n]);\n\nexport const svgFilters = freeze([\n 'feBlend',\n 'feColorMatrix',\n 'feComponentTransfer',\n 'feComposite',\n 'feConvolveMatrix',\n 'feDiffuseLighting',\n 'feDisplacementMap',\n 'feDistantLight',\n 'feFlood',\n 'feFuncA',\n 'feFuncB',\n 'feFuncG',\n 'feFuncR',\n 'feGaussianBlur',\n 'feImage',\n 'feMerge',\n 'feMergeNode',\n 'feMorphology',\n 'feOffset',\n 'fePointLight',\n 'feSpecularLighting',\n 'feSpotLight',\n 'feTile',\n 'feTurbulence',\n]);\n\n// List of SVG elements that are disallowed by default.\n// We still need to know them so that we can do namespace\n// checks properly in case one wants to add them to\n// allow-list.\nexport const svgDisallowed = freeze([\n 'animate',\n 'color-profile',\n 'cursor',\n 'discard',\n 'fedropshadow',\n 'font-face',\n 'font-face-format',\n 'font-face-name',\n 'font-face-src',\n 'font-face-uri',\n 'foreignobject',\n 'hatch',\n 'hatchpath',\n 'mesh',\n 'meshgradient',\n 'meshpatch',\n 'meshrow',\n 'missing-glyph',\n 'script',\n 'set',\n 'solidcolor',\n 'unknown',\n 'use',\n]);\n\nexport const mathMl = freeze([\n 'math',\n 'menclose',\n 'merror',\n 'mfenced',\n 'mfrac',\n 'mglyph',\n 'mi',\n 'mlabeledtr',\n 'mmultiscripts',\n 'mn',\n 'mo',\n 'mover',\n 'mpadded',\n 'mphantom',\n 'mroot',\n 'mrow',\n 'ms',\n 'mspace',\n 'msqrt',\n 'mstyle',\n 'msub',\n 'msup',\n 'msubsup',\n 'mtable',\n 'mtd',\n 'mtext',\n 'mtr',\n 'munder',\n 'munderover',\n]);\n\n// Similarly to SVG, we want to know all MathML elements,\n// even those that we disallow by default.\nexport const mathMlDisallowed = freeze([\n 'maction',\n 'maligngroup',\n 'malignmark',\n 'mlongdiv',\n 'mscarries',\n 'mscarry',\n 'msgroup',\n 'mstack',\n 'msline',\n 'msrow',\n 'semantics',\n 'annotation',\n 'annotation-xml',\n 'mprescripts',\n 'none',\n]);\n\nexport const text = freeze(['#text']);\n","import { freeze } from './utils.js';\n\nexport const html = freeze([\n 'accept',\n 'action',\n 'align',\n 'alt',\n 'autocapitalize',\n 'autocomplete',\n 'autopictureinpicture',\n 'autoplay',\n 'background',\n 'bgcolor',\n 'border',\n 'capture',\n 'cellpadding',\n 'cellspacing',\n 'checked',\n 'cite',\n 'class',\n 'clear',\n 'color',\n 'cols',\n 'colspan',\n 'controls',\n 'controlslist',\n 'coords',\n 'crossorigin',\n 'datetime',\n 'decoding',\n 'default',\n 'dir',\n 'disabled',\n 'disablepictureinpicture',\n 'disableremoteplayback',\n 'download',\n 'draggable',\n 'enctype',\n 'enterkeyhint',\n 'face',\n 'for',\n 'headers',\n 'height',\n 'hidden',\n 'high',\n 'href',\n 'hreflang',\n 'id',\n 'inputmode',\n 'integrity',\n 'ismap',\n 'kind',\n 'label',\n 'lang',\n 'list',\n 'loading',\n 'loop',\n 'low',\n 'max',\n 'maxlength',\n 'media',\n 'method',\n 'min',\n 'minlength',\n 'multiple',\n 'muted',\n 'name',\n 'nonce',\n 'noshade',\n 'novalidate',\n 'nowrap',\n 'open',\n 'optimum',\n 'pattern',\n 'placeholder',\n 'playsinline',\n 'poster',\n 'preload',\n 'pubdate',\n 'radiogroup',\n 'readonly',\n 'rel',\n 'required',\n 'rev',\n 'reversed',\n 'role',\n 'rows',\n 'rowspan',\n 'spellcheck',\n 'scope',\n 'selected',\n 'shape',\n 'size',\n 'sizes',\n 'span',\n 'srclang',\n 'start',\n 'src',\n 'srcset',\n 'step',\n 'style',\n 'summary',\n 'tabindex',\n 'title',\n 'translate',\n 'type',\n 'usemap',\n 'valign',\n 'value',\n 'width',\n 'xmlns',\n 'slot',\n]);\n\nexport const svg = freeze([\n 'accent-height',\n 'accumulate',\n 'additive',\n 'alignment-baseline',\n 'ascent',\n 'attributename',\n 'attributetype',\n 'azimuth',\n 'basefrequency',\n 'baseline-shift',\n 'begin',\n 'bias',\n 'by',\n 'class',\n 'clip',\n 'clippathunits',\n 'clip-path',\n 'clip-rule',\n 'color',\n 'color-interpolation',\n 'color-interpolation-filters',\n 'color-profile',\n 'color-rendering',\n 'cx',\n 'cy',\n 'd',\n 'dx',\n 'dy',\n 'diffuseconstant',\n 'direction',\n 'display',\n 'divisor',\n 'dur',\n 'edgemode',\n 'elevation',\n 'end',\n 'fill',\n 'fill-opacity',\n 'fill-rule',\n 'filter',\n 'filterunits',\n 'flood-color',\n 'flood-opacity',\n 'font-family',\n 'font-size',\n 'font-size-adjust',\n 'font-stretch',\n 'font-style',\n 'font-variant',\n 'font-weight',\n 'fx',\n 'fy',\n 'g1',\n 'g2',\n 'glyph-name',\n 'glyphref',\n 'gradientunits',\n 'gradienttransform',\n 'height',\n 'href',\n 'id',\n 'image-rendering',\n 'in',\n 'in2',\n 'k',\n 'k1',\n 'k2',\n 'k3',\n 'k4',\n 'kerning',\n 'keypoints',\n 'keysplines',\n 'keytimes',\n 'lang',\n 'lengthadjust',\n 'letter-spacing',\n 'kernelmatrix',\n 'kernelunitlength',\n 'lighting-color',\n 'local',\n 'marker-end',\n 'marker-mid',\n 'marker-start',\n 'markerheight',\n 'markerunits',\n 'markerwidth',\n 'maskcontentunits',\n 'maskunits',\n 'max',\n 'mask',\n 'media',\n 'method',\n 'mode',\n 'min',\n 'name',\n 'numoctaves',\n 'offset',\n 'operator',\n 'opacity',\n 'order',\n 'orient',\n 'orientation',\n 'origin',\n 'overflow',\n 'paint-order',\n 'path',\n 'pathlength',\n 'patterncontentunits',\n 'patterntransform',\n 'patternunits',\n 'points',\n 'preservealpha',\n 'preserveaspectratio',\n 'primitiveunits',\n 'r',\n 'rx',\n 'ry',\n 'radius',\n 'refx',\n 'refy',\n 'repeatcount',\n 'repeatdur',\n 'restart',\n 'result',\n 'rotate',\n 'scale',\n 'seed',\n 'shape-rendering',\n 'specularconstant',\n 'specularexponent',\n 'spreadmethod',\n 'startoffset',\n 'stddeviation',\n 'stitchtiles',\n 'stop-color',\n 'stop-opacity',\n 'stroke-dasharray',\n 'stroke-dashoffset',\n 'stroke-linecap',\n 'stroke-linejoin',\n 'stroke-miterlimit',\n 'stroke-opacity',\n 'stroke',\n 'stroke-width',\n 'style',\n 'surfacescale',\n 'systemlanguage',\n 'tabindex',\n 'targetx',\n 'targety',\n 'transform',\n 'transform-origin',\n 'text-anchor',\n 'text-decoration',\n 'text-rendering',\n 'textlength',\n 'type',\n 'u1',\n 'u2',\n 'unicode',\n 'values',\n 'viewbox',\n 'visibility',\n 'version',\n 'vert-adv-y',\n 'vert-origin-x',\n 'vert-origin-y',\n 'width',\n 'word-spacing',\n 'wrap',\n 'writing-mode',\n 'xchannelselector',\n 'ychannelselector',\n 'x',\n 'x1',\n 'x2',\n 'xmlns',\n 'y',\n 'y1',\n 'y2',\n 'z',\n 'zoomandpan',\n]);\n\nexport const mathMl = freeze([\n 'accent',\n 'accentunder',\n 'align',\n 'bevelled',\n 'close',\n 'columnsalign',\n 'columnlines',\n 'columnspan',\n 'denomalign',\n 'depth',\n 'dir',\n 'display',\n 'displaystyle',\n 'encoding',\n 'fence',\n 'frame',\n 'height',\n 'href',\n 'id',\n 'largeop',\n 'length',\n 'linethickness',\n 'lspace',\n 'lquote',\n 'mathbackground',\n 'mathcolor',\n 'mathsize',\n 'mathvariant',\n 'maxsize',\n 'minsize',\n 'movablelimits',\n 'notation',\n 'numalign',\n 'open',\n 'rowalign',\n 'rowlines',\n 'rowspacing',\n 'rowspan',\n 'rspace',\n 'rquote',\n 'scriptlevel',\n 'scriptminsize',\n 'scriptsizemultiplier',\n 'selection',\n 'separator',\n 'separators',\n 'stretchy',\n 'subscriptshift',\n 'supscriptshift',\n 'symmetric',\n 'voffset',\n 'width',\n 'xmlns',\n]);\n\nexport const xml = freeze([\n 'xlink:href',\n 'xml:id',\n 'xlink:title',\n 'xml:space',\n 'xmlns:xlink',\n]);\n","import { seal } from './utils.js';\n\n// eslint-disable-next-line unicorn/better-regex\nexport const MUSTACHE_EXPR = seal(/\\{\\{[\\w\\W]*|[\\w\\W]*\\}\\}/gm); // Specify template detection regex for SAFE_FOR_TEMPLATES mode\nexport const ERB_EXPR = seal(/<%[\\w\\W]*|[\\w\\W]*%>/gm);\nexport const TMPLIT_EXPR = seal(/\\${[\\w\\W]*}/gm);\nexport const DATA_ATTR = seal(/^data-[\\-\\w.\\u00B7-\\uFFFF]+$/); // eslint-disable-line no-useless-escape\nexport const ARIA_ATTR = seal(/^aria-[\\-\\w]+$/); // eslint-disable-line no-useless-escape\nexport const IS_ALLOWED_URI = seal(\n /^(?:(?:(?:f|ht)tps?|mailto|tel|callto|cid|xmpp):|[^a-z]|[a-z+.\\-]+(?:[^a-z+.\\-:]|$))/i // eslint-disable-line no-useless-escape\n);\nexport const IS_SCRIPT_OR_DATA = seal(/^(?:\\w+script|data):/i);\nexport const ATTR_WHITESPACE = seal(\n /[\\u0000-\\u0020\\u00A0\\u1680\\u180E\\u2000-\\u2029\\u205F\\u3000]/g // eslint-disable-line no-control-regex\n);\nexport const DOCTYPE_NAME = seal(/^html$/i);\nexport const CUSTOM_ELEMENT = seal(/^[a-z][.\\w]*(-[.\\w]+)+$/i);\n","import * as TAGS from './tags.js';\nimport * as ATTRS from './attrs.js';\nimport * as EXPRESSIONS from './regexp.js';\nimport {\n addToSet,\n clone,\n freeze,\n arrayForEach,\n arrayPop,\n arrayPush,\n stringMatch,\n stringReplace,\n stringToLowerCase,\n stringToString,\n stringIndexOf,\n stringTrim,\n regExpTest,\n typeErrorCreate,\n lookupGetter,\n} from './utils.js';\n\nconst getGlobal = () => (typeof window === 'undefined' ? null : window);\n\n/**\n * Creates a no-op policy for internal use only.\n * Don't export this function outside this module!\n * @param {?TrustedTypePolicyFactory} trustedTypes The policy factory.\n * @param {Document} document The document object (to determine policy name suffix)\n * @return {?TrustedTypePolicy} The policy created (or null, if Trusted Types\n * are not supported).\n */\nconst _createTrustedTypesPolicy = function (trustedTypes, document) {\n if (\n typeof trustedTypes !== 'object' ||\n typeof trustedTypes.createPolicy !== 'function'\n ) {\n return null;\n }\n\n // Allow the callers to control the unique policy name\n // by adding a data-tt-policy-suffix to the script element with the DOMPurify.\n // Policy creation with duplicate names throws in Trusted Types.\n let suffix = null;\n const ATTR_NAME = 'data-tt-policy-suffix';\n if (\n document.currentScript &&\n document.currentScript.hasAttribute(ATTR_NAME)\n ) {\n suffix = document.currentScript.getAttribute(ATTR_NAME);\n }\n\n const policyName = 'dompurify' + (suffix ? '#' + suffix : '');\n\n try {\n return trustedTypes.createPolicy(policyName, {\n createHTML(html) {\n return html;\n },\n createScriptURL(scriptUrl) {\n return scriptUrl;\n },\n });\n } catch (_) {\n // Policy creation failed (most likely another DOMPurify script has\n // already run). Skip creating the policy, as this will only cause errors\n // if TT are enforced.\n console.warn(\n 'TrustedTypes policy ' + policyName + ' could not be created.'\n );\n return null;\n }\n};\n\nfunction createDOMPurify(window = getGlobal()) {\n const DOMPurify = (root) => createDOMPurify(root);\n\n /**\n * Version label, exposed for easier checks\n * if DOMPurify is up to date or not\n */\n DOMPurify.version = VERSION;\n\n /**\n * Array of elements that DOMPurify removed during sanitation.\n * Empty if nothing was removed.\n */\n DOMPurify.removed = [];\n\n if (!window || !window.document || window.document.nodeType !== 9) {\n // Not running in a browser, provide a factory function\n // so that you can pass your own Window\n DOMPurify.isSupported = false;\n\n return DOMPurify;\n }\n\n const originalDocument = window.document;\n\n let { document } = window;\n const {\n DocumentFragment,\n HTMLTemplateElement,\n Node,\n Element,\n NodeFilter,\n NamedNodeMap = window.NamedNodeMap || window.MozNamedAttrMap,\n HTMLFormElement,\n DOMParser,\n trustedTypes,\n } = window;\n\n const ElementPrototype = Element.prototype;\n\n const cloneNode = lookupGetter(ElementPrototype, 'cloneNode');\n const getNextSibling = lookupGetter(ElementPrototype, 'nextSibling');\n const getChildNodes = lookupGetter(ElementPrototype, 'childNodes');\n const getParentNode = lookupGetter(ElementPrototype, 'parentNode');\n\n // As per issue #47, the web-components registry is inherited by a\n // new document created via createHTMLDocument. As per the spec\n // (http://w3c.github.io/webcomponents/spec/custom/#creating-and-passing-registries)\n // a new empty registry is used when creating a template contents owner\n // document, so we use that as our parent document to ensure nothing\n // is inherited.\n if (typeof HTMLTemplateElement === 'function') {\n const template = document.createElement('template');\n if (template.content && template.content.ownerDocument) {\n document = template.content.ownerDocument;\n }\n }\n\n const trustedTypesPolicy = _createTrustedTypesPolicy(\n trustedTypes,\n originalDocument\n );\n const emptyHTML = trustedTypesPolicy ? trustedTypesPolicy.createHTML('') : '';\n\n const {\n implementation,\n createNodeIterator,\n createDocumentFragment,\n getElementsByTagName,\n } = document;\n const { importNode } = originalDocument;\n\n let documentMode = {};\n try {\n documentMode = clone(document).documentMode ? document.documentMode : {};\n } catch (_) {}\n\n let hooks = {};\n\n /**\n * Expose whether this browser supports running the full DOMPurify.\n */\n DOMPurify.isSupported =\n typeof getParentNode === 'function' &&\n implementation &&\n implementation.createHTMLDocument !== undefined &&\n documentMode !== 9;\n\n const {\n MUSTACHE_EXPR,\n ERB_EXPR,\n TMPLIT_EXPR,\n DATA_ATTR,\n ARIA_ATTR,\n IS_SCRIPT_OR_DATA,\n ATTR_WHITESPACE,\n CUSTOM_ELEMENT,\n } = EXPRESSIONS;\n\n let { IS_ALLOWED_URI } = EXPRESSIONS;\n\n /**\n * We consider the elements and attributes below to be safe. Ideally\n * don't add any new ones but feel free to remove unwanted ones.\n */\n\n /* allowed element names */\n let ALLOWED_TAGS = null;\n const DEFAULT_ALLOWED_TAGS = addToSet({}, [\n ...TAGS.html,\n ...TAGS.svg,\n ...TAGS.svgFilters,\n ...TAGS.mathMl,\n ...TAGS.text,\n ]);\n\n /* Allowed attribute names */\n let ALLOWED_ATTR = null;\n const DEFAULT_ALLOWED_ATTR = addToSet({}, [\n ...ATTRS.html,\n ...ATTRS.svg,\n ...ATTRS.mathMl,\n ...ATTRS.xml,\n ]);\n\n /*\n * Configure how DOMPUrify should handle custom elements and their attributes as well as customized built-in elements.\n * @property {RegExp|Function|null} tagNameCheck one of [null, regexPattern, predicate]. Default: `null` (disallow any custom elements)\n * @property {RegExp|Function|null} attributeNameCheck one of [null, regexPattern, predicate]. Default: `null` (disallow any attributes not on the allow list)\n * @property {boolean} allowCustomizedBuiltInElements allow custom elements derived from built-ins if they pass CUSTOM_ELEMENT_HANDLING.tagNameCheck. Default: `false`.\n */\n let CUSTOM_ELEMENT_HANDLING = Object.seal(\n Object.create(null, {\n tagNameCheck: {\n writable: true,\n configurable: false,\n enumerable: true,\n value: null,\n },\n attributeNameCheck: {\n writable: true,\n configurable: false,\n enumerable: true,\n value: null,\n },\n allowCustomizedBuiltInElements: {\n writable: true,\n configurable: false,\n enumerable: true,\n value: false,\n },\n })\n );\n\n /* Explicitly forbidden tags (overrides ALLOWED_TAGS/ADD_TAGS) */\n let FORBID_TAGS = null;\n\n /* Explicitly forbidden attributes (overrides ALLOWED_ATTR/ADD_ATTR) */\n let FORBID_ATTR = null;\n\n /* Decide if ARIA attributes are okay */\n let ALLOW_ARIA_ATTR = true;\n\n /* Decide if custom data attributes are okay */\n let ALLOW_DATA_ATTR = true;\n\n /* Decide if unknown protocols are okay */\n let ALLOW_UNKNOWN_PROTOCOLS = false;\n\n /* Decide if self-closing tags in attributes are allowed.\n * Usually removed due to a mXSS issue in jQuery 3.0 */\n let ALLOW_SELF_CLOSE_IN_ATTR = true;\n\n /* Output should be safe for common template engines.\n * This means, DOMPurify removes data attributes, mustaches and ERB\n */\n let SAFE_FOR_TEMPLATES = false;\n\n /* Output should be safe even for XML used within HTML and alike.\n * This means, DOMPurify removes comments when containing risky content.\n */\n let SAFE_FOR_XML = true;\n\n /* Decide if document with ... should be returned */\n let WHOLE_DOCUMENT = false;\n\n /* Track whether config is already set on this instance of DOMPurify. */\n let SET_CONFIG = false;\n\n /* Decide if all elements (e.g. style, script) must be children of\n * document.body. By default, browsers might move them to document.head */\n let FORCE_BODY = false;\n\n /* Decide if a DOM `HTMLBodyElement` should be returned, instead of a html\n * string (or a TrustedHTML object if Trusted Types are supported).\n * If `WHOLE_DOCUMENT` is enabled a `HTMLHtmlElement` will be returned instead\n */\n let RETURN_DOM = false;\n\n /* Decide if a DOM `DocumentFragment` should be returned, instead of a html\n * string (or a TrustedHTML object if Trusted Types are supported) */\n let RETURN_DOM_FRAGMENT = false;\n\n /* Try to return a Trusted Type object instead of a string, return a string in\n * case Trusted Types are not supported */\n let RETURN_TRUSTED_TYPE = false;\n\n /* Output should be free from DOM clobbering attacks?\n * This sanitizes markups named with colliding, clobberable built-in DOM APIs.\n */\n let SANITIZE_DOM = true;\n\n /* Achieve full DOM Clobbering protection by isolating the namespace of named\n * properties and JS variables, mitigating attacks that abuse the HTML/DOM spec rules.\n *\n * HTML/DOM spec rules that enable DOM Clobbering:\n * - Named Access on Window (§7.3.3)\n * - DOM Tree Accessors (§3.1.5)\n * - Form Element Parent-Child Relations (§4.10.3)\n * - Iframe srcdoc / Nested WindowProxies (§4.8.5)\n * - HTMLCollection (§4.2.10.2)\n *\n * Namespace isolation is implemented by prefixing `id` and `name` attributes\n * with a constant string, i.e., `user-content-`\n */\n let SANITIZE_NAMED_PROPS = false;\n const SANITIZE_NAMED_PROPS_PREFIX = 'user-content-';\n\n /* Keep element content when removing element? */\n let KEEP_CONTENT = true;\n\n /* If a `Node` is passed to sanitize(), then performs sanitization in-place instead\n * of importing it into a new Document and returning a sanitized copy */\n let IN_PLACE = false;\n\n /* Allow usage of profiles like html, svg and mathMl */\n let USE_PROFILES = {};\n\n /* Tags to ignore content of when KEEP_CONTENT is true */\n let FORBID_CONTENTS = null;\n const DEFAULT_FORBID_CONTENTS = addToSet({}, [\n 'annotation-xml',\n 'audio',\n 'colgroup',\n 'desc',\n 'foreignobject',\n 'head',\n 'iframe',\n 'math',\n 'mi',\n 'mn',\n 'mo',\n 'ms',\n 'mtext',\n 'noembed',\n 'noframes',\n 'noscript',\n 'plaintext',\n 'script',\n 'style',\n 'svg',\n 'template',\n 'thead',\n 'title',\n 'video',\n 'xmp',\n ]);\n\n /* Tags that are safe for data: URIs */\n let DATA_URI_TAGS = null;\n const DEFAULT_DATA_URI_TAGS = addToSet({}, [\n 'audio',\n 'video',\n 'img',\n 'source',\n 'image',\n 'track',\n ]);\n\n /* Attributes safe for values like \"javascript:\" */\n let URI_SAFE_ATTRIBUTES = null;\n const DEFAULT_URI_SAFE_ATTRIBUTES = addToSet({}, [\n 'alt',\n 'class',\n 'for',\n 'id',\n 'label',\n 'name',\n 'pattern',\n 'placeholder',\n 'role',\n 'summary',\n 'title',\n 'value',\n 'style',\n 'xmlns',\n ]);\n\n const MATHML_NAMESPACE = 'http://www.w3.org/1998/Math/MathML';\n const SVG_NAMESPACE = 'http://www.w3.org/2000/svg';\n const HTML_NAMESPACE = 'http://www.w3.org/1999/xhtml';\n /* Document namespace */\n let NAMESPACE = HTML_NAMESPACE;\n let IS_EMPTY_INPUT = false;\n\n /* Allowed XHTML+XML namespaces */\n let ALLOWED_NAMESPACES = null;\n const DEFAULT_ALLOWED_NAMESPACES = addToSet(\n {},\n [MATHML_NAMESPACE, SVG_NAMESPACE, HTML_NAMESPACE],\n stringToString\n );\n\n /* Parsing of strict XHTML documents */\n let PARSER_MEDIA_TYPE;\n const SUPPORTED_PARSER_MEDIA_TYPES = ['application/xhtml+xml', 'text/html'];\n const DEFAULT_PARSER_MEDIA_TYPE = 'text/html';\n let transformCaseFunc;\n\n /* Keep a reference to config to pass to hooks */\n let CONFIG = null;\n\n /* Ideally, do not touch anything below this line */\n /* ______________________________________________ */\n\n const formElement = document.createElement('form');\n\n const isRegexOrFunction = function (testValue) {\n return testValue instanceof RegExp || testValue instanceof Function;\n };\n\n /**\n * _parseConfig\n *\n * @param {Object} cfg optional config literal\n */\n // eslint-disable-next-line complexity\n const _parseConfig = function (cfg) {\n if (CONFIG && CONFIG === cfg) {\n return;\n }\n\n /* Shield configuration object from tampering */\n if (!cfg || typeof cfg !== 'object') {\n cfg = {};\n }\n\n /* Shield configuration object from prototype pollution */\n cfg = clone(cfg);\n\n PARSER_MEDIA_TYPE =\n // eslint-disable-next-line unicorn/prefer-includes\n SUPPORTED_PARSER_MEDIA_TYPES.indexOf(cfg.PARSER_MEDIA_TYPE) === -1\n ? (PARSER_MEDIA_TYPE = DEFAULT_PARSER_MEDIA_TYPE)\n : (PARSER_MEDIA_TYPE = cfg.PARSER_MEDIA_TYPE);\n\n // HTML tags and attributes are not case-sensitive, converting to lowercase. Keeping XHTML as is.\n transformCaseFunc =\n PARSER_MEDIA_TYPE === 'application/xhtml+xml'\n ? stringToString\n : stringToLowerCase;\n\n /* Set configuration parameters */\n ALLOWED_TAGS =\n 'ALLOWED_TAGS' in cfg\n ? addToSet({}, cfg.ALLOWED_TAGS, transformCaseFunc)\n : DEFAULT_ALLOWED_TAGS;\n ALLOWED_ATTR =\n 'ALLOWED_ATTR' in cfg\n ? addToSet({}, cfg.ALLOWED_ATTR, transformCaseFunc)\n : DEFAULT_ALLOWED_ATTR;\n ALLOWED_NAMESPACES =\n 'ALLOWED_NAMESPACES' in cfg\n ? addToSet({}, cfg.ALLOWED_NAMESPACES, stringToString)\n : DEFAULT_ALLOWED_NAMESPACES;\n URI_SAFE_ATTRIBUTES =\n 'ADD_URI_SAFE_ATTR' in cfg\n ? addToSet(\n clone(DEFAULT_URI_SAFE_ATTRIBUTES), // eslint-disable-line indent\n cfg.ADD_URI_SAFE_ATTR, // eslint-disable-line indent\n transformCaseFunc // eslint-disable-line indent\n ) // eslint-disable-line indent\n : DEFAULT_URI_SAFE_ATTRIBUTES;\n DATA_URI_TAGS =\n 'ADD_DATA_URI_TAGS' in cfg\n ? addToSet(\n clone(DEFAULT_DATA_URI_TAGS), // eslint-disable-line indent\n cfg.ADD_DATA_URI_TAGS, // eslint-disable-line indent\n transformCaseFunc // eslint-disable-line indent\n ) // eslint-disable-line indent\n : DEFAULT_DATA_URI_TAGS;\n FORBID_CONTENTS =\n 'FORBID_CONTENTS' in cfg\n ? addToSet({}, cfg.FORBID_CONTENTS, transformCaseFunc)\n : DEFAULT_FORBID_CONTENTS;\n FORBID_TAGS =\n 'FORBID_TAGS' in cfg\n ? addToSet({}, cfg.FORBID_TAGS, transformCaseFunc)\n : {};\n FORBID_ATTR =\n 'FORBID_ATTR' in cfg\n ? addToSet({}, cfg.FORBID_ATTR, transformCaseFunc)\n : {};\n USE_PROFILES = 'USE_PROFILES' in cfg ? cfg.USE_PROFILES : false;\n ALLOW_ARIA_ATTR = cfg.ALLOW_ARIA_ATTR !== false; // Default true\n ALLOW_DATA_ATTR = cfg.ALLOW_DATA_ATTR !== false; // Default true\n ALLOW_UNKNOWN_PROTOCOLS = cfg.ALLOW_UNKNOWN_PROTOCOLS || false; // Default false\n ALLOW_SELF_CLOSE_IN_ATTR = cfg.ALLOW_SELF_CLOSE_IN_ATTR !== false; // Default true\n SAFE_FOR_TEMPLATES = cfg.SAFE_FOR_TEMPLATES || false; // Default false\n SAFE_FOR_XML = cfg.SAFE_FOR_XML !== false; // Default true\n WHOLE_DOCUMENT = cfg.WHOLE_DOCUMENT || false; // Default false\n RETURN_DOM = cfg.RETURN_DOM || false; // Default false\n RETURN_DOM_FRAGMENT = cfg.RETURN_DOM_FRAGMENT || false; // Default false\n RETURN_TRUSTED_TYPE = cfg.RETURN_TRUSTED_TYPE || false; // Default false\n FORCE_BODY = cfg.FORCE_BODY || false; // Default false\n SANITIZE_DOM = cfg.SANITIZE_DOM !== false; // Default true\n SANITIZE_NAMED_PROPS = cfg.SANITIZE_NAMED_PROPS || false; // Default false\n KEEP_CONTENT = cfg.KEEP_CONTENT !== false; // Default true\n IN_PLACE = cfg.IN_PLACE || false; // Default false\n IS_ALLOWED_URI = cfg.ALLOWED_URI_REGEXP || IS_ALLOWED_URI;\n NAMESPACE = cfg.NAMESPACE || HTML_NAMESPACE;\n CUSTOM_ELEMENT_HANDLING = cfg.CUSTOM_ELEMENT_HANDLING || {};\n if (\n cfg.CUSTOM_ELEMENT_HANDLING &&\n isRegexOrFunction(cfg.CUSTOM_ELEMENT_HANDLING.tagNameCheck)\n ) {\n CUSTOM_ELEMENT_HANDLING.tagNameCheck =\n cfg.CUSTOM_ELEMENT_HANDLING.tagNameCheck;\n }\n\n if (\n cfg.CUSTOM_ELEMENT_HANDLING &&\n isRegexOrFunction(cfg.CUSTOM_ELEMENT_HANDLING.attributeNameCheck)\n ) {\n CUSTOM_ELEMENT_HANDLING.attributeNameCheck =\n cfg.CUSTOM_ELEMENT_HANDLING.attributeNameCheck;\n }\n\n if (\n cfg.CUSTOM_ELEMENT_HANDLING &&\n typeof cfg.CUSTOM_ELEMENT_HANDLING.allowCustomizedBuiltInElements ===\n 'boolean'\n ) {\n CUSTOM_ELEMENT_HANDLING.allowCustomizedBuiltInElements =\n cfg.CUSTOM_ELEMENT_HANDLING.allowCustomizedBuiltInElements;\n }\n\n if (SAFE_FOR_TEMPLATES) {\n ALLOW_DATA_ATTR = false;\n }\n\n if (RETURN_DOM_FRAGMENT) {\n RETURN_DOM = true;\n }\n\n /* Parse profile info */\n if (USE_PROFILES) {\n ALLOWED_TAGS = addToSet({}, [...TAGS.text]);\n ALLOWED_ATTR = [];\n if (USE_PROFILES.html === true) {\n addToSet(ALLOWED_TAGS, TAGS.html);\n addToSet(ALLOWED_ATTR, ATTRS.html);\n }\n\n if (USE_PROFILES.svg === true) {\n addToSet(ALLOWED_TAGS, TAGS.svg);\n addToSet(ALLOWED_ATTR, ATTRS.svg);\n addToSet(ALLOWED_ATTR, ATTRS.xml);\n }\n\n if (USE_PROFILES.svgFilters === true) {\n addToSet(ALLOWED_TAGS, TAGS.svgFilters);\n addToSet(ALLOWED_ATTR, ATTRS.svg);\n addToSet(ALLOWED_ATTR, ATTRS.xml);\n }\n\n if (USE_PROFILES.mathMl === true) {\n addToSet(ALLOWED_TAGS, TAGS.mathMl);\n addToSet(ALLOWED_ATTR, ATTRS.mathMl);\n addToSet(ALLOWED_ATTR, ATTRS.xml);\n }\n }\n\n /* Merge configuration parameters */\n if (cfg.ADD_TAGS) {\n if (ALLOWED_TAGS === DEFAULT_ALLOWED_TAGS) {\n ALLOWED_TAGS = clone(ALLOWED_TAGS);\n }\n\n addToSet(ALLOWED_TAGS, cfg.ADD_TAGS, transformCaseFunc);\n }\n\n if (cfg.ADD_ATTR) {\n if (ALLOWED_ATTR === DEFAULT_ALLOWED_ATTR) {\n ALLOWED_ATTR = clone(ALLOWED_ATTR);\n }\n\n addToSet(ALLOWED_ATTR, cfg.ADD_ATTR, transformCaseFunc);\n }\n\n if (cfg.ADD_URI_SAFE_ATTR) {\n addToSet(URI_SAFE_ATTRIBUTES, cfg.ADD_URI_SAFE_ATTR, transformCaseFunc);\n }\n\n if (cfg.FORBID_CONTENTS) {\n if (FORBID_CONTENTS === DEFAULT_FORBID_CONTENTS) {\n FORBID_CONTENTS = clone(FORBID_CONTENTS);\n }\n\n addToSet(FORBID_CONTENTS, cfg.FORBID_CONTENTS, transformCaseFunc);\n }\n\n /* Add #text in case KEEP_CONTENT is set to true */\n if (KEEP_CONTENT) {\n ALLOWED_TAGS['#text'] = true;\n }\n\n /* Add html, head and body to ALLOWED_TAGS in case WHOLE_DOCUMENT is true */\n if (WHOLE_DOCUMENT) {\n addToSet(ALLOWED_TAGS, ['html', 'head', 'body']);\n }\n\n /* Add tbody to ALLOWED_TAGS in case tables are permitted, see #286, #365 */\n if (ALLOWED_TAGS.table) {\n addToSet(ALLOWED_TAGS, ['tbody']);\n delete FORBID_TAGS.tbody;\n }\n\n // Prevent further manipulation of configuration.\n // Not available in IE8, Safari 5, etc.\n if (freeze) {\n freeze(cfg);\n }\n\n CONFIG = cfg;\n };\n\n const MATHML_TEXT_INTEGRATION_POINTS = addToSet({}, [\n 'mi',\n 'mo',\n 'mn',\n 'ms',\n 'mtext',\n ]);\n\n const HTML_INTEGRATION_POINTS = addToSet({}, ['annotation-xml']);\n\n // Certain elements are allowed in both SVG and HTML\n // namespace. We need to specify them explicitly\n // so that they don't get erroneously deleted from\n // HTML namespace.\n const COMMON_SVG_AND_HTML_ELEMENTS = addToSet({}, [\n 'title',\n 'style',\n 'font',\n 'a',\n 'script',\n ]);\n\n /* Keep track of all possible SVG and MathML tags\n * so that we can perform the namespace checks\n * correctly. */\n const ALL_SVG_TAGS = addToSet({}, TAGS.svg);\n addToSet(ALL_SVG_TAGS, TAGS.svgFilters);\n addToSet(ALL_SVG_TAGS, TAGS.svgDisallowed);\n\n const ALL_MATHML_TAGS = addToSet({}, TAGS.mathMl);\n addToSet(ALL_MATHML_TAGS, TAGS.mathMlDisallowed);\n\n /**\n *\n *\n * @param {Element} element a DOM element whose namespace is being checked\n * @returns {boolean} Return false if the element has a\n * namespace that a spec-compliant parser would never\n * return. Return true otherwise.\n */\n const _checkValidNamespace = function (element) {\n let parent = getParentNode(element);\n\n // In JSDOM, if we're inside shadow DOM, then parentNode\n // can be null. We just simulate parent in this case.\n if (!parent || !parent.tagName) {\n parent = {\n namespaceURI: NAMESPACE,\n tagName: 'template',\n };\n }\n\n const tagName = stringToLowerCase(element.tagName);\n const parentTagName = stringToLowerCase(parent.tagName);\n\n if (!ALLOWED_NAMESPACES[element.namespaceURI]) {\n return false;\n }\n\n if (element.namespaceURI === SVG_NAMESPACE) {\n // The only way to switch from HTML namespace to SVG\n // is via . If it happens via any other tag, then\n // it should be killed.\n if (parent.namespaceURI === HTML_NAMESPACE) {\n return tagName === 'svg';\n }\n\n // The only way to switch from MathML to SVG is via`\n // svg if parent is either or MathML\n // text integration points.\n if (parent.namespaceURI === MATHML_NAMESPACE) {\n return (\n tagName === 'svg' &&\n (parentTagName === 'annotation-xml' ||\n MATHML_TEXT_INTEGRATION_POINTS[parentTagName])\n );\n }\n\n // We only allow elements that are defined in SVG\n // spec. All others are disallowed in SVG namespace.\n return Boolean(ALL_SVG_TAGS[tagName]);\n }\n\n if (element.namespaceURI === MATHML_NAMESPACE) {\n // The only way to switch from HTML namespace to MathML\n // is via . If it happens via any other tag, then\n // it should be killed.\n if (parent.namespaceURI === HTML_NAMESPACE) {\n return tagName === 'math';\n }\n\n // The only way to switch from SVG to MathML is via\n // and HTML integration points\n if (parent.namespaceURI === SVG_NAMESPACE) {\n return tagName === 'math' && HTML_INTEGRATION_POINTS[parentTagName];\n }\n\n // We only allow elements that are defined in MathML\n // spec. All others are disallowed in MathML namespace.\n return Boolean(ALL_MATHML_TAGS[tagName]);\n }\n\n if (element.namespaceURI === HTML_NAMESPACE) {\n // The only way to switch from SVG to HTML is via\n // HTML integration points, and from MathML to HTML\n // is via MathML text integration points\n if (\n parent.namespaceURI === SVG_NAMESPACE &&\n !HTML_INTEGRATION_POINTS[parentTagName]\n ) {\n return false;\n }\n\n if (\n parent.namespaceURI === MATHML_NAMESPACE &&\n !MATHML_TEXT_INTEGRATION_POINTS[parentTagName]\n ) {\n return false;\n }\n\n // We disallow tags that are specific for MathML\n // or SVG and should never appear in HTML namespace\n return (\n !ALL_MATHML_TAGS[tagName] &&\n (COMMON_SVG_AND_HTML_ELEMENTS[tagName] || !ALL_SVG_TAGS[tagName])\n );\n }\n\n // For XHTML and XML documents that support custom namespaces\n if (\n PARSER_MEDIA_TYPE === 'application/xhtml+xml' &&\n ALLOWED_NAMESPACES[element.namespaceURI]\n ) {\n return true;\n }\n\n // The code should never reach this place (this means\n // that the element somehow got namespace that is not\n // HTML, SVG, MathML or allowed via ALLOWED_NAMESPACES).\n // Return false just in case.\n return false;\n };\n\n /**\n * _forceRemove\n *\n * @param {Node} node a DOM node\n */\n const _forceRemove = function (node) {\n arrayPush(DOMPurify.removed, { element: node });\n try {\n // eslint-disable-next-line unicorn/prefer-dom-node-remove\n node.parentNode.removeChild(node);\n } catch (_) {\n try {\n node.outerHTML = emptyHTML;\n } catch (_) {\n node.remove();\n }\n }\n };\n\n /**\n * _removeAttribute\n *\n * @param {String} name an Attribute name\n * @param {Node} node a DOM node\n */\n const _removeAttribute = function (name, node) {\n try {\n arrayPush(DOMPurify.removed, {\n attribute: node.getAttributeNode(name),\n from: node,\n });\n } catch (_) {\n arrayPush(DOMPurify.removed, {\n attribute: null,\n from: node,\n });\n }\n\n node.removeAttribute(name);\n\n // We void attribute values for unremovable \"is\"\" attributes\n if (name === 'is' && !ALLOWED_ATTR[name]) {\n if (RETURN_DOM || RETURN_DOM_FRAGMENT) {\n try {\n _forceRemove(node);\n } catch (_) {}\n } else {\n try {\n node.setAttribute(name, '');\n } catch (_) {}\n }\n }\n };\n\n /**\n * _initDocument\n *\n * @param {String} dirty a string of dirty markup\n * @return {Document} a DOM, filled with the dirty markup\n */\n const _initDocument = function (dirty) {\n /* Create a HTML document */\n let doc;\n let leadingWhitespace;\n\n if (FORCE_BODY) {\n dirty = '' + dirty;\n } else {\n /* If FORCE_BODY isn't used, leading whitespace needs to be preserved manually */\n const matches = stringMatch(dirty, /^[\\r\\n\\t ]+/);\n leadingWhitespace = matches && matches[0];\n }\n\n if (\n PARSER_MEDIA_TYPE === 'application/xhtml+xml' &&\n NAMESPACE === HTML_NAMESPACE\n ) {\n // Root of XHTML doc must contain xmlns declaration (see https://www.w3.org/TR/xhtml1/normative.html#strict)\n dirty =\n '' +\n dirty +\n '';\n }\n\n const dirtyPayload = trustedTypesPolicy\n ? trustedTypesPolicy.createHTML(dirty)\n : dirty;\n /*\n * Use the DOMParser API by default, fallback later if needs be\n * DOMParser not work for svg when has multiple root element.\n */\n if (NAMESPACE === HTML_NAMESPACE) {\n try {\n doc = new DOMParser().parseFromString(dirtyPayload, PARSER_MEDIA_TYPE);\n } catch (_) {}\n }\n\n /* Use createHTMLDocument in case DOMParser is not available */\n if (!doc || !doc.documentElement) {\n doc = implementation.createDocument(NAMESPACE, 'template', null);\n try {\n doc.documentElement.innerHTML = IS_EMPTY_INPUT\n ? emptyHTML\n : dirtyPayload;\n } catch (_) {\n // Syntax error if dirtyPayload is invalid xml\n }\n }\n\n const body = doc.body || doc.documentElement;\n\n if (dirty && leadingWhitespace) {\n body.insertBefore(\n document.createTextNode(leadingWhitespace),\n body.childNodes[0] || null\n );\n }\n\n /* Work on whole document or just its body */\n if (NAMESPACE === HTML_NAMESPACE) {\n return getElementsByTagName.call(\n doc,\n WHOLE_DOCUMENT ? 'html' : 'body'\n )[0];\n }\n\n return WHOLE_DOCUMENT ? doc.documentElement : body;\n };\n\n /**\n * _createIterator\n *\n * @param {Document} root document/fragment to create iterator for\n * @return {Iterator} iterator instance\n */\n const _createIterator = function (root) {\n return createNodeIterator.call(\n root.ownerDocument || root,\n root,\n // eslint-disable-next-line no-bitwise\n NodeFilter.SHOW_ELEMENT |\n NodeFilter.SHOW_COMMENT |\n NodeFilter.SHOW_TEXT |\n NodeFilter.SHOW_PROCESSING_INSTRUCTION |\n NodeFilter.SHOW_CDATA_SECTION,\n null,\n false\n );\n };\n\n /**\n * _isClobbered\n *\n * @param {Node} elm element to check for clobbering attacks\n * @return {Boolean} true if clobbered, false if safe\n */\n const _isClobbered = function (elm) {\n return (\n elm instanceof HTMLFormElement &&\n (typeof elm.nodeName !== 'string' ||\n typeof elm.textContent !== 'string' ||\n typeof elm.removeChild !== 'function' ||\n !(elm.attributes instanceof NamedNodeMap) ||\n typeof elm.removeAttribute !== 'function' ||\n typeof elm.setAttribute !== 'function' ||\n typeof elm.namespaceURI !== 'string' ||\n typeof elm.insertBefore !== 'function' ||\n typeof elm.hasChildNodes !== 'function')\n );\n };\n\n /**\n * _isNode\n *\n * @param {Node} obj object to check whether it's a DOM node\n * @return {Boolean} true is object is a DOM node\n */\n const _isNode = function (object) {\n return typeof Node === 'object'\n ? object instanceof Node\n : object &&\n typeof object === 'object' &&\n typeof object.nodeType === 'number' &&\n typeof object.nodeName === 'string';\n };\n\n /**\n * _executeHook\n * Execute user configurable hooks\n *\n * @param {String} entryPoint Name of the hook's entry point\n * @param {Node} currentNode node to work on with the hook\n * @param {Object} data additional hook parameters\n */\n const _executeHook = function (entryPoint, currentNode, data) {\n if (!hooks[entryPoint]) {\n return;\n }\n\n arrayForEach(hooks[entryPoint], (hook) => {\n hook.call(DOMPurify, currentNode, data, CONFIG);\n });\n };\n\n /**\n * _sanitizeElements\n *\n * @protect nodeName\n * @protect textContent\n * @protect removeChild\n *\n * @param {Node} currentNode to check for permission to exist\n * @return {Boolean} true if node was killed, false if left alive\n */\n const _sanitizeElements = function (currentNode) {\n let content;\n\n /* Execute a hook if present */\n _executeHook('beforeSanitizeElements', currentNode, null);\n\n /* Check if element is clobbered or can clobber */\n if (_isClobbered(currentNode)) {\n _forceRemove(currentNode);\n return true;\n }\n\n /* Check if tagname contains Unicode */\n if (regExpTest(/[\\u0080-\\uFFFF]/, currentNode.nodeName)) {\n _forceRemove(currentNode);\n return true;\n }\n\n /* Now let's check the element's type and name */\n const tagName = transformCaseFunc(currentNode.nodeName);\n\n /* Execute a hook if present */\n _executeHook('uponSanitizeElement', currentNode, {\n tagName,\n allowedTags: ALLOWED_TAGS,\n });\n\n /* Detect mXSS attempts abusing namespace confusion */\n if (\n currentNode.hasChildNodes() &&\n !_isNode(currentNode.firstElementChild) &&\n (!_isNode(currentNode.content) ||\n !_isNode(currentNode.content.firstElementChild)) &&\n regExpTest(/<[/\\w]/g, currentNode.innerHTML) &&\n regExpTest(/<[/\\w]/g, currentNode.textContent)\n ) {\n _forceRemove(currentNode);\n return true;\n }\n\n /* Mitigate a problem with templates inside select */\n if (\n tagName === 'select' &&\n regExpTest(/