From 8efca7d6cc9fa806eb2dafd5d0758bca63baa85e Mon Sep 17 00:00:00 2001 From: xjiang-at-wiris <125269853+xjiang-at-wiris@users.noreply.github.com> Date: Wed, 8 Oct 2025 12:00:16 +0200 Subject: [PATCH 1/9] feat: add tinymce8 configuration --- .eslintignore | 1 + .github/workflows/deploy-staging.yml | 7 ++++++- scripts/services/paths.json | 10 ++++++++++ staging/branch/html/index.html | 1 + staging/branch/index.html | 1 + 5 files changed, 19 insertions(+), 1 deletion(-) diff --git a/.eslintignore b/.eslintignore index 3581c8997..b22550729 100644 --- a/.eslintignore +++ b/.eslintignore @@ -7,6 +7,7 @@ packages/generic/wirisplugin-generic.js packages/tinymce5/plugin.min.js packages/tinymce6/plugin.min.js packages/tinymce7/plugin.min.js +packages/tinymce8/plugin.min.js packages/froala/wiris.js packages/ckeditor4/plugin.js packages/tinymce/editor_plugin.src.js diff --git a/.github/workflows/deploy-staging.yml b/.github/workflows/deploy-staging.yml index 73bdaa259..eeafff569 100644 --- a/.github/workflows/deploy-staging.yml +++ b/.github/workflows/deploy-staging.yml @@ -121,7 +121,7 @@ jobs: fail-fast: false matrix: branch: ${{ fromJson(needs.prepare.outputs.branches) }} - editor: ["ckeditor4", "ckeditor5", "froala", "generic", "tinymce5", "tinymce6", "tinymce7", "viewer"] + editor: ["ckeditor4", "ckeditor5", "froala", "generic", "tinymce5", "tinymce6", "tinymce7", "tinymce8", "viewer"] framework: ["html", "vue"] exclude: - framework: vue @@ -130,6 +130,8 @@ jobs: editor: tinymce6 - framework: vue editor: tinymce7 + - framework: vue + editor: tinymce8 - framework: vue editor: tinymce5 - framework: vue @@ -196,6 +198,9 @@ jobs: if [ "${{ matrix.editor }}" = "tinymce7" ]; then aws s3 cp demos/html/${{ matrix.editor }}/node_modules/@wiris/mathtype-tinymce7/plugin.min.js s3://wiris-integrations-staging-html/${{ matrix.branch }}/html/${{ matrix.editor }}/node_modules/@wiris/mathtype-tinymce7/plugin.min.js fi + if [ "${{ matrix.editor }}" = "tinymce8" ]; then + aws s3 cp demos/html/${{ matrix.editor }}/node_modules/@wiris/mathtype-tinymce8/plugin.min.js s3://wiris-integrations-staging-html/${{ matrix.branch }}/html/${{ matrix.editor }}/node_modules/@wiris/mathtype-tinymce8/plugin.min.js + fi if [ "${{ matrix.editor }}" = "viewer" ]; then aws s3 cp demos/html/${{ matrix.editor }}/node_modules/@wiris/mathtype-viewer/dist/WIRISplugins.js s3://wiris-integrations-staging-html/${{ matrix.branch }}/html/${{ matrix.editor }}/node_modules/@wiris/mathtype-viewer/dist/WIRISplugins.js aws s3 cp demos/html/${{ matrix.editor }}/node_modules/@wiris/mathtype-viewer/package.json s3://wiris-integrations-staging-html/${{ matrix.branch }}/html/${{ matrix.editor }}/node_modules/@wiris/mathtype-viewer/package.json diff --git a/scripts/services/paths.json b/scripts/services/paths.json index 2c8c017ad..2446a1fe3 100644 --- a/scripts/services/paths.json +++ b/scripts/services/paths.json @@ -39,6 +39,11 @@ "demo": false, "port": "" }, + "mathTinyMCE8": { + "path": "./packages/tinymce8/", + "demo": false, + "port": "" + }, "vueCKEditor5": { "path": "./demos/vue/ckeditor5/", "demo": true, @@ -78,5 +83,10 @@ "path": "./demos/html/tinymce7/", "demo": true, "port": "8009" + }, + "htmlTinyMCE8": { + "path": "./demos/html/tinymce8/", + "demo": true, + "port": "8010" } } diff --git a/staging/branch/html/index.html b/staging/branch/html/index.html index 08d770337..0614214fc 100644 --- a/staging/branch/html/index.html +++ b/staging/branch/html/index.html @@ -18,6 +18,7 @@

