HEX
Server: LiteSpeed
System: Linux s3604.bom1.stableserver.net 4.18.0-513.11.1.lve.el8.x86_64 #1 SMP Thu Jan 18 16:21:02 UTC 2024 x86_64
User: dmstechonline (1480)
PHP: 7.4.33
Disabled: NONE
Upload Files
File: /home/dmstechonline/whatsapp.dmstech.online/node_modules/.vite/deps/@vueup_vue-quill.js.map
{
  "version": 3,
  "sources": ["../../quill/dist/quill.js", "../../fast-diff/diff.js", "../../quill-delta/src/AttributeMap.ts", "../../quill-delta/src/Iterator.ts", "../../quill-delta/src/Op.ts", "../../quill-delta/src/Delta.ts", "../../@vueup/vue-quill/dist/vue-quill.esm-bundler.js"],
  "sourcesContent": ["/*!\n * Quill Editor v1.3.7\n * https://quilljs.com/\n * Copyright (c) 2014, Jason Chen\n * Copyright (c) 2013, salesforce.com\n */\n(function webpackUniversalModuleDefinition(root, factory) {\n\tif(typeof exports === 'object' && typeof module === 'object')\n\t\tmodule.exports = factory();\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine([], factory);\n\telse if(typeof exports === 'object')\n\t\texports[\"Quill\"] = factory();\n\telse\n\t\troot[\"Quill\"] = factory();\n})(typeof self !== 'undefined' ? self : this, function() {\nreturn /******/ (function(modules) { // webpackBootstrap\n/******/ \t// The module cache\n/******/ \tvar installedModules = {};\n/******/\n/******/ \t// The require function\n/******/ \tfunction __webpack_require__(moduleId) {\n/******/\n/******/ \t\t// Check if module is in cache\n/******/ \t\tif(installedModules[moduleId]) {\n/******/ \t\t\treturn installedModules[moduleId].exports;\n/******/ \t\t}\n/******/ \t\t// Create a new module (and put it into the cache)\n/******/ \t\tvar module = installedModules[moduleId] = {\n/******/ \t\t\ti: moduleId,\n/******/ \t\t\tl: false,\n/******/ \t\t\texports: {}\n/******/ \t\t};\n/******/\n/******/ \t\t// Execute the module function\n/******/ \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n/******/\n/******/ \t\t// Flag the module as loaded\n/******/ \t\tmodule.l = true;\n/******/\n/******/ \t\t// Return the exports of the module\n/******/ \t\treturn module.exports;\n/******/ \t}\n/******/\n/******/\n/******/ \t// expose the modules object (__webpack_modules__)\n/******/ \t__webpack_require__.m = modules;\n/******/\n/******/ \t// expose the module cache\n/******/ \t__webpack_require__.c = installedModules;\n/******/\n/******/ \t// define getter function for harmony exports\n/******/ \t__webpack_require__.d = function(exports, name, getter) {\n/******/ \t\tif(!__webpack_require__.o(exports, name)) {\n/******/ \t\t\tObject.defineProperty(exports, name, {\n/******/ \t\t\t\tconfigurable: false,\n/******/ \t\t\t\tenumerable: true,\n/******/ \t\t\t\tget: getter\n/******/ \t\t\t});\n/******/ \t\t}\n/******/ \t};\n/******/\n/******/ \t// getDefaultExport function for compatibility with non-harmony modules\n/******/ \t__webpack_require__.n = function(module) {\n/******/ \t\tvar getter = module && module.__esModule ?\n/******/ \t\t\tfunction getDefault() { return module['default']; } :\n/******/ \t\t\tfunction getModuleExports() { return module; };\n/******/ \t\t__webpack_require__.d(getter, 'a', getter);\n/******/ \t\treturn getter;\n/******/ \t};\n/******/\n/******/ \t// Object.prototype.hasOwnProperty.call\n/******/ \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n/******/\n/******/ \t// __webpack_public_path__\n/******/ \t__webpack_require__.p = \"\";\n/******/\n/******/ \t// Load entry module and return exports\n/******/ \treturn __webpack_require__(__webpack_require__.s = 109);\n/******/ })\n/************************************************************************/\n/******/ ([\n/* 0 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar container_1 = __webpack_require__(17);\nvar format_1 = __webpack_require__(18);\nvar leaf_1 = __webpack_require__(19);\nvar scroll_1 = __webpack_require__(45);\nvar inline_1 = __webpack_require__(46);\nvar block_1 = __webpack_require__(47);\nvar embed_1 = __webpack_require__(48);\nvar text_1 = __webpack_require__(49);\nvar attributor_1 = __webpack_require__(12);\nvar class_1 = __webpack_require__(32);\nvar style_1 = __webpack_require__(33);\nvar store_1 = __webpack_require__(31);\nvar Registry = __webpack_require__(1);\nvar Parchment = {\n    Scope: Registry.Scope,\n    create: Registry.create,\n    find: Registry.find,\n    query: Registry.query,\n    register: Registry.register,\n    Container: container_1.default,\n    Format: format_1.default,\n    Leaf: leaf_1.default,\n    Embed: embed_1.default,\n    Scroll: scroll_1.default,\n    Block: block_1.default,\n    Inline: inline_1.default,\n    Text: text_1.default,\n    Attributor: {\n        Attribute: attributor_1.default,\n        Class: class_1.default,\n        Style: style_1.default,\n        Store: store_1.default,\n    },\n};\nexports.default = Parchment;\n\n\n/***/ }),\n/* 1 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nvar __extends = (this && this.__extends) || (function () {\n    var extendStatics = Object.setPrototypeOf ||\n        ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n        function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n    return function (d, b) {\n        extendStatics(d, b);\n        function __() { this.constructor = d; }\n        d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n    };\n})();\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar ParchmentError = /** @class */ (function (_super) {\n    __extends(ParchmentError, _super);\n    function ParchmentError(message) {\n        var _this = this;\n        message = '[Parchment] ' + message;\n        _this = _super.call(this, message) || this;\n        _this.message = message;\n        _this.name = _this.constructor.name;\n        return _this;\n    }\n    return ParchmentError;\n}(Error));\nexports.ParchmentError = ParchmentError;\nvar attributes = {};\nvar classes = {};\nvar tags = {};\nvar types = {};\nexports.DATA_KEY = '__blot';\nvar Scope;\n(function (Scope) {\n    Scope[Scope[\"TYPE\"] = 3] = \"TYPE\";\n    Scope[Scope[\"LEVEL\"] = 12] = \"LEVEL\";\n    Scope[Scope[\"ATTRIBUTE\"] = 13] = \"ATTRIBUTE\";\n    Scope[Scope[\"BLOT\"] = 14] = \"BLOT\";\n    Scope[Scope[\"INLINE\"] = 7] = \"INLINE\";\n    Scope[Scope[\"BLOCK\"] = 11] = \"BLOCK\";\n    Scope[Scope[\"BLOCK_BLOT\"] = 10] = \"BLOCK_BLOT\";\n    Scope[Scope[\"INLINE_BLOT\"] = 6] = \"INLINE_BLOT\";\n    Scope[Scope[\"BLOCK_ATTRIBUTE\"] = 9] = \"BLOCK_ATTRIBUTE\";\n    Scope[Scope[\"INLINE_ATTRIBUTE\"] = 5] = \"INLINE_ATTRIBUTE\";\n    Scope[Scope[\"ANY\"] = 15] = \"ANY\";\n})(Scope = exports.Scope || (exports.Scope = {}));\nfunction create(input, value) {\n    var match = query(input);\n    if (match == null) {\n        throw new ParchmentError(\"Unable to create \" + input + \" blot\");\n    }\n    var BlotClass = match;\n    var node = \n    // @ts-ignore\n    input instanceof Node || input['nodeType'] === Node.TEXT_NODE ? input : BlotClass.create(value);\n    return new BlotClass(node, value);\n}\nexports.create = create;\nfunction find(node, bubble) {\n    if (bubble === void 0) { bubble = false; }\n    if (node == null)\n        return null;\n    // @ts-ignore\n    if (node[exports.DATA_KEY] != null)\n        return node[exports.DATA_KEY].blot;\n    if (bubble)\n        return find(node.parentNode, bubble);\n    return null;\n}\nexports.find = find;\nfunction query(query, scope) {\n    if (scope === void 0) { scope = Scope.ANY; }\n    var match;\n    if (typeof query === 'string') {\n        match = types[query] || attributes[query];\n        // @ts-ignore\n    }\n    else if (query instanceof Text || query['nodeType'] === Node.TEXT_NODE) {\n        match = types['text'];\n    }\n    else if (typeof query === 'number') {\n        if (query & Scope.LEVEL & Scope.BLOCK) {\n            match = types['block'];\n        }\n        else if (query & Scope.LEVEL & Scope.INLINE) {\n            match = types['inline'];\n        }\n    }\n    else if (query instanceof HTMLElement) {\n        var names = (query.getAttribute('class') || '').split(/\\s+/);\n        for (var i in names) {\n            match = classes[names[i]];\n            if (match)\n                break;\n        }\n        match = match || tags[query.tagName];\n    }\n    if (match == null)\n        return null;\n    // @ts-ignore\n    if (scope & Scope.LEVEL & match.scope && scope & Scope.TYPE & match.scope)\n        return match;\n    return null;\n}\nexports.query = query;\nfunction register() {\n    var Definitions = [];\n    for (var _i = 0; _i < arguments.length; _i++) {\n        Definitions[_i] = arguments[_i];\n    }\n    if (Definitions.length > 1) {\n        return Definitions.map(function (d) {\n            return register(d);\n        });\n    }\n    var Definition = Definitions[0];\n    if (typeof Definition.blotName !== 'string' && typeof Definition.attrName !== 'string') {\n        throw new ParchmentError('Invalid definition');\n    }\n    else if (Definition.blotName === 'abstract') {\n        throw new ParchmentError('Cannot register abstract class');\n    }\n    types[Definition.blotName || Definition.attrName] = Definition;\n    if (typeof Definition.keyName === 'string') {\n        attributes[Definition.keyName] = Definition;\n    }\n    else {\n        if (Definition.className != null) {\n            classes[Definition.className] = Definition;\n        }\n        if (Definition.tagName != null) {\n            if (Array.isArray(Definition.tagName)) {\n                Definition.tagName = Definition.tagName.map(function (tagName) {\n                    return tagName.toUpperCase();\n                });\n            }\n            else {\n                Definition.tagName = Definition.tagName.toUpperCase();\n            }\n            var tagNames = Array.isArray(Definition.tagName) ? Definition.tagName : [Definition.tagName];\n            tagNames.forEach(function (tag) {\n                if (tags[tag] == null || Definition.className == null) {\n                    tags[tag] = Definition;\n                }\n            });\n        }\n    }\n    return Definition;\n}\nexports.register = register;\n\n\n/***/ }),\n/* 2 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar diff = __webpack_require__(51);\nvar equal = __webpack_require__(11);\nvar extend = __webpack_require__(3);\nvar op = __webpack_require__(20);\n\n\nvar NULL_CHARACTER = String.fromCharCode(0);  // Placeholder char for embed in diff()\n\n\nvar Delta = function (ops) {\n  // Assume we are given a well formed ops\n  if (Array.isArray(ops)) {\n    this.ops = ops;\n  } else if (ops != null && Array.isArray(ops.ops)) {\n    this.ops = ops.ops;\n  } else {\n    this.ops = [];\n  }\n};\n\n\nDelta.prototype.insert = function (text, attributes) {\n  var newOp = {};\n  if (text.length === 0) return this;\n  newOp.insert = text;\n  if (attributes != null && typeof attributes === 'object' && Object.keys(attributes).length > 0) {\n    newOp.attributes = attributes;\n  }\n  return this.push(newOp);\n};\n\nDelta.prototype['delete'] = function (length) {\n  if (length <= 0) return this;\n  return this.push({ 'delete': length });\n};\n\nDelta.prototype.retain = function (length, attributes) {\n  if (length <= 0) return this;\n  var newOp = { retain: length };\n  if (attributes != null && typeof attributes === 'object' && Object.keys(attributes).length > 0) {\n    newOp.attributes = attributes;\n  }\n  return this.push(newOp);\n};\n\nDelta.prototype.push = function (newOp) {\n  var index = this.ops.length;\n  var lastOp = this.ops[index - 1];\n  newOp = extend(true, {}, newOp);\n  if (typeof lastOp === 'object') {\n    if (typeof newOp['delete'] === 'number' && typeof lastOp['delete'] === 'number') {\n      this.ops[index - 1] = { 'delete': lastOp['delete'] + newOp['delete'] };\n      return this;\n    }\n    // Since it does not matter if we insert before or after deleting at the same index,\n    // always prefer to insert first\n    if (typeof lastOp['delete'] === 'number' && newOp.insert != null) {\n      index -= 1;\n      lastOp = this.ops[index - 1];\n      if (typeof lastOp !== 'object') {\n        this.ops.unshift(newOp);\n        return this;\n      }\n    }\n    if (equal(newOp.attributes, lastOp.attributes)) {\n      if (typeof newOp.insert === 'string' && typeof lastOp.insert === 'string') {\n        this.ops[index - 1] = { insert: lastOp.insert + newOp.insert };\n        if (typeof newOp.attributes === 'object') this.ops[index - 1].attributes = newOp.attributes\n        return this;\n      } else if (typeof newOp.retain === 'number' && typeof lastOp.retain === 'number') {\n        this.ops[index - 1] = { retain: lastOp.retain + newOp.retain };\n        if (typeof newOp.attributes === 'object') this.ops[index - 1].attributes = newOp.attributes\n        return this;\n      }\n    }\n  }\n  if (index === this.ops.length) {\n    this.ops.push(newOp);\n  } else {\n    this.ops.splice(index, 0, newOp);\n  }\n  return this;\n};\n\nDelta.prototype.chop = function () {\n  var lastOp = this.ops[this.ops.length - 1];\n  if (lastOp && lastOp.retain && !lastOp.attributes) {\n    this.ops.pop();\n  }\n  return this;\n};\n\nDelta.prototype.filter = function (predicate) {\n  return this.ops.filter(predicate);\n};\n\nDelta.prototype.forEach = function (predicate) {\n  this.ops.forEach(predicate);\n};\n\nDelta.prototype.map = function (predicate) {\n  return this.ops.map(predicate);\n};\n\nDelta.prototype.partition = function (predicate) {\n  var passed = [], failed = [];\n  this.forEach(function(op) {\n    var target = predicate(op) ? passed : failed;\n    target.push(op);\n  });\n  return [passed, failed];\n};\n\nDelta.prototype.reduce = function (predicate, initial) {\n  return this.ops.reduce(predicate, initial);\n};\n\nDelta.prototype.changeLength = function () {\n  return this.reduce(function (length, elem) {\n    if (elem.insert) {\n      return length + op.length(elem);\n    } else if (elem.delete) {\n      return length - elem.delete;\n    }\n    return length;\n  }, 0);\n};\n\nDelta.prototype.length = function () {\n  return this.reduce(function (length, elem) {\n    return length + op.length(elem);\n  }, 0);\n};\n\nDelta.prototype.slice = function (start, end) {\n  start = start || 0;\n  if (typeof end !== 'number') end = Infinity;\n  var ops = [];\n  var iter = op.iterator(this.ops);\n  var index = 0;\n  while (index < end && iter.hasNext()) {\n    var nextOp;\n    if (index < start) {\n      nextOp = iter.next(start - index);\n    } else {\n      nextOp = iter.next(end - index);\n      ops.push(nextOp);\n    }\n    index += op.length(nextOp);\n  }\n  return new Delta(ops);\n};\n\n\nDelta.prototype.compose = function (other) {\n  var thisIter = op.iterator(this.ops);\n  var otherIter = op.iterator(other.ops);\n  var ops = [];\n  var firstOther = otherIter.peek();\n  if (firstOther != null && typeof firstOther.retain === 'number' && firstOther.attributes == null) {\n    var firstLeft = firstOther.retain;\n    while (thisIter.peekType() === 'insert' && thisIter.peekLength() <= firstLeft) {\n      firstLeft -= thisIter.peekLength();\n      ops.push(thisIter.next());\n    }\n    if (firstOther.retain - firstLeft > 0) {\n      otherIter.next(firstOther.retain - firstLeft);\n    }\n  }\n  var delta = new Delta(ops);\n  while (thisIter.hasNext() || otherIter.hasNext()) {\n    if (otherIter.peekType() === 'insert') {\n      delta.push(otherIter.next());\n    } else if (thisIter.peekType() === 'delete') {\n      delta.push(thisIter.next());\n    } else {\n      var length = Math.min(thisIter.peekLength(), otherIter.peekLength());\n      var thisOp = thisIter.next(length);\n      var otherOp = otherIter.next(length);\n      if (typeof otherOp.retain === 'number') {\n        var newOp = {};\n        if (typeof thisOp.retain === 'number') {\n          newOp.retain = length;\n        } else {\n          newOp.insert = thisOp.insert;\n        }\n        // Preserve null when composing with a retain, otherwise remove it for inserts\n        var attributes = op.attributes.compose(thisOp.attributes, otherOp.attributes, typeof thisOp.retain === 'number');\n        if (attributes) newOp.attributes = attributes;\n        delta.push(newOp);\n\n        // Optimization if rest of other is just retain\n        if (!otherIter.hasNext() && equal(delta.ops[delta.ops.length - 1], newOp)) {\n          var rest = new Delta(thisIter.rest());\n          return delta.concat(rest).chop();\n        }\n\n      // Other op should be delete, we could be an insert or retain\n      // Insert + delete cancels out\n      } else if (typeof otherOp['delete'] === 'number' && typeof thisOp.retain === 'number') {\n        delta.push(otherOp);\n      }\n    }\n  }\n  return delta.chop();\n};\n\nDelta.prototype.concat = function (other) {\n  var delta = new Delta(this.ops.slice());\n  if (other.ops.length > 0) {\n    delta.push(other.ops[0]);\n    delta.ops = delta.ops.concat(other.ops.slice(1));\n  }\n  return delta;\n};\n\nDelta.prototype.diff = function (other, index) {\n  if (this.ops === other.ops) {\n    return new Delta();\n  }\n  var strings = [this, other].map(function (delta) {\n    return delta.map(function (op) {\n      if (op.insert != null) {\n        return typeof op.insert === 'string' ? op.insert : NULL_CHARACTER;\n      }\n      var prep = (delta === other) ? 'on' : 'with';\n      throw new Error('diff() called ' + prep + ' non-document');\n    }).join('');\n  });\n  var delta = new Delta();\n  var diffResult = diff(strings[0], strings[1], index);\n  var thisIter = op.iterator(this.ops);\n  var otherIter = op.iterator(other.ops);\n  diffResult.forEach(function (component) {\n    var length = component[1].length;\n    while (length > 0) {\n      var opLength = 0;\n      switch (component[0]) {\n        case diff.INSERT:\n          opLength = Math.min(otherIter.peekLength(), length);\n          delta.push(otherIter.next(opLength));\n          break;\n        case diff.DELETE:\n          opLength = Math.min(length, thisIter.peekLength());\n          thisIter.next(opLength);\n          delta['delete'](opLength);\n          break;\n        case diff.EQUAL:\n          opLength = Math.min(thisIter.peekLength(), otherIter.peekLength(), length);\n          var thisOp = thisIter.next(opLength);\n          var otherOp = otherIter.next(opLength);\n          if (equal(thisOp.insert, otherOp.insert)) {\n            delta.retain(opLength, op.attributes.diff(thisOp.attributes, otherOp.attributes));\n          } else {\n            delta.push(otherOp)['delete'](opLength);\n          }\n          break;\n      }\n      length -= opLength;\n    }\n  });\n  return delta.chop();\n};\n\nDelta.prototype.eachLine = function (predicate, newline) {\n  newline = newline || '\\n';\n  var iter = op.iterator(this.ops);\n  var line = new Delta();\n  var i = 0;\n  while (iter.hasNext()) {\n    if (iter.peekType() !== 'insert') return;\n    var thisOp = iter.peek();\n    var start = op.length(thisOp) - iter.peekLength();\n    var index = typeof thisOp.insert === 'string' ?\n      thisOp.insert.indexOf(newline, start) - start : -1;\n    if (index < 0) {\n      line.push(iter.next());\n    } else if (index > 0) {\n      line.push(iter.next(index));\n    } else {\n      if (predicate(line, iter.next(1).attributes || {}, i) === false) {\n        return;\n      }\n      i += 1;\n      line = new Delta();\n    }\n  }\n  if (line.length() > 0) {\n    predicate(line, {}, i);\n  }\n};\n\nDelta.prototype.transform = function (other, priority) {\n  priority = !!priority;\n  if (typeof other === 'number') {\n    return this.transformPosition(other, priority);\n  }\n  var thisIter = op.iterator(this.ops);\n  var otherIter = op.iterator(other.ops);\n  var delta = new Delta();\n  while (thisIter.hasNext() || otherIter.hasNext()) {\n    if (thisIter.peekType() === 'insert' && (priority || otherIter.peekType() !== 'insert')) {\n      delta.retain(op.length(thisIter.next()));\n    } else if (otherIter.peekType() === 'insert') {\n      delta.push(otherIter.next());\n    } else {\n      var length = Math.min(thisIter.peekLength(), otherIter.peekLength());\n      var thisOp = thisIter.next(length);\n      var otherOp = otherIter.next(length);\n      if (thisOp['delete']) {\n        // Our delete either makes their delete redundant or removes their retain\n        continue;\n      } else if (otherOp['delete']) {\n        delta.push(otherOp);\n      } else {\n        // We retain either their retain or insert\n        delta.retain(length, op.attributes.transform(thisOp.attributes, otherOp.attributes, priority));\n      }\n    }\n  }\n  return delta.chop();\n};\n\nDelta.prototype.transformPosition = function (index, priority) {\n  priority = !!priority;\n  var thisIter = op.iterator(this.ops);\n  var offset = 0;\n  while (thisIter.hasNext() && offset <= index) {\n    var length = thisIter.peekLength();\n    var nextType = thisIter.peekType();\n    thisIter.next();\n    if (nextType === 'delete') {\n      index -= Math.min(length, index - offset);\n      continue;\n    } else if (nextType === 'insert' && (offset < index || !priority)) {\n      index += length;\n    }\n    offset += length;\n  }\n  return index;\n};\n\n\nmodule.exports = Delta;\n\n\n/***/ }),\n/* 3 */\n/***/ (function(module, exports) {\n\n'use strict';\n\nvar hasOwn = Object.prototype.hasOwnProperty;\nvar toStr = Object.prototype.toString;\nvar defineProperty = Object.defineProperty;\nvar gOPD = Object.getOwnPropertyDescriptor;\n\nvar isArray = function isArray(arr) {\n\tif (typeof Array.isArray === 'function') {\n\t\treturn Array.isArray(arr);\n\t}\n\n\treturn toStr.call(arr) === '[object Array]';\n};\n\nvar isPlainObject = function isPlainObject(obj) {\n\tif (!obj || toStr.call(obj) !== '[object Object]') {\n\t\treturn false;\n\t}\n\n\tvar hasOwnConstructor = hasOwn.call(obj, 'constructor');\n\tvar hasIsPrototypeOf = obj.constructor && obj.constructor.prototype && hasOwn.call(obj.constructor.prototype, 'isPrototypeOf');\n\t// Not own constructor property must be Object\n\tif (obj.constructor && !hasOwnConstructor && !hasIsPrototypeOf) {\n\t\treturn false;\n\t}\n\n\t// Own properties are enumerated firstly, so to speed up,\n\t// if last one is own, then all properties are own.\n\tvar key;\n\tfor (key in obj) { /**/ }\n\n\treturn typeof key === 'undefined' || hasOwn.call(obj, key);\n};\n\n// If name is '__proto__', and Object.defineProperty is available, define __proto__ as an own property on target\nvar setProperty = function setProperty(target, options) {\n\tif (defineProperty && options.name === '__proto__') {\n\t\tdefineProperty(target, options.name, {\n\t\t\tenumerable: true,\n\t\t\tconfigurable: true,\n\t\t\tvalue: options.newValue,\n\t\t\twritable: true\n\t\t});\n\t} else {\n\t\ttarget[options.name] = options.newValue;\n\t}\n};\n\n// Return undefined instead of __proto__ if '__proto__' is not an own property\nvar getProperty = function getProperty(obj, name) {\n\tif (name === '__proto__') {\n\t\tif (!hasOwn.call(obj, name)) {\n\t\t\treturn void 0;\n\t\t} else if (gOPD) {\n\t\t\t// In early versions of node, obj['__proto__'] is buggy when obj has\n\t\t\t// __proto__ as an own property. Object.getOwnPropertyDescriptor() works.\n\t\t\treturn gOPD(obj, name).value;\n\t\t}\n\t}\n\n\treturn obj[name];\n};\n\nmodule.exports = function extend() {\n\tvar options, name, src, copy, copyIsArray, clone;\n\tvar target = arguments[0];\n\tvar i = 1;\n\tvar length = arguments.length;\n\tvar deep = false;\n\n\t// Handle a deep copy situation\n\tif (typeof target === 'boolean') {\n\t\tdeep = target;\n\t\ttarget = arguments[1] || {};\n\t\t// skip the boolean and the target\n\t\ti = 2;\n\t}\n\tif (target == null || (typeof target !== 'object' && typeof target !== 'function')) {\n\t\ttarget = {};\n\t}\n\n\tfor (; i < length; ++i) {\n\t\toptions = arguments[i];\n\t\t// Only deal with non-null/undefined values\n\t\tif (options != null) {\n\t\t\t// Extend the base object\n\t\t\tfor (name in options) {\n\t\t\t\tsrc = getProperty(target, name);\n\t\t\t\tcopy = getProperty(options, name);\n\n\t\t\t\t// Prevent never-ending loop\n\t\t\t\tif (target !== copy) {\n\t\t\t\t\t// Recurse if we're merging plain objects or arrays\n\t\t\t\t\tif (deep && copy && (isPlainObject(copy) || (copyIsArray = isArray(copy)))) {\n\t\t\t\t\t\tif (copyIsArray) {\n\t\t\t\t\t\t\tcopyIsArray = false;\n\t\t\t\t\t\t\tclone = src && isArray(src) ? src : [];\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tclone = src && isPlainObject(src) ? src : {};\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\t// Never move original objects, clone them\n\t\t\t\t\t\tsetProperty(target, { name: name, newValue: extend(deep, clone, copy) });\n\n\t\t\t\t\t// Don't bring in undefined values\n\t\t\t\t\t} else if (typeof copy !== 'undefined') {\n\t\t\t\t\t\tsetProperty(target, { name: name, newValue: copy });\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\t// Return the modified object\n\treturn target;\n};\n\n\n/***/ }),\n/* 4 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n  value: true\n});\nexports.default = exports.BlockEmbed = exports.bubbleFormats = undefined;\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _get = function get(object, property, receiver) { if (object === null) object = Function.prototype; var desc = Object.getOwnPropertyDescriptor(object, property); if (desc === undefined) { var parent = Object.getPrototypeOf(object); if (parent === null) { return undefined; } else { return get(parent, property, receiver); } } else if (\"value\" in desc) { return desc.value; } else { var getter = desc.get; if (getter === undefined) { return undefined; } return getter.call(receiver); } };\n\nvar _extend = __webpack_require__(3);\n\nvar _extend2 = _interopRequireDefault(_extend);\n\nvar _quillDelta = __webpack_require__(2);\n\nvar _quillDelta2 = _interopRequireDefault(_quillDelta);\n\nvar _parchment = __webpack_require__(0);\n\nvar _parchment2 = _interopRequireDefault(_parchment);\n\nvar _break = __webpack_require__(16);\n\nvar _break2 = _interopRequireDefault(_break);\n\nvar _inline = __webpack_require__(6);\n\nvar _inline2 = _interopRequireDefault(_inline);\n\nvar _text = __webpack_require__(7);\n\nvar _text2 = _interopRequireDefault(_text);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\nvar NEWLINE_LENGTH = 1;\n\nvar BlockEmbed = function (_Parchment$Embed) {\n  _inherits(BlockEmbed, _Parchment$Embed);\n\n  function BlockEmbed() {\n    _classCallCheck(this, BlockEmbed);\n\n    return _possibleConstructorReturn(this, (BlockEmbed.__proto__ || Object.getPrototypeOf(BlockEmbed)).apply(this, arguments));\n  }\n\n  _createClass(BlockEmbed, [{\n    key: 'attach',\n    value: function attach() {\n      _get(BlockEmbed.prototype.__proto__ || Object.getPrototypeOf(BlockEmbed.prototype), 'attach', this).call(this);\n      this.attributes = new _parchment2.default.Attributor.Store(this.domNode);\n    }\n  }, {\n    key: 'delta',\n    value: function delta() {\n      return new _quillDelta2.default().insert(this.value(), (0, _extend2.default)(this.formats(), this.attributes.values()));\n    }\n  }, {\n    key: 'format',\n    value: function format(name, value) {\n      var attribute = _parchment2.default.query(name, _parchment2.default.Scope.BLOCK_ATTRIBUTE);\n      if (attribute != null) {\n        this.attributes.attribute(attribute, value);\n      }\n    }\n  }, {\n    key: 'formatAt',\n    value: function formatAt(index, length, name, value) {\n      this.format(name, value);\n    }\n  }, {\n    key: 'insertAt',\n    value: function insertAt(index, value, def) {\n      if (typeof value === 'string' && value.endsWith('\\n')) {\n        var block = _parchment2.default.create(Block.blotName);\n        this.parent.insertBefore(block, index === 0 ? this : this.next);\n        block.insertAt(0, value.slice(0, -1));\n      } else {\n        _get(BlockEmbed.prototype.__proto__ || Object.getPrototypeOf(BlockEmbed.prototype), 'insertAt', this).call(this, index, value, def);\n      }\n    }\n  }]);\n\n  return BlockEmbed;\n}(_parchment2.default.Embed);\n\nBlockEmbed.scope = _parchment2.default.Scope.BLOCK_BLOT;\n// It is important for cursor behavior BlockEmbeds use tags that are block level elements\n\n\nvar Block = function (_Parchment$Block) {\n  _inherits(Block, _Parchment$Block);\n\n  function Block(domNode) {\n    _classCallCheck(this, Block);\n\n    var _this2 = _possibleConstructorReturn(this, (Block.__proto__ || Object.getPrototypeOf(Block)).call(this, domNode));\n\n    _this2.cache = {};\n    return _this2;\n  }\n\n  _createClass(Block, [{\n    key: 'delta',\n    value: function delta() {\n      if (this.cache.delta == null) {\n        this.cache.delta = this.descendants(_parchment2.default.Leaf).reduce(function (delta, leaf) {\n          if (leaf.length() === 0) {\n            return delta;\n          } else {\n            return delta.insert(leaf.value(), bubbleFormats(leaf));\n          }\n        }, new _quillDelta2.default()).insert('\\n', bubbleFormats(this));\n      }\n      return this.cache.delta;\n    }\n  }, {\n    key: 'deleteAt',\n    value: function deleteAt(index, length) {\n      _get(Block.prototype.__proto__ || Object.getPrototypeOf(Block.prototype), 'deleteAt', this).call(this, index, length);\n      this.cache = {};\n    }\n  }, {\n    key: 'formatAt',\n    value: function formatAt(index, length, name, value) {\n      if (length <= 0) return;\n      if (_parchment2.default.query(name, _parchment2.default.Scope.BLOCK)) {\n        if (index + length === this.length()) {\n          this.format(name, value);\n        }\n      } else {\n        _get(Block.prototype.__proto__ || Object.getPrototypeOf(Block.prototype), 'formatAt', this).call(this, index, Math.min(length, this.length() - index - 1), name, value);\n      }\n      this.cache = {};\n    }\n  }, {\n    key: 'insertAt',\n    value: function insertAt(index, value, def) {\n      if (def != null) return _get(Block.prototype.__proto__ || Object.getPrototypeOf(Block.prototype), 'insertAt', this).call(this, index, value, def);\n      if (value.length === 0) return;\n      var lines = value.split('\\n');\n      var text = lines.shift();\n      if (text.length > 0) {\n        if (index < this.length() - 1 || this.children.tail == null) {\n          _get(Block.prototype.__proto__ || Object.getPrototypeOf(Block.prototype), 'insertAt', this).call(this, Math.min(index, this.length() - 1), text);\n        } else {\n          this.children.tail.insertAt(this.children.tail.length(), text);\n        }\n        this.cache = {};\n      }\n      var block = this;\n      lines.reduce(function (index, line) {\n        block = block.split(index, true);\n        block.insertAt(0, line);\n        return line.length;\n      }, index + text.length);\n    }\n  }, {\n    key: 'insertBefore',\n    value: function insertBefore(blot, ref) {\n      var head = this.children.head;\n      _get(Block.prototype.__proto__ || Object.getPrototypeOf(Block.prototype), 'insertBefore', this).call(this, blot, ref);\n      if (head instanceof _break2.default) {\n        head.remove();\n      }\n      this.cache = {};\n    }\n  }, {\n    key: 'length',\n    value: function length() {\n      if (this.cache.length == null) {\n        this.cache.length = _get(Block.prototype.__proto__ || Object.getPrototypeOf(Block.prototype), 'length', this).call(this) + NEWLINE_LENGTH;\n      }\n      return this.cache.length;\n    }\n  }, {\n    key: 'moveChildren',\n    value: function moveChildren(target, ref) {\n      _get(Block.prototype.__proto__ || Object.getPrototypeOf(Block.prototype), 'moveChildren', this).call(this, target, ref);\n      this.cache = {};\n    }\n  }, {\n    key: 'optimize',\n    value: function optimize(context) {\n      _get(Block.prototype.__proto__ || Object.getPrototypeOf(Block.prototype), 'optimize', this).call(this, context);\n      this.cache = {};\n    }\n  }, {\n    key: 'path',\n    value: function path(index) {\n      return _get(Block.prototype.__proto__ || Object.getPrototypeOf(Block.prototype), 'path', this).call(this, index, true);\n    }\n  }, {\n    key: 'removeChild',\n    value: function removeChild(child) {\n      _get(Block.prototype.__proto__ || Object.getPrototypeOf(Block.prototype), 'removeChild', this).call(this, child);\n      this.cache = {};\n    }\n  }, {\n    key: 'split',\n    value: function split(index) {\n      var force = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;\n\n      if (force && (index === 0 || index >= this.length() - NEWLINE_LENGTH)) {\n        var clone = this.clone();\n        if (index === 0) {\n          this.parent.insertBefore(clone, this);\n          return this;\n        } else {\n          this.parent.insertBefore(clone, this.next);\n          return clone;\n        }\n      } else {\n        var next = _get(Block.prototype.__proto__ || Object.getPrototypeOf(Block.prototype), 'split', this).call(this, index, force);\n        this.cache = {};\n        return next;\n      }\n    }\n  }]);\n\n  return Block;\n}(_parchment2.default.Block);\n\nBlock.blotName = 'block';\nBlock.tagName = 'P';\nBlock.defaultChild = 'break';\nBlock.allowedChildren = [_inline2.default, _parchment2.default.Embed, _text2.default];\n\nfunction bubbleFormats(blot) {\n  var formats = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n\n  if (blot == null) return formats;\n  if (typeof blot.formats === 'function') {\n    formats = (0, _extend2.default)(formats, blot.formats());\n  }\n  if (blot.parent == null || blot.parent.blotName == 'scroll' || blot.parent.statics.scope !== blot.statics.scope) {\n    return formats;\n  }\n  return bubbleFormats(blot.parent, formats);\n}\n\nexports.bubbleFormats = bubbleFormats;\nexports.BlockEmbed = BlockEmbed;\nexports.default = Block;\n\n/***/ }),\n/* 5 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n  value: true\n});\nexports.default = exports.overload = exports.expandConfig = undefined;\n\nvar _typeof = typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; };\n\nvar _slicedToArray = function () { function sliceIterator(arr, i) { var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i[\"return\"]) _i[\"return\"](); } finally { if (_d) throw _e; } } return _arr; } return function (arr, i) { if (Array.isArray(arr)) { return arr; } else if (Symbol.iterator in Object(arr)) { return sliceIterator(arr, i); } else { throw new TypeError(\"Invalid attempt to destructure non-iterable instance\"); } }; }();\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\n__webpack_require__(50);\n\nvar _quillDelta = __webpack_require__(2);\n\nvar _quillDelta2 = _interopRequireDefault(_quillDelta);\n\nvar _editor = __webpack_require__(14);\n\nvar _editor2 = _interopRequireDefault(_editor);\n\nvar _emitter3 = __webpack_require__(8);\n\nvar _emitter4 = _interopRequireDefault(_emitter3);\n\nvar _module = __webpack_require__(9);\n\nvar _module2 = _interopRequireDefault(_module);\n\nvar _parchment = __webpack_require__(0);\n\nvar _parchment2 = _interopRequireDefault(_parchment);\n\nvar _selection = __webpack_require__(15);\n\nvar _selection2 = _interopRequireDefault(_selection);\n\nvar _extend = __webpack_require__(3);\n\nvar _extend2 = _interopRequireDefault(_extend);\n\nvar _logger = __webpack_require__(10);\n\nvar _logger2 = _interopRequireDefault(_logger);\n\nvar _theme = __webpack_require__(34);\n\nvar _theme2 = _interopRequireDefault(_theme);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nvar debug = (0, _logger2.default)('quill');\n\nvar Quill = function () {\n  _createClass(Quill, null, [{\n    key: 'debug',\n    value: function debug(limit) {\n      if (limit === true) {\n        limit = 'log';\n      }\n      _logger2.default.level(limit);\n    }\n  }, {\n    key: 'find',\n    value: function find(node) {\n      return node.__quill || _parchment2.default.find(node);\n    }\n  }, {\n    key: 'import',\n    value: function _import(name) {\n      if (this.imports[name] == null) {\n        debug.error('Cannot import ' + name + '. Are you sure it was registered?');\n      }\n      return this.imports[name];\n    }\n  }, {\n    key: 'register',\n    value: function register(path, target) {\n      var _this = this;\n\n      var overwrite = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;\n\n      if (typeof path !== 'string') {\n        var name = path.attrName || path.blotName;\n        if (typeof name === 'string') {\n          // register(Blot | Attributor, overwrite)\n          this.register('formats/' + name, path, target);\n        } else {\n          Object.keys(path).forEach(function (key) {\n            _this.register(key, path[key], target);\n          });\n        }\n      } else {\n        if (this.imports[path] != null && !overwrite) {\n          debug.warn('Overwriting ' + path + ' with', target);\n        }\n        this.imports[path] = target;\n        if ((path.startsWith('blots/') || path.startsWith('formats/')) && target.blotName !== 'abstract') {\n          _parchment2.default.register(target);\n        } else if (path.startsWith('modules') && typeof target.register === 'function') {\n          target.register();\n        }\n      }\n    }\n  }]);\n\n  function Quill(container) {\n    var _this2 = this;\n\n    var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n\n    _classCallCheck(this, Quill);\n\n    this.options = expandConfig(container, options);\n    this.container = this.options.container;\n    if (this.container == null) {\n      return debug.error('Invalid Quill container', container);\n    }\n    if (this.options.debug) {\n      Quill.debug(this.options.debug);\n    }\n    var html = this.container.innerHTML.trim();\n    this.container.classList.add('ql-container');\n    this.container.innerHTML = '';\n    this.container.__quill = this;\n    this.root = this.addContainer('ql-editor');\n    this.root.classList.add('ql-blank');\n    this.root.setAttribute('data-gramm', false);\n    this.scrollingContainer = this.options.scrollingContainer || this.root;\n    this.emitter = new _emitter4.default();\n    this.scroll = _parchment2.default.create(this.root, {\n      emitter: this.emitter,\n      whitelist: this.options.formats\n    });\n    this.editor = new _editor2.default(this.scroll);\n    this.selection = new _selection2.default(this.scroll, this.emitter);\n    this.theme = new this.options.theme(this, this.options);\n    this.keyboard = this.theme.addModule('keyboard');\n    this.clipboard = this.theme.addModule('clipboard');\n    this.history = this.theme.addModule('history');\n    this.theme.init();\n    this.emitter.on(_emitter4.default.events.EDITOR_CHANGE, function (type) {\n      if (type === _emitter4.default.events.TEXT_CHANGE) {\n        _this2.root.classList.toggle('ql-blank', _this2.editor.isBlank());\n      }\n    });\n    this.emitter.on(_emitter4.default.events.SCROLL_UPDATE, function (source, mutations) {\n      var range = _this2.selection.lastRange;\n      var index = range && range.length === 0 ? range.index : undefined;\n      modify.call(_this2, function () {\n        return _this2.editor.update(null, mutations, index);\n      }, source);\n    });\n    var contents = this.clipboard.convert('<div class=\\'ql-editor\\' style=\"white-space: normal;\">' + html + '<p><br></p></div>');\n    this.setContents(contents);\n    this.history.clear();\n    if (this.options.placeholder) {\n      this.root.setAttribute('data-placeholder', this.options.placeholder);\n    }\n    if (this.options.readOnly) {\n      this.disable();\n    }\n  }\n\n  _createClass(Quill, [{\n    key: 'addContainer',\n    value: function addContainer(container) {\n      var refNode = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : null;\n\n      if (typeof container === 'string') {\n        var className = container;\n        container = document.createElement('div');\n        container.classList.add(className);\n      }\n      this.container.insertBefore(container, refNode);\n      return container;\n    }\n  }, {\n    key: 'blur',\n    value: function blur() {\n      this.selection.setRange(null);\n    }\n  }, {\n    key: 'deleteText',\n    value: function deleteText(index, length, source) {\n      var _this3 = this;\n\n      var _overload = overload(index, length, source);\n\n      var _overload2 = _slicedToArray(_overload, 4);\n\n      index = _overload2[0];\n      length = _overload2[1];\n      source = _overload2[3];\n\n      return modify.call(this, function () {\n        return _this3.editor.deleteText(index, length);\n      }, source, index, -1 * length);\n    }\n  }, {\n    key: 'disable',\n    value: function disable() {\n      this.enable(false);\n    }\n  }, {\n    key: 'enable',\n    value: function enable() {\n      var enabled = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : true;\n\n      this.scroll.enable(enabled);\n      this.container.classList.toggle('ql-disabled', !enabled);\n    }\n  }, {\n    key: 'focus',\n    value: function focus() {\n      var scrollTop = this.scrollingContainer.scrollTop;\n      this.selection.focus();\n      this.scrollingContainer.scrollTop = scrollTop;\n      this.scrollIntoView();\n    }\n  }, {\n    key: 'format',\n    value: function format(name, value) {\n      var _this4 = this;\n\n      var source = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : _emitter4.default.sources.API;\n\n      return modify.call(this, function () {\n        var range = _this4.getSelection(true);\n        var change = new _quillDelta2.default();\n        if (range == null) {\n          return change;\n        } else if (_parchment2.default.query(name, _parchment2.default.Scope.BLOCK)) {\n          change = _this4.editor.formatLine(range.index, range.length, _defineProperty({}, name, value));\n        } else if (range.length === 0) {\n          _this4.selection.format(name, value);\n          return change;\n        } else {\n          change = _this4.editor.formatText(range.index, range.length, _defineProperty({}, name, value));\n        }\n        _this4.setSelection(range, _emitter4.default.sources.SILENT);\n        return change;\n      }, source);\n    }\n  }, {\n    key: 'formatLine',\n    value: function formatLine(index, length, name, value, source) {\n      var _this5 = this;\n\n      var formats = void 0;\n\n      var _overload3 = overload(index, length, name, value, source);\n\n      var _overload4 = _slicedToArray(_overload3, 4);\n\n      index = _overload4[0];\n      length = _overload4[1];\n      formats = _overload4[2];\n      source = _overload4[3];\n\n      return modify.call(this, function () {\n        return _this5.editor.formatLine(index, length, formats);\n      }, source, index, 0);\n    }\n  }, {\n    key: 'formatText',\n    value: function formatText(index, length, name, value, source) {\n      var _this6 = this;\n\n      var formats = void 0;\n\n      var _overload5 = overload(index, length, name, value, source);\n\n      var _overload6 = _slicedToArray(_overload5, 4);\n\n      index = _overload6[0];\n      length = _overload6[1];\n      formats = _overload6[2];\n      source = _overload6[3];\n\n      return modify.call(this, function () {\n        return _this6.editor.formatText(index, length, formats);\n      }, source, index, 0);\n    }\n  }, {\n    key: 'getBounds',\n    value: function getBounds(index) {\n      var length = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 0;\n\n      var bounds = void 0;\n      if (typeof index === 'number') {\n        bounds = this.selection.getBounds(index, length);\n      } else {\n        bounds = this.selection.getBounds(index.index, index.length);\n      }\n      var containerBounds = this.container.getBoundingClientRect();\n      return {\n        bottom: bounds.bottom - containerBounds.top,\n        height: bounds.height,\n        left: bounds.left - containerBounds.left,\n        right: bounds.right - containerBounds.left,\n        top: bounds.top - containerBounds.top,\n        width: bounds.width\n      };\n    }\n  }, {\n    key: 'getContents',\n    value: function getContents() {\n      var index = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 0;\n      var length = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : this.getLength() - index;\n\n      var _overload7 = overload(index, length);\n\n      var _overload8 = _slicedToArray(_overload7, 2);\n\n      index = _overload8[0];\n      length = _overload8[1];\n\n      return this.editor.getContents(index, length);\n    }\n  }, {\n    key: 'getFormat',\n    value: function getFormat() {\n      var index = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : this.getSelection(true);\n      var length = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 0;\n\n      if (typeof index === 'number') {\n        return this.editor.getFormat(index, length);\n      } else {\n        return this.editor.getFormat(index.index, index.length);\n      }\n    }\n  }, {\n    key: 'getIndex',\n    value: function getIndex(blot) {\n      return blot.offset(this.scroll);\n    }\n  }, {\n    key: 'getLength',\n    value: function getLength() {\n      return this.scroll.length();\n    }\n  }, {\n    key: 'getLeaf',\n    value: function getLeaf(index) {\n      return this.scroll.leaf(index);\n    }\n  }, {\n    key: 'getLine',\n    value: function getLine(index) {\n      return this.scroll.line(index);\n    }\n  }, {\n    key: 'getLines',\n    value: function getLines() {\n      var index = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 0;\n      var length = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : Number.MAX_VALUE;\n\n      if (typeof index !== 'number') {\n        return this.scroll.lines(index.index, index.length);\n      } else {\n        return this.scroll.lines(index, length);\n      }\n    }\n  }, {\n    key: 'getModule',\n    value: function getModule(name) {\n      return this.theme.modules[name];\n    }\n  }, {\n    key: 'getSelection',\n    value: function getSelection() {\n      var focus = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;\n\n      if (focus) this.focus();\n      this.update(); // Make sure we access getRange with editor in consistent state\n      return this.selection.getRange()[0];\n    }\n  }, {\n    key: 'getText',\n    value: function getText() {\n      var index = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 0;\n      var length = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : this.getLength() - index;\n\n      var _overload9 = overload(index, length);\n\n      var _overload10 = _slicedToArray(_overload9, 2);\n\n      index = _overload10[0];\n      length = _overload10[1];\n\n      return this.editor.getText(index, length);\n    }\n  }, {\n    key: 'hasFocus',\n    value: function hasFocus() {\n      return this.selection.hasFocus();\n    }\n  }, {\n    key: 'insertEmbed',\n    value: function insertEmbed(index, embed, value) {\n      var _this7 = this;\n\n      var source = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : Quill.sources.API;\n\n      return modify.call(this, function () {\n        return _this7.editor.insertEmbed(index, embed, value);\n      }, source, index);\n    }\n  }, {\n    key: 'insertText',\n    value: function insertText(index, text, name, value, source) {\n      var _this8 = this;\n\n      var formats = void 0;\n\n      var _overload11 = overload(index, 0, name, value, source);\n\n      var _overload12 = _slicedToArray(_overload11, 4);\n\n      index = _overload12[0];\n      formats = _overload12[2];\n      source = _overload12[3];\n\n      return modify.call(this, function () {\n        return _this8.editor.insertText(index, text, formats);\n      }, source, index, text.length);\n    }\n  }, {\n    key: 'isEnabled',\n    value: function isEnabled() {\n      return !this.container.classList.contains('ql-disabled');\n    }\n  }, {\n    key: 'off',\n    value: function off() {\n      return this.emitter.off.apply(this.emitter, arguments);\n    }\n  }, {\n    key: 'on',\n    value: function on() {\n      return this.emitter.on.apply(this.emitter, arguments);\n    }\n  }, {\n    key: 'once',\n    value: function once() {\n      return this.emitter.once.apply(this.emitter, arguments);\n    }\n  }, {\n    key: 'pasteHTML',\n    value: function pasteHTML(index, html, source) {\n      this.clipboard.dangerouslyPasteHTML(index, html, source);\n    }\n  }, {\n    key: 'removeFormat',\n    value: function removeFormat(index, length, source) {\n      var _this9 = this;\n\n      var _overload13 = overload(index, length, source);\n\n      var _overload14 = _slicedToArray(_overload13, 4);\n\n      index = _overload14[0];\n      length = _overload14[1];\n      source = _overload14[3];\n\n      return modify.call(this, function () {\n        return _this9.editor.removeFormat(index, length);\n      }, source, index);\n    }\n  }, {\n    key: 'scrollIntoView',\n    value: function scrollIntoView() {\n      this.selection.scrollIntoView(this.scrollingContainer);\n    }\n  }, {\n    key: 'setContents',\n    value: function setContents(delta) {\n      var _this10 = this;\n\n      var source = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : _emitter4.default.sources.API;\n\n      return modify.call(this, function () {\n        delta = new _quillDelta2.default(delta);\n        var length = _this10.getLength();\n        var deleted = _this10.editor.deleteText(0, length);\n        var applied = _this10.editor.applyDelta(delta);\n        var lastOp = applied.ops[applied.ops.length - 1];\n        if (lastOp != null && typeof lastOp.insert === 'string' && lastOp.insert[lastOp.insert.length - 1] === '\\n') {\n          _this10.editor.deleteText(_this10.getLength() - 1, 1);\n          applied.delete(1);\n        }\n        var ret = deleted.compose(applied);\n        return ret;\n      }, source);\n    }\n  }, {\n    key: 'setSelection',\n    value: function setSelection(index, length, source) {\n      if (index == null) {\n        this.selection.setRange(null, length || Quill.sources.API);\n      } else {\n        var _overload15 = overload(index, length, source);\n\n        var _overload16 = _slicedToArray(_overload15, 4);\n\n        index = _overload16[0];\n        length = _overload16[1];\n        source = _overload16[3];\n\n        this.selection.setRange(new _selection.Range(index, length), source);\n        if (source !== _emitter4.default.sources.SILENT) {\n          this.selection.scrollIntoView(this.scrollingContainer);\n        }\n      }\n    }\n  }, {\n    key: 'setText',\n    value: function setText(text) {\n      var source = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : _emitter4.default.sources.API;\n\n      var delta = new _quillDelta2.default().insert(text);\n      return this.setContents(delta, source);\n    }\n  }, {\n    key: 'update',\n    value: function update() {\n      var source = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : _emitter4.default.sources.USER;\n\n      var change = this.scroll.update(source); // Will update selection before selection.update() does if text changes\n      this.selection.update(source);\n      return change;\n    }\n  }, {\n    key: 'updateContents',\n    value: function updateContents(delta) {\n      var _this11 = this;\n\n      var source = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : _emitter4.default.sources.API;\n\n      return modify.call(this, function () {\n        delta = new _quillDelta2.default(delta);\n        return _this11.editor.applyDelta(delta, source);\n      }, source, true);\n    }\n  }]);\n\n  return Quill;\n}();\n\nQuill.DEFAULTS = {\n  bounds: null,\n  formats: null,\n  modules: {},\n  placeholder: '',\n  readOnly: false,\n  scrollingContainer: null,\n  strict: true,\n  theme: 'default'\n};\nQuill.events = _emitter4.default.events;\nQuill.sources = _emitter4.default.sources;\n// eslint-disable-next-line no-undef\nQuill.version =  false ? 'dev' : \"1.3.7\";\n\nQuill.imports = {\n  'delta': _quillDelta2.default,\n  'parchment': _parchment2.default,\n  'core/module': _module2.default,\n  'core/theme': _theme2.default\n};\n\nfunction expandConfig(container, userConfig) {\n  userConfig = (0, _extend2.default)(true, {\n    container: container,\n    modules: {\n      clipboard: true,\n      keyboard: true,\n      history: true\n    }\n  }, userConfig);\n  if (!userConfig.theme || userConfig.theme === Quill.DEFAULTS.theme) {\n    userConfig.theme = _theme2.default;\n  } else {\n    userConfig.theme = Quill.import('themes/' + userConfig.theme);\n    if (userConfig.theme == null) {\n      throw new Error('Invalid theme ' + userConfig.theme + '. Did you register it?');\n    }\n  }\n  var themeConfig = (0, _extend2.default)(true, {}, userConfig.theme.DEFAULTS);\n  [themeConfig, userConfig].forEach(function (config) {\n    config.modules = config.modules || {};\n    Object.keys(config.modules).forEach(function (module) {\n      if (config.modules[module] === true) {\n        config.modules[module] = {};\n      }\n    });\n  });\n  var moduleNames = Object.keys(themeConfig.modules).concat(Object.keys(userConfig.modules));\n  var moduleConfig = moduleNames.reduce(function (config, name) {\n    var moduleClass = Quill.import('modules/' + name);\n    if (moduleClass == null) {\n      debug.error('Cannot load ' + name + ' module. Are you sure you registered it?');\n    } else {\n      config[name] = moduleClass.DEFAULTS || {};\n    }\n    return config;\n  }, {});\n  // Special case toolbar shorthand\n  if (userConfig.modules != null && userConfig.modules.toolbar && userConfig.modules.toolbar.constructor !== Object) {\n    userConfig.modules.toolbar = {\n      container: userConfig.modules.toolbar\n    };\n  }\n  userConfig = (0, _extend2.default)(true, {}, Quill.DEFAULTS, { modules: moduleConfig }, themeConfig, userConfig);\n  ['bounds', 'container', 'scrollingContainer'].forEach(function (key) {\n    if (typeof userConfig[key] === 'string') {\n      userConfig[key] = document.querySelector(userConfig[key]);\n    }\n  });\n  userConfig.modules = Object.keys(userConfig.modules).reduce(function (config, name) {\n    if (userConfig.modules[name]) {\n      config[name] = userConfig.modules[name];\n    }\n    return config;\n  }, {});\n  return userConfig;\n}\n\n// Handle selection preservation and TEXT_CHANGE emission\n// common to modification APIs\nfunction modify(modifier, source, index, shift) {\n  if (this.options.strict && !this.isEnabled() && source === _emitter4.default.sources.USER) {\n    return new _quillDelta2.default();\n  }\n  var range = index == null ? null : this.getSelection();\n  var oldDelta = this.editor.delta;\n  var change = modifier();\n  if (range != null) {\n    if (index === true) index = range.index;\n    if (shift == null) {\n      range = shiftRange(range, change, source);\n    } else if (shift !== 0) {\n      range = shiftRange(range, index, shift, source);\n    }\n    this.setSelection(range, _emitter4.default.sources.SILENT);\n  }\n  if (change.length() > 0) {\n    var _emitter;\n\n    var args = [_emitter4.default.events.TEXT_CHANGE, change, oldDelta, source];\n    (_emitter = this.emitter).emit.apply(_emitter, [_emitter4.default.events.EDITOR_CHANGE].concat(args));\n    if (source !== _emitter4.default.sources.SILENT) {\n      var _emitter2;\n\n      (_emitter2 = this.emitter).emit.apply(_emitter2, args);\n    }\n  }\n  return change;\n}\n\nfunction overload(index, length, name, value, source) {\n  var formats = {};\n  if (typeof index.index === 'number' && typeof index.length === 'number') {\n    // Allow for throwaway end (used by insertText/insertEmbed)\n    if (typeof length !== 'number') {\n      source = value, value = name, name = length, length = index.length, index = index.index;\n    } else {\n      length = index.length, index = index.index;\n    }\n  } else if (typeof length !== 'number') {\n    source = value, value = name, name = length, length = 0;\n  }\n  // Handle format being object, two format name/value strings or excluded\n  if ((typeof name === 'undefined' ? 'undefined' : _typeof(name)) === 'object') {\n    formats = name;\n    source = value;\n  } else if (typeof name === 'string') {\n    if (value != null) {\n      formats[name] = value;\n    } else {\n      source = name;\n    }\n  }\n  // Handle optional source\n  source = source || _emitter4.default.sources.API;\n  return [index, length, formats, source];\n}\n\nfunction shiftRange(range, index, length, source) {\n  if (range == null) return null;\n  var start = void 0,\n      end = void 0;\n  if (index instanceof _quillDelta2.default) {\n    var _map = [range.index, range.index + range.length].map(function (pos) {\n      return index.transformPosition(pos, source !== _emitter4.default.sources.USER);\n    });\n\n    var _map2 = _slicedToArray(_map, 2);\n\n    start = _map2[0];\n    end = _map2[1];\n  } else {\n    var _map3 = [range.index, range.index + range.length].map(function (pos) {\n      if (pos < index || pos === index && source === _emitter4.default.sources.USER) return pos;\n      if (length >= 0) {\n        return pos + length;\n      } else {\n        return Math.max(index, pos + length);\n      }\n    });\n\n    var _map4 = _slicedToArray(_map3, 2);\n\n    start = _map4[0];\n    end = _map4[1];\n  }\n  return new _selection.Range(start, end - start);\n}\n\nexports.expandConfig = expandConfig;\nexports.overload = overload;\nexports.default = Quill;\n\n/***/ }),\n/* 6 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n  value: true\n});\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _get = function get(object, property, receiver) { if (object === null) object = Function.prototype; var desc = Object.getOwnPropertyDescriptor(object, property); if (desc === undefined) { var parent = Object.getPrototypeOf(object); if (parent === null) { return undefined; } else { return get(parent, property, receiver); } } else if (\"value\" in desc) { return desc.value; } else { var getter = desc.get; if (getter === undefined) { return undefined; } return getter.call(receiver); } };\n\nvar _text = __webpack_require__(7);\n\nvar _text2 = _interopRequireDefault(_text);\n\nvar _parchment = __webpack_require__(0);\n\nvar _parchment2 = _interopRequireDefault(_parchment);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\nvar Inline = function (_Parchment$Inline) {\n  _inherits(Inline, _Parchment$Inline);\n\n  function Inline() {\n    _classCallCheck(this, Inline);\n\n    return _possibleConstructorReturn(this, (Inline.__proto__ || Object.getPrototypeOf(Inline)).apply(this, arguments));\n  }\n\n  _createClass(Inline, [{\n    key: 'formatAt',\n    value: function formatAt(index, length, name, value) {\n      if (Inline.compare(this.statics.blotName, name) < 0 && _parchment2.default.query(name, _parchment2.default.Scope.BLOT)) {\n        var blot = this.isolate(index, length);\n        if (value) {\n          blot.wrap(name, value);\n        }\n      } else {\n        _get(Inline.prototype.__proto__ || Object.getPrototypeOf(Inline.prototype), 'formatAt', this).call(this, index, length, name, value);\n      }\n    }\n  }, {\n    key: 'optimize',\n    value: function optimize(context) {\n      _get(Inline.prototype.__proto__ || Object.getPrototypeOf(Inline.prototype), 'optimize', this).call(this, context);\n      if (this.parent instanceof Inline && Inline.compare(this.statics.blotName, this.parent.statics.blotName) > 0) {\n        var parent = this.parent.isolate(this.offset(), this.length());\n        this.moveChildren(parent);\n        parent.wrap(this);\n      }\n    }\n  }], [{\n    key: 'compare',\n    value: function compare(self, other) {\n      var selfIndex = Inline.order.indexOf(self);\n      var otherIndex = Inline.order.indexOf(other);\n      if (selfIndex >= 0 || otherIndex >= 0) {\n        return selfIndex - otherIndex;\n      } else if (self === other) {\n        return 0;\n      } else if (self < other) {\n        return -1;\n      } else {\n        return 1;\n      }\n    }\n  }]);\n\n  return Inline;\n}(_parchment2.default.Inline);\n\nInline.allowedChildren = [Inline, _parchment2.default.Embed, _text2.default];\n// Lower index means deeper in the DOM tree, since not found (-1) is for embeds\nInline.order = ['cursor', 'inline', // Must be lower\n'underline', 'strike', 'italic', 'bold', 'script', 'link', 'code' // Must be higher\n];\n\nexports.default = Inline;\n\n/***/ }),\n/* 7 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n  value: true\n});\n\nvar _parchment = __webpack_require__(0);\n\nvar _parchment2 = _interopRequireDefault(_parchment);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\nvar TextBlot = function (_Parchment$Text) {\n  _inherits(TextBlot, _Parchment$Text);\n\n  function TextBlot() {\n    _classCallCheck(this, TextBlot);\n\n    return _possibleConstructorReturn(this, (TextBlot.__proto__ || Object.getPrototypeOf(TextBlot)).apply(this, arguments));\n  }\n\n  return TextBlot;\n}(_parchment2.default.Text);\n\nexports.default = TextBlot;\n\n/***/ }),\n/* 8 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n  value: true\n});\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _get = function get(object, property, receiver) { if (object === null) object = Function.prototype; var desc = Object.getOwnPropertyDescriptor(object, property); if (desc === undefined) { var parent = Object.getPrototypeOf(object); if (parent === null) { return undefined; } else { return get(parent, property, receiver); } } else if (\"value\" in desc) { return desc.value; } else { var getter = desc.get; if (getter === undefined) { return undefined; } return getter.call(receiver); } };\n\nvar _eventemitter = __webpack_require__(54);\n\nvar _eventemitter2 = _interopRequireDefault(_eventemitter);\n\nvar _logger = __webpack_require__(10);\n\nvar _logger2 = _interopRequireDefault(_logger);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\nvar debug = (0, _logger2.default)('quill:events');\n\nvar EVENTS = ['selectionchange', 'mousedown', 'mouseup', 'click'];\n\nEVENTS.forEach(function (eventName) {\n  document.addEventListener(eventName, function () {\n    for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) {\n      args[_key] = arguments[_key];\n    }\n\n    [].slice.call(document.querySelectorAll('.ql-container')).forEach(function (node) {\n      // TODO use WeakMap\n      if (node.__quill && node.__quill.emitter) {\n        var _node$__quill$emitter;\n\n        (_node$__quill$emitter = node.__quill.emitter).handleDOM.apply(_node$__quill$emitter, args);\n      }\n    });\n  });\n});\n\nvar Emitter = function (_EventEmitter) {\n  _inherits(Emitter, _EventEmitter);\n\n  function Emitter() {\n    _classCallCheck(this, Emitter);\n\n    var _this = _possibleConstructorReturn(this, (Emitter.__proto__ || Object.getPrototypeOf(Emitter)).call(this));\n\n    _this.listeners = {};\n    _this.on('error', debug.error);\n    return _this;\n  }\n\n  _createClass(Emitter, [{\n    key: 'emit',\n    value: function emit() {\n      debug.log.apply(debug, arguments);\n      _get(Emitter.prototype.__proto__ || Object.getPrototypeOf(Emitter.prototype), 'emit', this).apply(this, arguments);\n    }\n  }, {\n    key: 'handleDOM',\n    value: function handleDOM(event) {\n      for (var _len2 = arguments.length, args = Array(_len2 > 1 ? _len2 - 1 : 0), _key2 = 1; _key2 < _len2; _key2++) {\n        args[_key2 - 1] = arguments[_key2];\n      }\n\n      (this.listeners[event.type] || []).forEach(function (_ref) {\n        var node = _ref.node,\n            handler = _ref.handler;\n\n        if (event.target === node || node.contains(event.target)) {\n          handler.apply(undefined, [event].concat(args));\n        }\n      });\n    }\n  }, {\n    key: 'listenDOM',\n    value: function listenDOM(eventName, node, handler) {\n      if (!this.listeners[eventName]) {\n        this.listeners[eventName] = [];\n      }\n      this.listeners[eventName].push({ node: node, handler: handler });\n    }\n  }]);\n\n  return Emitter;\n}(_eventemitter2.default);\n\nEmitter.events = {\n  EDITOR_CHANGE: 'editor-change',\n  SCROLL_BEFORE_UPDATE: 'scroll-before-update',\n  SCROLL_OPTIMIZE: 'scroll-optimize',\n  SCROLL_UPDATE: 'scroll-update',\n  SELECTION_CHANGE: 'selection-change',\n  TEXT_CHANGE: 'text-change'\n};\nEmitter.sources = {\n  API: 'api',\n  SILENT: 'silent',\n  USER: 'user'\n};\n\nexports.default = Emitter;\n\n/***/ }),\n/* 9 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n  value: true\n});\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nvar Module = function Module(quill) {\n  var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n\n  _classCallCheck(this, Module);\n\n  this.quill = quill;\n  this.options = options;\n};\n\nModule.DEFAULTS = {};\n\nexports.default = Module;\n\n/***/ }),\n/* 10 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n  value: true\n});\nvar levels = ['error', 'warn', 'log', 'info'];\nvar level = 'warn';\n\nfunction debug(method) {\n  if (levels.indexOf(method) <= levels.indexOf(level)) {\n    var _console;\n\n    for (var _len = arguments.length, args = Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {\n      args[_key - 1] = arguments[_key];\n    }\n\n    (_console = console)[method].apply(_console, args); // eslint-disable-line no-console\n  }\n}\n\nfunction namespace(ns) {\n  return levels.reduce(function (logger, method) {\n    logger[method] = debug.bind(console, method, ns);\n    return logger;\n  }, {});\n}\n\ndebug.level = namespace.level = function (newLevel) {\n  level = newLevel;\n};\n\nexports.default = namespace;\n\n/***/ }),\n/* 11 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar pSlice = Array.prototype.slice;\nvar objectKeys = __webpack_require__(52);\nvar isArguments = __webpack_require__(53);\n\nvar deepEqual = module.exports = function (actual, expected, opts) {\n  if (!opts) opts = {};\n  // 7.1. All identical values are equivalent, as determined by ===.\n  if (actual === expected) {\n    return true;\n\n  } else if (actual instanceof Date && expected instanceof Date) {\n    return actual.getTime() === expected.getTime();\n\n  // 7.3. Other pairs that do not both pass typeof value == 'object',\n  // equivalence is determined by ==.\n  } else if (!actual || !expected || typeof actual != 'object' && typeof expected != 'object') {\n    return opts.strict ? actual === expected : actual == expected;\n\n  // 7.4. For all other Object pairs, including Array objects, equivalence is\n  // determined by having the same number of owned properties (as verified\n  // with Object.prototype.hasOwnProperty.call), the same set of keys\n  // (although not necessarily the same order), equivalent values for every\n  // corresponding key, and an identical 'prototype' property. Note: this\n  // accounts for both named and indexed properties on Arrays.\n  } else {\n    return objEquiv(actual, expected, opts);\n  }\n}\n\nfunction isUndefinedOrNull(value) {\n  return value === null || value === undefined;\n}\n\nfunction isBuffer (x) {\n  if (!x || typeof x !== 'object' || typeof x.length !== 'number') return false;\n  if (typeof x.copy !== 'function' || typeof x.slice !== 'function') {\n    return false;\n  }\n  if (x.length > 0 && typeof x[0] !== 'number') return false;\n  return true;\n}\n\nfunction objEquiv(a, b, opts) {\n  var i, key;\n  if (isUndefinedOrNull(a) || isUndefinedOrNull(b))\n    return false;\n  // an identical 'prototype' property.\n  if (a.prototype !== b.prototype) return false;\n  //~~~I've managed to break Object.keys through screwy arguments passing.\n  //   Converting to array solves the problem.\n  if (isArguments(a)) {\n    if (!isArguments(b)) {\n      return false;\n    }\n    a = pSlice.call(a);\n    b = pSlice.call(b);\n    return deepEqual(a, b, opts);\n  }\n  if (isBuffer(a)) {\n    if (!isBuffer(b)) {\n      return false;\n    }\n    if (a.length !== b.length) return false;\n    for (i = 0; i < a.length; i++) {\n      if (a[i] !== b[i]) return false;\n    }\n    return true;\n  }\n  try {\n    var ka = objectKeys(a),\n        kb = objectKeys(b);\n  } catch (e) {//happens when one is a string literal and the other isn't\n    return false;\n  }\n  // having the same number of owned properties (keys incorporates\n  // hasOwnProperty)\n  if (ka.length != kb.length)\n    return false;\n  //the same set of keys (although not necessarily the same order),\n  ka.sort();\n  kb.sort();\n  //~~~cheap key test\n  for (i = ka.length - 1; i >= 0; i--) {\n    if (ka[i] != kb[i])\n      return false;\n  }\n  //equivalent values for every corresponding key, and\n  //~~~possibly expensive deep test\n  for (i = ka.length - 1; i >= 0; i--) {\n    key = ka[i];\n    if (!deepEqual(a[key], b[key], opts)) return false;\n  }\n  return typeof a === typeof b;\n}\n\n\n/***/ }),\n/* 12 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar Registry = __webpack_require__(1);\nvar Attributor = /** @class */ (function () {\n    function Attributor(attrName, keyName, options) {\n        if (options === void 0) { options = {}; }\n        this.attrName = attrName;\n        this.keyName = keyName;\n        var attributeBit = Registry.Scope.TYPE & Registry.Scope.ATTRIBUTE;\n        if (options.scope != null) {\n            // Ignore type bits, force attribute bit\n            this.scope = (options.scope & Registry.Scope.LEVEL) | attributeBit;\n        }\n        else {\n            this.scope = Registry.Scope.ATTRIBUTE;\n        }\n        if (options.whitelist != null)\n            this.whitelist = options.whitelist;\n    }\n    Attributor.keys = function (node) {\n        return [].map.call(node.attributes, function (item) {\n            return item.name;\n        });\n    };\n    Attributor.prototype.add = function (node, value) {\n        if (!this.canAdd(node, value))\n            return false;\n        node.setAttribute(this.keyName, value);\n        return true;\n    };\n    Attributor.prototype.canAdd = function (node, value) {\n        var match = Registry.query(node, Registry.Scope.BLOT & (this.scope | Registry.Scope.TYPE));\n        if (match == null)\n            return false;\n        if (this.whitelist == null)\n            return true;\n        if (typeof value === 'string') {\n            return this.whitelist.indexOf(value.replace(/[\"']/g, '')) > -1;\n        }\n        else {\n            return this.whitelist.indexOf(value) > -1;\n        }\n    };\n    Attributor.prototype.remove = function (node) {\n        node.removeAttribute(this.keyName);\n    };\n    Attributor.prototype.value = function (node) {\n        var value = node.getAttribute(this.keyName);\n        if (this.canAdd(node, value) && value) {\n            return value;\n        }\n        return '';\n    };\n    return Attributor;\n}());\nexports.default = Attributor;\n\n\n/***/ }),\n/* 13 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n  value: true\n});\nexports.default = exports.Code = undefined;\n\nvar _slicedToArray = function () { function sliceIterator(arr, i) { var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i[\"return\"]) _i[\"return\"](); } finally { if (_d) throw _e; } } return _arr; } return function (arr, i) { if (Array.isArray(arr)) { return arr; } else if (Symbol.iterator in Object(arr)) { return sliceIterator(arr, i); } else { throw new TypeError(\"Invalid attempt to destructure non-iterable instance\"); } }; }();\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _get = function get(object, property, receiver) { if (object === null) object = Function.prototype; var desc = Object.getOwnPropertyDescriptor(object, property); if (desc === undefined) { var parent = Object.getPrototypeOf(object); if (parent === null) { return undefined; } else { return get(parent, property, receiver); } } else if (\"value\" in desc) { return desc.value; } else { var getter = desc.get; if (getter === undefined) { return undefined; } return getter.call(receiver); } };\n\nvar _quillDelta = __webpack_require__(2);\n\nvar _quillDelta2 = _interopRequireDefault(_quillDelta);\n\nvar _parchment = __webpack_require__(0);\n\nvar _parchment2 = _interopRequireDefault(_parchment);\n\nvar _block = __webpack_require__(4);\n\nvar _block2 = _interopRequireDefault(_block);\n\nvar _inline = __webpack_require__(6);\n\nvar _inline2 = _interopRequireDefault(_inline);\n\nvar _text = __webpack_require__(7);\n\nvar _text2 = _interopRequireDefault(_text);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\nvar Code = function (_Inline) {\n  _inherits(Code, _Inline);\n\n  function Code() {\n    _classCallCheck(this, Code);\n\n    return _possibleConstructorReturn(this, (Code.__proto__ || Object.getPrototypeOf(Code)).apply(this, arguments));\n  }\n\n  return Code;\n}(_inline2.default);\n\nCode.blotName = 'code';\nCode.tagName = 'CODE';\n\nvar CodeBlock = function (_Block) {\n  _inherits(CodeBlock, _Block);\n\n  function CodeBlock() {\n    _classCallCheck(this, CodeBlock);\n\n    return _possibleConstructorReturn(this, (CodeBlock.__proto__ || Object.getPrototypeOf(CodeBlock)).apply(this, arguments));\n  }\n\n  _createClass(CodeBlock, [{\n    key: 'delta',\n    value: function delta() {\n      var _this3 = this;\n\n      var text = this.domNode.textContent;\n      if (text.endsWith('\\n')) {\n        // Should always be true\n        text = text.slice(0, -1);\n      }\n      return text.split('\\n').reduce(function (delta, frag) {\n        return delta.insert(frag).insert('\\n', _this3.formats());\n      }, new _quillDelta2.default());\n    }\n  }, {\n    key: 'format',\n    value: function format(name, value) {\n      if (name === this.statics.blotName && value) return;\n\n      var _descendant = this.descendant(_text2.default, this.length() - 1),\n          _descendant2 = _slicedToArray(_descendant, 1),\n          text = _descendant2[0];\n\n      if (text != null) {\n        text.deleteAt(text.length() - 1, 1);\n      }\n      _get(CodeBlock.prototype.__proto__ || Object.getPrototypeOf(CodeBlock.prototype), 'format', this).call(this, name, value);\n    }\n  }, {\n    key: 'formatAt',\n    value: function formatAt(index, length, name, value) {\n      if (length === 0) return;\n      if (_parchment2.default.query(name, _parchment2.default.Scope.BLOCK) == null || name === this.statics.blotName && value === this.statics.formats(this.domNode)) {\n        return;\n      }\n      var nextNewline = this.newlineIndex(index);\n      if (nextNewline < 0 || nextNewline >= index + length) return;\n      var prevNewline = this.newlineIndex(index, true) + 1;\n      var isolateLength = nextNewline - prevNewline + 1;\n      var blot = this.isolate(prevNewline, isolateLength);\n      var next = blot.next;\n      blot.format(name, value);\n      if (next instanceof CodeBlock) {\n        next.formatAt(0, index - prevNewline + length - isolateLength, name, value);\n      }\n    }\n  }, {\n    key: 'insertAt',\n    value: function insertAt(index, value, def) {\n      if (def != null) return;\n\n      var _descendant3 = this.descendant(_text2.default, index),\n          _descendant4 = _slicedToArray(_descendant3, 2),\n          text = _descendant4[0],\n          offset = _descendant4[1];\n\n      text.insertAt(offset, value);\n    }\n  }, {\n    key: 'length',\n    value: function length() {\n      var length = this.domNode.textContent.length;\n      if (!this.domNode.textContent.endsWith('\\n')) {\n        return length + 1;\n      }\n      return length;\n    }\n  }, {\n    key: 'newlineIndex',\n    value: function newlineIndex(searchIndex) {\n      var reverse = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;\n\n      if (!reverse) {\n        var offset = this.domNode.textContent.slice(searchIndex).indexOf('\\n');\n        return offset > -1 ? searchIndex + offset : -1;\n      } else {\n        return this.domNode.textContent.slice(0, searchIndex).lastIndexOf('\\n');\n      }\n    }\n  }, {\n    key: 'optimize',\n    value: function optimize(context) {\n      if (!this.domNode.textContent.endsWith('\\n')) {\n        this.appendChild(_parchment2.default.create('text', '\\n'));\n      }\n      _get(CodeBlock.prototype.__proto__ || Object.getPrototypeOf(CodeBlock.prototype), 'optimize', this).call(this, context);\n      var next = this.next;\n      if (next != null && next.prev === this && next.statics.blotName === this.statics.blotName && this.statics.formats(this.domNode) === next.statics.formats(next.domNode)) {\n        next.optimize(context);\n        next.moveChildren(this);\n        next.remove();\n      }\n    }\n  }, {\n    key: 'replace',\n    value: function replace(target) {\n      _get(CodeBlock.prototype.__proto__ || Object.getPrototypeOf(CodeBlock.prototype), 'replace', this).call(this, target);\n      [].slice.call(this.domNode.querySelectorAll('*')).forEach(function (node) {\n        var blot = _parchment2.default.find(node);\n        if (blot == null) {\n          node.parentNode.removeChild(node);\n        } else if (blot instanceof _parchment2.default.Embed) {\n          blot.remove();\n        } else {\n          blot.unwrap();\n        }\n      });\n    }\n  }], [{\n    key: 'create',\n    value: function create(value) {\n      var domNode = _get(CodeBlock.__proto__ || Object.getPrototypeOf(CodeBlock), 'create', this).call(this, value);\n      domNode.setAttribute('spellcheck', false);\n      return domNode;\n    }\n  }, {\n    key: 'formats',\n    value: function formats() {\n      return true;\n    }\n  }]);\n\n  return CodeBlock;\n}(_block2.default);\n\nCodeBlock.blotName = 'code-block';\nCodeBlock.tagName = 'PRE';\nCodeBlock.TAB = '  ';\n\nexports.Code = Code;\nexports.default = CodeBlock;\n\n/***/ }),\n/* 14 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n  value: true\n});\n\nvar _typeof = typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; };\n\nvar _slicedToArray = function () { function sliceIterator(arr, i) { var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i[\"return\"]) _i[\"return\"](); } finally { if (_d) throw _e; } } return _arr; } return function (arr, i) { if (Array.isArray(arr)) { return arr; } else if (Symbol.iterator in Object(arr)) { return sliceIterator(arr, i); } else { throw new TypeError(\"Invalid attempt to destructure non-iterable instance\"); } }; }();\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _quillDelta = __webpack_require__(2);\n\nvar _quillDelta2 = _interopRequireDefault(_quillDelta);\n\nvar _op = __webpack_require__(20);\n\nvar _op2 = _interopRequireDefault(_op);\n\nvar _parchment = __webpack_require__(0);\n\nvar _parchment2 = _interopRequireDefault(_parchment);\n\nvar _code = __webpack_require__(13);\n\nvar _code2 = _interopRequireDefault(_code);\n\nvar _cursor = __webpack_require__(24);\n\nvar _cursor2 = _interopRequireDefault(_cursor);\n\nvar _block = __webpack_require__(4);\n\nvar _block2 = _interopRequireDefault(_block);\n\nvar _break = __webpack_require__(16);\n\nvar _break2 = _interopRequireDefault(_break);\n\nvar _clone = __webpack_require__(21);\n\nvar _clone2 = _interopRequireDefault(_clone);\n\nvar _deepEqual = __webpack_require__(11);\n\nvar _deepEqual2 = _interopRequireDefault(_deepEqual);\n\nvar _extend = __webpack_require__(3);\n\nvar _extend2 = _interopRequireDefault(_extend);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nvar ASCII = /^[ -~]*$/;\n\nvar Editor = function () {\n  function Editor(scroll) {\n    _classCallCheck(this, Editor);\n\n    this.scroll = scroll;\n    this.delta = this.getDelta();\n  }\n\n  _createClass(Editor, [{\n    key: 'applyDelta',\n    value: function applyDelta(delta) {\n      var _this = this;\n\n      var consumeNextNewline = false;\n      this.scroll.update();\n      var scrollLength = this.scroll.length();\n      this.scroll.batchStart();\n      delta = normalizeDelta(delta);\n      delta.reduce(function (index, op) {\n        var length = op.retain || op.delete || op.insert.length || 1;\n        var attributes = op.attributes || {};\n        if (op.insert != null) {\n          if (typeof op.insert === 'string') {\n            var text = op.insert;\n            if (text.endsWith('\\n') && consumeNextNewline) {\n              consumeNextNewline = false;\n              text = text.slice(0, -1);\n            }\n            if (index >= scrollLength && !text.endsWith('\\n')) {\n              consumeNextNewline = true;\n            }\n            _this.scroll.insertAt(index, text);\n\n            var _scroll$line = _this.scroll.line(index),\n                _scroll$line2 = _slicedToArray(_scroll$line, 2),\n                line = _scroll$line2[0],\n                offset = _scroll$line2[1];\n\n            var formats = (0, _extend2.default)({}, (0, _block.bubbleFormats)(line));\n            if (line instanceof _block2.default) {\n              var _line$descendant = line.descendant(_parchment2.default.Leaf, offset),\n                  _line$descendant2 = _slicedToArray(_line$descendant, 1),\n                  leaf = _line$descendant2[0];\n\n              formats = (0, _extend2.default)(formats, (0, _block.bubbleFormats)(leaf));\n            }\n            attributes = _op2.default.attributes.diff(formats, attributes) || {};\n          } else if (_typeof(op.insert) === 'object') {\n            var key = Object.keys(op.insert)[0]; // There should only be one key\n            if (key == null) return index;\n            _this.scroll.insertAt(index, key, op.insert[key]);\n          }\n          scrollLength += length;\n        }\n        Object.keys(attributes).forEach(function (name) {\n          _this.scroll.formatAt(index, length, name, attributes[name]);\n        });\n        return index + length;\n      }, 0);\n      delta.reduce(function (index, op) {\n        if (typeof op.delete === 'number') {\n          _this.scroll.deleteAt(index, op.delete);\n          return index;\n        }\n        return index + (op.retain || op.insert.length || 1);\n      }, 0);\n      this.scroll.batchEnd();\n      return this.update(delta);\n    }\n  }, {\n    key: 'deleteText',\n    value: function deleteText(index, length) {\n      this.scroll.deleteAt(index, length);\n      return this.update(new _quillDelta2.default().retain(index).delete(length));\n    }\n  }, {\n    key: 'formatLine',\n    value: function formatLine(index, length) {\n      var _this2 = this;\n\n      var formats = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};\n\n      this.scroll.update();\n      Object.keys(formats).forEach(function (format) {\n        if (_this2.scroll.whitelist != null && !_this2.scroll.whitelist[format]) return;\n        var lines = _this2.scroll.lines(index, Math.max(length, 1));\n        var lengthRemaining = length;\n        lines.forEach(function (line) {\n          var lineLength = line.length();\n          if (!(line instanceof _code2.default)) {\n            line.format(format, formats[format]);\n          } else {\n            var codeIndex = index - line.offset(_this2.scroll);\n            var codeLength = line.newlineIndex(codeIndex + lengthRemaining) - codeIndex + 1;\n            line.formatAt(codeIndex, codeLength, format, formats[format]);\n          }\n          lengthRemaining -= lineLength;\n        });\n      });\n      this.scroll.optimize();\n      return this.update(new _quillDelta2.default().retain(index).retain(length, (0, _clone2.default)(formats)));\n    }\n  }, {\n    key: 'formatText',\n    value: function formatText(index, length) {\n      var _this3 = this;\n\n      var formats = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};\n\n      Object.keys(formats).forEach(function (format) {\n        _this3.scroll.formatAt(index, length, format, formats[format]);\n      });\n      return this.update(new _quillDelta2.default().retain(index).retain(length, (0, _clone2.default)(formats)));\n    }\n  }, {\n    key: 'getContents',\n    value: function getContents(index, length) {\n      return this.delta.slice(index, index + length);\n    }\n  }, {\n    key: 'getDelta',\n    value: function getDelta() {\n      return this.scroll.lines().reduce(function (delta, line) {\n        return delta.concat(line.delta());\n      }, new _quillDelta2.default());\n    }\n  }, {\n    key: 'getFormat',\n    value: function getFormat(index) {\n      var length = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 0;\n\n      var lines = [],\n          leaves = [];\n      if (length === 0) {\n        this.scroll.path(index).forEach(function (path) {\n          var _path = _slicedToArray(path, 1),\n              blot = _path[0];\n\n          if (blot instanceof _block2.default) {\n            lines.push(blot);\n          } else if (blot instanceof _parchment2.default.Leaf) {\n            leaves.push(blot);\n          }\n        });\n      } else {\n        lines = this.scroll.lines(index, length);\n        leaves = this.scroll.descendants(_parchment2.default.Leaf, index, length);\n      }\n      var formatsArr = [lines, leaves].map(function (blots) {\n        if (blots.length === 0) return {};\n        var formats = (0, _block.bubbleFormats)(blots.shift());\n        while (Object.keys(formats).length > 0) {\n          var blot = blots.shift();\n          if (blot == null) return formats;\n          formats = combineFormats((0, _block.bubbleFormats)(blot), formats);\n        }\n        return formats;\n      });\n      return _extend2.default.apply(_extend2.default, formatsArr);\n    }\n  }, {\n    key: 'getText',\n    value: function getText(index, length) {\n      return this.getContents(index, length).filter(function (op) {\n        return typeof op.insert === 'string';\n      }).map(function (op) {\n        return op.insert;\n      }).join('');\n    }\n  }, {\n    key: 'insertEmbed',\n    value: function insertEmbed(index, embed, value) {\n      this.scroll.insertAt(index, embed, value);\n      return this.update(new _quillDelta2.default().retain(index).insert(_defineProperty({}, embed, value)));\n    }\n  }, {\n    key: 'insertText',\n    value: function insertText(index, text) {\n      var _this4 = this;\n\n      var formats = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};\n\n      text = text.replace(/\\r\\n/g, '\\n').replace(/\\r/g, '\\n');\n      this.scroll.insertAt(index, text);\n      Object.keys(formats).forEach(function (format) {\n        _this4.scroll.formatAt(index, text.length, format, formats[format]);\n      });\n      return this.update(new _quillDelta2.default().retain(index).insert(text, (0, _clone2.default)(formats)));\n    }\n  }, {\n    key: 'isBlank',\n    value: function isBlank() {\n      if (this.scroll.children.length == 0) return true;\n      if (this.scroll.children.length > 1) return false;\n      var block = this.scroll.children.head;\n      if (block.statics.blotName !== _block2.default.blotName) return false;\n      if (block.children.length > 1) return false;\n      return block.children.head instanceof _break2.default;\n    }\n  }, {\n    key: 'removeFormat',\n    value: function removeFormat(index, length) {\n      var text = this.getText(index, length);\n\n      var _scroll$line3 = this.scroll.line(index + length),\n          _scroll$line4 = _slicedToArray(_scroll$line3, 2),\n          line = _scroll$line4[0],\n          offset = _scroll$line4[1];\n\n      var suffixLength = 0,\n          suffix = new _quillDelta2.default();\n      if (line != null) {\n        if (!(line instanceof _code2.default)) {\n          suffixLength = line.length() - offset;\n        } else {\n          suffixLength = line.newlineIndex(offset) - offset + 1;\n        }\n        suffix = line.delta().slice(offset, offset + suffixLength - 1).insert('\\n');\n      }\n      var contents = this.getContents(index, length + suffixLength);\n      var diff = contents.diff(new _quillDelta2.default().insert(text).concat(suffix));\n      var delta = new _quillDelta2.default().retain(index).concat(diff);\n      return this.applyDelta(delta);\n    }\n  }, {\n    key: 'update',\n    value: function update(change) {\n      var mutations = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : [];\n      var cursorIndex = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : undefined;\n\n      var oldDelta = this.delta;\n      if (mutations.length === 1 && mutations[0].type === 'characterData' && mutations[0].target.data.match(ASCII) && _parchment2.default.find(mutations[0].target)) {\n        // Optimization for character changes\n        var textBlot = _parchment2.default.find(mutations[0].target);\n        var formats = (0, _block.bubbleFormats)(textBlot);\n        var index = textBlot.offset(this.scroll);\n        var oldValue = mutations[0].oldValue.replace(_cursor2.default.CONTENTS, '');\n        var oldText = new _quillDelta2.default().insert(oldValue);\n        var newText = new _quillDelta2.default().insert(textBlot.value());\n        var diffDelta = new _quillDelta2.default().retain(index).concat(oldText.diff(newText, cursorIndex));\n        change = diffDelta.reduce(function (delta, op) {\n          if (op.insert) {\n            return delta.insert(op.insert, formats);\n          } else {\n            return delta.push(op);\n          }\n        }, new _quillDelta2.default());\n        this.delta = oldDelta.compose(change);\n      } else {\n        this.delta = this.getDelta();\n        if (!change || !(0, _deepEqual2.default)(oldDelta.compose(change), this.delta)) {\n          change = oldDelta.diff(this.delta, cursorIndex);\n        }\n      }\n      return change;\n    }\n  }]);\n\n  return Editor;\n}();\n\nfunction combineFormats(formats, combined) {\n  return Object.keys(combined).reduce(function (merged, name) {\n    if (formats[name] == null) return merged;\n    if (combined[name] === formats[name]) {\n      merged[name] = combined[name];\n    } else if (Array.isArray(combined[name])) {\n      if (combined[name].indexOf(formats[name]) < 0) {\n        merged[name] = combined[name].concat([formats[name]]);\n      }\n    } else {\n      merged[name] = [combined[name], formats[name]];\n    }\n    return merged;\n  }, {});\n}\n\nfunction normalizeDelta(delta) {\n  return delta.reduce(function (delta, op) {\n    if (op.insert === 1) {\n      var attributes = (0, _clone2.default)(op.attributes);\n      delete attributes['image'];\n      return delta.insert({ image: op.attributes.image }, attributes);\n    }\n    if (op.attributes != null && (op.attributes.list === true || op.attributes.bullet === true)) {\n      op = (0, _clone2.default)(op);\n      if (op.attributes.list) {\n        op.attributes.list = 'ordered';\n      } else {\n        op.attributes.list = 'bullet';\n        delete op.attributes.bullet;\n      }\n    }\n    if (typeof op.insert === 'string') {\n      var text = op.insert.replace(/\\r\\n/g, '\\n').replace(/\\r/g, '\\n');\n      return delta.insert(text, op.attributes);\n    }\n    return delta.push(op);\n  }, new _quillDelta2.default());\n}\n\nexports.default = Editor;\n\n/***/ }),\n/* 15 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n  value: true\n});\nexports.default = exports.Range = undefined;\n\nvar _slicedToArray = function () { function sliceIterator(arr, i) { var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i[\"return\"]) _i[\"return\"](); } finally { if (_d) throw _e; } } return _arr; } return function (arr, i) { if (Array.isArray(arr)) { return arr; } else if (Symbol.iterator in Object(arr)) { return sliceIterator(arr, i); } else { throw new TypeError(\"Invalid attempt to destructure non-iterable instance\"); } }; }();\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _parchment = __webpack_require__(0);\n\nvar _parchment2 = _interopRequireDefault(_parchment);\n\nvar _clone = __webpack_require__(21);\n\nvar _clone2 = _interopRequireDefault(_clone);\n\nvar _deepEqual = __webpack_require__(11);\n\nvar _deepEqual2 = _interopRequireDefault(_deepEqual);\n\nvar _emitter3 = __webpack_require__(8);\n\nvar _emitter4 = _interopRequireDefault(_emitter3);\n\nvar _logger = __webpack_require__(10);\n\nvar _logger2 = _interopRequireDefault(_logger);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _toConsumableArray(arr) { if (Array.isArray(arr)) { for (var i = 0, arr2 = Array(arr.length); i < arr.length; i++) { arr2[i] = arr[i]; } return arr2; } else { return Array.from(arr); } }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nvar debug = (0, _logger2.default)('quill:selection');\n\nvar Range = function Range(index) {\n  var length = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 0;\n\n  _classCallCheck(this, Range);\n\n  this.index = index;\n  this.length = length;\n};\n\nvar Selection = function () {\n  function Selection(scroll, emitter) {\n    var _this = this;\n\n    _classCallCheck(this, Selection);\n\n    this.emitter = emitter;\n    this.scroll = scroll;\n    this.composing = false;\n    this.mouseDown = false;\n    this.root = this.scroll.domNode;\n    this.cursor = _parchment2.default.create('cursor', this);\n    // savedRange is last non-null range\n    this.lastRange = this.savedRange = new Range(0, 0);\n    this.handleComposition();\n    this.handleDragging();\n    this.emitter.listenDOM('selectionchange', document, function () {\n      if (!_this.mouseDown) {\n        setTimeout(_this.update.bind(_this, _emitter4.default.sources.USER), 1);\n      }\n    });\n    this.emitter.on(_emitter4.default.events.EDITOR_CHANGE, function (type, delta) {\n      if (type === _emitter4.default.events.TEXT_CHANGE && delta.length() > 0) {\n        _this.update(_emitter4.default.sources.SILENT);\n      }\n    });\n    this.emitter.on(_emitter4.default.events.SCROLL_BEFORE_UPDATE, function () {\n      if (!_this.hasFocus()) return;\n      var native = _this.getNativeRange();\n      if (native == null) return;\n      if (native.start.node === _this.cursor.textNode) return; // cursor.restore() will handle\n      // TODO unclear if this has negative side effects\n      _this.emitter.once(_emitter4.default.events.SCROLL_UPDATE, function () {\n        try {\n          _this.setNativeRange(native.start.node, native.start.offset, native.end.node, native.end.offset);\n        } catch (ignored) {}\n      });\n    });\n    this.emitter.on(_emitter4.default.events.SCROLL_OPTIMIZE, function (mutations, context) {\n      if (context.range) {\n        var _context$range = context.range,\n            startNode = _context$range.startNode,\n            startOffset = _context$range.startOffset,\n            endNode = _context$range.endNode,\n            endOffset = _context$range.endOffset;\n\n        _this.setNativeRange(startNode, startOffset, endNode, endOffset);\n      }\n    });\n    this.update(_emitter4.default.sources.SILENT);\n  }\n\n  _createClass(Selection, [{\n    key: 'handleComposition',\n    value: function handleComposition() {\n      var _this2 = this;\n\n      this.root.addEventListener('compositionstart', function () {\n        _this2.composing = true;\n      });\n      this.root.addEventListener('compositionend', function () {\n        _this2.composing = false;\n        if (_this2.cursor.parent) {\n          var range = _this2.cursor.restore();\n          if (!range) return;\n          setTimeout(function () {\n            _this2.setNativeRange(range.startNode, range.startOffset, range.endNode, range.endOffset);\n          }, 1);\n        }\n      });\n    }\n  }, {\n    key: 'handleDragging',\n    value: function handleDragging() {\n      var _this3 = this;\n\n      this.emitter.listenDOM('mousedown', document.body, function () {\n        _this3.mouseDown = true;\n      });\n      this.emitter.listenDOM('mouseup', document.body, function () {\n        _this3.mouseDown = false;\n        _this3.update(_emitter4.default.sources.USER);\n      });\n    }\n  }, {\n    key: 'focus',\n    value: function focus() {\n      if (this.hasFocus()) return;\n      this.root.focus();\n      this.setRange(this.savedRange);\n    }\n  }, {\n    key: 'format',\n    value: function format(_format, value) {\n      if (this.scroll.whitelist != null && !this.scroll.whitelist[_format]) return;\n      this.scroll.update();\n      var nativeRange = this.getNativeRange();\n      if (nativeRange == null || !nativeRange.native.collapsed || _parchment2.default.query(_format, _parchment2.default.Scope.BLOCK)) return;\n      if (nativeRange.start.node !== this.cursor.textNode) {\n        var blot = _parchment2.default.find(nativeRange.start.node, false);\n        if (blot == null) return;\n        // TODO Give blot ability to not split\n        if (blot instanceof _parchment2.default.Leaf) {\n          var after = blot.split(nativeRange.start.offset);\n          blot.parent.insertBefore(this.cursor, after);\n        } else {\n          blot.insertBefore(this.cursor, nativeRange.start.node); // Should never happen\n        }\n        this.cursor.attach();\n      }\n      this.cursor.format(_format, value);\n      this.scroll.optimize();\n      this.setNativeRange(this.cursor.textNode, this.cursor.textNode.data.length);\n      this.update();\n    }\n  }, {\n    key: 'getBounds',\n    value: function getBounds(index) {\n      var length = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 0;\n\n      var scrollLength = this.scroll.length();\n      index = Math.min(index, scrollLength - 1);\n      length = Math.min(index + length, scrollLength - 1) - index;\n      var node = void 0,\n          _scroll$leaf = this.scroll.leaf(index),\n          _scroll$leaf2 = _slicedToArray(_scroll$leaf, 2),\n          leaf = _scroll$leaf2[0],\n          offset = _scroll$leaf2[1];\n      if (leaf == null) return null;\n\n      var _leaf$position = leaf.position(offset, true);\n\n      var _leaf$position2 = _slicedToArray(_leaf$position, 2);\n\n      node = _leaf$position2[0];\n      offset = _leaf$position2[1];\n\n      var range = document.createRange();\n      if (length > 0) {\n        range.setStart(node, offset);\n\n        var _scroll$leaf3 = this.scroll.leaf(index + length);\n\n        var _scroll$leaf4 = _slicedToArray(_scroll$leaf3, 2);\n\n        leaf = _scroll$leaf4[0];\n        offset = _scroll$leaf4[1];\n\n        if (leaf == null) return null;\n\n        var _leaf$position3 = leaf.position(offset, true);\n\n        var _leaf$position4 = _slicedToArray(_leaf$position3, 2);\n\n        node = _leaf$position4[0];\n        offset = _leaf$position4[1];\n\n        range.setEnd(node, offset);\n        return range.getBoundingClientRect();\n      } else {\n        var side = 'left';\n        var rect = void 0;\n        if (node instanceof Text) {\n          if (offset < node.data.length) {\n            range.setStart(node, offset);\n            range.setEnd(node, offset + 1);\n          } else {\n            range.setStart(node, offset - 1);\n            range.setEnd(node, offset);\n            side = 'right';\n          }\n          rect = range.getBoundingClientRect();\n        } else {\n          rect = leaf.domNode.getBoundingClientRect();\n          if (offset > 0) side = 'right';\n        }\n        return {\n          bottom: rect.top + rect.height,\n          height: rect.height,\n          left: rect[side],\n          right: rect[side],\n          top: rect.top,\n          width: 0\n        };\n      }\n    }\n  }, {\n    key: 'getNativeRange',\n    value: function getNativeRange() {\n      var selection = document.getSelection();\n      if (selection == null || selection.rangeCount <= 0) return null;\n      var nativeRange = selection.getRangeAt(0);\n      if (nativeRange == null) return null;\n      var range = this.normalizeNative(nativeRange);\n      debug.info('getNativeRange', range);\n      return range;\n    }\n  }, {\n    key: 'getRange',\n    value: function getRange() {\n      var normalized = this.getNativeRange();\n      if (normalized == null) return [null, null];\n      var range = this.normalizedToRange(normalized);\n      return [range, normalized];\n    }\n  }, {\n    key: 'hasFocus',\n    value: function hasFocus() {\n      return document.activeElement === this.root;\n    }\n  }, {\n    key: 'normalizedToRange',\n    value: function normalizedToRange(range) {\n      var _this4 = this;\n\n      var positions = [[range.start.node, range.start.offset]];\n      if (!range.native.collapsed) {\n        positions.push([range.end.node, range.end.offset]);\n      }\n      var indexes = positions.map(function (position) {\n        var _position = _slicedToArray(position, 2),\n            node = _position[0],\n            offset = _position[1];\n\n        var blot = _parchment2.default.find(node, true);\n        var index = blot.offset(_this4.scroll);\n        if (offset === 0) {\n          return index;\n        } else if (blot instanceof _parchment2.default.Container) {\n          return index + blot.length();\n        } else {\n          return index + blot.index(node, offset);\n        }\n      });\n      var end = Math.min(Math.max.apply(Math, _toConsumableArray(indexes)), this.scroll.length() - 1);\n      var start = Math.min.apply(Math, [end].concat(_toConsumableArray(indexes)));\n      return new Range(start, end - start);\n    }\n  }, {\n    key: 'normalizeNative',\n    value: function normalizeNative(nativeRange) {\n      if (!contains(this.root, nativeRange.startContainer) || !nativeRange.collapsed && !contains(this.root, nativeRange.endContainer)) {\n        return null;\n      }\n      var range = {\n        start: { node: nativeRange.startContainer, offset: nativeRange.startOffset },\n        end: { node: nativeRange.endContainer, offset: nativeRange.endOffset },\n        native: nativeRange\n      };\n      [range.start, range.end].forEach(function (position) {\n        var node = position.node,\n            offset = position.offset;\n        while (!(node instanceof Text) && node.childNodes.length > 0) {\n          if (node.childNodes.length > offset) {\n            node = node.childNodes[offset];\n            offset = 0;\n          } else if (node.childNodes.length === offset) {\n            node = node.lastChild;\n            offset = node instanceof Text ? node.data.length : node.childNodes.length + 1;\n          } else {\n            break;\n          }\n        }\n        position.node = node, position.offset = offset;\n      });\n      return range;\n    }\n  }, {\n    key: 'rangeToNative',\n    value: function rangeToNative(range) {\n      var _this5 = this;\n\n      var indexes = range.collapsed ? [range.index] : [range.index, range.index + range.length];\n      var args = [];\n      var scrollLength = this.scroll.length();\n      indexes.forEach(function (index, i) {\n        index = Math.min(scrollLength - 1, index);\n        var node = void 0,\n            _scroll$leaf5 = _this5.scroll.leaf(index),\n            _scroll$leaf6 = _slicedToArray(_scroll$leaf5, 2),\n            leaf = _scroll$leaf6[0],\n            offset = _scroll$leaf6[1];\n        var _leaf$position5 = leaf.position(offset, i !== 0);\n\n        var _leaf$position6 = _slicedToArray(_leaf$position5, 2);\n\n        node = _leaf$position6[0];\n        offset = _leaf$position6[1];\n\n        args.push(node, offset);\n      });\n      if (args.length < 2) {\n        args = args.concat(args);\n      }\n      return args;\n    }\n  }, {\n    key: 'scrollIntoView',\n    value: function scrollIntoView(scrollingContainer) {\n      var range = this.lastRange;\n      if (range == null) return;\n      var bounds = this.getBounds(range.index, range.length);\n      if (bounds == null) return;\n      var limit = this.scroll.length() - 1;\n\n      var _scroll$line = this.scroll.line(Math.min(range.index, limit)),\n          _scroll$line2 = _slicedToArray(_scroll$line, 1),\n          first = _scroll$line2[0];\n\n      var last = first;\n      if (range.length > 0) {\n        var _scroll$line3 = this.scroll.line(Math.min(range.index + range.length, limit));\n\n        var _scroll$line4 = _slicedToArray(_scroll$line3, 1);\n\n        last = _scroll$line4[0];\n      }\n      if (first == null || last == null) return;\n      var scrollBounds = scrollingContainer.getBoundingClientRect();\n      if (bounds.top < scrollBounds.top) {\n        scrollingContainer.scrollTop -= scrollBounds.top - bounds.top;\n      } else if (bounds.bottom > scrollBounds.bottom) {\n        scrollingContainer.scrollTop += bounds.bottom - scrollBounds.bottom;\n      }\n    }\n  }, {\n    key: 'setNativeRange',\n    value: function setNativeRange(startNode, startOffset) {\n      var endNode = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : startNode;\n      var endOffset = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : startOffset;\n      var force = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : false;\n\n      debug.info('setNativeRange', startNode, startOffset, endNode, endOffset);\n      if (startNode != null && (this.root.parentNode == null || startNode.parentNode == null || endNode.parentNode == null)) {\n        return;\n      }\n      var selection = document.getSelection();\n      if (selection == null) return;\n      if (startNode != null) {\n        if (!this.hasFocus()) this.root.focus();\n        var native = (this.getNativeRange() || {}).native;\n        if (native == null || force || startNode !== native.startContainer || startOffset !== native.startOffset || endNode !== native.endContainer || endOffset !== native.endOffset) {\n\n          if (startNode.tagName == \"BR\") {\n            startOffset = [].indexOf.call(startNode.parentNode.childNodes, startNode);\n            startNode = startNode.parentNode;\n          }\n          if (endNode.tagName == \"BR\") {\n            endOffset = [].indexOf.call(endNode.parentNode.childNodes, endNode);\n            endNode = endNode.parentNode;\n          }\n          var range = document.createRange();\n          range.setStart(startNode, startOffset);\n          range.setEnd(endNode, endOffset);\n          selection.removeAllRanges();\n          selection.addRange(range);\n        }\n      } else {\n        selection.removeAllRanges();\n        this.root.blur();\n        document.body.focus(); // root.blur() not enough on IE11+Travis+SauceLabs (but not local VMs)\n      }\n    }\n  }, {\n    key: 'setRange',\n    value: function setRange(range) {\n      var force = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;\n      var source = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : _emitter4.default.sources.API;\n\n      if (typeof force === 'string') {\n        source = force;\n        force = false;\n      }\n      debug.info('setRange', range);\n      if (range != null) {\n        var args = this.rangeToNative(range);\n        this.setNativeRange.apply(this, _toConsumableArray(args).concat([force]));\n      } else {\n        this.setNativeRange(null);\n      }\n      this.update(source);\n    }\n  }, {\n    key: 'update',\n    value: function update() {\n      var source = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : _emitter4.default.sources.USER;\n\n      var oldRange = this.lastRange;\n\n      var _getRange = this.getRange(),\n          _getRange2 = _slicedToArray(_getRange, 2),\n          lastRange = _getRange2[0],\n          nativeRange = _getRange2[1];\n\n      this.lastRange = lastRange;\n      if (this.lastRange != null) {\n        this.savedRange = this.lastRange;\n      }\n      if (!(0, _deepEqual2.default)(oldRange, this.lastRange)) {\n        var _emitter;\n\n        if (!this.composing && nativeRange != null && nativeRange.native.collapsed && nativeRange.start.node !== this.cursor.textNode) {\n          this.cursor.restore();\n        }\n        var args = [_emitter4.default.events.SELECTION_CHANGE, (0, _clone2.default)(this.lastRange), (0, _clone2.default)(oldRange), source];\n        (_emitter = this.emitter).emit.apply(_emitter, [_emitter4.default.events.EDITOR_CHANGE].concat(args));\n        if (source !== _emitter4.default.sources.SILENT) {\n          var _emitter2;\n\n          (_emitter2 = this.emitter).emit.apply(_emitter2, args);\n        }\n      }\n    }\n  }]);\n\n  return Selection;\n}();\n\nfunction contains(parent, descendant) {\n  try {\n    // Firefox inserts inaccessible nodes around video elements\n    descendant.parentNode;\n  } catch (e) {\n    return false;\n  }\n  // IE11 has bug with Text nodes\n  // https://connect.microsoft.com/IE/feedback/details/780874/node-contains-is-incorrect\n  if (descendant instanceof Text) {\n    descendant = descendant.parentNode;\n  }\n  return parent.contains(descendant);\n}\n\nexports.Range = Range;\nexports.default = Selection;\n\n/***/ }),\n/* 16 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n  value: true\n});\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _get = function get(object, property, receiver) { if (object === null) object = Function.prototype; var desc = Object.getOwnPropertyDescriptor(object, property); if (desc === undefined) { var parent = Object.getPrototypeOf(object); if (parent === null) { return undefined; } else { return get(parent, property, receiver); } } else if (\"value\" in desc) { return desc.value; } else { var getter = desc.get; if (getter === undefined) { return undefined; } return getter.call(receiver); } };\n\nvar _parchment = __webpack_require__(0);\n\nvar _parchment2 = _interopRequireDefault(_parchment);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\nvar Break = function (_Parchment$Embed) {\n  _inherits(Break, _Parchment$Embed);\n\n  function Break() {\n    _classCallCheck(this, Break);\n\n    return _possibleConstructorReturn(this, (Break.__proto__ || Object.getPrototypeOf(Break)).apply(this, arguments));\n  }\n\n  _createClass(Break, [{\n    key: 'insertInto',\n    value: function insertInto(parent, ref) {\n      if (parent.children.length === 0) {\n        _get(Break.prototype.__proto__ || Object.getPrototypeOf(Break.prototype), 'insertInto', this).call(this, parent, ref);\n      } else {\n        this.remove();\n      }\n    }\n  }, {\n    key: 'length',\n    value: function length() {\n      return 0;\n    }\n  }, {\n    key: 'value',\n    value: function value() {\n      return '';\n    }\n  }], [{\n    key: 'value',\n    value: function value() {\n      return undefined;\n    }\n  }]);\n\n  return Break;\n}(_parchment2.default.Embed);\n\nBreak.blotName = 'break';\nBreak.tagName = 'BR';\n\nexports.default = Break;\n\n/***/ }),\n/* 17 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nvar __extends = (this && this.__extends) || (function () {\n    var extendStatics = Object.setPrototypeOf ||\n        ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n        function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n    return function (d, b) {\n        extendStatics(d, b);\n        function __() { this.constructor = d; }\n        d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n    };\n})();\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar linked_list_1 = __webpack_require__(44);\nvar shadow_1 = __webpack_require__(30);\nvar Registry = __webpack_require__(1);\nvar ContainerBlot = /** @class */ (function (_super) {\n    __extends(ContainerBlot, _super);\n    function ContainerBlot(domNode) {\n        var _this = _super.call(this, domNode) || this;\n        _this.build();\n        return _this;\n    }\n    ContainerBlot.prototype.appendChild = function (other) {\n        this.insertBefore(other);\n    };\n    ContainerBlot.prototype.attach = function () {\n        _super.prototype.attach.call(this);\n        this.children.forEach(function (child) {\n            child.attach();\n        });\n    };\n    ContainerBlot.prototype.build = function () {\n        var _this = this;\n        this.children = new linked_list_1.default();\n        // Need to be reversed for if DOM nodes already in order\n        [].slice\n            .call(this.domNode.childNodes)\n            .reverse()\n            .forEach(function (node) {\n            try {\n                var child = makeBlot(node);\n                _this.insertBefore(child, _this.children.head || undefined);\n            }\n            catch (err) {\n                if (err instanceof Registry.ParchmentError)\n                    return;\n                else\n                    throw err;\n            }\n        });\n    };\n    ContainerBlot.prototype.deleteAt = function (index, length) {\n        if (index === 0 && length === this.length()) {\n            return this.remove();\n        }\n        this.children.forEachAt(index, length, function (child, offset, length) {\n            child.deleteAt(offset, length);\n        });\n    };\n    ContainerBlot.prototype.descendant = function (criteria, index) {\n        var _a = this.children.find(index), child = _a[0], offset = _a[1];\n        if ((criteria.blotName == null && criteria(child)) ||\n            (criteria.blotName != null && child instanceof criteria)) {\n            return [child, offset];\n        }\n        else if (child instanceof ContainerBlot) {\n            return child.descendant(criteria, offset);\n        }\n        else {\n            return [null, -1];\n        }\n    };\n    ContainerBlot.prototype.descendants = function (criteria, index, length) {\n        if (index === void 0) { index = 0; }\n        if (length === void 0) { length = Number.MAX_VALUE; }\n        var descendants = [];\n        var lengthLeft = length;\n        this.children.forEachAt(index, length, function (child, index, length) {\n            if ((criteria.blotName == null && criteria(child)) ||\n                (criteria.blotName != null && child instanceof criteria)) {\n                descendants.push(child);\n            }\n            if (child instanceof ContainerBlot) {\n                descendants = descendants.concat(child.descendants(criteria, index, lengthLeft));\n            }\n            lengthLeft -= length;\n        });\n        return descendants;\n    };\n    ContainerBlot.prototype.detach = function () {\n        this.children.forEach(function (child) {\n            child.detach();\n        });\n        _super.prototype.detach.call(this);\n    };\n    ContainerBlot.prototype.formatAt = function (index, length, name, value) {\n        this.children.forEachAt(index, length, function (child, offset, length) {\n            child.formatAt(offset, length, name, value);\n        });\n    };\n    ContainerBlot.prototype.insertAt = function (index, value, def) {\n        var _a = this.children.find(index), child = _a[0], offset = _a[1];\n        if (child) {\n            child.insertAt(offset, value, def);\n        }\n        else {\n            var blot = def == null ? Registry.create('text', value) : Registry.create(value, def);\n            this.appendChild(blot);\n        }\n    };\n    ContainerBlot.prototype.insertBefore = function (childBlot, refBlot) {\n        if (this.statics.allowedChildren != null &&\n            !this.statics.allowedChildren.some(function (child) {\n                return childBlot instanceof child;\n            })) {\n            throw new Registry.ParchmentError(\"Cannot insert \" + childBlot.statics.blotName + \" into \" + this.statics.blotName);\n        }\n        childBlot.insertInto(this, refBlot);\n    };\n    ContainerBlot.prototype.length = function () {\n        return this.children.reduce(function (memo, child) {\n            return memo + child.length();\n        }, 0);\n    };\n    ContainerBlot.prototype.moveChildren = function (targetParent, refNode) {\n        this.children.forEach(function (child) {\n            targetParent.insertBefore(child, refNode);\n        });\n    };\n    ContainerBlot.prototype.optimize = function (context) {\n        _super.prototype.optimize.call(this, context);\n        if (this.children.length === 0) {\n            if (this.statics.defaultChild != null) {\n                var child = Registry.create(this.statics.defaultChild);\n                this.appendChild(child);\n                child.optimize(context);\n            }\n            else {\n                this.remove();\n            }\n        }\n    };\n    ContainerBlot.prototype.path = function (index, inclusive) {\n        if (inclusive === void 0) { inclusive = false; }\n        var _a = this.children.find(index, inclusive), child = _a[0], offset = _a[1];\n        var position = [[this, index]];\n        if (child instanceof ContainerBlot) {\n            return position.concat(child.path(offset, inclusive));\n        }\n        else if (child != null) {\n            position.push([child, offset]);\n        }\n        return position;\n    };\n    ContainerBlot.prototype.removeChild = function (child) {\n        this.children.remove(child);\n    };\n    ContainerBlot.prototype.replace = function (target) {\n        if (target instanceof ContainerBlot) {\n            target.moveChildren(this);\n        }\n        _super.prototype.replace.call(this, target);\n    };\n    ContainerBlot.prototype.split = function (index, force) {\n        if (force === void 0) { force = false; }\n        if (!force) {\n            if (index === 0)\n                return this;\n            if (index === this.length())\n                return this.next;\n        }\n        var after = this.clone();\n        this.parent.insertBefore(after, this.next);\n        this.children.forEachAt(index, this.length(), function (child, offset, length) {\n            child = child.split(offset, force);\n            after.appendChild(child);\n        });\n        return after;\n    };\n    ContainerBlot.prototype.unwrap = function () {\n        this.moveChildren(this.parent, this.next);\n        this.remove();\n    };\n    ContainerBlot.prototype.update = function (mutations, context) {\n        var _this = this;\n        var addedNodes = [];\n        var removedNodes = [];\n        mutations.forEach(function (mutation) {\n            if (mutation.target === _this.domNode && mutation.type === 'childList') {\n                addedNodes.push.apply(addedNodes, mutation.addedNodes);\n                removedNodes.push.apply(removedNodes, mutation.removedNodes);\n            }\n        });\n        removedNodes.forEach(function (node) {\n            // Check node has actually been removed\n            // One exception is Chrome does not immediately remove IFRAMEs\n            // from DOM but MutationRecord is correct in its reported removal\n            if (node.parentNode != null &&\n                // @ts-ignore\n                node.tagName !== 'IFRAME' &&\n                document.body.compareDocumentPosition(node) & Node.DOCUMENT_POSITION_CONTAINED_BY) {\n                return;\n            }\n            var blot = Registry.find(node);\n            if (blot == null)\n                return;\n            if (blot.domNode.parentNode == null || blot.domNode.parentNode === _this.domNode) {\n                blot.detach();\n            }\n        });\n        addedNodes\n            .filter(function (node) {\n            return node.parentNode == _this.domNode;\n        })\n            .sort(function (a, b) {\n            if (a === b)\n                return 0;\n            if (a.compareDocumentPosition(b) & Node.DOCUMENT_POSITION_FOLLOWING) {\n                return 1;\n            }\n            return -1;\n        })\n            .forEach(function (node) {\n            var refBlot = null;\n            if (node.nextSibling != null) {\n                refBlot = Registry.find(node.nextSibling);\n            }\n            var blot = makeBlot(node);\n            if (blot.next != refBlot || blot.next == null) {\n                if (blot.parent != null) {\n                    blot.parent.removeChild(_this);\n                }\n                _this.insertBefore(blot, refBlot || undefined);\n            }\n        });\n    };\n    return ContainerBlot;\n}(shadow_1.default));\nfunction makeBlot(node) {\n    var blot = Registry.find(node);\n    if (blot == null) {\n        try {\n            blot = Registry.create(node);\n        }\n        catch (e) {\n            blot = Registry.create(Registry.Scope.INLINE);\n            [].slice.call(node.childNodes).forEach(function (child) {\n                // @ts-ignore\n                blot.domNode.appendChild(child);\n            });\n            if (node.parentNode) {\n                node.parentNode.replaceChild(blot.domNode, node);\n            }\n            blot.attach();\n        }\n    }\n    return blot;\n}\nexports.default = ContainerBlot;\n\n\n/***/ }),\n/* 18 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nvar __extends = (this && this.__extends) || (function () {\n    var extendStatics = Object.setPrototypeOf ||\n        ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n        function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n    return function (d, b) {\n        extendStatics(d, b);\n        function __() { this.constructor = d; }\n        d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n    };\n})();\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar attributor_1 = __webpack_require__(12);\nvar store_1 = __webpack_require__(31);\nvar container_1 = __webpack_require__(17);\nvar Registry = __webpack_require__(1);\nvar FormatBlot = /** @class */ (function (_super) {\n    __extends(FormatBlot, _super);\n    function FormatBlot(domNode) {\n        var _this = _super.call(this, domNode) || this;\n        _this.attributes = new store_1.default(_this.domNode);\n        return _this;\n    }\n    FormatBlot.formats = function (domNode) {\n        if (typeof this.tagName === 'string') {\n            return true;\n        }\n        else if (Array.isArray(this.tagName)) {\n            return domNode.tagName.toLowerCase();\n        }\n        return undefined;\n    };\n    FormatBlot.prototype.format = function (name, value) {\n        var format = Registry.query(name);\n        if (format instanceof attributor_1.default) {\n            this.attributes.attribute(format, value);\n        }\n        else if (value) {\n            if (format != null && (name !== this.statics.blotName || this.formats()[name] !== value)) {\n                this.replaceWith(name, value);\n            }\n        }\n    };\n    FormatBlot.prototype.formats = function () {\n        var formats = this.attributes.values();\n        var format = this.statics.formats(this.domNode);\n        if (format != null) {\n            formats[this.statics.blotName] = format;\n        }\n        return formats;\n    };\n    FormatBlot.prototype.replaceWith = function (name, value) {\n        var replacement = _super.prototype.replaceWith.call(this, name, value);\n        this.attributes.copy(replacement);\n        return replacement;\n    };\n    FormatBlot.prototype.update = function (mutations, context) {\n        var _this = this;\n        _super.prototype.update.call(this, mutations, context);\n        if (mutations.some(function (mutation) {\n            return mutation.target === _this.domNode && mutation.type === 'attributes';\n        })) {\n            this.attributes.build();\n        }\n    };\n    FormatBlot.prototype.wrap = function (name, value) {\n        var wrapper = _super.prototype.wrap.call(this, name, value);\n        if (wrapper instanceof FormatBlot && wrapper.statics.scope === this.statics.scope) {\n            this.attributes.move(wrapper);\n        }\n        return wrapper;\n    };\n    return FormatBlot;\n}(container_1.default));\nexports.default = FormatBlot;\n\n\n/***/ }),\n/* 19 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nvar __extends = (this && this.__extends) || (function () {\n    var extendStatics = Object.setPrototypeOf ||\n        ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n        function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n    return function (d, b) {\n        extendStatics(d, b);\n        function __() { this.constructor = d; }\n        d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n    };\n})();\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar shadow_1 = __webpack_require__(30);\nvar Registry = __webpack_require__(1);\nvar LeafBlot = /** @class */ (function (_super) {\n    __extends(LeafBlot, _super);\n    function LeafBlot() {\n        return _super !== null && _super.apply(this, arguments) || this;\n    }\n    LeafBlot.value = function (domNode) {\n        return true;\n    };\n    LeafBlot.prototype.index = function (node, offset) {\n        if (this.domNode === node ||\n            this.domNode.compareDocumentPosition(node) & Node.DOCUMENT_POSITION_CONTAINED_BY) {\n            return Math.min(offset, 1);\n        }\n        return -1;\n    };\n    LeafBlot.prototype.position = function (index, inclusive) {\n        var offset = [].indexOf.call(this.parent.domNode.childNodes, this.domNode);\n        if (index > 0)\n            offset += 1;\n        return [this.parent.domNode, offset];\n    };\n    LeafBlot.prototype.value = function () {\n        var _a;\n        return _a = {}, _a[this.statics.blotName] = this.statics.value(this.domNode) || true, _a;\n    };\n    LeafBlot.scope = Registry.Scope.INLINE_BLOT;\n    return LeafBlot;\n}(shadow_1.default));\nexports.default = LeafBlot;\n\n\n/***/ }),\n/* 20 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar equal = __webpack_require__(11);\nvar extend = __webpack_require__(3);\n\n\nvar lib = {\n  attributes: {\n    compose: function (a, b, keepNull) {\n      if (typeof a !== 'object') a = {};\n      if (typeof b !== 'object') b = {};\n      var attributes = extend(true, {}, b);\n      if (!keepNull) {\n        attributes = Object.keys(attributes).reduce(function (copy, key) {\n          if (attributes[key] != null) {\n            copy[key] = attributes[key];\n          }\n          return copy;\n        }, {});\n      }\n      for (var key in a) {\n        if (a[key] !== undefined && b[key] === undefined) {\n          attributes[key] = a[key];\n        }\n      }\n      return Object.keys(attributes).length > 0 ? attributes : undefined;\n    },\n\n    diff: function(a, b) {\n      if (typeof a !== 'object') a = {};\n      if (typeof b !== 'object') b = {};\n      var attributes = Object.keys(a).concat(Object.keys(b)).reduce(function (attributes, key) {\n        if (!equal(a[key], b[key])) {\n          attributes[key] = b[key] === undefined ? null : b[key];\n        }\n        return attributes;\n      }, {});\n      return Object.keys(attributes).length > 0 ? attributes : undefined;\n    },\n\n    transform: function (a, b, priority) {\n      if (typeof a !== 'object') return b;\n      if (typeof b !== 'object') return undefined;\n      if (!priority) return b;  // b simply overwrites us without priority\n      var attributes = Object.keys(b).reduce(function (attributes, key) {\n        if (a[key] === undefined) attributes[key] = b[key];  // null is a valid value\n        return attributes;\n      }, {});\n      return Object.keys(attributes).length > 0 ? attributes : undefined;\n    }\n  },\n\n  iterator: function (ops) {\n    return new Iterator(ops);\n  },\n\n  length: function (op) {\n    if (typeof op['delete'] === 'number') {\n      return op['delete'];\n    } else if (typeof op.retain === 'number') {\n      return op.retain;\n    } else {\n      return typeof op.insert === 'string' ? op.insert.length : 1;\n    }\n  }\n};\n\n\nfunction Iterator(ops) {\n  this.ops = ops;\n  this.index = 0;\n  this.offset = 0;\n};\n\nIterator.prototype.hasNext = function () {\n  return this.peekLength() < Infinity;\n};\n\nIterator.prototype.next = function (length) {\n  if (!length) length = Infinity;\n  var nextOp = this.ops[this.index];\n  if (nextOp) {\n    var offset = this.offset;\n    var opLength = lib.length(nextOp)\n    if (length >= opLength - offset) {\n      length = opLength - offset;\n      this.index += 1;\n      this.offset = 0;\n    } else {\n      this.offset += length;\n    }\n    if (typeof nextOp['delete'] === 'number') {\n      return { 'delete': length };\n    } else {\n      var retOp = {};\n      if (nextOp.attributes) {\n        retOp.attributes = nextOp.attributes;\n      }\n      if (typeof nextOp.retain === 'number') {\n        retOp.retain = length;\n      } else if (typeof nextOp.insert === 'string') {\n        retOp.insert = nextOp.insert.substr(offset, length);\n      } else {\n        // offset should === 0, length should === 1\n        retOp.insert = nextOp.insert;\n      }\n      return retOp;\n    }\n  } else {\n    return { retain: Infinity };\n  }\n};\n\nIterator.prototype.peek = function () {\n  return this.ops[this.index];\n};\n\nIterator.prototype.peekLength = function () {\n  if (this.ops[this.index]) {\n    // Should never return 0 if our index is being managed correctly\n    return lib.length(this.ops[this.index]) - this.offset;\n  } else {\n    return Infinity;\n  }\n};\n\nIterator.prototype.peekType = function () {\n  if (this.ops[this.index]) {\n    if (typeof this.ops[this.index]['delete'] === 'number') {\n      return 'delete';\n    } else if (typeof this.ops[this.index].retain === 'number') {\n      return 'retain';\n    } else {\n      return 'insert';\n    }\n  }\n  return 'retain';\n};\n\nIterator.prototype.rest = function () {\n  if (!this.hasNext()) {\n    return [];\n  } else if (this.offset === 0) {\n    return this.ops.slice(this.index);\n  } else {\n    var offset = this.offset;\n    var index = this.index;\n    var next = this.next();\n    var rest = this.ops.slice(this.index);\n    this.offset = offset;\n    this.index = index;\n    return [next].concat(rest);\n  }\n};\n\n\nmodule.exports = lib;\n\n\n/***/ }),\n/* 21 */\n/***/ (function(module, exports) {\n\nvar clone = (function() {\n'use strict';\n\nfunction _instanceof(obj, type) {\n  return type != null && obj instanceof type;\n}\n\nvar nativeMap;\ntry {\n  nativeMap = Map;\n} catch(_) {\n  // maybe a reference error because no `Map`. Give it a dummy value that no\n  // value will ever be an instanceof.\n  nativeMap = function() {};\n}\n\nvar nativeSet;\ntry {\n  nativeSet = Set;\n} catch(_) {\n  nativeSet = function() {};\n}\n\nvar nativePromise;\ntry {\n  nativePromise = Promise;\n} catch(_) {\n  nativePromise = function() {};\n}\n\n/**\n * Clones (copies) an Object using deep copying.\n *\n * This function supports circular references by default, but if you are certain\n * there are no circular references in your object, you can save some CPU time\n * by calling clone(obj, false).\n *\n * Caution: if `circular` is false and `parent` contains circular references,\n * your program may enter an infinite loop and crash.\n *\n * @param `parent` - the object to be cloned\n * @param `circular` - set to true if the object to be cloned may contain\n *    circular references. (optional - true by default)\n * @param `depth` - set to a number if the object is only to be cloned to\n *    a particular depth. (optional - defaults to Infinity)\n * @param `prototype` - sets the prototype to be used when cloning an object.\n *    (optional - defaults to parent prototype).\n * @param `includeNonEnumerable` - set to true if the non-enumerable properties\n *    should be cloned as well. Non-enumerable properties on the prototype\n *    chain will be ignored. (optional - false by default)\n*/\nfunction clone(parent, circular, depth, prototype, includeNonEnumerable) {\n  if (typeof circular === 'object') {\n    depth = circular.depth;\n    prototype = circular.prototype;\n    includeNonEnumerable = circular.includeNonEnumerable;\n    circular = circular.circular;\n  }\n  // maintain two arrays for circular references, where corresponding parents\n  // and children have the same index\n  var allParents = [];\n  var allChildren = [];\n\n  var useBuffer = typeof Buffer != 'undefined';\n\n  if (typeof circular == 'undefined')\n    circular = true;\n\n  if (typeof depth == 'undefined')\n    depth = Infinity;\n\n  // recurse this function so we don't reset allParents and allChildren\n  function _clone(parent, depth) {\n    // cloning null always returns null\n    if (parent === null)\n      return null;\n\n    if (depth === 0)\n      return parent;\n\n    var child;\n    var proto;\n    if (typeof parent != 'object') {\n      return parent;\n    }\n\n    if (_instanceof(parent, nativeMap)) {\n      child = new nativeMap();\n    } else if (_instanceof(parent, nativeSet)) {\n      child = new nativeSet();\n    } else if (_instanceof(parent, nativePromise)) {\n      child = new nativePromise(function (resolve, reject) {\n        parent.then(function(value) {\n          resolve(_clone(value, depth - 1));\n        }, function(err) {\n          reject(_clone(err, depth - 1));\n        });\n      });\n    } else if (clone.__isArray(parent)) {\n      child = [];\n    } else if (clone.__isRegExp(parent)) {\n      child = new RegExp(parent.source, __getRegExpFlags(parent));\n      if (parent.lastIndex) child.lastIndex = parent.lastIndex;\n    } else if (clone.__isDate(parent)) {\n      child = new Date(parent.getTime());\n    } else if (useBuffer && Buffer.isBuffer(parent)) {\n      if (Buffer.allocUnsafe) {\n        // Node.js >= 4.5.0\n        child = Buffer.allocUnsafe(parent.length);\n      } else {\n        // Older Node.js versions\n        child = new Buffer(parent.length);\n      }\n      parent.copy(child);\n      return child;\n    } else if (_instanceof(parent, Error)) {\n      child = Object.create(parent);\n    } else {\n      if (typeof prototype == 'undefined') {\n        proto = Object.getPrototypeOf(parent);\n        child = Object.create(proto);\n      }\n      else {\n        child = Object.create(prototype);\n        proto = prototype;\n      }\n    }\n\n    if (circular) {\n      var index = allParents.indexOf(parent);\n\n      if (index != -1) {\n        return allChildren[index];\n      }\n      allParents.push(parent);\n      allChildren.push(child);\n    }\n\n    if (_instanceof(parent, nativeMap)) {\n      parent.forEach(function(value, key) {\n        var keyChild = _clone(key, depth - 1);\n        var valueChild = _clone(value, depth - 1);\n        child.set(keyChild, valueChild);\n      });\n    }\n    if (_instanceof(parent, nativeSet)) {\n      parent.forEach(function(value) {\n        var entryChild = _clone(value, depth - 1);\n        child.add(entryChild);\n      });\n    }\n\n    for (var i in parent) {\n      var attrs;\n      if (proto) {\n        attrs = Object.getOwnPropertyDescriptor(proto, i);\n      }\n\n      if (attrs && attrs.set == null) {\n        continue;\n      }\n      child[i] = _clone(parent[i], depth - 1);\n    }\n\n    if (Object.getOwnPropertySymbols) {\n      var symbols = Object.getOwnPropertySymbols(parent);\n      for (var i = 0; i < symbols.length; i++) {\n        // Don't need to worry about cloning a symbol because it is a primitive,\n        // like a number or string.\n        var symbol = symbols[i];\n        var descriptor = Object.getOwnPropertyDescriptor(parent, symbol);\n        if (descriptor && !descriptor.enumerable && !includeNonEnumerable) {\n          continue;\n        }\n        child[symbol] = _clone(parent[symbol], depth - 1);\n        if (!descriptor.enumerable) {\n          Object.defineProperty(child, symbol, {\n            enumerable: false\n          });\n        }\n      }\n    }\n\n    if (includeNonEnumerable) {\n      var allPropertyNames = Object.getOwnPropertyNames(parent);\n      for (var i = 0; i < allPropertyNames.length; i++) {\n        var propertyName = allPropertyNames[i];\n        var descriptor = Object.getOwnPropertyDescriptor(parent, propertyName);\n        if (descriptor && descriptor.enumerable) {\n          continue;\n        }\n        child[propertyName] = _clone(parent[propertyName], depth - 1);\n        Object.defineProperty(child, propertyName, {\n          enumerable: false\n        });\n      }\n    }\n\n    return child;\n  }\n\n  return _clone(parent, depth);\n}\n\n/**\n * Simple flat clone using prototype, accepts only objects, usefull for property\n * override on FLAT configuration object (no nested props).\n *\n * USE WITH CAUTION! This may not behave as you wish if you do not know how this\n * works.\n */\nclone.clonePrototype = function clonePrototype(parent) {\n  if (parent === null)\n    return null;\n\n  var c = function () {};\n  c.prototype = parent;\n  return new c();\n};\n\n// private utility functions\n\nfunction __objToStr(o) {\n  return Object.prototype.toString.call(o);\n}\nclone.__objToStr = __objToStr;\n\nfunction __isDate(o) {\n  return typeof o === 'object' && __objToStr(o) === '[object Date]';\n}\nclone.__isDate = __isDate;\n\nfunction __isArray(o) {\n  return typeof o === 'object' && __objToStr(o) === '[object Array]';\n}\nclone.__isArray = __isArray;\n\nfunction __isRegExp(o) {\n  return typeof o === 'object' && __objToStr(o) === '[object RegExp]';\n}\nclone.__isRegExp = __isRegExp;\n\nfunction __getRegExpFlags(re) {\n  var flags = '';\n  if (re.global) flags += 'g';\n  if (re.ignoreCase) flags += 'i';\n  if (re.multiline) flags += 'm';\n  return flags;\n}\nclone.__getRegExpFlags = __getRegExpFlags;\n\nreturn clone;\n})();\n\nif (typeof module === 'object' && module.exports) {\n  module.exports = clone;\n}\n\n\n/***/ }),\n/* 22 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n  value: true\n});\n\nvar _slicedToArray = function () { function sliceIterator(arr, i) { var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i[\"return\"]) _i[\"return\"](); } finally { if (_d) throw _e; } } return _arr; } return function (arr, i) { if (Array.isArray(arr)) { return arr; } else if (Symbol.iterator in Object(arr)) { return sliceIterator(arr, i); } else { throw new TypeError(\"Invalid attempt to destructure non-iterable instance\"); } }; }();\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _get = function get(object, property, receiver) { if (object === null) object = Function.prototype; var desc = Object.getOwnPropertyDescriptor(object, property); if (desc === undefined) { var parent = Object.getPrototypeOf(object); if (parent === null) { return undefined; } else { return get(parent, property, receiver); } } else if (\"value\" in desc) { return desc.value; } else { var getter = desc.get; if (getter === undefined) { return undefined; } return getter.call(receiver); } };\n\nvar _parchment = __webpack_require__(0);\n\nvar _parchment2 = _interopRequireDefault(_parchment);\n\nvar _emitter = __webpack_require__(8);\n\nvar _emitter2 = _interopRequireDefault(_emitter);\n\nvar _block = __webpack_require__(4);\n\nvar _block2 = _interopRequireDefault(_block);\n\nvar _break = __webpack_require__(16);\n\nvar _break2 = _interopRequireDefault(_break);\n\nvar _code = __webpack_require__(13);\n\nvar _code2 = _interopRequireDefault(_code);\n\nvar _container = __webpack_require__(25);\n\nvar _container2 = _interopRequireDefault(_container);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\nfunction isLine(blot) {\n  return blot instanceof _block2.default || blot instanceof _block.BlockEmbed;\n}\n\nvar Scroll = function (_Parchment$Scroll) {\n  _inherits(Scroll, _Parchment$Scroll);\n\n  function Scroll(domNode, config) {\n    _classCallCheck(this, Scroll);\n\n    var _this = _possibleConstructorReturn(this, (Scroll.__proto__ || Object.getPrototypeOf(Scroll)).call(this, domNode));\n\n    _this.emitter = config.emitter;\n    if (Array.isArray(config.whitelist)) {\n      _this.whitelist = config.whitelist.reduce(function (whitelist, format) {\n        whitelist[format] = true;\n        return whitelist;\n      }, {});\n    }\n    // Some reason fixes composition issues with character languages in Windows/Chrome, Safari\n    _this.domNode.addEventListener('DOMNodeInserted', function () {});\n    _this.optimize();\n    _this.enable();\n    return _this;\n  }\n\n  _createClass(Scroll, [{\n    key: 'batchStart',\n    value: function batchStart() {\n      this.batch = true;\n    }\n  }, {\n    key: 'batchEnd',\n    value: function batchEnd() {\n      this.batch = false;\n      this.optimize();\n    }\n  }, {\n    key: 'deleteAt',\n    value: function deleteAt(index, length) {\n      var _line = this.line(index),\n          _line2 = _slicedToArray(_line, 2),\n          first = _line2[0],\n          offset = _line2[1];\n\n      var _line3 = this.line(index + length),\n          _line4 = _slicedToArray(_line3, 1),\n          last = _line4[0];\n\n      _get(Scroll.prototype.__proto__ || Object.getPrototypeOf(Scroll.prototype), 'deleteAt', this).call(this, index, length);\n      if (last != null && first !== last && offset > 0) {\n        if (first instanceof _block.BlockEmbed || last instanceof _block.BlockEmbed) {\n          this.optimize();\n          return;\n        }\n        if (first instanceof _code2.default) {\n          var newlineIndex = first.newlineIndex(first.length(), true);\n          if (newlineIndex > -1) {\n            first = first.split(newlineIndex + 1);\n            if (first === last) {\n              this.optimize();\n              return;\n            }\n          }\n        } else if (last instanceof _code2.default) {\n          var _newlineIndex = last.newlineIndex(0);\n          if (_newlineIndex > -1) {\n            last.split(_newlineIndex + 1);\n          }\n        }\n        var ref = last.children.head instanceof _break2.default ? null : last.children.head;\n        first.moveChildren(last, ref);\n        first.remove();\n      }\n      this.optimize();\n    }\n  }, {\n    key: 'enable',\n    value: function enable() {\n      var enabled = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : true;\n\n      this.domNode.setAttribute('contenteditable', enabled);\n    }\n  }, {\n    key: 'formatAt',\n    value: function formatAt(index, length, format, value) {\n      if (this.whitelist != null && !this.whitelist[format]) return;\n      _get(Scroll.prototype.__proto__ || Object.getPrototypeOf(Scroll.prototype), 'formatAt', this).call(this, index, length, format, value);\n      this.optimize();\n    }\n  }, {\n    key: 'insertAt',\n    value: function insertAt(index, value, def) {\n      if (def != null && this.whitelist != null && !this.whitelist[value]) return;\n      if (index >= this.length()) {\n        if (def == null || _parchment2.default.query(value, _parchment2.default.Scope.BLOCK) == null) {\n          var blot = _parchment2.default.create(this.statics.defaultChild);\n          this.appendChild(blot);\n          if (def == null && value.endsWith('\\n')) {\n            value = value.slice(0, -1);\n          }\n          blot.insertAt(0, value, def);\n        } else {\n          var embed = _parchment2.default.create(value, def);\n          this.appendChild(embed);\n        }\n      } else {\n        _get(Scroll.prototype.__proto__ || Object.getPrototypeOf(Scroll.prototype), 'insertAt', this).call(this, index, value, def);\n      }\n      this.optimize();\n    }\n  }, {\n    key: 'insertBefore',\n    value: function insertBefore(blot, ref) {\n      if (blot.statics.scope === _parchment2.default.Scope.INLINE_BLOT) {\n        var wrapper = _parchment2.default.create(this.statics.defaultChild);\n        wrapper.appendChild(blot);\n        blot = wrapper;\n      }\n      _get(Scroll.prototype.__proto__ || Object.getPrototypeOf(Scroll.prototype), 'insertBefore', this).call(this, blot, ref);\n    }\n  }, {\n    key: 'leaf',\n    value: function leaf(index) {\n      return this.path(index).pop() || [null, -1];\n    }\n  }, {\n    key: 'line',\n    value: function line(index) {\n      if (index === this.length()) {\n        return this.line(index - 1);\n      }\n      return this.descendant(isLine, index);\n    }\n  }, {\n    key: 'lines',\n    value: function lines() {\n      var index = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 0;\n      var length = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : Number.MAX_VALUE;\n\n      var getLines = function getLines(blot, index, length) {\n        var lines = [],\n            lengthLeft = length;\n        blot.children.forEachAt(index, length, function (child, index, length) {\n          if (isLine(child)) {\n            lines.push(child);\n          } else if (child instanceof _parchment2.default.Container) {\n            lines = lines.concat(getLines(child, index, lengthLeft));\n          }\n          lengthLeft -= length;\n        });\n        return lines;\n      };\n      return getLines(this, index, length);\n    }\n  }, {\n    key: 'optimize',\n    value: function optimize() {\n      var mutations = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];\n      var context = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n\n      if (this.batch === true) return;\n      _get(Scroll.prototype.__proto__ || Object.getPrototypeOf(Scroll.prototype), 'optimize', this).call(this, mutations, context);\n      if (mutations.length > 0) {\n        this.emitter.emit(_emitter2.default.events.SCROLL_OPTIMIZE, mutations, context);\n      }\n    }\n  }, {\n    key: 'path',\n    value: function path(index) {\n      return _get(Scroll.prototype.__proto__ || Object.getPrototypeOf(Scroll.prototype), 'path', this).call(this, index).slice(1); // Exclude self\n    }\n  }, {\n    key: 'update',\n    value: function update(mutations) {\n      if (this.batch === true) return;\n      var source = _emitter2.default.sources.USER;\n      if (typeof mutations === 'string') {\n        source = mutations;\n      }\n      if (!Array.isArray(mutations)) {\n        mutations = this.observer.takeRecords();\n      }\n      if (mutations.length > 0) {\n        this.emitter.emit(_emitter2.default.events.SCROLL_BEFORE_UPDATE, source, mutations);\n      }\n      _get(Scroll.prototype.__proto__ || Object.getPrototypeOf(Scroll.prototype), 'update', this).call(this, mutations.concat([])); // pass copy\n      if (mutations.length > 0) {\n        this.emitter.emit(_emitter2.default.events.SCROLL_UPDATE, source, mutations);\n      }\n    }\n  }]);\n\n  return Scroll;\n}(_parchment2.default.Scroll);\n\nScroll.blotName = 'scroll';\nScroll.className = 'ql-editor';\nScroll.tagName = 'DIV';\nScroll.defaultChild = 'block';\nScroll.allowedChildren = [_block2.default, _block.BlockEmbed, _container2.default];\n\nexports.default = Scroll;\n\n/***/ }),\n/* 23 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n  value: true\n});\nexports.SHORTKEY = exports.default = undefined;\n\nvar _typeof = typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; };\n\nvar _slicedToArray = function () { function sliceIterator(arr, i) { var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i[\"return\"]) _i[\"return\"](); } finally { if (_d) throw _e; } } return _arr; } return function (arr, i) { if (Array.isArray(arr)) { return arr; } else if (Symbol.iterator in Object(arr)) { return sliceIterator(arr, i); } else { throw new TypeError(\"Invalid attempt to destructure non-iterable instance\"); } }; }();\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _clone = __webpack_require__(21);\n\nvar _clone2 = _interopRequireDefault(_clone);\n\nvar _deepEqual = __webpack_require__(11);\n\nvar _deepEqual2 = _interopRequireDefault(_deepEqual);\n\nvar _extend = __webpack_require__(3);\n\nvar _extend2 = _interopRequireDefault(_extend);\n\nvar _quillDelta = __webpack_require__(2);\n\nvar _quillDelta2 = _interopRequireDefault(_quillDelta);\n\nvar _op = __webpack_require__(20);\n\nvar _op2 = _interopRequireDefault(_op);\n\nvar _parchment = __webpack_require__(0);\n\nvar _parchment2 = _interopRequireDefault(_parchment);\n\nvar _quill = __webpack_require__(5);\n\nvar _quill2 = _interopRequireDefault(_quill);\n\nvar _logger = __webpack_require__(10);\n\nvar _logger2 = _interopRequireDefault(_logger);\n\nvar _module = __webpack_require__(9);\n\nvar _module2 = _interopRequireDefault(_module);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\nvar debug = (0, _logger2.default)('quill:keyboard');\n\nvar SHORTKEY = /Mac/i.test(navigator.platform) ? 'metaKey' : 'ctrlKey';\n\nvar Keyboard = function (_Module) {\n  _inherits(Keyboard, _Module);\n\n  _createClass(Keyboard, null, [{\n    key: 'match',\n    value: function match(evt, binding) {\n      binding = normalize(binding);\n      if (['altKey', 'ctrlKey', 'metaKey', 'shiftKey'].some(function (key) {\n        return !!binding[key] !== evt[key] && binding[key] !== null;\n      })) {\n        return false;\n      }\n      return binding.key === (evt.which || evt.keyCode);\n    }\n  }]);\n\n  function Keyboard(quill, options) {\n    _classCallCheck(this, Keyboard);\n\n    var _this = _possibleConstructorReturn(this, (Keyboard.__proto__ || Object.getPrototypeOf(Keyboard)).call(this, quill, options));\n\n    _this.bindings = {};\n    Object.keys(_this.options.bindings).forEach(function (name) {\n      if (name === 'list autofill' && quill.scroll.whitelist != null && !quill.scroll.whitelist['list']) {\n        return;\n      }\n      if (_this.options.bindings[name]) {\n        _this.addBinding(_this.options.bindings[name]);\n      }\n    });\n    _this.addBinding({ key: Keyboard.keys.ENTER, shiftKey: null }, handleEnter);\n    _this.addBinding({ key: Keyboard.keys.ENTER, metaKey: null, ctrlKey: null, altKey: null }, function () {});\n    if (/Firefox/i.test(navigator.userAgent)) {\n      // Need to handle delete and backspace for Firefox in the general case #1171\n      _this.addBinding({ key: Keyboard.keys.BACKSPACE }, { collapsed: true }, handleBackspace);\n      _this.addBinding({ key: Keyboard.keys.DELETE }, { collapsed: true }, handleDelete);\n    } else {\n      _this.addBinding({ key: Keyboard.keys.BACKSPACE }, { collapsed: true, prefix: /^.?$/ }, handleBackspace);\n      _this.addBinding({ key: Keyboard.keys.DELETE }, { collapsed: true, suffix: /^.?$/ }, handleDelete);\n    }\n    _this.addBinding({ key: Keyboard.keys.BACKSPACE }, { collapsed: false }, handleDeleteRange);\n    _this.addBinding({ key: Keyboard.keys.DELETE }, { collapsed: false }, handleDeleteRange);\n    _this.addBinding({ key: Keyboard.keys.BACKSPACE, altKey: null, ctrlKey: null, metaKey: null, shiftKey: null }, { collapsed: true, offset: 0 }, handleBackspace);\n    _this.listen();\n    return _this;\n  }\n\n  _createClass(Keyboard, [{\n    key: 'addBinding',\n    value: function addBinding(key) {\n      var context = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n      var handler = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};\n\n      var binding = normalize(key);\n      if (binding == null || binding.key == null) {\n        return debug.warn('Attempted to add invalid keyboard binding', binding);\n      }\n      if (typeof context === 'function') {\n        context = { handler: context };\n      }\n      if (typeof handler === 'function') {\n        handler = { handler: handler };\n      }\n      binding = (0, _extend2.default)(binding, context, handler);\n      this.bindings[binding.key] = this.bindings[binding.key] || [];\n      this.bindings[binding.key].push(binding);\n    }\n  }, {\n    key: 'listen',\n    value: function listen() {\n      var _this2 = this;\n\n      this.quill.root.addEventListener('keydown', function (evt) {\n        if (evt.defaultPrevented) return;\n        var which = evt.which || evt.keyCode;\n        var bindings = (_this2.bindings[which] || []).filter(function (binding) {\n          return Keyboard.match(evt, binding);\n        });\n        if (bindings.length === 0) return;\n        var range = _this2.quill.getSelection();\n        if (range == null || !_this2.quill.hasFocus()) return;\n\n        var _quill$getLine = _this2.quill.getLine(range.index),\n            _quill$getLine2 = _slicedToArray(_quill$getLine, 2),\n            line = _quill$getLine2[0],\n            offset = _quill$getLine2[1];\n\n        var _quill$getLeaf = _this2.quill.getLeaf(range.index),\n            _quill$getLeaf2 = _slicedToArray(_quill$getLeaf, 2),\n            leafStart = _quill$getLeaf2[0],\n            offsetStart = _quill$getLeaf2[1];\n\n        var _ref = range.length === 0 ? [leafStart, offsetStart] : _this2.quill.getLeaf(range.index + range.length),\n            _ref2 = _slicedToArray(_ref, 2),\n            leafEnd = _ref2[0],\n            offsetEnd = _ref2[1];\n\n        var prefixText = leafStart instanceof _parchment2.default.Text ? leafStart.value().slice(0, offsetStart) : '';\n        var suffixText = leafEnd instanceof _parchment2.default.Text ? leafEnd.value().slice(offsetEnd) : '';\n        var curContext = {\n          collapsed: range.length === 0,\n          empty: range.length === 0 && line.length() <= 1,\n          format: _this2.quill.getFormat(range),\n          offset: offset,\n          prefix: prefixText,\n          suffix: suffixText\n        };\n        var prevented = bindings.some(function (binding) {\n          if (binding.collapsed != null && binding.collapsed !== curContext.collapsed) return false;\n          if (binding.empty != null && binding.empty !== curContext.empty) return false;\n          if (binding.offset != null && binding.offset !== curContext.offset) return false;\n          if (Array.isArray(binding.format)) {\n            // any format is present\n            if (binding.format.every(function (name) {\n              return curContext.format[name] == null;\n            })) {\n              return false;\n            }\n          } else if (_typeof(binding.format) === 'object') {\n            // all formats must match\n            if (!Object.keys(binding.format).every(function (name) {\n              if (binding.format[name] === true) return curContext.format[name] != null;\n              if (binding.format[name] === false) return curContext.format[name] == null;\n              return (0, _deepEqual2.default)(binding.format[name], curContext.format[name]);\n            })) {\n              return false;\n            }\n          }\n          if (binding.prefix != null && !binding.prefix.test(curContext.prefix)) return false;\n          if (binding.suffix != null && !binding.suffix.test(curContext.suffix)) return false;\n          return binding.handler.call(_this2, range, curContext) !== true;\n        });\n        if (prevented) {\n          evt.preventDefault();\n        }\n      });\n    }\n  }]);\n\n  return Keyboard;\n}(_module2.default);\n\nKeyboard.keys = {\n  BACKSPACE: 8,\n  TAB: 9,\n  ENTER: 13,\n  ESCAPE: 27,\n  LEFT: 37,\n  UP: 38,\n  RIGHT: 39,\n  DOWN: 40,\n  DELETE: 46\n};\n\nKeyboard.DEFAULTS = {\n  bindings: {\n    'bold': makeFormatHandler('bold'),\n    'italic': makeFormatHandler('italic'),\n    'underline': makeFormatHandler('underline'),\n    'indent': {\n      // highlight tab or tab at beginning of list, indent or blockquote\n      key: Keyboard.keys.TAB,\n      format: ['blockquote', 'indent', 'list'],\n      handler: function handler(range, context) {\n        if (context.collapsed && context.offset !== 0) return true;\n        this.quill.format('indent', '+1', _quill2.default.sources.USER);\n      }\n    },\n    'outdent': {\n      key: Keyboard.keys.TAB,\n      shiftKey: true,\n      format: ['blockquote', 'indent', 'list'],\n      // highlight tab or tab at beginning of list, indent or blockquote\n      handler: function handler(range, context) {\n        if (context.collapsed && context.offset !== 0) return true;\n        this.quill.format('indent', '-1', _quill2.default.sources.USER);\n      }\n    },\n    'outdent backspace': {\n      key: Keyboard.keys.BACKSPACE,\n      collapsed: true,\n      shiftKey: null,\n      metaKey: null,\n      ctrlKey: null,\n      altKey: null,\n      format: ['indent', 'list'],\n      offset: 0,\n      handler: function handler(range, context) {\n        if (context.format.indent != null) {\n          this.quill.format('indent', '-1', _quill2.default.sources.USER);\n        } else if (context.format.list != null) {\n          this.quill.format('list', false, _quill2.default.sources.USER);\n        }\n      }\n    },\n    'indent code-block': makeCodeBlockHandler(true),\n    'outdent code-block': makeCodeBlockHandler(false),\n    'remove tab': {\n      key: Keyboard.keys.TAB,\n      shiftKey: true,\n      collapsed: true,\n      prefix: /\\t$/,\n      handler: function handler(range) {\n        this.quill.deleteText(range.index - 1, 1, _quill2.default.sources.USER);\n      }\n    },\n    'tab': {\n      key: Keyboard.keys.TAB,\n      handler: function handler(range) {\n        this.quill.history.cutoff();\n        var delta = new _quillDelta2.default().retain(range.index).delete(range.length).insert('\\t');\n        this.quill.updateContents(delta, _quill2.default.sources.USER);\n        this.quill.history.cutoff();\n        this.quill.setSelection(range.index + 1, _quill2.default.sources.SILENT);\n      }\n    },\n    'list empty enter': {\n      key: Keyboard.keys.ENTER,\n      collapsed: true,\n      format: ['list'],\n      empty: true,\n      handler: function handler(range, context) {\n        this.quill.format('list', false, _quill2.default.sources.USER);\n        if (context.format.indent) {\n          this.quill.format('indent', false, _quill2.default.sources.USER);\n        }\n      }\n    },\n    'checklist enter': {\n      key: Keyboard.keys.ENTER,\n      collapsed: true,\n      format: { list: 'checked' },\n      handler: function handler(range) {\n        var _quill$getLine3 = this.quill.getLine(range.index),\n            _quill$getLine4 = _slicedToArray(_quill$getLine3, 2),\n            line = _quill$getLine4[0],\n            offset = _quill$getLine4[1];\n\n        var formats = (0, _extend2.default)({}, line.formats(), { list: 'checked' });\n        var delta = new _quillDelta2.default().retain(range.index).insert('\\n', formats).retain(line.length() - offset - 1).retain(1, { list: 'unchecked' });\n        this.quill.updateContents(delta, _quill2.default.sources.USER);\n        this.quill.setSelection(range.index + 1, _quill2.default.sources.SILENT);\n        this.quill.scrollIntoView();\n      }\n    },\n    'header enter': {\n      key: Keyboard.keys.ENTER,\n      collapsed: true,\n      format: ['header'],\n      suffix: /^$/,\n      handler: function handler(range, context) {\n        var _quill$getLine5 = this.quill.getLine(range.index),\n            _quill$getLine6 = _slicedToArray(_quill$getLine5, 2),\n            line = _quill$getLine6[0],\n            offset = _quill$getLine6[1];\n\n        var delta = new _quillDelta2.default().retain(range.index).insert('\\n', context.format).retain(line.length() - offset - 1).retain(1, { header: null });\n        this.quill.updateContents(delta, _quill2.default.sources.USER);\n        this.quill.setSelection(range.index + 1, _quill2.default.sources.SILENT);\n        this.quill.scrollIntoView();\n      }\n    },\n    'list autofill': {\n      key: ' ',\n      collapsed: true,\n      format: { list: false },\n      prefix: /^\\s*?(\\d+\\.|-|\\*|\\[ ?\\]|\\[x\\])$/,\n      handler: function handler(range, context) {\n        var length = context.prefix.length;\n\n        var _quill$getLine7 = this.quill.getLine(range.index),\n            _quill$getLine8 = _slicedToArray(_quill$getLine7, 2),\n            line = _quill$getLine8[0],\n            offset = _quill$getLine8[1];\n\n        if (offset > length) return true;\n        var value = void 0;\n        switch (context.prefix.trim()) {\n          case '[]':case '[ ]':\n            value = 'unchecked';\n            break;\n          case '[x]':\n            value = 'checked';\n            break;\n          case '-':case '*':\n            value = 'bullet';\n            break;\n          default:\n            value = 'ordered';\n        }\n        this.quill.insertText(range.index, ' ', _quill2.default.sources.USER);\n        this.quill.history.cutoff();\n        var delta = new _quillDelta2.default().retain(range.index - offset).delete(length + 1).retain(line.length() - 2 - offset).retain(1, { list: value });\n        this.quill.updateContents(delta, _quill2.default.sources.USER);\n        this.quill.history.cutoff();\n        this.quill.setSelection(range.index - length, _quill2.default.sources.SILENT);\n      }\n    },\n    'code exit': {\n      key: Keyboard.keys.ENTER,\n      collapsed: true,\n      format: ['code-block'],\n      prefix: /\\n\\n$/,\n      suffix: /^\\s+$/,\n      handler: function handler(range) {\n        var _quill$getLine9 = this.quill.getLine(range.index),\n            _quill$getLine10 = _slicedToArray(_quill$getLine9, 2),\n            line = _quill$getLine10[0],\n            offset = _quill$getLine10[1];\n\n        var delta = new _quillDelta2.default().retain(range.index + line.length() - offset - 2).retain(1, { 'code-block': null }).delete(1);\n        this.quill.updateContents(delta, _quill2.default.sources.USER);\n      }\n    },\n    'embed left': makeEmbedArrowHandler(Keyboard.keys.LEFT, false),\n    'embed left shift': makeEmbedArrowHandler(Keyboard.keys.LEFT, true),\n    'embed right': makeEmbedArrowHandler(Keyboard.keys.RIGHT, false),\n    'embed right shift': makeEmbedArrowHandler(Keyboard.keys.RIGHT, true)\n  }\n};\n\nfunction makeEmbedArrowHandler(key, shiftKey) {\n  var _ref3;\n\n  var where = key === Keyboard.keys.LEFT ? 'prefix' : 'suffix';\n  return _ref3 = {\n    key: key,\n    shiftKey: shiftKey,\n    altKey: null\n  }, _defineProperty(_ref3, where, /^$/), _defineProperty(_ref3, 'handler', function handler(range) {\n    var index = range.index;\n    if (key === Keyboard.keys.RIGHT) {\n      index += range.length + 1;\n    }\n\n    var _quill$getLeaf3 = this.quill.getLeaf(index),\n        _quill$getLeaf4 = _slicedToArray(_quill$getLeaf3, 1),\n        leaf = _quill$getLeaf4[0];\n\n    if (!(leaf instanceof _parchment2.default.Embed)) return true;\n    if (key === Keyboard.keys.LEFT) {\n      if (shiftKey) {\n        this.quill.setSelection(range.index - 1, range.length + 1, _quill2.default.sources.USER);\n      } else {\n        this.quill.setSelection(range.index - 1, _quill2.default.sources.USER);\n      }\n    } else {\n      if (shiftKey) {\n        this.quill.setSelection(range.index, range.length + 1, _quill2.default.sources.USER);\n      } else {\n        this.quill.setSelection(range.index + range.length + 1, _quill2.default.sources.USER);\n      }\n    }\n    return false;\n  }), _ref3;\n}\n\nfunction handleBackspace(range, context) {\n  if (range.index === 0 || this.quill.getLength() <= 1) return;\n\n  var _quill$getLine11 = this.quill.getLine(range.index),\n      _quill$getLine12 = _slicedToArray(_quill$getLine11, 1),\n      line = _quill$getLine12[0];\n\n  var formats = {};\n  if (context.offset === 0) {\n    var _quill$getLine13 = this.quill.getLine(range.index - 1),\n        _quill$getLine14 = _slicedToArray(_quill$getLine13, 1),\n        prev = _quill$getLine14[0];\n\n    if (prev != null && prev.length() > 1) {\n      var curFormats = line.formats();\n      var prevFormats = this.quill.getFormat(range.index - 1, 1);\n      formats = _op2.default.attributes.diff(curFormats, prevFormats) || {};\n    }\n  }\n  // Check for astral symbols\n  var length = /[\\uD800-\\uDBFF][\\uDC00-\\uDFFF]$/.test(context.prefix) ? 2 : 1;\n  this.quill.deleteText(range.index - length, length, _quill2.default.sources.USER);\n  if (Object.keys(formats).length > 0) {\n    this.quill.formatLine(range.index - length, length, formats, _quill2.default.sources.USER);\n  }\n  this.quill.focus();\n}\n\nfunction handleDelete(range, context) {\n  // Check for astral symbols\n  var length = /^[\\uD800-\\uDBFF][\\uDC00-\\uDFFF]/.test(context.suffix) ? 2 : 1;\n  if (range.index >= this.quill.getLength() - length) return;\n  var formats = {},\n      nextLength = 0;\n\n  var _quill$getLine15 = this.quill.getLine(range.index),\n      _quill$getLine16 = _slicedToArray(_quill$getLine15, 1),\n      line = _quill$getLine16[0];\n\n  if (context.offset >= line.length() - 1) {\n    var _quill$getLine17 = this.quill.getLine(range.index + 1),\n        _quill$getLine18 = _slicedToArray(_quill$getLine17, 1),\n        next = _quill$getLine18[0];\n\n    if (next) {\n      var curFormats = line.formats();\n      var nextFormats = this.quill.getFormat(range.index, 1);\n      formats = _op2.default.attributes.diff(curFormats, nextFormats) || {};\n      nextLength = next.length();\n    }\n  }\n  this.quill.deleteText(range.index, length, _quill2.default.sources.USER);\n  if (Object.keys(formats).length > 0) {\n    this.quill.formatLine(range.index + nextLength - 1, length, formats, _quill2.default.sources.USER);\n  }\n}\n\nfunction handleDeleteRange(range) {\n  var lines = this.quill.getLines(range);\n  var formats = {};\n  if (lines.length > 1) {\n    var firstFormats = lines[0].formats();\n    var lastFormats = lines[lines.length - 1].formats();\n    formats = _op2.default.attributes.diff(lastFormats, firstFormats) || {};\n  }\n  this.quill.deleteText(range, _quill2.default.sources.USER);\n  if (Object.keys(formats).length > 0) {\n    this.quill.formatLine(range.index, 1, formats, _quill2.default.sources.USER);\n  }\n  this.quill.setSelection(range.index, _quill2.default.sources.SILENT);\n  this.quill.focus();\n}\n\nfunction handleEnter(range, context) {\n  var _this3 = this;\n\n  if (range.length > 0) {\n    this.quill.scroll.deleteAt(range.index, range.length); // So we do not trigger text-change\n  }\n  var lineFormats = Object.keys(context.format).reduce(function (lineFormats, format) {\n    if (_parchment2.default.query(format, _parchment2.default.Scope.BLOCK) && !Array.isArray(context.format[format])) {\n      lineFormats[format] = context.format[format];\n    }\n    return lineFormats;\n  }, {});\n  this.quill.insertText(range.index, '\\n', lineFormats, _quill2.default.sources.USER);\n  // Earlier scroll.deleteAt might have messed up our selection,\n  // so insertText's built in selection preservation is not reliable\n  this.quill.setSelection(range.index + 1, _quill2.default.sources.SILENT);\n  this.quill.focus();\n  Object.keys(context.format).forEach(function (name) {\n    if (lineFormats[name] != null) return;\n    if (Array.isArray(context.format[name])) return;\n    if (name === 'link') return;\n    _this3.quill.format(name, context.format[name], _quill2.default.sources.USER);\n  });\n}\n\nfunction makeCodeBlockHandler(indent) {\n  return {\n    key: Keyboard.keys.TAB,\n    shiftKey: !indent,\n    format: { 'code-block': true },\n    handler: function handler(range) {\n      var CodeBlock = _parchment2.default.query('code-block');\n      var index = range.index,\n          length = range.length;\n\n      var _quill$scroll$descend = this.quill.scroll.descendant(CodeBlock, index),\n          _quill$scroll$descend2 = _slicedToArray(_quill$scroll$descend, 2),\n          block = _quill$scroll$descend2[0],\n          offset = _quill$scroll$descend2[1];\n\n      if (block == null) return;\n      var scrollIndex = this.quill.getIndex(block);\n      var start = block.newlineIndex(offset, true) + 1;\n      var end = block.newlineIndex(scrollIndex + offset + length);\n      var lines = block.domNode.textContent.slice(start, end).split('\\n');\n      offset = 0;\n      lines.forEach(function (line, i) {\n        if (indent) {\n          block.insertAt(start + offset, CodeBlock.TAB);\n          offset += CodeBlock.TAB.length;\n          if (i === 0) {\n            index += CodeBlock.TAB.length;\n          } else {\n            length += CodeBlock.TAB.length;\n          }\n        } else if (line.startsWith(CodeBlock.TAB)) {\n          block.deleteAt(start + offset, CodeBlock.TAB.length);\n          offset -= CodeBlock.TAB.length;\n          if (i === 0) {\n            index -= CodeBlock.TAB.length;\n          } else {\n            length -= CodeBlock.TAB.length;\n          }\n        }\n        offset += line.length + 1;\n      });\n      this.quill.update(_quill2.default.sources.USER);\n      this.quill.setSelection(index, length, _quill2.default.sources.SILENT);\n    }\n  };\n}\n\nfunction makeFormatHandler(format) {\n  return {\n    key: format[0].toUpperCase(),\n    shortKey: true,\n    handler: function handler(range, context) {\n      this.quill.format(format, !context.format[format], _quill2.default.sources.USER);\n    }\n  };\n}\n\nfunction normalize(binding) {\n  if (typeof binding === 'string' || typeof binding === 'number') {\n    return normalize({ key: binding });\n  }\n  if ((typeof binding === 'undefined' ? 'undefined' : _typeof(binding)) === 'object') {\n    binding = (0, _clone2.default)(binding, false);\n  }\n  if (typeof binding.key === 'string') {\n    if (Keyboard.keys[binding.key.toUpperCase()] != null) {\n      binding.key = Keyboard.keys[binding.key.toUpperCase()];\n    } else if (binding.key.length === 1) {\n      binding.key = binding.key.toUpperCase().charCodeAt(0);\n    } else {\n      return null;\n    }\n  }\n  if (binding.shortKey) {\n    binding[SHORTKEY] = binding.shortKey;\n    delete binding.shortKey;\n  }\n  return binding;\n}\n\nexports.default = Keyboard;\nexports.SHORTKEY = SHORTKEY;\n\n/***/ }),\n/* 24 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n  value: true\n});\n\nvar _slicedToArray = function () { function sliceIterator(arr, i) { var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i[\"return\"]) _i[\"return\"](); } finally { if (_d) throw _e; } } return _arr; } return function (arr, i) { if (Array.isArray(arr)) { return arr; } else if (Symbol.iterator in Object(arr)) { return sliceIterator(arr, i); } else { throw new TypeError(\"Invalid attempt to destructure non-iterable instance\"); } }; }();\n\nvar _get = function get(object, property, receiver) { if (object === null) object = Function.prototype; var desc = Object.getOwnPropertyDescriptor(object, property); if (desc === undefined) { var parent = Object.getPrototypeOf(object); if (parent === null) { return undefined; } else { return get(parent, property, receiver); } } else if (\"value\" in desc) { return desc.value; } else { var getter = desc.get; if (getter === undefined) { return undefined; } return getter.call(receiver); } };\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _parchment = __webpack_require__(0);\n\nvar _parchment2 = _interopRequireDefault(_parchment);\n\nvar _text = __webpack_require__(7);\n\nvar _text2 = _interopRequireDefault(_text);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\nvar Cursor = function (_Parchment$Embed) {\n  _inherits(Cursor, _Parchment$Embed);\n\n  _createClass(Cursor, null, [{\n    key: 'value',\n    value: function value() {\n      return undefined;\n    }\n  }]);\n\n  function Cursor(domNode, selection) {\n    _classCallCheck(this, Cursor);\n\n    var _this = _possibleConstructorReturn(this, (Cursor.__proto__ || Object.getPrototypeOf(Cursor)).call(this, domNode));\n\n    _this.selection = selection;\n    _this.textNode = document.createTextNode(Cursor.CONTENTS);\n    _this.domNode.appendChild(_this.textNode);\n    _this._length = 0;\n    return _this;\n  }\n\n  _createClass(Cursor, [{\n    key: 'detach',\n    value: function detach() {\n      // super.detach() will also clear domNode.__blot\n      if (this.parent != null) this.parent.removeChild(this);\n    }\n  }, {\n    key: 'format',\n    value: function format(name, value) {\n      if (this._length !== 0) {\n        return _get(Cursor.prototype.__proto__ || Object.getPrototypeOf(Cursor.prototype), 'format', this).call(this, name, value);\n      }\n      var target = this,\n          index = 0;\n      while (target != null && target.statics.scope !== _parchment2.default.Scope.BLOCK_BLOT) {\n        index += target.offset(target.parent);\n        target = target.parent;\n      }\n      if (target != null) {\n        this._length = Cursor.CONTENTS.length;\n        target.optimize();\n        target.formatAt(index, Cursor.CONTENTS.length, name, value);\n        this._length = 0;\n      }\n    }\n  }, {\n    key: 'index',\n    value: function index(node, offset) {\n      if (node === this.textNode) return 0;\n      return _get(Cursor.prototype.__proto__ || Object.getPrototypeOf(Cursor.prototype), 'index', this).call(this, node, offset);\n    }\n  }, {\n    key: 'length',\n    value: function length() {\n      return this._length;\n    }\n  }, {\n    key: 'position',\n    value: function position() {\n      return [this.textNode, this.textNode.data.length];\n    }\n  }, {\n    key: 'remove',\n    value: function remove() {\n      _get(Cursor.prototype.__proto__ || Object.getPrototypeOf(Cursor.prototype), 'remove', this).call(this);\n      this.parent = null;\n    }\n  }, {\n    key: 'restore',\n    value: function restore() {\n      if (this.selection.composing || this.parent == null) return;\n      var textNode = this.textNode;\n      var range = this.selection.getNativeRange();\n      var restoreText = void 0,\n          start = void 0,\n          end = void 0;\n      if (range != null && range.start.node === textNode && range.end.node === textNode) {\n        var _ref = [textNode, range.start.offset, range.end.offset];\n        restoreText = _ref[0];\n        start = _ref[1];\n        end = _ref[2];\n      }\n      // Link format will insert text outside of anchor tag\n      while (this.domNode.lastChild != null && this.domNode.lastChild !== this.textNode) {\n        this.domNode.parentNode.insertBefore(this.domNode.lastChild, this.domNode);\n      }\n      if (this.textNode.data !== Cursor.CONTENTS) {\n        var text = this.textNode.data.split(Cursor.CONTENTS).join('');\n        if (this.next instanceof _text2.default) {\n          restoreText = this.next.domNode;\n          this.next.insertAt(0, text);\n          this.textNode.data = Cursor.CONTENTS;\n        } else {\n          this.textNode.data = text;\n          this.parent.insertBefore(_parchment2.default.create(this.textNode), this);\n          this.textNode = document.createTextNode(Cursor.CONTENTS);\n          this.domNode.appendChild(this.textNode);\n        }\n      }\n      this.remove();\n      if (start != null) {\n        var _map = [start, end].map(function (offset) {\n          return Math.max(0, Math.min(restoreText.data.length, offset - 1));\n        });\n\n        var _map2 = _slicedToArray(_map, 2);\n\n        start = _map2[0];\n        end = _map2[1];\n\n        return {\n          startNode: restoreText,\n          startOffset: start,\n          endNode: restoreText,\n          endOffset: end\n        };\n      }\n    }\n  }, {\n    key: 'update',\n    value: function update(mutations, context) {\n      var _this2 = this;\n\n      if (mutations.some(function (mutation) {\n        return mutation.type === 'characterData' && mutation.target === _this2.textNode;\n      })) {\n        var range = this.restore();\n        if (range) context.range = range;\n      }\n    }\n  }, {\n    key: 'value',\n    value: function value() {\n      return '';\n    }\n  }]);\n\n  return Cursor;\n}(_parchment2.default.Embed);\n\nCursor.blotName = 'cursor';\nCursor.className = 'ql-cursor';\nCursor.tagName = 'span';\nCursor.CONTENTS = '\\uFEFF'; // Zero width no break space\n\n\nexports.default = Cursor;\n\n/***/ }),\n/* 25 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n  value: true\n});\n\nvar _parchment = __webpack_require__(0);\n\nvar _parchment2 = _interopRequireDefault(_parchment);\n\nvar _block = __webpack_require__(4);\n\nvar _block2 = _interopRequireDefault(_block);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\nvar Container = function (_Parchment$Container) {\n  _inherits(Container, _Parchment$Container);\n\n  function Container() {\n    _classCallCheck(this, Container);\n\n    return _possibleConstructorReturn(this, (Container.__proto__ || Object.getPrototypeOf(Container)).apply(this, arguments));\n  }\n\n  return Container;\n}(_parchment2.default.Container);\n\nContainer.allowedChildren = [_block2.default, _block.BlockEmbed, Container];\n\nexports.default = Container;\n\n/***/ }),\n/* 26 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n  value: true\n});\nexports.ColorStyle = exports.ColorClass = exports.ColorAttributor = undefined;\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _get = function get(object, property, receiver) { if (object === null) object = Function.prototype; var desc = Object.getOwnPropertyDescriptor(object, property); if (desc === undefined) { var parent = Object.getPrototypeOf(object); if (parent === null) { return undefined; } else { return get(parent, property, receiver); } } else if (\"value\" in desc) { return desc.value; } else { var getter = desc.get; if (getter === undefined) { return undefined; } return getter.call(receiver); } };\n\nvar _parchment = __webpack_require__(0);\n\nvar _parchment2 = _interopRequireDefault(_parchment);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\nvar ColorAttributor = function (_Parchment$Attributor) {\n  _inherits(ColorAttributor, _Parchment$Attributor);\n\n  function ColorAttributor() {\n    _classCallCheck(this, ColorAttributor);\n\n    return _possibleConstructorReturn(this, (ColorAttributor.__proto__ || Object.getPrototypeOf(ColorAttributor)).apply(this, arguments));\n  }\n\n  _createClass(ColorAttributor, [{\n    key: 'value',\n    value: function value(domNode) {\n      var value = _get(ColorAttributor.prototype.__proto__ || Object.getPrototypeOf(ColorAttributor.prototype), 'value', this).call(this, domNode);\n      if (!value.startsWith('rgb(')) return value;\n      value = value.replace(/^[^\\d]+/, '').replace(/[^\\d]+$/, '');\n      return '#' + value.split(',').map(function (component) {\n        return ('00' + parseInt(component).toString(16)).slice(-2);\n      }).join('');\n    }\n  }]);\n\n  return ColorAttributor;\n}(_parchment2.default.Attributor.Style);\n\nvar ColorClass = new _parchment2.default.Attributor.Class('color', 'ql-color', {\n  scope: _parchment2.default.Scope.INLINE\n});\nvar ColorStyle = new ColorAttributor('color', 'color', {\n  scope: _parchment2.default.Scope.INLINE\n});\n\nexports.ColorAttributor = ColorAttributor;\nexports.ColorClass = ColorClass;\nexports.ColorStyle = ColorStyle;\n\n/***/ }),\n/* 27 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n  value: true\n});\nexports.sanitize = exports.default = undefined;\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _get = function get(object, property, receiver) { if (object === null) object = Function.prototype; var desc = Object.getOwnPropertyDescriptor(object, property); if (desc === undefined) { var parent = Object.getPrototypeOf(object); if (parent === null) { return undefined; } else { return get(parent, property, receiver); } } else if (\"value\" in desc) { return desc.value; } else { var getter = desc.get; if (getter === undefined) { return undefined; } return getter.call(receiver); } };\n\nvar _inline = __webpack_require__(6);\n\nvar _inline2 = _interopRequireDefault(_inline);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\nvar Link = function (_Inline) {\n  _inherits(Link, _Inline);\n\n  function Link() {\n    _classCallCheck(this, Link);\n\n    return _possibleConstructorReturn(this, (Link.__proto__ || Object.getPrototypeOf(Link)).apply(this, arguments));\n  }\n\n  _createClass(Link, [{\n    key: 'format',\n    value: function format(name, value) {\n      if (name !== this.statics.blotName || !value) return _get(Link.prototype.__proto__ || Object.getPrototypeOf(Link.prototype), 'format', this).call(this, name, value);\n      value = this.constructor.sanitize(value);\n      this.domNode.setAttribute('href', value);\n    }\n  }], [{\n    key: 'create',\n    value: function create(value) {\n      var node = _get(Link.__proto__ || Object.getPrototypeOf(Link), 'create', this).call(this, value);\n      value = this.sanitize(value);\n      node.setAttribute('href', value);\n      node.setAttribute('rel', 'noopener noreferrer');\n      node.setAttribute('target', '_blank');\n      return node;\n    }\n  }, {\n    key: 'formats',\n    value: function formats(domNode) {\n      return domNode.getAttribute('href');\n    }\n  }, {\n    key: 'sanitize',\n    value: function sanitize(url) {\n      return _sanitize(url, this.PROTOCOL_WHITELIST) ? url : this.SANITIZED_URL;\n    }\n  }]);\n\n  return Link;\n}(_inline2.default);\n\nLink.blotName = 'link';\nLink.tagName = 'A';\nLink.SANITIZED_URL = 'about:blank';\nLink.PROTOCOL_WHITELIST = ['http', 'https', 'mailto', 'tel'];\n\nfunction _sanitize(url, protocols) {\n  var anchor = document.createElement('a');\n  anchor.href = url;\n  var protocol = anchor.href.slice(0, anchor.href.indexOf(':'));\n  return protocols.indexOf(protocol) > -1;\n}\n\nexports.default = Link;\nexports.sanitize = _sanitize;\n\n/***/ }),\n/* 28 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n  value: true\n});\n\nvar _typeof = typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; };\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _keyboard = __webpack_require__(23);\n\nvar _keyboard2 = _interopRequireDefault(_keyboard);\n\nvar _dropdown = __webpack_require__(107);\n\nvar _dropdown2 = _interopRequireDefault(_dropdown);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nvar optionsCounter = 0;\n\nfunction toggleAriaAttribute(element, attribute) {\n  element.setAttribute(attribute, !(element.getAttribute(attribute) === 'true'));\n}\n\nvar Picker = function () {\n  function Picker(select) {\n    var _this = this;\n\n    _classCallCheck(this, Picker);\n\n    this.select = select;\n    this.container = document.createElement('span');\n    this.buildPicker();\n    this.select.style.display = 'none';\n    this.select.parentNode.insertBefore(this.container, this.select);\n\n    this.label.addEventListener('mousedown', function () {\n      _this.togglePicker();\n    });\n    this.label.addEventListener('keydown', function (event) {\n      switch (event.keyCode) {\n        // Allows the \"Enter\" key to open the picker\n        case _keyboard2.default.keys.ENTER:\n          _this.togglePicker();\n          break;\n\n        // Allows the \"Escape\" key to close the picker\n        case _keyboard2.default.keys.ESCAPE:\n          _this.escape();\n          event.preventDefault();\n          break;\n        default:\n      }\n    });\n    this.select.addEventListener('change', this.update.bind(this));\n  }\n\n  _createClass(Picker, [{\n    key: 'togglePicker',\n    value: function togglePicker() {\n      this.container.classList.toggle('ql-expanded');\n      // Toggle aria-expanded and aria-hidden to make the picker accessible\n      toggleAriaAttribute(this.label, 'aria-expanded');\n      toggleAriaAttribute(this.options, 'aria-hidden');\n    }\n  }, {\n    key: 'buildItem',\n    value: function buildItem(option) {\n      var _this2 = this;\n\n      var item = document.createElement('span');\n      item.tabIndex = '0';\n      item.setAttribute('role', 'button');\n\n      item.classList.add('ql-picker-item');\n      if (option.hasAttribute('value')) {\n        item.setAttribute('data-value', option.getAttribute('value'));\n      }\n      if (option.textContent) {\n        item.setAttribute('data-label', option.textContent);\n      }\n      item.addEventListener('click', function () {\n        _this2.selectItem(item, true);\n      });\n      item.addEventListener('keydown', function (event) {\n        switch (event.keyCode) {\n          // Allows the \"Enter\" key to select an item\n          case _keyboard2.default.keys.ENTER:\n            _this2.selectItem(item, true);\n            event.preventDefault();\n            break;\n\n          // Allows the \"Escape\" key to close the picker\n          case _keyboard2.default.keys.ESCAPE:\n            _this2.escape();\n            event.preventDefault();\n            break;\n          default:\n        }\n      });\n\n      return item;\n    }\n  }, {\n    key: 'buildLabel',\n    value: function buildLabel() {\n      var label = document.createElement('span');\n      label.classList.add('ql-picker-label');\n      label.innerHTML = _dropdown2.default;\n      label.tabIndex = '0';\n      label.setAttribute('role', 'button');\n      label.setAttribute('aria-expanded', 'false');\n      this.container.appendChild(label);\n      return label;\n    }\n  }, {\n    key: 'buildOptions',\n    value: function buildOptions() {\n      var _this3 = this;\n\n      var options = document.createElement('span');\n      options.classList.add('ql-picker-options');\n\n      // Don't want screen readers to read this until options are visible\n      options.setAttribute('aria-hidden', 'true');\n      options.tabIndex = '-1';\n\n      // Need a unique id for aria-controls\n      options.id = 'ql-picker-options-' + optionsCounter;\n      optionsCounter += 1;\n      this.label.setAttribute('aria-controls', options.id);\n\n      this.options = options;\n\n      [].slice.call(this.select.options).forEach(function (option) {\n        var item = _this3.buildItem(option);\n        options.appendChild(item);\n        if (option.selected === true) {\n          _this3.selectItem(item);\n        }\n      });\n      this.container.appendChild(options);\n    }\n  }, {\n    key: 'buildPicker',\n    value: function buildPicker() {\n      var _this4 = this;\n\n      [].slice.call(this.select.attributes).forEach(function (item) {\n        _this4.container.setAttribute(item.name, item.value);\n      });\n      this.container.classList.add('ql-picker');\n      this.label = this.buildLabel();\n      this.buildOptions();\n    }\n  }, {\n    key: 'escape',\n    value: function escape() {\n      var _this5 = this;\n\n      // Close menu and return focus to trigger label\n      this.close();\n      // Need setTimeout for accessibility to ensure that the browser executes\n      // focus on the next process thread and after any DOM content changes\n      setTimeout(function () {\n        return _this5.label.focus();\n      }, 1);\n    }\n  }, {\n    key: 'close',\n    value: function close() {\n      this.container.classList.remove('ql-expanded');\n      this.label.setAttribute('aria-expanded', 'false');\n      this.options.setAttribute('aria-hidden', 'true');\n    }\n  }, {\n    key: 'selectItem',\n    value: function selectItem(item) {\n      var trigger = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;\n\n      var selected = this.container.querySelector('.ql-selected');\n      if (item === selected) return;\n      if (selected != null) {\n        selected.classList.remove('ql-selected');\n      }\n      if (item == null) return;\n      item.classList.add('ql-selected');\n      this.select.selectedIndex = [].indexOf.call(item.parentNode.children, item);\n      if (item.hasAttribute('data-value')) {\n        this.label.setAttribute('data-value', item.getAttribute('data-value'));\n      } else {\n        this.label.removeAttribute('data-value');\n      }\n      if (item.hasAttribute('data-label')) {\n        this.label.setAttribute('data-label', item.getAttribute('data-label'));\n      } else {\n        this.label.removeAttribute('data-label');\n      }\n      if (trigger) {\n        if (typeof Event === 'function') {\n          this.select.dispatchEvent(new Event('change'));\n        } else if ((typeof Event === 'undefined' ? 'undefined' : _typeof(Event)) === 'object') {\n          // IE11\n          var event = document.createEvent('Event');\n          event.initEvent('change', true, true);\n          this.select.dispatchEvent(event);\n        }\n        this.close();\n      }\n    }\n  }, {\n    key: 'update',\n    value: function update() {\n      var option = void 0;\n      if (this.select.selectedIndex > -1) {\n        var item = this.container.querySelector('.ql-picker-options').children[this.select.selectedIndex];\n        option = this.select.options[this.select.selectedIndex];\n        this.selectItem(item);\n      } else {\n        this.selectItem(null);\n      }\n      var isActive = option != null && option !== this.select.querySelector('option[selected]');\n      this.label.classList.toggle('ql-active', isActive);\n    }\n  }]);\n\n  return Picker;\n}();\n\nexports.default = Picker;\n\n/***/ }),\n/* 29 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n  value: true\n});\n\nvar _parchment = __webpack_require__(0);\n\nvar _parchment2 = _interopRequireDefault(_parchment);\n\nvar _quill = __webpack_require__(5);\n\nvar _quill2 = _interopRequireDefault(_quill);\n\nvar _block = __webpack_require__(4);\n\nvar _block2 = _interopRequireDefault(_block);\n\nvar _break = __webpack_require__(16);\n\nvar _break2 = _interopRequireDefault(_break);\n\nvar _container = __webpack_require__(25);\n\nvar _container2 = _interopRequireDefault(_container);\n\nvar _cursor = __webpack_require__(24);\n\nvar _cursor2 = _interopRequireDefault(_cursor);\n\nvar _embed = __webpack_require__(35);\n\nvar _embed2 = _interopRequireDefault(_embed);\n\nvar _inline = __webpack_require__(6);\n\nvar _inline2 = _interopRequireDefault(_inline);\n\nvar _scroll = __webpack_require__(22);\n\nvar _scroll2 = _interopRequireDefault(_scroll);\n\nvar _text = __webpack_require__(7);\n\nvar _text2 = _interopRequireDefault(_text);\n\nvar _clipboard = __webpack_require__(55);\n\nvar _clipboard2 = _interopRequireDefault(_clipboard);\n\nvar _history = __webpack_require__(42);\n\nvar _history2 = _interopRequireDefault(_history);\n\nvar _keyboard = __webpack_require__(23);\n\nvar _keyboard2 = _interopRequireDefault(_keyboard);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n_quill2.default.register({\n  'blots/block': _block2.default,\n  'blots/block/embed': _block.BlockEmbed,\n  'blots/break': _break2.default,\n  'blots/container': _container2.default,\n  'blots/cursor': _cursor2.default,\n  'blots/embed': _embed2.default,\n  'blots/inline': _inline2.default,\n  'blots/scroll': _scroll2.default,\n  'blots/text': _text2.default,\n\n  'modules/clipboard': _clipboard2.default,\n  'modules/history': _history2.default,\n  'modules/keyboard': _keyboard2.default\n});\n\n_parchment2.default.register(_block2.default, _break2.default, _cursor2.default, _inline2.default, _scroll2.default, _text2.default);\n\nexports.default = _quill2.default;\n\n/***/ }),\n/* 30 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar Registry = __webpack_require__(1);\nvar ShadowBlot = /** @class */ (function () {\n    function ShadowBlot(domNode) {\n        this.domNode = domNode;\n        // @ts-ignore\n        this.domNode[Registry.DATA_KEY] = { blot: this };\n    }\n    Object.defineProperty(ShadowBlot.prototype, \"statics\", {\n        // Hack for accessing inherited static methods\n        get: function () {\n            return this.constructor;\n        },\n        enumerable: true,\n        configurable: true\n    });\n    ShadowBlot.create = function (value) {\n        if (this.tagName == null) {\n            throw new Registry.ParchmentError('Blot definition missing tagName');\n        }\n        var node;\n        if (Array.isArray(this.tagName)) {\n            if (typeof value === 'string') {\n                value = value.toUpperCase();\n                if (parseInt(value).toString() === value) {\n                    value = parseInt(value);\n                }\n            }\n            if (typeof value === 'number') {\n                node = document.createElement(this.tagName[value - 1]);\n            }\n            else if (this.tagName.indexOf(value) > -1) {\n                node = document.createElement(value);\n            }\n            else {\n                node = document.createElement(this.tagName[0]);\n            }\n        }\n        else {\n            node = document.createElement(this.tagName);\n        }\n        if (this.className) {\n            node.classList.add(this.className);\n        }\n        return node;\n    };\n    ShadowBlot.prototype.attach = function () {\n        if (this.parent != null) {\n            this.scroll = this.parent.scroll;\n        }\n    };\n    ShadowBlot.prototype.clone = function () {\n        var domNode = this.domNode.cloneNode(false);\n        return Registry.create(domNode);\n    };\n    ShadowBlot.prototype.detach = function () {\n        if (this.parent != null)\n            this.parent.removeChild(this);\n        // @ts-ignore\n        delete this.domNode[Registry.DATA_KEY];\n    };\n    ShadowBlot.prototype.deleteAt = function (index, length) {\n        var blot = this.isolate(index, length);\n        blot.remove();\n    };\n    ShadowBlot.prototype.formatAt = function (index, length, name, value) {\n        var blot = this.isolate(index, length);\n        if (Registry.query(name, Registry.Scope.BLOT) != null && value) {\n            blot.wrap(name, value);\n        }\n        else if (Registry.query(name, Registry.Scope.ATTRIBUTE) != null) {\n            var parent = Registry.create(this.statics.scope);\n            blot.wrap(parent);\n            parent.format(name, value);\n        }\n    };\n    ShadowBlot.prototype.insertAt = function (index, value, def) {\n        var blot = def == null ? Registry.create('text', value) : Registry.create(value, def);\n        var ref = this.split(index);\n        this.parent.insertBefore(blot, ref);\n    };\n    ShadowBlot.prototype.insertInto = function (parentBlot, refBlot) {\n        if (refBlot === void 0) { refBlot = null; }\n        if (this.parent != null) {\n            this.parent.children.remove(this);\n        }\n        var refDomNode = null;\n        parentBlot.children.insertBefore(this, refBlot);\n        if (refBlot != null) {\n            refDomNode = refBlot.domNode;\n        }\n        if (this.domNode.parentNode != parentBlot.domNode ||\n            this.domNode.nextSibling != refDomNode) {\n            parentBlot.domNode.insertBefore(this.domNode, refDomNode);\n        }\n        this.parent = parentBlot;\n        this.attach();\n    };\n    ShadowBlot.prototype.isolate = function (index, length) {\n        var target = this.split(index);\n        target.split(length);\n        return target;\n    };\n    ShadowBlot.prototype.length = function () {\n        return 1;\n    };\n    ShadowBlot.prototype.offset = function (root) {\n        if (root === void 0) { root = this.parent; }\n        if (this.parent == null || this == root)\n            return 0;\n        return this.parent.children.offset(this) + this.parent.offset(root);\n    };\n    ShadowBlot.prototype.optimize = function (context) {\n        // TODO clean up once we use WeakMap\n        // @ts-ignore\n        if (this.domNode[Registry.DATA_KEY] != null) {\n            // @ts-ignore\n            delete this.domNode[Registry.DATA_KEY].mutations;\n        }\n    };\n    ShadowBlot.prototype.remove = function () {\n        if (this.domNode.parentNode != null) {\n            this.domNode.parentNode.removeChild(this.domNode);\n        }\n        this.detach();\n    };\n    ShadowBlot.prototype.replace = function (target) {\n        if (target.parent == null)\n            return;\n        target.parent.insertBefore(this, target.next);\n        target.remove();\n    };\n    ShadowBlot.prototype.replaceWith = function (name, value) {\n        var replacement = typeof name === 'string' ? Registry.create(name, value) : name;\n        replacement.replace(this);\n        return replacement;\n    };\n    ShadowBlot.prototype.split = function (index, force) {\n        return index === 0 ? this : this.next;\n    };\n    ShadowBlot.prototype.update = function (mutations, context) {\n        // Nothing to do by default\n    };\n    ShadowBlot.prototype.wrap = function (name, value) {\n        var wrapper = typeof name === 'string' ? Registry.create(name, value) : name;\n        if (this.parent != null) {\n            this.parent.insertBefore(wrapper, this.next);\n        }\n        wrapper.appendChild(this);\n        return wrapper;\n    };\n    ShadowBlot.blotName = 'abstract';\n    return ShadowBlot;\n}());\nexports.default = ShadowBlot;\n\n\n/***/ }),\n/* 31 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar attributor_1 = __webpack_require__(12);\nvar class_1 = __webpack_require__(32);\nvar style_1 = __webpack_require__(33);\nvar Registry = __webpack_require__(1);\nvar AttributorStore = /** @class */ (function () {\n    function AttributorStore(domNode) {\n        this.attributes = {};\n        this.domNode = domNode;\n        this.build();\n    }\n    AttributorStore.prototype.attribute = function (attribute, value) {\n        // verb\n        if (value) {\n            if (attribute.add(this.domNode, value)) {\n                if (attribute.value(this.domNode) != null) {\n                    this.attributes[attribute.attrName] = attribute;\n                }\n                else {\n                    delete this.attributes[attribute.attrName];\n                }\n            }\n        }\n        else {\n            attribute.remove(this.domNode);\n            delete this.attributes[attribute.attrName];\n        }\n    };\n    AttributorStore.prototype.build = function () {\n        var _this = this;\n        this.attributes = {};\n        var attributes = attributor_1.default.keys(this.domNode);\n        var classes = class_1.default.keys(this.domNode);\n        var styles = style_1.default.keys(this.domNode);\n        attributes\n            .concat(classes)\n            .concat(styles)\n            .forEach(function (name) {\n            var attr = Registry.query(name, Registry.Scope.ATTRIBUTE);\n            if (attr instanceof attributor_1.default) {\n                _this.attributes[attr.attrName] = attr;\n            }\n        });\n    };\n    AttributorStore.prototype.copy = function (target) {\n        var _this = this;\n        Object.keys(this.attributes).forEach(function (key) {\n            var value = _this.attributes[key].value(_this.domNode);\n            target.format(key, value);\n        });\n    };\n    AttributorStore.prototype.move = function (target) {\n        var _this = this;\n        this.copy(target);\n        Object.keys(this.attributes).forEach(function (key) {\n            _this.attributes[key].remove(_this.domNode);\n        });\n        this.attributes = {};\n    };\n    AttributorStore.prototype.values = function () {\n        var _this = this;\n        return Object.keys(this.attributes).reduce(function (attributes, name) {\n            attributes[name] = _this.attributes[name].value(_this.domNode);\n            return attributes;\n        }, {});\n    };\n    return AttributorStore;\n}());\nexports.default = AttributorStore;\n\n\n/***/ }),\n/* 32 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nvar __extends = (this && this.__extends) || (function () {\n    var extendStatics = Object.setPrototypeOf ||\n        ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n        function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n    return function (d, b) {\n        extendStatics(d, b);\n        function __() { this.constructor = d; }\n        d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n    };\n})();\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar attributor_1 = __webpack_require__(12);\nfunction match(node, prefix) {\n    var className = node.getAttribute('class') || '';\n    return className.split(/\\s+/).filter(function (name) {\n        return name.indexOf(prefix + \"-\") === 0;\n    });\n}\nvar ClassAttributor = /** @class */ (function (_super) {\n    __extends(ClassAttributor, _super);\n    function ClassAttributor() {\n        return _super !== null && _super.apply(this, arguments) || this;\n    }\n    ClassAttributor.keys = function (node) {\n        return (node.getAttribute('class') || '').split(/\\s+/).map(function (name) {\n            return name\n                .split('-')\n                .slice(0, -1)\n                .join('-');\n        });\n    };\n    ClassAttributor.prototype.add = function (node, value) {\n        if (!this.canAdd(node, value))\n            return false;\n        this.remove(node);\n        node.classList.add(this.keyName + \"-\" + value);\n        return true;\n    };\n    ClassAttributor.prototype.remove = function (node) {\n        var matches = match(node, this.keyName);\n        matches.forEach(function (name) {\n            node.classList.remove(name);\n        });\n        if (node.classList.length === 0) {\n            node.removeAttribute('class');\n        }\n    };\n    ClassAttributor.prototype.value = function (node) {\n        var result = match(node, this.keyName)[0] || '';\n        var value = result.slice(this.keyName.length + 1); // +1 for hyphen\n        return this.canAdd(node, value) ? value : '';\n    };\n    return ClassAttributor;\n}(attributor_1.default));\nexports.default = ClassAttributor;\n\n\n/***/ }),\n/* 33 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nvar __extends = (this && this.__extends) || (function () {\n    var extendStatics = Object.setPrototypeOf ||\n        ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n        function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n    return function (d, b) {\n        extendStatics(d, b);\n        function __() { this.constructor = d; }\n        d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n    };\n})();\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar attributor_1 = __webpack_require__(12);\nfunction camelize(name) {\n    var parts = name.split('-');\n    var rest = parts\n        .slice(1)\n        .map(function (part) {\n        return part[0].toUpperCase() + part.slice(1);\n    })\n        .join('');\n    return parts[0] + rest;\n}\nvar StyleAttributor = /** @class */ (function (_super) {\n    __extends(StyleAttributor, _super);\n    function StyleAttributor() {\n        return _super !== null && _super.apply(this, arguments) || this;\n    }\n    StyleAttributor.keys = function (node) {\n        return (node.getAttribute('style') || '').split(';').map(function (value) {\n            var arr = value.split(':');\n            return arr[0].trim();\n        });\n    };\n    StyleAttributor.prototype.add = function (node, value) {\n        if (!this.canAdd(node, value))\n            return false;\n        // @ts-ignore\n        node.style[camelize(this.keyName)] = value;\n        return true;\n    };\n    StyleAttributor.prototype.remove = function (node) {\n        // @ts-ignore\n        node.style[camelize(this.keyName)] = '';\n        if (!node.getAttribute('style')) {\n            node.removeAttribute('style');\n        }\n    };\n    StyleAttributor.prototype.value = function (node) {\n        // @ts-ignore\n        var value = node.style[camelize(this.keyName)];\n        return this.canAdd(node, value) ? value : '';\n    };\n    return StyleAttributor;\n}(attributor_1.default));\nexports.default = StyleAttributor;\n\n\n/***/ }),\n/* 34 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n  value: true\n});\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nvar Theme = function () {\n  function Theme(quill, options) {\n    _classCallCheck(this, Theme);\n\n    this.quill = quill;\n    this.options = options;\n    this.modules = {};\n  }\n\n  _createClass(Theme, [{\n    key: 'init',\n    value: function init() {\n      var _this = this;\n\n      Object.keys(this.options.modules).forEach(function (name) {\n        if (_this.modules[name] == null) {\n          _this.addModule(name);\n        }\n      });\n    }\n  }, {\n    key: 'addModule',\n    value: function addModule(name) {\n      var moduleClass = this.quill.constructor.import('modules/' + name);\n      this.modules[name] = new moduleClass(this.quill, this.options.modules[name] || {});\n      return this.modules[name];\n    }\n  }]);\n\n  return Theme;\n}();\n\nTheme.DEFAULTS = {\n  modules: {}\n};\nTheme.themes = {\n  'default': Theme\n};\n\nexports.default = Theme;\n\n/***/ }),\n/* 35 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n  value: true\n});\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _get = function get(object, property, receiver) { if (object === null) object = Function.prototype; var desc = Object.getOwnPropertyDescriptor(object, property); if (desc === undefined) { var parent = Object.getPrototypeOf(object); if (parent === null) { return undefined; } else { return get(parent, property, receiver); } } else if (\"value\" in desc) { return desc.value; } else { var getter = desc.get; if (getter === undefined) { return undefined; } return getter.call(receiver); } };\n\nvar _parchment = __webpack_require__(0);\n\nvar _parchment2 = _interopRequireDefault(_parchment);\n\nvar _text = __webpack_require__(7);\n\nvar _text2 = _interopRequireDefault(_text);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\nvar GUARD_TEXT = '\\uFEFF';\n\nvar Embed = function (_Parchment$Embed) {\n  _inherits(Embed, _Parchment$Embed);\n\n  function Embed(node) {\n    _classCallCheck(this, Embed);\n\n    var _this = _possibleConstructorReturn(this, (Embed.__proto__ || Object.getPrototypeOf(Embed)).call(this, node));\n\n    _this.contentNode = document.createElement('span');\n    _this.contentNode.setAttribute('contenteditable', false);\n    [].slice.call(_this.domNode.childNodes).forEach(function (childNode) {\n      _this.contentNode.appendChild(childNode);\n    });\n    _this.leftGuard = document.createTextNode(GUARD_TEXT);\n    _this.rightGuard = document.createTextNode(GUARD_TEXT);\n    _this.domNode.appendChild(_this.leftGuard);\n    _this.domNode.appendChild(_this.contentNode);\n    _this.domNode.appendChild(_this.rightGuard);\n    return _this;\n  }\n\n  _createClass(Embed, [{\n    key: 'index',\n    value: function index(node, offset) {\n      if (node === this.leftGuard) return 0;\n      if (node === this.rightGuard) return 1;\n      return _get(Embed.prototype.__proto__ || Object.getPrototypeOf(Embed.prototype), 'index', this).call(this, node, offset);\n    }\n  }, {\n    key: 'restore',\n    value: function restore(node) {\n      var range = void 0,\n          textNode = void 0;\n      var text = node.data.split(GUARD_TEXT).join('');\n      if (node === this.leftGuard) {\n        if (this.prev instanceof _text2.default) {\n          var prevLength = this.prev.length();\n          this.prev.insertAt(prevLength, text);\n          range = {\n            startNode: this.prev.domNode,\n            startOffset: prevLength + text.length\n          };\n        } else {\n          textNode = document.createTextNode(text);\n          this.parent.insertBefore(_parchment2.default.create(textNode), this);\n          range = {\n            startNode: textNode,\n            startOffset: text.length\n          };\n        }\n      } else if (node === this.rightGuard) {\n        if (this.next instanceof _text2.default) {\n          this.next.insertAt(0, text);\n          range = {\n            startNode: this.next.domNode,\n            startOffset: text.length\n          };\n        } else {\n          textNode = document.createTextNode(text);\n          this.parent.insertBefore(_parchment2.default.create(textNode), this.next);\n          range = {\n            startNode: textNode,\n            startOffset: text.length\n          };\n        }\n      }\n      node.data = GUARD_TEXT;\n      return range;\n    }\n  }, {\n    key: 'update',\n    value: function update(mutations, context) {\n      var _this2 = this;\n\n      mutations.forEach(function (mutation) {\n        if (mutation.type === 'characterData' && (mutation.target === _this2.leftGuard || mutation.target === _this2.rightGuard)) {\n          var range = _this2.restore(mutation.target);\n          if (range) context.range = range;\n        }\n      });\n    }\n  }]);\n\n  return Embed;\n}(_parchment2.default.Embed);\n\nexports.default = Embed;\n\n/***/ }),\n/* 36 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n  value: true\n});\nexports.AlignStyle = exports.AlignClass = exports.AlignAttribute = undefined;\n\nvar _parchment = __webpack_require__(0);\n\nvar _parchment2 = _interopRequireDefault(_parchment);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar config = {\n  scope: _parchment2.default.Scope.BLOCK,\n  whitelist: ['right', 'center', 'justify']\n};\n\nvar AlignAttribute = new _parchment2.default.Attributor.Attribute('align', 'align', config);\nvar AlignClass = new _parchment2.default.Attributor.Class('align', 'ql-align', config);\nvar AlignStyle = new _parchment2.default.Attributor.Style('align', 'text-align', config);\n\nexports.AlignAttribute = AlignAttribute;\nexports.AlignClass = AlignClass;\nexports.AlignStyle = AlignStyle;\n\n/***/ }),\n/* 37 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n  value: true\n});\nexports.BackgroundStyle = exports.BackgroundClass = undefined;\n\nvar _parchment = __webpack_require__(0);\n\nvar _parchment2 = _interopRequireDefault(_parchment);\n\nvar _color = __webpack_require__(26);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar BackgroundClass = new _parchment2.default.Attributor.Class('background', 'ql-bg', {\n  scope: _parchment2.default.Scope.INLINE\n});\nvar BackgroundStyle = new _color.ColorAttributor('background', 'background-color', {\n  scope: _parchment2.default.Scope.INLINE\n});\n\nexports.BackgroundClass = BackgroundClass;\nexports.BackgroundStyle = BackgroundStyle;\n\n/***/ }),\n/* 38 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n  value: true\n});\nexports.DirectionStyle = exports.DirectionClass = exports.DirectionAttribute = undefined;\n\nvar _parchment = __webpack_require__(0);\n\nvar _parchment2 = _interopRequireDefault(_parchment);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar config = {\n  scope: _parchment2.default.Scope.BLOCK,\n  whitelist: ['rtl']\n};\n\nvar DirectionAttribute = new _parchment2.default.Attributor.Attribute('direction', 'dir', config);\nvar DirectionClass = new _parchment2.default.Attributor.Class('direction', 'ql-direction', config);\nvar DirectionStyle = new _parchment2.default.Attributor.Style('direction', 'direction', config);\n\nexports.DirectionAttribute = DirectionAttribute;\nexports.DirectionClass = DirectionClass;\nexports.DirectionStyle = DirectionStyle;\n\n/***/ }),\n/* 39 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n  value: true\n});\nexports.FontClass = exports.FontStyle = undefined;\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _get = function get(object, property, receiver) { if (object === null) object = Function.prototype; var desc = Object.getOwnPropertyDescriptor(object, property); if (desc === undefined) { var parent = Object.getPrototypeOf(object); if (parent === null) { return undefined; } else { return get(parent, property, receiver); } } else if (\"value\" in desc) { return desc.value; } else { var getter = desc.get; if (getter === undefined) { return undefined; } return getter.call(receiver); } };\n\nvar _parchment = __webpack_require__(0);\n\nvar _parchment2 = _interopRequireDefault(_parchment);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\nvar config = {\n  scope: _parchment2.default.Scope.INLINE,\n  whitelist: ['serif', 'monospace']\n};\n\nvar FontClass = new _parchment2.default.Attributor.Class('font', 'ql-font', config);\n\nvar FontStyleAttributor = function (_Parchment$Attributor) {\n  _inherits(FontStyleAttributor, _Parchment$Attributor);\n\n  function FontStyleAttributor() {\n    _classCallCheck(this, FontStyleAttributor);\n\n    return _possibleConstructorReturn(this, (FontStyleAttributor.__proto__ || Object.getPrototypeOf(FontStyleAttributor)).apply(this, arguments));\n  }\n\n  _createClass(FontStyleAttributor, [{\n    key: 'value',\n    value: function value(node) {\n      return _get(FontStyleAttributor.prototype.__proto__ || Object.getPrototypeOf(FontStyleAttributor.prototype), 'value', this).call(this, node).replace(/[\"']/g, '');\n    }\n  }]);\n\n  return FontStyleAttributor;\n}(_parchment2.default.Attributor.Style);\n\nvar FontStyle = new FontStyleAttributor('font', 'font-family', config);\n\nexports.FontStyle = FontStyle;\nexports.FontClass = FontClass;\n\n/***/ }),\n/* 40 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n  value: true\n});\nexports.SizeStyle = exports.SizeClass = undefined;\n\nvar _parchment = __webpack_require__(0);\n\nvar _parchment2 = _interopRequireDefault(_parchment);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar SizeClass = new _parchment2.default.Attributor.Class('size', 'ql-size', {\n  scope: _parchment2.default.Scope.INLINE,\n  whitelist: ['small', 'large', 'huge']\n});\nvar SizeStyle = new _parchment2.default.Attributor.Style('size', 'font-size', {\n  scope: _parchment2.default.Scope.INLINE,\n  whitelist: ['10px', '18px', '32px']\n});\n\nexports.SizeClass = SizeClass;\nexports.SizeStyle = SizeStyle;\n\n/***/ }),\n/* 41 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nmodule.exports = {\n  'align': {\n    '': __webpack_require__(76),\n    'center': __webpack_require__(77),\n    'right': __webpack_require__(78),\n    'justify': __webpack_require__(79)\n  },\n  'background': __webpack_require__(80),\n  'blockquote': __webpack_require__(81),\n  'bold': __webpack_require__(82),\n  'clean': __webpack_require__(83),\n  'code': __webpack_require__(58),\n  'code-block': __webpack_require__(58),\n  'color': __webpack_require__(84),\n  'direction': {\n    '': __webpack_require__(85),\n    'rtl': __webpack_require__(86)\n  },\n  'float': {\n    'center': __webpack_require__(87),\n    'full': __webpack_require__(88),\n    'left': __webpack_require__(89),\n    'right': __webpack_require__(90)\n  },\n  'formula': __webpack_require__(91),\n  'header': {\n    '1': __webpack_require__(92),\n    '2': __webpack_require__(93)\n  },\n  'italic': __webpack_require__(94),\n  'image': __webpack_require__(95),\n  'indent': {\n    '+1': __webpack_require__(96),\n    '-1': __webpack_require__(97)\n  },\n  'link': __webpack_require__(98),\n  'list': {\n    'ordered': __webpack_require__(99),\n    'bullet': __webpack_require__(100),\n    'check': __webpack_require__(101)\n  },\n  'script': {\n    'sub': __webpack_require__(102),\n    'super': __webpack_require__(103)\n  },\n  'strike': __webpack_require__(104),\n  'underline': __webpack_require__(105),\n  'video': __webpack_require__(106)\n};\n\n/***/ }),\n/* 42 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n  value: true\n});\nexports.getLastChangeIndex = exports.default = undefined;\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _parchment = __webpack_require__(0);\n\nvar _parchment2 = _interopRequireDefault(_parchment);\n\nvar _quill = __webpack_require__(5);\n\nvar _quill2 = _interopRequireDefault(_quill);\n\nvar _module = __webpack_require__(9);\n\nvar _module2 = _interopRequireDefault(_module);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\nvar History = function (_Module) {\n  _inherits(History, _Module);\n\n  function History(quill, options) {\n    _classCallCheck(this, History);\n\n    var _this = _possibleConstructorReturn(this, (History.__proto__ || Object.getPrototypeOf(History)).call(this, quill, options));\n\n    _this.lastRecorded = 0;\n    _this.ignoreChange = false;\n    _this.clear();\n    _this.quill.on(_quill2.default.events.EDITOR_CHANGE, function (eventName, delta, oldDelta, source) {\n      if (eventName !== _quill2.default.events.TEXT_CHANGE || _this.ignoreChange) return;\n      if (!_this.options.userOnly || source === _quill2.default.sources.USER) {\n        _this.record(delta, oldDelta);\n      } else {\n        _this.transform(delta);\n      }\n    });\n    _this.quill.keyboard.addBinding({ key: 'Z', shortKey: true }, _this.undo.bind(_this));\n    _this.quill.keyboard.addBinding({ key: 'Z', shortKey: true, shiftKey: true }, _this.redo.bind(_this));\n    if (/Win/i.test(navigator.platform)) {\n      _this.quill.keyboard.addBinding({ key: 'Y', shortKey: true }, _this.redo.bind(_this));\n    }\n    return _this;\n  }\n\n  _createClass(History, [{\n    key: 'change',\n    value: function change(source, dest) {\n      if (this.stack[source].length === 0) return;\n      var delta = this.stack[source].pop();\n      this.stack[dest].push(delta);\n      this.lastRecorded = 0;\n      this.ignoreChange = true;\n      this.quill.updateContents(delta[source], _quill2.default.sources.USER);\n      this.ignoreChange = false;\n      var index = getLastChangeIndex(delta[source]);\n      this.quill.setSelection(index);\n    }\n  }, {\n    key: 'clear',\n    value: function clear() {\n      this.stack = { undo: [], redo: [] };\n    }\n  }, {\n    key: 'cutoff',\n    value: function cutoff() {\n      this.lastRecorded = 0;\n    }\n  }, {\n    key: 'record',\n    value: function record(changeDelta, oldDelta) {\n      if (changeDelta.ops.length === 0) return;\n      this.stack.redo = [];\n      var undoDelta = this.quill.getContents().diff(oldDelta);\n      var timestamp = Date.now();\n      if (this.lastRecorded + this.options.delay > timestamp && this.stack.undo.length > 0) {\n        var delta = this.stack.undo.pop();\n        undoDelta = undoDelta.compose(delta.undo);\n        changeDelta = delta.redo.compose(changeDelta);\n      } else {\n        this.lastRecorded = timestamp;\n      }\n      this.stack.undo.push({\n        redo: changeDelta,\n        undo: undoDelta\n      });\n      if (this.stack.undo.length > this.options.maxStack) {\n        this.stack.undo.shift();\n      }\n    }\n  }, {\n    key: 'redo',\n    value: function redo() {\n      this.change('redo', 'undo');\n    }\n  }, {\n    key: 'transform',\n    value: function transform(delta) {\n      this.stack.undo.forEach(function (change) {\n        change.undo = delta.transform(change.undo, true);\n        change.redo = delta.transform(change.redo, true);\n      });\n      this.stack.redo.forEach(function (change) {\n        change.undo = delta.transform(change.undo, true);\n        change.redo = delta.transform(change.redo, true);\n      });\n    }\n  }, {\n    key: 'undo',\n    value: function undo() {\n      this.change('undo', 'redo');\n    }\n  }]);\n\n  return History;\n}(_module2.default);\n\nHistory.DEFAULTS = {\n  delay: 1000,\n  maxStack: 100,\n  userOnly: false\n};\n\nfunction endsWithNewlineChange(delta) {\n  var lastOp = delta.ops[delta.ops.length - 1];\n  if (lastOp == null) return false;\n  if (lastOp.insert != null) {\n    return typeof lastOp.insert === 'string' && lastOp.insert.endsWith('\\n');\n  }\n  if (lastOp.attributes != null) {\n    return Object.keys(lastOp.attributes).some(function (attr) {\n      return _parchment2.default.query(attr, _parchment2.default.Scope.BLOCK) != null;\n    });\n  }\n  return false;\n}\n\nfunction getLastChangeIndex(delta) {\n  var deleteLength = delta.reduce(function (length, op) {\n    length += op.delete || 0;\n    return length;\n  }, 0);\n  var changeIndex = delta.length() - deleteLength;\n  if (endsWithNewlineChange(delta)) {\n    changeIndex -= 1;\n  }\n  return changeIndex;\n}\n\nexports.default = History;\nexports.getLastChangeIndex = getLastChangeIndex;\n\n/***/ }),\n/* 43 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n  value: true\n});\nexports.default = exports.BaseTooltip = undefined;\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _get = function get(object, property, receiver) { if (object === null) object = Function.prototype; var desc = Object.getOwnPropertyDescriptor(object, property); if (desc === undefined) { var parent = Object.getPrototypeOf(object); if (parent === null) { return undefined; } else { return get(parent, property, receiver); } } else if (\"value\" in desc) { return desc.value; } else { var getter = desc.get; if (getter === undefined) { return undefined; } return getter.call(receiver); } };\n\nvar _extend = __webpack_require__(3);\n\nvar _extend2 = _interopRequireDefault(_extend);\n\nvar _quillDelta = __webpack_require__(2);\n\nvar _quillDelta2 = _interopRequireDefault(_quillDelta);\n\nvar _emitter = __webpack_require__(8);\n\nvar _emitter2 = _interopRequireDefault(_emitter);\n\nvar _keyboard = __webpack_require__(23);\n\nvar _keyboard2 = _interopRequireDefault(_keyboard);\n\nvar _theme = __webpack_require__(34);\n\nvar _theme2 = _interopRequireDefault(_theme);\n\nvar _colorPicker = __webpack_require__(59);\n\nvar _colorPicker2 = _interopRequireDefault(_colorPicker);\n\nvar _iconPicker = __webpack_require__(60);\n\nvar _iconPicker2 = _interopRequireDefault(_iconPicker);\n\nvar _picker = __webpack_require__(28);\n\nvar _picker2 = _interopRequireDefault(_picker);\n\nvar _tooltip = __webpack_require__(61);\n\nvar _tooltip2 = _interopRequireDefault(_tooltip);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\nvar ALIGNS = [false, 'center', 'right', 'justify'];\n\nvar COLORS = [\"#000000\", \"#e60000\", \"#ff9900\", \"#ffff00\", \"#008a00\", \"#0066cc\", \"#9933ff\", \"#ffffff\", \"#facccc\", \"#ffebcc\", \"#ffffcc\", \"#cce8cc\", \"#cce0f5\", \"#ebd6ff\", \"#bbbbbb\", \"#f06666\", \"#ffc266\", \"#ffff66\", \"#66b966\", \"#66a3e0\", \"#c285ff\", \"#888888\", \"#a10000\", \"#b26b00\", \"#b2b200\", \"#006100\", \"#0047b2\", \"#6b24b2\", \"#444444\", \"#5c0000\", \"#663d00\", \"#666600\", \"#003700\", \"#002966\", \"#3d1466\"];\n\nvar FONTS = [false, 'serif', 'monospace'];\n\nvar HEADERS = ['1', '2', '3', false];\n\nvar SIZES = ['small', false, 'large', 'huge'];\n\nvar BaseTheme = function (_Theme) {\n  _inherits(BaseTheme, _Theme);\n\n  function BaseTheme(quill, options) {\n    _classCallCheck(this, BaseTheme);\n\n    var _this = _possibleConstructorReturn(this, (BaseTheme.__proto__ || Object.getPrototypeOf(BaseTheme)).call(this, quill, options));\n\n    var listener = function listener(e) {\n      if (!document.body.contains(quill.root)) {\n        return document.body.removeEventListener('click', listener);\n      }\n      if (_this.tooltip != null && !_this.tooltip.root.contains(e.target) && document.activeElement !== _this.tooltip.textbox && !_this.quill.hasFocus()) {\n        _this.tooltip.hide();\n      }\n      if (_this.pickers != null) {\n        _this.pickers.forEach(function (picker) {\n          if (!picker.container.contains(e.target)) {\n            picker.close();\n          }\n        });\n      }\n    };\n    quill.emitter.listenDOM('click', document.body, listener);\n    return _this;\n  }\n\n  _createClass(BaseTheme, [{\n    key: 'addModule',\n    value: function addModule(name) {\n      var module = _get(BaseTheme.prototype.__proto__ || Object.getPrototypeOf(BaseTheme.prototype), 'addModule', this).call(this, name);\n      if (name === 'toolbar') {\n        this.extendToolbar(module);\n      }\n      return module;\n    }\n  }, {\n    key: 'buildButtons',\n    value: function buildButtons(buttons, icons) {\n      buttons.forEach(function (button) {\n        var className = button.getAttribute('class') || '';\n        className.split(/\\s+/).forEach(function (name) {\n          if (!name.startsWith('ql-')) return;\n          name = name.slice('ql-'.length);\n          if (icons[name] == null) return;\n          if (name === 'direction') {\n            button.innerHTML = icons[name][''] + icons[name]['rtl'];\n          } else if (typeof icons[name] === 'string') {\n            button.innerHTML = icons[name];\n          } else {\n            var value = button.value || '';\n            if (value != null && icons[name][value]) {\n              button.innerHTML = icons[name][value];\n            }\n          }\n        });\n      });\n    }\n  }, {\n    key: 'buildPickers',\n    value: function buildPickers(selects, icons) {\n      var _this2 = this;\n\n      this.pickers = selects.map(function (select) {\n        if (select.classList.contains('ql-align')) {\n          if (select.querySelector('option') == null) {\n            fillSelect(select, ALIGNS);\n          }\n          return new _iconPicker2.default(select, icons.align);\n        } else if (select.classList.contains('ql-background') || select.classList.contains('ql-color')) {\n          var format = select.classList.contains('ql-background') ? 'background' : 'color';\n          if (select.querySelector('option') == null) {\n            fillSelect(select, COLORS, format === 'background' ? '#ffffff' : '#000000');\n          }\n          return new _colorPicker2.default(select, icons[format]);\n        } else {\n          if (select.querySelector('option') == null) {\n            if (select.classList.contains('ql-font')) {\n              fillSelect(select, FONTS);\n            } else if (select.classList.contains('ql-header')) {\n              fillSelect(select, HEADERS);\n            } else if (select.classList.contains('ql-size')) {\n              fillSelect(select, SIZES);\n            }\n          }\n          return new _picker2.default(select);\n        }\n      });\n      var update = function update() {\n        _this2.pickers.forEach(function (picker) {\n          picker.update();\n        });\n      };\n      this.quill.on(_emitter2.default.events.EDITOR_CHANGE, update);\n    }\n  }]);\n\n  return BaseTheme;\n}(_theme2.default);\n\nBaseTheme.DEFAULTS = (0, _extend2.default)(true, {}, _theme2.default.DEFAULTS, {\n  modules: {\n    toolbar: {\n      handlers: {\n        formula: function formula() {\n          this.quill.theme.tooltip.edit('formula');\n        },\n        image: function image() {\n          var _this3 = this;\n\n          var fileInput = this.container.querySelector('input.ql-image[type=file]');\n          if (fileInput == null) {\n            fileInput = document.createElement('input');\n            fileInput.setAttribute('type', 'file');\n            fileInput.setAttribute('accept', 'image/png, image/gif, image/jpeg, image/bmp, image/x-icon');\n            fileInput.classList.add('ql-image');\n            fileInput.addEventListener('change', function () {\n              if (fileInput.files != null && fileInput.files[0] != null) {\n                var reader = new FileReader();\n                reader.onload = function (e) {\n                  var range = _this3.quill.getSelection(true);\n                  _this3.quill.updateContents(new _quillDelta2.default().retain(range.index).delete(range.length).insert({ image: e.target.result }), _emitter2.default.sources.USER);\n                  _this3.quill.setSelection(range.index + 1, _emitter2.default.sources.SILENT);\n                  fileInput.value = \"\";\n                };\n                reader.readAsDataURL(fileInput.files[0]);\n              }\n            });\n            this.container.appendChild(fileInput);\n          }\n          fileInput.click();\n        },\n        video: function video() {\n          this.quill.theme.tooltip.edit('video');\n        }\n      }\n    }\n  }\n});\n\nvar BaseTooltip = function (_Tooltip) {\n  _inherits(BaseTooltip, _Tooltip);\n\n  function BaseTooltip(quill, boundsContainer) {\n    _classCallCheck(this, BaseTooltip);\n\n    var _this4 = _possibleConstructorReturn(this, (BaseTooltip.__proto__ || Object.getPrototypeOf(BaseTooltip)).call(this, quill, boundsContainer));\n\n    _this4.textbox = _this4.root.querySelector('input[type=\"text\"]');\n    _this4.listen();\n    return _this4;\n  }\n\n  _createClass(BaseTooltip, [{\n    key: 'listen',\n    value: function listen() {\n      var _this5 = this;\n\n      this.textbox.addEventListener('keydown', function (event) {\n        if (_keyboard2.default.match(event, 'enter')) {\n          _this5.save();\n          event.preventDefault();\n        } else if (_keyboard2.default.match(event, 'escape')) {\n          _this5.cancel();\n          event.preventDefault();\n        }\n      });\n    }\n  }, {\n    key: 'cancel',\n    value: function cancel() {\n      this.hide();\n    }\n  }, {\n    key: 'edit',\n    value: function edit() {\n      var mode = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 'link';\n      var preview = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : null;\n\n      this.root.classList.remove('ql-hidden');\n      this.root.classList.add('ql-editing');\n      if (preview != null) {\n        this.textbox.value = preview;\n      } else if (mode !== this.root.getAttribute('data-mode')) {\n        this.textbox.value = '';\n      }\n      this.position(this.quill.getBounds(this.quill.selection.savedRange));\n      this.textbox.select();\n      this.textbox.setAttribute('placeholder', this.textbox.getAttribute('data-' + mode) || '');\n      this.root.setAttribute('data-mode', mode);\n    }\n  }, {\n    key: 'restoreFocus',\n    value: function restoreFocus() {\n      var scrollTop = this.quill.scrollingContainer.scrollTop;\n      this.quill.focus();\n      this.quill.scrollingContainer.scrollTop = scrollTop;\n    }\n  }, {\n    key: 'save',\n    value: function save() {\n      var value = this.textbox.value;\n      switch (this.root.getAttribute('data-mode')) {\n        case 'link':\n          {\n            var scrollTop = this.quill.root.scrollTop;\n            if (this.linkRange) {\n              this.quill.formatText(this.linkRange, 'link', value, _emitter2.default.sources.USER);\n              delete this.linkRange;\n            } else {\n              this.restoreFocus();\n              this.quill.format('link', value, _emitter2.default.sources.USER);\n            }\n            this.quill.root.scrollTop = scrollTop;\n            break;\n          }\n        case 'video':\n          {\n            value = extractVideoUrl(value);\n          } // eslint-disable-next-line no-fallthrough\n        case 'formula':\n          {\n            if (!value) break;\n            var range = this.quill.getSelection(true);\n            if (range != null) {\n              var index = range.index + range.length;\n              this.quill.insertEmbed(index, this.root.getAttribute('data-mode'), value, _emitter2.default.sources.USER);\n              if (this.root.getAttribute('data-mode') === 'formula') {\n                this.quill.insertText(index + 1, ' ', _emitter2.default.sources.USER);\n              }\n              this.quill.setSelection(index + 2, _emitter2.default.sources.USER);\n            }\n            break;\n          }\n        default:\n      }\n      this.textbox.value = '';\n      this.hide();\n    }\n  }]);\n\n  return BaseTooltip;\n}(_tooltip2.default);\n\nfunction extractVideoUrl(url) {\n  var match = url.match(/^(?:(https?):\\/\\/)?(?:(?:www|m)\\.)?youtube\\.com\\/watch.*v=([a-zA-Z0-9_-]+)/) || url.match(/^(?:(https?):\\/\\/)?(?:(?:www|m)\\.)?youtu\\.be\\/([a-zA-Z0-9_-]+)/);\n  if (match) {\n    return (match[1] || 'https') + '://www.youtube.com/embed/' + match[2] + '?showinfo=0';\n  }\n  if (match = url.match(/^(?:(https?):\\/\\/)?(?:www\\.)?vimeo\\.com\\/(\\d+)/)) {\n    // eslint-disable-line no-cond-assign\n    return (match[1] || 'https') + '://player.vimeo.com/video/' + match[2] + '/';\n  }\n  return url;\n}\n\nfunction fillSelect(select, values) {\n  var defaultValue = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;\n\n  values.forEach(function (value) {\n    var option = document.createElement('option');\n    if (value === defaultValue) {\n      option.setAttribute('selected', 'selected');\n    } else {\n      option.setAttribute('value', value);\n    }\n    select.appendChild(option);\n  });\n}\n\nexports.BaseTooltip = BaseTooltip;\nexports.default = BaseTheme;\n\n/***/ }),\n/* 44 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar LinkedList = /** @class */ (function () {\n    function LinkedList() {\n        this.head = this.tail = null;\n        this.length = 0;\n    }\n    LinkedList.prototype.append = function () {\n        var nodes = [];\n        for (var _i = 0; _i < arguments.length; _i++) {\n            nodes[_i] = arguments[_i];\n        }\n        this.insertBefore(nodes[0], null);\n        if (nodes.length > 1) {\n            this.append.apply(this, nodes.slice(1));\n        }\n    };\n    LinkedList.prototype.contains = function (node) {\n        var cur, next = this.iterator();\n        while ((cur = next())) {\n            if (cur === node)\n                return true;\n        }\n        return false;\n    };\n    LinkedList.prototype.insertBefore = function (node, refNode) {\n        if (!node)\n            return;\n        node.next = refNode;\n        if (refNode != null) {\n            node.prev = refNode.prev;\n            if (refNode.prev != null) {\n                refNode.prev.next = node;\n            }\n            refNode.prev = node;\n            if (refNode === this.head) {\n                this.head = node;\n            }\n        }\n        else if (this.tail != null) {\n            this.tail.next = node;\n            node.prev = this.tail;\n            this.tail = node;\n        }\n        else {\n            node.prev = null;\n            this.head = this.tail = node;\n        }\n        this.length += 1;\n    };\n    LinkedList.prototype.offset = function (target) {\n        var index = 0, cur = this.head;\n        while (cur != null) {\n            if (cur === target)\n                return index;\n            index += cur.length();\n            cur = cur.next;\n        }\n        return -1;\n    };\n    LinkedList.prototype.remove = function (node) {\n        if (!this.contains(node))\n            return;\n        if (node.prev != null)\n            node.prev.next = node.next;\n        if (node.next != null)\n            node.next.prev = node.prev;\n        if (node === this.head)\n            this.head = node.next;\n        if (node === this.tail)\n            this.tail = node.prev;\n        this.length -= 1;\n    };\n    LinkedList.prototype.iterator = function (curNode) {\n        if (curNode === void 0) { curNode = this.head; }\n        // TODO use yield when we can\n        return function () {\n            var ret = curNode;\n            if (curNode != null)\n                curNode = curNode.next;\n            return ret;\n        };\n    };\n    LinkedList.prototype.find = function (index, inclusive) {\n        if (inclusive === void 0) { inclusive = false; }\n        var cur, next = this.iterator();\n        while ((cur = next())) {\n            var length = cur.length();\n            if (index < length ||\n                (inclusive && index === length && (cur.next == null || cur.next.length() !== 0))) {\n                return [cur, index];\n            }\n            index -= length;\n        }\n        return [null, 0];\n    };\n    LinkedList.prototype.forEach = function (callback) {\n        var cur, next = this.iterator();\n        while ((cur = next())) {\n            callback(cur);\n        }\n    };\n    LinkedList.prototype.forEachAt = function (index, length, callback) {\n        if (length <= 0)\n            return;\n        var _a = this.find(index), startNode = _a[0], offset = _a[1];\n        var cur, curIndex = index - offset, next = this.iterator(startNode);\n        while ((cur = next()) && curIndex < index + length) {\n            var curLength = cur.length();\n            if (index > curIndex) {\n                callback(cur, index - curIndex, Math.min(length, curIndex + curLength - index));\n            }\n            else {\n                callback(cur, 0, Math.min(curLength, index + length - curIndex));\n            }\n            curIndex += curLength;\n        }\n    };\n    LinkedList.prototype.map = function (callback) {\n        return this.reduce(function (memo, cur) {\n            memo.push(callback(cur));\n            return memo;\n        }, []);\n    };\n    LinkedList.prototype.reduce = function (callback, memo) {\n        var cur, next = this.iterator();\n        while ((cur = next())) {\n            memo = callback(memo, cur);\n        }\n        return memo;\n    };\n    return LinkedList;\n}());\nexports.default = LinkedList;\n\n\n/***/ }),\n/* 45 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nvar __extends = (this && this.__extends) || (function () {\n    var extendStatics = Object.setPrototypeOf ||\n        ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n        function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n    return function (d, b) {\n        extendStatics(d, b);\n        function __() { this.constructor = d; }\n        d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n    };\n})();\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar container_1 = __webpack_require__(17);\nvar Registry = __webpack_require__(1);\nvar OBSERVER_CONFIG = {\n    attributes: true,\n    characterData: true,\n    characterDataOldValue: true,\n    childList: true,\n    subtree: true,\n};\nvar MAX_OPTIMIZE_ITERATIONS = 100;\nvar ScrollBlot = /** @class */ (function (_super) {\n    __extends(ScrollBlot, _super);\n    function ScrollBlot(node) {\n        var _this = _super.call(this, node) || this;\n        _this.scroll = _this;\n        _this.observer = new MutationObserver(function (mutations) {\n            _this.update(mutations);\n        });\n        _this.observer.observe(_this.domNode, OBSERVER_CONFIG);\n        _this.attach();\n        return _this;\n    }\n    ScrollBlot.prototype.detach = function () {\n        _super.prototype.detach.call(this);\n        this.observer.disconnect();\n    };\n    ScrollBlot.prototype.deleteAt = function (index, length) {\n        this.update();\n        if (index === 0 && length === this.length()) {\n            this.children.forEach(function (child) {\n                child.remove();\n            });\n        }\n        else {\n            _super.prototype.deleteAt.call(this, index, length);\n        }\n    };\n    ScrollBlot.prototype.formatAt = function (index, length, name, value) {\n        this.update();\n        _super.prototype.formatAt.call(this, index, length, name, value);\n    };\n    ScrollBlot.prototype.insertAt = function (index, value, def) {\n        this.update();\n        _super.prototype.insertAt.call(this, index, value, def);\n    };\n    ScrollBlot.prototype.optimize = function (mutations, context) {\n        var _this = this;\n        if (mutations === void 0) { mutations = []; }\n        if (context === void 0) { context = {}; }\n        _super.prototype.optimize.call(this, context);\n        // We must modify mutations directly, cannot make copy and then modify\n        var records = [].slice.call(this.observer.takeRecords());\n        // Array.push currently seems to be implemented by a non-tail recursive function\n        // so we cannot just mutations.push.apply(mutations, this.observer.takeRecords());\n        while (records.length > 0)\n            mutations.push(records.pop());\n        // TODO use WeakMap\n        var mark = function (blot, markParent) {\n            if (markParent === void 0) { markParent = true; }\n            if (blot == null || blot === _this)\n                return;\n            if (blot.domNode.parentNode == null)\n                return;\n            // @ts-ignore\n            if (blot.domNode[Registry.DATA_KEY].mutations == null) {\n                // @ts-ignore\n                blot.domNode[Registry.DATA_KEY].mutations = [];\n            }\n            if (markParent)\n                mark(blot.parent);\n        };\n        var optimize = function (blot) {\n            // Post-order traversal\n            if (\n            // @ts-ignore\n            blot.domNode[Registry.DATA_KEY] == null ||\n                // @ts-ignore\n                blot.domNode[Registry.DATA_KEY].mutations == null) {\n                return;\n            }\n            if (blot instanceof container_1.default) {\n                blot.children.forEach(optimize);\n            }\n            blot.optimize(context);\n        };\n        var remaining = mutations;\n        for (var i = 0; remaining.length > 0; i += 1) {\n            if (i >= MAX_OPTIMIZE_ITERATIONS) {\n                throw new Error('[Parchment] Maximum optimize iterations reached');\n            }\n            remaining.forEach(function (mutation) {\n                var blot = Registry.find(mutation.target, true);\n                if (blot == null)\n                    return;\n                if (blot.domNode === mutation.target) {\n                    if (mutation.type === 'childList') {\n                        mark(Registry.find(mutation.previousSibling, false));\n                        [].forEach.call(mutation.addedNodes, function (node) {\n                            var child = Registry.find(node, false);\n                            mark(child, false);\n                            if (child instanceof container_1.default) {\n                                child.children.forEach(function (grandChild) {\n                                    mark(grandChild, false);\n                                });\n                            }\n                        });\n                    }\n                    else if (mutation.type === 'attributes') {\n                        mark(blot.prev);\n                    }\n                }\n                mark(blot);\n            });\n            this.children.forEach(optimize);\n            remaining = [].slice.call(this.observer.takeRecords());\n            records = remaining.slice();\n            while (records.length > 0)\n                mutations.push(records.pop());\n        }\n    };\n    ScrollBlot.prototype.update = function (mutations, context) {\n        var _this = this;\n        if (context === void 0) { context = {}; }\n        mutations = mutations || this.observer.takeRecords();\n        // TODO use WeakMap\n        mutations\n            .map(function (mutation) {\n            var blot = Registry.find(mutation.target, true);\n            if (blot == null)\n                return null;\n            // @ts-ignore\n            if (blot.domNode[Registry.DATA_KEY].mutations == null) {\n                // @ts-ignore\n                blot.domNode[Registry.DATA_KEY].mutations = [mutation];\n                return blot;\n            }\n            else {\n                // @ts-ignore\n                blot.domNode[Registry.DATA_KEY].mutations.push(mutation);\n                return null;\n            }\n        })\n            .forEach(function (blot) {\n            if (blot == null ||\n                blot === _this ||\n                //@ts-ignore\n                blot.domNode[Registry.DATA_KEY] == null)\n                return;\n            // @ts-ignore\n            blot.update(blot.domNode[Registry.DATA_KEY].mutations || [], context);\n        });\n        // @ts-ignore\n        if (this.domNode[Registry.DATA_KEY].mutations != null) {\n            // @ts-ignore\n            _super.prototype.update.call(this, this.domNode[Registry.DATA_KEY].mutations, context);\n        }\n        this.optimize(mutations, context);\n    };\n    ScrollBlot.blotName = 'scroll';\n    ScrollBlot.defaultChild = 'block';\n    ScrollBlot.scope = Registry.Scope.BLOCK_BLOT;\n    ScrollBlot.tagName = 'DIV';\n    return ScrollBlot;\n}(container_1.default));\nexports.default = ScrollBlot;\n\n\n/***/ }),\n/* 46 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nvar __extends = (this && this.__extends) || (function () {\n    var extendStatics = Object.setPrototypeOf ||\n        ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n        function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n    return function (d, b) {\n        extendStatics(d, b);\n        function __() { this.constructor = d; }\n        d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n    };\n})();\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar format_1 = __webpack_require__(18);\nvar Registry = __webpack_require__(1);\n// Shallow object comparison\nfunction isEqual(obj1, obj2) {\n    if (Object.keys(obj1).length !== Object.keys(obj2).length)\n        return false;\n    // @ts-ignore\n    for (var prop in obj1) {\n        // @ts-ignore\n        if (obj1[prop] !== obj2[prop])\n            return false;\n    }\n    return true;\n}\nvar InlineBlot = /** @class */ (function (_super) {\n    __extends(InlineBlot, _super);\n    function InlineBlot() {\n        return _super !== null && _super.apply(this, arguments) || this;\n    }\n    InlineBlot.formats = function (domNode) {\n        if (domNode.tagName === InlineBlot.tagName)\n            return undefined;\n        return _super.formats.call(this, domNode);\n    };\n    InlineBlot.prototype.format = function (name, value) {\n        var _this = this;\n        if (name === this.statics.blotName && !value) {\n            this.children.forEach(function (child) {\n                if (!(child instanceof format_1.default)) {\n                    child = child.wrap(InlineBlot.blotName, true);\n                }\n                _this.attributes.copy(child);\n            });\n            this.unwrap();\n        }\n        else {\n            _super.prototype.format.call(this, name, value);\n        }\n    };\n    InlineBlot.prototype.formatAt = function (index, length, name, value) {\n        if (this.formats()[name] != null || Registry.query(name, Registry.Scope.ATTRIBUTE)) {\n            var blot = this.isolate(index, length);\n            blot.format(name, value);\n        }\n        else {\n            _super.prototype.formatAt.call(this, index, length, name, value);\n        }\n    };\n    InlineBlot.prototype.optimize = function (context) {\n        _super.prototype.optimize.call(this, context);\n        var formats = this.formats();\n        if (Object.keys(formats).length === 0) {\n            return this.unwrap(); // unformatted span\n        }\n        var next = this.next;\n        if (next instanceof InlineBlot && next.prev === this && isEqual(formats, next.formats())) {\n            next.moveChildren(this);\n            next.remove();\n        }\n    };\n    InlineBlot.blotName = 'inline';\n    InlineBlot.scope = Registry.Scope.INLINE_BLOT;\n    InlineBlot.tagName = 'SPAN';\n    return InlineBlot;\n}(format_1.default));\nexports.default = InlineBlot;\n\n\n/***/ }),\n/* 47 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nvar __extends = (this && this.__extends) || (function () {\n    var extendStatics = Object.setPrototypeOf ||\n        ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n        function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n    return function (d, b) {\n        extendStatics(d, b);\n        function __() { this.constructor = d; }\n        d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n    };\n})();\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar format_1 = __webpack_require__(18);\nvar Registry = __webpack_require__(1);\nvar BlockBlot = /** @class */ (function (_super) {\n    __extends(BlockBlot, _super);\n    function BlockBlot() {\n        return _super !== null && _super.apply(this, arguments) || this;\n    }\n    BlockBlot.formats = function (domNode) {\n        var tagName = Registry.query(BlockBlot.blotName).tagName;\n        if (domNode.tagName === tagName)\n            return undefined;\n        return _super.formats.call(this, domNode);\n    };\n    BlockBlot.prototype.format = function (name, value) {\n        if (Registry.query(name, Registry.Scope.BLOCK) == null) {\n            return;\n        }\n        else if (name === this.statics.blotName && !value) {\n            this.replaceWith(BlockBlot.blotName);\n        }\n        else {\n            _super.prototype.format.call(this, name, value);\n        }\n    };\n    BlockBlot.prototype.formatAt = function (index, length, name, value) {\n        if (Registry.query(name, Registry.Scope.BLOCK) != null) {\n            this.format(name, value);\n        }\n        else {\n            _super.prototype.formatAt.call(this, index, length, name, value);\n        }\n    };\n    BlockBlot.prototype.insertAt = function (index, value, def) {\n        if (def == null || Registry.query(value, Registry.Scope.INLINE) != null) {\n            // Insert text or inline\n            _super.prototype.insertAt.call(this, index, value, def);\n        }\n        else {\n            var after = this.split(index);\n            var blot = Registry.create(value, def);\n            after.parent.insertBefore(blot, after);\n        }\n    };\n    BlockBlot.prototype.update = function (mutations, context) {\n        if (navigator.userAgent.match(/Trident/)) {\n            this.build();\n        }\n        else {\n            _super.prototype.update.call(this, mutations, context);\n        }\n    };\n    BlockBlot.blotName = 'block';\n    BlockBlot.scope = Registry.Scope.BLOCK_BLOT;\n    BlockBlot.tagName = 'P';\n    return BlockBlot;\n}(format_1.default));\nexports.default = BlockBlot;\n\n\n/***/ }),\n/* 48 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nvar __extends = (this && this.__extends) || (function () {\n    var extendStatics = Object.setPrototypeOf ||\n        ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n        function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n    return function (d, b) {\n        extendStatics(d, b);\n        function __() { this.constructor = d; }\n        d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n    };\n})();\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar leaf_1 = __webpack_require__(19);\nvar EmbedBlot = /** @class */ (function (_super) {\n    __extends(EmbedBlot, _super);\n    function EmbedBlot() {\n        return _super !== null && _super.apply(this, arguments) || this;\n    }\n    EmbedBlot.formats = function (domNode) {\n        return undefined;\n    };\n    EmbedBlot.prototype.format = function (name, value) {\n        // super.formatAt wraps, which is what we want in general,\n        // but this allows subclasses to overwrite for formats\n        // that just apply to particular embeds\n        _super.prototype.formatAt.call(this, 0, this.length(), name, value);\n    };\n    EmbedBlot.prototype.formatAt = function (index, length, name, value) {\n        if (index === 0 && length === this.length()) {\n            this.format(name, value);\n        }\n        else {\n            _super.prototype.formatAt.call(this, index, length, name, value);\n        }\n    };\n    EmbedBlot.prototype.formats = function () {\n        return this.statics.formats(this.domNode);\n    };\n    return EmbedBlot;\n}(leaf_1.default));\nexports.default = EmbedBlot;\n\n\n/***/ }),\n/* 49 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nvar __extends = (this && this.__extends) || (function () {\n    var extendStatics = Object.setPrototypeOf ||\n        ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n        function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n    return function (d, b) {\n        extendStatics(d, b);\n        function __() { this.constructor = d; }\n        d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n    };\n})();\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar leaf_1 = __webpack_require__(19);\nvar Registry = __webpack_require__(1);\nvar TextBlot = /** @class */ (function (_super) {\n    __extends(TextBlot, _super);\n    function TextBlot(node) {\n        var _this = _super.call(this, node) || this;\n        _this.text = _this.statics.value(_this.domNode);\n        return _this;\n    }\n    TextBlot.create = function (value) {\n        return document.createTextNode(value);\n    };\n    TextBlot.value = function (domNode) {\n        var text = domNode.data;\n        // @ts-ignore\n        if (text['normalize'])\n            text = text['normalize']();\n        return text;\n    };\n    TextBlot.prototype.deleteAt = function (index, length) {\n        this.domNode.data = this.text = this.text.slice(0, index) + this.text.slice(index + length);\n    };\n    TextBlot.prototype.index = function (node, offset) {\n        if (this.domNode === node) {\n            return offset;\n        }\n        return -1;\n    };\n    TextBlot.prototype.insertAt = function (index, value, def) {\n        if (def == null) {\n            this.text = this.text.slice(0, index) + value + this.text.slice(index);\n            this.domNode.data = this.text;\n        }\n        else {\n            _super.prototype.insertAt.call(this, index, value, def);\n        }\n    };\n    TextBlot.prototype.length = function () {\n        return this.text.length;\n    };\n    TextBlot.prototype.optimize = function (context) {\n        _super.prototype.optimize.call(this, context);\n        this.text = this.statics.value(this.domNode);\n        if (this.text.length === 0) {\n            this.remove();\n        }\n        else if (this.next instanceof TextBlot && this.next.prev === this) {\n            this.insertAt(this.length(), this.next.value());\n            this.next.remove();\n        }\n    };\n    TextBlot.prototype.position = function (index, inclusive) {\n        if (inclusive === void 0) { inclusive = false; }\n        return [this.domNode, index];\n    };\n    TextBlot.prototype.split = function (index, force) {\n        if (force === void 0) { force = false; }\n        if (!force) {\n            if (index === 0)\n                return this;\n            if (index === this.length())\n                return this.next;\n        }\n        var after = Registry.create(this.domNode.splitText(index));\n        this.parent.insertBefore(after, this.next);\n        this.text = this.statics.value(this.domNode);\n        return after;\n    };\n    TextBlot.prototype.update = function (mutations, context) {\n        var _this = this;\n        if (mutations.some(function (mutation) {\n            return mutation.type === 'characterData' && mutation.target === _this.domNode;\n        })) {\n            this.text = this.statics.value(this.domNode);\n        }\n    };\n    TextBlot.prototype.value = function () {\n        return this.text;\n    };\n    TextBlot.blotName = 'text';\n    TextBlot.scope = Registry.Scope.INLINE_BLOT;\n    return TextBlot;\n}(leaf_1.default));\nexports.default = TextBlot;\n\n\n/***/ }),\n/* 50 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar elem = document.createElement('div');\nelem.classList.toggle('test-class', false);\nif (elem.classList.contains('test-class')) {\n  var _toggle = DOMTokenList.prototype.toggle;\n  DOMTokenList.prototype.toggle = function (token, force) {\n    if (arguments.length > 1 && !this.contains(token) === !force) {\n      return force;\n    } else {\n      return _toggle.call(this, token);\n    }\n  };\n}\n\nif (!String.prototype.startsWith) {\n  String.prototype.startsWith = function (searchString, position) {\n    position = position || 0;\n    return this.substr(position, searchString.length) === searchString;\n  };\n}\n\nif (!String.prototype.endsWith) {\n  String.prototype.endsWith = function (searchString, position) {\n    var subjectString = this.toString();\n    if (typeof position !== 'number' || !isFinite(position) || Math.floor(position) !== position || position > subjectString.length) {\n      position = subjectString.length;\n    }\n    position -= searchString.length;\n    var lastIndex = subjectString.indexOf(searchString, position);\n    return lastIndex !== -1 && lastIndex === position;\n  };\n}\n\nif (!Array.prototype.find) {\n  Object.defineProperty(Array.prototype, \"find\", {\n    value: function value(predicate) {\n      if (this === null) {\n        throw new TypeError('Array.prototype.find called on null or undefined');\n      }\n      if (typeof predicate !== 'function') {\n        throw new TypeError('predicate must be a function');\n      }\n      var list = Object(this);\n      var length = list.length >>> 0;\n      var thisArg = arguments[1];\n      var value;\n\n      for (var i = 0; i < length; i++) {\n        value = list[i];\n        if (predicate.call(thisArg, value, i, list)) {\n          return value;\n        }\n      }\n      return undefined;\n    }\n  });\n}\n\ndocument.addEventListener(\"DOMContentLoaded\", function () {\n  // Disable resizing in Firefox\n  document.execCommand(\"enableObjectResizing\", false, false);\n  // Disable automatic linkifying in IE11\n  document.execCommand(\"autoUrlDetect\", false, false);\n});\n\n/***/ }),\n/* 51 */\n/***/ (function(module, exports) {\n\n/**\n * This library modifies the diff-patch-match library by Neil Fraser\n * by removing the patch and match functionality and certain advanced\n * options in the diff function. The original license is as follows:\n *\n * ===\n *\n * Diff Match and Patch\n *\n * Copyright 2006 Google Inc.\n * http://code.google.com/p/google-diff-match-patch/\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n *   http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n\n/**\n * The data structure representing a diff is an array of tuples:\n * [[DIFF_DELETE, 'Hello'], [DIFF_INSERT, 'Goodbye'], [DIFF_EQUAL, ' world.']]\n * which means: delete 'Hello', add 'Goodbye' and keep ' world.'\n */\nvar DIFF_DELETE = -1;\nvar DIFF_INSERT = 1;\nvar DIFF_EQUAL = 0;\n\n\n/**\n * Find the differences between two texts.  Simplifies the problem by stripping\n * any common prefix or suffix off the texts before diffing.\n * @param {string} text1 Old string to be diffed.\n * @param {string} text2 New string to be diffed.\n * @param {Int} cursor_pos Expected edit position in text1 (optional)\n * @return {Array} Array of diff tuples.\n */\nfunction diff_main(text1, text2, cursor_pos) {\n  // Check for equality (speedup).\n  if (text1 == text2) {\n    if (text1) {\n      return [[DIFF_EQUAL, text1]];\n    }\n    return [];\n  }\n\n  // Check cursor_pos within bounds\n  if (cursor_pos < 0 || text1.length < cursor_pos) {\n    cursor_pos = null;\n  }\n\n  // Trim off common prefix (speedup).\n  var commonlength = diff_commonPrefix(text1, text2);\n  var commonprefix = text1.substring(0, commonlength);\n  text1 = text1.substring(commonlength);\n  text2 = text2.substring(commonlength);\n\n  // Trim off common suffix (speedup).\n  commonlength = diff_commonSuffix(text1, text2);\n  var commonsuffix = text1.substring(text1.length - commonlength);\n  text1 = text1.substring(0, text1.length - commonlength);\n  text2 = text2.substring(0, text2.length - commonlength);\n\n  // Compute the diff on the middle block.\n  var diffs = diff_compute_(text1, text2);\n\n  // Restore the prefix and suffix.\n  if (commonprefix) {\n    diffs.unshift([DIFF_EQUAL, commonprefix]);\n  }\n  if (commonsuffix) {\n    diffs.push([DIFF_EQUAL, commonsuffix]);\n  }\n  diff_cleanupMerge(diffs);\n  if (cursor_pos != null) {\n    diffs = fix_cursor(diffs, cursor_pos);\n  }\n  diffs = fix_emoji(diffs);\n  return diffs;\n};\n\n\n/**\n * Find the differences between two texts.  Assumes that the texts do not\n * have any common prefix or suffix.\n * @param {string} text1 Old string to be diffed.\n * @param {string} text2 New string to be diffed.\n * @return {Array} Array of diff tuples.\n */\nfunction diff_compute_(text1, text2) {\n  var diffs;\n\n  if (!text1) {\n    // Just add some text (speedup).\n    return [[DIFF_INSERT, text2]];\n  }\n\n  if (!text2) {\n    // Just delete some text (speedup).\n    return [[DIFF_DELETE, text1]];\n  }\n\n  var longtext = text1.length > text2.length ? text1 : text2;\n  var shorttext = text1.length > text2.length ? text2 : text1;\n  var i = longtext.indexOf(shorttext);\n  if (i != -1) {\n    // Shorter text is inside the longer text (speedup).\n    diffs = [[DIFF_INSERT, longtext.substring(0, i)],\n             [DIFF_EQUAL, shorttext],\n             [DIFF_INSERT, longtext.substring(i + shorttext.length)]];\n    // Swap insertions for deletions if diff is reversed.\n    if (text1.length > text2.length) {\n      diffs[0][0] = diffs[2][0] = DIFF_DELETE;\n    }\n    return diffs;\n  }\n\n  if (shorttext.length == 1) {\n    // Single character string.\n    // After the previous speedup, the character can't be an equality.\n    return [[DIFF_DELETE, text1], [DIFF_INSERT, text2]];\n  }\n\n  // Check to see if the problem can be split in two.\n  var hm = diff_halfMatch_(text1, text2);\n  if (hm) {\n    // A half-match was found, sort out the return data.\n    var text1_a = hm[0];\n    var text1_b = hm[1];\n    var text2_a = hm[2];\n    var text2_b = hm[3];\n    var mid_common = hm[4];\n    // Send both pairs off for separate processing.\n    var diffs_a = diff_main(text1_a, text2_a);\n    var diffs_b = diff_main(text1_b, text2_b);\n    // Merge the results.\n    return diffs_a.concat([[DIFF_EQUAL, mid_common]], diffs_b);\n  }\n\n  return diff_bisect_(text1, text2);\n};\n\n\n/**\n * Find the 'middle snake' of a diff, split the problem in two\n * and return the recursively constructed diff.\n * See Myers 1986 paper: An O(ND) Difference Algorithm and Its Variations.\n * @param {string} text1 Old string to be diffed.\n * @param {string} text2 New string to be diffed.\n * @return {Array} Array of diff tuples.\n * @private\n */\nfunction diff_bisect_(text1, text2) {\n  // Cache the text lengths to prevent multiple calls.\n  var text1_length = text1.length;\n  var text2_length = text2.length;\n  var max_d = Math.ceil((text1_length + text2_length) / 2);\n  var v_offset = max_d;\n  var v_length = 2 * max_d;\n  var v1 = new Array(v_length);\n  var v2 = new Array(v_length);\n  // Setting all elements to -1 is faster in Chrome & Firefox than mixing\n  // integers and undefined.\n  for (var x = 0; x < v_length; x++) {\n    v1[x] = -1;\n    v2[x] = -1;\n  }\n  v1[v_offset + 1] = 0;\n  v2[v_offset + 1] = 0;\n  var delta = text1_length - text2_length;\n  // If the total number of characters is odd, then the front path will collide\n  // with the reverse path.\n  var front = (delta % 2 != 0);\n  // Offsets for start and end of k loop.\n  // Prevents mapping of space beyond the grid.\n  var k1start = 0;\n  var k1end = 0;\n  var k2start = 0;\n  var k2end = 0;\n  for (var d = 0; d < max_d; d++) {\n    // Walk the front path one step.\n    for (var k1 = -d + k1start; k1 <= d - k1end; k1 += 2) {\n      var k1_offset = v_offset + k1;\n      var x1;\n      if (k1 == -d || (k1 != d && v1[k1_offset - 1] < v1[k1_offset + 1])) {\n        x1 = v1[k1_offset + 1];\n      } else {\n        x1 = v1[k1_offset - 1] + 1;\n      }\n      var y1 = x1 - k1;\n      while (x1 < text1_length && y1 < text2_length &&\n             text1.charAt(x1) == text2.charAt(y1)) {\n        x1++;\n        y1++;\n      }\n      v1[k1_offset] = x1;\n      if (x1 > text1_length) {\n        // Ran off the right of the graph.\n        k1end += 2;\n      } else if (y1 > text2_length) {\n        // Ran off the bottom of the graph.\n        k1start += 2;\n      } else if (front) {\n        var k2_offset = v_offset + delta - k1;\n        if (k2_offset >= 0 && k2_offset < v_length && v2[k2_offset] != -1) {\n          // Mirror x2 onto top-left coordinate system.\n          var x2 = text1_length - v2[k2_offset];\n          if (x1 >= x2) {\n            // Overlap detected.\n            return diff_bisectSplit_(text1, text2, x1, y1);\n          }\n        }\n      }\n    }\n\n    // Walk the reverse path one step.\n    for (var k2 = -d + k2start; k2 <= d - k2end; k2 += 2) {\n      var k2_offset = v_offset + k2;\n      var x2;\n      if (k2 == -d || (k2 != d && v2[k2_offset - 1] < v2[k2_offset + 1])) {\n        x2 = v2[k2_offset + 1];\n      } else {\n        x2 = v2[k2_offset - 1] + 1;\n      }\n      var y2 = x2 - k2;\n      while (x2 < text1_length && y2 < text2_length &&\n             text1.charAt(text1_length - x2 - 1) ==\n             text2.charAt(text2_length - y2 - 1)) {\n        x2++;\n        y2++;\n      }\n      v2[k2_offset] = x2;\n      if (x2 > text1_length) {\n        // Ran off the left of the graph.\n        k2end += 2;\n      } else if (y2 > text2_length) {\n        // Ran off the top of the graph.\n        k2start += 2;\n      } else if (!front) {\n        var k1_offset = v_offset + delta - k2;\n        if (k1_offset >= 0 && k1_offset < v_length && v1[k1_offset] != -1) {\n          var x1 = v1[k1_offset];\n          var y1 = v_offset + x1 - k1_offset;\n          // Mirror x2 onto top-left coordinate system.\n          x2 = text1_length - x2;\n          if (x1 >= x2) {\n            // Overlap detected.\n            return diff_bisectSplit_(text1, text2, x1, y1);\n          }\n        }\n      }\n    }\n  }\n  // Diff took too long and hit the deadline or\n  // number of diffs equals number of characters, no commonality at all.\n  return [[DIFF_DELETE, text1], [DIFF_INSERT, text2]];\n};\n\n\n/**\n * Given the location of the 'middle snake', split the diff in two parts\n * and recurse.\n * @param {string} text1 Old string to be diffed.\n * @param {string} text2 New string to be diffed.\n * @param {number} x Index of split point in text1.\n * @param {number} y Index of split point in text2.\n * @return {Array} Array of diff tuples.\n */\nfunction diff_bisectSplit_(text1, text2, x, y) {\n  var text1a = text1.substring(0, x);\n  var text2a = text2.substring(0, y);\n  var text1b = text1.substring(x);\n  var text2b = text2.substring(y);\n\n  // Compute both diffs serially.\n  var diffs = diff_main(text1a, text2a);\n  var diffsb = diff_main(text1b, text2b);\n\n  return diffs.concat(diffsb);\n};\n\n\n/**\n * Determine the common prefix of two strings.\n * @param {string} text1 First string.\n * @param {string} text2 Second string.\n * @return {number} The number of characters common to the start of each\n *     string.\n */\nfunction diff_commonPrefix(text1, text2) {\n  // Quick check for common null cases.\n  if (!text1 || !text2 || text1.charAt(0) != text2.charAt(0)) {\n    return 0;\n  }\n  // Binary search.\n  // Performance analysis: http://neil.fraser.name/news/2007/10/09/\n  var pointermin = 0;\n  var pointermax = Math.min(text1.length, text2.length);\n  var pointermid = pointermax;\n  var pointerstart = 0;\n  while (pointermin < pointermid) {\n    if (text1.substring(pointerstart, pointermid) ==\n        text2.substring(pointerstart, pointermid)) {\n      pointermin = pointermid;\n      pointerstart = pointermin;\n    } else {\n      pointermax = pointermid;\n    }\n    pointermid = Math.floor((pointermax - pointermin) / 2 + pointermin);\n  }\n  return pointermid;\n};\n\n\n/**\n * Determine the common suffix of two strings.\n * @param {string} text1 First string.\n * @param {string} text2 Second string.\n * @return {number} The number of characters common to the end of each string.\n */\nfunction diff_commonSuffix(text1, text2) {\n  // Quick check for common null cases.\n  if (!text1 || !text2 ||\n      text1.charAt(text1.length - 1) != text2.charAt(text2.length - 1)) {\n    return 0;\n  }\n  // Binary search.\n  // Performance analysis: http://neil.fraser.name/news/2007/10/09/\n  var pointermin = 0;\n  var pointermax = Math.min(text1.length, text2.length);\n  var pointermid = pointermax;\n  var pointerend = 0;\n  while (pointermin < pointermid) {\n    if (text1.substring(text1.length - pointermid, text1.length - pointerend) ==\n        text2.substring(text2.length - pointermid, text2.length - pointerend)) {\n      pointermin = pointermid;\n      pointerend = pointermin;\n    } else {\n      pointermax = pointermid;\n    }\n    pointermid = Math.floor((pointermax - pointermin) / 2 + pointermin);\n  }\n  return pointermid;\n};\n\n\n/**\n * Do the two texts share a substring which is at least half the length of the\n * longer text?\n * This speedup can produce non-minimal diffs.\n * @param {string} text1 First string.\n * @param {string} text2 Second string.\n * @return {Array.<string>} Five element Array, containing the prefix of\n *     text1, the suffix of text1, the prefix of text2, the suffix of\n *     text2 and the common middle.  Or null if there was no match.\n */\nfunction diff_halfMatch_(text1, text2) {\n  var longtext = text1.length > text2.length ? text1 : text2;\n  var shorttext = text1.length > text2.length ? text2 : text1;\n  if (longtext.length < 4 || shorttext.length * 2 < longtext.length) {\n    return null;  // Pointless.\n  }\n\n  /**\n   * Does a substring of shorttext exist within longtext such that the substring\n   * is at least half the length of longtext?\n   * Closure, but does not reference any external variables.\n   * @param {string} longtext Longer string.\n   * @param {string} shorttext Shorter string.\n   * @param {number} i Start index of quarter length substring within longtext.\n   * @return {Array.<string>} Five element Array, containing the prefix of\n   *     longtext, the suffix of longtext, the prefix of shorttext, the suffix\n   *     of shorttext and the common middle.  Or null if there was no match.\n   * @private\n   */\n  function diff_halfMatchI_(longtext, shorttext, i) {\n    // Start with a 1/4 length substring at position i as a seed.\n    var seed = longtext.substring(i, i + Math.floor(longtext.length / 4));\n    var j = -1;\n    var best_common = '';\n    var best_longtext_a, best_longtext_b, best_shorttext_a, best_shorttext_b;\n    while ((j = shorttext.indexOf(seed, j + 1)) != -1) {\n      var prefixLength = diff_commonPrefix(longtext.substring(i),\n                                           shorttext.substring(j));\n      var suffixLength = diff_commonSuffix(longtext.substring(0, i),\n                                           shorttext.substring(0, j));\n      if (best_common.length < suffixLength + prefixLength) {\n        best_common = shorttext.substring(j - suffixLength, j) +\n            shorttext.substring(j, j + prefixLength);\n        best_longtext_a = longtext.substring(0, i - suffixLength);\n        best_longtext_b = longtext.substring(i + prefixLength);\n        best_shorttext_a = shorttext.substring(0, j - suffixLength);\n        best_shorttext_b = shorttext.substring(j + prefixLength);\n      }\n    }\n    if (best_common.length * 2 >= longtext.length) {\n      return [best_longtext_a, best_longtext_b,\n              best_shorttext_a, best_shorttext_b, best_common];\n    } else {\n      return null;\n    }\n  }\n\n  // First check if the second quarter is the seed for a half-match.\n  var hm1 = diff_halfMatchI_(longtext, shorttext,\n                             Math.ceil(longtext.length / 4));\n  // Check again based on the third quarter.\n  var hm2 = diff_halfMatchI_(longtext, shorttext,\n                             Math.ceil(longtext.length / 2));\n  var hm;\n  if (!hm1 && !hm2) {\n    return null;\n  } else if (!hm2) {\n    hm = hm1;\n  } else if (!hm1) {\n    hm = hm2;\n  } else {\n    // Both matched.  Select the longest.\n    hm = hm1[4].length > hm2[4].length ? hm1 : hm2;\n  }\n\n  // A half-match was found, sort out the return data.\n  var text1_a, text1_b, text2_a, text2_b;\n  if (text1.length > text2.length) {\n    text1_a = hm[0];\n    text1_b = hm[1];\n    text2_a = hm[2];\n    text2_b = hm[3];\n  } else {\n    text2_a = hm[0];\n    text2_b = hm[1];\n    text1_a = hm[2];\n    text1_b = hm[3];\n  }\n  var mid_common = hm[4];\n  return [text1_a, text1_b, text2_a, text2_b, mid_common];\n};\n\n\n/**\n * Reorder and merge like edit sections.  Merge equalities.\n * Any edit section can move as long as it doesn't cross an equality.\n * @param {Array} diffs Array of diff tuples.\n */\nfunction diff_cleanupMerge(diffs) {\n  diffs.push([DIFF_EQUAL, '']);  // Add a dummy entry at the end.\n  var pointer = 0;\n  var count_delete = 0;\n  var count_insert = 0;\n  var text_delete = '';\n  var text_insert = '';\n  var commonlength;\n  while (pointer < diffs.length) {\n    switch (diffs[pointer][0]) {\n      case DIFF_INSERT:\n        count_insert++;\n        text_insert += diffs[pointer][1];\n        pointer++;\n        break;\n      case DIFF_DELETE:\n        count_delete++;\n        text_delete += diffs[pointer][1];\n        pointer++;\n        break;\n      case DIFF_EQUAL:\n        // Upon reaching an equality, check for prior redundancies.\n        if (count_delete + count_insert > 1) {\n          if (count_delete !== 0 && count_insert !== 0) {\n            // Factor out any common prefixies.\n            commonlength = diff_commonPrefix(text_insert, text_delete);\n            if (commonlength !== 0) {\n              if ((pointer - count_delete - count_insert) > 0 &&\n                  diffs[pointer - count_delete - count_insert - 1][0] ==\n                  DIFF_EQUAL) {\n                diffs[pointer - count_delete - count_insert - 1][1] +=\n                    text_insert.substring(0, commonlength);\n              } else {\n                diffs.splice(0, 0, [DIFF_EQUAL,\n                                    text_insert.substring(0, commonlength)]);\n                pointer++;\n              }\n              text_insert = text_insert.substring(commonlength);\n              text_delete = text_delete.substring(commonlength);\n            }\n            // Factor out any common suffixies.\n            commonlength = diff_commonSuffix(text_insert, text_delete);\n            if (commonlength !== 0) {\n              diffs[pointer][1] = text_insert.substring(text_insert.length -\n                  commonlength) + diffs[pointer][1];\n              text_insert = text_insert.substring(0, text_insert.length -\n                  commonlength);\n              text_delete = text_delete.substring(0, text_delete.length -\n                  commonlength);\n            }\n          }\n          // Delete the offending records and add the merged ones.\n          if (count_delete === 0) {\n            diffs.splice(pointer - count_insert,\n                count_delete + count_insert, [DIFF_INSERT, text_insert]);\n          } else if (count_insert === 0) {\n            diffs.splice(pointer - count_delete,\n                count_delete + count_insert, [DIFF_DELETE, text_delete]);\n          } else {\n            diffs.splice(pointer - count_delete - count_insert,\n                count_delete + count_insert, [DIFF_DELETE, text_delete],\n                [DIFF_INSERT, text_insert]);\n          }\n          pointer = pointer - count_delete - count_insert +\n                    (count_delete ? 1 : 0) + (count_insert ? 1 : 0) + 1;\n        } else if (pointer !== 0 && diffs[pointer - 1][0] == DIFF_EQUAL) {\n          // Merge this equality with the previous one.\n          diffs[pointer - 1][1] += diffs[pointer][1];\n          diffs.splice(pointer, 1);\n        } else {\n          pointer++;\n        }\n        count_insert = 0;\n        count_delete = 0;\n        text_delete = '';\n        text_insert = '';\n        break;\n    }\n  }\n  if (diffs[diffs.length - 1][1] === '') {\n    diffs.pop();  // Remove the dummy entry at the end.\n  }\n\n  // Second pass: look for single edits surrounded on both sides by equalities\n  // which can be shifted sideways to eliminate an equality.\n  // e.g: A<ins>BA</ins>C -> <ins>AB</ins>AC\n  var changes = false;\n  pointer = 1;\n  // Intentionally ignore the first and last element (don't need checking).\n  while (pointer < diffs.length - 1) {\n    if (diffs[pointer - 1][0] == DIFF_EQUAL &&\n        diffs[pointer + 1][0] == DIFF_EQUAL) {\n      // This is a single edit surrounded by equalities.\n      if (diffs[pointer][1].substring(diffs[pointer][1].length -\n          diffs[pointer - 1][1].length) == diffs[pointer - 1][1]) {\n        // Shift the edit over the previous equality.\n        diffs[pointer][1] = diffs[pointer - 1][1] +\n            diffs[pointer][1].substring(0, diffs[pointer][1].length -\n                                        diffs[pointer - 1][1].length);\n        diffs[pointer + 1][1] = diffs[pointer - 1][1] + diffs[pointer + 1][1];\n        diffs.splice(pointer - 1, 1);\n        changes = true;\n      } else if (diffs[pointer][1].substring(0, diffs[pointer + 1][1].length) ==\n          diffs[pointer + 1][1]) {\n        // Shift the edit over the next equality.\n        diffs[pointer - 1][1] += diffs[pointer + 1][1];\n        diffs[pointer][1] =\n            diffs[pointer][1].substring(diffs[pointer + 1][1].length) +\n            diffs[pointer + 1][1];\n        diffs.splice(pointer + 1, 1);\n        changes = true;\n      }\n    }\n    pointer++;\n  }\n  // If shifts were made, the diff needs reordering and another shift sweep.\n  if (changes) {\n    diff_cleanupMerge(diffs);\n  }\n};\n\n\nvar diff = diff_main;\ndiff.INSERT = DIFF_INSERT;\ndiff.DELETE = DIFF_DELETE;\ndiff.EQUAL = DIFF_EQUAL;\n\nmodule.exports = diff;\n\n/*\n * Modify a diff such that the cursor position points to the start of a change:\n * E.g.\n *   cursor_normalize_diff([[DIFF_EQUAL, 'abc']], 1)\n *     => [1, [[DIFF_EQUAL, 'a'], [DIFF_EQUAL, 'bc']]]\n *   cursor_normalize_diff([[DIFF_INSERT, 'new'], [DIFF_DELETE, 'xyz']], 2)\n *     => [2, [[DIFF_INSERT, 'new'], [DIFF_DELETE, 'xy'], [DIFF_DELETE, 'z']]]\n *\n * @param {Array} diffs Array of diff tuples\n * @param {Int} cursor_pos Suggested edit position. Must not be out of bounds!\n * @return {Array} A tuple [cursor location in the modified diff, modified diff]\n */\nfunction cursor_normalize_diff (diffs, cursor_pos) {\n  if (cursor_pos === 0) {\n    return [DIFF_EQUAL, diffs];\n  }\n  for (var current_pos = 0, i = 0; i < diffs.length; i++) {\n    var d = diffs[i];\n    if (d[0] === DIFF_DELETE || d[0] === DIFF_EQUAL) {\n      var next_pos = current_pos + d[1].length;\n      if (cursor_pos === next_pos) {\n        return [i + 1, diffs];\n      } else if (cursor_pos < next_pos) {\n        // copy to prevent side effects\n        diffs = diffs.slice();\n        // split d into two diff changes\n        var split_pos = cursor_pos - current_pos;\n        var d_left = [d[0], d[1].slice(0, split_pos)];\n        var d_right = [d[0], d[1].slice(split_pos)];\n        diffs.splice(i, 1, d_left, d_right);\n        return [i + 1, diffs];\n      } else {\n        current_pos = next_pos;\n      }\n    }\n  }\n  throw new Error('cursor_pos is out of bounds!')\n}\n\n/*\n * Modify a diff such that the edit position is \"shifted\" to the proposed edit location (cursor_position).\n *\n * Case 1)\n *   Check if a naive shift is possible:\n *     [0, X], [ 1, Y] -> [ 1, Y], [0, X]    (if X + Y === Y + X)\n *     [0, X], [-1, Y] -> [-1, Y], [0, X]    (if X + Y === Y + X) - holds same result\n * Case 2)\n *   Check if the following shifts are possible:\n *     [0, 'pre'], [ 1, 'prefix'] -> [ 1, 'pre'], [0, 'pre'], [ 1, 'fix']\n *     [0, 'pre'], [-1, 'prefix'] -> [-1, 'pre'], [0, 'pre'], [-1, 'fix']\n *         ^            ^\n *         d          d_next\n *\n * @param {Array} diffs Array of diff tuples\n * @param {Int} cursor_pos Suggested edit position. Must not be out of bounds!\n * @return {Array} Array of diff tuples\n */\nfunction fix_cursor (diffs, cursor_pos) {\n  var norm = cursor_normalize_diff(diffs, cursor_pos);\n  var ndiffs = norm[1];\n  var cursor_pointer = norm[0];\n  var d = ndiffs[cursor_pointer];\n  var d_next = ndiffs[cursor_pointer + 1];\n\n  if (d == null) {\n    // Text was deleted from end of original string,\n    // cursor is now out of bounds in new string\n    return diffs;\n  } else if (d[0] !== DIFF_EQUAL) {\n    // A modification happened at the cursor location.\n    // This is the expected outcome, so we can return the original diff.\n    return diffs;\n  } else {\n    if (d_next != null && d[1] + d_next[1] === d_next[1] + d[1]) {\n      // Case 1)\n      // It is possible to perform a naive shift\n      ndiffs.splice(cursor_pointer, 2, d_next, d)\n      return merge_tuples(ndiffs, cursor_pointer, 2)\n    } else if (d_next != null && d_next[1].indexOf(d[1]) === 0) {\n      // Case 2)\n      // d[1] is a prefix of d_next[1]\n      // We can assume that d_next[0] !== 0, since d[0] === 0\n      // Shift edit locations..\n      ndiffs.splice(cursor_pointer, 2, [d_next[0], d[1]], [0, d[1]]);\n      var suffix = d_next[1].slice(d[1].length);\n      if (suffix.length > 0) {\n        ndiffs.splice(cursor_pointer + 2, 0, [d_next[0], suffix]);\n      }\n      return merge_tuples(ndiffs, cursor_pointer, 3)\n    } else {\n      // Not possible to perform any modification\n      return diffs;\n    }\n  }\n}\n\n/*\n * Check diff did not split surrogate pairs.\n * Ex. [0, '\\uD83D'], [-1, '\\uDC36'], [1, '\\uDC2F'] -> [-1, '\\uD83D\\uDC36'], [1, '\\uD83D\\uDC2F']\n *     '\\uD83D\\uDC36' === '🐶', '\\uD83D\\uDC2F' === '🐯'\n *\n * @param {Array} diffs Array of diff tuples\n * @return {Array} Array of diff tuples\n */\nfunction fix_emoji (diffs) {\n  var compact = false;\n  var starts_with_pair_end = function(str) {\n    return str.charCodeAt(0) >= 0xDC00 && str.charCodeAt(0) <= 0xDFFF;\n  }\n  var ends_with_pair_start = function(str) {\n    return str.charCodeAt(str.length-1) >= 0xD800 && str.charCodeAt(str.length-1) <= 0xDBFF;\n  }\n  for (var i = 2; i < diffs.length; i += 1) {\n    if (diffs[i-2][0] === DIFF_EQUAL && ends_with_pair_start(diffs[i-2][1]) &&\n        diffs[i-1][0] === DIFF_DELETE && starts_with_pair_end(diffs[i-1][1]) &&\n        diffs[i][0] === DIFF_INSERT && starts_with_pair_end(diffs[i][1])) {\n      compact = true;\n\n      diffs[i-1][1] = diffs[i-2][1].slice(-1) + diffs[i-1][1];\n      diffs[i][1] = diffs[i-2][1].slice(-1) + diffs[i][1];\n\n      diffs[i-2][1] = diffs[i-2][1].slice(0, -1);\n    }\n  }\n  if (!compact) {\n    return diffs;\n  }\n  var fixed_diffs = [];\n  for (var i = 0; i < diffs.length; i += 1) {\n    if (diffs[i][1].length > 0) {\n      fixed_diffs.push(diffs[i]);\n    }\n  }\n  return fixed_diffs;\n}\n\n/*\n * Try to merge tuples with their neigbors in a given range.\n * E.g. [0, 'a'], [0, 'b'] -> [0, 'ab']\n *\n * @param {Array} diffs Array of diff tuples.\n * @param {Int} start Position of the first element to merge (diffs[start] is also merged with diffs[start - 1]).\n * @param {Int} length Number of consecutive elements to check.\n * @return {Array} Array of merged diff tuples.\n */\nfunction merge_tuples (diffs, start, length) {\n  // Check from (start-1) to (start+length).\n  for (var i = start + length - 1; i >= 0 && i >= start - 1; i--) {\n    if (i + 1 < diffs.length) {\n      var left_d = diffs[i];\n      var right_d = diffs[i+1];\n      if (left_d[0] === right_d[1]) {\n        diffs.splice(i, 2, [left_d[0], left_d[1] + right_d[1]]);\n      }\n    }\n  }\n  return diffs;\n}\n\n\n/***/ }),\n/* 52 */\n/***/ (function(module, exports) {\n\nexports = module.exports = typeof Object.keys === 'function'\n  ? Object.keys : shim;\n\nexports.shim = shim;\nfunction shim (obj) {\n  var keys = [];\n  for (var key in obj) keys.push(key);\n  return keys;\n}\n\n\n/***/ }),\n/* 53 */\n/***/ (function(module, exports) {\n\nvar supportsArgumentsClass = (function(){\n  return Object.prototype.toString.call(arguments)\n})() == '[object Arguments]';\n\nexports = module.exports = supportsArgumentsClass ? supported : unsupported;\n\nexports.supported = supported;\nfunction supported(object) {\n  return Object.prototype.toString.call(object) == '[object Arguments]';\n};\n\nexports.unsupported = unsupported;\nfunction unsupported(object){\n  return object &&\n    typeof object == 'object' &&\n    typeof object.length == 'number' &&\n    Object.prototype.hasOwnProperty.call(object, 'callee') &&\n    !Object.prototype.propertyIsEnumerable.call(object, 'callee') ||\n    false;\n};\n\n\n/***/ }),\n/* 54 */\n/***/ (function(module, exports) {\n\n'use strict';\n\nvar has = Object.prototype.hasOwnProperty\n  , prefix = '~';\n\n/**\n * Constructor to create a storage for our `EE` objects.\n * An `Events` instance is a plain object whose properties are event names.\n *\n * @constructor\n * @api private\n */\nfunction Events() {}\n\n//\n// We try to not inherit from `Object.prototype`. In some engines creating an\n// instance in this way is faster than calling `Object.create(null)` directly.\n// If `Object.create(null)` is not supported we prefix the event names with a\n// character to make sure that the built-in object properties are not\n// overridden or used as an attack vector.\n//\nif (Object.create) {\n  Events.prototype = Object.create(null);\n\n  //\n  // This hack is needed because the `__proto__` property is still inherited in\n  // some old browsers like Android 4, iPhone 5.1, Opera 11 and Safari 5.\n  //\n  if (!new Events().__proto__) prefix = false;\n}\n\n/**\n * Representation of a single event listener.\n *\n * @param {Function} fn The listener function.\n * @param {Mixed} context The context to invoke the listener with.\n * @param {Boolean} [once=false] Specify if the listener is a one-time listener.\n * @constructor\n * @api private\n */\nfunction EE(fn, context, once) {\n  this.fn = fn;\n  this.context = context;\n  this.once = once || false;\n}\n\n/**\n * Minimal `EventEmitter` interface that is molded against the Node.js\n * `EventEmitter` interface.\n *\n * @constructor\n * @api public\n */\nfunction EventEmitter() {\n  this._events = new Events();\n  this._eventsCount = 0;\n}\n\n/**\n * Return an array listing the events for which the emitter has registered\n * listeners.\n *\n * @returns {Array}\n * @api public\n */\nEventEmitter.prototype.eventNames = function eventNames() {\n  var names = []\n    , events\n    , name;\n\n  if (this._eventsCount === 0) return names;\n\n  for (name in (events = this._events)) {\n    if (has.call(events, name)) names.push(prefix ? name.slice(1) : name);\n  }\n\n  if (Object.getOwnPropertySymbols) {\n    return names.concat(Object.getOwnPropertySymbols(events));\n  }\n\n  return names;\n};\n\n/**\n * Return the listeners registered for a given event.\n *\n * @param {String|Symbol} event The event name.\n * @param {Boolean} exists Only check if there are listeners.\n * @returns {Array|Boolean}\n * @api public\n */\nEventEmitter.prototype.listeners = function listeners(event, exists) {\n  var evt = prefix ? prefix + event : event\n    , available = this._events[evt];\n\n  if (exists) return !!available;\n  if (!available) return [];\n  if (available.fn) return [available.fn];\n\n  for (var i = 0, l = available.length, ee = new Array(l); i < l; i++) {\n    ee[i] = available[i].fn;\n  }\n\n  return ee;\n};\n\n/**\n * Calls each of the listeners registered for a given event.\n *\n * @param {String|Symbol} event The event name.\n * @returns {Boolean} `true` if the event had listeners, else `false`.\n * @api public\n */\nEventEmitter.prototype.emit = function emit(event, a1, a2, a3, a4, a5) {\n  var evt = prefix ? prefix + event : event;\n\n  if (!this._events[evt]) return false;\n\n  var listeners = this._events[evt]\n    , len = arguments.length\n    , args\n    , i;\n\n  if (listeners.fn) {\n    if (listeners.once) this.removeListener(event, listeners.fn, undefined, true);\n\n    switch (len) {\n      case 1: return listeners.fn.call(listeners.context), true;\n      case 2: return listeners.fn.call(listeners.context, a1), true;\n      case 3: return listeners.fn.call(listeners.context, a1, a2), true;\n      case 4: return listeners.fn.call(listeners.context, a1, a2, a3), true;\n      case 5: return listeners.fn.call(listeners.context, a1, a2, a3, a4), true;\n      case 6: return listeners.fn.call(listeners.context, a1, a2, a3, a4, a5), true;\n    }\n\n    for (i = 1, args = new Array(len -1); i < len; i++) {\n      args[i - 1] = arguments[i];\n    }\n\n    listeners.fn.apply(listeners.context, args);\n  } else {\n    var length = listeners.length\n      , j;\n\n    for (i = 0; i < length; i++) {\n      if (listeners[i].once) this.removeListener(event, listeners[i].fn, undefined, true);\n\n      switch (len) {\n        case 1: listeners[i].fn.call(listeners[i].context); break;\n        case 2: listeners[i].fn.call(listeners[i].context, a1); break;\n        case 3: listeners[i].fn.call(listeners[i].context, a1, a2); break;\n        case 4: listeners[i].fn.call(listeners[i].context, a1, a2, a3); break;\n        default:\n          if (!args) for (j = 1, args = new Array(len -1); j < len; j++) {\n            args[j - 1] = arguments[j];\n          }\n\n          listeners[i].fn.apply(listeners[i].context, args);\n      }\n    }\n  }\n\n  return true;\n};\n\n/**\n * Add a listener for a given event.\n *\n * @param {String|Symbol} event The event name.\n * @param {Function} fn The listener function.\n * @param {Mixed} [context=this] The context to invoke the listener with.\n * @returns {EventEmitter} `this`.\n * @api public\n */\nEventEmitter.prototype.on = function on(event, fn, context) {\n  var listener = new EE(fn, context || this)\n    , evt = prefix ? prefix + event : event;\n\n  if (!this._events[evt]) this._events[evt] = listener, this._eventsCount++;\n  else if (!this._events[evt].fn) this._events[evt].push(listener);\n  else this._events[evt] = [this._events[evt], listener];\n\n  return this;\n};\n\n/**\n * Add a one-time listener for a given event.\n *\n * @param {String|Symbol} event The event name.\n * @param {Function} fn The listener function.\n * @param {Mixed} [context=this] The context to invoke the listener with.\n * @returns {EventEmitter} `this`.\n * @api public\n */\nEventEmitter.prototype.once = function once(event, fn, context) {\n  var listener = new EE(fn, context || this, true)\n    , evt = prefix ? prefix + event : event;\n\n  if (!this._events[evt]) this._events[evt] = listener, this._eventsCount++;\n  else if (!this._events[evt].fn) this._events[evt].push(listener);\n  else this._events[evt] = [this._events[evt], listener];\n\n  return this;\n};\n\n/**\n * Remove the listeners of a given event.\n *\n * @param {String|Symbol} event The event name.\n * @param {Function} fn Only remove the listeners that match this function.\n * @param {Mixed} context Only remove the listeners that have this context.\n * @param {Boolean} once Only remove one-time listeners.\n * @returns {EventEmitter} `this`.\n * @api public\n */\nEventEmitter.prototype.removeListener = function removeListener(event, fn, context, once) {\n  var evt = prefix ? prefix + event : event;\n\n  if (!this._events[evt]) return this;\n  if (!fn) {\n    if (--this._eventsCount === 0) this._events = new Events();\n    else delete this._events[evt];\n    return this;\n  }\n\n  var listeners = this._events[evt];\n\n  if (listeners.fn) {\n    if (\n         listeners.fn === fn\n      && (!once || listeners.once)\n      && (!context || listeners.context === context)\n    ) {\n      if (--this._eventsCount === 0) this._events = new Events();\n      else delete this._events[evt];\n    }\n  } else {\n    for (var i = 0, events = [], length = listeners.length; i < length; i++) {\n      if (\n           listeners[i].fn !== fn\n        || (once && !listeners[i].once)\n        || (context && listeners[i].context !== context)\n      ) {\n        events.push(listeners[i]);\n      }\n    }\n\n    //\n    // Reset the array, or remove it completely if we have no more listeners.\n    //\n    if (events.length) this._events[evt] = events.length === 1 ? events[0] : events;\n    else if (--this._eventsCount === 0) this._events = new Events();\n    else delete this._events[evt];\n  }\n\n  return this;\n};\n\n/**\n * Remove all listeners, or those of the specified event.\n *\n * @param {String|Symbol} [event] The event name.\n * @returns {EventEmitter} `this`.\n * @api public\n */\nEventEmitter.prototype.removeAllListeners = function removeAllListeners(event) {\n  var evt;\n\n  if (event) {\n    evt = prefix ? prefix + event : event;\n    if (this._events[evt]) {\n      if (--this._eventsCount === 0) this._events = new Events();\n      else delete this._events[evt];\n    }\n  } else {\n    this._events = new Events();\n    this._eventsCount = 0;\n  }\n\n  return this;\n};\n\n//\n// Alias methods names because people roll like that.\n//\nEventEmitter.prototype.off = EventEmitter.prototype.removeListener;\nEventEmitter.prototype.addListener = EventEmitter.prototype.on;\n\n//\n// This function doesn't apply anymore.\n//\nEventEmitter.prototype.setMaxListeners = function setMaxListeners() {\n  return this;\n};\n\n//\n// Expose the prefix.\n//\nEventEmitter.prefixed = prefix;\n\n//\n// Allow `EventEmitter` to be imported as module namespace.\n//\nEventEmitter.EventEmitter = EventEmitter;\n\n//\n// Expose the module.\n//\nif ('undefined' !== typeof module) {\n  module.exports = EventEmitter;\n}\n\n\n/***/ }),\n/* 55 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n  value: true\n});\nexports.matchText = exports.matchSpacing = exports.matchNewline = exports.matchBlot = exports.matchAttributor = exports.default = undefined;\n\nvar _typeof = typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; };\n\nvar _slicedToArray = function () { function sliceIterator(arr, i) { var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i[\"return\"]) _i[\"return\"](); } finally { if (_d) throw _e; } } return _arr; } return function (arr, i) { if (Array.isArray(arr)) { return arr; } else if (Symbol.iterator in Object(arr)) { return sliceIterator(arr, i); } else { throw new TypeError(\"Invalid attempt to destructure non-iterable instance\"); } }; }();\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _extend2 = __webpack_require__(3);\n\nvar _extend3 = _interopRequireDefault(_extend2);\n\nvar _quillDelta = __webpack_require__(2);\n\nvar _quillDelta2 = _interopRequireDefault(_quillDelta);\n\nvar _parchment = __webpack_require__(0);\n\nvar _parchment2 = _interopRequireDefault(_parchment);\n\nvar _quill = __webpack_require__(5);\n\nvar _quill2 = _interopRequireDefault(_quill);\n\nvar _logger = __webpack_require__(10);\n\nvar _logger2 = _interopRequireDefault(_logger);\n\nvar _module = __webpack_require__(9);\n\nvar _module2 = _interopRequireDefault(_module);\n\nvar _align = __webpack_require__(36);\n\nvar _background = __webpack_require__(37);\n\nvar _code = __webpack_require__(13);\n\nvar _code2 = _interopRequireDefault(_code);\n\nvar _color = __webpack_require__(26);\n\nvar _direction = __webpack_require__(38);\n\nvar _font = __webpack_require__(39);\n\nvar _size = __webpack_require__(40);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\nvar debug = (0, _logger2.default)('quill:clipboard');\n\nvar DOM_KEY = '__ql-matcher';\n\nvar CLIPBOARD_CONFIG = [[Node.TEXT_NODE, matchText], [Node.TEXT_NODE, matchNewline], ['br', matchBreak], [Node.ELEMENT_NODE, matchNewline], [Node.ELEMENT_NODE, matchBlot], [Node.ELEMENT_NODE, matchSpacing], [Node.ELEMENT_NODE, matchAttributor], [Node.ELEMENT_NODE, matchStyles], ['li', matchIndent], ['b', matchAlias.bind(matchAlias, 'bold')], ['i', matchAlias.bind(matchAlias, 'italic')], ['style', matchIgnore]];\n\nvar ATTRIBUTE_ATTRIBUTORS = [_align.AlignAttribute, _direction.DirectionAttribute].reduce(function (memo, attr) {\n  memo[attr.keyName] = attr;\n  return memo;\n}, {});\n\nvar STYLE_ATTRIBUTORS = [_align.AlignStyle, _background.BackgroundStyle, _color.ColorStyle, _direction.DirectionStyle, _font.FontStyle, _size.SizeStyle].reduce(function (memo, attr) {\n  memo[attr.keyName] = attr;\n  return memo;\n}, {});\n\nvar Clipboard = function (_Module) {\n  _inherits(Clipboard, _Module);\n\n  function Clipboard(quill, options) {\n    _classCallCheck(this, Clipboard);\n\n    var _this = _possibleConstructorReturn(this, (Clipboard.__proto__ || Object.getPrototypeOf(Clipboard)).call(this, quill, options));\n\n    _this.quill.root.addEventListener('paste', _this.onPaste.bind(_this));\n    _this.container = _this.quill.addContainer('ql-clipboard');\n    _this.container.setAttribute('contenteditable', true);\n    _this.container.setAttribute('tabindex', -1);\n    _this.matchers = [];\n    CLIPBOARD_CONFIG.concat(_this.options.matchers).forEach(function (_ref) {\n      var _ref2 = _slicedToArray(_ref, 2),\n          selector = _ref2[0],\n          matcher = _ref2[1];\n\n      if (!options.matchVisual && matcher === matchSpacing) return;\n      _this.addMatcher(selector, matcher);\n    });\n    return _this;\n  }\n\n  _createClass(Clipboard, [{\n    key: 'addMatcher',\n    value: function addMatcher(selector, matcher) {\n      this.matchers.push([selector, matcher]);\n    }\n  }, {\n    key: 'convert',\n    value: function convert(html) {\n      if (typeof html === 'string') {\n        this.container.innerHTML = html.replace(/\\>\\r?\\n +\\</g, '><'); // Remove spaces between tags\n        return this.convert();\n      }\n      var formats = this.quill.getFormat(this.quill.selection.savedRange.index);\n      if (formats[_code2.default.blotName]) {\n        var text = this.container.innerText;\n        this.container.innerHTML = '';\n        return new _quillDelta2.default().insert(text, _defineProperty({}, _code2.default.blotName, formats[_code2.default.blotName]));\n      }\n\n      var _prepareMatching = this.prepareMatching(),\n          _prepareMatching2 = _slicedToArray(_prepareMatching, 2),\n          elementMatchers = _prepareMatching2[0],\n          textMatchers = _prepareMatching2[1];\n\n      var delta = traverse(this.container, elementMatchers, textMatchers);\n      // Remove trailing newline\n      if (deltaEndsWith(delta, '\\n') && delta.ops[delta.ops.length - 1].attributes == null) {\n        delta = delta.compose(new _quillDelta2.default().retain(delta.length() - 1).delete(1));\n      }\n      debug.log('convert', this.container.innerHTML, delta);\n      this.container.innerHTML = '';\n      return delta;\n    }\n  }, {\n    key: 'dangerouslyPasteHTML',\n    value: function dangerouslyPasteHTML(index, html) {\n      var source = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : _quill2.default.sources.API;\n\n      if (typeof index === 'string') {\n        this.quill.setContents(this.convert(index), html);\n        this.quill.setSelection(0, _quill2.default.sources.SILENT);\n      } else {\n        var paste = this.convert(html);\n        this.quill.updateContents(new _quillDelta2.default().retain(index).concat(paste), source);\n        this.quill.setSelection(index + paste.length(), _quill2.default.sources.SILENT);\n      }\n    }\n  }, {\n    key: 'onPaste',\n    value: function onPaste(e) {\n      var _this2 = this;\n\n      if (e.defaultPrevented || !this.quill.isEnabled()) return;\n      var range = this.quill.getSelection();\n      var delta = new _quillDelta2.default().retain(range.index);\n      var scrollTop = this.quill.scrollingContainer.scrollTop;\n      this.container.focus();\n      this.quill.selection.update(_quill2.default.sources.SILENT);\n      setTimeout(function () {\n        delta = delta.concat(_this2.convert()).delete(range.length);\n        _this2.quill.updateContents(delta, _quill2.default.sources.USER);\n        // range.length contributes to delta.length()\n        _this2.quill.setSelection(delta.length() - range.length, _quill2.default.sources.SILENT);\n        _this2.quill.scrollingContainer.scrollTop = scrollTop;\n        _this2.quill.focus();\n      }, 1);\n    }\n  }, {\n    key: 'prepareMatching',\n    value: function prepareMatching() {\n      var _this3 = this;\n\n      var elementMatchers = [],\n          textMatchers = [];\n      this.matchers.forEach(function (pair) {\n        var _pair = _slicedToArray(pair, 2),\n            selector = _pair[0],\n            matcher = _pair[1];\n\n        switch (selector) {\n          case Node.TEXT_NODE:\n            textMatchers.push(matcher);\n            break;\n          case Node.ELEMENT_NODE:\n            elementMatchers.push(matcher);\n            break;\n          default:\n            [].forEach.call(_this3.container.querySelectorAll(selector), function (node) {\n              // TODO use weakmap\n              node[DOM_KEY] = node[DOM_KEY] || [];\n              node[DOM_KEY].push(matcher);\n            });\n            break;\n        }\n      });\n      return [elementMatchers, textMatchers];\n    }\n  }]);\n\n  return Clipboard;\n}(_module2.default);\n\nClipboard.DEFAULTS = {\n  matchers: [],\n  matchVisual: true\n};\n\nfunction applyFormat(delta, format, value) {\n  if ((typeof format === 'undefined' ? 'undefined' : _typeof(format)) === 'object') {\n    return Object.keys(format).reduce(function (delta, key) {\n      return applyFormat(delta, key, format[key]);\n    }, delta);\n  } else {\n    return delta.reduce(function (delta, op) {\n      if (op.attributes && op.attributes[format]) {\n        return delta.push(op);\n      } else {\n        return delta.insert(op.insert, (0, _extend3.default)({}, _defineProperty({}, format, value), op.attributes));\n      }\n    }, new _quillDelta2.default());\n  }\n}\n\nfunction computeStyle(node) {\n  if (node.nodeType !== Node.ELEMENT_NODE) return {};\n  var DOM_KEY = '__ql-computed-style';\n  return node[DOM_KEY] || (node[DOM_KEY] = window.getComputedStyle(node));\n}\n\nfunction deltaEndsWith(delta, text) {\n  var endText = \"\";\n  for (var i = delta.ops.length - 1; i >= 0 && endText.length < text.length; --i) {\n    var op = delta.ops[i];\n    if (typeof op.insert !== 'string') break;\n    endText = op.insert + endText;\n  }\n  return endText.slice(-1 * text.length) === text;\n}\n\nfunction isLine(node) {\n  if (node.childNodes.length === 0) return false; // Exclude embed blocks\n  var style = computeStyle(node);\n  return ['block', 'list-item'].indexOf(style.display) > -1;\n}\n\nfunction traverse(node, elementMatchers, textMatchers) {\n  // Post-order\n  if (node.nodeType === node.TEXT_NODE) {\n    return textMatchers.reduce(function (delta, matcher) {\n      return matcher(node, delta);\n    }, new _quillDelta2.default());\n  } else if (node.nodeType === node.ELEMENT_NODE) {\n    return [].reduce.call(node.childNodes || [], function (delta, childNode) {\n      var childrenDelta = traverse(childNode, elementMatchers, textMatchers);\n      if (childNode.nodeType === node.ELEMENT_NODE) {\n        childrenDelta = elementMatchers.reduce(function (childrenDelta, matcher) {\n          return matcher(childNode, childrenDelta);\n        }, childrenDelta);\n        childrenDelta = (childNode[DOM_KEY] || []).reduce(function (childrenDelta, matcher) {\n          return matcher(childNode, childrenDelta);\n        }, childrenDelta);\n      }\n      return delta.concat(childrenDelta);\n    }, new _quillDelta2.default());\n  } else {\n    return new _quillDelta2.default();\n  }\n}\n\nfunction matchAlias(format, node, delta) {\n  return applyFormat(delta, format, true);\n}\n\nfunction matchAttributor(node, delta) {\n  var attributes = _parchment2.default.Attributor.Attribute.keys(node);\n  var classes = _parchment2.default.Attributor.Class.keys(node);\n  var styles = _parchment2.default.Attributor.Style.keys(node);\n  var formats = {};\n  attributes.concat(classes).concat(styles).forEach(function (name) {\n    var attr = _parchment2.default.query(name, _parchment2.default.Scope.ATTRIBUTE);\n    if (attr != null) {\n      formats[attr.attrName] = attr.value(node);\n      if (formats[attr.attrName]) return;\n    }\n    attr = ATTRIBUTE_ATTRIBUTORS[name];\n    if (attr != null && (attr.attrName === name || attr.keyName === name)) {\n      formats[attr.attrName] = attr.value(node) || undefined;\n    }\n    attr = STYLE_ATTRIBUTORS[name];\n    if (attr != null && (attr.attrName === name || attr.keyName === name)) {\n      attr = STYLE_ATTRIBUTORS[name];\n      formats[attr.attrName] = attr.value(node) || undefined;\n    }\n  });\n  if (Object.keys(formats).length > 0) {\n    delta = applyFormat(delta, formats);\n  }\n  return delta;\n}\n\nfunction matchBlot(node, delta) {\n  var match = _parchment2.default.query(node);\n  if (match == null) return delta;\n  if (match.prototype instanceof _parchment2.default.Embed) {\n    var embed = {};\n    var value = match.value(node);\n    if (value != null) {\n      embed[match.blotName] = value;\n      delta = new _quillDelta2.default().insert(embed, match.formats(node));\n    }\n  } else if (typeof match.formats === 'function') {\n    delta = applyFormat(delta, match.blotName, match.formats(node));\n  }\n  return delta;\n}\n\nfunction matchBreak(node, delta) {\n  if (!deltaEndsWith(delta, '\\n')) {\n    delta.insert('\\n');\n  }\n  return delta;\n}\n\nfunction matchIgnore() {\n  return new _quillDelta2.default();\n}\n\nfunction matchIndent(node, delta) {\n  var match = _parchment2.default.query(node);\n  if (match == null || match.blotName !== 'list-item' || !deltaEndsWith(delta, '\\n')) {\n    return delta;\n  }\n  var indent = -1,\n      parent = node.parentNode;\n  while (!parent.classList.contains('ql-clipboard')) {\n    if ((_parchment2.default.query(parent) || {}).blotName === 'list') {\n      indent += 1;\n    }\n    parent = parent.parentNode;\n  }\n  if (indent <= 0) return delta;\n  return delta.compose(new _quillDelta2.default().retain(delta.length() - 1).retain(1, { indent: indent }));\n}\n\nfunction matchNewline(node, delta) {\n  if (!deltaEndsWith(delta, '\\n')) {\n    if (isLine(node) || delta.length() > 0 && node.nextSibling && isLine(node.nextSibling)) {\n      delta.insert('\\n');\n    }\n  }\n  return delta;\n}\n\nfunction matchSpacing(node, delta) {\n  if (isLine(node) && node.nextElementSibling != null && !deltaEndsWith(delta, '\\n\\n')) {\n    var nodeHeight = node.offsetHeight + parseFloat(computeStyle(node).marginTop) + parseFloat(computeStyle(node).marginBottom);\n    if (node.nextElementSibling.offsetTop > node.offsetTop + nodeHeight * 1.5) {\n      delta.insert('\\n');\n    }\n  }\n  return delta;\n}\n\nfunction matchStyles(node, delta) {\n  var formats = {};\n  var style = node.style || {};\n  if (style.fontStyle && computeStyle(node).fontStyle === 'italic') {\n    formats.italic = true;\n  }\n  if (style.fontWeight && (computeStyle(node).fontWeight.startsWith('bold') || parseInt(computeStyle(node).fontWeight) >= 700)) {\n    formats.bold = true;\n  }\n  if (Object.keys(formats).length > 0) {\n    delta = applyFormat(delta, formats);\n  }\n  if (parseFloat(style.textIndent || 0) > 0) {\n    // Could be 0.5in\n    delta = new _quillDelta2.default().insert('\\t').concat(delta);\n  }\n  return delta;\n}\n\nfunction matchText(node, delta) {\n  var text = node.data;\n  // Word represents empty line with <o:p>&nbsp;</o:p>\n  if (node.parentNode.tagName === 'O:P') {\n    return delta.insert(text.trim());\n  }\n  if (text.trim().length === 0 && node.parentNode.classList.contains('ql-clipboard')) {\n    return delta;\n  }\n  if (!computeStyle(node.parentNode).whiteSpace.startsWith('pre')) {\n    // eslint-disable-next-line func-style\n    var replacer = function replacer(collapse, match) {\n      match = match.replace(/[^\\u00a0]/g, ''); // \\u00a0 is nbsp;\n      return match.length < 1 && collapse ? ' ' : match;\n    };\n    text = text.replace(/\\r\\n/g, ' ').replace(/\\n/g, ' ');\n    text = text.replace(/\\s\\s+/g, replacer.bind(replacer, true)); // collapse whitespace\n    if (node.previousSibling == null && isLine(node.parentNode) || node.previousSibling != null && isLine(node.previousSibling)) {\n      text = text.replace(/^\\s+/, replacer.bind(replacer, false));\n    }\n    if (node.nextSibling == null && isLine(node.parentNode) || node.nextSibling != null && isLine(node.nextSibling)) {\n      text = text.replace(/\\s+$/, replacer.bind(replacer, false));\n    }\n  }\n  return delta.insert(text);\n}\n\nexports.default = Clipboard;\nexports.matchAttributor = matchAttributor;\nexports.matchBlot = matchBlot;\nexports.matchNewline = matchNewline;\nexports.matchSpacing = matchSpacing;\nexports.matchText = matchText;\n\n/***/ }),\n/* 56 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n  value: true\n});\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _get = function get(object, property, receiver) { if (object === null) object = Function.prototype; var desc = Object.getOwnPropertyDescriptor(object, property); if (desc === undefined) { var parent = Object.getPrototypeOf(object); if (parent === null) { return undefined; } else { return get(parent, property, receiver); } } else if (\"value\" in desc) { return desc.value; } else { var getter = desc.get; if (getter === undefined) { return undefined; } return getter.call(receiver); } };\n\nvar _inline = __webpack_require__(6);\n\nvar _inline2 = _interopRequireDefault(_inline);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\nvar Bold = function (_Inline) {\n  _inherits(Bold, _Inline);\n\n  function Bold() {\n    _classCallCheck(this, Bold);\n\n    return _possibleConstructorReturn(this, (Bold.__proto__ || Object.getPrototypeOf(Bold)).apply(this, arguments));\n  }\n\n  _createClass(Bold, [{\n    key: 'optimize',\n    value: function optimize(context) {\n      _get(Bold.prototype.__proto__ || Object.getPrototypeOf(Bold.prototype), 'optimize', this).call(this, context);\n      if (this.domNode.tagName !== this.statics.tagName[0]) {\n        this.replaceWith(this.statics.blotName);\n      }\n    }\n  }], [{\n    key: 'create',\n    value: function create() {\n      return _get(Bold.__proto__ || Object.getPrototypeOf(Bold), 'create', this).call(this);\n    }\n  }, {\n    key: 'formats',\n    value: function formats() {\n      return true;\n    }\n  }]);\n\n  return Bold;\n}(_inline2.default);\n\nBold.blotName = 'bold';\nBold.tagName = ['STRONG', 'B'];\n\nexports.default = Bold;\n\n/***/ }),\n/* 57 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n  value: true\n});\nexports.addControls = exports.default = undefined;\n\nvar _slicedToArray = function () { function sliceIterator(arr, i) { var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i[\"return\"]) _i[\"return\"](); } finally { if (_d) throw _e; } } return _arr; } return function (arr, i) { if (Array.isArray(arr)) { return arr; } else if (Symbol.iterator in Object(arr)) { return sliceIterator(arr, i); } else { throw new TypeError(\"Invalid attempt to destructure non-iterable instance\"); } }; }();\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _quillDelta = __webpack_require__(2);\n\nvar _quillDelta2 = _interopRequireDefault(_quillDelta);\n\nvar _parchment = __webpack_require__(0);\n\nvar _parchment2 = _interopRequireDefault(_parchment);\n\nvar _quill = __webpack_require__(5);\n\nvar _quill2 = _interopRequireDefault(_quill);\n\nvar _logger = __webpack_require__(10);\n\nvar _logger2 = _interopRequireDefault(_logger);\n\nvar _module = __webpack_require__(9);\n\nvar _module2 = _interopRequireDefault(_module);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\nvar debug = (0, _logger2.default)('quill:toolbar');\n\nvar Toolbar = function (_Module) {\n  _inherits(Toolbar, _Module);\n\n  function Toolbar(quill, options) {\n    _classCallCheck(this, Toolbar);\n\n    var _this = _possibleConstructorReturn(this, (Toolbar.__proto__ || Object.getPrototypeOf(Toolbar)).call(this, quill, options));\n\n    if (Array.isArray(_this.options.container)) {\n      var container = document.createElement('div');\n      addControls(container, _this.options.container);\n      quill.container.parentNode.insertBefore(container, quill.container);\n      _this.container = container;\n    } else if (typeof _this.options.container === 'string') {\n      _this.container = document.querySelector(_this.options.container);\n    } else {\n      _this.container = _this.options.container;\n    }\n    if (!(_this.container instanceof HTMLElement)) {\n      var _ret;\n\n      return _ret = debug.error('Container required for toolbar', _this.options), _possibleConstructorReturn(_this, _ret);\n    }\n    _this.container.classList.add('ql-toolbar');\n    _this.controls = [];\n    _this.handlers = {};\n    Object.keys(_this.options.handlers).forEach(function (format) {\n      _this.addHandler(format, _this.options.handlers[format]);\n    });\n    [].forEach.call(_this.container.querySelectorAll('button, select'), function (input) {\n      _this.attach(input);\n    });\n    _this.quill.on(_quill2.default.events.EDITOR_CHANGE, function (type, range) {\n      if (type === _quill2.default.events.SELECTION_CHANGE) {\n        _this.update(range);\n      }\n    });\n    _this.quill.on(_quill2.default.events.SCROLL_OPTIMIZE, function () {\n      var _this$quill$selection = _this.quill.selection.getRange(),\n          _this$quill$selection2 = _slicedToArray(_this$quill$selection, 1),\n          range = _this$quill$selection2[0]; // quill.getSelection triggers update\n\n\n      _this.update(range);\n    });\n    return _this;\n  }\n\n  _createClass(Toolbar, [{\n    key: 'addHandler',\n    value: function addHandler(format, handler) {\n      this.handlers[format] = handler;\n    }\n  }, {\n    key: 'attach',\n    value: function attach(input) {\n      var _this2 = this;\n\n      var format = [].find.call(input.classList, function (className) {\n        return className.indexOf('ql-') === 0;\n      });\n      if (!format) return;\n      format = format.slice('ql-'.length);\n      if (input.tagName === 'BUTTON') {\n        input.setAttribute('type', 'button');\n      }\n      if (this.handlers[format] == null) {\n        if (this.quill.scroll.whitelist != null && this.quill.scroll.whitelist[format] == null) {\n          debug.warn('ignoring attaching to disabled format', format, input);\n          return;\n        }\n        if (_parchment2.default.query(format) == null) {\n          debug.warn('ignoring attaching to nonexistent format', format, input);\n          return;\n        }\n      }\n      var eventName = input.tagName === 'SELECT' ? 'change' : 'click';\n      input.addEventListener(eventName, function (e) {\n        var value = void 0;\n        if (input.tagName === 'SELECT') {\n          if (input.selectedIndex < 0) return;\n          var selected = input.options[input.selectedIndex];\n          if (selected.hasAttribute('selected')) {\n            value = false;\n          } else {\n            value = selected.value || false;\n          }\n        } else {\n          if (input.classList.contains('ql-active')) {\n            value = false;\n          } else {\n            value = input.value || !input.hasAttribute('value');\n          }\n          e.preventDefault();\n        }\n        _this2.quill.focus();\n\n        var _quill$selection$getR = _this2.quill.selection.getRange(),\n            _quill$selection$getR2 = _slicedToArray(_quill$selection$getR, 1),\n            range = _quill$selection$getR2[0];\n\n        if (_this2.handlers[format] != null) {\n          _this2.handlers[format].call(_this2, value);\n        } else if (_parchment2.default.query(format).prototype instanceof _parchment2.default.Embed) {\n          value = prompt('Enter ' + format);\n          if (!value) return;\n          _this2.quill.updateContents(new _quillDelta2.default().retain(range.index).delete(range.length).insert(_defineProperty({}, format, value)), _quill2.default.sources.USER);\n        } else {\n          _this2.quill.format(format, value, _quill2.default.sources.USER);\n        }\n        _this2.update(range);\n      });\n      // TODO use weakmap\n      this.controls.push([format, input]);\n    }\n  }, {\n    key: 'update',\n    value: function update(range) {\n      var formats = range == null ? {} : this.quill.getFormat(range);\n      this.controls.forEach(function (pair) {\n        var _pair = _slicedToArray(pair, 2),\n            format = _pair[0],\n            input = _pair[1];\n\n        if (input.tagName === 'SELECT') {\n          var option = void 0;\n          if (range == null) {\n            option = null;\n          } else if (formats[format] == null) {\n            option = input.querySelector('option[selected]');\n          } else if (!Array.isArray(formats[format])) {\n            var value = formats[format];\n            if (typeof value === 'string') {\n              value = value.replace(/\\\"/g, '\\\\\"');\n            }\n            option = input.querySelector('option[value=\"' + value + '\"]');\n          }\n          if (option == null) {\n            input.value = ''; // TODO make configurable?\n            input.selectedIndex = -1;\n          } else {\n            option.selected = true;\n          }\n        } else {\n          if (range == null) {\n            input.classList.remove('ql-active');\n          } else if (input.hasAttribute('value')) {\n            // both being null should match (default values)\n            // '1' should match with 1 (headers)\n            var isActive = formats[format] === input.getAttribute('value') || formats[format] != null && formats[format].toString() === input.getAttribute('value') || formats[format] == null && !input.getAttribute('value');\n            input.classList.toggle('ql-active', isActive);\n          } else {\n            input.classList.toggle('ql-active', formats[format] != null);\n          }\n        }\n      });\n    }\n  }]);\n\n  return Toolbar;\n}(_module2.default);\n\nToolbar.DEFAULTS = {};\n\nfunction addButton(container, format, value) {\n  var input = document.createElement('button');\n  input.setAttribute('type', 'button');\n  input.classList.add('ql-' + format);\n  if (value != null) {\n    input.value = value;\n  }\n  container.appendChild(input);\n}\n\nfunction addControls(container, groups) {\n  if (!Array.isArray(groups[0])) {\n    groups = [groups];\n  }\n  groups.forEach(function (controls) {\n    var group = document.createElement('span');\n    group.classList.add('ql-formats');\n    controls.forEach(function (control) {\n      if (typeof control === 'string') {\n        addButton(group, control);\n      } else {\n        var format = Object.keys(control)[0];\n        var value = control[format];\n        if (Array.isArray(value)) {\n          addSelect(group, format, value);\n        } else {\n          addButton(group, format, value);\n        }\n      }\n    });\n    container.appendChild(group);\n  });\n}\n\nfunction addSelect(container, format, values) {\n  var input = document.createElement('select');\n  input.classList.add('ql-' + format);\n  values.forEach(function (value) {\n    var option = document.createElement('option');\n    if (value !== false) {\n      option.setAttribute('value', value);\n    } else {\n      option.setAttribute('selected', 'selected');\n    }\n    input.appendChild(option);\n  });\n  container.appendChild(input);\n}\n\nToolbar.DEFAULTS = {\n  container: null,\n  handlers: {\n    clean: function clean() {\n      var _this3 = this;\n\n      var range = this.quill.getSelection();\n      if (range == null) return;\n      if (range.length == 0) {\n        var formats = this.quill.getFormat();\n        Object.keys(formats).forEach(function (name) {\n          // Clean functionality in existing apps only clean inline formats\n          if (_parchment2.default.query(name, _parchment2.default.Scope.INLINE) != null) {\n            _this3.quill.format(name, false);\n          }\n        });\n      } else {\n        this.quill.removeFormat(range, _quill2.default.sources.USER);\n      }\n    },\n    direction: function direction(value) {\n      var align = this.quill.getFormat()['align'];\n      if (value === 'rtl' && align == null) {\n        this.quill.format('align', 'right', _quill2.default.sources.USER);\n      } else if (!value && align === 'right') {\n        this.quill.format('align', false, _quill2.default.sources.USER);\n      }\n      this.quill.format('direction', value, _quill2.default.sources.USER);\n    },\n    indent: function indent(value) {\n      var range = this.quill.getSelection();\n      var formats = this.quill.getFormat(range);\n      var indent = parseInt(formats.indent || 0);\n      if (value === '+1' || value === '-1') {\n        var modifier = value === '+1' ? 1 : -1;\n        if (formats.direction === 'rtl') modifier *= -1;\n        this.quill.format('indent', indent + modifier, _quill2.default.sources.USER);\n      }\n    },\n    link: function link(value) {\n      if (value === true) {\n        value = prompt('Enter link URL:');\n      }\n      this.quill.format('link', value, _quill2.default.sources.USER);\n    },\n    list: function list(value) {\n      var range = this.quill.getSelection();\n      var formats = this.quill.getFormat(range);\n      if (value === 'check') {\n        if (formats['list'] === 'checked' || formats['list'] === 'unchecked') {\n          this.quill.format('list', false, _quill2.default.sources.USER);\n        } else {\n          this.quill.format('list', 'unchecked', _quill2.default.sources.USER);\n        }\n      } else {\n        this.quill.format('list', value, _quill2.default.sources.USER);\n      }\n    }\n  }\n};\n\nexports.default = Toolbar;\nexports.addControls = addControls;\n\n/***/ }),\n/* 58 */\n/***/ (function(module, exports) {\n\nmodule.exports = \"<svg viewbox=\\\"0 0 18 18\\\"> <polyline class=\\\"ql-even ql-stroke\\\" points=\\\"5 7 3 9 5 11\\\"></polyline> <polyline class=\\\"ql-even ql-stroke\\\" points=\\\"13 7 15 9 13 11\\\"></polyline> <line class=ql-stroke x1=10 x2=8 y1=5 y2=13></line> </svg>\";\n\n/***/ }),\n/* 59 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n  value: true\n});\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _get = function get(object, property, receiver) { if (object === null) object = Function.prototype; var desc = Object.getOwnPropertyDescriptor(object, property); if (desc === undefined) { var parent = Object.getPrototypeOf(object); if (parent === null) { return undefined; } else { return get(parent, property, receiver); } } else if (\"value\" in desc) { return desc.value; } else { var getter = desc.get; if (getter === undefined) { return undefined; } return getter.call(receiver); } };\n\nvar _picker = __webpack_require__(28);\n\nvar _picker2 = _interopRequireDefault(_picker);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\nvar ColorPicker = function (_Picker) {\n  _inherits(ColorPicker, _Picker);\n\n  function ColorPicker(select, label) {\n    _classCallCheck(this, ColorPicker);\n\n    var _this = _possibleConstructorReturn(this, (ColorPicker.__proto__ || Object.getPrototypeOf(ColorPicker)).call(this, select));\n\n    _this.label.innerHTML = label;\n    _this.container.classList.add('ql-color-picker');\n    [].slice.call(_this.container.querySelectorAll('.ql-picker-item'), 0, 7).forEach(function (item) {\n      item.classList.add('ql-primary');\n    });\n    return _this;\n  }\n\n  _createClass(ColorPicker, [{\n    key: 'buildItem',\n    value: function buildItem(option) {\n      var item = _get(ColorPicker.prototype.__proto__ || Object.getPrototypeOf(ColorPicker.prototype), 'buildItem', this).call(this, option);\n      item.style.backgroundColor = option.getAttribute('value') || '';\n      return item;\n    }\n  }, {\n    key: 'selectItem',\n    value: function selectItem(item, trigger) {\n      _get(ColorPicker.prototype.__proto__ || Object.getPrototypeOf(ColorPicker.prototype), 'selectItem', this).call(this, item, trigger);\n      var colorLabel = this.label.querySelector('.ql-color-label');\n      var value = item ? item.getAttribute('data-value') || '' : '';\n      if (colorLabel) {\n        if (colorLabel.tagName === 'line') {\n          colorLabel.style.stroke = value;\n        } else {\n          colorLabel.style.fill = value;\n        }\n      }\n    }\n  }]);\n\n  return ColorPicker;\n}(_picker2.default);\n\nexports.default = ColorPicker;\n\n/***/ }),\n/* 60 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n  value: true\n});\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _get = function get(object, property, receiver) { if (object === null) object = Function.prototype; var desc = Object.getOwnPropertyDescriptor(object, property); if (desc === undefined) { var parent = Object.getPrototypeOf(object); if (parent === null) { return undefined; } else { return get(parent, property, receiver); } } else if (\"value\" in desc) { return desc.value; } else { var getter = desc.get; if (getter === undefined) { return undefined; } return getter.call(receiver); } };\n\nvar _picker = __webpack_require__(28);\n\nvar _picker2 = _interopRequireDefault(_picker);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\nvar IconPicker = function (_Picker) {\n  _inherits(IconPicker, _Picker);\n\n  function IconPicker(select, icons) {\n    _classCallCheck(this, IconPicker);\n\n    var _this = _possibleConstructorReturn(this, (IconPicker.__proto__ || Object.getPrototypeOf(IconPicker)).call(this, select));\n\n    _this.container.classList.add('ql-icon-picker');\n    [].forEach.call(_this.container.querySelectorAll('.ql-picker-item'), function (item) {\n      item.innerHTML = icons[item.getAttribute('data-value') || ''];\n    });\n    _this.defaultItem = _this.container.querySelector('.ql-selected');\n    _this.selectItem(_this.defaultItem);\n    return _this;\n  }\n\n  _createClass(IconPicker, [{\n    key: 'selectItem',\n    value: function selectItem(item, trigger) {\n      _get(IconPicker.prototype.__proto__ || Object.getPrototypeOf(IconPicker.prototype), 'selectItem', this).call(this, item, trigger);\n      item = item || this.defaultItem;\n      this.label.innerHTML = item.innerHTML;\n    }\n  }]);\n\n  return IconPicker;\n}(_picker2.default);\n\nexports.default = IconPicker;\n\n/***/ }),\n/* 61 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n  value: true\n});\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nvar Tooltip = function () {\n  function Tooltip(quill, boundsContainer) {\n    var _this = this;\n\n    _classCallCheck(this, Tooltip);\n\n    this.quill = quill;\n    this.boundsContainer = boundsContainer || document.body;\n    this.root = quill.addContainer('ql-tooltip');\n    this.root.innerHTML = this.constructor.TEMPLATE;\n    if (this.quill.root === this.quill.scrollingContainer) {\n      this.quill.root.addEventListener('scroll', function () {\n        _this.root.style.marginTop = -1 * _this.quill.root.scrollTop + 'px';\n      });\n    }\n    this.hide();\n  }\n\n  _createClass(Tooltip, [{\n    key: 'hide',\n    value: function hide() {\n      this.root.classList.add('ql-hidden');\n    }\n  }, {\n    key: 'position',\n    value: function position(reference) {\n      var left = reference.left + reference.width / 2 - this.root.offsetWidth / 2;\n      // root.scrollTop should be 0 if scrollContainer !== root\n      var top = reference.bottom + this.quill.root.scrollTop;\n      this.root.style.left = left + 'px';\n      this.root.style.top = top + 'px';\n      this.root.classList.remove('ql-flip');\n      var containerBounds = this.boundsContainer.getBoundingClientRect();\n      var rootBounds = this.root.getBoundingClientRect();\n      var shift = 0;\n      if (rootBounds.right > containerBounds.right) {\n        shift = containerBounds.right - rootBounds.right;\n        this.root.style.left = left + shift + 'px';\n      }\n      if (rootBounds.left < containerBounds.left) {\n        shift = containerBounds.left - rootBounds.left;\n        this.root.style.left = left + shift + 'px';\n      }\n      if (rootBounds.bottom > containerBounds.bottom) {\n        var height = rootBounds.bottom - rootBounds.top;\n        var verticalShift = reference.bottom - reference.top + height;\n        this.root.style.top = top - verticalShift + 'px';\n        this.root.classList.add('ql-flip');\n      }\n      return shift;\n    }\n  }, {\n    key: 'show',\n    value: function show() {\n      this.root.classList.remove('ql-editing');\n      this.root.classList.remove('ql-hidden');\n    }\n  }]);\n\n  return Tooltip;\n}();\n\nexports.default = Tooltip;\n\n/***/ }),\n/* 62 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n  value: true\n});\n\nvar _slicedToArray = function () { function sliceIterator(arr, i) { var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i[\"return\"]) _i[\"return\"](); } finally { if (_d) throw _e; } } return _arr; } return function (arr, i) { if (Array.isArray(arr)) { return arr; } else if (Symbol.iterator in Object(arr)) { return sliceIterator(arr, i); } else { throw new TypeError(\"Invalid attempt to destructure non-iterable instance\"); } }; }();\n\nvar _get = function get(object, property, receiver) { if (object === null) object = Function.prototype; var desc = Object.getOwnPropertyDescriptor(object, property); if (desc === undefined) { var parent = Object.getPrototypeOf(object); if (parent === null) { return undefined; } else { return get(parent, property, receiver); } } else if (\"value\" in desc) { return desc.value; } else { var getter = desc.get; if (getter === undefined) { return undefined; } return getter.call(receiver); } };\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _extend = __webpack_require__(3);\n\nvar _extend2 = _interopRequireDefault(_extend);\n\nvar _emitter = __webpack_require__(8);\n\nvar _emitter2 = _interopRequireDefault(_emitter);\n\nvar _base = __webpack_require__(43);\n\nvar _base2 = _interopRequireDefault(_base);\n\nvar _link = __webpack_require__(27);\n\nvar _link2 = _interopRequireDefault(_link);\n\nvar _selection = __webpack_require__(15);\n\nvar _icons = __webpack_require__(41);\n\nvar _icons2 = _interopRequireDefault(_icons);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\nvar TOOLBAR_CONFIG = [[{ header: ['1', '2', '3', false] }], ['bold', 'italic', 'underline', 'link'], [{ list: 'ordered' }, { list: 'bullet' }], ['clean']];\n\nvar SnowTheme = function (_BaseTheme) {\n  _inherits(SnowTheme, _BaseTheme);\n\n  function SnowTheme(quill, options) {\n    _classCallCheck(this, SnowTheme);\n\n    if (options.modules.toolbar != null && options.modules.toolbar.container == null) {\n      options.modules.toolbar.container = TOOLBAR_CONFIG;\n    }\n\n    var _this = _possibleConstructorReturn(this, (SnowTheme.__proto__ || Object.getPrototypeOf(SnowTheme)).call(this, quill, options));\n\n    _this.quill.container.classList.add('ql-snow');\n    return _this;\n  }\n\n  _createClass(SnowTheme, [{\n    key: 'extendToolbar',\n    value: function extendToolbar(toolbar) {\n      toolbar.container.classList.add('ql-snow');\n      this.buildButtons([].slice.call(toolbar.container.querySelectorAll('button')), _icons2.default);\n      this.buildPickers([].slice.call(toolbar.container.querySelectorAll('select')), _icons2.default);\n      this.tooltip = new SnowTooltip(this.quill, this.options.bounds);\n      if (toolbar.container.querySelector('.ql-link')) {\n        this.quill.keyboard.addBinding({ key: 'K', shortKey: true }, function (range, context) {\n          toolbar.handlers['link'].call(toolbar, !context.format.link);\n        });\n      }\n    }\n  }]);\n\n  return SnowTheme;\n}(_base2.default);\n\nSnowTheme.DEFAULTS = (0, _extend2.default)(true, {}, _base2.default.DEFAULTS, {\n  modules: {\n    toolbar: {\n      handlers: {\n        link: function link(value) {\n          if (value) {\n            var range = this.quill.getSelection();\n            if (range == null || range.length == 0) return;\n            var preview = this.quill.getText(range);\n            if (/^\\S+@\\S+\\.\\S+$/.test(preview) && preview.indexOf('mailto:') !== 0) {\n              preview = 'mailto:' + preview;\n            }\n            var tooltip = this.quill.theme.tooltip;\n            tooltip.edit('link', preview);\n          } else {\n            this.quill.format('link', false);\n          }\n        }\n      }\n    }\n  }\n});\n\nvar SnowTooltip = function (_BaseTooltip) {\n  _inherits(SnowTooltip, _BaseTooltip);\n\n  function SnowTooltip(quill, bounds) {\n    _classCallCheck(this, SnowTooltip);\n\n    var _this2 = _possibleConstructorReturn(this, (SnowTooltip.__proto__ || Object.getPrototypeOf(SnowTooltip)).call(this, quill, bounds));\n\n    _this2.preview = _this2.root.querySelector('a.ql-preview');\n    return _this2;\n  }\n\n  _createClass(SnowTooltip, [{\n    key: 'listen',\n    value: function listen() {\n      var _this3 = this;\n\n      _get(SnowTooltip.prototype.__proto__ || Object.getPrototypeOf(SnowTooltip.prototype), 'listen', this).call(this);\n      this.root.querySelector('a.ql-action').addEventListener('click', function (event) {\n        if (_this3.root.classList.contains('ql-editing')) {\n          _this3.save();\n        } else {\n          _this3.edit('link', _this3.preview.textContent);\n        }\n        event.preventDefault();\n      });\n      this.root.querySelector('a.ql-remove').addEventListener('click', function (event) {\n        if (_this3.linkRange != null) {\n          var range = _this3.linkRange;\n          _this3.restoreFocus();\n          _this3.quill.formatText(range, 'link', false, _emitter2.default.sources.USER);\n          delete _this3.linkRange;\n        }\n        event.preventDefault();\n        _this3.hide();\n      });\n      this.quill.on(_emitter2.default.events.SELECTION_CHANGE, function (range, oldRange, source) {\n        if (range == null) return;\n        if (range.length === 0 && source === _emitter2.default.sources.USER) {\n          var _quill$scroll$descend = _this3.quill.scroll.descendant(_link2.default, range.index),\n              _quill$scroll$descend2 = _slicedToArray(_quill$scroll$descend, 2),\n              link = _quill$scroll$descend2[0],\n              offset = _quill$scroll$descend2[1];\n\n          if (link != null) {\n            _this3.linkRange = new _selection.Range(range.index - offset, link.length());\n            var preview = _link2.default.formats(link.domNode);\n            _this3.preview.textContent = preview;\n            _this3.preview.setAttribute('href', preview);\n            _this3.show();\n            _this3.position(_this3.quill.getBounds(_this3.linkRange));\n            return;\n          }\n        } else {\n          delete _this3.linkRange;\n        }\n        _this3.hide();\n      });\n    }\n  }, {\n    key: 'show',\n    value: function show() {\n      _get(SnowTooltip.prototype.__proto__ || Object.getPrototypeOf(SnowTooltip.prototype), 'show', this).call(this);\n      this.root.removeAttribute('data-mode');\n    }\n  }]);\n\n  return SnowTooltip;\n}(_base.BaseTooltip);\n\nSnowTooltip.TEMPLATE = ['<a class=\"ql-preview\" rel=\"noopener noreferrer\" target=\"_blank\" href=\"about:blank\"></a>', '<input type=\"text\" data-formula=\"e=mc^2\" data-link=\"https://quilljs.com\" data-video=\"Embed URL\">', '<a class=\"ql-action\"></a>', '<a class=\"ql-remove\"></a>'].join('');\n\nexports.default = SnowTheme;\n\n/***/ }),\n/* 63 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n  value: true\n});\n\nvar _core = __webpack_require__(29);\n\nvar _core2 = _interopRequireDefault(_core);\n\nvar _align = __webpack_require__(36);\n\nvar _direction = __webpack_require__(38);\n\nvar _indent = __webpack_require__(64);\n\nvar _blockquote = __webpack_require__(65);\n\nvar _blockquote2 = _interopRequireDefault(_blockquote);\n\nvar _header = __webpack_require__(66);\n\nvar _header2 = _interopRequireDefault(_header);\n\nvar _list = __webpack_require__(67);\n\nvar _list2 = _interopRequireDefault(_list);\n\nvar _background = __webpack_require__(37);\n\nvar _color = __webpack_require__(26);\n\nvar _font = __webpack_require__(39);\n\nvar _size = __webpack_require__(40);\n\nvar _bold = __webpack_require__(56);\n\nvar _bold2 = _interopRequireDefault(_bold);\n\nvar _italic = __webpack_require__(68);\n\nvar _italic2 = _interopRequireDefault(_italic);\n\nvar _link = __webpack_require__(27);\n\nvar _link2 = _interopRequireDefault(_link);\n\nvar _script = __webpack_require__(69);\n\nvar _script2 = _interopRequireDefault(_script);\n\nvar _strike = __webpack_require__(70);\n\nvar _strike2 = _interopRequireDefault(_strike);\n\nvar _underline = __webpack_require__(71);\n\nvar _underline2 = _interopRequireDefault(_underline);\n\nvar _image = __webpack_require__(72);\n\nvar _image2 = _interopRequireDefault(_image);\n\nvar _video = __webpack_require__(73);\n\nvar _video2 = _interopRequireDefault(_video);\n\nvar _code = __webpack_require__(13);\n\nvar _code2 = _interopRequireDefault(_code);\n\nvar _formula = __webpack_require__(74);\n\nvar _formula2 = _interopRequireDefault(_formula);\n\nvar _syntax = __webpack_require__(75);\n\nvar _syntax2 = _interopRequireDefault(_syntax);\n\nvar _toolbar = __webpack_require__(57);\n\nvar _toolbar2 = _interopRequireDefault(_toolbar);\n\nvar _icons = __webpack_require__(41);\n\nvar _icons2 = _interopRequireDefault(_icons);\n\nvar _picker = __webpack_require__(28);\n\nvar _picker2 = _interopRequireDefault(_picker);\n\nvar _colorPicker = __webpack_require__(59);\n\nvar _colorPicker2 = _interopRequireDefault(_colorPicker);\n\nvar _iconPicker = __webpack_require__(60);\n\nvar _iconPicker2 = _interopRequireDefault(_iconPicker);\n\nvar _tooltip = __webpack_require__(61);\n\nvar _tooltip2 = _interopRequireDefault(_tooltip);\n\nvar _bubble = __webpack_require__(108);\n\nvar _bubble2 = _interopRequireDefault(_bubble);\n\nvar _snow = __webpack_require__(62);\n\nvar _snow2 = _interopRequireDefault(_snow);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n_core2.default.register({\n  'attributors/attribute/direction': _direction.DirectionAttribute,\n\n  'attributors/class/align': _align.AlignClass,\n  'attributors/class/background': _background.BackgroundClass,\n  'attributors/class/color': _color.ColorClass,\n  'attributors/class/direction': _direction.DirectionClass,\n  'attributors/class/font': _font.FontClass,\n  'attributors/class/size': _size.SizeClass,\n\n  'attributors/style/align': _align.AlignStyle,\n  'attributors/style/background': _background.BackgroundStyle,\n  'attributors/style/color': _color.ColorStyle,\n  'attributors/style/direction': _direction.DirectionStyle,\n  'attributors/style/font': _font.FontStyle,\n  'attributors/style/size': _size.SizeStyle\n}, true);\n\n_core2.default.register({\n  'formats/align': _align.AlignClass,\n  'formats/direction': _direction.DirectionClass,\n  'formats/indent': _indent.IndentClass,\n\n  'formats/background': _background.BackgroundStyle,\n  'formats/color': _color.ColorStyle,\n  'formats/font': _font.FontClass,\n  'formats/size': _size.SizeClass,\n\n  'formats/blockquote': _blockquote2.default,\n  'formats/code-block': _code2.default,\n  'formats/header': _header2.default,\n  'formats/list': _list2.default,\n\n  'formats/bold': _bold2.default,\n  'formats/code': _code.Code,\n  'formats/italic': _italic2.default,\n  'formats/link': _link2.default,\n  'formats/script': _script2.default,\n  'formats/strike': _strike2.default,\n  'formats/underline': _underline2.default,\n\n  'formats/image': _image2.default,\n  'formats/video': _video2.default,\n\n  'formats/list/item': _list.ListItem,\n\n  'modules/formula': _formula2.default,\n  'modules/syntax': _syntax2.default,\n  'modules/toolbar': _toolbar2.default,\n\n  'themes/bubble': _bubble2.default,\n  'themes/snow': _snow2.default,\n\n  'ui/icons': _icons2.default,\n  'ui/picker': _picker2.default,\n  'ui/icon-picker': _iconPicker2.default,\n  'ui/color-picker': _colorPicker2.default,\n  'ui/tooltip': _tooltip2.default\n}, true);\n\nexports.default = _core2.default;\n\n/***/ }),\n/* 64 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n  value: true\n});\nexports.IndentClass = undefined;\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _get = function get(object, property, receiver) { if (object === null) object = Function.prototype; var desc = Object.getOwnPropertyDescriptor(object, property); if (desc === undefined) { var parent = Object.getPrototypeOf(object); if (parent === null) { return undefined; } else { return get(parent, property, receiver); } } else if (\"value\" in desc) { return desc.value; } else { var getter = desc.get; if (getter === undefined) { return undefined; } return getter.call(receiver); } };\n\nvar _parchment = __webpack_require__(0);\n\nvar _parchment2 = _interopRequireDefault(_parchment);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\nvar IdentAttributor = function (_Parchment$Attributor) {\n  _inherits(IdentAttributor, _Parchment$Attributor);\n\n  function IdentAttributor() {\n    _classCallCheck(this, IdentAttributor);\n\n    return _possibleConstructorReturn(this, (IdentAttributor.__proto__ || Object.getPrototypeOf(IdentAttributor)).apply(this, arguments));\n  }\n\n  _createClass(IdentAttributor, [{\n    key: 'add',\n    value: function add(node, value) {\n      if (value === '+1' || value === '-1') {\n        var indent = this.value(node) || 0;\n        value = value === '+1' ? indent + 1 : indent - 1;\n      }\n      if (value === 0) {\n        this.remove(node);\n        return true;\n      } else {\n        return _get(IdentAttributor.prototype.__proto__ || Object.getPrototypeOf(IdentAttributor.prototype), 'add', this).call(this, node, value);\n      }\n    }\n  }, {\n    key: 'canAdd',\n    value: function canAdd(node, value) {\n      return _get(IdentAttributor.prototype.__proto__ || Object.getPrototypeOf(IdentAttributor.prototype), 'canAdd', this).call(this, node, value) || _get(IdentAttributor.prototype.__proto__ || Object.getPrototypeOf(IdentAttributor.prototype), 'canAdd', this).call(this, node, parseInt(value));\n    }\n  }, {\n    key: 'value',\n    value: function value(node) {\n      return parseInt(_get(IdentAttributor.prototype.__proto__ || Object.getPrototypeOf(IdentAttributor.prototype), 'value', this).call(this, node)) || undefined; // Don't return NaN\n    }\n  }]);\n\n  return IdentAttributor;\n}(_parchment2.default.Attributor.Class);\n\nvar IndentClass = new IdentAttributor('indent', 'ql-indent', {\n  scope: _parchment2.default.Scope.BLOCK,\n  whitelist: [1, 2, 3, 4, 5, 6, 7, 8]\n});\n\nexports.IndentClass = IndentClass;\n\n/***/ }),\n/* 65 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n  value: true\n});\n\nvar _block = __webpack_require__(4);\n\nvar _block2 = _interopRequireDefault(_block);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\nvar Blockquote = function (_Block) {\n  _inherits(Blockquote, _Block);\n\n  function Blockquote() {\n    _classCallCheck(this, Blockquote);\n\n    return _possibleConstructorReturn(this, (Blockquote.__proto__ || Object.getPrototypeOf(Blockquote)).apply(this, arguments));\n  }\n\n  return Blockquote;\n}(_block2.default);\n\nBlockquote.blotName = 'blockquote';\nBlockquote.tagName = 'blockquote';\n\nexports.default = Blockquote;\n\n/***/ }),\n/* 66 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n  value: true\n});\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _block = __webpack_require__(4);\n\nvar _block2 = _interopRequireDefault(_block);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\nvar Header = function (_Block) {\n  _inherits(Header, _Block);\n\n  function Header() {\n    _classCallCheck(this, Header);\n\n    return _possibleConstructorReturn(this, (Header.__proto__ || Object.getPrototypeOf(Header)).apply(this, arguments));\n  }\n\n  _createClass(Header, null, [{\n    key: 'formats',\n    value: function formats(domNode) {\n      return this.tagName.indexOf(domNode.tagName) + 1;\n    }\n  }]);\n\n  return Header;\n}(_block2.default);\n\nHeader.blotName = 'header';\nHeader.tagName = ['H1', 'H2', 'H3', 'H4', 'H5', 'H6'];\n\nexports.default = Header;\n\n/***/ }),\n/* 67 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n  value: true\n});\nexports.default = exports.ListItem = undefined;\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _get = function get(object, property, receiver) { if (object === null) object = Function.prototype; var desc = Object.getOwnPropertyDescriptor(object, property); if (desc === undefined) { var parent = Object.getPrototypeOf(object); if (parent === null) { return undefined; } else { return get(parent, property, receiver); } } else if (\"value\" in desc) { return desc.value; } else { var getter = desc.get; if (getter === undefined) { return undefined; } return getter.call(receiver); } };\n\nvar _parchment = __webpack_require__(0);\n\nvar _parchment2 = _interopRequireDefault(_parchment);\n\nvar _block = __webpack_require__(4);\n\nvar _block2 = _interopRequireDefault(_block);\n\nvar _container = __webpack_require__(25);\n\nvar _container2 = _interopRequireDefault(_container);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\nvar ListItem = function (_Block) {\n  _inherits(ListItem, _Block);\n\n  function ListItem() {\n    _classCallCheck(this, ListItem);\n\n    return _possibleConstructorReturn(this, (ListItem.__proto__ || Object.getPrototypeOf(ListItem)).apply(this, arguments));\n  }\n\n  _createClass(ListItem, [{\n    key: 'format',\n    value: function format(name, value) {\n      if (name === List.blotName && !value) {\n        this.replaceWith(_parchment2.default.create(this.statics.scope));\n      } else {\n        _get(ListItem.prototype.__proto__ || Object.getPrototypeOf(ListItem.prototype), 'format', this).call(this, name, value);\n      }\n    }\n  }, {\n    key: 'remove',\n    value: function remove() {\n      if (this.prev == null && this.next == null) {\n        this.parent.remove();\n      } else {\n        _get(ListItem.prototype.__proto__ || Object.getPrototypeOf(ListItem.prototype), 'remove', this).call(this);\n      }\n    }\n  }, {\n    key: 'replaceWith',\n    value: function replaceWith(name, value) {\n      this.parent.isolate(this.offset(this.parent), this.length());\n      if (name === this.parent.statics.blotName) {\n        this.parent.replaceWith(name, value);\n        return this;\n      } else {\n        this.parent.unwrap();\n        return _get(ListItem.prototype.__proto__ || Object.getPrototypeOf(ListItem.prototype), 'replaceWith', this).call(this, name, value);\n      }\n    }\n  }], [{\n    key: 'formats',\n    value: function formats(domNode) {\n      return domNode.tagName === this.tagName ? undefined : _get(ListItem.__proto__ || Object.getPrototypeOf(ListItem), 'formats', this).call(this, domNode);\n    }\n  }]);\n\n  return ListItem;\n}(_block2.default);\n\nListItem.blotName = 'list-item';\nListItem.tagName = 'LI';\n\nvar List = function (_Container) {\n  _inherits(List, _Container);\n\n  _createClass(List, null, [{\n    key: 'create',\n    value: function create(value) {\n      var tagName = value === 'ordered' ? 'OL' : 'UL';\n      var node = _get(List.__proto__ || Object.getPrototypeOf(List), 'create', this).call(this, tagName);\n      if (value === 'checked' || value === 'unchecked') {\n        node.setAttribute('data-checked', value === 'checked');\n      }\n      return node;\n    }\n  }, {\n    key: 'formats',\n    value: function formats(domNode) {\n      if (domNode.tagName === 'OL') return 'ordered';\n      if (domNode.tagName === 'UL') {\n        if (domNode.hasAttribute('data-checked')) {\n          return domNode.getAttribute('data-checked') === 'true' ? 'checked' : 'unchecked';\n        } else {\n          return 'bullet';\n        }\n      }\n      return undefined;\n    }\n  }]);\n\n  function List(domNode) {\n    _classCallCheck(this, List);\n\n    var _this2 = _possibleConstructorReturn(this, (List.__proto__ || Object.getPrototypeOf(List)).call(this, domNode));\n\n    var listEventHandler = function listEventHandler(e) {\n      if (e.target.parentNode !== domNode) return;\n      var format = _this2.statics.formats(domNode);\n      var blot = _parchment2.default.find(e.target);\n      if (format === 'checked') {\n        blot.format('list', 'unchecked');\n      } else if (format === 'unchecked') {\n        blot.format('list', 'checked');\n      }\n    };\n\n    domNode.addEventListener('touchstart', listEventHandler);\n    domNode.addEventListener('mousedown', listEventHandler);\n    return _this2;\n  }\n\n  _createClass(List, [{\n    key: 'format',\n    value: function format(name, value) {\n      if (this.children.length > 0) {\n        this.children.tail.format(name, value);\n      }\n    }\n  }, {\n    key: 'formats',\n    value: function formats() {\n      // We don't inherit from FormatBlot\n      return _defineProperty({}, this.statics.blotName, this.statics.formats(this.domNode));\n    }\n  }, {\n    key: 'insertBefore',\n    value: function insertBefore(blot, ref) {\n      if (blot instanceof ListItem) {\n        _get(List.prototype.__proto__ || Object.getPrototypeOf(List.prototype), 'insertBefore', this).call(this, blot, ref);\n      } else {\n        var index = ref == null ? this.length() : ref.offset(this);\n        var after = this.split(index);\n        after.parent.insertBefore(blot, after);\n      }\n    }\n  }, {\n    key: 'optimize',\n    value: function optimize(context) {\n      _get(List.prototype.__proto__ || Object.getPrototypeOf(List.prototype), 'optimize', this).call(this, context);\n      var next = this.next;\n      if (next != null && next.prev === this && next.statics.blotName === this.statics.blotName && next.domNode.tagName === this.domNode.tagName && next.domNode.getAttribute('data-checked') === this.domNode.getAttribute('data-checked')) {\n        next.moveChildren(this);\n        next.remove();\n      }\n    }\n  }, {\n    key: 'replace',\n    value: function replace(target) {\n      if (target.statics.blotName !== this.statics.blotName) {\n        var item = _parchment2.default.create(this.statics.defaultChild);\n        target.moveChildren(item);\n        this.appendChild(item);\n      }\n      _get(List.prototype.__proto__ || Object.getPrototypeOf(List.prototype), 'replace', this).call(this, target);\n    }\n  }]);\n\n  return List;\n}(_container2.default);\n\nList.blotName = 'list';\nList.scope = _parchment2.default.Scope.BLOCK_BLOT;\nList.tagName = ['OL', 'UL'];\nList.defaultChild = 'list-item';\nList.allowedChildren = [ListItem];\n\nexports.ListItem = ListItem;\nexports.default = List;\n\n/***/ }),\n/* 68 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n  value: true\n});\n\nvar _bold = __webpack_require__(56);\n\nvar _bold2 = _interopRequireDefault(_bold);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\nvar Italic = function (_Bold) {\n  _inherits(Italic, _Bold);\n\n  function Italic() {\n    _classCallCheck(this, Italic);\n\n    return _possibleConstructorReturn(this, (Italic.__proto__ || Object.getPrototypeOf(Italic)).apply(this, arguments));\n  }\n\n  return Italic;\n}(_bold2.default);\n\nItalic.blotName = 'italic';\nItalic.tagName = ['EM', 'I'];\n\nexports.default = Italic;\n\n/***/ }),\n/* 69 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n  value: true\n});\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _get = function get(object, property, receiver) { if (object === null) object = Function.prototype; var desc = Object.getOwnPropertyDescriptor(object, property); if (desc === undefined) { var parent = Object.getPrototypeOf(object); if (parent === null) { return undefined; } else { return get(parent, property, receiver); } } else if (\"value\" in desc) { return desc.value; } else { var getter = desc.get; if (getter === undefined) { return undefined; } return getter.call(receiver); } };\n\nvar _inline = __webpack_require__(6);\n\nvar _inline2 = _interopRequireDefault(_inline);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\nvar Script = function (_Inline) {\n  _inherits(Script, _Inline);\n\n  function Script() {\n    _classCallCheck(this, Script);\n\n    return _possibleConstructorReturn(this, (Script.__proto__ || Object.getPrototypeOf(Script)).apply(this, arguments));\n  }\n\n  _createClass(Script, null, [{\n    key: 'create',\n    value: function create(value) {\n      if (value === 'super') {\n        return document.createElement('sup');\n      } else if (value === 'sub') {\n        return document.createElement('sub');\n      } else {\n        return _get(Script.__proto__ || Object.getPrototypeOf(Script), 'create', this).call(this, value);\n      }\n    }\n  }, {\n    key: 'formats',\n    value: function formats(domNode) {\n      if (domNode.tagName === 'SUB') return 'sub';\n      if (domNode.tagName === 'SUP') return 'super';\n      return undefined;\n    }\n  }]);\n\n  return Script;\n}(_inline2.default);\n\nScript.blotName = 'script';\nScript.tagName = ['SUB', 'SUP'];\n\nexports.default = Script;\n\n/***/ }),\n/* 70 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n  value: true\n});\n\nvar _inline = __webpack_require__(6);\n\nvar _inline2 = _interopRequireDefault(_inline);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\nvar Strike = function (_Inline) {\n  _inherits(Strike, _Inline);\n\n  function Strike() {\n    _classCallCheck(this, Strike);\n\n    return _possibleConstructorReturn(this, (Strike.__proto__ || Object.getPrototypeOf(Strike)).apply(this, arguments));\n  }\n\n  return Strike;\n}(_inline2.default);\n\nStrike.blotName = 'strike';\nStrike.tagName = 'S';\n\nexports.default = Strike;\n\n/***/ }),\n/* 71 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n  value: true\n});\n\nvar _inline = __webpack_require__(6);\n\nvar _inline2 = _interopRequireDefault(_inline);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\nvar Underline = function (_Inline) {\n  _inherits(Underline, _Inline);\n\n  function Underline() {\n    _classCallCheck(this, Underline);\n\n    return _possibleConstructorReturn(this, (Underline.__proto__ || Object.getPrototypeOf(Underline)).apply(this, arguments));\n  }\n\n  return Underline;\n}(_inline2.default);\n\nUnderline.blotName = 'underline';\nUnderline.tagName = 'U';\n\nexports.default = Underline;\n\n/***/ }),\n/* 72 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n  value: true\n});\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _get = function get(object, property, receiver) { if (object === null) object = Function.prototype; var desc = Object.getOwnPropertyDescriptor(object, property); if (desc === undefined) { var parent = Object.getPrototypeOf(object); if (parent === null) { return undefined; } else { return get(parent, property, receiver); } } else if (\"value\" in desc) { return desc.value; } else { var getter = desc.get; if (getter === undefined) { return undefined; } return getter.call(receiver); } };\n\nvar _parchment = __webpack_require__(0);\n\nvar _parchment2 = _interopRequireDefault(_parchment);\n\nvar _link = __webpack_require__(27);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\nvar ATTRIBUTES = ['alt', 'height', 'width'];\n\nvar Image = function (_Parchment$Embed) {\n  _inherits(Image, _Parchment$Embed);\n\n  function Image() {\n    _classCallCheck(this, Image);\n\n    return _possibleConstructorReturn(this, (Image.__proto__ || Object.getPrototypeOf(Image)).apply(this, arguments));\n  }\n\n  _createClass(Image, [{\n    key: 'format',\n    value: function format(name, value) {\n      if (ATTRIBUTES.indexOf(name) > -1) {\n        if (value) {\n          this.domNode.setAttribute(name, value);\n        } else {\n          this.domNode.removeAttribute(name);\n        }\n      } else {\n        _get(Image.prototype.__proto__ || Object.getPrototypeOf(Image.prototype), 'format', this).call(this, name, value);\n      }\n    }\n  }], [{\n    key: 'create',\n    value: function create(value) {\n      var node = _get(Image.__proto__ || Object.getPrototypeOf(Image), 'create', this).call(this, value);\n      if (typeof value === 'string') {\n        node.setAttribute('src', this.sanitize(value));\n      }\n      return node;\n    }\n  }, {\n    key: 'formats',\n    value: function formats(domNode) {\n      return ATTRIBUTES.reduce(function (formats, attribute) {\n        if (domNode.hasAttribute(attribute)) {\n          formats[attribute] = domNode.getAttribute(attribute);\n        }\n        return formats;\n      }, {});\n    }\n  }, {\n    key: 'match',\n    value: function match(url) {\n      return (/\\.(jpe?g|gif|png)$/.test(url) || /^data:image\\/.+;base64/.test(url)\n      );\n    }\n  }, {\n    key: 'sanitize',\n    value: function sanitize(url) {\n      return (0, _link.sanitize)(url, ['http', 'https', 'data']) ? url : '//:0';\n    }\n  }, {\n    key: 'value',\n    value: function value(domNode) {\n      return domNode.getAttribute('src');\n    }\n  }]);\n\n  return Image;\n}(_parchment2.default.Embed);\n\nImage.blotName = 'image';\nImage.tagName = 'IMG';\n\nexports.default = Image;\n\n/***/ }),\n/* 73 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n  value: true\n});\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _get = function get(object, property, receiver) { if (object === null) object = Function.prototype; var desc = Object.getOwnPropertyDescriptor(object, property); if (desc === undefined) { var parent = Object.getPrototypeOf(object); if (parent === null) { return undefined; } else { return get(parent, property, receiver); } } else if (\"value\" in desc) { return desc.value; } else { var getter = desc.get; if (getter === undefined) { return undefined; } return getter.call(receiver); } };\n\nvar _block = __webpack_require__(4);\n\nvar _link = __webpack_require__(27);\n\nvar _link2 = _interopRequireDefault(_link);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\nvar ATTRIBUTES = ['height', 'width'];\n\nvar Video = function (_BlockEmbed) {\n  _inherits(Video, _BlockEmbed);\n\n  function Video() {\n    _classCallCheck(this, Video);\n\n    return _possibleConstructorReturn(this, (Video.__proto__ || Object.getPrototypeOf(Video)).apply(this, arguments));\n  }\n\n  _createClass(Video, [{\n    key: 'format',\n    value: function format(name, value) {\n      if (ATTRIBUTES.indexOf(name) > -1) {\n        if (value) {\n          this.domNode.setAttribute(name, value);\n        } else {\n          this.domNode.removeAttribute(name);\n        }\n      } else {\n        _get(Video.prototype.__proto__ || Object.getPrototypeOf(Video.prototype), 'format', this).call(this, name, value);\n      }\n    }\n  }], [{\n    key: 'create',\n    value: function create(value) {\n      var node = _get(Video.__proto__ || Object.getPrototypeOf(Video), 'create', this).call(this, value);\n      node.setAttribute('frameborder', '0');\n      node.setAttribute('allowfullscreen', true);\n      node.setAttribute('src', this.sanitize(value));\n      return node;\n    }\n  }, {\n    key: 'formats',\n    value: function formats(domNode) {\n      return ATTRIBUTES.reduce(function (formats, attribute) {\n        if (domNode.hasAttribute(attribute)) {\n          formats[attribute] = domNode.getAttribute(attribute);\n        }\n        return formats;\n      }, {});\n    }\n  }, {\n    key: 'sanitize',\n    value: function sanitize(url) {\n      return _link2.default.sanitize(url);\n    }\n  }, {\n    key: 'value',\n    value: function value(domNode) {\n      return domNode.getAttribute('src');\n    }\n  }]);\n\n  return Video;\n}(_block.BlockEmbed);\n\nVideo.blotName = 'video';\nVideo.className = 'ql-video';\nVideo.tagName = 'IFRAME';\n\nexports.default = Video;\n\n/***/ }),\n/* 74 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n  value: true\n});\nexports.default = exports.FormulaBlot = undefined;\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _get = function get(object, property, receiver) { if (object === null) object = Function.prototype; var desc = Object.getOwnPropertyDescriptor(object, property); if (desc === undefined) { var parent = Object.getPrototypeOf(object); if (parent === null) { return undefined; } else { return get(parent, property, receiver); } } else if (\"value\" in desc) { return desc.value; } else { var getter = desc.get; if (getter === undefined) { return undefined; } return getter.call(receiver); } };\n\nvar _embed = __webpack_require__(35);\n\nvar _embed2 = _interopRequireDefault(_embed);\n\nvar _quill = __webpack_require__(5);\n\nvar _quill2 = _interopRequireDefault(_quill);\n\nvar _module = __webpack_require__(9);\n\nvar _module2 = _interopRequireDefault(_module);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\nvar FormulaBlot = function (_Embed) {\n  _inherits(FormulaBlot, _Embed);\n\n  function FormulaBlot() {\n    _classCallCheck(this, FormulaBlot);\n\n    return _possibleConstructorReturn(this, (FormulaBlot.__proto__ || Object.getPrototypeOf(FormulaBlot)).apply(this, arguments));\n  }\n\n  _createClass(FormulaBlot, null, [{\n    key: 'create',\n    value: function create(value) {\n      var node = _get(FormulaBlot.__proto__ || Object.getPrototypeOf(FormulaBlot), 'create', this).call(this, value);\n      if (typeof value === 'string') {\n        window.katex.render(value, node, {\n          throwOnError: false,\n          errorColor: '#f00'\n        });\n        node.setAttribute('data-value', value);\n      }\n      return node;\n    }\n  }, {\n    key: 'value',\n    value: function value(domNode) {\n      return domNode.getAttribute('data-value');\n    }\n  }]);\n\n  return FormulaBlot;\n}(_embed2.default);\n\nFormulaBlot.blotName = 'formula';\nFormulaBlot.className = 'ql-formula';\nFormulaBlot.tagName = 'SPAN';\n\nvar Formula = function (_Module) {\n  _inherits(Formula, _Module);\n\n  _createClass(Formula, null, [{\n    key: 'register',\n    value: function register() {\n      _quill2.default.register(FormulaBlot, true);\n    }\n  }]);\n\n  function Formula() {\n    _classCallCheck(this, Formula);\n\n    var _this2 = _possibleConstructorReturn(this, (Formula.__proto__ || Object.getPrototypeOf(Formula)).call(this));\n\n    if (window.katex == null) {\n      throw new Error('Formula module requires KaTeX.');\n    }\n    return _this2;\n  }\n\n  return Formula;\n}(_module2.default);\n\nexports.FormulaBlot = FormulaBlot;\nexports.default = Formula;\n\n/***/ }),\n/* 75 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n  value: true\n});\nexports.default = exports.CodeToken = exports.CodeBlock = undefined;\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _get = function get(object, property, receiver) { if (object === null) object = Function.prototype; var desc = Object.getOwnPropertyDescriptor(object, property); if (desc === undefined) { var parent = Object.getPrototypeOf(object); if (parent === null) { return undefined; } else { return get(parent, property, receiver); } } else if (\"value\" in desc) { return desc.value; } else { var getter = desc.get; if (getter === undefined) { return undefined; } return getter.call(receiver); } };\n\nvar _parchment = __webpack_require__(0);\n\nvar _parchment2 = _interopRequireDefault(_parchment);\n\nvar _quill = __webpack_require__(5);\n\nvar _quill2 = _interopRequireDefault(_quill);\n\nvar _module = __webpack_require__(9);\n\nvar _module2 = _interopRequireDefault(_module);\n\nvar _code = __webpack_require__(13);\n\nvar _code2 = _interopRequireDefault(_code);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\nvar SyntaxCodeBlock = function (_CodeBlock) {\n  _inherits(SyntaxCodeBlock, _CodeBlock);\n\n  function SyntaxCodeBlock() {\n    _classCallCheck(this, SyntaxCodeBlock);\n\n    return _possibleConstructorReturn(this, (SyntaxCodeBlock.__proto__ || Object.getPrototypeOf(SyntaxCodeBlock)).apply(this, arguments));\n  }\n\n  _createClass(SyntaxCodeBlock, [{\n    key: 'replaceWith',\n    value: function replaceWith(block) {\n      this.domNode.textContent = this.domNode.textContent;\n      this.attach();\n      _get(SyntaxCodeBlock.prototype.__proto__ || Object.getPrototypeOf(SyntaxCodeBlock.prototype), 'replaceWith', this).call(this, block);\n    }\n  }, {\n    key: 'highlight',\n    value: function highlight(_highlight) {\n      var text = this.domNode.textContent;\n      if (this.cachedText !== text) {\n        if (text.trim().length > 0 || this.cachedText == null) {\n          this.domNode.innerHTML = _highlight(text);\n          this.domNode.normalize();\n          this.attach();\n        }\n        this.cachedText = text;\n      }\n    }\n  }]);\n\n  return SyntaxCodeBlock;\n}(_code2.default);\n\nSyntaxCodeBlock.className = 'ql-syntax';\n\nvar CodeToken = new _parchment2.default.Attributor.Class('token', 'hljs', {\n  scope: _parchment2.default.Scope.INLINE\n});\n\nvar Syntax = function (_Module) {\n  _inherits(Syntax, _Module);\n\n  _createClass(Syntax, null, [{\n    key: 'register',\n    value: function register() {\n      _quill2.default.register(CodeToken, true);\n      _quill2.default.register(SyntaxCodeBlock, true);\n    }\n  }]);\n\n  function Syntax(quill, options) {\n    _classCallCheck(this, Syntax);\n\n    var _this2 = _possibleConstructorReturn(this, (Syntax.__proto__ || Object.getPrototypeOf(Syntax)).call(this, quill, options));\n\n    if (typeof _this2.options.highlight !== 'function') {\n      throw new Error('Syntax module requires highlight.js. Please include the library on the page before Quill.');\n    }\n    var timer = null;\n    _this2.quill.on(_quill2.default.events.SCROLL_OPTIMIZE, function () {\n      clearTimeout(timer);\n      timer = setTimeout(function () {\n        _this2.highlight();\n        timer = null;\n      }, _this2.options.interval);\n    });\n    _this2.highlight();\n    return _this2;\n  }\n\n  _createClass(Syntax, [{\n    key: 'highlight',\n    value: function highlight() {\n      var _this3 = this;\n\n      if (this.quill.selection.composing) return;\n      this.quill.update(_quill2.default.sources.USER);\n      var range = this.quill.getSelection();\n      this.quill.scroll.descendants(SyntaxCodeBlock).forEach(function (code) {\n        code.highlight(_this3.options.highlight);\n      });\n      this.quill.update(_quill2.default.sources.SILENT);\n      if (range != null) {\n        this.quill.setSelection(range, _quill2.default.sources.SILENT);\n      }\n    }\n  }]);\n\n  return Syntax;\n}(_module2.default);\n\nSyntax.DEFAULTS = {\n  highlight: function () {\n    if (window.hljs == null) return null;\n    return function (text) {\n      var result = window.hljs.highlightAuto(text);\n      return result.value;\n    };\n  }(),\n  interval: 1000\n};\n\nexports.CodeBlock = SyntaxCodeBlock;\nexports.CodeToken = CodeToken;\nexports.default = Syntax;\n\n/***/ }),\n/* 76 */\n/***/ (function(module, exports) {\n\nmodule.exports = \"<svg viewbox=\\\"0 0 18 18\\\"> <line class=ql-stroke x1=3 x2=15 y1=9 y2=9></line> <line class=ql-stroke x1=3 x2=13 y1=14 y2=14></line> <line class=ql-stroke x1=3 x2=9 y1=4 y2=4></line> </svg>\";\n\n/***/ }),\n/* 77 */\n/***/ (function(module, exports) {\n\nmodule.exports = \"<svg viewbox=\\\"0 0 18 18\\\"> <line class=ql-stroke x1=15 x2=3 y1=9 y2=9></line> <line class=ql-stroke x1=14 x2=4 y1=14 y2=14></line> <line class=ql-stroke x1=12 x2=6 y1=4 y2=4></line> </svg>\";\n\n/***/ }),\n/* 78 */\n/***/ (function(module, exports) {\n\nmodule.exports = \"<svg viewbox=\\\"0 0 18 18\\\"> <line class=ql-stroke x1=15 x2=3 y1=9 y2=9></line> <line class=ql-stroke x1=15 x2=5 y1=14 y2=14></line> <line class=ql-stroke x1=15 x2=9 y1=4 y2=4></line> </svg>\";\n\n/***/ }),\n/* 79 */\n/***/ (function(module, exports) {\n\nmodule.exports = \"<svg viewbox=\\\"0 0 18 18\\\"> <line class=ql-stroke x1=15 x2=3 y1=9 y2=9></line> <line class=ql-stroke x1=15 x2=3 y1=14 y2=14></line> <line class=ql-stroke x1=15 x2=3 y1=4 y2=4></line> </svg>\";\n\n/***/ }),\n/* 80 */\n/***/ (function(module, exports) {\n\nmodule.exports = \"<svg viewbox=\\\"0 0 18 18\\\"> <g class=\\\"ql-fill ql-color-label\\\"> <polygon points=\\\"6 6.868 6 6 5 6 5 7 5.942 7 6 6.868\\\"></polygon> <rect height=1 width=1 x=4 y=4></rect> <polygon points=\\\"6.817 5 6 5 6 6 6.38 6 6.817 5\\\"></polygon> <rect height=1 width=1 x=2 y=6></rect> <rect height=1 width=1 x=3 y=5></rect> <rect height=1 width=1 x=4 y=7></rect> <polygon points=\\\"4 11.439 4 11 3 11 3 12 3.755 12 4 11.439\\\"></polygon> <rect height=1 width=1 x=2 y=12></rect> <rect height=1 width=1 x=2 y=9></rect> <rect height=1 width=1 x=2 y=15></rect> <polygon points=\\\"4.63 10 4 10 4 11 4.192 11 4.63 10\\\"></polygon> <rect height=1 width=1 x=3 y=8></rect> <path d=M10.832,4.2L11,4.582V4H10.708A1.948,1.948,0,0,1,10.832,4.2Z></path> <path d=M7,4.582L7.168,4.2A1.929,1.929,0,0,1,7.292,4H7V4.582Z></path> <path d=M8,13H7.683l-0.351.8a1.933,1.933,0,0,1-.124.2H8V13Z></path> <rect height=1 width=1 x=12 y=2></rect> <rect height=1 width=1 x=11 y=3></rect> <path d=M9,3H8V3.282A1.985,1.985,0,0,1,9,3Z></path> <rect height=1 width=1 x=2 y=3></rect> <rect height=1 width=1 x=6 y=2></rect> <rect height=1 width=1 x=3 y=2></rect> <rect height=1 width=1 x=5 y=3></rect> <rect height=1 width=1 x=9 y=2></rect> <rect height=1 width=1 x=15 y=14></rect> <polygon points=\\\"13.447 10.174 13.469 10.225 13.472 10.232 13.808 11 14 11 14 10 13.37 10 13.447 10.174\\\"></polygon> <rect height=1 width=1 x=13 y=7></rect> <rect height=1 width=1 x=15 y=5></rect> <rect height=1 width=1 x=14 y=6></rect> <rect height=1 width=1 x=15 y=8></rect> <rect height=1 width=1 x=14 y=9></rect> <path d=M3.775,14H3v1H4V14.314A1.97,1.97,0,0,1,3.775,14Z></path> <rect height=1 width=1 x=14 y=3></rect> <polygon points=\\\"12 6.868 12 6 11.62 6 12 6.868\\\"></polygon> <rect height=1 width=1 x=15 y=2></rect> <rect height=1 width=1 x=12 y=5></rect> <rect height=1 width=1 x=13 y=4></rect> <polygon points=\\\"12.933 9 13 9 13 8 12.495 8 12.933 9\\\"></polygon> <rect height=1 width=1 x=9 y=14></rect> <rect height=1 width=1 x=8 y=15></rect> <path d=M6,14.926V15H7V14.316A1.993,1.993,0,0,1,6,14.926Z></path> <rect height=1 width=1 x=5 y=15></rect> <path d=M10.668,13.8L10.317,13H10v1h0.792A1.947,1.947,0,0,1,10.668,13.8Z></path> <rect height=1 width=1 x=11 y=15></rect> <path d=M14.332,12.2a1.99,1.99,0,0,1,.166.8H15V12H14.245Z></path> <rect height=1 width=1 x=14 y=15></rect> <rect height=1 width=1 x=15 y=11></rect> </g> <polyline class=ql-stroke points=\\\"5.5 13 9 5 12.5 13\\\"></polyline> <line class=ql-stroke x1=11.63 x2=6.38 y1=11 y2=11></line> </svg>\";\n\n/***/ }),\n/* 81 */\n/***/ (function(module, exports) {\n\nmodule.exports = \"<svg viewbox=\\\"0 0 18 18\\\"> <rect class=\\\"ql-fill ql-stroke\\\" height=3 width=3 x=4 y=5></rect> <rect class=\\\"ql-fill ql-stroke\\\" height=3 width=3 x=11 y=5></rect> <path class=\\\"ql-even ql-fill ql-stroke\\\" d=M7,8c0,4.031-3,5-3,5></path> <path class=\\\"ql-even ql-fill ql-stroke\\\" d=M14,8c0,4.031-3,5-3,5></path> </svg>\";\n\n/***/ }),\n/* 82 */\n/***/ (function(module, exports) {\n\nmodule.exports = \"<svg viewbox=\\\"0 0 18 18\\\"> <path class=ql-stroke d=M5,4H9.5A2.5,2.5,0,0,1,12,6.5v0A2.5,2.5,0,0,1,9.5,9H5A0,0,0,0,1,5,9V4A0,0,0,0,1,5,4Z></path> <path class=ql-stroke d=M5,9h5.5A2.5,2.5,0,0,1,13,11.5v0A2.5,2.5,0,0,1,10.5,14H5a0,0,0,0,1,0,0V9A0,0,0,0,1,5,9Z></path> </svg>\";\n\n/***/ }),\n/* 83 */\n/***/ (function(module, exports) {\n\nmodule.exports = \"<svg class=\\\"\\\" viewbox=\\\"0 0 18 18\\\"> <line class=ql-stroke x1=5 x2=13 y1=3 y2=3></line> <line class=ql-stroke x1=6 x2=9.35 y1=12 y2=3></line> <line class=ql-stroke x1=11 x2=15 y1=11 y2=15></line> <line class=ql-stroke x1=15 x2=11 y1=11 y2=15></line> <rect class=ql-fill height=1 rx=0.5 ry=0.5 width=7 x=2 y=14></rect> </svg>\";\n\n/***/ }),\n/* 84 */\n/***/ (function(module, exports) {\n\nmodule.exports = \"<svg viewbox=\\\"0 0 18 18\\\"> <line class=\\\"ql-color-label ql-stroke ql-transparent\\\" x1=3 x2=15 y1=15 y2=15></line> <polyline class=ql-stroke points=\\\"5.5 11 9 3 12.5 11\\\"></polyline> <line class=ql-stroke x1=11.63 x2=6.38 y1=9 y2=9></line> </svg>\";\n\n/***/ }),\n/* 85 */\n/***/ (function(module, exports) {\n\nmodule.exports = \"<svg viewbox=\\\"0 0 18 18\\\"> <polygon class=\\\"ql-stroke ql-fill\\\" points=\\\"3 11 5 9 3 7 3 11\\\"></polygon> <line class=\\\"ql-stroke ql-fill\\\" x1=15 x2=11 y1=4 y2=4></line> <path class=ql-fill d=M11,3a3,3,0,0,0,0,6h1V3H11Z></path> <rect class=ql-fill height=11 width=1 x=11 y=4></rect> <rect class=ql-fill height=11 width=1 x=13 y=4></rect> </svg>\";\n\n/***/ }),\n/* 86 */\n/***/ (function(module, exports) {\n\nmodule.exports = \"<svg viewbox=\\\"0 0 18 18\\\"> <polygon class=\\\"ql-stroke ql-fill\\\" points=\\\"15 12 13 10 15 8 15 12\\\"></polygon> <line class=\\\"ql-stroke ql-fill\\\" x1=9 x2=5 y1=4 y2=4></line> <path class=ql-fill d=M5,3A3,3,0,0,0,5,9H6V3H5Z></path> <rect class=ql-fill height=11 width=1 x=5 y=4></rect> <rect class=ql-fill height=11 width=1 x=7 y=4></rect> </svg>\";\n\n/***/ }),\n/* 87 */\n/***/ (function(module, exports) {\n\nmodule.exports = \"<svg viewbox=\\\"0 0 18 18\\\"> <path class=ql-fill d=M14,16H4a1,1,0,0,1,0-2H14A1,1,0,0,1,14,16Z /> <path class=ql-fill d=M14,4H4A1,1,0,0,1,4,2H14A1,1,0,0,1,14,4Z /> <rect class=ql-fill x=3 y=6 width=12 height=6 rx=1 ry=1 /> </svg>\";\n\n/***/ }),\n/* 88 */\n/***/ (function(module, exports) {\n\nmodule.exports = \"<svg viewbox=\\\"0 0 18 18\\\"> <path class=ql-fill d=M13,16H5a1,1,0,0,1,0-2h8A1,1,0,0,1,13,16Z /> <path class=ql-fill d=M13,4H5A1,1,0,0,1,5,2h8A1,1,0,0,1,13,4Z /> <rect class=ql-fill x=2 y=6 width=14 height=6 rx=1 ry=1 /> </svg>\";\n\n/***/ }),\n/* 89 */\n/***/ (function(module, exports) {\n\nmodule.exports = \"<svg viewbox=\\\"0 0 18 18\\\"> <path class=ql-fill d=M15,8H13a1,1,0,0,1,0-2h2A1,1,0,0,1,15,8Z /> <path class=ql-fill d=M15,12H13a1,1,0,0,1,0-2h2A1,1,0,0,1,15,12Z /> <path class=ql-fill d=M15,16H5a1,1,0,0,1,0-2H15A1,1,0,0,1,15,16Z /> <path class=ql-fill d=M15,4H5A1,1,0,0,1,5,2H15A1,1,0,0,1,15,4Z /> <rect class=ql-fill x=2 y=6 width=8 height=6 rx=1 ry=1 /> </svg>\";\n\n/***/ }),\n/* 90 */\n/***/ (function(module, exports) {\n\nmodule.exports = \"<svg viewbox=\\\"0 0 18 18\\\"> <path class=ql-fill d=M5,8H3A1,1,0,0,1,3,6H5A1,1,0,0,1,5,8Z /> <path class=ql-fill d=M5,12H3a1,1,0,0,1,0-2H5A1,1,0,0,1,5,12Z /> <path class=ql-fill d=M13,16H3a1,1,0,0,1,0-2H13A1,1,0,0,1,13,16Z /> <path class=ql-fill d=M13,4H3A1,1,0,0,1,3,2H13A1,1,0,0,1,13,4Z /> <rect class=ql-fill x=8 y=6 width=8 height=6 rx=1 ry=1 transform=\\\"translate(24 18) rotate(-180)\\\"/> </svg>\";\n\n/***/ }),\n/* 91 */\n/***/ (function(module, exports) {\n\nmodule.exports = \"<svg viewbox=\\\"0 0 18 18\\\"> <path class=ql-fill d=M11.759,2.482a2.561,2.561,0,0,0-3.53.607A7.656,7.656,0,0,0,6.8,6.2C6.109,9.188,5.275,14.677,4.15,14.927a1.545,1.545,0,0,0-1.3-.933A0.922,0.922,0,0,0,2,15.036S1.954,16,4.119,16s3.091-2.691,3.7-5.553c0.177-.826.36-1.726,0.554-2.6L8.775,6.2c0.381-1.421.807-2.521,1.306-2.676a1.014,1.014,0,0,0,1.02.56A0.966,0.966,0,0,0,11.759,2.482Z></path> <rect class=ql-fill height=1.6 rx=0.8 ry=0.8 width=5 x=5.15 y=6.2></rect> <path class=ql-fill d=M13.663,12.027a1.662,1.662,0,0,1,.266-0.276q0.193,0.069.456,0.138a2.1,2.1,0,0,0,.535.069,1.075,1.075,0,0,0,.767-0.3,1.044,1.044,0,0,0,.314-0.8,0.84,0.84,0,0,0-.238-0.619,0.8,0.8,0,0,0-.594-0.239,1.154,1.154,0,0,0-.781.3,4.607,4.607,0,0,0-.781,1q-0.091.15-.218,0.346l-0.246.38c-0.068-.288-0.137-0.582-0.212-0.885-0.459-1.847-2.494-.984-2.941-0.8-0.482.2-.353,0.647-0.094,0.529a0.869,0.869,0,0,1,1.281.585c0.217,0.751.377,1.436,0.527,2.038a5.688,5.688,0,0,1-.362.467,2.69,2.69,0,0,1-.264.271q-0.221-.08-0.471-0.147a2.029,2.029,0,0,0-.522-0.066,1.079,1.079,0,0,0-.768.3A1.058,1.058,0,0,0,9,15.131a0.82,0.82,0,0,0,.832.852,1.134,1.134,0,0,0,.787-0.3,5.11,5.11,0,0,0,.776-0.993q0.141-.219.215-0.34c0.046-.076.122-0.194,0.223-0.346a2.786,2.786,0,0,0,.918,1.726,2.582,2.582,0,0,0,2.376-.185c0.317-.181.212-0.565,0-0.494A0.807,0.807,0,0,1,14.176,15a5.159,5.159,0,0,1-.913-2.446l0,0Q13.487,12.24,13.663,12.027Z></path> </svg>\";\n\n/***/ }),\n/* 92 */\n/***/ (function(module, exports) {\n\nmodule.exports = \"<svg viewBox=\\\"0 0 18 18\\\"> <path class=ql-fill d=M10,4V14a1,1,0,0,1-2,0V10H3v4a1,1,0,0,1-2,0V4A1,1,0,0,1,3,4V8H8V4a1,1,0,0,1,2,0Zm6.06787,9.209H14.98975V7.59863a.54085.54085,0,0,0-.605-.60547h-.62744a1.01119,1.01119,0,0,0-.748.29688L11.645,8.56641a.5435.5435,0,0,0-.022.8584l.28613.30762a.53861.53861,0,0,0,.84717.0332l.09912-.08789a1.2137,1.2137,0,0,0,.2417-.35254h.02246s-.01123.30859-.01123.60547V13.209H12.041a.54085.54085,0,0,0-.605.60547v.43945a.54085.54085,0,0,0,.605.60547h4.02686a.54085.54085,0,0,0,.605-.60547v-.43945A.54085.54085,0,0,0,16.06787,13.209Z /> </svg>\";\n\n/***/ }),\n/* 93 */\n/***/ (function(module, exports) {\n\nmodule.exports = \"<svg viewBox=\\\"0 0 18 18\\\"> <path class=ql-fill d=M16.73975,13.81445v.43945a.54085.54085,0,0,1-.605.60547H11.855a.58392.58392,0,0,1-.64893-.60547V14.0127c0-2.90527,3.39941-3.42187,3.39941-4.55469a.77675.77675,0,0,0-.84717-.78125,1.17684,1.17684,0,0,0-.83594.38477c-.2749.26367-.561.374-.85791.13184l-.4292-.34082c-.30811-.24219-.38525-.51758-.1543-.81445a2.97155,2.97155,0,0,1,2.45361-1.17676,2.45393,2.45393,0,0,1,2.68408,2.40918c0,2.45312-3.1792,2.92676-3.27832,3.93848h2.79443A.54085.54085,0,0,1,16.73975,13.81445ZM9,3A.99974.99974,0,0,0,8,4V8H3V4A1,1,0,0,0,1,4V14a1,1,0,0,0,2,0V10H8v4a1,1,0,0,0,2,0V4A.99974.99974,0,0,0,9,3Z /> </svg>\";\n\n/***/ }),\n/* 94 */\n/***/ (function(module, exports) {\n\nmodule.exports = \"<svg viewbox=\\\"0 0 18 18\\\"> <line class=ql-stroke x1=7 x2=13 y1=4 y2=4></line> <line class=ql-stroke x1=5 x2=11 y1=14 y2=14></line> <line class=ql-stroke x1=8 x2=10 y1=14 y2=4></line> </svg>\";\n\n/***/ }),\n/* 95 */\n/***/ (function(module, exports) {\n\nmodule.exports = \"<svg viewbox=\\\"0 0 18 18\\\"> <rect class=ql-stroke height=10 width=12 x=3 y=4></rect> <circle class=ql-fill cx=6 cy=7 r=1></circle> <polyline class=\\\"ql-even ql-fill\\\" points=\\\"5 12 5 11 7 9 8 10 11 7 13 9 13 12 5 12\\\"></polyline> </svg>\";\n\n/***/ }),\n/* 96 */\n/***/ (function(module, exports) {\n\nmodule.exports = \"<svg viewbox=\\\"0 0 18 18\\\"> <line class=ql-stroke x1=3 x2=15 y1=14 y2=14></line> <line class=ql-stroke x1=3 x2=15 y1=4 y2=4></line> <line class=ql-stroke x1=9 x2=15 y1=9 y2=9></line> <polyline class=\\\"ql-fill ql-stroke\\\" points=\\\"3 7 3 11 5 9 3 7\\\"></polyline> </svg>\";\n\n/***/ }),\n/* 97 */\n/***/ (function(module, exports) {\n\nmodule.exports = \"<svg viewbox=\\\"0 0 18 18\\\"> <line class=ql-stroke x1=3 x2=15 y1=14 y2=14></line> <line class=ql-stroke x1=3 x2=15 y1=4 y2=4></line> <line class=ql-stroke x1=9 x2=15 y1=9 y2=9></line> <polyline class=ql-stroke points=\\\"5 7 5 11 3 9 5 7\\\"></polyline> </svg>\";\n\n/***/ }),\n/* 98 */\n/***/ (function(module, exports) {\n\nmodule.exports = \"<svg viewbox=\\\"0 0 18 18\\\"> <line class=ql-stroke x1=7 x2=11 y1=7 y2=11></line> <path class=\\\"ql-even ql-stroke\\\" d=M8.9,4.577a3.476,3.476,0,0,1,.36,4.679A3.476,3.476,0,0,1,4.577,8.9C3.185,7.5,2.035,6.4,4.217,4.217S7.5,3.185,8.9,4.577Z></path> <path class=\\\"ql-even ql-stroke\\\" d=M13.423,9.1a3.476,3.476,0,0,0-4.679-.36,3.476,3.476,0,0,0,.36,4.679c1.392,1.392,2.5,2.542,4.679.36S14.815,10.5,13.423,9.1Z></path> </svg>\";\n\n/***/ }),\n/* 99 */\n/***/ (function(module, exports) {\n\nmodule.exports = \"<svg viewbox=\\\"0 0 18 18\\\"> <line class=ql-stroke x1=7 x2=15 y1=4 y2=4></line> <line class=ql-stroke x1=7 x2=15 y1=9 y2=9></line> <line class=ql-stroke x1=7 x2=15 y1=14 y2=14></line> <line class=\\\"ql-stroke ql-thin\\\" x1=2.5 x2=4.5 y1=5.5 y2=5.5></line> <path class=ql-fill d=M3.5,6A0.5,0.5,0,0,1,3,5.5V3.085l-0.276.138A0.5,0.5,0,0,1,2.053,3c-0.124-.247-0.023-0.324.224-0.447l1-.5A0.5,0.5,0,0,1,4,2.5v3A0.5,0.5,0,0,1,3.5,6Z></path> <path class=\\\"ql-stroke ql-thin\\\" d=M4.5,10.5h-2c0-.234,1.85-1.076,1.85-2.234A0.959,0.959,0,0,0,2.5,8.156></path> <path class=\\\"ql-stroke ql-thin\\\" d=M2.5,14.846a0.959,0.959,0,0,0,1.85-.109A0.7,0.7,0,0,0,3.75,14a0.688,0.688,0,0,0,.6-0.736,0.959,0.959,0,0,0-1.85-.109></path> </svg>\";\n\n/***/ }),\n/* 100 */\n/***/ (function(module, exports) {\n\nmodule.exports = \"<svg viewbox=\\\"0 0 18 18\\\"> <line class=ql-stroke x1=6 x2=15 y1=4 y2=4></line> <line class=ql-stroke x1=6 x2=15 y1=9 y2=9></line> <line class=ql-stroke x1=6 x2=15 y1=14 y2=14></line> <line class=ql-stroke x1=3 x2=3 y1=4 y2=4></line> <line class=ql-stroke x1=3 x2=3 y1=9 y2=9></line> <line class=ql-stroke x1=3 x2=3 y1=14 y2=14></line> </svg>\";\n\n/***/ }),\n/* 101 */\n/***/ (function(module, exports) {\n\nmodule.exports = \"<svg class=\\\"\\\" viewbox=\\\"0 0 18 18\\\"> <line class=ql-stroke x1=9 x2=15 y1=4 y2=4></line> <polyline class=ql-stroke points=\\\"3 4 4 5 6 3\\\"></polyline> <line class=ql-stroke x1=9 x2=15 y1=14 y2=14></line> <polyline class=ql-stroke points=\\\"3 14 4 15 6 13\\\"></polyline> <line class=ql-stroke x1=9 x2=15 y1=9 y2=9></line> <polyline class=ql-stroke points=\\\"3 9 4 10 6 8\\\"></polyline> </svg>\";\n\n/***/ }),\n/* 102 */\n/***/ (function(module, exports) {\n\nmodule.exports = \"<svg viewbox=\\\"0 0 18 18\\\"> <path class=ql-fill d=M15.5,15H13.861a3.858,3.858,0,0,0,1.914-2.975,1.8,1.8,0,0,0-1.6-1.751A1.921,1.921,0,0,0,12.021,11.7a0.50013,0.50013,0,1,0,.957.291h0a0.914,0.914,0,0,1,1.053-.725,0.81,0.81,0,0,1,.744.762c0,1.076-1.16971,1.86982-1.93971,2.43082A1.45639,1.45639,0,0,0,12,15.5a0.5,0.5,0,0,0,.5.5h3A0.5,0.5,0,0,0,15.5,15Z /> <path class=ql-fill d=M9.65,5.241a1,1,0,0,0-1.409.108L6,7.964,3.759,5.349A1,1,0,0,0,2.192,6.59178Q2.21541,6.6213,2.241,6.649L4.684,9.5,2.241,12.35A1,1,0,0,0,3.71,13.70722q0.02557-.02768.049-0.05722L6,11.036,8.241,13.65a1,1,0,1,0,1.567-1.24277Q9.78459,12.3777,9.759,12.35L7.316,9.5,9.759,6.651A1,1,0,0,0,9.65,5.241Z /> </svg>\";\n\n/***/ }),\n/* 103 */\n/***/ (function(module, exports) {\n\nmodule.exports = \"<svg viewbox=\\\"0 0 18 18\\\"> <path class=ql-fill d=M15.5,7H13.861a4.015,4.015,0,0,0,1.914-2.975,1.8,1.8,0,0,0-1.6-1.751A1.922,1.922,0,0,0,12.021,3.7a0.5,0.5,0,1,0,.957.291,0.917,0.917,0,0,1,1.053-.725,0.81,0.81,0,0,1,.744.762c0,1.077-1.164,1.925-1.934,2.486A1.423,1.423,0,0,0,12,7.5a0.5,0.5,0,0,0,.5.5h3A0.5,0.5,0,0,0,15.5,7Z /> <path class=ql-fill d=M9.651,5.241a1,1,0,0,0-1.41.108L6,7.964,3.759,5.349a1,1,0,1,0-1.519,1.3L4.683,9.5,2.241,12.35a1,1,0,1,0,1.519,1.3L6,11.036,8.241,13.65a1,1,0,0,0,1.519-1.3L7.317,9.5,9.759,6.651A1,1,0,0,0,9.651,5.241Z /> </svg>\";\n\n/***/ }),\n/* 104 */\n/***/ (function(module, exports) {\n\nmodule.exports = \"<svg viewbox=\\\"0 0 18 18\\\"> <line class=\\\"ql-stroke ql-thin\\\" x1=15.5 x2=2.5 y1=8.5 y2=9.5></line> <path class=ql-fill d=M9.007,8C6.542,7.791,6,7.519,6,6.5,6,5.792,7.283,5,9,5c1.571,0,2.765.679,2.969,1.309a1,1,0,0,0,1.9-.617C13.356,4.106,11.354,3,9,3,6.2,3,4,4.538,4,6.5a3.2,3.2,0,0,0,.5,1.843Z></path> <path class=ql-fill d=M8.984,10C11.457,10.208,12,10.479,12,11.5c0,0.708-1.283,1.5-3,1.5-1.571,0-2.765-.679-2.969-1.309a1,1,0,1,0-1.9.617C4.644,13.894,6.646,15,9,15c2.8,0,5-1.538,5-3.5a3.2,3.2,0,0,0-.5-1.843Z></path> </svg>\";\n\n/***/ }),\n/* 105 */\n/***/ (function(module, exports) {\n\nmodule.exports = \"<svg viewbox=\\\"0 0 18 18\\\"> <path class=ql-stroke d=M5,3V9a4.012,4.012,0,0,0,4,4H9a4.012,4.012,0,0,0,4-4V3></path> <rect class=ql-fill height=1 rx=0.5 ry=0.5 width=12 x=3 y=15></rect> </svg>\";\n\n/***/ }),\n/* 106 */\n/***/ (function(module, exports) {\n\nmodule.exports = \"<svg viewbox=\\\"0 0 18 18\\\"> <rect class=ql-stroke height=12 width=12 x=3 y=3></rect> <rect class=ql-fill height=12 width=1 x=5 y=3></rect> <rect class=ql-fill height=12 width=1 x=12 y=3></rect> <rect class=ql-fill height=2 width=8 x=5 y=8></rect> <rect class=ql-fill height=1 width=3 x=3 y=5></rect> <rect class=ql-fill height=1 width=3 x=3 y=7></rect> <rect class=ql-fill height=1 width=3 x=3 y=10></rect> <rect class=ql-fill height=1 width=3 x=3 y=12></rect> <rect class=ql-fill height=1 width=3 x=12 y=5></rect> <rect class=ql-fill height=1 width=3 x=12 y=7></rect> <rect class=ql-fill height=1 width=3 x=12 y=10></rect> <rect class=ql-fill height=1 width=3 x=12 y=12></rect> </svg>\";\n\n/***/ }),\n/* 107 */\n/***/ (function(module, exports) {\n\nmodule.exports = \"<svg viewbox=\\\"0 0 18 18\\\"> <polygon class=ql-stroke points=\\\"7 11 9 13 11 11 7 11\\\"></polygon> <polygon class=ql-stroke points=\\\"7 7 9 5 11 7 7 7\\\"></polygon> </svg>\";\n\n/***/ }),\n/* 108 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n  value: true\n});\nexports.default = exports.BubbleTooltip = undefined;\n\nvar _get = function get(object, property, receiver) { if (object === null) object = Function.prototype; var desc = Object.getOwnPropertyDescriptor(object, property); if (desc === undefined) { var parent = Object.getPrototypeOf(object); if (parent === null) { return undefined; } else { return get(parent, property, receiver); } } else if (\"value\" in desc) { return desc.value; } else { var getter = desc.get; if (getter === undefined) { return undefined; } return getter.call(receiver); } };\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _extend = __webpack_require__(3);\n\nvar _extend2 = _interopRequireDefault(_extend);\n\nvar _emitter = __webpack_require__(8);\n\nvar _emitter2 = _interopRequireDefault(_emitter);\n\nvar _base = __webpack_require__(43);\n\nvar _base2 = _interopRequireDefault(_base);\n\nvar _selection = __webpack_require__(15);\n\nvar _icons = __webpack_require__(41);\n\nvar _icons2 = _interopRequireDefault(_icons);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\nvar TOOLBAR_CONFIG = [['bold', 'italic', 'link'], [{ header: 1 }, { header: 2 }, 'blockquote']];\n\nvar BubbleTheme = function (_BaseTheme) {\n  _inherits(BubbleTheme, _BaseTheme);\n\n  function BubbleTheme(quill, options) {\n    _classCallCheck(this, BubbleTheme);\n\n    if (options.modules.toolbar != null && options.modules.toolbar.container == null) {\n      options.modules.toolbar.container = TOOLBAR_CONFIG;\n    }\n\n    var _this = _possibleConstructorReturn(this, (BubbleTheme.__proto__ || Object.getPrototypeOf(BubbleTheme)).call(this, quill, options));\n\n    _this.quill.container.classList.add('ql-bubble');\n    return _this;\n  }\n\n  _createClass(BubbleTheme, [{\n    key: 'extendToolbar',\n    value: function extendToolbar(toolbar) {\n      this.tooltip = new BubbleTooltip(this.quill, this.options.bounds);\n      this.tooltip.root.appendChild(toolbar.container);\n      this.buildButtons([].slice.call(toolbar.container.querySelectorAll('button')), _icons2.default);\n      this.buildPickers([].slice.call(toolbar.container.querySelectorAll('select')), _icons2.default);\n    }\n  }]);\n\n  return BubbleTheme;\n}(_base2.default);\n\nBubbleTheme.DEFAULTS = (0, _extend2.default)(true, {}, _base2.default.DEFAULTS, {\n  modules: {\n    toolbar: {\n      handlers: {\n        link: function link(value) {\n          if (!value) {\n            this.quill.format('link', false);\n          } else {\n            this.quill.theme.tooltip.edit();\n          }\n        }\n      }\n    }\n  }\n});\n\nvar BubbleTooltip = function (_BaseTooltip) {\n  _inherits(BubbleTooltip, _BaseTooltip);\n\n  function BubbleTooltip(quill, bounds) {\n    _classCallCheck(this, BubbleTooltip);\n\n    var _this2 = _possibleConstructorReturn(this, (BubbleTooltip.__proto__ || Object.getPrototypeOf(BubbleTooltip)).call(this, quill, bounds));\n\n    _this2.quill.on(_emitter2.default.events.EDITOR_CHANGE, function (type, range, oldRange, source) {\n      if (type !== _emitter2.default.events.SELECTION_CHANGE) return;\n      if (range != null && range.length > 0 && source === _emitter2.default.sources.USER) {\n        _this2.show();\n        // Lock our width so we will expand beyond our offsetParent boundaries\n        _this2.root.style.left = '0px';\n        _this2.root.style.width = '';\n        _this2.root.style.width = _this2.root.offsetWidth + 'px';\n        var lines = _this2.quill.getLines(range.index, range.length);\n        if (lines.length === 1) {\n          _this2.position(_this2.quill.getBounds(range));\n        } else {\n          var lastLine = lines[lines.length - 1];\n          var index = _this2.quill.getIndex(lastLine);\n          var length = Math.min(lastLine.length() - 1, range.index + range.length - index);\n          var _bounds = _this2.quill.getBounds(new _selection.Range(index, length));\n          _this2.position(_bounds);\n        }\n      } else if (document.activeElement !== _this2.textbox && _this2.quill.hasFocus()) {\n        _this2.hide();\n      }\n    });\n    return _this2;\n  }\n\n  _createClass(BubbleTooltip, [{\n    key: 'listen',\n    value: function listen() {\n      var _this3 = this;\n\n      _get(BubbleTooltip.prototype.__proto__ || Object.getPrototypeOf(BubbleTooltip.prototype), 'listen', this).call(this);\n      this.root.querySelector('.ql-close').addEventListener('click', function () {\n        _this3.root.classList.remove('ql-editing');\n      });\n      this.quill.on(_emitter2.default.events.SCROLL_OPTIMIZE, function () {\n        // Let selection be restored by toolbar handlers before repositioning\n        setTimeout(function () {\n          if (_this3.root.classList.contains('ql-hidden')) return;\n          var range = _this3.quill.getSelection();\n          if (range != null) {\n            _this3.position(_this3.quill.getBounds(range));\n          }\n        }, 1);\n      });\n    }\n  }, {\n    key: 'cancel',\n    value: function cancel() {\n      this.show();\n    }\n  }, {\n    key: 'position',\n    value: function position(reference) {\n      var shift = _get(BubbleTooltip.prototype.__proto__ || Object.getPrototypeOf(BubbleTooltip.prototype), 'position', this).call(this, reference);\n      var arrow = this.root.querySelector('.ql-tooltip-arrow');\n      arrow.style.marginLeft = '';\n      if (shift === 0) return shift;\n      arrow.style.marginLeft = -1 * shift - arrow.offsetWidth / 2 + 'px';\n    }\n  }]);\n\n  return BubbleTooltip;\n}(_base.BaseTooltip);\n\nBubbleTooltip.TEMPLATE = ['<span class=\"ql-tooltip-arrow\"></span>', '<div class=\"ql-tooltip-editor\">', '<input type=\"text\" data-formula=\"e=mc^2\" data-link=\"https://quilljs.com\" data-video=\"Embed URL\">', '<a class=\"ql-close\"></a>', '</div>'].join('');\n\nexports.BubbleTooltip = BubbleTooltip;\nexports.default = BubbleTheme;\n\n/***/ }),\n/* 109 */\n/***/ (function(module, exports, __webpack_require__) {\n\nmodule.exports = __webpack_require__(63);\n\n\n/***/ })\n/******/ ])[\"default\"];\n});", "/**\n * This library modifies the diff-patch-match library by Neil Fraser\n * by removing the patch and match functionality and certain advanced\n * options in the diff function. The original license is as follows:\n *\n * ===\n *\n * Diff Match and Patch\n *\n * Copyright 2006 Google Inc.\n * http://code.google.com/p/google-diff-match-patch/\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n *   http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n\n/**\n * The data structure representing a diff is an array of tuples:\n * [[DIFF_DELETE, 'Hello'], [DIFF_INSERT, 'Goodbye'], [DIFF_EQUAL, ' world.']]\n * which means: delete 'Hello', add 'Goodbye' and keep ' world.'\n */\nvar DIFF_DELETE = -1;\nvar DIFF_INSERT = 1;\nvar DIFF_EQUAL = 0;\n\n\n/**\n * Find the differences between two texts.  Simplifies the problem by stripping\n * any common prefix or suffix off the texts before diffing.\n * @param {string} text1 Old string to be diffed.\n * @param {string} text2 New string to be diffed.\n * @param {Int|Object} [cursor_pos] Edit position in text1 or object with more info\n * @return {Array} Array of diff tuples.\n */\nfunction diff_main(text1, text2, cursor_pos, _fix_unicode) {\n  // Check for equality\n  if (text1 === text2) {\n    if (text1) {\n      return [[DIFF_EQUAL, text1]];\n    }\n    return [];\n  }\n\n  if (cursor_pos != null) {\n    var editdiff = find_cursor_edit_diff(text1, text2, cursor_pos);\n    if (editdiff) {\n      return editdiff;\n    }\n  }\n\n  // Trim off common prefix (speedup).\n  var commonlength = diff_commonPrefix(text1, text2);\n  var commonprefix = text1.substring(0, commonlength);\n  text1 = text1.substring(commonlength);\n  text2 = text2.substring(commonlength);\n\n  // Trim off common suffix (speedup).\n  commonlength = diff_commonSuffix(text1, text2);\n  var commonsuffix = text1.substring(text1.length - commonlength);\n  text1 = text1.substring(0, text1.length - commonlength);\n  text2 = text2.substring(0, text2.length - commonlength);\n\n  // Compute the diff on the middle block.\n  var diffs = diff_compute_(text1, text2);\n\n  // Restore the prefix and suffix.\n  if (commonprefix) {\n    diffs.unshift([DIFF_EQUAL, commonprefix]);\n  }\n  if (commonsuffix) {\n    diffs.push([DIFF_EQUAL, commonsuffix]);\n  }\n  diff_cleanupMerge(diffs, _fix_unicode);\n  return diffs;\n};\n\n\n/**\n * Find the differences between two texts.  Assumes that the texts do not\n * have any common prefix or suffix.\n * @param {string} text1 Old string to be diffed.\n * @param {string} text2 New string to be diffed.\n * @return {Array} Array of diff tuples.\n */\nfunction diff_compute_(text1, text2) {\n  var diffs;\n\n  if (!text1) {\n    // Just add some text (speedup).\n    return [[DIFF_INSERT, text2]];\n  }\n\n  if (!text2) {\n    // Just delete some text (speedup).\n    return [[DIFF_DELETE, text1]];\n  }\n\n  var longtext = text1.length > text2.length ? text1 : text2;\n  var shorttext = text1.length > text2.length ? text2 : text1;\n  var i = longtext.indexOf(shorttext);\n  if (i !== -1) {\n    // Shorter text is inside the longer text (speedup).\n    diffs = [\n      [DIFF_INSERT, longtext.substring(0, i)],\n      [DIFF_EQUAL, shorttext],\n      [DIFF_INSERT, longtext.substring(i + shorttext.length)]\n    ];\n    // Swap insertions for deletions if diff is reversed.\n    if (text1.length > text2.length) {\n      diffs[0][0] = diffs[2][0] = DIFF_DELETE;\n    }\n    return diffs;\n  }\n\n  if (shorttext.length === 1) {\n    // Single character string.\n    // After the previous speedup, the character can't be an equality.\n    return [[DIFF_DELETE, text1], [DIFF_INSERT, text2]];\n  }\n\n  // Check to see if the problem can be split in two.\n  var hm = diff_halfMatch_(text1, text2);\n  if (hm) {\n    // A half-match was found, sort out the return data.\n    var text1_a = hm[0];\n    var text1_b = hm[1];\n    var text2_a = hm[2];\n    var text2_b = hm[3];\n    var mid_common = hm[4];\n    // Send both pairs off for separate processing.\n    var diffs_a = diff_main(text1_a, text2_a);\n    var diffs_b = diff_main(text1_b, text2_b);\n    // Merge the results.\n    return diffs_a.concat([[DIFF_EQUAL, mid_common]], diffs_b);\n  }\n\n  return diff_bisect_(text1, text2);\n};\n\n\n/**\n * Find the 'middle snake' of a diff, split the problem in two\n * and return the recursively constructed diff.\n * See Myers 1986 paper: An O(ND) Difference Algorithm and Its Variations.\n * @param {string} text1 Old string to be diffed.\n * @param {string} text2 New string to be diffed.\n * @return {Array} Array of diff tuples.\n * @private\n */\nfunction diff_bisect_(text1, text2) {\n  // Cache the text lengths to prevent multiple calls.\n  var text1_length = text1.length;\n  var text2_length = text2.length;\n  var max_d = Math.ceil((text1_length + text2_length) / 2);\n  var v_offset = max_d;\n  var v_length = 2 * max_d;\n  var v1 = new Array(v_length);\n  var v2 = new Array(v_length);\n  // Setting all elements to -1 is faster in Chrome & Firefox than mixing\n  // integers and undefined.\n  for (var x = 0; x < v_length; x++) {\n    v1[x] = -1;\n    v2[x] = -1;\n  }\n  v1[v_offset + 1] = 0;\n  v2[v_offset + 1] = 0;\n  var delta = text1_length - text2_length;\n  // If the total number of characters is odd, then the front path will collide\n  // with the reverse path.\n  var front = (delta % 2 !== 0);\n  // Offsets for start and end of k loop.\n  // Prevents mapping of space beyond the grid.\n  var k1start = 0;\n  var k1end = 0;\n  var k2start = 0;\n  var k2end = 0;\n  for (var d = 0; d < max_d; d++) {\n    // Walk the front path one step.\n    for (var k1 = -d + k1start; k1 <= d - k1end; k1 += 2) {\n      var k1_offset = v_offset + k1;\n      var x1;\n      if (k1 === -d || (k1 !== d && v1[k1_offset - 1] < v1[k1_offset + 1])) {\n        x1 = v1[k1_offset + 1];\n      } else {\n        x1 = v1[k1_offset - 1] + 1;\n      }\n      var y1 = x1 - k1;\n      while (\n        x1 < text1_length && y1 < text2_length &&\n        text1.charAt(x1) === text2.charAt(y1)\n      ) {\n        x1++;\n        y1++;\n      }\n      v1[k1_offset] = x1;\n      if (x1 > text1_length) {\n        // Ran off the right of the graph.\n        k1end += 2;\n      } else if (y1 > text2_length) {\n        // Ran off the bottom of the graph.\n        k1start += 2;\n      } else if (front) {\n        var k2_offset = v_offset + delta - k1;\n        if (k2_offset >= 0 && k2_offset < v_length && v2[k2_offset] !== -1) {\n          // Mirror x2 onto top-left coordinate system.\n          var x2 = text1_length - v2[k2_offset];\n          if (x1 >= x2) {\n            // Overlap detected.\n            return diff_bisectSplit_(text1, text2, x1, y1);\n          }\n        }\n      }\n    }\n\n    // Walk the reverse path one step.\n    for (var k2 = -d + k2start; k2 <= d - k2end; k2 += 2) {\n      var k2_offset = v_offset + k2;\n      var x2;\n      if (k2 === -d || (k2 !== d && v2[k2_offset - 1] < v2[k2_offset + 1])) {\n        x2 = v2[k2_offset + 1];\n      } else {\n        x2 = v2[k2_offset - 1] + 1;\n      }\n      var y2 = x2 - k2;\n      while (\n        x2 < text1_length && y2 < text2_length &&\n        text1.charAt(text1_length - x2 - 1) === text2.charAt(text2_length - y2 - 1)\n      ) {\n        x2++;\n        y2++;\n      }\n      v2[k2_offset] = x2;\n      if (x2 > text1_length) {\n        // Ran off the left of the graph.\n        k2end += 2;\n      } else if (y2 > text2_length) {\n        // Ran off the top of the graph.\n        k2start += 2;\n      } else if (!front) {\n        var k1_offset = v_offset + delta - k2;\n        if (k1_offset >= 0 && k1_offset < v_length && v1[k1_offset] !== -1) {\n          var x1 = v1[k1_offset];\n          var y1 = v_offset + x1 - k1_offset;\n          // Mirror x2 onto top-left coordinate system.\n          x2 = text1_length - x2;\n          if (x1 >= x2) {\n            // Overlap detected.\n            return diff_bisectSplit_(text1, text2, x1, y1);\n          }\n        }\n      }\n    }\n  }\n  // Diff took too long and hit the deadline or\n  // number of diffs equals number of characters, no commonality at all.\n  return [[DIFF_DELETE, text1], [DIFF_INSERT, text2]];\n};\n\n\n/**\n * Given the location of the 'middle snake', split the diff in two parts\n * and recurse.\n * @param {string} text1 Old string to be diffed.\n * @param {string} text2 New string to be diffed.\n * @param {number} x Index of split point in text1.\n * @param {number} y Index of split point in text2.\n * @return {Array} Array of diff tuples.\n */\nfunction diff_bisectSplit_(text1, text2, x, y) {\n  var text1a = text1.substring(0, x);\n  var text2a = text2.substring(0, y);\n  var text1b = text1.substring(x);\n  var text2b = text2.substring(y);\n\n  // Compute both diffs serially.\n  var diffs = diff_main(text1a, text2a);\n  var diffsb = diff_main(text1b, text2b);\n\n  return diffs.concat(diffsb);\n};\n\n\n/**\n * Determine the common prefix of two strings.\n * @param {string} text1 First string.\n * @param {string} text2 Second string.\n * @return {number} The number of characters common to the start of each\n *     string.\n */\nfunction diff_commonPrefix(text1, text2) {\n  // Quick check for common null cases.\n  if (!text1 || !text2 || text1.charAt(0) !== text2.charAt(0)) {\n    return 0;\n  }\n  // Binary search.\n  // Performance analysis: http://neil.fraser.name/news/2007/10/09/\n  var pointermin = 0;\n  var pointermax = Math.min(text1.length, text2.length);\n  var pointermid = pointermax;\n  var pointerstart = 0;\n  while (pointermin < pointermid) {\n    if (\n      text1.substring(pointerstart, pointermid) ==\n      text2.substring(pointerstart, pointermid)\n    ) {\n      pointermin = pointermid;\n      pointerstart = pointermin;\n    } else {\n      pointermax = pointermid;\n    }\n    pointermid = Math.floor((pointermax - pointermin) / 2 + pointermin);\n  }\n\n  if (is_surrogate_pair_start(text1.charCodeAt(pointermid - 1))) {\n    pointermid--;\n  }\n\n  return pointermid;\n};\n\n\n/**\n * Determine the common suffix of two strings.\n * @param {string} text1 First string.\n * @param {string} text2 Second string.\n * @return {number} The number of characters common to the end of each string.\n */\nfunction diff_commonSuffix(text1, text2) {\n  // Quick check for common null cases.\n  if (!text1 || !text2 || text1.slice(-1) !== text2.slice(-1)) {\n    return 0;\n  }\n  // Binary search.\n  // Performance analysis: http://neil.fraser.name/news/2007/10/09/\n  var pointermin = 0;\n  var pointermax = Math.min(text1.length, text2.length);\n  var pointermid = pointermax;\n  var pointerend = 0;\n  while (pointermin < pointermid) {\n    if (\n      text1.substring(text1.length - pointermid, text1.length - pointerend) ==\n      text2.substring(text2.length - pointermid, text2.length - pointerend)\n    ) {\n      pointermin = pointermid;\n      pointerend = pointermin;\n    } else {\n      pointermax = pointermid;\n    }\n    pointermid = Math.floor((pointermax - pointermin) / 2 + pointermin);\n  }\n\n  if (is_surrogate_pair_end(text1.charCodeAt(text1.length - pointermid))) {\n    pointermid--;\n  }\n\n  return pointermid;\n};\n\n\n/**\n * Do the two texts share a substring which is at least half the length of the\n * longer text?\n * This speedup can produce non-minimal diffs.\n * @param {string} text1 First string.\n * @param {string} text2 Second string.\n * @return {Array.<string>} Five element Array, containing the prefix of\n *     text1, the suffix of text1, the prefix of text2, the suffix of\n *     text2 and the common middle.  Or null if there was no match.\n */\nfunction diff_halfMatch_(text1, text2) {\n  var longtext = text1.length > text2.length ? text1 : text2;\n  var shorttext = text1.length > text2.length ? text2 : text1;\n  if (longtext.length < 4 || shorttext.length * 2 < longtext.length) {\n    return null;  // Pointless.\n  }\n\n  /**\n   * Does a substring of shorttext exist within longtext such that the substring\n   * is at least half the length of longtext?\n   * Closure, but does not reference any external variables.\n   * @param {string} longtext Longer string.\n   * @param {string} shorttext Shorter string.\n   * @param {number} i Start index of quarter length substring within longtext.\n   * @return {Array.<string>} Five element Array, containing the prefix of\n   *     longtext, the suffix of longtext, the prefix of shorttext, the suffix\n   *     of shorttext and the common middle.  Or null if there was no match.\n   * @private\n   */\n  function diff_halfMatchI_(longtext, shorttext, i) {\n    // Start with a 1/4 length substring at position i as a seed.\n    var seed = longtext.substring(i, i + Math.floor(longtext.length / 4));\n    var j = -1;\n    var best_common = '';\n    var best_longtext_a, best_longtext_b, best_shorttext_a, best_shorttext_b;\n    while ((j = shorttext.indexOf(seed, j + 1)) !== -1) {\n      var prefixLength = diff_commonPrefix(\n        longtext.substring(i), shorttext.substring(j));\n      var suffixLength = diff_commonSuffix(\n        longtext.substring(0, i), shorttext.substring(0, j));\n      if (best_common.length < suffixLength + prefixLength) {\n        best_common = shorttext.substring(\n          j - suffixLength, j) + shorttext.substring(j, j + prefixLength);\n        best_longtext_a = longtext.substring(0, i - suffixLength);\n        best_longtext_b = longtext.substring(i + prefixLength);\n        best_shorttext_a = shorttext.substring(0, j - suffixLength);\n        best_shorttext_b = shorttext.substring(j + prefixLength);\n      }\n    }\n    if (best_common.length * 2 >= longtext.length) {\n      return [\n        best_longtext_a, best_longtext_b,\n        best_shorttext_a, best_shorttext_b, best_common\n      ];\n    } else {\n      return null;\n    }\n  }\n\n  // First check if the second quarter is the seed for a half-match.\n  var hm1 = diff_halfMatchI_(longtext, shorttext, Math.ceil(longtext.length / 4));\n  // Check again based on the third quarter.\n  var hm2 = diff_halfMatchI_(longtext, shorttext, Math.ceil(longtext.length / 2));\n  var hm;\n  if (!hm1 && !hm2) {\n    return null;\n  } else if (!hm2) {\n    hm = hm1;\n  } else if (!hm1) {\n    hm = hm2;\n  } else {\n    // Both matched.  Select the longest.\n    hm = hm1[4].length > hm2[4].length ? hm1 : hm2;\n  }\n\n  // A half-match was found, sort out the return data.\n  var text1_a, text1_b, text2_a, text2_b;\n  if (text1.length > text2.length) {\n    text1_a = hm[0];\n    text1_b = hm[1];\n    text2_a = hm[2];\n    text2_b = hm[3];\n  } else {\n    text2_a = hm[0];\n    text2_b = hm[1];\n    text1_a = hm[2];\n    text1_b = hm[3];\n  }\n  var mid_common = hm[4];\n  return [text1_a, text1_b, text2_a, text2_b, mid_common];\n};\n\n\n/**\n * Reorder and merge like edit sections.  Merge equalities.\n * Any edit section can move as long as it doesn't cross an equality.\n * @param {Array} diffs Array of diff tuples.\n * @param {boolean} fix_unicode Whether to normalize to a unicode-correct diff\n */\nfunction diff_cleanupMerge(diffs, fix_unicode) {\n  diffs.push([DIFF_EQUAL, '']);  // Add a dummy entry at the end.\n  var pointer = 0;\n  var count_delete = 0;\n  var count_insert = 0;\n  var text_delete = '';\n  var text_insert = '';\n  var commonlength;\n  while (pointer < diffs.length) {\n    if (pointer < diffs.length - 1 && !diffs[pointer][1]) {\n      diffs.splice(pointer, 1);\n      continue;\n    }\n    switch (diffs[pointer][0]) {\n      case DIFF_INSERT:\n\n        count_insert++;\n        text_insert += diffs[pointer][1];\n        pointer++;\n        break;\n      case DIFF_DELETE:\n        count_delete++;\n        text_delete += diffs[pointer][1];\n        pointer++;\n        break;\n      case DIFF_EQUAL:\n        var previous_equality = pointer - count_insert - count_delete - 1;\n        if (fix_unicode) {\n          // prevent splitting of unicode surrogate pairs.  when fix_unicode is true,\n          // we assume that the old and new text in the diff are complete and correct\n          // unicode-encoded JS strings, but the tuple boundaries may fall between\n          // surrogate pairs.  we fix this by shaving off stray surrogates from the end\n          // of the previous equality and the beginning of this equality.  this may create\n          // empty equalities or a common prefix or suffix.  for example, if AB and AC are\n          // emojis, `[[0, 'A'], [-1, 'BA'], [0, 'C']]` would turn into deleting 'ABAC' and\n          // inserting 'AC', and then the common suffix 'AC' will be eliminated.  in this\n          // particular case, both equalities go away, we absorb any previous inequalities,\n          // and we keep scanning for the next equality before rewriting the tuples.\n          if (previous_equality >= 0 && ends_with_pair_start(diffs[previous_equality][1])) {\n            var stray = diffs[previous_equality][1].slice(-1);\n            diffs[previous_equality][1] = diffs[previous_equality][1].slice(0, -1);\n            text_delete = stray + text_delete;\n            text_insert = stray + text_insert;\n            if (!diffs[previous_equality][1]) {\n              // emptied out previous equality, so delete it and include previous delete/insert\n              diffs.splice(previous_equality, 1);\n              pointer--;\n              var k = previous_equality - 1;\n              if (diffs[k] && diffs[k][0] === DIFF_INSERT) {\n                count_insert++;\n                text_insert = diffs[k][1] + text_insert;\n                k--;\n              }\n              if (diffs[k] && diffs[k][0] === DIFF_DELETE) {\n                count_delete++;\n                text_delete = diffs[k][1] + text_delete;\n                k--;\n              }\n              previous_equality = k;\n            }\n          }\n          if (starts_with_pair_end(diffs[pointer][1])) {\n            var stray = diffs[pointer][1].charAt(0);\n            diffs[pointer][1] = diffs[pointer][1].slice(1);\n            text_delete += stray;\n            text_insert += stray;\n          }\n        }\n        if (pointer < diffs.length - 1 && !diffs[pointer][1]) {\n          // for empty equality not at end, wait for next equality\n          diffs.splice(pointer, 1);\n          break;\n        }\n        if (text_delete.length > 0 || text_insert.length > 0) {\n          // note that diff_commonPrefix and diff_commonSuffix are unicode-aware\n          if (text_delete.length > 0 && text_insert.length > 0) {\n            // Factor out any common prefixes.\n            commonlength = diff_commonPrefix(text_insert, text_delete);\n            if (commonlength !== 0) {\n              if (previous_equality >= 0) {\n                diffs[previous_equality][1] += text_insert.substring(0, commonlength);\n              } else {\n                diffs.splice(0, 0, [DIFF_EQUAL, text_insert.substring(0, commonlength)]);\n                pointer++;\n              }\n              text_insert = text_insert.substring(commonlength);\n              text_delete = text_delete.substring(commonlength);\n            }\n            // Factor out any common suffixes.\n            commonlength = diff_commonSuffix(text_insert, text_delete);\n            if (commonlength !== 0) {\n              diffs[pointer][1] =\n                text_insert.substring(text_insert.length - commonlength) + diffs[pointer][1];\n              text_insert = text_insert.substring(0, text_insert.length - commonlength);\n              text_delete = text_delete.substring(0, text_delete.length - commonlength);\n            }\n          }\n          // Delete the offending records and add the merged ones.\n          var n = count_insert + count_delete;\n          if (text_delete.length === 0 && text_insert.length === 0) {\n            diffs.splice(pointer - n, n);\n            pointer = pointer - n;\n          } else if (text_delete.length === 0) {\n            diffs.splice(pointer - n, n, [DIFF_INSERT, text_insert]);\n            pointer = pointer - n + 1;\n          } else if (text_insert.length === 0) {\n            diffs.splice(pointer - n, n, [DIFF_DELETE, text_delete]);\n            pointer = pointer - n + 1;\n          } else {\n            diffs.splice(pointer - n, n, [DIFF_DELETE, text_delete], [DIFF_INSERT, text_insert]);\n            pointer = pointer - n + 2;\n          }\n        }\n        if (pointer !== 0 && diffs[pointer - 1][0] === DIFF_EQUAL) {\n          // Merge this equality with the previous one.\n          diffs[pointer - 1][1] += diffs[pointer][1];\n          diffs.splice(pointer, 1);\n        } else {\n          pointer++;\n        }\n        count_insert = 0;\n        count_delete = 0;\n        text_delete = '';\n        text_insert = '';\n        break;\n    }\n  }\n  if (diffs[diffs.length - 1][1] === '') {\n    diffs.pop();  // Remove the dummy entry at the end.\n  }\n\n  // Second pass: look for single edits surrounded on both sides by equalities\n  // which can be shifted sideways to eliminate an equality.\n  // e.g: A<ins>BA</ins>C -> <ins>AB</ins>AC\n  var changes = false;\n  pointer = 1;\n  // Intentionally ignore the first and last element (don't need checking).\n  while (pointer < diffs.length - 1) {\n    if (diffs[pointer - 1][0] === DIFF_EQUAL &&\n      diffs[pointer + 1][0] === DIFF_EQUAL) {\n      // This is a single edit surrounded by equalities.\n      if (diffs[pointer][1].substring(diffs[pointer][1].length -\n        diffs[pointer - 1][1].length) === diffs[pointer - 1][1]) {\n        // Shift the edit over the previous equality.\n        diffs[pointer][1] = diffs[pointer - 1][1] +\n          diffs[pointer][1].substring(0, diffs[pointer][1].length -\n            diffs[pointer - 1][1].length);\n        diffs[pointer + 1][1] = diffs[pointer - 1][1] + diffs[pointer + 1][1];\n        diffs.splice(pointer - 1, 1);\n        changes = true;\n      } else if (diffs[pointer][1].substring(0, diffs[pointer + 1][1].length) ==\n        diffs[pointer + 1][1]) {\n        // Shift the edit over the next equality.\n        diffs[pointer - 1][1] += diffs[pointer + 1][1];\n        diffs[pointer][1] =\n          diffs[pointer][1].substring(diffs[pointer + 1][1].length) +\n          diffs[pointer + 1][1];\n        diffs.splice(pointer + 1, 1);\n        changes = true;\n      }\n    }\n    pointer++;\n  }\n  // If shifts were made, the diff needs reordering and another shift sweep.\n  if (changes) {\n    diff_cleanupMerge(diffs, fix_unicode);\n  }\n};\n\nfunction is_surrogate_pair_start(charCode) {\n  return charCode >= 0xD800 && charCode <= 0xDBFF;\n}\n\nfunction is_surrogate_pair_end(charCode) {\n  return charCode >= 0xDC00 && charCode <= 0xDFFF;\n}\n\nfunction starts_with_pair_end(str) {\n  return is_surrogate_pair_end(str.charCodeAt(0));\n}\n\nfunction ends_with_pair_start(str) {\n  return is_surrogate_pair_start(str.charCodeAt(str.length - 1));\n}\n\nfunction remove_empty_tuples(tuples) {\n  var ret = [];\n  for (var i = 0; i < tuples.length; i++) {\n    if (tuples[i][1].length > 0) {\n      ret.push(tuples[i]);\n    }\n  }\n  return ret;\n}\n\nfunction make_edit_splice(before, oldMiddle, newMiddle, after) {\n  if (ends_with_pair_start(before) || starts_with_pair_end(after)) {\n    return null;\n  }\n  return remove_empty_tuples([\n    [DIFF_EQUAL, before],\n    [DIFF_DELETE, oldMiddle],\n    [DIFF_INSERT, newMiddle],\n    [DIFF_EQUAL, after]\n  ]);\n}\n\nfunction find_cursor_edit_diff(oldText, newText, cursor_pos) {\n  // note: this runs after equality check has ruled out exact equality\n  var oldRange = typeof cursor_pos === 'number' ?\n    { index: cursor_pos, length: 0 } : cursor_pos.oldRange;\n  var newRange = typeof cursor_pos === 'number' ?\n    null : cursor_pos.newRange;\n  // take into account the old and new selection to generate the best diff\n  // possible for a text edit.  for example, a text change from \"xxx\" to \"xx\"\n  // could be a delete or forwards-delete of any one of the x's, or the\n  // result of selecting two of the x's and typing \"x\".\n  var oldLength = oldText.length;\n  var newLength = newText.length;\n  if (oldRange.length === 0 && (newRange === null || newRange.length === 0)) {\n    // see if we have an insert or delete before or after cursor\n    var oldCursor = oldRange.index;\n    var oldBefore = oldText.slice(0, oldCursor);\n    var oldAfter = oldText.slice(oldCursor);\n    var maybeNewCursor = newRange ? newRange.index : null;\n    editBefore: {\n      // is this an insert or delete right before oldCursor?\n      var newCursor = oldCursor + newLength - oldLength;\n      if (maybeNewCursor !== null && maybeNewCursor !== newCursor) {\n        break editBefore;\n      }\n      if (newCursor < 0 || newCursor > newLength) {\n        break editBefore;\n      }\n      var newBefore = newText.slice(0, newCursor);\n      var newAfter = newText.slice(newCursor);\n      if (newAfter !== oldAfter) {\n        break editBefore;\n      }\n      var prefixLength = Math.min(oldCursor, newCursor);\n      var oldPrefix = oldBefore.slice(0, prefixLength);\n      var newPrefix = newBefore.slice(0, prefixLength);\n      if (oldPrefix !== newPrefix) {\n        break editBefore;\n      }\n      var oldMiddle = oldBefore.slice(prefixLength);\n      var newMiddle = newBefore.slice(prefixLength);\n      return make_edit_splice(oldPrefix, oldMiddle, newMiddle, oldAfter);\n    }\n    editAfter: {\n      // is this an insert or delete right after oldCursor?\n      if (maybeNewCursor !== null && maybeNewCursor !== oldCursor) {\n        break editAfter;\n      }\n      var cursor = oldCursor;\n      var newBefore = newText.slice(0, cursor);\n      var newAfter = newText.slice(cursor);\n      if (newBefore !== oldBefore) {\n        break editAfter;\n      }\n      var suffixLength = Math.min(oldLength - cursor, newLength - cursor);\n      var oldSuffix = oldAfter.slice(oldAfter.length - suffixLength);\n      var newSuffix = newAfter.slice(newAfter.length - suffixLength);\n      if (oldSuffix !== newSuffix) {\n        break editAfter;\n      }\n      var oldMiddle = oldAfter.slice(0, oldAfter.length - suffixLength);\n      var newMiddle = newAfter.slice(0, newAfter.length - suffixLength);\n      return make_edit_splice(oldBefore, oldMiddle, newMiddle, oldSuffix);\n    }\n  }\n  if (oldRange.length > 0 && newRange && newRange.length === 0) {\n    replaceRange: {\n      // see if diff could be a splice of the old selection range\n      var oldPrefix = oldText.slice(0, oldRange.index);\n      var oldSuffix = oldText.slice(oldRange.index + oldRange.length);\n      var prefixLength = oldPrefix.length;\n      var suffixLength = oldSuffix.length;\n      if (newLength < prefixLength + suffixLength) {\n        break replaceRange;\n      }\n      var newPrefix = newText.slice(0, prefixLength);\n      var newSuffix = newText.slice(newLength - suffixLength);\n      if (oldPrefix !== newPrefix || oldSuffix !== newSuffix) {\n        break replaceRange;\n      }\n      var oldMiddle = oldText.slice(prefixLength, oldLength - suffixLength);\n      var newMiddle = newText.slice(prefixLength, newLength - suffixLength);\n      return make_edit_splice(oldPrefix, oldMiddle, newMiddle, oldSuffix);\n    }\n  }\n\n  return null;\n}\n\nfunction diff(text1, text2, cursor_pos) {\n  // only pass fix_unicode=true at the top level, not when diff_main is\n  // recursively invoked\n  return diff_main(text1, text2, cursor_pos, true);\n}\n\ndiff.INSERT = DIFF_INSERT;\ndiff.DELETE = DIFF_DELETE;\ndiff.EQUAL = DIFF_EQUAL;\n\nmodule.exports = diff;\n", "import cloneDeep from 'lodash.clonedeep';\nimport isEqual from 'lodash.isequal';\n\ninterface AttributeMap {\n  [key: string]: any;\n}\n\nnamespace AttributeMap {\n  export function compose(\n    a: AttributeMap = {},\n    b: AttributeMap = {},\n    keepNull: boolean,\n  ): AttributeMap | undefined {\n    if (typeof a !== 'object') {\n      a = {};\n    }\n    if (typeof b !== 'object') {\n      b = {};\n    }\n    let attributes = cloneDeep(b);\n    if (!keepNull) {\n      attributes = Object.keys(attributes).reduce<AttributeMap>((copy, key) => {\n        if (attributes[key] != null) {\n          copy[key] = attributes[key];\n        }\n        return copy;\n      }, {});\n    }\n    for (const key in a) {\n      if (a[key] !== undefined && b[key] === undefined) {\n        attributes[key] = a[key];\n      }\n    }\n    return Object.keys(attributes).length > 0 ? attributes : undefined;\n  }\n\n  export function diff(\n    a: AttributeMap = {},\n    b: AttributeMap = {},\n  ): AttributeMap | undefined {\n    if (typeof a !== 'object') {\n      a = {};\n    }\n    if (typeof b !== 'object') {\n      b = {};\n    }\n    const attributes = Object.keys(a)\n      .concat(Object.keys(b))\n      .reduce<AttributeMap>((attrs, key) => {\n        if (!isEqual(a[key], b[key])) {\n          attrs[key] = b[key] === undefined ? null : b[key];\n        }\n        return attrs;\n      }, {});\n    return Object.keys(attributes).length > 0 ? attributes : undefined;\n  }\n\n  export function invert(\n    attr: AttributeMap = {},\n    base: AttributeMap = {},\n  ): AttributeMap {\n    attr = attr || {};\n    const baseInverted = Object.keys(base).reduce<AttributeMap>((memo, key) => {\n      if (base[key] !== attr[key] && attr[key] !== undefined) {\n        memo[key] = base[key];\n      }\n      return memo;\n    }, {});\n    return Object.keys(attr).reduce<AttributeMap>((memo, key) => {\n      if (attr[key] !== base[key] && base[key] === undefined) {\n        memo[key] = null;\n      }\n      return memo;\n    }, baseInverted);\n  }\n\n  export function transform(\n    a: AttributeMap | undefined,\n    b: AttributeMap | undefined,\n    priority = false,\n  ): AttributeMap | undefined {\n    if (typeof a !== 'object') {\n      return b;\n    }\n    if (typeof b !== 'object') {\n      return undefined;\n    }\n    if (!priority) {\n      return b; // b simply overwrites us without priority\n    }\n    const attributes = Object.keys(b).reduce<AttributeMap>((attrs, key) => {\n      if (a[key] === undefined) {\n        attrs[key] = b[key]; // null is a valid value\n      }\n      return attrs;\n    }, {});\n    return Object.keys(attributes).length > 0 ? attributes : undefined;\n  }\n}\n\nexport default AttributeMap;\n", "import Op from './Op';\n\nexport default class Iterator {\n  ops: Op[];\n  index: number;\n  offset: number;\n\n  constructor(ops: Op[]) {\n    this.ops = ops;\n    this.index = 0;\n    this.offset = 0;\n  }\n\n  hasNext(): boolean {\n    return this.peekLength() < Infinity;\n  }\n\n  next(length?: number): Op {\n    if (!length) {\n      length = Infinity;\n    }\n    const nextOp = this.ops[this.index];\n    if (nextOp) {\n      const offset = this.offset;\n      const opLength = Op.length(nextOp);\n      if (length >= opLength - offset) {\n        length = opLength - offset;\n        this.index += 1;\n        this.offset = 0;\n      } else {\n        this.offset += length;\n      }\n      if (typeof nextOp.delete === 'number') {\n        return { delete: length };\n      } else {\n        const retOp: Op = {};\n        if (nextOp.attributes) {\n          retOp.attributes = nextOp.attributes;\n        }\n        if (typeof nextOp.retain === 'number') {\n          retOp.retain = length;\n        } else if (typeof nextOp.insert === 'string') {\n          retOp.insert = nextOp.insert.substr(offset, length);\n        } else {\n          // offset should === 0, length should === 1\n          retOp.insert = nextOp.insert;\n        }\n        return retOp;\n      }\n    } else {\n      return { retain: Infinity };\n    }\n  }\n\n  peek(): Op {\n    return this.ops[this.index];\n  }\n\n  peekLength(): number {\n    if (this.ops[this.index]) {\n      // Should never return 0 if our index is being managed correctly\n      return Op.length(this.ops[this.index]) - this.offset;\n    } else {\n      return Infinity;\n    }\n  }\n\n  peekType(): string {\n    if (this.ops[this.index]) {\n      if (typeof this.ops[this.index].delete === 'number') {\n        return 'delete';\n      } else if (typeof this.ops[this.index].retain === 'number') {\n        return 'retain';\n      } else {\n        return 'insert';\n      }\n    }\n    return 'retain';\n  }\n\n  rest(): Op[] {\n    if (!this.hasNext()) {\n      return [];\n    } else if (this.offset === 0) {\n      return this.ops.slice(this.index);\n    } else {\n      const offset = this.offset;\n      const index = this.index;\n      const next = this.next();\n      const rest = this.ops.slice(this.index);\n      this.offset = offset;\n      this.index = index;\n      return [next].concat(rest);\n    }\n  }\n}\n", "import AttributeMap from './AttributeMap';\nimport Iterator from './Iterator';\n\ninterface Op {\n  // only one property out of {insert, delete, retain} will be present\n  insert?: string | object;\n  delete?: number;\n  retain?: number;\n\n  attributes?: AttributeMap;\n}\n\nnamespace Op {\n  export function iterator(ops: Op[]): Iterator {\n    return new Iterator(ops);\n  }\n\n  export function length(op: Op): number {\n    if (typeof op.delete === 'number') {\n      return op.delete;\n    } else if (typeof op.retain === 'number') {\n      return op.retain;\n    } else {\n      return typeof op.insert === 'string' ? op.insert.length : 1;\n    }\n  }\n}\n\nexport default Op;\n", "import diff from 'fast-diff';\nimport cloneDeep from 'lodash.clonedeep';\nimport isEqual from 'lodash.isequal';\nimport AttributeMap from './AttributeMap';\nimport Op from './Op';\n\nconst NULL_CHARACTER = String.fromCharCode(0); // Placeholder char for embed in diff()\n\nclass Delta {\n  static Op = Op;\n  static AttributeMap = AttributeMap;\n\n  ops: Op[];\n  constructor(ops?: Op[] | { ops: Op[] }) {\n    // Assume we are given a well formed ops\n    if (Array.isArray(ops)) {\n      this.ops = ops;\n    } else if (ops != null && Array.isArray(ops.ops)) {\n      this.ops = ops.ops;\n    } else {\n      this.ops = [];\n    }\n  }\n\n  insert(arg: string | object, attributes?: AttributeMap): this {\n    const newOp: Op = {};\n    if (typeof arg === 'string' && arg.length === 0) {\n      return this;\n    }\n    newOp.insert = arg;\n    if (\n      attributes != null &&\n      typeof attributes === 'object' &&\n      Object.keys(attributes).length > 0\n    ) {\n      newOp.attributes = attributes;\n    }\n    return this.push(newOp);\n  }\n\n  delete(length: number): this {\n    if (length <= 0) {\n      return this;\n    }\n    return this.push({ delete: length });\n  }\n\n  retain(length: number, attributes?: AttributeMap): this {\n    if (length <= 0) {\n      return this;\n    }\n    const newOp: Op = { retain: length };\n    if (\n      attributes != null &&\n      typeof attributes === 'object' &&\n      Object.keys(attributes).length > 0\n    ) {\n      newOp.attributes = attributes;\n    }\n    return this.push(newOp);\n  }\n\n  push(newOp: Op): this {\n    let index = this.ops.length;\n    let lastOp = this.ops[index - 1];\n    newOp = cloneDeep(newOp);\n    if (typeof lastOp === 'object') {\n      if (\n        typeof newOp.delete === 'number' &&\n        typeof lastOp.delete === 'number'\n      ) {\n        this.ops[index - 1] = { delete: lastOp.delete + newOp.delete };\n        return this;\n      }\n      // Since it does not matter if we insert before or after deleting at the same index,\n      // always prefer to insert first\n      if (typeof lastOp.delete === 'number' && newOp.insert != null) {\n        index -= 1;\n        lastOp = this.ops[index - 1];\n        if (typeof lastOp !== 'object') {\n          this.ops.unshift(newOp);\n          return this;\n        }\n      }\n      if (isEqual(newOp.attributes, lastOp.attributes)) {\n        if (\n          typeof newOp.insert === 'string' &&\n          typeof lastOp.insert === 'string'\n        ) {\n          this.ops[index - 1] = { insert: lastOp.insert + newOp.insert };\n          if (typeof newOp.attributes === 'object') {\n            this.ops[index - 1].attributes = newOp.attributes;\n          }\n          return this;\n        } else if (\n          typeof newOp.retain === 'number' &&\n          typeof lastOp.retain === 'number'\n        ) {\n          this.ops[index - 1] = { retain: lastOp.retain + newOp.retain };\n          if (typeof newOp.attributes === 'object') {\n            this.ops[index - 1].attributes = newOp.attributes;\n          }\n          return this;\n        }\n      }\n    }\n    if (index === this.ops.length) {\n      this.ops.push(newOp);\n    } else {\n      this.ops.splice(index, 0, newOp);\n    }\n    return this;\n  }\n\n  chop(): this {\n    const lastOp = this.ops[this.ops.length - 1];\n    if (lastOp && lastOp.retain && !lastOp.attributes) {\n      this.ops.pop();\n    }\n    return this;\n  }\n\n  filter(predicate: (op: Op, index: number) => boolean): Op[] {\n    return this.ops.filter(predicate);\n  }\n\n  forEach(predicate: (op: Op, index: number) => void): void {\n    this.ops.forEach(predicate);\n  }\n\n  map<T>(predicate: (op: Op, index: number) => T): T[] {\n    return this.ops.map(predicate);\n  }\n\n  partition(predicate: (op: Op) => boolean): [Op[], Op[]] {\n    const passed: Op[] = [];\n    const failed: Op[] = [];\n    this.forEach((op) => {\n      const target = predicate(op) ? passed : failed;\n      target.push(op);\n    });\n    return [passed, failed];\n  }\n\n  reduce<T>(\n    predicate: (accum: T, curr: Op, index: number) => T,\n    initialValue: T,\n  ): T {\n    return this.ops.reduce(predicate, initialValue);\n  }\n\n  changeLength(): number {\n    return this.reduce((length, elem) => {\n      if (elem.insert) {\n        return length + Op.length(elem);\n      } else if (elem.delete) {\n        return length - elem.delete;\n      }\n      return length;\n    }, 0);\n  }\n\n  length(): number {\n    return this.reduce((length, elem) => {\n      return length + Op.length(elem);\n    }, 0);\n  }\n\n  slice(start = 0, end = Infinity): Delta {\n    const ops = [];\n    const iter = Op.iterator(this.ops);\n    let index = 0;\n    while (index < end && iter.hasNext()) {\n      let nextOp;\n      if (index < start) {\n        nextOp = iter.next(start - index);\n      } else {\n        nextOp = iter.next(end - index);\n        ops.push(nextOp);\n      }\n      index += Op.length(nextOp);\n    }\n    return new Delta(ops);\n  }\n\n  compose(other: Delta): Delta {\n    const thisIter = Op.iterator(this.ops);\n    const otherIter = Op.iterator(other.ops);\n    const ops = [];\n    const firstOther = otherIter.peek();\n    if (\n      firstOther != null &&\n      typeof firstOther.retain === 'number' &&\n      firstOther.attributes == null\n    ) {\n      let firstLeft = firstOther.retain;\n      while (\n        thisIter.peekType() === 'insert' &&\n        thisIter.peekLength() <= firstLeft\n      ) {\n        firstLeft -= thisIter.peekLength();\n        ops.push(thisIter.next());\n      }\n      if (firstOther.retain - firstLeft > 0) {\n        otherIter.next(firstOther.retain - firstLeft);\n      }\n    }\n    const delta = new Delta(ops);\n    while (thisIter.hasNext() || otherIter.hasNext()) {\n      if (otherIter.peekType() === 'insert') {\n        delta.push(otherIter.next());\n      } else if (thisIter.peekType() === 'delete') {\n        delta.push(thisIter.next());\n      } else {\n        const length = Math.min(thisIter.peekLength(), otherIter.peekLength());\n        const thisOp = thisIter.next(length);\n        const otherOp = otherIter.next(length);\n        if (typeof otherOp.retain === 'number') {\n          const newOp: Op = {};\n          if (typeof thisOp.retain === 'number') {\n            newOp.retain = length;\n          } else {\n            newOp.insert = thisOp.insert;\n          }\n          // Preserve null when composing with a retain, otherwise remove it for inserts\n          const attributes = AttributeMap.compose(\n            thisOp.attributes,\n            otherOp.attributes,\n            typeof thisOp.retain === 'number',\n          );\n          if (attributes) {\n            newOp.attributes = attributes;\n          }\n          delta.push(newOp);\n\n          // Optimization if rest of other is just retain\n          if (\n            !otherIter.hasNext() &&\n            isEqual(delta.ops[delta.ops.length - 1], newOp)\n          ) {\n            const rest = new Delta(thisIter.rest());\n            return delta.concat(rest).chop();\n          }\n\n          // Other op should be delete, we could be an insert or retain\n          // Insert + delete cancels out\n        } else if (\n          typeof otherOp.delete === 'number' &&\n          typeof thisOp.retain === 'number'\n        ) {\n          delta.push(otherOp);\n        }\n      }\n    }\n    return delta.chop();\n  }\n\n  concat(other: Delta): Delta {\n    const delta = new Delta(this.ops.slice());\n    if (other.ops.length > 0) {\n      delta.push(other.ops[0]);\n      delta.ops = delta.ops.concat(other.ops.slice(1));\n    }\n    return delta;\n  }\n\n  diff(other: Delta, cursor?: number | diff.CursorInfo): Delta {\n    if (this.ops === other.ops) {\n      return new Delta();\n    }\n    const strings = [this, other].map((delta) => {\n      return delta\n        .map((op) => {\n          if (op.insert != null) {\n            return typeof op.insert === 'string' ? op.insert : NULL_CHARACTER;\n          }\n          const prep = delta === other ? 'on' : 'with';\n          throw new Error('diff() called ' + prep + ' non-document');\n        })\n        .join('');\n    });\n    const retDelta = new Delta();\n    const diffResult = diff(strings[0], strings[1], cursor);\n    const thisIter = Op.iterator(this.ops);\n    const otherIter = Op.iterator(other.ops);\n    diffResult.forEach((component: diff.Diff) => {\n      let length = component[1].length;\n      while (length > 0) {\n        let opLength = 0;\n        switch (component[0]) {\n          case diff.INSERT:\n            opLength = Math.min(otherIter.peekLength(), length);\n            retDelta.push(otherIter.next(opLength));\n            break;\n          case diff.DELETE:\n            opLength = Math.min(length, thisIter.peekLength());\n            thisIter.next(opLength);\n            retDelta.delete(opLength);\n            break;\n          case diff.EQUAL:\n            opLength = Math.min(\n              thisIter.peekLength(),\n              otherIter.peekLength(),\n              length,\n            );\n            const thisOp = thisIter.next(opLength);\n            const otherOp = otherIter.next(opLength);\n            if (isEqual(thisOp.insert, otherOp.insert)) {\n              retDelta.retain(\n                opLength,\n                AttributeMap.diff(thisOp.attributes, otherOp.attributes),\n              );\n            } else {\n              retDelta.push(otherOp).delete(opLength);\n            }\n            break;\n        }\n        length -= opLength;\n      }\n    });\n    return retDelta.chop();\n  }\n\n  eachLine(\n    predicate: (\n      line: Delta,\n      attributes: AttributeMap,\n      index: number,\n    ) => boolean | void,\n    newline = '\\n',\n  ): void {\n    const iter = Op.iterator(this.ops);\n    let line = new Delta();\n    let i = 0;\n    while (iter.hasNext()) {\n      if (iter.peekType() !== 'insert') {\n        return;\n      }\n      const thisOp = iter.peek();\n      const start = Op.length(thisOp) - iter.peekLength();\n      const index =\n        typeof thisOp.insert === 'string'\n          ? thisOp.insert.indexOf(newline, start) - start\n          : -1;\n      if (index < 0) {\n        line.push(iter.next());\n      } else if (index > 0) {\n        line.push(iter.next(index));\n      } else {\n        if (predicate(line, iter.next(1).attributes || {}, i) === false) {\n          return;\n        }\n        i += 1;\n        line = new Delta();\n      }\n    }\n    if (line.length() > 0) {\n      predicate(line, {}, i);\n    }\n  }\n\n  invert(base: Delta): Delta {\n    const inverted = new Delta();\n    this.reduce((baseIndex, op) => {\n      if (op.insert) {\n        inverted.delete(Op.length(op));\n      } else if (op.retain && op.attributes == null) {\n        inverted.retain(op.retain);\n        return baseIndex + op.retain;\n      } else if (op.delete || (op.retain && op.attributes)) {\n        const length = (op.delete || op.retain) as number;\n        const slice = base.slice(baseIndex, baseIndex + length);\n        slice.forEach((baseOp) => {\n          if (op.delete) {\n            inverted.push(baseOp);\n          } else if (op.retain && op.attributes) {\n            inverted.retain(\n              Op.length(baseOp),\n              AttributeMap.invert(op.attributes, baseOp.attributes),\n            );\n          }\n        });\n        return baseIndex + length;\n      }\n      return baseIndex;\n    }, 0);\n    return inverted.chop();\n  }\n\n  transform(index: number, priority?: boolean): number;\n  transform(other: Delta, priority?: boolean): Delta;\n  transform(arg: number | Delta, priority = false): typeof arg {\n    priority = !!priority;\n    if (typeof arg === 'number') {\n      return this.transformPosition(arg, priority);\n    }\n    const other: Delta = arg;\n    const thisIter = Op.iterator(this.ops);\n    const otherIter = Op.iterator(other.ops);\n    const delta = new Delta();\n    while (thisIter.hasNext() || otherIter.hasNext()) {\n      if (\n        thisIter.peekType() === 'insert' &&\n        (priority || otherIter.peekType() !== 'insert')\n      ) {\n        delta.retain(Op.length(thisIter.next()));\n      } else if (otherIter.peekType() === 'insert') {\n        delta.push(otherIter.next());\n      } else {\n        const length = Math.min(thisIter.peekLength(), otherIter.peekLength());\n        const thisOp = thisIter.next(length);\n        const otherOp = otherIter.next(length);\n        if (thisOp.delete) {\n          // Our delete either makes their delete redundant or removes their retain\n          continue;\n        } else if (otherOp.delete) {\n          delta.push(otherOp);\n        } else {\n          // We retain either their retain or insert\n          delta.retain(\n            length,\n            AttributeMap.transform(\n              thisOp.attributes,\n              otherOp.attributes,\n              priority,\n            ),\n          );\n        }\n      }\n    }\n    return delta.chop();\n  }\n\n  transformPosition(index: number, priority = false): number {\n    priority = !!priority;\n    const thisIter = Op.iterator(this.ops);\n    let offset = 0;\n    while (thisIter.hasNext() && offset <= index) {\n      const length = thisIter.peekLength();\n      const nextType = thisIter.peekType();\n      thisIter.next();\n      if (nextType === 'delete') {\n        index -= Math.min(length, index - offset);\n        continue;\n      } else if (nextType === 'insert' && (offset < index || !priority)) {\n        index += length;\n      }\n      offset += length;\n    }\n    return index;\n  }\n}\n\nexport = Delta;\n", "/*!\n * VueQuill @vueup/vue-quill v1.2.0\n * https://vueup.github.io/vue-quill/\n * \n * Includes quill v1.3.7\n * https://quilljs.com/\n * \n * Copyright (c) 2023 Ahmad Luthfi Masruri\n * Released under the MIT license\n * Date: 2023-05-12T08:44:03.742Z\n */\nimport Quill from 'quill';\nexport { default as Quill } from 'quill';\nimport Delta from 'quill-delta';\nexport { default as Delta } from 'quill-delta';\nimport { defineComponent, onMounted, onBeforeUnmount, ref, watch, nextTick, h } from 'vue';\n\nconst toolbarOptions = {\r\n    essential: [\r\n        [{ header: [1, 2, 3, 4, 5, 6, false] }],\r\n        ['bold', 'italic', 'underline'],\r\n        [{ list: 'ordered' }, { list: 'bullet' }, { align: [] }],\r\n        ['blockquote', 'code-block', 'link'],\r\n        [{ color: [] }, 'clean'],\r\n    ],\r\n    minimal: [\r\n        [{ header: 1 }, { header: 2 }],\r\n        ['bold', 'italic', 'underline'],\r\n        [{ list: 'ordered' }, { list: 'bullet' }, { align: [] }],\r\n    ],\r\n    full: [\r\n        ['bold', 'italic', 'underline', 'strike'],\r\n        ['blockquote', 'code-block'],\r\n        [{ header: 1 }, { header: 2 }],\r\n        [{ list: 'ordered' }, { list: 'bullet' }],\r\n        [{ script: 'sub' }, { script: 'super' }],\r\n        [{ indent: '-1' }, { indent: '+1' }],\r\n        [{ direction: 'rtl' }],\r\n        [{ size: ['small', false, 'large', 'huge'] }],\r\n        [{ header: [1, 2, 3, 4, 5, 6, false] }],\r\n        [{ color: [] }, { background: [] }],\r\n        [{ font: [] }],\r\n        [{ align: [] }],\r\n        ['link', 'video', 'image'],\r\n        ['clean'], // remove formatting button\r\n    ],\r\n};\n\nconst QuillEditor = defineComponent({\r\n    name: 'QuillEditor',\r\n    inheritAttrs: false,\r\n    props: {\r\n        content: {\r\n            type: [String, Object],\r\n        },\r\n        contentType: {\r\n            type: String,\r\n            default: 'delta',\r\n            validator: (value) => {\r\n                return ['delta', 'html', 'text'].includes(value);\r\n            },\r\n        },\r\n        enable: {\r\n            type: Boolean,\r\n            default: true,\r\n        },\r\n        readOnly: {\r\n            type: Boolean,\r\n            default: false,\r\n        },\r\n        placeholder: {\r\n            type: String,\r\n            required: false,\r\n        },\r\n        theme: {\r\n            type: String,\r\n            default: 'snow',\r\n            validator: (value) => {\r\n                return ['snow', 'bubble', ''].includes(value);\r\n            },\r\n        },\r\n        toolbar: {\r\n            type: [String, Array, Object],\r\n            required: false,\r\n            validator: (value) => {\r\n                if (typeof value === 'string' && value !== '') {\r\n                    return value.charAt(0) === '#'\r\n                        ? true\r\n                        : Object.keys(toolbarOptions).indexOf(value) !== -1;\r\n                }\r\n                return true;\r\n            },\r\n        },\r\n        modules: {\r\n            type: Object,\r\n            required: false,\r\n        },\r\n        options: {\r\n            type: Object,\r\n            required: false,\r\n        },\r\n        globalOptions: {\r\n            type: Object,\r\n            required: false,\r\n        },\r\n    },\r\n    emits: [\r\n        'textChange',\r\n        'selectionChange',\r\n        'editorChange',\r\n        'update:content',\r\n        'focus',\r\n        'blur',\r\n        'ready',\r\n    ],\r\n    setup: (props, ctx) => {\r\n        onMounted(() => {\r\n            initialize();\r\n        });\r\n        onBeforeUnmount(() => {\r\n            quill = null;\r\n        });\r\n        let quill;\r\n        let options;\r\n        const editor = ref();\r\n        // Initialize Quill\r\n        const initialize = () => {\r\n            var _a;\r\n            if (!editor.value)\r\n                return;\r\n            options = composeOptions();\r\n            // Register modules\r\n            if (props.modules) {\r\n                if (Array.isArray(props.modules)) {\r\n                    for (const module of props.modules) {\r\n                        Quill.register(`modules/${module.name}`, module.module);\r\n                    }\r\n                }\r\n                else {\r\n                    Quill.register(`modules/${props.modules.name}`, props.modules.module);\r\n                }\r\n            }\r\n            // Create new Quill instance\r\n            quill = new Quill(editor.value, options);\r\n            // Set editor content\r\n            setContents(props.content);\r\n            // Set event handlers\r\n            quill.on('text-change', handleTextChange);\r\n            quill.on('selection-change', handleSelectionChange);\r\n            quill.on('editor-change', handleEditorChange);\r\n            // Remove editor class when theme changes\r\n            if (props.theme !== 'bubble')\r\n                editor.value.classList.remove('ql-bubble');\r\n            if (props.theme !== 'snow')\r\n                editor.value.classList.remove('ql-snow');\r\n            // Fix clicking the quill toolbar is detected as blur event\r\n            (_a = quill\r\n                .getModule('toolbar')) === null || _a === void 0 ? void 0 : _a.container.addEventListener('mousedown', (e) => {\r\n                e.preventDefault();\r\n            });\r\n            // Emit ready event\r\n            ctx.emit('ready', quill);\r\n        };\r\n        // Compose Options\r\n        const composeOptions = () => {\r\n            const clientOptions = {};\r\n            if (props.theme !== '')\r\n                clientOptions.theme = props.theme;\r\n            if (props.readOnly)\r\n                clientOptions.readOnly = props.readOnly;\r\n            if (props.placeholder)\r\n                clientOptions.placeholder = props.placeholder;\r\n            if (props.toolbar && props.toolbar !== '') {\r\n                clientOptions.modules = {\r\n                    toolbar: (() => {\r\n                        if (typeof props.toolbar === 'object') {\r\n                            return props.toolbar;\r\n                        }\r\n                        else if (typeof props.toolbar === 'string') {\r\n                            const str = props.toolbar;\r\n                            return str.charAt(0) === '#'\r\n                                ? props.toolbar\r\n                                : toolbarOptions[props.toolbar];\r\n                        }\r\n                        return;\r\n                    })(),\r\n                };\r\n            }\r\n            if (props.modules) {\r\n                const modules = (() => {\r\n                    var _a, _b;\r\n                    const modulesOption = {};\r\n                    if (Array.isArray(props.modules)) {\r\n                        for (const module of props.modules) {\r\n                            modulesOption[module.name] = (_a = module.options) !== null && _a !== void 0 ? _a : {};\r\n                        }\r\n                    }\r\n                    else {\r\n                        modulesOption[props.modules.name] = (_b = props.modules.options) !== null && _b !== void 0 ? _b : {};\r\n                    }\r\n                    return modulesOption;\r\n                })();\r\n                clientOptions.modules = Object.assign({}, clientOptions.modules, modules);\r\n            }\r\n            return Object.assign({}, props.globalOptions, props.options, clientOptions);\r\n        };\r\n        const maybeClone = (delta) => {\r\n            return typeof delta === 'object' && delta ? delta.slice() : delta;\r\n        };\r\n        const deltaHasValuesOtherThanRetain = (delta) => {\r\n            return Object.values(delta.ops).some((v) => !v.retain || Object.keys(v).length !== 1);\r\n        };\r\n        // Doesn't need reactivity, but does need to be cloned to avoid deep mutations always registering as equal\r\n        let internalModel;\r\n        const internalModelEquals = (against) => {\r\n            if (typeof internalModel === typeof against) {\r\n                if (against === internalModel) {\r\n                    return true;\r\n                }\r\n                // Ref/Proxy does not support instanceof, so do a loose check\r\n                if (typeof against === 'object' &&\r\n                    against &&\r\n                    typeof internalModel === 'object' &&\r\n                    internalModel) {\r\n                    return !deltaHasValuesOtherThanRetain(internalModel.diff(against));\r\n                }\r\n            }\r\n            return false;\r\n        };\r\n        const handleTextChange = (delta, oldContents, source) => {\r\n            internalModel = maybeClone(getContents());\r\n            // Update v-model:content when text changes\r\n            if (!internalModelEquals(props.content)) {\r\n                ctx.emit('update:content', internalModel);\r\n            }\r\n            ctx.emit('textChange', { delta, oldContents, source });\r\n        };\r\n        const isEditorFocus = ref();\r\n        const handleSelectionChange = (range, oldRange, source) => {\r\n            // Set isEditorFocus if quill.hasFocus()\r\n            isEditorFocus.value = !!(quill === null || quill === void 0 ? void 0 : quill.hasFocus());\r\n            ctx.emit('selectionChange', { range, oldRange, source });\r\n        };\r\n        watch(isEditorFocus, (focus) => {\r\n            if (focus)\r\n                ctx.emit('focus', editor);\r\n            else\r\n                ctx.emit('blur', editor);\r\n        });\r\n        const handleEditorChange = (...args) => {\r\n            if (args[0] === 'text-change')\r\n                ctx.emit('editorChange', {\r\n                    name: args[0],\r\n                    delta: args[1],\r\n                    oldContents: args[2],\r\n                    source: args[3],\r\n                });\r\n            if (args[0] === 'selection-change')\r\n                ctx.emit('editorChange', {\r\n                    name: args[0],\r\n                    range: args[1],\r\n                    oldRange: args[2],\r\n                    source: args[3],\r\n                });\r\n        };\r\n        const getEditor = () => {\r\n            return editor.value;\r\n        };\r\n        const getToolbar = () => {\r\n            var _a;\r\n            return (_a = quill === null || quill === void 0 ? void 0 : quill.getModule('toolbar')) === null || _a === void 0 ? void 0 : _a.container;\r\n        };\r\n        const getQuill = () => {\r\n            if (quill)\r\n                return quill;\r\n            else\r\n                throw `The quill editor hasn't been instantiated yet,\n                  make sure to call this method when the editor ready\n                  or use v-on:ready=\"onReady(quill)\" event instead.`;\r\n        };\r\n        const getContents = (index, length) => {\r\n            if (props.contentType === 'html') {\r\n                return getHTML();\r\n            }\r\n            else if (props.contentType === 'text') {\r\n                return getText(index, length);\r\n            }\r\n            return quill === null || quill === void 0 ? void 0 : quill.getContents(index, length);\r\n        };\r\n        const setContents = (content, source = 'api') => {\r\n            const normalizedContent = !content\r\n                ? props.contentType === 'delta'\r\n                    ? new Delta()\r\n                    : ''\r\n                : content;\r\n            if (props.contentType === 'html') {\r\n                setHTML(normalizedContent);\r\n            }\r\n            else if (props.contentType === 'text') {\r\n                setText(normalizedContent, source);\r\n            }\r\n            else {\r\n                quill === null || quill === void 0 ? void 0 : quill.setContents(normalizedContent, source);\r\n            }\r\n            internalModel = maybeClone(normalizedContent);\r\n        };\r\n        const getText = (index, length) => {\r\n            var _a;\r\n            return (_a = quill === null || quill === void 0 ? void 0 : quill.getText(index, length)) !== null && _a !== void 0 ? _a : '';\r\n        };\r\n        const setText = (text, source = 'api') => {\r\n            quill === null || quill === void 0 ? void 0 : quill.setText(text, source);\r\n        };\r\n        const getHTML = () => {\r\n            var _a;\r\n            return (_a = quill === null || quill === void 0 ? void 0 : quill.root.innerHTML) !== null && _a !== void 0 ? _a : '';\r\n        };\r\n        const setHTML = (html) => {\r\n            if (quill)\r\n                quill.root.innerHTML = html;\r\n        };\r\n        const pasteHTML = (html, source = 'api') => {\r\n            const delta = quill === null || quill === void 0 ? void 0 : quill.clipboard.convert(html);\r\n            if (delta)\r\n                quill === null || quill === void 0 ? void 0 : quill.setContents(delta, source);\r\n        };\r\n        const focus = () => {\r\n            quill === null || quill === void 0 ? void 0 : quill.focus();\r\n        };\r\n        const reinit = () => {\r\n            nextTick(() => {\r\n                var _a;\r\n                if (!ctx.slots.toolbar && quill)\r\n                    (_a = quill.getModule('toolbar')) === null || _a === void 0 ? void 0 : _a.container.remove();\r\n                initialize();\r\n            });\r\n        };\r\n        watch(() => props.content, (newContent) => {\r\n            if (!quill || !newContent || internalModelEquals(newContent))\r\n                return;\r\n            // Restore the selection and cursor position after updating the content\r\n            const selection = quill.getSelection();\r\n            if (selection) {\r\n                nextTick(() => quill === null || quill === void 0 ? void 0 : quill.setSelection(selection));\r\n            }\r\n            setContents(newContent);\r\n        }, { deep: true });\r\n        watch(() => props.enable, (newValue) => {\r\n            if (quill)\r\n                quill.enable(newValue);\r\n        });\r\n        return {\r\n            editor,\r\n            getEditor,\r\n            getToolbar,\r\n            getQuill,\r\n            getContents,\r\n            setContents,\r\n            getHTML,\r\n            setHTML,\r\n            pasteHTML,\r\n            focus,\r\n            getText,\r\n            setText,\r\n            reinit,\r\n        };\r\n    },\r\n    render() {\r\n        var _a, _b;\r\n        return [\r\n            (_b = (_a = this.$slots).toolbar) === null || _b === void 0 ? void 0 : _b.call(_a),\r\n            h('div', { ref: 'editor', ...this.$attrs }),\r\n        ];\r\n    },\r\n});\n\nexport { QuillEditor };\n"],
  "mappings": "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",
  "names": ["module", "exports", "ParchmentError", "Scope", "query", "Delta", "op", "delta", "isArray", "isPlainObject", "setProperty", "getProperty", "self", "BlockEmbed", "Block", "index", "ref", "Quill", "debug", "Inline", "TextBlot", "Emitter", "Module", "Attributor", "Code", "CodeBlock", "length", "Editor", "Range", "Selection", "Break", "ContainerBlot", "FormatBlot", "LeafBlot", "key", "attributes", "clone", "parent", "depth", "Scroll", "getLines", "lines", "Keyboard", "lineFormats", "Cursor", "Container", "ColorAttributor", "value", "Link", "Picker", "ShadowBlot", "AttributorStore", "ClassAttributor", "StyleAttributor", "Theme", "Embed", "FontStyleAttributor", "History", "BaseTheme", "listener", "update", "BaseTooltip", "LinkedList", "ScrollBlot", "InlineBlot", "BlockBlot", "EmbedBlot", "longtext", "shorttext", "Clipboard", "DOM_KEY", "childrenDelta", "replacer", "Bold", "Toolbar", "indent", "ColorPicker", "IconPicker", "Tooltip", "SnowTheme", "SnowTooltip", "IdentAttributor", "Blockquote", "Header", "ListItem", "List", "listEventHandler", "Italic", "Script", "Strike", "Underline", "Image", "formats", "Video", "FormulaBlot", "Formula", "SyntaxCodeBlock", "Syntax", "BubbleTheme", "BubbleTooltip", "longtext", "shorttext", "AttributeMap", "key", "Iterator", "Op", "Delta", "import_quill", "import_quill_delta", "Quill", "focus", "Delta"]
}