HTML

  • TinyMCE 5
  • TinyMCE 6
  • TinyMCE 7
  • +
  • TinyMCE 8
  • diff --git a/staging/branch/index.html b/staging/branch/index.html index ebea5e1f2..a5e2cfd1d 100644 --- a/staging/branch/index.html +++ b/staging/branch/index.html @@ -18,6 +18,7 @@

    HTML

  • TinyMCE 5
  • TinyMCE 6
  • TinyMCE 7
  • +
  • TinyMCE 8
  • Viewer
  • From a36f49f728ee9a798db43bc6b76dce71a33d3c05 Mon Sep 17 00:00:00 2001 From: xjiang-at-wiris <125269853+xjiang-at-wiris@users.noreply.github.com> Date: Wed, 8 Oct 2025 12:15:33 +0200 Subject: [PATCH 2/9] feat: tinymce8 first version --- demos/html/tinymce8/babel.config.js | 12 + demos/html/tinymce8/index.html | 12 + demos/html/tinymce8/package.json | 28 ++ demos/html/tinymce8/project.json | 56 +++ demos/html/tinymce8/src/app.js | 55 +++ demos/html/tinymce8/src/static/style.css | 19 + demos/html/tinymce8/webpack.config.js | 72 +++ packages/tinymce8/.gitignore | 1 + packages/tinymce8/README.md | 97 ++++ packages/tinymce8/editor_plugin.src.js | 576 +++++++++++++++++++++++ packages/tinymce8/global.js | 27 ++ packages/tinymce8/package.json | 46 ++ packages/tinymce8/plugin.min.js.map | 1 + packages/tinymce8/project.json | 35 ++ packages/tinymce8/webpack.config.js | 99 ++++ 15 files changed, 1136 insertions(+) create mode 100644 demos/html/tinymce8/babel.config.js create mode 100644 demos/html/tinymce8/index.html create mode 100644 demos/html/tinymce8/package.json create mode 100644 demos/html/tinymce8/project.json create mode 100644 demos/html/tinymce8/src/app.js create mode 100644 demos/html/tinymce8/src/static/style.css create mode 100644 demos/html/tinymce8/webpack.config.js create mode 100644 packages/tinymce8/.gitignore create mode 100644 packages/tinymce8/README.md create mode 100644 packages/tinymce8/editor_plugin.src.js create mode 100644 packages/tinymce8/global.js create mode 100644 packages/tinymce8/package.json create mode 100644 packages/tinymce8/plugin.min.js.map create mode 100644 packages/tinymce8/project.json create mode 100644 packages/tinymce8/webpack.config.js diff --git a/demos/html/tinymce8/babel.config.js b/demos/html/tinymce8/babel.config.js new file mode 100644 index 000000000..392abb66d --- /dev/null +++ b/demos/html/tinymce8/babel.config.js @@ -0,0 +1,12 @@ +module.exports = { + presets: [ + [ + "@babel/preset-env", + { + targets: { + node: "current", + }, + }, + ], + ], +}; diff --git a/demos/html/tinymce8/index.html b/demos/html/tinymce8/index.html new file mode 100644 index 000000000..23efb1e1f --- /dev/null +++ b/demos/html/tinymce8/index.html @@ -0,0 +1,12 @@ + + + + Demo TinyMCE 8 on HTML + + + + + + + + diff --git a/demos/html/tinymce8/package.json b/demos/html/tinymce8/package.json new file mode 100644 index 000000000..9051e9cb3 --- /dev/null +++ b/demos/html/tinymce8/package.json @@ -0,0 +1,28 @@ +{ + "name": "demo-html-tinymce8", + "version": "1.0.0", + "private": true, + "description": "A simple html App integrating WIRIS MathType in a TinyMCE8 rich text editor.", + "main": "app.js", + "scripts": { + "prestart-remote": "yarn && yarn unlink @wiris/mathtype-tinymce8 && yarn unlink @wiris/mathtype-html-integration-devkit && yarn install --force", + "prestart": "yarn && yarn link @wiris/mathtype-tinymce8 && yarn link @wiris/mathtype-html-integration-devkit" + }, + "author": "WIRIS Team (https://www.wiris.com)", + "license": "MIT", + "dependencies": { + "@wiris/mathtype-html-integration-devkit": "*", + "@wiris/mathtype-tinymce8": "*", + "tinymce": "^8.1.2" + }, + "devDependencies": { + "copy-webpack-plugin": "^12.0.2", + "css-loader": "^7.1.0", + "html-loader": "^5.0.0", + "style-loader": "^4.0.0", + "webpack": "^5.75.0", + "webpack-cli": "^5.0.0", + "webpack-dev-server": "^5.0.4", + "resources": "file:../../../packages/res" + } +} diff --git a/demos/html/tinymce8/project.json b/demos/html/tinymce8/project.json new file mode 100644 index 000000000..5667ad149 --- /dev/null +++ b/demos/html/tinymce8/project.json @@ -0,0 +1,56 @@ +{ + "name": "html-tinymce8", + "$schema": "../../../node_modules/nx/schemas/project-schema.json", + "sourceRoot": "demos/html/tinymce8/src", + "targets": { + "prestart": { + "executor": "nx:run-script", + "options": { + "script": "prestart" + } + }, + "prestart-remote": { + "executor": "nx:run-script", + "options": { + "script": "prestart-remote" + } + }, + "build": { + "executor": "@nx/webpack:webpack", + "dependsOn": ["prestart"], + "outputs": ["{options.outputPath}"], + "options": { + "main": "demos/html/tinymce8/src/app.js", + "outputPath": "dist", + "tsConfig": "tsconfig.app.json", + "generateIndexHtml": false, + "index": "demos/html/tinymce8/index.html", + "webpackConfig": "demos/html/tinymce8/webpack.config.js" + } + }, + "start": { + "executor": "@nx/webpack:dev-server", + "dependsOn": ["prestart"], + "options": { + "buildTarget": "html-tinymce8:build", + "webpackConfig": "demos/html/tinymce8/webpack.config.js" + } + }, + "start-remote": { + "executor": "@nx/webpack:dev-server", + "dependsOn": ["prestart-remote"], + "options": { + "buildTarget": "html-tinymce8:build", + "webpackConfig": "demos/html/tinymce8/webpack.config.js" + } + }, + "lint": { + "executor": "@nx/linter:eslint", + "options": { + "eslintConfig": "./.eslintrc.js", + "lintFilePatterns": ["demos/html/tinymce8/**/*.{ts,tsx,js,jsx}"] + }, + "outputs": ["{options.outputFile}"] + } + } +} diff --git a/demos/html/tinymce8/src/app.js b/demos/html/tinymce8/src/app.js new file mode 100644 index 000000000..0dba442ba --- /dev/null +++ b/demos/html/tinymce8/src/app.js @@ -0,0 +1,55 @@ +// Load styles. +import "./static/style.css"; + +// Load the file that contains common imports between demos. +import * as Generic from "resources/demos/imports"; + +// Apply specific demo names to all the objects. +document.getElementById("header_title_name").innerHTML = "MathType for TinyMCE 8 on HTML"; +document.getElementById("version_editor").innerHTML = "TinyMCE: "; + +// Copy the editor content before initializing it. +// Currently disabled by decision of QA. +// Generic.copyContentFromxToy('editor', 'transform_content'); + +// Set up the editor. +tinymce.init({ + selector: "#editor", + license_key: "gpl", + external_plugins: { tiny_mce_wiris: `${window.location.href}dist/plugin.min.js` }, + + // We recommend to set 'draggable_modal' to true to avoid overlapping issues + // with the different UI modal dialog windows implementations between core and third-party plugins on TinyMCE. + // @see: https://github.com/wiris/html-integrations/issues/134#issuecomment-905448642 + draggable_modal: true, + plugins: ["image", "media"], + toolbar: + "undo redo | styleselect | bold italic | image media | tiny_mce_wiris_formulaEditor tiny_mce_wiris_formulaEditorChemistry", + + // language: 'fr_FR', + // You could set a different language for MathType editor: + // mathTypeParameters: { + // editorParameters: { language: 'de' }, + // }, + + // Handle events. + setup(editor) { + // Launch on init event. + editor.on("init", () => { + // Get and set the editor and wiris versions in this order. + Generic.setEditorAndWirisVersion( + `${tinymce.majorVersion}.${tinymce.minorVersion}`, + WirisPlugin.currentInstance.version, + ); //eslint-disable-line + + // Insert the initial content in the editor. + editor.setContent(Generic.editorContentMathML); + }); + }, +}); + +// Add listener on click button to launch updateContent function. +document.getElementById("btn_update").addEventListener("click", (e) => { + e.preventDefault(); + Generic.updateContent(tinyMCE.activeEditor.getContent(), "transform_content"); // eslint-disable-line no-undef +}); diff --git a/demos/html/tinymce8/src/static/style.css b/demos/html/tinymce8/src/static/style.css new file mode 100644 index 000000000..79916fc2d --- /dev/null +++ b/demos/html/tinymce8/src/static/style.css @@ -0,0 +1,19 @@ +body { + background-color: #e4e6e7; +} + +.tox { + background-color: #fff !important; + border-radius: 10px; + margin: 0 auto !important; + max-width: 750px !important; + width: 75% !important; +} + +.tox:hover { + box-shadow: 0 0 10px #7af78f; +} + +#editor_ifr { + min-height: 200px; +} diff --git a/demos/html/tinymce8/webpack.config.js b/demos/html/tinymce8/webpack.config.js new file mode 100644 index 000000000..5c3e4cdf3 --- /dev/null +++ b/demos/html/tinymce8/webpack.config.js @@ -0,0 +1,72 @@ +const path = require("path"); +const CopyPlugin = require("copy-webpack-plugin"); + +module.exports = (config, context) => { + return { + entry: { + app: path.resolve(__dirname, "src/app.js"), + }, + output: { + path: path.resolve(__dirname, "dist"), + filename: "demo.js", + }, + devServer: { + devMiddleware: { + writeToDisk: true, + }, + static: { + directory: path.join(__dirname, "./"), + }, + onListening: !config.devServer ? "" : config.devServer.onListening, + open: true, + port: 8010, + hot: true, + host: "0.0.0.0", + }, + // Set watch to true for dev purposes. + watch: false, + plugins: [ + new CopyPlugin({ + patterns: [ + { + from: `${path.dirname(require.resolve(`tinymce`))}/**/*.min.*`, + to: path.resolve(__dirname, "dist/tinymce8"), + + // Avoid copying the absolute path from the source + context: path.dirname(require.resolve(`tinymce`)), + }, + { + from: `${path.dirname(require.resolve(`@wiris/mathtype-tinymce8`))}/plugin.min.js`, + to: path.resolve(__dirname, "dist/plugin.min.js"), + }, + ], + }), + ], + mode: "none", + module: { + rules: [ + { + test: /\.css$/, + use: ["style-loader", "css-loader"], + }, + { + test: /\.(png|jpg|gif)$/i, + type: "asset/inline", + }, + { + // For the modal close, minimize, maximize icons + test: /\.svg$/, + type: "asset/source", + }, + { + test: /\.html$/i, + exclude: /node_modules/, + loader: "html-loader", + }, + ], + }, + stats: { + colors: true, + }, + }; +}; diff --git a/packages/tinymce8/.gitignore b/packages/tinymce8/.gitignore new file mode 100644 index 000000000..7b0a60f09 --- /dev/null +++ b/packages/tinymce8/.gitignore @@ -0,0 +1 @@ +plugin.min.js diff --git a/packages/tinymce8/README.md b/packages/tinymce8/README.md new file mode 100644 index 000000000..58debdb79 --- /dev/null +++ b/packages/tinymce8/README.md @@ -0,0 +1,97 @@ +# MathType for TinyMCE V7 + +Type and handwrite mathematical notation with MathType. + +Easily include quality math equations in your documents and digital content. + +## Table of Contents + +- [Install instructions](#install-instructions) +- [Services](#services) +- [Documentation](#documentation) +- [Displaying on Target Page](#displaying-on-target-page) +- [Privacy policy](#privacy-policy) + +## Install instructions + +1. Install the npm module: + + ```bash + npm install @wiris/mathtype-tinymce8 + ``` + +2. Add the plugin as an external plugin: + + ```js + tinymce.init({ external_plugins: { tiny_mce_wiris: `node_modules/@wiris/mathtype-tinymce8/plugin.min.js` } }); + ``` + +3. Add MathType buttons to the tinymce8 toolbar and the recommended settings: + + ```js + tinymce.init({ + toolbar: "tiny_mce_wiris_formulaEditor tiny_mce_wiris_formulaEditorChemistry", + // We recommend to set 'draggable_modal' to true to avoid overlapping issues + // with the different UI modal dialog windows implementations between core and third-party plugins on TinyMCE. + // @see: https://github.com/wiris/html-integrations/issues/134#issuecomment-905448642 + draggable_modal: true, + + // You could set a different language for MathType editor: + // language: 'fr_FR', + // mathTypeParameters: { + // editorParameters: { language: 'fr' }, + // }, + }); + ``` + + Notice the example assumes this directory structure: + + ``` + └───index.html + └───node_modules + └───@wiris/mathtype-tinymce8 + ``` + + > Note: For Vite users, head to the known issues section for a workaround on the external plugin addition. + +## Known issues + +- We have not been able to update the latests TinyMCE plugin version on our CDN, which forces users to get the `@wiris/mathtype-tinymce8` external plugin dependency from the node_modules. This can raise issues in applications using vite, for example. Here's a workaround: + + ```js + import wirisPlugin from '@wiris/mathtype-tinymce8/plugin.min.js?url'; + + tinymce.init({ external_plugins: { + tiny_mce_wiris: wirisPlugin, + }); + ``` + +- The editor's caret is lost when inserting a new formula on Safari with ChemType [#486](https://github.com/wiris/html-integrations/issues/486) + +## Services + +This npm module uses remotely hosted services to render MathML data. However, we recommend you install these services on your backend. This will allow you, among other things, to configure the service and to locally store the images generated by MathType. + +The services are available for Java, PHP, .NET and Ruby on Rails. If you use any of these technologies, please download the plugin for your backend technology from [here](https://store.wiris.com/en/products/downloads/mathtype/integrations#froala?utm_source=npmjs&utm_medium=referral). + +## Displaying on Target Page + +In order to display mathematical formulas on the target page, i.e. the page where content produced by the HTML editor will be visible, the target page needs to include the [MathType script](https://docs.wiris.com/en/mathtype/mathtype_web/integrations/mathml-mode#add_a_script_to_head). For example for the default setting this would be: + +```html + +``` + +## Documentation + +To find out more information about MathType, please go to the following documentation: + +- [Install instructions](https://docs.wiris.com/mathtype/en/mathtype-integrations/mathtype-for-html-editors/mathtype-for-tinymce.html?utm_source=npmjs&utm_medium=referral) +- [MathType documentation](https://docs.wiris.com/en/mathtype/mathtype_web/start?utm_source=npmjs&utm_medium=referral) +- [Introductory tutorials](https://docs.wiris.com/en/mathtype/mathtype_web/intro_tutorials?utm_source=npmjs&utm_medium=referral) +- [Service customization](https://docs.wiris.com/en/mathtype/mathtype_web/integrations/config-table?utm_source=npmjs&utm_medium=referral) +- [Testing](https://docs.wiris.com/en/mathtype/mathtype_web/integrations/html/plugins-test?utm_source=npmjs&utm_medium=referral) + +## Privacy policy + +The [MathType Privacy Policy](https://www.wiris.com/en/mathtype-privacy-policy/?utm_source=npmjs&utm_medium=referral) covers the data processing operations for the MathType users. It is an addendum of the company’s general Privacy Policy and the [general Privacy Policy](https://www.wiris.com/en/privacy-policy?utm_source=npmjs&utm_medium=referral) still applies to MathType users. diff --git a/packages/tinymce8/editor_plugin.src.js b/packages/tinymce8/editor_plugin.src.js new file mode 100644 index 000000000..87daac088 --- /dev/null +++ b/packages/tinymce8/editor_plugin.src.js @@ -0,0 +1,576 @@ +import IntegrationModel from "@wiris/mathtype-html-integration-devkit/src/integrationmodel"; +import Configuration from "@wiris/mathtype-html-integration-devkit/src/configuration"; +import Parser from "@wiris/mathtype-html-integration-devkit/src/parser"; +import Util from "@wiris/mathtype-html-integration-devkit/src/util"; +import Listeners from "@wiris/mathtype-html-integration-devkit/src/listeners"; +import StringManager from "@wiris/mathtype-html-integration-devkit/src/stringmanager"; + +import packageInfo from "./package.json"; + +/** + * TinyMCE integration class. This class extends IntegrationModel class. + */ +export class TinyMceIntegration extends IntegrationModel { + constructor(integrationModelProperties) { + super(integrationModelProperties); + /** + * Indicates if the content of the TinyMCE editor has + * been parsed. + * @type {Boolean} + */ + this.initParsed = integrationModelProperties.initParsed; + /** + * Indicates if the TinyMCE is integrated in Moodle. + * @type {Boolean} + */ + this.isMoodle = integrationModelProperties.isMoodle; + /** + * Indicates if the plugin is loaded as an external plugin by TinyMCE. + * @type {Boolean} + */ + this.isExternal = integrationModelProperties.isExternal; + } + + /** + * Returns the absolute path of the integration script. Depends on + * TinyMCE integration (Moodle or standard). + * @returns {Boolean} - Absolute path for the integration script. + */ + getPath() { + if (this.isMoodle) { + const search = "lib/editor/tinymce"; + const pos = tinymce.baseURL.indexOf(search); + const baseURL = tinymce.baseURL.substr(0, pos + search.length); + return `${baseURL}/plugins/tiny_mce_wiris/tinymce/`; + } + if (this.isExternal) { + const externalUrl = this.editorObject.options.get("external_plugins").tiny_mce_wiris; + return externalUrl.substring(0, externalUrl.lastIndexOf("/") + 1); + } + return `${tinymce.baseURL}/plugins/tiny_mce_wiris/`; + } + + /** + * Returns the absolute path of plugin icons. + * @returns {String} - Absolute path of the icons folder. + */ + getIconsPath() { + return `${this.getPath()}icons/`; + } + + /** + * Returns the integration language. TinyMCE language is inherited. + * When no language is set, TinyMCE sets the toolbar to english. + * @returns {String} - Integration language. + */ + getLanguage() { + const editorSettings = this.editorObject; + // Try to get editorParameters.language, fail silently otherwise + try { + return editorSettings.options.get("mathTypeParameters").editorParameters.language; + } catch (e) {} + // Get the deprecated wirisformulaeditorlang + if (editorSettings.options.get("wirisformulaeditorlang")) { + console.warn("Deprecated property wirisformulaeditorlang. Use mathTypeParameters on instead."); + return editorSettings.options.get("wirisformulaeditorlang"); + } + const langParam = this.editorObject.options.get("language"); + return langParam || super.getLanguage(); + } + + /** + * Callback function called before 'onTargetLoad' is fired. All the logic here is to + * avoid TinyMCE change MathType formulas. + */ + callbackFunction() { + const dataImgFiltered = []; + super.callbackFunction(); + + // Avoid to change class of image formulas. + const imageClassName = Configuration.get("imageClassName"); + if (this.isIframe) { + // Attaching observers to wiris images. + if (typeof Parser.observer !== "undefined") { + Array.prototype.forEach.call( + this.target.contentDocument.getElementsByClassName(imageClassName), + (wirisImages) => { + Parser.observer.observe(wirisImages); + }, + ); + } + } else { + // Inline. + // Attaching observers to wiris images. + Array.prototype.forEach.call(document.getElementsByClassName(imageClassName), (wirisImages) => { + Parser.observer.observe(wirisImages); + }); + } + + // When a formula is updated TinyMCE 'Change' event must be fired. + // See https://www.tiny.cloud/docs/advanced/events/#change for further information. + const listener = Listeners.newListener("onAfterFormulaInsertion", () => { + if (typeof this.editorObject.dispatch !== "undefined") { + this.editorObject.dispatch("Change"); + } + }); + this.getCore().addListener(listener); + + // Deprecated part on tinymce8; We need to find a workaround + // Avoid filter formulas with performance enabled. + dataImgFiltered[this.editorObject.id] = this.editorObject.images_dataimg_filter; + this.editorObject.images_dataimg_filter = (img) => { + if (img.hasAttribute("class") && img.getAttribute("class").indexOf(Configuration.get("imageClassName")) !== -1) { + return img.hasAttribute("internal-blob"); + } + // If the client put an image data filter, run. Otherwise default behaviour (put blob). + if (typeof dataImgFiltered[this.editorObject.id] !== "undefined") { + return dataImgFiltered[this.editorObject.id](img); + } + return true; + }; + } + + /** + * Fires the event ExecCommand and transform a MathML into an image formula. + * @param {string} mathml - MathML to generate the formula and can be caught with the event. + */ + updateFormula(mathml) { + if (typeof this.editorObject.dispatch !== "undefined") { + this.editorObject.dispatch("ExecCommand", { + command: "updateFormula", + value: mathml, + }); + } + super.updateFormula(mathml); + } + + /** @inheritdoc */ + insertFormula(focusElement, windowTarget, mathml, wirisProperties) { + // Due to insertFormula adds an image using pure JavaScript functions, + // it is needed notificate to the editorObject that placeholder status + // has to be updated. + const obj = super.insertFormula(focusElement, windowTarget, mathml, wirisProperties); + + // Add formula to undo & redo + this.editorObject.undoManager.add(obj); + + return obj; + } + + /** + * Set Moodle configuration on plugin. + * @param {string} editor - Editor instance. + * @param {string} pluginName - TinyMCE 7 plugin name. + */ + registerMoodleOption(editor, pluginName) { + const registerOption = editor.options.register; + + registerOption(`${pluginName}:filterEnabled`, { + processor: "boolean", + default: false, + }); + + registerOption(`${pluginName}:editorEnabled`, { + processor: "boolean", + default: false, + }); + + registerOption(`${pluginName}:chemistryEnabled`, { + processor: "boolean", + default: false, + }); + } +} + +/** + * Object containing all TinyMCE integration instances. One for each TinyMCE editor. + * @type {Object} + */ +export const instances = {}; + +/** + * TinyMCE integration current instance. The current instance + * is the instance related with the focused editor. + * @type {TinyMceIntegration} + */ +export const currentInstance = null; + +/* + Note: We have included the plugin in the same JavaScript file as the TinyMCE + instance for display purposes only. Tiny recommends not maintaining the plugin + with the TinyMCE instance and using the `external_plugins` option. +*/ +(function () { + const isMoodle = !!(typeof M === "object" && M !== null); // eslint-disable-line no-undef; + const pluginName = isMoodle ? "tiny_wiris/plugin" : "tiny_mce_wiris"; + + tinymce.PluginManager.add(pluginName, (editor, url) => ({ + // eslint-disable-line no-unused-vars + init(editor) { + const callbackMethodArguments = {}; + + /** + * Integration model properties + * @type {Object} + * @property {Object} target - Integration DOM target. + * @property {String} configurationService - Configuration integration service. + * @property {String} version - Plugin version. + * @property {String} scriptName - Integration script name. + * @property {Object} environment - Integration environment properties. + * @property {String} editor - Editor name. + */ + const integrationModelProperties = {}; + integrationModelProperties.serviceProviderProperties = { + URI: process.env.SERVICE_PROVIDER_URI, + server: process.env.SERVICE_PROVIDER_SERVER, + }; + integrationModelProperties.version = packageInfo.version; + integrationModelProperties.isMoodle = isMoodle; // eslint-disable-line no-undef + if (integrationModelProperties.isMoodle) { + // eslint-disable-next-line no-undef + integrationModelProperties.configurationService = + M.cfg.wwwroot + "/filter/wiris/integration/configurationjs.php"; // eslint-disable-line prefer-template + } + if (typeof editor.options.get("wiriscontextpath") !== "undefined") { + integrationModelProperties.configurationService = Util.concatenateUrl( + editor.options.get("wiriscontextpath"), + integrationModelProperties.configurationService, + ); + `${editor.options.get("wiriscontextpath")}/${integrationModelProperties.configurationService}`; // eslint-disable-line no-unused-expressions + console.warn( + "Deprecated property wiriscontextpath. Use mathTypeParameters instead.", + editor.opts.wiriscontextpath, + ); + } + + // Overriding MathType integration parameters. + + // Register our custom parameters inside TinyMCE's options + editor.options.register("mathTypeParameters", { + processor: "object", + default: {}, + }); + + if (editor.options.isRegistered("mathTypeParameters")) { + integrationModelProperties.integrationParameters = editor.options.get("mathTypeParameters"); + } + + // This option allows us to introduce MathML formulas. + editor.options.register("extended_valid_elements", { + processor: "string", + default: "*[.*]", + }); + + // This option allows all elements and attributes. + editor.options.register("valid_elements", { + processor: "string", + default: "*[*]", + }); + + // Those options prevent the DOMPurify library from filtering Wiris MathML tags and attributes. + editor.options.register("allow_mathml_annotation_encodings", { + processor: "array", + default: ["application/json"], + }); + + editor.options.register("extended_mathml_elements", { + processor: "array", + default: ["semantics", "annotation", "mstack", "msline", "msrow", "none"], + }); + + editor.options.register("extended_mathml_attributes", { + processor: "array", + default: ["linebreak", "charalign", "stackalign"], + }); + + integrationModelProperties.scriptName = "plugin.min.js"; + integrationModelProperties.environment = {}; + + integrationModelProperties.environment.editor = `TinyMCE ${tinymce.majorVersion}.x`; + integrationModelProperties.environment.editorVersion = `${tinymce.majorVersion}.${tinymce.minorVersion}`; + + integrationModelProperties.callbackMethodArguments = callbackMethodArguments; + integrationModelProperties.editorObject = editor; + integrationModelProperties.initParsed = false; + // We need to create the instance before TinyMce initialization in order to register commands. + // However, as TinyMCE is not initialized at this point the HTML target is not created. + // Here we create the target as null and onInit object the target is updated. + integrationModelProperties.target = null; + const isExternalPlugin = + typeof editor.options.get("external_plugins") !== "undefined" && + "tiny_mce_wiris" in editor.options.get("external_plugins"); + integrationModelProperties.isExternal = isExternalPlugin; + integrationModelProperties.rtl = editor.options.get("directionality") === "rtl"; + + // Set Moodle configurations for Telemetry purposes. + const registerOption = editor.options.register; + registerOption(`${pluginName}:moodleCourseCategory`, { + processor: "integer", + default: undefined, + }); + registerOption(`${pluginName}:moodleCourseName`, { + processor: "string", + default: undefined, + }); + registerOption(`${pluginName}:moodleVersion`, { + processor: "integer", + default: undefined, + }); + + integrationModelProperties.environment.moodleVersion = editor.options.get(`${pluginName}:moodleVersion`); + integrationModelProperties.environment.moodleCourseCategory = editor.options.get( + `${pluginName}:moodleCourseCategory`, + ); + integrationModelProperties.environment.moodleCourseName = editor.options.get(`${pluginName}:moodleCourseName`); + + // GenericIntegration instance. + const tinyMceIntegrationInstance = new TinyMceIntegration(integrationModelProperties); + tinyMceIntegrationInstance.init(); + WirisPlugin.instances[tinyMceIntegrationInstance.editorObject.id] = tinyMceIntegrationInstance; + WirisPlugin.currentInstance = tinyMceIntegrationInstance; + + // Set Moodle configuration parameters to the plugin + if (isMoodle) { + tinyMceIntegrationInstance.registerMoodleOption(editor, pluginName); + } + + const onInit = function (editor) { + // eslint-disable-line no-shadow + const integrationInstance = WirisPlugin.instances[tinyMceIntegrationInstance.editorObject.id]; + if (!editor.inline) { + integrationInstance.setTarget(editor.getContentAreaContainer().firstChild); + } else { + integrationInstance.setTarget(editor.getElement()); + } + integrationInstance.setEditorObject(editor); + integrationInstance.listeners.fire("onTargetReady", {}); + if (editor.options.isRegistered("mathTypeParameters")) { + Configuration.update("editorParameters", editor.options.get("mathTypeParameters")); + } + + // Prevent TinyMCE attributes insertion. + // TinyMCE insert attributes only when a new node is inserted. + // For this reason, the mutation observer only acts on addedNodes. + const mutationInstance = new MutationObserver( + function (editor, mutations) { + // eslint-disable-line no-shadow + Array.prototype.forEach.call( + mutations, + function (editor, mutation) { + // eslint-disable-line no-shadow + Array.prototype.forEach.call( + mutation.addedNodes, + function (editor, node) { + // eslint-disable-line no-shadow + if (node.nodeType === 1) { + // Act only in our own formulas. + Array.prototype.forEach.call( + node.querySelectorAll(`.${WirisPlugin.Configuration.get("imageClassName")}`), + ((editor, image) => { + // eslint-disable-line no-shadow + // This only is executed due to init parse. + image.removeAttribute("data-mce-src"); + image.removeAttribute("data-mce-style"); + }).bind(this, editor), + ); + } + }.bind(this, editor), + ); + }.bind(this, editor), + ); + }.bind(this, editor), + ); + mutationInstance.observe(editor.getBody(), { + attributes: true, + childList: true, + characterData: true, + subtree: true, + }); + + const content = editor.getContent(); + // We set content in html because other tiny plugins need data-mce + // and this is not possible with raw format. + editor.setContent(Parser.initParse(content, editor.options.get("language")), { format: "html" }); + // This clean undoQueue for prevent onChange and Dirty state. + editor.undoManager.clear(); + // Init parsing OK. If a setContent method is called + // wrs_initParse is called again. + // Now if source code is edited the returned code is parsed. + // PLUGINS-1070: We set this variable out of condition to parse content after. + WirisPlugin.instances[editor.id].initParsed = true; + }; + + // Change the destroy behavior to also destroy the MathType instance. + const destroy = editor.destroy; + + editor.destroy = function () { + WirisPlugin.instances[editor.id].listeners.fire("onDestroy", {}); + + // Destroy the Mathtype instance. + WirisPlugin.instances[editor.id].destroy(); + destroy.call(editor); + }; + + if ("onInit" in editor) { + editor.onInit.add(onInit); + } else { + editor.on("init", () => { + onInit(editor); + }); + } + + if ("onActivate" in editor) { + editor.onActivate.add((editor) => { + // eslint-disable-line no-unused-vars, no-shadow + WirisPlugin.currentInstance = WirisPlugin.instances[tinymce.activeEditor.id]; + }); + } else { + editor.on("focus", (event) => { + // eslint-disable-line no-unused-vars, no-shadow + WirisPlugin.currentInstance = WirisPlugin.instances[tinymce.activeEditor.id]; + }); + } + + const onSave = function (editor, params) { + // eslint-disable-line no-shadow + if (integrationModelProperties.isMoodle) { + params.content = Parser.endParseSaveMode(params.content, editor.getParam("language")); + } else { + params.content = Parser.endParse(params.content, editor.getParam("language")); + } + }; + + if ("onSaveContent" in editor) { + editor.onSaveContent.add(onSave); + } else { + editor.on("saveContent", (params) => { + onSave(editor, params); + }); + } + + if ("onGetContent" in editor) { + editor.onGetContent.add(onSave); + } else { + editor.on("getContent", (params) => { + onSave(editor, params); + }); + } + + if ("onBeforeSetContent" in editor) { + editor.onBeforeSetContent.add((e, params) => { + if (integrationModelProperties.isMoodle) { + params.content = Parser.initParseSaveMode(params.content, editor.getParam("language")); + } else if (WirisPlugin.instances[editor.id].initParsed) { + params.content = Parser.initParseSaveMode(params.content, editor.getParam("language")); + } + }); + } else { + editor.on("beforeSetContent", (params) => { + if (integrationModelProperties.isMoodle) { + params.content = Parser.initParseSaveMode(params.content, editor.getParam("language")); + } else if (WirisPlugin.instances[editor.id].initParsed) { + params.content = Parser.initParse(params.content, editor.getParam("language")); + } + }); + } + + function openFormulaEditorFunction() { + const tinyMceIntegrationInstance = WirisPlugin.instances[editor.id]; // eslint-disable-line no-shadow + // Disable previous custom editors. + tinyMceIntegrationInstance.core.getCustomEditors().disable(); + tinyMceIntegrationInstance.openNewFormulaEditor(); + } + + const commonEditor = editor.ui.registry; + const mathTypeIcon = "mathtypeicon"; + const chemTypeIcon = "chemtypeicon"; + const mathTypeIconSvg = + ''; // eslint-disable-line max-len + const chemTypeIconSvg = + ''; + + commonEditor.addIcon(mathTypeIcon, mathTypeIconSvg); + commonEditor.addIcon(chemTypeIcon, chemTypeIconSvg); + + // Get editor language code + let lang_code = editor.options.get("language"); + lang_code = lang_code.split("-")[0].split("_")[0]; + + // Check If MathType/ChemType are enabled on Moodle + const editorEnabled = + !isMoodle || + (isMoodle && + editor.options.get(`${pluginName}:editorEnabled`) && + editor.options.get(`${pluginName}:filterEnabled`)); + const chemEnabled = + !isMoodle || + (isMoodle && + editor.options.get(`${pluginName}:chemistryEnabled`) && + editor.options.get(`${pluginName}:filterEnabled`)); + + if (editorEnabled) { + // The next two blocks create menu items to give the possibility + // of add MathType in the menubar. + commonEditor.addMenuItem("tiny_mce_wiris_formulaEditor", { + text: "MathType", + icon: mathTypeIcon, + onAction: openFormulaEditorFunction, + }); + + // MathType button. + commonEditor.addButton("tiny_mce_wiris_formulaEditor", { + tooltip: StringManager.get("insert_math", lang_code), + image: `${WirisPlugin.instances[editor.id].getIconsPath()}formula.png`, + onAction: openFormulaEditorFunction, + icon: mathTypeIcon, + }); + } + + if (chemEnabled) { + // Dynamic customEditors buttons. + const customEditors = WirisPlugin.instances[editor.id].getCore().getCustomEditors(); + Object.keys(customEditors.editors).forEach((customEditor) => { + if (customEditors.editors[customEditor].confVariable) { + commonEditor.addMenuItem(`tiny_mce_wiris_formulaEditor${customEditors.editors[customEditor].name}`, { + text: customEditors.editors[customEditor].title, + icon: chemTypeIcon, // Parametrize when other custom editors are added. + onAction: () => { + customEditors.enable(customEditor); + WirisPlugin.instances[editor.id].openNewFormulaEditor(); + }, + }); + } + }); + + // Dynamic customEditors buttons. + for (const customEditor in customEditors.editors) { + if (customEditors.editors[customEditor].confVariable) { + const cmd = `tiny_mce_wiris_openFormulaEditor${customEditors.editors[customEditor].name}`; + // eslint-disable-next-line no-inner-declarations, no-loop-func + function commandFunction() { + customEditors.enable(customEditor); + WirisPlugin.instances[editor.id].openNewFormulaEditor(); // eslint-disable-line no-undef + } + editor.addCommand(cmd, commandFunction); + commonEditor.addButton(`tiny_mce_wiris_formulaEditor${customEditors.editors[customEditor].name}`, { + tooltip: StringManager.get("insert_chem", lang_code), + onAction: commandFunction, + image: WirisPlugin.instances[editor.id].getIconsPath() + customEditors.editors[customEditor].icon, + icon: chemTypeIcon, // At the moment only chemTypeIcon because of the provisional solution for tinymce8. + }); + } + } + } + }, + + // All versions. + getMetadata() { + return { + longname: "tiny_mce_wiris", + name: "Maths for More", + url: "http://www.wiris.com", + version: packageInfo.version, + }; + }, + })); +})(); diff --git a/packages/tinymce8/global.js b/packages/tinymce8/global.js new file mode 100644 index 000000000..5fa85bf35 --- /dev/null +++ b/packages/tinymce8/global.js @@ -0,0 +1,27 @@ +import Core from "@wiris/mathtype-html-integration-devkit/src/core.src"; +import Parser from "@wiris/mathtype-html-integration-devkit/src/parser"; +import Util from "@wiris/mathtype-html-integration-devkit/src/util"; +import Image from "@wiris/mathtype-html-integration-devkit/src/image"; +import Configuration from "@wiris/mathtype-html-integration-devkit/src/configuration"; +import Listeners from "@wiris/mathtype-html-integration-devkit/src/listeners"; +import IntegrationModel from "@wiris/mathtype-html-integration-devkit/src/integrationmodel"; +import Latex from "@wiris/mathtype-html-integration-devkit/src/latex"; +import "@wiris/mathtype-html-integration-devkit/src/backwardslib"; +import Test from "@wiris/mathtype-html-integration-devkit/src/test"; +import { TinyMceIntegration, currentInstance, instances } from "./editor_plugin.src"; + +// Expose WirisPlugin variable to the window. +window.WirisPlugin = { + Core, + Parser, + Image, + Util, + Configuration, + Listeners, + IntegrationModel, + currentInstance, + instances, + TinyMceIntegration, + Latex, + Test, +}; diff --git a/packages/tinymce8/package.json b/packages/tinymce8/package.json new file mode 100644 index 000000000..1a2d6d3c8 --- /dev/null +++ b/packages/tinymce8/package.json @@ -0,0 +1,46 @@ +{ + "name": "@wiris/mathtype-tinymce8", + "version": "8.13.4", + "description": "MathType Web for tinymce8 editor", + "keywords": [ + "chem", + "chemistry", + "chemtype", + "editor", + "equation", + "latex", + "math", + "mathml", + "maths", + "mathtype", + "tinymce", + "tinymce8", + "wiris" + ], + "repository": "https://github.com/wiris/html-integrations/tree/master/packages/tinymce8", + "homepage": "www.wiris.com/?utm_source=npmjs&utm_medium=referral", + "bugs": { + "email": "support@wiris.com" + }, + "license": "MIT", + "author": "WIRIS Team (www.wiris.com/?utm_source=npmjs&utm_medium=referral)", + "main": "plugin.min.js", + "scripts": { + "build": "webpack --mode production", + "build-dev": "webpack --mode development", + "clean": "shx rm -f plugin.min.js", + "prepack": "yarn && npm run build" + }, + "dependencies": { + "@wiris/mathtype-html-integration-devkit": "1.17.11" + }, + "devDependencies": { + "@babel/core": "^7.24.4", + "@babel/preset-env": "^7.24.4", + "babel-loader": "^9.1.3", + "css-loader": "^7.1.0", + "shx": "^0.3.4", + "style-loader": "^4.0.0", + "terser-webpack-plugin": "^5.3.10" + } +} diff --git a/packages/tinymce8/plugin.min.js.map b/packages/tinymce8/plugin.min.js.map new file mode 100644 index 000000000..5f690b818 --- /dev/null +++ b/packages/tinymce8/plugin.min.js.map @@ -0,0 +1 @@ +{"version":3,"file":"./plugin.min.js","mappings":"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C;MAC5FwP,QAAQ,CAACwF,YAAY,GAAG/N,KAAK,GAAGmG,IAAI,CAACpN,MAAM;IAC7C;;IAEA;AACF;AACA;AACA;AACA;AACA;AACA;EANE;IAAA5G,GAAA;IAAAC,KAAA,EAOA,SAAA8b,YAAmBC,IAAI,EAAEC,SAAS,EAAEhc,KAAK,EAAE;MACzC,IAAIic,GAAG;MACP,IAAIF,IAAI,CAACrQ,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE;QACzBuQ,GAAG,GAAG,GAAG;MACX,CAAC,MAAM;QACLA,GAAG,GAAG,GAAG;MACX;MACA,UAAArZ,MAAA,CAAUmZ,IAAI,GAAGE,GAAG,GAAGD,SAAS,OAAApZ,MAAA,CAAI5C,KAAK;IAC3C;EAAC;EAAA,OAAAhD,IAAA;AAAA;;;;;;;AC9jCH;;AAEA;AACA,EAAE,KAA4D;AAC9D,EAAE,CACwG;AAC1G,CAAC,uBAAuB;;AAExB;AACA;;AAEA;AACA;AACA,MAAM;AACN;AACA,KAAK;AACL;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA,kFAAkF;AAClF;AACA,MAAM;AACN;AACA;AACA;;AAEA;AACA;AACA;AACA,MAAM;AACN;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA,2CAA2C,SAAS;;AAEpD;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,8BAA8B;;AAE9B;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,6FAA6F,aAAa;AAC1G;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,6EAA6E,eAAe;AAC5F;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA,k/BAAk/B;;AAEl/B;AACA,wYAAwY;AACxY;AACA;AACA;;AAEA;AACA,gTAAgT;AAChT;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA,8BAA8B,EAAE,iBAAiB,EAAE,MAAM;;AAEzD;AACA,6BAA6B,QAAQ;AACrC,sDAAsD;;AAEtD,0CAA0C;;AAE1C;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa,2BAA2B;AACxC,aAAa,UAAU;AACvB,cAAc,oBAAoB;AAClC;AACA;;;AAGA;AACA;AACA;AACA,MAAM;AACN;AACA;;;AAGA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,OAAO;AACP,MAAM;AACN;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,sEAAsE;AACtE;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,MAAM;;AAEN;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA,0CAA0C;AAC1C;;AAEA;AACA,0CAA0C;AAC1C;AACA;AACA,kBAAkB,sBAAsB;AACxC,kBAAkB,sBAAsB;AACxC,kBAAkB,SAAS;AAC3B;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA,6CAA6C;AAC7C;;AAEA;AACA,2CAA2C;AAC3C;;AAEA;AACA,iDAAiD;AACjD;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,gDAAgD;AAChD;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB,QAAQ;AACxB;AACA;;;AAGA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA;;;AAGA;AACA;AACA,sKAAsK;;AAEtK;AACA;;AAEA,wDAAwD;AACxD,wDAAwD;AACxD,oEAAoE;AACpE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,8DAA8D;AAC9D,sDAAsD;AACtD,sDAAsD;AACtD;AACA,uDAAuD;;AAEvD,uDAAuD;;AAEvD,sEAAsE;;AAEtE,yEAAyE;;AAEzE,4DAA4D;;AAE5D,oDAAoD;;AAEpD,4CAA4C;;AAE5C,8DAA8D;;AAE9D,8DAA8D;;AAE9D,4CAA4C;;AAE5C,iDAAiD;;AAEjD,gEAAgE;;AAEhE,iDAAiD;;AAEjD,wCAAwC;;AAExC;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;;AAGA;AACA,kCAAkC;AAClC;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;;AAGA;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA,QAAQ;AACR;;;AAGA;AACA;AACA;;AAEA;AACA;;AAEA,oDAAoD;AACpD,6CAA6C,yDAAyD;AACtG;AACA;AACA;;AAEA,kDAAkD;AAClD;AACA;AACA;;AAEA,kCAAkC;AAClC;AACA;AACA,qCAAqC;AACrC;AACA;AACA;AACA;AACA,gBAAgB,SAAS;AACzB,iBAAiB,SAAS;AAC1B;AACA;AACA;;AAEA;AACA,2CAA2C;AAC3C;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,UAAU;AACV;AACA;;;AAGA;AACA;AACA,UAAU;AACV;;;AAGA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,UAAU;AACV;;;AAGA;AACA;AACA,UAAU;AACV;;;AAGA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,UAAU;AACV;;;AAGA;AACA,QAAQ;;;AAGR;AACA;AACA,QAAQ;AACR;AACA;AACA;;;AAGA;AACA;AACA;AACA;AACA;AACA,gBAAgB,MAAM;AACtB;;;AAGA;AACA;AACA;AACA,OAAO;;AAEP;AACA;AACA;AACA,QAAQ;AACR;AACA;AACA,UAAU;AACV;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB,QAAQ;AACxB,gBAAgB,MAAM;AACtB;;;AAGA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,QAAQ;AACR;AACA;AACA;AACA,SAAS;AACT;;AAEA,kCAAkC;;AAElC;AACA;AACA;AACA;AACA,YAAY;AACZ,UAAU;AACV;AACA;AACA,YAAY;AACZ;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB,QAAQ;AACxB,gBAAgB,UAAU;AAC1B;;;AAGA;AACA;AACA;AACA;;AAEA;AACA;AACA,QAAQ;AACR;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,UAAU;AACV;AACA;;;AAGA;AACA;;AAEA;AACA;AACA,UAAU,WAAW;AACrB;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;;AAGA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,gBAAgB,UAAU;AAC1B,gBAAgB,UAAU;AAC1B;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB,MAAM;AACtB,gBAAgB,SAAS;AACzB;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB,MAAM;AACtB,gBAAgB,SAAS;AACzB;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB,QAAQ;AACxB,gBAAgB,MAAM;AACtB,gBAAgB,QAAQ;AACxB;;;AAGA;AACA;AACA;AACA;;AAEA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB,MAAM;AACvB,iBAAiB,SAAS;AAC1B;;;AAGA;AACA;AACA;;AAEA;AACA;;;AAGA;AACA;;AAEA;AACA;AACA;;;AAGA;AACA;;AAEA;AACA;AACA;;;AAGA;AACA;;AAEA;AACA;AACA;AACA,OAAO;AACP;;;AAGA;AACA;;AAEA;AACA;AACA;;;AAGA;AACA;;AAEA;AACA;AACA;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA;;AAEA;AACA;;AAEA,yCAAyC,QAAQ;AACjD;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;;AAGA;AACA;;AAEA;AACA;AACA;;;AAGA;AACA;;AAEA;AACA;AACA;;;AAGA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA;;;AAGA;;AAEA;AACA;AACA;AACA;AACA;AACA,gBAAgB,QAAQ;AACxB,gBAAgB,QAAQ;AACxB,gBAAgB,QAAQ;AACxB,gBAAgB,SAAS;AACzB;AACA;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,4CAA4C;;;AAG5C,wFAAwF,+DAA+D;AACvJ;AACA;AACA;AACA;AACA;AACA,uTAAuT;AACvT;AACA;AACA;;AAEA,QAAQ,wCAAwC,sFAAsF,oKAAoK,qHAAqH;AAC/Z;AACA,QAAQ;;AAER;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,QAAQ;AACvB;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB,MAAM;AACtB;;;AAGA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA,sCAAsC;;AAEtC;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,2CAA2C;;AAE3C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,6CAA6C;;AAE7C;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;;AAGA;AACA;;;AAGA;AACA;AACA;AACA;;;AAGA;AACA;;AAEA;AACA;AACA;;;AAGA;AACA;AACA;AACA;AACA;AACA;;;AAGA;;AAEA;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA,+CAA+C;;;AAG/C;AACA;AACA;;;AAGA;AACA,8BAA8B;AAC9B;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA,YAAY;AACZ;AACA;AACA;;AAEA;AACA,UAAU;AACV;AACA;;;AAGA;AACA;AACA;AACA;AACA;AACA,gBAAgB,kBAAkB;AAClC;;;AAGA;AACA;;AAEA;AACA;;;AAGA;;AAEA;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA;;;AAGA;AACA;AACA;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,aAAa;AAC5B,eAAe,QAAQ;AACvB;AACA;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;;AAGA;AACA;AACA;;AAEA;AACA;AACA;AACA,UAAU;AACV;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;;AAGA;AACA;AACA;AACA;;;AAGA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,QAAQ;AACR;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,UAAU;AACV;AACA,UAAU;AACV;AACA;AACA;AACA,QAAQ;AACR;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;;AAEA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA;;;AAGA;AACA;;;AAGA;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA;;;AAGA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;;AAGA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,UAAU;AACV;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,QAAQ;AACvB;;;AAGA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA;AACA;AACA;A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,OAAO,KAAK,UAAU,UAAU,UAAU,YAAY,OAAO,KAAK,YAAY,WAAW,UAAU,MAAM,KAAK,QAAQ,MAAM,UAAU,UAAU,UAAU,YAAY,OAAO,KAAK,YAAY,OAAO,KAAK,YAAY,OAAO,KAAK,UAAU,UAAU,UAAU,UAAU,YAAY,aAAa,WAAW,YAAY,OAAO,KAAK,UAAU,UAAU,UAAU,UAAU,YAAY,aAAa,WAAW,YAAY,OAAO,KAAK,QAAQ,MAAM,UAAU,MAAM,MAAM,MAAM,KAAK,UAAU,UAAU,UAAU,UAAU,YAAY,OAAO,KAAK,UAAU,MAAM,KAAK,UAAU,MAAM,KAAK,UAAU,MAAM,KAAK,UAAU,UAAU,YAAY,WAAW,UAAU,MAAM,KAAK,UAAU,UAAU,UAAU,YAAY,OAAO,KAAK,UAAU,UAAU,UAAU,UAAU,YAAY,OAAO,KAAK,UAAU,UAAU,YAAY,WAAW,UAAU,MAAM,KAAK,UAAU,UAAU,UAAU,UAAU,YAAY,OAAO,KAAK,KAAK,UAAU,UAAU,UAAU,UAAU,OAAO,KAAK,UAAU,UAAU,UAAU,KAAK,MAAM,KAAK,KAAK,UAAU,UAAU,UAAU,UAAU,OAAO,KAAK,UAAU,UAAU,UAAU,KAAK,MAAM,KAAK,UAAU,UAAU,UAAU,UAAU,OAAO,KAAK,UAAU,UAAU,UAAU,UAAU,OAAO,KAAK,YAAY,aAAa,aAAa,aAAa,aAAa,OAAO,KAAK,UAAU,UAAU,UAAU,YAAY,WAAW,UAAU,YAAY,aAAa,aAAa,aAAa,aAAa,OAAO,KAAK,UAAU,UAAU,UAAU,YAAY,WAAW,UAAU,YAAY,OAAO,KAAK,UAAU,UAAU,YAAY,aAAa,OAAO,KAAK,YAAY,aAAa,aAAa,WAAW,UAAU,UAAU,YAAY,OAAO,KAAK,YAAY,WAAW,UAAU,OAAO,SAAS,UAAU,UAAU,YAAY,aAAa,aAAa,aAAa,aAAa,aAAa,WAAW,YAAY,aAAa,WAAW,MAAM,SAAS,UAAU,UAAU,YAAY,aAAa,aAAa,aAAa,aAAa,aAAa,WAAW,YAAY,WAAW,YAAY,WAAW,MAAM,KAAK,UAAU,UAAU,YAAY,WAAW,UAAU,OAAO,KAAK,UAAU,UAAU,MAAM,KAAK,YAAY,OAAO,KAAK,UAAU,OAAO,KAAK,YAAY,aAAa,OAAO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","sources":["webpack://@wiris/html-integrations/./packages/devkit/src/core.src.js","webpack://@wiris/html-integrations/./packages/devkit/src/parser.js","webpack://@wiris/html-integrations/./packages/devkit/src/util.js","webpack://@wiris/html-integrations/./node_modules/dompurify/dist/purify.js","webpack://@wiris/html-integrations/./packages/devkit/src/mathml.js","webpack://@wiris/html-integrations/./packages/devkit/src/constants.js","webpack://@wiris/html-integrations/./packages/devkit/src/configuration.js","webpack://@wiris/html-integrations/./packages/devkit/src/latex.js","webpack://@wiris/html-integrations/./packages/devkit/src/textcache.js","webpack://@wiris/html-integrations/./packages/devkit/src/serviceprovider.js","webpack://@wiris/html-integrations/./packages/devkit/src/listeners.js","webpack://@wiris/html-integrations/./packages/devkit/src/stringmanager.js","webpack://@wiris/html-integrations/./packages/devkit/src/image.js","webpack://@wiris/html-integrations/./packages/devkit/src/accessibility.js","webpack://@wiris/html-integrations/./packages/devkit/src/md5.js","webpack://@wiris/html-integrations/./packages/devkit/src/contentmanager.js","webpack://@wiris/html-integrations/./packages/devkit/src/editorlistener.js","webpack://@wiris/html-integrations/./packages/devkit/src/telemeter.js","webpack://@wiris/html-integrations/./packages/devkit/telemeter-wasm/telemeter_wasm.js","webpack://@wiris/html-integrations/./packages/devkit/src/customeditors.js","webpack://@wiris/html-integrations/./packages/devkit/src/jsvariables.js","webpack://@wiris/html-integrations/./packages/devkit/src/event.js","webpack://@wiris/html-integrations/./packages/devkit/src/modal.js","webpack://@wiris/html-integrations/./packages/devkit/src/popupmessage.js","webpack://@wiris/html-integrations/./packages/devkit/src/integrationmodel.js","webpack://@wiris/html-integrations/./packages/devkit/styles/icons/general/warn_icon.svg","webpack://@wiris/html-integrations/./packages/devkit/styles/icons/general/close_icon.svg","webpack://@wiris/html-integrations/./packages/devkit/styles/icons/hover/close_icon_h.svg","webpack://@wiris/html-integrations/./packages/devkit/styles/icons/general/fulls_icon.svg","webpack://@wiris/html-integrations/./packages/devkit/styles/icons/hover/fulls_icon_h.svg","webpack://@wiris/html-integrations/./packages/devkit/styles/icons/general/min_icon.svg","webpack://@wiris/html-integrations/./packages/devkit/styles/icons/hover/min_icon_h.svg","webpack://@wiris/html-integrations/./packages/devkit/styles/icons/general/mins_icon.svg","webpack://@wiris/html-integrations/./packages/devkit/styles/icons/hover/mins_icon_h.svg","webpack://@wiris/html-integrations/./packages/devkit/styles/icons/general/max_icon.svg","webpack://@wiris/html-integrations/./packages/devkit/styles/icons/hover/max_icon_h.svg","webpack://@wiris/html-integrations/./packages/devkit/src/polyfills.js","webpack://@wiris/html-integrations/./packages/devkit/styles/styles.css?d871","webpack://@wiris/html-integrations/./node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js","webpack://@wiris/html-integrations/./node_modules/style-loader/dist/runtime/styleDomAPI.js","webpack://@wiris/html-integrations/./node_modules/style-loader/dist/runtime/insertBySelector.js","webpack://@wiris/html-integrations/./node_modules/style-loader/dist/runtime/setAttributesWithoutAttributes.js","webpack://@wiris/html-integrations/./node_modules/style-loader/dist/runtime/insertStyleElement.js","webpack://@wiris/html-integrations/./node_modules/style-loader/dist/runtime/styleTagTransform.js","webpack://@wiris/html-integrations/./packages/devkit/styles/styles.css","webpack://@wiris/html-integrations/./node_modules/css-loader/dist/runtime/cssWithMappingToString.js","webpack://@wiris/html-integrations/./node_modules/css-loader/dist/runtime/api.js","webpack://@wiris/html-integrations/./packages/devkit/src/backwardslib.js","webpack://@wiris/html-integrations/./packages/devkit/src/test.js","webpack://@wiris/html-integrations/./packages/tinymce6/editor_plugin.src.js","webpack://@wiris/html-integrations/webpack/bootstrap","webpack://@wiris/html-integrations/webpack/runtime/compat get default export","webpack://@wiris/html-integrations/webpack/runtime/define property getters","webpack://@wiris/html-integrations/webpack/runtime/global","webpack://@wiris/html-integrations/webpack/runtime/harmony module decorator","webpack://@wiris/html-integrations/webpack/runtime/hasOwnProperty shorthand","webpack://@wiris/html-integrations/webpack/runtime/make namespace object","webpack://@wiris/html-integrations/webpack/runtime/jsonp chunk loading","webpack://@wiris/html-integrations/webpack/runtime/nonce","webpack://@wiris/html-integrations/./packages/tinymce6/global.js"],"sourcesContent":["import Parser from './parser';\nimport Util from './util';\nimport StringManager from './stringmanager';\nimport ContentManager from './contentmanager';\nimport Latex from './latex';\nimport MathML from './mathml';\nimport CustomEditors from './customeditors';\nimport Configuration from './configuration';\nimport jsProperties from './jsvariables';\nimport Event from './event';\nimport Listeners from './listeners';\nimport Image from './image';\nimport ServiceProvider from './serviceprovider';\nimport ModalDialog from './modal';\nimport Telemeter from './telemeter';\nimport './polyfills';\nimport '../styles/styles.css';\n\n/**\n * @typedef {Object} CoreProperties\n * @property {ServiceProviderProperties} serviceProviderProperties\n * - The ServiceProvider class properties. *\n */\nexport default class Core {\n /**\n * @classdesc\n * This class represents MathType integration Core, managing the following:\n * - Integration initialization.\n * - Event managing.\n * - Insertion of formulas into the edit area.\n * ```js\n * let core = new Core();\n * core.addListener(listener);\n * core.language = 'en';\n *\n * // Initializing Core class.\n * core.init(configurationService);\n * ```\n * @constructs\n * Core constructor.\n * @param {CoreProperties}\n */\n constructor(coreProperties) {\n /**\n * Language. Needed for accessibility and locales. 'en' by default.\n * @type {String}\n */\n this.language = 'en';\n\n /**\n * Edit mode, 'images' by default. Admits the following values:\n * - images\n * - latex\n * @type {String}\n */\n this.editMode = 'images';\n\n /**\n * Modal dialog instance.\n * @type {ModalDialog}\n */\n this.modalDialog = null;\n\n /**\n * The instance of {@link CustomEditors}. By default\n * the only custom editor is the Chemistry editor.\n * @type {CustomEditors}\n */\n this.customEditors = new CustomEditors();\n\n /**\n * Chemistry editor.\n * @type {CustomEditor}\n */\n const chemEditorParams = {\n name: 'Chemistry',\n toolbar: 'chemistry',\n icon: 'chem.png',\n confVariable: 'chemEnabled',\n title: 'ChemType',\n tooltip: 'Insert a chemistry formula - ChemType', // TODO: Localize tooltip.\n };\n\n this.customEditors.addEditor('chemistry', chemEditorParams);\n\n /**\n * Environment properties. This object contains data about the integration platform.\n * @typedef IntegrationEnvironment\n * @property {String} IntegrationEnvironment.editor - Editor name. For example the HTML editor.\n * @property {String} IntegrationEnvironment.mode - Integration save mode.\n * @property {String} IntegrationEnvironment.version - Integration version.\n *\n */\n\n /**\n * The environment properties object.\n * @type {IntegrationEnvironment}\n */\n this.environment = {};\n\n /**\n * @typedef EditionProperties\n * @property {Boolean} editionProperties.isNewElement - True if the formula is a new one.\n * False otherwise.\n * @property {HTMLImageElement} editionProperties.temporalImage- The image element.\n * Null if the formula is new.\n * @property {Range} editionProperties.latexRange - Tha range that contains the LaTeX formula.\n * @property {Range} editionProperties.range - The range that contains the image element.\n * @property {String} editionProperties.editMode - The edition mode. 'images' by default.\n */\n\n /**\n * The properties of the current edition process.\n * @type {EditionProperties}\n */\n this.editionProperties = {};\n\n this.editionProperties.isNewElement = true;\n this.editionProperties.temporalImage = null;\n this.editionProperties.latexRange = null;\n this.editionProperties.range = null;\n this.editionProperties.editionStartTime = null;\n\n /**\n * The {@link IntegrationModel} instance.\n * @type {IntegrationModel}\n */\n this.integrationModel = null;\n\n /**\n * The {@link ContentManager} instance.\n * @type {ContentManager}\n */\n this.contentManager = null;\n\n /**\n * The current browser.\n * @type {String}\n */\n this.browser = (() => {\n const ua = navigator.userAgent;\n let browser = 'none';\n if (ua.search('Edge/') >= 0) {\n browser = 'EDGE';\n } else if (ua.search('Chrome/') >= 0) {\n browser = 'CHROME';\n } else if (ua.search('Trident/') >= 0) {\n browser = 'IE';\n } else if (ua.search('Firefox/') >= 0) {\n browser = 'FIREFOX';\n } else if (ua.search('Safari/') >= 0) {\n browser = 'SAFARI';\n }\n return browser;\n }\n )();\n\n /**\n * Plugin listeners.\n * @type {Array.}\n */\n this.listeners = new Listeners();\n\n /**\n * Service provider properties.\n * @type {ServiceProviderProperties}\n */\n this.serviceProviderProperties = {};\n if ('serviceProviderProperties' in coreProperties) {\n this.serviceProviderProperties = coreProperties.serviceProviderProperties;\n } else {\n throw new Error('serviceProviderProperties property missing.');\n }\n }\n\n /**\n * Static property.\n * Core listeners.\n * @private\n * @type {Listeners}\n */\n static get globalListeners() {\n return Core._globalListeners;\n }\n\n /**\n * Static property setter.\n * Set core listeners.\n * @param {Listeners} value - The property value.\n * @ignore\n */\n static set globalListeners(value) {\n Core._globalListeners = value;\n }\n\n /**\n * Core state. Says if it was loaded previously.\n * True when Core.init was called. Otherwise, false.\n * @private\n * @type {Boolean}\n */\n static get initialized() {\n return Core._initialized;\n }\n\n /**\n * Core state. Says if it was loaded previously.\n * @param {Boolean} value - True to say that Core.init was called. Otherwise, false.\n * @ignore\n */\n static set initialized(value) {\n Core._initialized = value;\n }\n\n /**\n * Sets the {@link Core.integrationModel} property.\n * @param {IntegrationModel} integrationModel - The {@link IntegrationModel} property.\n */\n setIntegrationModel(integrationModel) {\n this.integrationModel = integrationModel;\n }\n\n /**\n * Sets the {@link Core.environment} property.\n * @param {IntegrationEnvironment} integrationEnvironment -\n * The {@link IntegrationEnvironment} object.\n */\n setEnvironment(integrationEnvironment) {\n if ('editor' in integrationEnvironment) {\n this.environment.editor = integrationEnvironment.editor;\n }\n if ('mode' in integrationEnvironment) {\n this.environment.mode = integrationEnvironment.mode;\n }\n if ('version' in integrationEnvironment) {\n this.environment.version = integrationEnvironment.version;\n }\n }\n\n /**\n * Returns the current {@link ModalDialog} instance.\n * @returns {ModalDialog} The current {@link ModalDialog} instance.\n */\n getModalDialog() {\n return this.modalDialog;\n }\n\n /**\n * Inits the {@link Core} class, doing the following:\n * - Calls asynchronously configuration service, retrieving the backend configuration in a JSON.\n * - Updates {@link Configuration} class with the previous configuration properties.\n * - Updates the {@link ServiceProvider} class using the configuration service path as reference.\n * - Loads language strings.\n * - Fires onLoad event.\n * @param {Object} serviceParameters - Service parameters.\n */\n init() {\n if (!Core.initialized) {\n const serviceProviderListener = Listeners.newListener('onInit', () => {\n const jsConfiguration = ServiceProvider.getService('configurationjs', '', 'get');\n const jsonConfiguration = JSON.parse(jsConfiguration);\n Configuration.addConfiguration(jsonConfiguration);\n // Adding JavaScript (not backend) configuration variables.\n Configuration.addConfiguration(jsProperties);\n // Fire 'onLoad' event:\n // All integration must listen this event in order to know if the plugin\n // has been properly loaded.\n StringManager.language = this.language;\n this.listeners.fire('onLoad', {});\n });\n\n ServiceProvider.addListener(serviceProviderListener);\n ServiceProvider.init(this.serviceProviderProperties);\n\n Core.initialized = true;\n } else {\n // Case when there are more than two editor instances.\n // After the first editor all the other editors don't need to load any file or service.\n this.listeners.fire('onLoad', {});\n }\n }\n\n /**\n * Adds a {@link Listener} to the current instance of the {@link Core} class.\n * @param {Listener} listener - The listener object.\n */\n addListener(listener) {\n this.listeners.add(listener);\n }\n\n /**\n * Adds the global {@link Listener} instance to {@link Core} class.\n * @param {Listener} listener - The event listener to be added.\n * @static\n */\n static addGlobalListener(listener) {\n Core.globalListeners.add(listener);\n }\n\n beforeUpdateFormula(mathml, wirisProperties) {\n /**\n * This event is fired before updating the formula.\n * @type {Object}\n * @property {String} mathml - MathML to be transformed.\n * @property {String} editMode - Edit mode.\n * @property {Object} wirisProperties - Extra attributes for the formula.\n * @property {String} language - Formula language.\n */\n const beforeUpdateEvent = new Event();\n\n beforeUpdateEvent.mathml = mathml;\n\n // Cloning wirisProperties object\n // We don't want wirisProperties object modified.\n beforeUpdateEvent.wirisProperties = {};\n\n if (wirisProperties != null) {\n Object.keys(wirisProperties).forEach((attr) => {\n beforeUpdateEvent.wirisProperties[attr] = wirisProperties[attr];\n });\n }\n\n // Read only.\n beforeUpdateEvent.language = this.language;\n beforeUpdateEvent.editMode = this.editMode;\n\n if (this.listeners.fire('onBeforeFormulaInsertion', beforeUpdateEvent)) {\n return {};\n }\n\n if (Core.globalListeners.fire('onBeforeFormulaInsertion', beforeUpdateEvent)) {\n return {};\n }\n\n return {\n mathml: beforeUpdateEvent.mathml,\n wirisProperties: beforeUpdateEvent.wirisProperties,\n };\n }\n\n /**\n * Converts a MathML into it's correspondent image and inserts the image is\n * inserted in a HTMLElement target by creating\n * a new image or updating an existing one.\n * @param {HTMLElement} focusElement - The HTMLElement to be focused after the insertion.\n * @param {Window} windowTarget - The window element where the editable content is.\n * @param {String} mathml - The MathML.\n * @param {Array.} wirisProperties - The extra attributes for the formula.\n * @returns {ReturnObject} - Object with the information of the node or latex to insert.\n */\n insertFormula(focusElement, windowTarget, mathml, wirisProperties) {\n /**\n * It is the object with the information of the node or latex to insert.\n * @typedef ReturnObject\n * @property {Node} [node] - The DOM node to insert.\n * @property {String} [latex] - The latex to insert.\n */\n const returnObject = {};\n\n if (!mathml) {\n this.insertElementOnSelection(null, focusElement, windowTarget);\n } else if (this.editMode === 'latex') {\n returnObject.latex = Latex.getLatexFromMathML(mathml);\n // this.integrationModel.getNonLatexNode is an integration wrapper\n // to have special behaviours for nonLatex.\n // Not all the integrations have special behaviours for nonLatex.\n if (!!this.integrationModel.fillNonLatexNode && !returnObject.latex) {\n const afterUpdateEvent = new Event();\n afterUpdateEvent.editMode = this.editMode;\n afterUpdateEvent.windowTarget = windowTarget;\n afterUpdateEvent.focusElement = focusElement;\n afterUpdateEvent.latex = returnObject.latex;\n this.integrationModel.fillNonLatexNode(afterUpdateEvent, windowTarget, mathml);\n } else {\n returnObject.node = windowTarget.document.createTextNode(`$$${returnObject.latex}$$`);\n }\n this.insertElementOnSelection(returnObject.node, focusElement, windowTarget);\n } else {\n returnObject.node = Parser.mathmlToImgObject(windowTarget.document,\n mathml,\n wirisProperties, this.language);\n\n this.insertElementOnSelection(returnObject.node, focusElement, windowTarget);\n }\n\n return returnObject;\n }\n\n afterUpdateFormula(focusElement, windowTarget, node, latex) {\n /**\n * This event is fired after update the formula.\n * @type {Event}\n * @param {String} editMode - edit mode.\n * @param {Object} windowTarget - target window.\n * @param {Object} focusElement - target element to be focused after update.\n * @param {String} latex - LaTeX generated by the formula (editMode=latex).\n * @param {Object} node - node generated after update the formula (text if LaTeX img otherwise).\n */\n const afterUpdateEvent = new Event();\n afterUpdateEvent.editMode = this.editMode;\n afterUpdateEvent.windowTarget = windowTarget;\n afterUpdateEvent.focusElement = focusElement;\n afterUpdateEvent.node = node;\n afterUpdateEvent.latex = latex;\n\n if (this.listeners.fire('onAfterFormulaInsertion', afterUpdateEvent)) {\n return {};\n }\n\n if (Core.globalListeners.fire('onAfterFormulaInsertion', afterUpdateEvent)) {\n return {};\n }\n\n return {};\n }\n\n /**\n * Sets the caret after a given Node and set the focus to the owner document.\n * @param {Node} node - The Node element.\n */\n placeCaretAfterNode(node) {\n this.integrationModel.getSelection();\n const nodeDocument = node.ownerDocument;\n if (typeof nodeDocument.getSelection !== 'undefined' && !!node.parentElement) {\n const range = nodeDocument.createRange();\n range.setStartAfter(node);\n range.collapse(true);\n const selection = nodeDocument.getSelection();\n selection.removeAllRanges();\n selection.addRange(range);\n nodeDocument.body.focus();\n }\n }\n\n /**\n * Replaces a Selection object with an HTMLElement.\n * @param {HTMLElement} element - The HTMLElement to replace the selection.\n * @param {HTMLElement} focusElement - The HTMLElement to be focused after the replace.\n * @param {Window} windowTarget - The window target.\n */\n insertElementOnSelection(element, focusElement, windowTarget) {\n let mathmlOrigin = null;\n if (this.editionProperties.isNewElement) {\n if (element) {\n if (focusElement.type === 'textarea') {\n Util.updateTextArea(focusElement, element.textContent);\n } else if (document.selection && document.getSelection === 0) {\n let range = windowTarget.document.selection.createRange();\n windowTarget.document.execCommand('InsertImage', false, element.src);\n\n if (!('parentElement' in range)) {\n windowTarget.document.execCommand('delete', false);\n range = windowTarget.document.selection.createRange();\n windowTarget.document.execCommand('InsertImage', false, element.src);\n }\n\n if ('parentElement' in range) {\n const temporalObject = range.parentElement();\n\n if (temporalObject.nodeName.toUpperCase() === 'IMG') {\n temporalObject.parentNode.replaceChild(element, temporalObject);\n } else {\n // IE9 fix: parentNode() does not return the IMG node,\n // returns the parent DIV node. In IE < 9, pasteHTML does not work well.\n range.pasteHTML(Util.createObjectCode(element));\n }\n }\n } else {\n const editorSelection = this.integrationModel.getSelection();\n let range = null;\n // In IE is needed keep the range due to after focus the modal window\n // it can't be retrieved the last selection.\n if (this.editionProperties.range) {\n ({ range } = this.editionProperties);\n this.editionProperties.range = null;\n } else {\n range = editorSelection.getRangeAt(0);\n }\n\n // Delete if something was surrounded.\n range.deleteContents();\n\n let node = range.startContainer;\n const position = range.startOffset;\n\n if (node.nodeType === 3) { // TEXT_NODE.\n node = node.splitText(position);\n node.parentNode.insertBefore(element, node);\n } else if (node.nodeType === 1) { // ELEMENT_NODE.\n node.insertBefore(element, node.childNodes[position]);\n }\n\n this.placeCaretAfterNode(element);\n }\n } else if (focusElement.type === 'textarea') {\n focusElement.focus();\n } else {\n const editorSelection = this.integrationModel.getSelection();\n editorSelection.removeAllRanges();\n\n if (this.editionProperties.range) {\n const { range } = this.editionProperties;\n this.editionProperties.range = null;\n editorSelection.addRange(range);\n }\n }\n } else if (this.editionProperties.latexRange) {\n if (document.selection && document.getSelection === 0) {\n this.editionProperties.isNewElement = true;\n this.editionProperties.latexRange.select();\n this.insertElementOnSelection(element, focusElement, windowTarget);\n } else {\n this.editionProperties.latexRange.deleteContents();\n this.editionProperties.latexRange.insertNode(element);\n this.placeCaretAfterNode(element);\n }\n } else if (focusElement.type === 'textarea') {\n let item;\n // Wrapper for some integrations that can have special behaviours to show latex.\n if (typeof this.integrationModel.getSelectedItem !== 'undefined') {\n item = this.integrationModel.getSelectedItem(focusElement, false);\n } else {\n item = Util.getSelectedItemOnTextarea(focusElement);\n }\n Util.updateExistingTextOnTextarea(focusElement,\n element.textContent,\n item.startPosition,\n item.endPosition);\n } else {\n mathmlOrigin = this.editionProperties.temporalImage?.dataset.mathml;\n if (element && element.nodeName.toLowerCase() === 'img') { // Editor empty, formula has been erased on edit.\n // There are editors (e.g: CKEditor) that put attributes in images.\n // We don't allow that behaviour in our images.\n Image.removeImgDataAttributes(this.editionProperties.temporalImage);\n // Clone is needed to maintain event references to temporalImage.\n Image.clone(element, this.editionProperties.temporalImage);\n } else {\n this.editionProperties.temporalImage.remove();\n }\n this.placeCaretAfterNode(this.editionProperties.temporalImage);\n }\n \n // Build the telemeter payload separated to delete null/undefined entries.\n const mathml = element?.dataset?.mathml;\n let payload = {\n mathml_origin: mathmlOrigin ? MathML.safeXmlDecode(mathmlOrigin) : mathmlOrigin,\n mathml: mathml ? MathML.safeXmlDecode(mathml) : mathml,\n elapsed_time: Date.now() - this.editionProperties.editionStartTime,\n editor_origin: null, // TODO read formula to find out whether it comes from Oxygen Desktop\n toolbar: this.modalDialog.contentManager.toolbar,\n size: mathml?.length,\n };\n\n // Remove the desired null keys.\n Object.keys(payload).forEach(key => {\n if (key === 'mathml_origin' || key === 'editor_origin') !payload[key] ? delete payload[key] : {}\n });\n \n try {\n Telemeter.telemeter.track(\"INSERTED_FORMULA\", {\n ...payload,\n });\n } catch (err) {\n console.error(err);\n }\n }\n\n /**\n * Opens a modal dialog containing MathType editor..\n * @param {HTMLElement} target - The target HTMLElement where formulas should be inserted.\n * @param {Boolean} isIframe - True if the target HTMLElement is an iframe. False otherwise.\n */\n openModalDialog(target, isIframe) {\n\n // Count the time since the editor is open\n this.editionProperties.editionStartTime = Date.now();\n\n // Textarea elements don't have normal document ranges. It only accepts latex edit.\n this.editMode = 'images';\n\n // In IE is needed keep the range due to after focus the modal window\n // it can't be retrieved the last selection.\n try {\n if (isIframe) {\n // Is needed focus the target first.\n target.contentWindow.focus();\n const selection = target.contentWindow.getSelection();\n this.editionProperties.range = selection.getRangeAt(0);\n } else {\n // Is needed focus the target first.\n target.focus();\n const selection = getSelection();\n this.editionProperties.range = selection.getRangeAt(0);\n }\n } catch (e) {\n this.editionProperties.range = null;\n }\n\n if (isIframe === undefined) {\n isIframe = true;\n }\n\n this.editionProperties.latexRange = null;\n\n if (target) {\n let selectedItem;\n if (typeof this.integrationModel.getSelectedItem !== 'undefined') {\n selectedItem = this.integrationModel.getSelectedItem(target, isIframe);\n } else {\n selectedItem = Util.getSelectedItem(target, isIframe);\n }\n\n // Check LaTeX if and only if the node is a text node (nodeType==3).\n if (selectedItem) {\n // Case when image was selected and button pressed.\n if (!selectedItem.caretPosition && Util.containsClass(selectedItem.node, Configuration.get('imageClassName'))) {\n this.editionProperties.temporalImage = selectedItem.node;\n this.editionProperties.isNewElement = false;\n } else if (selectedItem.node.nodeType === 3) {\n // If it's a text node means that editor is working with LaTeX.\n if (this.integrationModel.getMathmlFromTextNode) {\n // If integration has this function it isn't set range due to we don't\n // know if it will be put into a textarea as a text or image.\n const mathml = this.integrationModel.getMathmlFromTextNode(\n selectedItem.node,\n selectedItem.caretPosition,\n );\n if (mathml) {\n this.editMode = 'latex';\n this.editionProperties.isNewElement = false;\n this.editionProperties.temporalImage = document.createElement('img');\n this.editionProperties.temporalImage.setAttribute(\n Configuration.get('imageMathmlAttribute'),\n MathML.safeXmlEncode(mathml),\n );\n }\n } else {\n const latexResult = Latex.getLatexFromTextNode(\n selectedItem.node,\n selectedItem.caretPosition,\n );\n if (latexResult) {\n const mathml = Latex.getMathMLFromLatex(latexResult.latex);\n this.editMode = 'latex';\n this.editionProperties.isNewElement = false;\n this.editionProperties.temporalImage = document.createElement('img');\n this.editionProperties.temporalImage.setAttribute(\n Configuration.get('imageMathmlAttribute'),\n MathML.safeXmlEncode(mathml),\n );\n const windowTarget = isIframe ? target.contentWindow : window;\n\n if (target.tagName.toLowerCase() !== 'textarea') {\n if (document.selection) {\n let leftOffset = 0;\n let previousNode = latexResult.startNode.previousSibling;\n\n while (previousNode) {\n leftOffset += Util.getNodeLength(previousNode);\n previousNode = previousNode.previousSibling;\n }\n\n this.editionProperties.latexRange = windowTarget.document.selection.createRange();\n this.editionProperties.latexRange.moveToElementText(\n latexResult.startNode.parentNode,\n );\n this.editionProperties.latexRange.move(\n 'character',\n leftOffset + latexResult.startPosition,\n );\n this.editionProperties.latexRange.moveEnd(\n 'character',\n latexResult.latex.length + 4,\n ); // Plus 4 for the '$$' characters.\n } else {\n this.editionProperties.latexRange = windowTarget.document.createRange();\n this.editionProperties.latexRange.setStart(\n latexResult.startNode,\n latexResult.startPosition,\n );\n this.editionProperties.latexRange.setEnd(\n latexResult.endNode,\n latexResult.endPosition,\n );\n }\n }\n }\n }\n }\n } else if (target.tagName.toLowerCase() === 'textarea') {\n // By default editMode is 'images', but when target is a textarea it needs to be 'latex'.\n this.editMode = 'latex';\n }\n }\n\n // Setting an object with the editor parameters.\n // Editor parameters can be customized in several ways:\n // 1 - editorAttributes: Contains the default editor attributes,\n // usually the metrics in a comma separated string. Always exists.\n // 2 - editorParameters: Object containing custom editor parameters.\n // These parameters are defined in the backend. So they affects all integration instances.\n\n // The backend send the default editor attributes in a coma separated\n // with the following structure: key1=value1,key2=value2...\n const defaultEditorAttributesArray = Configuration.get('editorAttributes').split(', ');\n const defaultEditorAttributes = {};\n for (let i = 0, len = defaultEditorAttributesArray.length; i < len; i += 1) {\n const tempAttribute = defaultEditorAttributesArray[i].split('=');\n const key = tempAttribute[0];\n const value = tempAttribute[1];\n defaultEditorAttributes[key] = value;\n }\n // Custom editor parameters.\n const editorAttributes = {\n language: this.language, // Default language value\n };\n // Editor parameters in backend, usually configuration.ini.\n const serverEditorParameters = Configuration.get('editorParameters');\n // Editor parameters through JavaScript configuration.\n const cliendEditorParameters = this.integrationModel.editorParameters;\n Object.assign(editorAttributes, defaultEditorAttributes, serverEditorParameters);\n Object.assign(editorAttributes, defaultEditorAttributes, cliendEditorParameters);\n\n // Now, update backwards: if user has set a custom language, pass that back to core properties\n this.language = editorAttributes.language;\n StringManager.language = this.language;\n\n editorAttributes.rtl = this.integrationModel.rtl;\n\n const contentManagerAttributes = {};\n contentManagerAttributes.editorAttributes = editorAttributes;\n contentManagerAttributes.language = this.language;\n contentManagerAttributes.customEditors = this.customEditors;\n contentManagerAttributes.environment = this.environment;\n\n if (this.modalDialog == null) {\n this.modalDialog = new ModalDialog(editorAttributes);\n this.contentManager = new ContentManager(contentManagerAttributes);\n // When an instance of ContentManager is created we need to wait until\n // the ContentManager is ready by listening 'onLoad' event.\n const listener = Listeners.newListener('onLoad', () => {\n this.contentManager.dbclick = this.editionProperties.dbclick;\n this.contentManager.isNewElement = this.editionProperties.isNewElement;\n if (this.editionProperties.temporalImage != null) {\n const mathML = MathML.safeXmlDecode(this.editionProperties.temporalImage.getAttribute(Configuration.get('imageMathmlAttribute')));\n this.contentManager.mathML = mathML;\n }\n });\n this.contentManager.addListener(listener);\n this.contentManager.init();\n this.modalDialog.setContentManager(this.contentManager);\n this.contentManager.setModalDialogInstance(this.modalDialog);\n } else {\n this.contentManager.dbclick = this.editionProperties.dbclick;\n this.contentManager.isNewElement = this.editionProperties.isNewElement;\n if (this.editionProperties.temporalImage != null) {\n const mathML = MathML.safeXmlDecode(this.editionProperties.temporalImage.getAttribute(Configuration.get('imageMathmlAttribute')));\n this.contentManager.mathML = mathML;\n }\n }\n this.contentManager.setIntegrationModel(this.integrationModel);\n this.modalDialog.open();\n }\n\n /**\n * Returns the {@link CustomEditors} instance.\n * @return {CustomEditors} The current {@link CustomEditors} instance.\n */\n getCustomEditors() {\n return this.customEditors;\n }\n}\n\n/**\n * Core static listeners.\n * @type {Listeners}\n * @private\n */\nCore._globalListeners = new Listeners();\n\n/**\n * Resources state. Says if they were loaded or not.\n * @type {Boolean}\n * @private\n */\nCore._initialized = false;\n","import Util from './util';\nimport Latex from './latex';\nimport MathML from './mathml';\nimport Image from './image';\nimport Accessibility from './accessibility';\nimport ServiceProvider from './serviceprovider';\nimport Configuration from './configuration';\nimport Constants from './constants';\n// eslint-disable-next-line no-unused-vars\nimport md5 from './md5';\n\n/**\n * @classdesc\n * This class represent a MahML parser. Converts MathML into formulas depending on the\n * image format (SVG, PNG, base64) and the save mode (XML, safeXML, Image) configured\n * in the backend.\n */\nexport default class Parser {\n /**\n * Converts a MathML string to an img element.\n * @param {Document} creator - Document object to call createElement method.\n * @param {string} mathml - MathML code\n * @param {Object[]} wirisProperties - object containing WIRIS custom properties\n * @param {language} language - custom language for accessibility.\n * @returns {HTMLImageElement} the formula image corresponding to initial MathML string.\n * @static\n */\n static mathmlToImgObject(creator, mathml, wirisProperties, language) {\n const imgObject = creator.createElement('img');\n imgObject.align = 'middle';\n imgObject.style.maxWidth = 'none';\n let data = wirisProperties || {};\n\n // Take into account the backend config\n const wirisEditorProperties = Configuration.get(\"editorParameters\");\n data = { ...wirisEditorProperties, ...data };\n\n data.mml = mathml;\n data.lang = language;\n // Request metrics of the generated image.\n data.metrics = 'true';\n data.centerbaseline = 'false';\n\n // Full base64 method (edit & save).\n if (Configuration.get('saveMode') === 'base64' && Configuration.get('base64savemode') === 'default') {\n data.base64 = true;\n }\n\n // Render js params: _wrs_int_wirisProperties contains some js render params.\n // Since MathML can support render params, js params should be send only to editor.\n\n imgObject.className = Configuration.get('imageClassName');\n\n if (mathml.indexOf('class=\"') !== -1) {\n // We check here if the MathML has been created from a customEditor (such chemistry)\n // to add custom editor name attribute to img object (if necessary).\n let mathmlSubstring = mathml.substring(mathml.indexOf('class=\"') + 'class=\"'.length, mathml.length);\n mathmlSubstring = mathmlSubstring.substring(0, mathmlSubstring.indexOf('\"'));\n mathmlSubstring = mathmlSubstring.substring(4, mathmlSubstring.length);\n imgObject.setAttribute(Configuration.get('imageCustomEditorName'), mathmlSubstring);\n }\n\n // Performance enabled.\n if (Configuration.get('wirisPluginPerformance') && (Configuration.get('saveMode') === 'xml' || Configuration.get('saveMode') === 'safeXml')) {\n let result = JSON.parse(Parser.createShowImageSrc(data, language));\n if (result.status === 'warning') {\n // POST call.\n // if the mathml is malformed, this function will throw an exception.\n try {\n result = JSON.parse(ServiceProvider.getService('showimage', data));\n } catch (e) {\n return null;\n }\n }\n ({ result } = result);\n if (result.format === 'png') {\n imgObject.src = `data:image/png;base64,${result.content}`;\n } else {\n imgObject.src = `data:image/svg+xml;charset=utf8,${Util.urlEncode(result.content)}`;\n }\n imgObject.setAttribute(Configuration.get('imageMathmlAttribute'), MathML.safeXmlEncode(mathml));\n Image.setImgSize(imgObject, result.content, true);\n\n if (Configuration.get('enableAccessibility')) {\n if (typeof result.alt === 'undefined') {\n imgObject.alt = Accessibility.mathMLToAccessible(mathml, language, data);\n } else {\n imgObject.alt = result.alt;\n }\n }\n } else {\n const result = Parser.createImageSrc(mathml, data);\n imgObject.setAttribute(Configuration.get('imageMathmlAttribute'), MathML.safeXmlEncode(mathml));\n imgObject.src = result;\n Image.setImgSize(imgObject, result, Configuration.get('saveMode') === 'base64' && Configuration.get('base64savemode') === 'default');\n if (Configuration.get('enableAccessibility')) {\n imgObject.alt = Accessibility.mathMLToAccessible(mathml, language, data);\n }\n }\n\n if (typeof Parser.observer !== 'undefined') {\n Parser.observer.observe(imgObject);\n }\n\n // Role math https://www.w3.org/TR/wai-aria/roles#math.\n imgObject.setAttribute('role', 'math');\n return imgObject;\n }\n\n /**\n * Returns the source to showimage service by calling createimage service. The\n * output of the createimage service is a URL path pointing to showimage service.\n * This method is called when performance is disabled.\n * @param {string} mathml - MathML code.\n * @param {Object[]} data - data object containing service parameters.\n * @returns {string} the showimage path.\n */\n static createImageSrc(mathml, data) {\n // Full base64 method (edit & save).\n if (Configuration.get('saveMode') === 'base64' && Configuration.get('base64savemode') === 'default') {\n data.base64 = true;\n }\n\n let result = ServiceProvider.getService('createimage', data);\n\n if (result.indexOf('@BASE@') !== -1) {\n // Replacing '@BASE@' with the base URL of createimage.\n const baseParts = ServiceProvider.getServicePath('createimage').split('/');\n baseParts.pop();\n result = result.split('@BASE@').join(baseParts.join('/'));\n }\n\n return result;\n }\n\n /**\n * Parses initial HTML code. If the HTML contains data generated by WIRIS,\n * this data would be converted as following:\n *
    \n   * MathML code: Image containing the corresponding MathML formulas.\n   * MathML code with LaTeX annotation : LaTeX string.\n   * 
    \n * @param {string} code - HTML code containing MathML data.\n * @param {string} language - language to create image alt text.\n * @returns {string} HTML code with the original MathML converted into LaTeX and images.\n */\n static initParse(code, language) {\n /* Note: The code inside this function has been inverted.\n If you invert again the code then you cannot use correctly LaTeX\n in Moodle.\n */\n code = Parser.initParseSaveMode(code, language);\n return Parser.initParseEditMode(code);\n }\n\n /**\n * Parses initial HTML code depending on the save mode. Transforms all MathML\n * occurrences for it's correspondent image or LaTeX.\n * @param {string} code - HTML code to be parsed\n * @param {string} language - language to create image alt text.\n * @returns {string} HTML code parsed.\n */\n static initParseSaveMode(code, language) {\n if (Configuration.get('saveMode')) {\n // Converting XML to tags.\n code = Latex.parseMathmlToLatex(code, Constants.safeXmlCharacters);\n code = Latex.parseMathmlToLatex(code, Constants.xmlCharacters);\n code = Parser.parseMathmlToImg(code, Constants.safeXmlCharacters, language);\n code = Parser.parseMathmlToImg(code, Constants.xmlCharacters, language);\n if (Configuration.get('saveMode') === 'base64' && Configuration.get('base64savemode') === 'image') {\n code = Parser.codeImgTransform(code, 'base642showimage');\n }\n }\n return code;\n }\n\n /**\n * Parses initial HTML code depending on the edit mode.\n * If 'latex' parseMode is enabled all MathML containing an annotation with encoding='LaTeX' will\n * be converted into a LaTeX string instead of an image.\n * @param {string} code - HTML code containing MathML.\n * @returns {string} parsed HTML code.\n */\n static initParseEditMode(code) {\n if (Configuration.get('parseModes').indexOf('latex') !== -1) {\n const imgList = Util.getElementsByNameFromString(code, 'img', true);\n const token = 'encoding=\"LaTeX\">';\n // While replacing images with latex, the indexes of the found images changes\n // respecting the original code, so this carry is needed.\n let carry = 0;\n\n for (let i = 0; i < imgList.length; i += 1) {\n const imgCode = code.substring(imgList[i].start + carry, imgList[i].end + carry);\n\n if (imgCode.indexOf(` class=\"${Configuration.get('imageClassName')}\"`) !== -1) {\n let mathmlStartToken = ` ${Configuration.get('imageMathmlAttribute')}=\"`;\n let mathmlStart = imgCode.indexOf(mathmlStartToken);\n\n if (mathmlStart === -1) {\n mathmlStartToken = ' alt=\"';\n mathmlStart = imgCode.indexOf(mathmlStartToken);\n }\n\n if (mathmlStart !== -1) {\n mathmlStart += mathmlStartToken.length;\n const mathmlEnd = imgCode.indexOf('\"', mathmlStart);\n const mathml = Util.htmlSanitize(MathML.safeXmlDecode(imgCode.substring(mathmlStart, mathmlEnd)));\n let latexStartPosition = mathml.indexOf(token);\n\n if (latexStartPosition !== -1) {\n latexStartPosition += token.length;\n const latexEndPosition = mathml.indexOf('', latexStartPosition);\n const latex = mathml.substring(latexStartPosition, latexEndPosition);\n\n const replaceText = `$$${Util.htmlEntitiesDecode(latex)}$$`;\n const start = code.substring(0, imgList[i].start + carry);\n const end = code.substring(imgList[i].end + carry);\n code = start + replaceText + end;\n carry += replaceText.length - (imgList[i].end - imgList[i].start);\n }\n }\n }\n }\n }\n\n return code;\n }\n\n /**\n * Parses end HTML code. The end HTML code is HTML code with embedded images\n * or LaTeX formulas created with MathType.
    \n * By default this method converts the formula images and LaTeX strings in MathML.
    \n * If image mode is enabled the images will not be converted into MathML. For further information see {@link https://docs.wiris.com/mathtype/en/mathtype-integrations/mathtype-web-interface-features/full-mathml-mode---wirisplugins-js.html}.\n * @param {string} code - HTML to be parsed\n * @returns {string} the HTML code parsed.\n */\n static endParse(code) {\n // Transform LaTeX ocurrences to MathML elements.\n const codeEndParsedEditMode = Parser.endParseEditMode(code);\n // Transform img elements to MathML elements.\n const codeEndParseSaveMode = Parser.endParseSaveMode(codeEndParsedEditMode);\n return codeEndParseSaveMode;\n }\n\n /**\n * Parses end HTML code depending on the edit mode.\n * - LaTeX is an enabled parse mode, all LaTeX occurrences will be converted into MathML.\n * @param {string} code - HTML code to be parsed.\n * @returns {string} HTML code parsed.\n */\n static endParseEditMode(code) {\n // Converting LaTeX to images.\n if (Configuration.get('parseModes').indexOf('latex') !== -1) {\n let output = '';\n let endPosition = 0;\n let startPosition = code.indexOf('$$');\n while (startPosition !== -1) {\n output += code.substring(endPosition, startPosition);\n endPosition = code.indexOf('$$', startPosition + 2);\n\n if (endPosition !== -1) {\n // Before, it was a condition here to execute the next codelines\n // 'latex.indexOf('<') == -1'.\n // We don't know why it was used, but seems to have a conflict with\n // latex formulas that contains '<'.\n const latex = code.substring(startPosition + 2, endPosition);\n const decodedLatex = Util.htmlEntitiesDecode(latex);\n let mathml = Util.htmlSanitize(Latex.getMathMLFromLatex(decodedLatex, true));\n if (!Configuration.get('saveHandTraces')) {\n // Remove hand traces.\n mathml = MathML.removeAnnotation(mathml, 'application/json');\n }\n output += mathml;\n endPosition += 2;\n } else {\n output += '$$';\n endPosition = startPosition + 2;\n }\n\n startPosition = code.indexOf('$$', endPosition);\n }\n\n output += code.substring(endPosition, code.length);\n code = output;\n }\n\n return code;\n }\n\n /**\n * Parses end HTML code depending on the save mode. Converts all\n * images into the element determined by the save mode:\n * - xml: Parses images formulas into MathML.\n * - safeXml: Parses images formulas into safeMAthML\n * - base64: Parses images into base64 images.\n * - image: Parse images into images (no parsing)\n * @param {string} code - HTML code to be parsed\n * @returns {string} HTML code parsed.\n */\n static endParseSaveMode(code) {\n if (Configuration.get('saveMode')) {\n if (Configuration.get('saveMode') === 'safeXml') {\n code = Parser.codeImgTransform(code, 'img2mathml');\n } else if (Configuration.get('saveMode') === 'xml') {\n code = Parser.codeImgTransform(code, 'img2mathml');\n } else if (Configuration.get('saveMode') === 'base64' && Configuration.get('base64savemode') === 'image') {\n code = Parser.codeImgTransform(code, 'img264');\n }\n }\n\n return code;\n }\n\n\n /**\n * Auxiliar function that builds the data object to send to the showimage endpoint\n * @param {Object[]} data - object containing showimage service parameters.\n * @param {string} language - string containing the language of the formula.\n * @returns {Object} JSON object with the data to send to showimage.\n */\n static createShowImageSrcData(data, language) {\n const dataMd5 = {};\n const renderParams = ['mml', 'color', 'centerbaseline', 'zoom', 'dpi', 'fontSize', 'fontFamily', 'defaultStretchy', 'backgroundColor', 'format'];\n renderParams.forEach((param) => {\n if (typeof data[param] !== 'undefined') {\n dataMd5[param] = data[param];\n }\n });\n // Data variables to get.\n const dataObject = {};\n Object.keys(data).forEach((key) => {\n // We don't need mathml in this request we try to get cached.\n // Only need the formula md5 calculated before.\n if (key !== 'mml') {\n dataObject[key] = data[key];\n }\n });\n\n dataObject.formula = com.wiris.js.JsPluginTools.md5encode(Util.propertiesToString(dataMd5));\n dataObject.lang = (typeof language === 'undefined') ? 'en' : language;\n dataObject.version = Configuration.get('version');\n\n return dataObject;\n }\n\n /**\n * Returns the result to call showimage service with the formula md5 as parameter.\n * The result could be:\n * - {'status' : warning'} : The image associated to the MathML md5 is not in cache.\n * - {'status' : 'ok' ...} : The image associated to the MathML md5 is in cache.\n * @param {Object[]} data - object containing showimage service parameters.\n * @param {string} language - string containing the language of the formula.\n * @returns {Object} JSON object containing showimage response.\n */\n static createShowImageSrc(data, language) {\n const dataObject = this.createShowImageSrcData(data, language);\n const result = ServiceProvider.getService('showimage', Util.httpBuildQuery(dataObject), true);\n return result;\n }\n\n /**\n * Transform html img tags inside a html code to mathml, base64 img tags (i.e with base64 on src)\n * or showimage img tags (i.e with showimage.php on src)\n * @param {string} code - HTML code\n * @param {string} mode - base642showimage or img2mathml or img264 transform.\n * @returns {string} html - code transformed.\n */\n static codeImgTransform(code, mode) {\n let output = '';\n let endPosition = 0;\n const pattern = /') {\n endPosition = i + 1;\n }\n\n i += 1;\n }\n\n if (endPosition < startPosition) { // The img tag is stripped.\n output += code.substring(startPosition, code.length);\n return output;\n }\n let imgCode = code.substring(startPosition, endPosition);\n const imgObject = Util.createObject(imgCode);\n let xmlCode = imgObject.getAttribute(Configuration.get('imageMathmlAttribute'));\n let convertToXml;\n let convertToSafeXml;\n\n if (mode === 'base642showimage') {\n if (xmlCode == null) {\n xmlCode = imgObject.getAttribute('alt');\n }\n xmlCode = MathML.safeXmlDecode(xmlCode);\n imgCode = Parser.mathmlToImgObject(document, xmlCode, null, null);\n output += Util.createObjectCode(imgCode);\n } else if (mode === 'img2mathml') {\n if (Configuration.get('saveMode')) {\n if (Configuration.get('saveMode') === 'safeXml') {\n convertToXml = true;\n convertToSafeXml = true;\n } else if (Configuration.get('saveMode') === 'xml') {\n convertToXml = true;\n convertToSafeXml = false;\n }\n }\n output += Util.getWIRISImageOutput(imgCode, convertToXml, convertToSafeXml);\n } else if (mode === 'img264') {\n if (xmlCode === null) {\n xmlCode = imgObject.getAttribute('alt');\n }\n xmlCode = MathML.safeXmlDecode(xmlCode);\n\n const properties = {};\n properties.base64 = 'true';\n imgCode = Parser.mathmlToImgObject(document, xmlCode, properties, null);\n // Metrics.\n Image.setImgSize(imgCode, imgCode.src, true);\n output += Util.createObjectCode(imgCode);\n }\n }\n output += code.substring(endPosition, code.length);\n return output;\n }\n\n /**\n * Converts all occurrences of MathML to the corresponding image.\n * @param {string} content - string with valid MathML code.\n * The MathML code doesn't contain semantics.\n * @param {Constants} characters - Constant object containing xmlCharacters\n * or safeXmlCharacters relation.\n * @param {string} language - a valid language code\n * in order to generate formula accessibility.\n * @returns {string} The input string with all the MathML\n * occurrences replaced by the corresponding image.\n */\n static parseMathmlToImg(content, characters, language) {\n let output = '';\n const mathTagBegin = `${characters.tagOpener}math`;\n const mathTagEnd = `${characters.tagOpener}/math${characters.tagCloser}`;\n let start = content.indexOf(mathTagBegin);\n let end = 0;\n\n while (start !== -1) {\n output += content.substring(end, start);\n // Avoid WIRIS images to be parsed.\n const imageMathmlAtrribute = content.indexOf(Configuration.get('imageMathmlAttribute'));\n end = content.indexOf(mathTagEnd, start);\n\n if (end === -1) {\n end = content.length - 1;\n } else if (imageMathmlAtrribute !== -1) {\n // First close tag of img attribute\n // If a mathmlAttribute exists should be inside a img tag.\n end += content.indexOf('/>', start);\n } else {\n end += mathTagEnd.length;\n }\n\n if (!MathML.isMathmlInAttribute(content, start) && imageMathmlAtrribute === -1) {\n let mathml = content.substring(start, end);\n mathml = (characters.id === Constants.safeXmlCharacters.id)\n ? MathML.safeXmlDecode(mathml)\n : MathML.mathMLEntities(mathml);\n output += Util.createObjectCode(Parser.mathmlToImgObject(document, mathml, null, language));\n } else {\n output += content.substring(start, end);\n }\n\n start = content.indexOf(mathTagBegin, end);\n }\n\n output += content.substring(end, content.length);\n return output;\n }\n}\n\n// Mutation observers to avoid wiris image formulas class be removed.\nif (typeof MutationObserver !== 'undefined') {\n const mutationObserver = new MutationObserver((mutations) => {\n mutations.forEach((mutation) => {\n if (mutation.oldValue === Configuration.get('imageClassName')\n && mutation.attributeName === 'class'\n && mutation.target.className.indexOf(Configuration.get('imageClassName')) === -1) {\n mutation.target.className = Configuration.get('imageClassName');\n }\n });\n });\n\n Parser.observer = Object.create(mutationObserver);\n Parser.observer.Config = { attributes: true, attributeOldValue: true };\n // We use own default config.\n Parser.observer.observe = function (target) {\n Object.getPrototypeOf(this).observe(target, this.Config);\n };\n}\n","/* eslint-disable no-bitwise */\nimport DOMPurify from 'dompurify';\nimport MathML from './mathml';\nimport Configuration from './configuration';\nimport Latex from './latex';\nimport StringManager from './stringmanager';\n\n/**\n * This class represents an utility class.\n */\nexport default class Util {\n /**\n * Fires an event in a target.\n * @param {EventTarget} eventTarget - target where event should be fired.\n * @param {string} eventName event to fire.\n * @static\n */\n static fireEvent(eventTarget, eventName) {\n if (document.createEvent) {\n const eventObject = document.createEvent('HTMLEvents');\n eventObject.initEvent(eventName, true, true);\n return !eventTarget.dispatchEvent(eventObject);\n }\n\n const eventObject = document.createEventObject();\n return eventTarget.fireEvent(`on${eventName}`, eventObject);\n }\n\n /**\n * Cross-browser addEventListener/attachEvent function.\n * @param {EventTarget} eventTarget - target to add the event.\n * @param {string} eventName - specifies the type of event.\n * @param {Function} callBackFunction - callback function.\n * @static\n */\n static addEvent(eventTarget, eventName, callBackFunction) {\n if (eventTarget.addEventListener) {\n eventTarget.addEventListener(eventName, callBackFunction, true);\n } else if (eventTarget.attachEvent) {\n // Backwards compatibility.\n eventTarget.attachEvent(`on${eventName}`, callBackFunction);\n }\n }\n\n /**\n * Cross-browser removeEventListener/detachEvent function.\n * @param {EventTarget} eventTarget - target to add the event.\n * @param {string} eventName - specifies the type of event.\n * @param {Function} callBackFunction - function to remove from the event target.\n * @static\n */\n static removeEvent(eventTarget, eventName, callBackFunction) {\n if (eventTarget.removeEventListener) {\n eventTarget.removeEventListener(eventName, callBackFunction, true);\n } else if (eventTarget.detachEvent) {\n eventTarget.detachEvent(`on${eventName}`, callBackFunction);\n }\n }\n\n /**\n * Adds the a callback function, for a certain event target, to the following event types:\n * - dblclick\n * - mousedown\n * - mouseup\n * @param {EventTarget} eventTarget - event target.\n * @param {Function} doubleClickHandler - function to run when on dblclick event.\n * @param {Function} mousedownHandler - function to run when on mousedown event.\n * @param {Function} mouseupHandler - function to run when on mouseup event.\n * @static\n */\n static addElementEvents(eventTarget, doubleClickHandler, mousedownHandler, mouseupHandler) {\n if (doubleClickHandler) {\n this.callbackDblclick = (event) => {\n const realEvent = (event) || window.event;\n const element = realEvent.srcElement ? realEvent.srcElement : realEvent.target;\n doubleClickHandler(element, realEvent);\n };\n\n Util.addEvent(eventTarget, 'dblclick', this.callbackDblclick);\n }\n\n if (mousedownHandler) {\n this.callbackMousedown = (event) => {\n const realEvent = (event) || window.event;\n const element = realEvent.srcElement ? realEvent.srcElement : realEvent.target;\n mousedownHandler(element, realEvent);\n };\n\n Util.addEvent(eventTarget, 'mousedown', this.callbackMousedown);\n }\n\n if (mouseupHandler) {\n this.callbackMouseup = (event) => {\n const realEvent = (event) || window.event;\n const element = realEvent.srcElement ? realEvent.srcElement : realEvent.target;\n mouseupHandler(element, realEvent);\n };\n // Chrome doesn't trigger this event for eventTarget if we release the mouse button\n // while the mouse is outside the editor text field.\n // This is a workaround: we trigger the event independently of where the mouse\n // is when we release its button.\n Util.addEvent(document, 'mouseup', this.callbackMouseup);\n Util.addEvent(eventTarget, 'mouseup', this.callbackMouseup);\n }\n }\n\n /**\n * Remove all callback function, for a certain event target, to the following event types:\n * - dblclick\n * - mousedown\n * - mouseup\n * @param {EventTarget} eventTarget - event target.\n * @static\n */\n static removeElementEvents(eventTarget) {\n Util.removeEvent(eventTarget, 'dblclick', this.callbackDblclick);\n Util.removeEvent(eventTarget, 'mousedown', this.callbackMousedown);\n Util.removeEvent(document, 'mouseup', this.callbackMouseup);\n Util.removeEvent(eventTarget, 'mouseup', this.callbackMouseup);\n }\n\n /**\n * Adds a class name to a HTMLElement.\n * @param {HTMLElement} element - the HTML element.\n * @param {string} className - the class name.\n * @static\n */\n static addClass(element, className) {\n if (!Util.containsClass(element, className)) {\n element.className += ` ${className}`;\n }\n }\n\n /**\n * Checks if a HTMLElement contains a certain class.\n * @param {HTMLElement} element - the HTML element.\n * @param {string} className - the className.\n * @returns {boolean} true if the HTMLElement contains the class name. false otherwise.\n * @static\n */\n static containsClass(element, className) {\n if (element == null || !('className' in element)) {\n return false;\n }\n\n const currentClasses = element.className.split(' ');\n\n for (let i = currentClasses.length - 1; i >= 0; i -= 1) {\n if (currentClasses[i] === className) {\n return true;\n }\n }\n\n return false;\n }\n\n /**\n * Remove a certain class for a HTMLElement.\n * @param {HTMLElement} element - the HTML element.\n * @param {string} className - the class name.\n * @static\n */\n static removeClass(element, className) {\n let newClassName = '';\n const classes = element.className.split(' ');\n\n for (let i = 0; i < classes.length; i += 1) {\n if (classes[i] !== className) {\n newClassName += `${classes[i]} `;\n }\n }\n element.className = newClassName.trim();\n }\n\n /**\n * Converts old xml initial text attribute (with «») to the correct one(with §lt;§gt;). It's\n * used to parse old applets.\n * @param {string} text - string containing safeXml characters\n * @returns {string} a string with safeXml characters parsed.\n * @static\n */\n static convertOldXmlinitialtextAttribute(text) {\n // Used to fix a bug with Cas imported from Moodle 1.9 to Moodle 2.x.\n // This could be removed in future.\n const val = 'value=';\n\n const xitpos = text.indexOf('xmlinitialtext');\n const valpos = text.indexOf(val, xitpos);\n const quote = text.charAt(valpos + val.length);\n const startquote = valpos + val.length + 1;\n const endquote = text.indexOf(quote, startquote);\n\n const value = text.substring(startquote, endquote);\n\n let newvalue = value.split('«').join('§lt;');\n newvalue = newvalue.split('»').join('§gt;');\n newvalue = newvalue.split('&').join('§');\n newvalue = newvalue.split('¨').join('§quot;');\n\n text = text.split(value).join(newvalue);\n return text;\n }\n\n /**\n * Cross-browser solution for creating new elements.\n * @param {string} tagName - tag name of the wished element.\n * @param {Object} attributes - an object where each key is a wished\n * attribute name and each value is its value.\n * @param {Object} [creator] - if supplied, this function will use\n * the \"createElement\" method from this param. Otherwise\n * document will be used as creator.\n * @returns {Element} The DOM element with the specified attributes assigned.\n * @static\n */\n static createElement(tagName, attributes, creator) {\n if (attributes === undefined) {\n attributes = {};\n }\n\n if (creator === undefined) {\n creator = document;\n }\n\n let element;\n\n /*\n * Internet Explorer fix:\n * If you create a new object dynamically, you can't set a non-standard attribute.\n * For example, you can't set the \"src\" attribute on an \"applet\" object.\n * Other browsers will throw an exception and will run the standard code.\n */\n try {\n let html = `<${tagName}`;\n\n Object.keys(attributes).forEach((attributeName) => {\n html += ` ${attributeName}=\"${Util.htmlEntities(attributes[attributeName])}\"`;\n });\n html += '>';\n element = creator.createElement(html);\n } catch (e) {\n element = creator.createElement(tagName);\n Object.keys(attributes).forEach((attributeName) => {\n element.setAttribute(attributeName, attributes[attributeName]);\n });\n }\n return element;\n }\n\n /**\n * Creates new HTML from it's HTML code as string.\n * @param {string} objectCode - html code\n * @returns {Element} the HTML element.\n * @static\n */\n static createObject(objectCode, creator) {\n if (creator === undefined) {\n creator = document;\n }\n\n // Internet Explorer can't include \"param\" tag when is setting an innerHTML property.\n objectCode = objectCode.split('').join('').split('').join('');\n\n objectCode = objectCode.split('').join('
    ').split('').join('
    ');\n\n const container = Util.createElement('div', {}, creator);\n container.innerHTML = objectCode;\n\n function recursiveParamsFix(object) {\n if (object.getAttribute && object.getAttribute('wirisObject') === 'WirisParam') {\n const attributesParsed = {};\n\n for (let i = 0; i < object.attributes.length; i += 1) {\n if (object.attributes[i].nodeValue !== null) {\n attributesParsed[object.attributes[i].nodeName] = object.attributes[i].nodeValue;\n }\n }\n\n const param = Util.createElement('param', attributesParsed, creator);\n\n // IE fix.\n if (param.NAME) {\n param.name = param.NAME;\n param.value = param.VALUE;\n }\n\n param.removeAttribute('wirisObject');\n object.parentNode.replaceChild(param, object);\n } else if (object.getAttribute && object.getAttribute('wirisObject') === 'WirisApplet') {\n const attributesParsed = {};\n\n for (let i = 0; i < object.attributes.length; i += 1) {\n if (object.attributes[i].nodeValue !== null) {\n attributesParsed[object.attributes[i].nodeName] = object.attributes[i].nodeValue;\n }\n }\n\n const applet = Util.createElement('applet', attributesParsed, creator);\n applet.removeAttribute('wirisObject');\n\n for (let i = 0; i < object.childNodes.length; i += 1) {\n recursiveParamsFix(object.childNodes[i]);\n\n if (object.childNodes[i].nodeName.toLowerCase() === 'param') {\n applet.appendChild(object.childNodes[i]);\n i -= 1; // When we insert the object child into the applet, object loses one child.\n }\n }\n\n object.parentNode.replaceChild(applet, object);\n } else {\n for (let i = 0; i < object.childNodes.length; i += 1) {\n recursiveParamsFix(object.childNodes[i]);\n }\n }\n }\n\n recursiveParamsFix(container);\n return container.firstChild;\n }\n\n /**\n * Converts an Element to its HTML code.\n * @param {Element} element - entry element.\n * @return {string} the HTML code of the input element.\n * @static\n */\n static createObjectCode(element) {\n // In case that the image was not created, the object can be null or undefined.\n if (typeof element === 'undefined' || element === null) {\n return null;\n }\n\n if (element.nodeType === 1) { // ELEMENT_NODE.\n let output = `<${element.tagName}`;\n\n for (let i = 0; i < element.attributes.length; i += 1) {\n if (element.attributes[i].specified) {\n output += ` ${element.attributes[i].name}=\"${Util.htmlEntities(element.attributes[i].value)}\"`;\n }\n }\n\n if (element.childNodes.length > 0) {\n output += '>';\n\n for (let i = 0; i < element.childNodes.length; i += 1) {\n output += Util.createObject(element.childNodes[i]);\n }\n\n output += ``;\n } else if (element.nodeName === 'DIV' || element.nodeName === 'SCRIPT') {\n output += `>`;\n } else {\n output += '/>';\n }\n\n return output;\n }\n\n if (element.nodeType === 3) { // TEXT_NODE.\n return Util.htmlEntities(element.nodeValue);\n }\n\n return '';\n }\n\n /**\n * Concatenates two URL paths.\n * @param {string} path1 - first URL path\n * @param {string} path2 - second URL path\n * @returns {string} new URL.\n */\n static concatenateUrl(path1, path2) {\n let separator = '';\n if ((path1.indexOf('/') !== path1.length) && (path2.indexOf('/') !== 0)) {\n separator = '/';\n }\n return (path1 + separator + path2).replace(/([^:]\\/)\\/+/g, '$1');\n }\n\n /**\n * Parses a text and replaces all HTML special characters by their correspondent entities.\n * @param {string} input - text to be parsed.\n * @returns {string} the input text with all their special characters replaced by their entities.\n * @static\n */\n static htmlEntities(input) {\n return input.split('&').join('&').split('<').join('<')\n .split('>')\n .join('>')\n .split('\"')\n .join('"');\n }\n\n /**\n * Sanitize HTML to prevent XSS injections.\n * @param {string} html - html to be sanitize.\n * @returns {string} html sanitized.\n * @static\n */\n static htmlSanitize(html) {\n let annotationRegex = /\\/\n // Get all the annotation content including the tags.\n let annotation = html.match(annotationRegex);\n // Sanitize html code without removing the and tags.\n html = DOMPurify.sanitize(html, { ADD_TAGS: ['semantics', 'annotation'], ALLOWED_ATTR: ['mathvariant', 'class', 'linebreak']});\n // Readd old annotation content.\n return html.replace(annotationRegex, annotation);\n }\n\n /**\n * Parses a text and replaces all the HTML entities by their characters.\n * @param {string} input - text to be parsed\n * @returns {string} the input text with all their entities replaced by characters.\n * @static\n */\n static htmlEntitiesDecode(input) {\n // Textarea element decodes when inner html is set.\n const textarea = document.createElement('textarea');\n textarea.innerHTML = input;\n return textarea.value;\n }\n\n /**\n * Returns a cross-browser http request.\n * @return {object} httpRequest request object.\n * @returns {XMLHttpRequest|ActiveXObject} the proper request object.\n */\n static createHttpRequest() {\n const currentPath = window.location.toString().substr(0, window.location.toString().lastIndexOf('/') + 1);\n if (currentPath.substr(0, 7) === 'file://') {\n throw StringManager.get('exception_cross_site');\n }\n\n if (typeof XMLHttpRequest !== 'undefined') {\n return new XMLHttpRequest();\n }\n\n try {\n return new ActiveXObject('Msxml2.XMLHTTP');\n } catch (e) {\n try {\n return new ActiveXObject('Microsoft.XMLHTTP');\n } catch (oc) {\n return null;\n }\n }\n }\n\n /**\n * Converts a hash to a HTTP query.\n * @param {Object[]} properties - a key/value object.\n * @returns {string} a HTTP query containing all the key value pairs with\n * all the special characters replaced by their entities.\n * @static\n */\n static httpBuildQuery(properties) {\n let result = '';\n\n Object.keys(properties).forEach((i) => {\n if (properties[i] != null) {\n result += `${Util.urlEncode(i)}=${Util.urlEncode(properties[i])}&`;\n }\n });\n\n // Deleting last '&' empty character.\n if (result.substring(result.length - 1) === '&') {\n result = result.substring(0, result.length - 1);\n }\n\n return result;\n }\n\n /**\n * Convert a hash to string sorting keys to get a deterministic output\n * @param {Object[]} hash - a key/value object.\n * @returns {string} a string with the form key1=value1...keyn=valuen\n * @static\n */\n static propertiesToString(hash) {\n // 1. Sort keys. We sort the keys because we want a deterministic output.\n const keys = [];\n Object.keys(hash).forEach((key) => {\n if (Object.prototype.hasOwnProperty.call(hash, key)) {\n keys.push(key);\n }\n });\n\n const n = keys.length;\n for (let i = 0; i < n; i += 1) {\n for (let j = i + 1; j < n; j += 1) {\n const s1 = keys[i];\n const s2 = keys[j];\n if (Util.compareStrings(s1, s2) > 0) {\n // Swap.\n keys[i] = s2;\n keys[j] = s1;\n }\n }\n }\n\n // 2. Generate output.\n let output = '';\n for (let i = 0; i < n; i += 1) {\n const key = keys[i];\n output += key;\n output += '=';\n let value = hash[key];\n value = value.replace('\\\\', '\\\\\\\\');\n value = value.replace('\\n', '\\\\n');\n value = value.replace('\\r', '\\\\r');\n value = value.replace('\\t', '\\\\t');\n\n output += value;\n output += '\\n';\n }\n return output;\n }\n\n /**\n * Compare two strings using charCodeAt method\n * @param {string} a - first string to compare.\n * @param {string} b - second string to compare.\n * @returns {number} the difference between a and b\n * @static\n */\n static compareStrings(a, b) {\n let i;\n const an = a.length;\n const bn = b.length;\n const n = (an > bn) ? bn : an;\n for (i = 0; i < n; i += 1) {\n const c = Util.fixedCharCodeAt(a, i) - Util.fixedCharCodeAt(b, i);\n if (c !== 0) {\n return c;\n }\n }\n return a.length - b.length;\n }\n\n /**\n * Fix charCodeAt() JavaScript function to handle non-Basic-Multilingual-Plane characters.\n * @param {string} string - input string\n * @param {number} idx - an integer greater than or equal to 0\n * and less than the length of the string\n * @returns {number} an integer representing the UTF-16 code of the string at the given index.\n * @static\n */\n static fixedCharCodeAt(string, idx) {\n idx = idx || 0;\n const code = string.charCodeAt(idx);\n let hi;\n let low;\n\n /* High surrogate (could change last hex to 0xDB7F to treat high\n private surrogates as single characters) */\n\n if (code >= 0xD800 && code <= 0xDBFF) {\n hi = code;\n low = string.charCodeAt(idx + 1);\n if (Number.isNaN(low)) {\n throw StringManager.get('exception_high_surrogate');\n }\n return ((hi - 0xD800) * 0x400) + (low - 0xDC00) + 0x10000;\n }\n\n if (code >= 0xDC00 && code <= 0xDFFF) { // Low surrogate.\n /* We return false to allow loops to skip this iteration since should have\n already handled high surrogate above in the previous iteration. */\n return false;\n }\n return code;\n }\n\n /**\n * Returns an URL with it's query params converted into array.\n * @param {string} url - input URL.\n * @returns {Object[]} an array containing all URL query params.\n * @static\n */\n static urlToAssArray(url) {\n let i;\n i = url.indexOf('?');\n if (i > 0) {\n const query = url.substring(i + 1);\n const ss = query.split('&');\n const h = {};\n for (i = 0; i < ss.length; i += 1) {\n const s = ss[i];\n const kv = s.split('=');\n if (kv.length > 1) {\n h[kv[0]] = decodeURIComponent(kv[1].replace(/\\+/g, ' '));\n }\n }\n return h;\n }\n return {};\n }\n\n /**\n * Returns an encoded URL by replacing each instance of certain characters by\n * one, two, three or four escape sequences using encodeURIComponent method.\n * !'()* . will not be encoded.\n *\n * @param {string} clearString - URL string to be encoded\n * @returns {string} URL with it's special characters replaced.\n * @static\n */\n static urlEncode(clearString) {\n let output = '';\n // Method encodeURIComponent doesn't encode !'()*~ .\n output = encodeURIComponent(clearString);\n return output;\n }\n\n // TODO: To parser?\n /**\n * Converts the HTML of a image into the output code that WIRIS must return.\n * By default returns the MathML stored on data-mahml attribute (if imgCode is a formula)\n * or the Wiriscas attribute of a WIRIS applet.\n * @param {string} imgCode - the html code from a formula or a CAS image.\n * @param {boolean} convertToXml - true if the image should be converted to XML.\n * @param {boolean} convertToSafeXml - true if the image should be converted to safeXML.\n * @returns {string} the XML or safeXML of a WIRIS image.\n * @static\n */\n static getWIRISImageOutput(imgCode, convertToXml, convertToSafeXml) {\n const imgObject = Util.createObject(imgCode);\n if (imgObject) {\n if (imgObject.className === Configuration.get('imageClassName') || imgObject.getAttribute(Configuration.get('imageMathmlAttribute'))) {\n if (!convertToXml) {\n return imgCode;\n }\n\n const dataMathML = imgObject.getAttribute(Configuration.get('imageMathmlAttribute'));\n // To handle annotations, first we need the MathML in XML.\n let mathML = MathML.safeXmlDecode(dataMathML);\n\n if (!Configuration.get('saveHandTraces')) {\n mathML = MathML.removeAnnotation(mathML, 'application/json');\n }\n\n if (mathML == null) {\n mathML = imgObject.getAttribute('alt');\n }\n\n if (convertToSafeXml) {\n const safeMathML = MathML.safeXmlEncode(mathML);\n return safeMathML;\n }\n\n return mathML;\n }\n }\n return imgCode;\n }\n\n /**\n * Gets the node length in characters.\n * @param {Node} node - HTML node.\n * @returns {number} node length.\n * @static\n */\n static getNodeLength(node) {\n const staticNodeLengths = {\n IMG: 1,\n BR: 1,\n };\n\n if (node.nodeType === 3) { // TEXT_NODE.\n return node.nodeValue.length;\n }\n\n if (node.nodeType === 1) { // ELEMENT_NODE.\n let length = staticNodeLengths[node.nodeName.toUpperCase()];\n\n if (length === undefined) {\n length = 0;\n }\n\n for (let i = 0; i < node.childNodes.length; i += 1) {\n length += Util.getNodeLength(node.childNodes[i]);\n }\n return length;\n }\n return 0;\n }\n\n /**\n * Gets a selected node or text from an editable HTMLElement.\n * If the caret is on a text node, concatenates it with all the previous and next text nodes.\n * @param {HTMLElement} target - the editable HTMLElement.\n * @param {boolean} isIframe - specifies if the target is an iframe or not\n * @param {boolean} forceGetSelection - if true, ignores IE system to get\n * the current selection and uses window.getSelection()\n * @returns {object} an object with the 'node' key set if the item is an\n * element or the keys 'node' and 'caretPosition' if the element is text.\n * @static\n */\n static getSelectedItem(target, isIframe, forceGetSelection) {\n let windowTarget;\n\n if (isIframe) {\n windowTarget = target.contentWindow;\n windowTarget.focus();\n } else {\n windowTarget = window;\n target.focus();\n }\n\n if (document.selection && !forceGetSelection) {\n const range = windowTarget.document.selection.createRange();\n\n if (range.parentElement) {\n if (range.htmlText.length > 0) {\n if (range.text.length === 0) {\n return Util.getSelectedItem(target, isIframe, true);\n }\n\n return null;\n }\n\n windowTarget.document.execCommand('InsertImage', false, '#');\n let temporalObject = range.parentElement();\n\n if (temporalObject.nodeName.toUpperCase() !== 'IMG') {\n // IE9 fix: parentElement() does not return the IMG node,\n // returns the parent DIV node. In IE < 9, pasteHTML does not work well.\n range.pasteHTML('');\n temporalObject = windowTarget.document.getElementById('wrs_openEditorWindow_temporalObject');\n }\n\n let node;\n let caretPosition;\n\n if (temporalObject.nextSibling && temporalObject.nextSibling.nodeType === 3) { // TEXT_NODE.\n node = temporalObject.nextSibling;\n caretPosition = 0;\n } else if (temporalObject.previousSibling\n && temporalObject.previousSibling.nodeType === 3) {\n node = temporalObject.previousSibling;\n caretPosition = node.nodeValue.length;\n } else {\n node = windowTarget.document.createTextNode('');\n temporalObject.parentNode.insertBefore(node, temporalObject);\n caretPosition = 0;\n }\n\n temporalObject.parentNode.removeChild(temporalObject);\n\n return {\n node,\n caretPosition,\n };\n }\n\n if (range.length > 1) {\n return null;\n }\n\n return {\n node: range.item(0),\n };\n }\n\n if (windowTarget.getSelection) {\n let range;\n const selection = windowTarget.getSelection();\n\n try {\n range = selection.getRangeAt(0);\n } catch (e) {\n range = windowTarget.document.createRange();\n }\n\n const node = range.startContainer;\n\n if (node.nodeType === 3) { // TEXT_NODE.\n return {\n node,\n caretPosition: range.startOffset,\n };\n }\n\n if (node !== range.endContainer) {\n return null;\n }\n\n if (node.nodeType === 1) { // ELEMENT_NODE.\n const position = range.startOffset;\n\n if (node.childNodes[position]) {\n\n // In case that a formula is detected but not selected,\n // we create an empty span where we could insert the new formula.\n if (range.startOffset === range.endOffset) {\n if (position !== 0 && node.childNodes[position - 1].localName === 'span' && node.childNodes[position].classList.contains('Wirisformula')) {\n node.childNodes[position - 1].remove();\n return Util.getSelectedItem(target, isIframe, forceGetSelection);\n }\n else if (node.childNodes[position].classList?.contains('Wirisformula')) {\n if ((position > 0 && node.childNodes[position - 1].classList.contains('Wirisformula')) || position === 0 ) {\n var emptySpan = document.createElement('span');\n node.insertBefore(emptySpan, node.childNodes[position]);\n return {\n node: node.childNodes[position],\n }\n }\n }\n }\n return {\n node: node.childNodes[position],\n };\n }\n }\n }\n\n return null;\n }\n\n /**\n * Returns null if there isn't any item or if it is malformed.\n * Otherwise returns an object containing the node with the MathML image\n * and the cursor position inside the textarea.\n * @param {HTMLTextAreaElement} textarea - textarea element.\n * @returns {Object} An object containing the node, the index of the\n * beginning of the selected text, caret position and the start and end position of the\n * text node.\n * @static\n */\n static getSelectedItemOnTextarea(textarea) {\n const textNode = document.createTextNode(textarea.value);\n const textNodeValues = Latex.getLatexFromTextNode(textNode, textarea.selectionStart);\n if (textNodeValues === null) {\n return null;\n }\n\n return {\n node: textNode,\n caretPosition: textarea.selectionStart,\n startPosition: textNodeValues.startPosition,\n endPosition: textNodeValues.endPosition,\n };\n }\n\n /**\n * Looks for elements that match the given name in a HTML code string.\n * Important: this function is very concrete for WIRIS code.\n * It takes as preconditions lots of behaviors that are not the general case.\n * @param {string} code - HTML code.\n * @param {string} name - element name.\n * @param {boolean} autoClosed - true if the elements are autoClosed.\n * @return {Object[]} an object containing all HTML elements of code matching the name argument.\n * @static\n */\n static getElementsByNameFromString(code, name, autoClosed) {\n const elements = [];\n code = code.toLowerCase();\n name = name.toLowerCase();\n let start = code.indexOf(`<${name} `);\n\n while (start !== -1) { // Look for nodes.\n let endString;\n\n if (autoClosed) {\n endString = '>';\n } else {\n endString = ``;\n }\n\n let end = code.indexOf(endString, start);\n\n if (end !== -1) {\n end += endString.length;\n elements.push({\n start,\n end,\n });\n } else {\n end = start + 1;\n }\n\n start = code.indexOf(`<${name} `, end);\n }\n\n return elements;\n }\n\n /**\n * Returns the numeric value of a base64 character.\n * @param {string} character - base64 character.\n * @returns {number} base64 character numeric value.\n * @static\n */\n static decode64(character) {\n const PLUS = '+'.charCodeAt(0);\n const SLASH = '/'.charCodeAt(0);\n const NUMBER = '0'.charCodeAt(0);\n const LOWER = 'a'.charCodeAt(0);\n const UPPER = 'A'.charCodeAt(0);\n const PLUS_URL_SAFE = '-'.charCodeAt(0);\n const SLASH_URL_SAFE = '_'.charCodeAt(0);\n const code = character.charCodeAt(0);\n\n if (code === PLUS || code === PLUS_URL_SAFE) {\n return 62; // Char '+'.\n }\n if (code === SLASH || code === SLASH_URL_SAFE) {\n return 63; // Char '/'.\n }\n if (code < NUMBER) {\n return -1; // No match.\n }\n if (code < NUMBER + 10) {\n return code - NUMBER + 26 + 26;\n }\n if (code < UPPER + 26) {\n return code - UPPER;\n }\n if (code < LOWER + 26) {\n return code - LOWER + 26;\n }\n\n return null;\n }\n\n /**\n * Converts a base64 string to a array of bytes.\n * @param {string} b64String - base64 string.\n * @param {number} length - dimension of byte array (by default whole string).\n * @return {Object[]} the resultant byte array.\n * @static\n */\n static b64ToByteArray(b64String, length) {\n let tmp;\n\n if (b64String.length % 4 > 0) {\n throw new Error('Invalid string. Length must be a multiple of 4'); // Tipped base64. Length is fixed.\n }\n\n const arr = [];\n\n let l;\n let placeHolders;\n if (!length) { // All b64String string.\n if (b64String.charAt(b64String.length - 2) === '=') {\n placeHolders = 2;\n } else if (b64String.charAt(b64String.length - 1) === '=') {\n placeHolders = 1;\n } else {\n placeHolders = 0;\n }\n l = placeHolders > 0 ? b64String.length - 4 : b64String.length;\n } else {\n l = length;\n }\n\n let i;\n for (i = 0; i < l; i += 4) {\n // Ignoring code checker standards (bitewise operators).\n // See https://tracker.moodle.org/browse/CONTRIB-5862 for further information.\n // @codingStandardsIgnoreStart\n // eslint-disable-next-line max-len\n tmp = (Util.decode64(b64String.charAt(i)) << 18) | (Util.decode64(b64String.charAt(i + 1)) << 12) | (Util.decode64(b64String.charAt(i + 2)) << 6) | Util.decode64(b64String.charAt(i + 3));\n\n arr.push((tmp >> 16) & 0xFF);\n arr.push((tmp >> 8) & 0xFF);\n arr.push(tmp & 0xFF);\n // @codingStandardsIgnoreEnd\n }\n\n if (placeHolders) {\n if (placeHolders === 2) {\n // Ignoring code checker standards (bitewise operators).\n // @codingStandardsIgnoreStart\n // eslint-disable-next-line max-len\n tmp = (Util.decode64(b64String.charAt(i)) << 2) | (Util.decode64(b64String.charAt(i + 1)) >> 4);\n arr.push(tmp & 0xFF);\n } else if (placeHolders === 1) {\n // eslint-disable-next-line max-len\n tmp = (Util.decode64(b64String.charAt(i)) << 10) | (Util.decode64(b64String.charAt(i + 1)) << 4) | (Util.decode64(b64String.charAt(i + 2)) >> 2);\n arr.push((tmp >> 8) & 0xFF);\n arr.push(tmp & 0xFF);\n // @codingStandardsIgnoreEnd\n }\n }\n return arr;\n }\n\n /**\n * Returns the first 32-bit signed integer from a byte array.\n * @param {Object[]} bytes - array of bytes.\n * @returns {number} the 32-bit signed integer.\n * @static\n */\n static readInt32(bytes) {\n if (bytes.length < 4) {\n return false;\n }\n const int32 = bytes.splice(0, 4);\n // @codingStandardsIgnoreStart¡\n return (int32[0] << 24 | int32[1] << 16 | int32[2] << 8 | int32[3] << 0);\n // @codingStandardsIgnoreEnd\n }\n\n /**\n * Read the first byte from a byte array.\n * @param {Object} bytes - input byte array.\n * @returns {number} first byte of the byte array.\n * @static\n */\n static readByte(bytes) {\n // @codingStandardsIgnoreStart\n return bytes.shift() << 0;\n // @codingStandardsIgnoreEnd\n }\n\n /**\n * Read an arbitrary number of bytes, from a fixed position on a byte array.\n * @param {Object[]} bytes - byte array.\n * @param {number} pos - start position.\n * @param {number} len - number of bytes to read.\n * @returns {Object[]} the byte array.\n * @static\n */\n static readBytes(bytes, pos, len) {\n return bytes.splice(pos, len);\n }\n\n /**\n * Inserts or modifies formulas or CAS on a textarea.\n * @param {HTMLTextAreaElement} textarea - textarea target.\n * @param {string} text - text to add in the textarea. For example, to add the link to the image,\n * call this function as (textarea, Parser.createImageSrc(mathml));\n * @static\n */\n static updateTextArea(textarea, text) {\n if (textarea && text) {\n textarea.focus();\n\n if (textarea.selectionStart != null) {\n const { selectionEnd } = textarea;\n const selectionStart = textarea.value.substring(0, textarea.selectionStart);\n const selectionEndSub = textarea.value.substring(selectionEnd, textarea.value.length);\n textarea.value = selectionStart + text + selectionEndSub;\n textarea.selectionEnd = selectionEnd + text.length;\n } else {\n const selection = document.selection.createRange();\n selection.text = text;\n }\n }\n }\n\n /**\n * Modifies existing formula on a textarea.\n * @param {HTMLTextAreaElement} textarea - text area target.\n * @param {string} text - text to add in the textarea. For example, if you want to add the link\n * to the image,you can call this function as\n * Util.updateTextarea(textarea, Parser.createImageSrc(mathml));\n * @param {number} start - beginning index from textarea where it needs to be replaced by text.\n * @param {number} end - ending index from textarea where it needs to be replaced by text\n * @static\n */\n static updateExistingTextOnTextarea(textarea, text, start, end) {\n textarea.focus();\n const textareaStart = textarea.value.substring(0, start);\n textarea.value = textareaStart + text + textarea.value.substring(end, textarea.value.length);\n textarea.selectionEnd = start + text.length;\n }\n\n /**\n * Add a parameter with it's correspondent value to an URL (GET).\n * @param {string} path - URL path\n * @param {string} parameter - parameter\n * @param {string} value - value\n * @static\n */\n static addArgument(path, parameter, value) {\n let sep;\n if (path.indexOf('?') > 0) {\n sep = '&';\n } else {\n sep = '?';\n }\n return `${path + sep + parameter}=${value}`;\n }\n}\n","/*! @license DOMPurify 2.4.7 | (c) Cure53 and other contributors | Released under the Apache license 2.0 and Mozilla Public License 2.0 | github.com/cure53/DOMPurify/blob/2.4.7/LICENSE */\n\n(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory() :\n typeof define === 'function' && define.amd ? define(factory) :\n (global = typeof globalThis !== 'undefined' ? globalThis : global || self, global.DOMPurify = factory());\n})(this, (function () { 'use strict';\n\n function _typeof(obj) {\n \"@babel/helpers - typeof\";\n\n return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (obj) {\n return typeof obj;\n } : function (obj) {\n return obj && \"function\" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj;\n }, _typeof(obj);\n }\n\n function _setPrototypeOf(o, p) {\n _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) {\n o.__proto__ = p;\n return o;\n };\n\n return _setPrototypeOf(o, p);\n }\n\n function _isNativeReflectConstruct() {\n if (typeof Reflect === \"undefined\" || !Reflect.construct) return false;\n if (Reflect.construct.sham) return false;\n if (typeof Proxy === \"function\") return true;\n\n try {\n Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {}));\n return true;\n } catch (e) {\n return false;\n }\n }\n\n function _construct(Parent, args, Class) {\n if (_isNativeReflectConstruct()) {\n _construct = Reflect.construct;\n } else {\n _construct = function _construct(Parent, args, Class) {\n var a = [null];\n a.push.apply(a, args);\n var Constructor = Function.bind.apply(Parent, a);\n var instance = new Constructor();\n if (Class) _setPrototypeOf(instance, Class.prototype);\n return instance;\n };\n }\n\n return _construct.apply(null, arguments);\n }\n\n function _toConsumableArray(arr) {\n return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread();\n }\n\n function _arrayWithoutHoles(arr) {\n if (Array.isArray(arr)) return _arrayLikeToArray(arr);\n }\n\n function _iterableToArray(iter) {\n if (typeof Symbol !== \"undefined\" && iter[Symbol.iterator] != null || iter[\"@@iterator\"] != null) return Array.from(iter);\n }\n\n function _unsupportedIterableToArray(o, minLen) {\n if (!o) return;\n if (typeof o === \"string\") return _arrayLikeToArray(o, minLen);\n var n = Object.prototype.toString.call(o).slice(8, -1);\n if (n === \"Object\" && o.constructor) n = o.constructor.name;\n if (n === \"Map\" || n === \"Set\") return Array.from(o);\n if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen);\n }\n\n function _arrayLikeToArray(arr, len) {\n if (len == null || len > arr.length) len = arr.length;\n\n for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i];\n\n return arr2;\n }\n\n function _nonIterableSpread() {\n throw new TypeError(\"Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\");\n }\n\n var hasOwnProperty = Object.hasOwnProperty,\n setPrototypeOf = Object.setPrototypeOf,\n isFrozen = Object.isFrozen,\n getPrototypeOf = Object.getPrototypeOf,\n getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;\n var freeze = Object.freeze,\n seal = Object.seal,\n create = Object.create; // eslint-disable-line import/no-mutable-exports\n\n var _ref = typeof Reflect !== 'undefined' && Reflect,\n apply = _ref.apply,\n construct = _ref.construct;\n\n if (!apply) {\n apply = function apply(fun, thisValue, args) {\n return fun.apply(thisValue, args);\n };\n }\n\n if (!freeze) {\n freeze = function freeze(x) {\n return x;\n };\n }\n\n if (!seal) {\n seal = function seal(x) {\n return x;\n };\n }\n\n if (!construct) {\n construct = function construct(Func, args) {\n return _construct(Func, _toConsumableArray(args));\n };\n }\n\n var arrayForEach = unapply(Array.prototype.forEach);\n var arrayPop = unapply(Array.prototype.pop);\n var arrayPush = unapply(Array.prototype.push);\n var stringToLowerCase = unapply(String.prototype.toLowerCase);\n var stringToString = unapply(String.prototype.toString);\n var stringMatch = unapply(String.prototype.match);\n var stringReplace = unapply(String.prototype.replace);\n var stringIndexOf = unapply(String.prototype.indexOf);\n var stringTrim = unapply(String.prototype.trim);\n var regExpTest = unapply(RegExp.prototype.test);\n var typeErrorCreate = unconstruct(TypeError);\n function unapply(func) {\n return function (thisArg) {\n for (var _len = arguments.length, args = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {\n args[_key - 1] = arguments[_key];\n }\n\n return apply(func, thisArg, args);\n };\n }\n function unconstruct(func) {\n return function () {\n for (var _len2 = arguments.length, args = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {\n args[_key2] = arguments[_key2];\n }\n\n return construct(func, args);\n };\n }\n /* Add properties to a lookup table */\n\n function addToSet(set, array, transformCaseFunc) {\n var _transformCaseFunc;\n\n transformCaseFunc = (_transformCaseFunc = transformCaseFunc) !== null && _transformCaseFunc !== void 0 ? _transformCaseFunc : stringToLowerCase;\n\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 var l = array.length;\n\n while (l--) {\n var element = array[l];\n\n if (typeof element === 'string') {\n var lcElement = transformCaseFunc(element);\n\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 /* Shallow clone an object */\n\n function clone(object) {\n var newObject = create(null);\n var property;\n\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 /* 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. */\n\n function lookupGetter(object, prop) {\n while (object !== null) {\n var desc = getOwnPropertyDescriptor(object, prop);\n\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\n var html$1 = freeze(['a', 'abbr', 'acronym', 'address', 'area', 'article', 'aside', 'audio', 'b', 'bdi', 'bdo', 'big', 'blink', 'blockquote', 'body', 'br', 'button', 'canvas', 'caption', 'center', 'cite', 'code', 'col', 'colgroup', 'content', 'data', 'datalist', 'dd', 'decorator', 'del', 'details', 'dfn', 'dialog', 'dir', 'div', 'dl', 'dt', 'element', 'em', 'fieldset', 'figcaption', 'figure', 'font', 'footer', 'form', 'h1', 'h2', 'h3', 'h4', 'h5', 'h6', 'head', 'header', 'hgroup', 'hr', 'html', 'i', 'img', 'input', 'ins', 'kbd', 'label', 'legend', 'li', 'main', 'map', 'mark', 'marquee', 'menu', 'menuitem', 'meter', 'nav', 'nobr', 'ol', 'optgroup', 'option', 'output', 'p', 'picture', 'pre', 'progress', 'q', 'rp', 'rt', 'ruby', 's', 'samp', 'section', 'select', 'shadow', 'small', 'source', 'spacer', 'span', 'strike', 'strong', 'style', 'sub', 'summary', 'sup', 'table', 'tbody', 'td', 'template', 'textarea', 'tfoot', 'th', 'thead', 'time', 'tr', 'track', 'tt', 'u', 'ul', 'var', 'video', 'wbr']); // SVG\n\n var svg$1 = freeze(['svg', 'a', 'altglyph', 'altglyphdef', 'altglyphitem', 'animatecolor', 'animatemotion', 'animatetransform', 'circle', 'clippath', 'defs', 'desc', 'ellipse', 'filter', 'font', 'g', 'glyph', 'glyphref', 'hkern', 'image', 'line', 'lineargradient', 'marker', 'mask', 'metadata', 'mpath', 'path', 'pattern', 'polygon', 'polyline', 'radialgradient', 'rect', 'stop', 'style', 'switch', 'symbol', 'text', 'textpath', 'title', 'tref', 'tspan', 'view', 'vkern']);\n var svgFilters = freeze(['feBlend', 'feColorMatrix', 'feComponentTransfer', 'feComposite', 'feConvolveMatrix', 'feDiffuseLighting', 'feDisplacementMap', 'feDistantLight', 'feFlood', 'feFuncA', 'feFuncB', 'feFuncG', 'feFuncR', 'feGaussianBlur', 'feImage', 'feMerge', 'feMergeNode', 'feMorphology', 'feOffset', 'fePointLight', 'feSpecularLighting', 'feSpotLight', 'feTile', 'feTurbulence']); // 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.\n\n var svgDisallowed = freeze(['animate', 'color-profile', 'cursor', 'discard', 'fedropshadow', 'font-face', 'font-face-format', 'font-face-name', 'font-face-src', 'font-face-uri', 'foreignobject', 'hatch', 'hatchpath', 'mesh', 'meshgradient', 'meshpatch', 'meshrow', 'missing-glyph', 'script', 'set', 'solidcolor', 'unknown', 'use']);\n var mathMl$1 = freeze(['math', 'menclose', 'merror', 'mfenced', 'mfrac', 'mglyph', 'mi', 'mlabeledtr', 'mmultiscripts', 'mn', 'mo', 'mover', 'mpadded', 'mphantom', 'mroot', 'mrow', 'ms', 'mspace', 'msqrt', 'mstyle', 'msub', 'msup', 'msubsup', 'mtable', 'mtd', 'mtext', 'mtr', 'munder', 'munderover']); // Similarly to SVG, we want to know all MathML elements,\n // even those that we disallow by default.\n\n var mathMlDisallowed = freeze(['maction', 'maligngroup', 'malignmark', 'mlongdiv', 'mscarries', 'mscarry', 'msgroup', 'mstack', 'msline', 'msrow', 'semantics', 'annotation', 'annotation-xml', 'mprescripts', 'none']);\n var text = freeze(['#text']);\n\n var html = freeze(['accept', 'action', 'align', 'alt', 'autocapitalize', 'autocomplete', 'autopictureinpicture', 'autoplay', 'background', 'bgcolor', 'border', 'capture', 'cellpadding', 'cellspacing', 'checked', 'cite', 'class', 'clear', 'color', 'cols', 'colspan', 'controls', 'controlslist', 'coords', 'crossorigin', 'datetime', 'decoding', 'default', 'dir', 'disabled', 'disablepictureinpicture', 'disableremoteplayback', 'download', 'draggable', 'enctype', 'enterkeyhint', 'face', 'for', 'headers', 'height', 'hidden', 'high', 'href', 'hreflang', 'id', 'inputmode', 'integrity', 'ismap', 'kind', 'label', 'lang', 'list', 'loading', 'loop', 'low', 'max', 'maxlength', 'media', 'method', 'min', 'minlength', 'multiple', 'muted', 'name', 'nonce', 'noshade', 'novalidate', 'nowrap', 'open', 'optimum', 'pattern', 'placeholder', 'playsinline', 'poster', 'preload', 'pubdate', 'radiogroup', 'readonly', 'rel', 'required', 'rev', 'reversed', 'role', 'rows', 'rowspan', 'spellcheck', 'scope', 'selected', 'shape', 'size', 'sizes', 'span', 'srclang', 'start', 'src', 'srcset', 'step', 'style', 'summary', 'tabindex', 'title', 'translate', 'type', 'usemap', 'valign', 'value', 'width', 'xmlns', 'slot']);\n var svg = freeze(['accent-height', 'accumulate', 'additive', 'alignment-baseline', 'ascent', 'attributename', 'attributetype', 'azimuth', 'basefrequency', 'baseline-shift', 'begin', 'bias', 'by', 'class', 'clip', 'clippathunits', 'clip-path', 'clip-rule', 'color', 'color-interpolation', 'color-interpolation-filters', 'color-profile', 'color-rendering', 'cx', 'cy', 'd', 'dx', 'dy', 'diffuseconstant', 'direction', 'display', 'divisor', 'dur', 'edgemode', 'elevation', 'end', 'fill', 'fill-opacity', 'fill-rule', 'filter', 'filterunits', 'flood-color', 'flood-opacity', 'font-family', 'font-size', 'font-size-adjust', 'font-stretch', 'font-style', 'font-variant', 'font-weight', 'fx', 'fy', 'g1', 'g2', 'glyph-name', 'glyphref', 'gradientunits', 'gradienttransform', 'height', 'href', 'id', 'image-rendering', 'in', 'in2', 'k', 'k1', 'k2', 'k3', 'k4', 'kerning', 'keypoints', 'keysplines', 'keytimes', 'lang', 'lengthadjust', 'letter-spacing', 'kernelmatrix', 'kernelunitlength', 'lighting-color', 'local', 'marker-end', 'marker-mid', 'marker-start', 'markerheight', 'markerunits', 'markerwidth', 'maskcontentunits', 'maskunits', 'max', 'mask', 'media', 'method', 'mode', 'min', 'name', 'numoctaves', 'offset', 'operator', 'opacity', 'order', 'orient', 'orientation', 'origin', 'overflow', 'paint-order', 'path', 'pathlength', 'patterncontentunits', 'patterntransform', 'patternunits', 'points', 'preservealpha', 'preserveaspectratio', 'primitiveunits', 'r', 'rx', 'ry', 'radius', 'refx', 'refy', 'repeatcount', 'repeatdur', 'restart', 'result', 'rotate', 'scale', 'seed', 'shape-rendering', 'specularconstant', 'specularexponent', 'spreadmethod', 'startoffset', 'stddeviation', 'stitchtiles', 'stop-color', 'stop-opacity', 'stroke-dasharray', 'stroke-dashoffset', 'stroke-linecap', 'stroke-linejoin', 'stroke-miterlimit', 'stroke-opacity', 'stroke', 'stroke-width', 'style', 'surfacescale', 'systemlanguage', 'tabindex', 'targetx', 'targety', 'transform', 'transform-origin', 'text-anchor', 'text-decoration', 'text-rendering', 'textlength', 'type', 'u1', 'u2', 'unicode', 'values', 'viewbox', 'visibility', 'version', 'vert-adv-y', 'vert-origin-x', 'vert-origin-y', 'width', 'word-spacing', 'wrap', 'writing-mode', 'xchannelselector', 'ychannelselector', 'x', 'x1', 'x2', 'xmlns', 'y', 'y1', 'y2', 'z', 'zoomandpan']);\n var mathMl = freeze(['accent', 'accentunder', 'align', 'bevelled', 'close', 'columnsalign', 'columnlines', 'columnspan', 'denomalign', 'depth', 'dir', 'display', 'displaystyle', 'encoding', 'fence', 'frame', 'height', 'href', 'id', 'largeop', 'length', 'linethickness', 'lspace', 'lquote', 'mathbackground', 'mathcolor', 'mathsize', 'mathvariant', 'maxsize', 'minsize', 'movablelimits', 'notation', 'numalign', 'open', 'rowalign', 'rowlines', 'rowspacing', 'rowspan', 'rspace', 'rquote', 'scriptlevel', 'scriptminsize', 'scriptsizemultiplier', 'selection', 'separator', 'separators', 'stretchy', 'subscriptshift', 'supscriptshift', 'symmetric', 'voffset', 'width', 'xmlns']);\n var xml = freeze(['xlink:href', 'xml:id', 'xlink:title', 'xml:space', 'xmlns:xlink']);\n\n var MUSTACHE_EXPR = seal(/\\{\\{[\\w\\W]*|[\\w\\W]*\\}\\}/gm); // Specify template detection regex for SAFE_FOR_TEMPLATES mode\n\n var ERB_EXPR = seal(/<%[\\w\\W]*|[\\w\\W]*%>/gm);\n var TMPLIT_EXPR = seal(/\\${[\\w\\W]*}/gm);\n var DATA_ATTR = seal(/^data-[\\-\\w.\\u00B7-\\uFFFF]/); // eslint-disable-line no-useless-escape\n\n var ARIA_ATTR = seal(/^aria-[\\-\\w]+$/); // eslint-disable-line no-useless-escape\n\n var IS_ALLOWED_URI = seal(/^(?:(?:(?:f|ht)tps?|mailto|tel|callto|cid|xmpp):|[^a-z]|[a-z+.\\-]+(?:[^a-z+.\\-:]|$))/i // eslint-disable-line no-useless-escape\n );\n var IS_SCRIPT_OR_DATA = seal(/^(?:\\w+script|data):/i);\n var ATTR_WHITESPACE = seal(/[\\u0000-\\u0020\\u00A0\\u1680\\u180E\\u2000-\\u2029\\u205F\\u3000]/g // eslint-disable-line no-control-regex\n );\n var DOCTYPE_NAME = seal(/^html$/i);\n\n var getGlobal = function getGlobal() {\n return 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 */\n\n\n var _createTrustedTypesPolicy = function _createTrustedTypesPolicy(trustedTypes, document) {\n if (_typeof(trustedTypes) !== 'object' || typeof trustedTypes.createPolicy !== 'function') {\n return null;\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\n\n var suffix = null;\n var ATTR_NAME = 'data-tt-policy-suffix';\n\n if (document.currentScript && document.currentScript.hasAttribute(ATTR_NAME)) {\n suffix = document.currentScript.getAttribute(ATTR_NAME);\n }\n\n var policyName = 'dompurify' + (suffix ? '#' + suffix : '');\n\n try {\n return trustedTypes.createPolicy(policyName, {\n createHTML: function createHTML(html) {\n return html;\n },\n createScriptURL: function 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('TrustedTypes policy ' + policyName + ' could not be created.');\n return null;\n }\n };\n\n function createDOMPurify() {\n var window = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : getGlobal();\n\n var DOMPurify = function DOMPurify(root) {\n return createDOMPurify(root);\n };\n /**\n * Version label, exposed for easier checks\n * if DOMPurify is up to date or not\n */\n\n\n DOMPurify.version = '2.4.7';\n /**\n * Array of elements that DOMPurify removed during sanitation.\n * Empty if nothing was removed.\n */\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 return DOMPurify;\n }\n\n var originalDocument = window.document;\n var document = window.document;\n var DocumentFragment = window.DocumentFragment,\n HTMLTemplateElement = window.HTMLTemplateElement,\n Node = window.Node,\n Element = window.Element,\n NodeFilter = window.NodeFilter,\n _window$NamedNodeMap = window.NamedNodeMap,\n NamedNodeMap = _window$NamedNodeMap === void 0 ? window.NamedNodeMap || window.MozNamedAttrMap : _window$NamedNodeMap,\n HTMLFormElement = window.HTMLFormElement,\n DOMParser = window.DOMParser,\n trustedTypes = window.trustedTypes;\n var ElementPrototype = Element.prototype;\n var cloneNode = lookupGetter(ElementPrototype, 'cloneNode');\n var getNextSibling = lookupGetter(ElementPrototype, 'nextSibling');\n var getChildNodes = lookupGetter(ElementPrototype, 'childNodes');\n var getParentNode = lookupGetter(ElementPrototype, 'parentNode'); // 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\n if (typeof HTMLTemplateElement === 'function') {\n var template = document.createElement('template');\n\n if (template.content && template.content.ownerDocument) {\n document = template.content.ownerDocument;\n }\n }\n\n var trustedTypesPolicy = _createTrustedTypesPolicy(trustedTypes, originalDocument);\n\n var emptyHTML = trustedTypesPolicy ? trustedTypesPolicy.createHTML('') : '';\n var _document = document,\n implementation = _document.implementation,\n createNodeIterator = _document.createNodeIterator,\n createDocumentFragment = _document.createDocumentFragment,\n getElementsByTagName = _document.getElementsByTagName;\n var importNode = originalDocument.importNode;\n var documentMode = {};\n\n try {\n documentMode = clone(document).documentMode ? document.documentMode : {};\n } catch (_) {}\n\n var hooks = {};\n /**\n * Expose whether this browser supports running the full DOMPurify.\n */\n\n DOMPurify.isSupported = typeof getParentNode === 'function' && implementation && implementation.createHTMLDocument !== undefined && documentMode !== 9;\n var MUSTACHE_EXPR$1 = MUSTACHE_EXPR,\n ERB_EXPR$1 = ERB_EXPR,\n TMPLIT_EXPR$1 = TMPLIT_EXPR,\n DATA_ATTR$1 = DATA_ATTR,\n ARIA_ATTR$1 = ARIA_ATTR,\n IS_SCRIPT_OR_DATA$1 = IS_SCRIPT_OR_DATA,\n ATTR_WHITESPACE$1 = ATTR_WHITESPACE;\n var IS_ALLOWED_URI$1 = IS_ALLOWED_URI;\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\n var ALLOWED_TAGS = null;\n var DEFAULT_ALLOWED_TAGS = addToSet({}, [].concat(_toConsumableArray(html$1), _toConsumableArray(svg$1), _toConsumableArray(svgFilters), _toConsumableArray(mathMl$1), _toConsumableArray(text)));\n /* Allowed attribute names */\n\n var ALLOWED_ATTR = null;\n var DEFAULT_ALLOWED_ATTR = addToSet({}, [].concat(_toConsumableArray(html), _toConsumableArray(svg), _toConsumableArray(mathMl), _toConsumableArray(xml)));\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\n var CUSTOM_ELEMENT_HANDLING = Object.seal(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 /* Explicitly forbidden tags (overrides ALLOWED_TAGS/ADD_TAGS) */\n\n var FORBID_TAGS = null;\n /* Explicitly forbidden attributes (overrides ALLOWED_ATTR/ADD_ATTR) */\n\n var FORBID_ATTR = null;\n /* Decide if ARIA attributes are okay */\n\n var ALLOW_ARIA_ATTR = true;\n /* Decide if custom data attributes are okay */\n\n var ALLOW_DATA_ATTR = true;\n /* Decide if unknown protocols are okay */\n\n var ALLOW_UNKNOWN_PROTOCOLS = false;\n /* Decide if self-closing tags in attributes are allowed.\n * Usually removed due to a mXSS issue in jQuery 3.0 */\n\n var ALLOW_SELF_CLOSE_IN_ATTR = true;\n /* Output should be safe for common template engines.\n * This means, DOMPurify removes data attributes, mustaches and ERB\n */\n\n var SAFE_FOR_TEMPLATES = false;\n /* Decide if document with ... should be returned */\n\n var WHOLE_DOCUMENT = false;\n /* Track whether config is already set on this instance of DOMPurify. */\n\n var SET_CONFIG = false;\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\n var FORCE_BODY = false;\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\n var RETURN_DOM = false;\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\n var RETURN_DOM_FRAGMENT = false;\n /* Try to return a Trusted Type object instead of a string, return a string in\n * case Trusted Types are not supported */\n\n var RETURN_TRUSTED_TYPE = false;\n /* Output should be free from DOM clobbering attacks?\n * This sanitizes markups named with colliding, clobberable built-in DOM APIs.\n */\n\n var SANITIZE_DOM = true;\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\n var SANITIZE_NAMED_PROPS = false;\n var SANITIZE_NAMED_PROPS_PREFIX = 'user-content-';\n /* Keep element content when removing element? */\n\n var KEEP_CONTENT = true;\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\n var IN_PLACE = false;\n /* Allow usage of profiles like html, svg and mathMl */\n\n var USE_PROFILES = {};\n /* Tags to ignore content of when KEEP_CONTENT is true */\n\n var FORBID_CONTENTS = null;\n var DEFAULT_FORBID_CONTENTS = addToSet({}, ['annotation-xml', 'audio', 'colgroup', 'desc', 'foreignobject', 'head', 'iframe', 'math', 'mi', 'mn', 'mo', 'ms', 'mtext', 'noembed', 'noframes', 'noscript', 'plaintext', 'script', 'style', 'svg', 'template', 'thead', 'title', 'video', 'xmp']);\n /* Tags that are safe for data: URIs */\n\n var DATA_URI_TAGS = null;\n var DEFAULT_DATA_URI_TAGS = addToSet({}, ['audio', 'video', 'img', 'source', 'image', 'track']);\n /* Attributes safe for values like \"javascript:\" */\n\n var URI_SAFE_ATTRIBUTES = null;\n var DEFAULT_URI_SAFE_ATTRIBUTES = addToSet({}, ['alt', 'class', 'for', 'id', 'label', 'name', 'pattern', 'placeholder', 'role', 'summary', 'title', 'value', 'style', 'xmlns']);\n var MATHML_NAMESPACE = 'http://www.w3.org/1998/Math/MathML';\n var SVG_NAMESPACE = 'http://www.w3.org/2000/svg';\n var HTML_NAMESPACE = 'http://www.w3.org/1999/xhtml';\n /* Document namespace */\n\n var NAMESPACE = HTML_NAMESPACE;\n var IS_EMPTY_INPUT = false;\n /* Allowed XHTML+XML namespaces */\n\n var ALLOWED_NAMESPACES = null;\n var DEFAULT_ALLOWED_NAMESPACES = addToSet({}, [MATHML_NAMESPACE, SVG_NAMESPACE, HTML_NAMESPACE], stringToString);\n /* Parsing of strict XHTML documents */\n\n var PARSER_MEDIA_TYPE;\n var SUPPORTED_PARSER_MEDIA_TYPES = ['application/xhtml+xml', 'text/html'];\n var DEFAULT_PARSER_MEDIA_TYPE = 'text/html';\n var transformCaseFunc;\n /* Keep a reference to config to pass to hooks */\n\n var CONFIG = null;\n /* Ideally, do not touch anything below this line */\n\n /* ______________________________________________ */\n\n var formElement = document.createElement('form');\n\n var isRegexOrFunction = function isRegexOrFunction(testValue) {\n return testValue instanceof RegExp || testValue instanceof Function;\n };\n /**\n * _parseConfig\n *\n * @param {Object} cfg optional config literal\n */\n // eslint-disable-next-line complexity\n\n\n var _parseConfig = function _parseConfig(cfg) {\n if (CONFIG && CONFIG === cfg) {\n return;\n }\n /* Shield configuration object from tampering */\n\n\n if (!cfg || _typeof(cfg) !== 'object') {\n cfg = {};\n }\n /* Shield configuration object from prototype pollution */\n\n\n cfg = clone(cfg);\n PARSER_MEDIA_TYPE = // eslint-disable-next-line unicorn/prefer-includes\n SUPPORTED_PARSER_MEDIA_TYPES.indexOf(cfg.PARSER_MEDIA_TYPE) === -1 ? PARSER_MEDIA_TYPE = DEFAULT_PARSER_MEDIA_TYPE : PARSER_MEDIA_TYPE = cfg.PARSER_MEDIA_TYPE; // HTML tags and attributes are not case-sensitive, converting to lowercase. Keeping XHTML as is.\n\n transformCaseFunc = PARSER_MEDIA_TYPE === 'application/xhtml+xml' ? stringToString : stringToLowerCase;\n /* Set configuration parameters */\n\n ALLOWED_TAGS = 'ALLOWED_TAGS' in cfg ? addToSet({}, cfg.ALLOWED_TAGS, transformCaseFunc) : DEFAULT_ALLOWED_TAGS;\n ALLOWED_ATTR = 'ALLOWED_ATTR' in cfg ? addToSet({}, cfg.ALLOWED_ATTR, transformCaseFunc) : DEFAULT_ALLOWED_ATTR;\n ALLOWED_NAMESPACES = 'ALLOWED_NAMESPACES' in cfg ? addToSet({}, cfg.ALLOWED_NAMESPACES, stringToString) : DEFAULT_ALLOWED_NAMESPACES;\n URI_SAFE_ATTRIBUTES = 'ADD_URI_SAFE_ATTR' in cfg ? addToSet(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 = 'ADD_DATA_URI_TAGS' in cfg ? addToSet(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 = 'FORBID_CONTENTS' in cfg ? addToSet({}, cfg.FORBID_CONTENTS, transformCaseFunc) : DEFAULT_FORBID_CONTENTS;\n FORBID_TAGS = 'FORBID_TAGS' in cfg ? addToSet({}, cfg.FORBID_TAGS, transformCaseFunc) : {};\n FORBID_ATTR = 'FORBID_ATTR' in cfg ? addToSet({}, cfg.FORBID_ATTR, transformCaseFunc) : {};\n USE_PROFILES = 'USE_PROFILES' in cfg ? cfg.USE_PROFILES : false;\n ALLOW_ARIA_ATTR = cfg.ALLOW_ARIA_ATTR !== false; // Default true\n\n ALLOW_DATA_ATTR = cfg.ALLOW_DATA_ATTR !== false; // Default true\n\n ALLOW_UNKNOWN_PROTOCOLS = cfg.ALLOW_UNKNOWN_PROTOCOLS || false; // Default false\n\n ALLOW_SELF_CLOSE_IN_ATTR = cfg.ALLOW_SELF_CLOSE_IN_ATTR !== false; // Default true\n\n SAFE_FOR_TEMPLATES = cfg.SAFE_FOR_TEMPLATES || false; // Default false\n\n WHOLE_DOCUMENT = cfg.WHOLE_DOCUMENT || false; // Default false\n\n RETURN_DOM = cfg.RETURN_DOM || false; // Default false\n\n RETURN_DOM_FRAGMENT = cfg.RETURN_DOM_FRAGMENT || false; // Default false\n\n RETURN_TRUSTED_TYPE = cfg.RETURN_TRUSTED_TYPE || false; // Default false\n\n FORCE_BODY = cfg.FORCE_BODY || false; // Default false\n\n SANITIZE_DOM = cfg.SANITIZE_DOM !== false; // Default true\n\n SANITIZE_NAMED_PROPS = cfg.SANITIZE_NAMED_PROPS || false; // Default false\n\n KEEP_CONTENT = cfg.KEEP_CONTENT !== false; // Default true\n\n IN_PLACE = cfg.IN_PLACE || false; // Default false\n\n IS_ALLOWED_URI$1 = cfg.ALLOWED_URI_REGEXP || IS_ALLOWED_URI$1;\n NAMESPACE = cfg.NAMESPACE || HTML_NAMESPACE;\n CUSTOM_ELEMENT_HANDLING = cfg.CUSTOM_ELEMENT_HANDLING || {};\n\n if (cfg.CUSTOM_ELEMENT_HANDLING && isRegexOrFunction(cfg.CUSTOM_ELEMENT_HANDLING.tagNameCheck)) {\n CUSTOM_ELEMENT_HANDLING.tagNameCheck = cfg.CUSTOM_ELEMENT_HANDLING.tagNameCheck;\n }\n\n if (cfg.CUSTOM_ELEMENT_HANDLING && isRegexOrFunction(cfg.CUSTOM_ELEMENT_HANDLING.attributeNameCheck)) {\n CUSTOM_ELEMENT_HANDLING.attributeNameCheck = cfg.CUSTOM_ELEMENT_HANDLING.attributeNameCheck;\n }\n\n if (cfg.CUSTOM_ELEMENT_HANDLING && typeof cfg.CUSTOM_ELEMENT_HANDLING.allowCustomizedBuiltInElements === 'boolean') {\n CUSTOM_ELEMENT_HANDLING.allowCustomizedBuiltInElements = 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 /* Parse profile info */\n\n\n if (USE_PROFILES) {\n ALLOWED_TAGS = addToSet({}, _toConsumableArray(text));\n ALLOWED_ATTR = [];\n\n if (USE_PROFILES.html === true) {\n addToSet(ALLOWED_TAGS, html$1);\n addToSet(ALLOWED_ATTR, html);\n }\n\n if (USE_PROFILES.svg === true) {\n addToSet(ALLOWED_TAGS, svg$1);\n addToSet(ALLOWED_ATTR, svg);\n addToSet(ALLOWED_ATTR, xml);\n }\n\n if (USE_PROFILES.svgFilters === true) {\n addToSet(ALLOWED_TAGS, svgFilters);\n addToSet(ALLOWED_ATTR, svg);\n addToSet(ALLOWED_ATTR, xml);\n }\n\n if (USE_PROFILES.mathMl === true) {\n addToSet(ALLOWED_TAGS, mathMl$1);\n addToSet(ALLOWED_ATTR, mathMl);\n addToSet(ALLOWED_ATTR, xml);\n }\n }\n /* Merge configuration parameters */\n\n\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 /* Add #text in case KEEP_CONTENT is set to true */\n\n\n if (KEEP_CONTENT) {\n ALLOWED_TAGS['#text'] = true;\n }\n /* Add html, head and body to ALLOWED_TAGS in case WHOLE_DOCUMENT is true */\n\n\n if (WHOLE_DOCUMENT) {\n addToSet(ALLOWED_TAGS, ['html', 'head', 'body']);\n }\n /* Add tbody to ALLOWED_TAGS in case tables are permitted, see #286, #365 */\n\n\n if (ALLOWED_TAGS.table) {\n addToSet(ALLOWED_TAGS, ['tbody']);\n delete FORBID_TAGS.tbody;\n } // Prevent further manipulation of configuration.\n // Not available in IE8, Safari 5, etc.\n\n\n if (freeze) {\n freeze(cfg);\n }\n\n CONFIG = cfg;\n };\n\n var MATHML_TEXT_INTEGRATION_POINTS = addToSet({}, ['mi', 'mo', 'mn', 'ms', 'mtext']);\n var HTML_INTEGRATION_POINTS = addToSet({}, ['foreignobject', 'desc', 'title', 'annotation-xml']); // 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\n var COMMON_SVG_AND_HTML_ELEMENTS = addToSet({}, ['title', 'style', 'font', 'a', 'script']);\n /* Keep track of all possible SVG and MathML tags\n * so that we can perform the namespace checks\n * correctly. */\n\n var ALL_SVG_TAGS = addToSet({}, svg$1);\n addToSet(ALL_SVG_TAGS, svgFilters);\n addToSet(ALL_SVG_TAGS, svgDisallowed);\n var ALL_MATHML_TAGS = addToSet({}, mathMl$1);\n addToSet(ALL_MATHML_TAGS, mathMlDisallowed);\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\n var _checkValidNamespace = function _checkValidNamespace(element) {\n var parent = getParentNode(element); // In JSDOM, if we're inside shadow DOM, then parentNode\n // can be null. We just simulate parent in this case.\n\n if (!parent || !parent.tagName) {\n parent = {\n namespaceURI: NAMESPACE,\n tagName: 'template'\n };\n }\n\n var tagName = stringToLowerCase(element.tagName);\n var 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 } // The only way to switch from MathML to SVG is via`\n // svg if parent is either or MathML\n // text integration points.\n\n\n if (parent.namespaceURI === MATHML_NAMESPACE) {\n return tagName === 'svg' && (parentTagName === 'annotation-xml' || MATHML_TEXT_INTEGRATION_POINTS[parentTagName]);\n } // We only allow elements that are defined in SVG\n // spec. All others are disallowed in SVG namespace.\n\n\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 } // The only way to switch from SVG to MathML is via\n // and HTML integration points\n\n\n if (parent.namespaceURI === SVG_NAMESPACE) {\n return tagName === 'math' && HTML_INTEGRATION_POINTS[parentTagName];\n } // We only allow elements that are defined in MathML\n // spec. All others are disallowed in MathML namespace.\n\n\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 (parent.namespaceURI === SVG_NAMESPACE && !HTML_INTEGRATION_POINTS[parentTagName]) {\n return false;\n }\n\n if (parent.namespaceURI === MATHML_NAMESPACE && !MATHML_TEXT_INTEGRATION_POINTS[parentTagName]) {\n return false;\n } // We disallow tags that are specific for MathML\n // or SVG and should never appear in HTML namespace\n\n\n return !ALL_MATHML_TAGS[tagName] && (COMMON_SVG_AND_HTML_ELEMENTS[tagName] || !ALL_SVG_TAGS[tagName]);\n } // For XHTML and XML documents that support custom namespaces\n\n\n if (PARSER_MEDIA_TYPE === 'application/xhtml+xml' && ALLOWED_NAMESPACES[element.namespaceURI]) {\n return true;\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\n\n return false;\n };\n /**\n * _forceRemove\n *\n * @param {Node} node a DOM node\n */\n\n\n var _forceRemove = function _forceRemove(node) {\n arrayPush(DOMPurify.removed, {\n element: node\n });\n\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 * _removeAttribute\n *\n * @param {String} name an Attribute name\n * @param {Node} node a DOM node\n */\n\n\n var _removeAttribute = function _removeAttribute(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); // We void attribute values for unremovable \"is\"\" attributes\n\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 * _initDocument\n *\n * @param {String} dirty a string of dirty markup\n * @return {Document} a DOM, filled with the dirty markup\n */\n\n\n var _initDocument = function _initDocument(dirty) {\n /* Create a HTML document */\n var doc;\n var 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 var matches = stringMatch(dirty, /^[\\r\\n\\t ]+/);\n leadingWhitespace = matches && matches[0];\n }\n\n if (PARSER_MEDIA_TYPE === 'application/xhtml+xml' && NAMESPACE === HTML_NAMESPACE) {\n // Root of XHTML doc must contain xmlns declaration (see https://www.w3.org/TR/xhtml1/normative.html#strict)\n dirty = '' + dirty + '';\n }\n\n var dirtyPayload = trustedTypesPolicy ? trustedTypesPolicy.createHTML(dirty) : 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\n if (NAMESPACE === HTML_NAMESPACE) {\n try {\n doc = new DOMParser().parseFromString(dirtyPayload, PARSER_MEDIA_TYPE);\n } catch (_) {}\n }\n /* Use createHTMLDocument in case DOMParser is not available */\n\n\n if (!doc || !doc.documentElement) {\n doc = implementation.createDocument(NAMESPACE, 'template', null);\n\n try {\n doc.documentElement.innerHTML = IS_EMPTY_INPUT ? emptyHTML : dirtyPayload;\n } catch (_) {// Syntax error if dirtyPayload is invalid xml\n }\n }\n\n var body = doc.body || doc.documentElement;\n\n if (dirty && leadingWhitespace) {\n body.insertBefore(document.createTextNode(leadingWhitespace), body.childNodes[0] || null);\n }\n /* Work on whole document or just its body */\n\n\n if (NAMESPACE === HTML_NAMESPACE) {\n return getElementsByTagName.call(doc, WHOLE_DOCUMENT ? 'html' : 'body')[0];\n }\n\n return WHOLE_DOCUMENT ? doc.documentElement : body;\n };\n /**\n * _createIterator\n *\n * @param {Document} root document/fragment to create iterator for\n * @return {Iterator} iterator instance\n */\n\n\n var _createIterator = function _createIterator(root) {\n return createNodeIterator.call(root.ownerDocument || root, root, // eslint-disable-next-line no-bitwise\n NodeFilter.SHOW_ELEMENT | NodeFilter.SHOW_COMMENT | NodeFilter.SHOW_TEXT, null, false);\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\n\n var _isClobbered = function _isClobbered(elm) {\n return elm instanceof HTMLFormElement && (typeof elm.nodeName !== 'string' || typeof elm.textContent !== 'string' || typeof elm.removeChild !== 'function' || !(elm.attributes instanceof NamedNodeMap) || typeof elm.removeAttribute !== 'function' || typeof elm.setAttribute !== 'function' || typeof elm.namespaceURI !== 'string' || typeof elm.insertBefore !== 'function' || typeof elm.hasChildNodes !== 'function');\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\n\n var _isNode = function _isNode(object) {\n return _typeof(Node) === 'object' ? object instanceof Node : object && _typeof(object) === 'object' && typeof object.nodeType === 'number' && typeof object.nodeName === 'string';\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\n\n var _executeHook = function _executeHook(entryPoint, currentNode, data) {\n if (!hooks[entryPoint]) {\n return;\n }\n\n arrayForEach(hooks[entryPoint], function (hook) {\n hook.call(DOMPurify, currentNode, data, CONFIG);\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\n\n var _sanitizeElements = function _sanitizeElements(currentNode) {\n var content;\n /* Execute a hook if present */\n\n _executeHook('beforeSanitizeElements', currentNode, null);\n /* Check if element is clobbered or can clobber */\n\n\n if (_isClobbered(currentNode)) {\n _forceRemove(currentNode);\n\n return true;\n }\n /* Check if tagname contains Unicode */\n\n\n if (regExpTest(/[\\u0080-\\uFFFF]/, currentNode.nodeName)) {\n _forceRemove(currentNode);\n\n return true;\n }\n /* Now let's check the element's type and name */\n\n\n var tagName = transformCaseFunc(currentNode.nodeName);\n /* Execute a hook if present */\n\n _executeHook('uponSanitizeElement', currentNode, {\n tagName: tagName,\n allowedTags: ALLOWED_TAGS\n });\n /* Detect mXSS attempts abusing namespace confusion */\n\n\n if (currentNode.hasChildNodes() && !_isNode(currentNode.firstElementChild) && (!_isNode(currentNode.content) || !_isNode(currentNode.content.firstElementChild)) && regExpTest(/<[/\\w]/g, currentNode.innerHTML) && regExpTest(/<[/\\w]/g, currentNode.textContent)) {\n _forceRemove(currentNode);\n\n return true;\n }\n /* Mitigate a problem with templates inside select */\n\n\n if (tagName === 'select' && regExpTest(/