text: (function(f){if(typeof exports==="object"&&typeof module!=="undefined"){module.exports=f()}else if(typeof define==="function"&&define.amd){define([],f)}else{var g;if(typeof window!=="undefined"){g=window}else if(typeof global!=="undefined"){g=global}else if(typeof self!=="undefined"){g=self}else{g=this}g.renderMathInElement = f()}})(function(){var define,module,exports;return (function e(t,n,r){function s(o,u){if(!n[o]){if(!t[o]){var a=typeof require=="function"&&require;if(!u&&a)return a(o,!0);if(i)return i(o,!0);var f=new Error("Cannot find module '"+o+"'");throw f.code="MODULE_NOT_FOUND",f}var l=n[o]={exports:{}};t[o][0].call(l.exports,function(e){var n=t[o][1][e];return s(n?n:e)},l,l.exports,e,t,n,r)}return n[o].exports}var i=typeof require=="function"&&require;for(var o=0;o<r.length;o++)s(r[o]);return s})({1:[function(require,module,exports){
  "use strict";
  
  var _assign = require("babel-runtime/core-js/object/assign");
  
  var _assign2 = _interopRequireDefault(_assign);
  
  var _splitAtDelimiters = require("./splitAtDelimiters");
  
  var _splitAtDelimiters2 = _interopRequireDefault(_splitAtDelimiters);
  
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
  
  var splitWithDelimiters = function splitWithDelimiters(text, delimiters) {
      var data = [{ type: "text", data: text }];
      for (var i = 0; i < delimiters.length; i++) {
          var delimiter = delimiters[i];
          data = (0, _splitAtDelimiters2.default)(data, delimiter.left, delimiter.right, delimiter.display || false);
      }
      return data;
  };
  
  /* Note: optionsCopy is mutated by this method. If it is ever exposed in the
   * API, we should copy it before mutating.
   */
  /* eslint no-console:0 */
  /* global katex */
  
  var renderMathInText = function renderMathInText(text, optionsCopy) {
      var data = splitWithDelimiters(text, optionsCopy.delimiters);
      var fragment = document.createDocumentFragment();
  
      for (var i = 0; i < data.length; i++) {
          if (data[i].type === "text") {
              fragment.appendChild(document.createTextNode(data[i].data));
          } else {
              var span = document.createElement("span");
              var math = data[i].data;
              // Override any display mode defined in the settings with that
              // defined by the text itself
              optionsCopy.displayMode = data[i].display;
              try {
                  katex.render(math, span, optionsCopy);
              } catch (e) {
                  if (!(e instanceof katex.ParseError)) {
                      throw e;
                  }
                  optionsCopy.errorCallback("KaTeX auto-render: Failed to parse `" + data[i].data + "` with ", e);
                  fragment.appendChild(document.createTextNode(data[i].rawData));
                  continue;
              }
              fragment.appendChild(span);
          }
      }
  
      return fragment;
  };
  
  var renderElem = function renderElem(elem, optionsCopy) {
      for (var i = 0; i < elem.childNodes.length; i++) {
          var childNode = elem.childNodes[i];
          if (childNode.nodeType === 3) {
              // Text node
              var frag = renderMathInText(childNode.textContent, optionsCopy);
              i += frag.childNodes.length - 1;
              elem.replaceChild(frag, childNode);
          } else if (childNode.nodeType === 1) {
              // Element node
              var shouldRender = optionsCopy.ignoredTags.indexOf(childNode.nodeName.toLowerCase()) === -1;
  
              if (shouldRender) {
                  renderElem(childNode, optionsCopy);
              }
          }
          // Otherwise, it's something else, and ignore it.
      }
  };
  
  var defaultAutoRenderOptions = {
      delimiters: [{ left: "$$", right: "$$", display: true }, { left: "\\[", right: "\\]", display: true }, { left: "\\(", right: "\\)", display: false }],
  
      ignoredTags: ["script", "noscript", "style", "textarea", "pre", "code"],
  
      errorCallback: function errorCallback(msg, err) {
          console.error(msg, err);
      }
  };
  
  var renderMathInElement = function renderMathInElement(elem, options) {
      if (!elem) {
          throw new Error("No element provided to render");
      }
  
      var optionsCopy = (0, _assign2.default)({}, defaultAutoRenderOptions, options);
      renderElem(elem, optionsCopy);
  };
  
  module.exports = renderMathInElement;
  
  },{"./splitAtDelimiters":2,"babel-runtime/core-js/object/assign":3}],2:[function(require,module,exports){
  "use strict";
  
  Object.defineProperty(exports, "__esModule", {
      value: true
  });
  /* eslint no-constant-condition:0 */
  var findEndOfMath = function findEndOfMath(delimiter, text, startIndex) {
      // Adapted from
      // https://github.com/Khan/perseus/blob/master/src/perseus-markdown.jsx
      var index = startIndex;
      var braceLevel = 0;
  
      var delimLength = delimiter.length;
  
      while (index < text.length) {
          var character = text[index];
  
          if (braceLevel <= 0 && text.slice(index, index + delimLength) === delimiter) {
              return index;
          } else if (character === "\\") {
              index++;
          } else if (character === "{") {
              braceLevel++;
          } else if (character === "}") {
              braceLevel--;
          }
  
          index++;
      }
  
      return -1;
  };
  
  var splitAtDelimiters = function splitAtDelimiters(startData, leftDelim, rightDelim, display) {
      var finalData = [];
  
      for (var i = 0; i < startData.length; i++) {
          if (startData[i].type === "text") {
              var text = startData[i].data;
  
              var lookingForLeft = true;
              var currIndex = 0;
              var nextIndex = void 0;
  
              nextIndex = text.indexOf(leftDelim);
              if (nextIndex !== -1) {
                  currIndex = nextIndex;
                  finalData.push({
                      type: "text",
                      data: text.slice(0, currIndex)
                  });
                  lookingForLeft = false;
              }
  
              while (true) {
                  if (lookingForLeft) {
                      nextIndex = text.indexOf(leftDelim, currIndex);
                      if (nextIndex === -1) {
                          break;
                      }
  
                      finalData.push({
                          type: "text",
                          data: text.slice(currIndex, nextIndex)
                      });
  
                      currIndex = nextIndex;
                  } else {
                      nextIndex = findEndOfMath(rightDelim, text, currIndex + leftDelim.length);
                      if (nextIndex === -1) {
                          break;
                      }
  
                      finalData.push({
                          type: "math",
                          data: text.slice(currIndex + leftDelim.length, nextIndex),
                          rawData: text.slice(currIndex, nextIndex + rightDelim.length),
                          display: display
                      });
  
                      currIndex = nextIndex + rightDelim.length;
                  }
  
                  lookingForLeft = !lookingForLeft;
              }
  
              finalData.push({
                  type: "text",
                  data: text.slice(currIndex)
              });
          } else {
              finalData.push(startData[i]);
          }
      }
  
      return finalData;
  };
  
  exports.default = splitAtDelimiters;
  
  },{}],3:[function(require,module,exports){
  module.exports = { "default": require("core-js/library/fn/object/assign"), __esModule: true };
  },{"core-js/library/fn/object/assign":4}],4:[function(require,module,exports){
  require('../../modules/es6.object.assign');
  module.exports = require('../../modules/_core').Object.assign;
  
  },{"../../modules/_core":9,"../../modules/es6.object.assign":39}],5:[function(require,module,exports){
  module.exports = function (it) {
    if (typeof it != 'function') throw TypeError(it + ' is not a function!');
    return it;
  };
  
  },{}],6:[function(require,module,exports){
  var isObject = require('./_is-object');
  module.exports = function (it) {
    if (!isObject(it)) throw TypeError(it + ' is not an object!');
    return it;
  };
  
  },{"./_is-object":22}],7:[function(require,module,exports){
  // false -> Array#indexOf
  // true  -> Array#includes
  var toIObject = require('./_to-iobject');
  var toLength = require('./_to-length');
  var toAbsoluteIndex = require('./_to-absolute-index');
  module.exports = function (IS_INCLUDES) {
    return function ($this, el, fromIndex) {
      var O = toIObject($this);
      var length = toLength(O.length);
      var index = toAbsoluteIndex(fromIndex, length);
      var value;
      // Array#includes uses SameValueZero equality algorithm
      // eslint-disable-next-line no-self-compare
      if (IS_INCLUDES && el != el) while (length > index) {
        value = O[index++];
        // eslint-disable-next-line no-self-compare
        if (value != value) return true;
      // Array#indexOf ignores holes, Array#includes - not
      } else for (;length > index; index++) if (IS_INCLUDES || index in O) {
        if (O[index] === el) return IS_INCLUDES || index || 0;
      } return !IS_INCLUDES && -1;
    };
  };
  
  },{"./_to-absolute-index":32,"./_to-iobject":34,"./_to-length":35}],8:[function(require,module,exports){
  var toString = {}.toString;
  
  module.exports = function (it) {
    return toString.call(it).slice(8, -1);
  };
  
  },{}],9:[function(require,module,exports){
  var core = module.exports = { version: '2.5.1' };
  if (typeof __e == 'number') __e = core; // eslint-disable-line no-undef
  
  },{}],10:[function(require,module,exports){
  // optional / simple context binding
  var aFunction = require('./_a-function');
  module.exports = function (fn, that, length) {
    aFunction(fn);
    if (that === undefined) return fn;
    switch (length) {
      case 1: return function (a) {
        return fn.call(that, a);
      };
      case 2: return function (a, b) {
        return fn.call(that, a, b);
      };
      case 3: return function (a, b, c) {
        return fn.call(that, a, b, c);
      };
    }
    return function (/* ...args */) {
      return fn.apply(that, arguments);
    };
  };
  
  },{"./_a-function":5}],11:[function(require,module,exports){
  // 7.2.1 RequireObjectCoercible(argument)
  module.exports = function (it) {
    if (it == undefined) throw TypeError("Can't call method on  " + it);
    return it;
  };
  
  },{}],12:[function(require,module,exports){
  // Thank's IE8 for his funny defineProperty
  module.exports = !require('./_fails')(function () {
    return Object.defineProperty({}, 'a', { get: function () { return 7; } }).a != 7;
  });
  
  },{"./_fails":16}],13:[function(require,module,exports){
  var isObject = require('./_is-object');
  var document = require('./_global').document;
  // typeof document.createElement is 'object' in old IE
  var is = isObject(document) && isObject(document.createElement);
  module.exports = function (it) {
    return is ? document.createElement(it) : {};
  };
  
  },{"./_global":17,"./_is-object":22}],14:[function(require,module,exports){
  // IE 8- don't enum bug keys
  module.exports = (
    'constructor,hasOwnProperty,isPrototypeOf,propertyIsEnumerable,toLocaleString,toString,valueOf'
  ).split(',');
  
  },{}],15:[function(require,module,exports){
  var global = require('./_global');
  var core = require('./_core');
  var ctx = require('./_ctx');
  var hide = require('./_hide');
  var PROTOTYPE = 'prototype';
  
  var $export = function (type, name, source) {
    var IS_FORCED = type & $export.F;
    var IS_GLOBAL = type & $export.G;
    var IS_STATIC = type & $export.S;
    var IS_PROTO = type & $export.P;
    var IS_BIND = type & $export.B;
    var IS_WRAP = type & $export.W;
    var exports = IS_GLOBAL ? core : core[name] || (core[name] = {});
    var expProto = exports[PROTOTYPE];
    var target = IS_GLOBAL ? global : IS_STATIC ? global[name] : (global[name] || {})[PROTOTYPE];
    var key, own, out;
    if (IS_GLOBAL) source = name;
    for (key in source) {
      // contains in native
      own = !IS_FORCED && target && target[key] !== undefined;
      if (own && key in exports) continue;
      // export native or passed
      out = own ? target[key] : source[key];
      // prevent global pollution for namespaces
      exports[key] = IS_GLOBAL && typeof target[key] != 'function' ? source[key]
      // bind timers to global for call from export context
      : IS_BIND && own ? ctx(out, global)
      // wrap global constructors for prevent change them in library
      : IS_WRAP && target[key] == out ? (function (C) {
        var F = function (a, b, c) {
          if (this instanceof C) {
            switch (arguments.length) {
              case 0: return new C();
              case 1: return new C(a);
              case 2: return new C(a, b);
            } return new C(a, b, c);
          } return C.apply(this, arguments);
        };
        F[PROTOTYPE] = C[PROTOTYPE];
        return F;
      // make static versions for prototype methods
      })(out) : IS_PROTO && typeof out == 'function' ? ctx(Function.call, out) : out;
      // export proto methods to core.%CONSTRUCTOR%.methods.%NAME%
      if (IS_PROTO) {
        (exports.virtual || (exports.virtual = {}))[key] = out;
        // export proto methods to core.%CONSTRUCTOR%.prototype.%NAME%
        if (type & $export.R && expProto && !expProto[key]) hide(expProto, key, out);
      }
    }
  };
  // type bitmap
  $export.F = 1;   // forced
  $export.G = 2;   // global
  $export.S = 4;   // static
  $export.P = 8;   // proto
  $export.B = 16;  // bind
  $export.W = 32;  // wrap
  $export.U = 64;  // safe
  $export.R = 128; // real proto method for `library`
  module.exports = $export;
  
  },{"./_core":9,"./_ctx":10,"./_global":17,"./_hide":19}],16:[function(require,module,exports){
  module.exports = function (exec) {
    try {
      return !!exec();
    } catch (e) {
      return true;
    }
  };
  
  },{}],17:[function(require,module,exports){
  // https://github.com/zloirock/core-js/issues/86#issuecomment-115759028
  var global = module.exports = typeof window != 'undefined' && window.Math == Math
    ? window : typeof self != 'undefined' && self.Math == Math ? self
    // eslint-disable-next-line no-new-func
    : Function('return this')();
  if (typeof __g == 'number') __g = global; // eslint-disable-line no-undef
  
  },{}],18:[function(require,module,exports){
  var hasOwnProperty = {}.hasOwnProperty;
  module.exports = function (it, key) {
    return hasOwnProperty.call(it, key);
  };
  
  },{}],19:[function(require,module,exports){
  var dP = require('./_object-dp');
  var createDesc = require('./_property-desc');
  module.exports = require('./_descriptors') ? function (object, key, value) {
    return dP.f(object, key, createDesc(1, value));
  } : function (object, key, value) {
    object[key] = value;
    return object;
  };
  
  },{"./_descriptors":12,"./_object-dp":24,"./_property-desc":29}],20:[function(require,module,exports){
  module.exports = !require('./_descriptors') && !require('./_fails')(function () {
    return Object.defineProperty(require('./_dom-create')('div'), 'a', { get: function () { return 7; } }).a != 7;
  });
  
  },{"./_descriptors":12,"./_dom-create":13,"./_fails":16}],21:[function(require,module,exports){
  // fallback for non-array-like ES3 and non-enumerable old V8 strings
  var cof = require('./_cof');
  // eslint-disable-next-line no-prototype-builtins
  module.exports = Object('z').propertyIsEnumerable(0) ? Object : function (it) {
    return cof(it) == 'String' ? it.split('') : Object(it);
  };
  
  },{"./_cof":8}],22:[function(require,module,exports){
  module.exports = function (it) {
    return typeof it === 'object' ? it !== null : typeof it === 'function';
  };
  
  },{}],23:[function(require,module,exports){
  'use strict';
  // 19.1.2.1 Object.assign(target, source, ...)
  var getKeys = require('./_object-keys');
  var gOPS = require('./_object-gops');
  var pIE = require('./_object-pie');
  var toObject = require('./_to-object');
  var IObject = require('./_iobject');
  var $assign = Object.assign;
  
  // should work with symbols and should have deterministic property order (V8 bug)
  module.exports = !$assign || require('./_fails')(function () {
    var A = {};
    var B = {};
    // eslint-disable-next-line no-undef
    var S = Symbol();
    var K = 'abcdefghijklmnopqrst';
    A[S] = 7;
    K.split('').forEach(function (k) { B[k] = k; });
    return $assign({}, A)[S] != 7 || Object.keys($assign({}, B)).join('') != K;
  }) ? function assign(target, source) { // eslint-disable-line no-unused-vars
    var T = toObject(target);
    var aLen = arguments.length;
    var index = 1;
    var getSymbols = gOPS.f;
    var isEnum = pIE.f;
    while (aLen > index) {
      var S = IObject(arguments[index++]);
      var keys = getSymbols ? getKeys(S).concat(getSymbols(S)) : getKeys(S);
      var length = keys.length;
      var j = 0;
      var key;
      while (length > j) if (isEnum.call(S, key = keys[j++])) T[key] = S[key];
    } return T;
  } : $assign;
  
  },{"./_fails":16,"./_iobject":21,"./_object-gops":25,"./_object-keys":27,"./_object-pie":28,"./_to-object":36}],24:[function(require,module,exports){
  var anObject = require('./_an-object');
  var IE8_DOM_DEFINE = require('./_ie8-dom-define');
  var toPrimitive = require('./_to-primitive');
  var dP = Object.defineProperty;
  
  exports.f = require('./_descriptors') ? Object.defineProperty : function defineProperty(O, P, Attributes) {
    anObject(O);
    P = toPrimitive(P, true);
    anObject(Attributes);
    if (IE8_DOM_DEFINE) try {
      return dP(O, P, Attributes);
    } catch (e) { /* empty */ }
    if ('get' in Attributes || 'set' in Attributes) throw TypeError('Accessors not supported!');
    if ('value' in Attributes) O[P] = Attributes.value;
    return O;
  };
  
  },{"./_an-object":6,"./_descriptors":12,"./_ie8-dom-define":20,"./_to-primitive":37}],25:[function(require,module,exports){
  exports.f = Object.getOwnPropertySymbols;
  
  },{}],26:[function(require,module,exports){
  var has = require('./_has');
  var toIObject = require('./_to-iobject');
  var arrayIndexOf = require('./_array-includes')(false);
  var IE_PROTO = require('./_shared-key')('IE_PROTO');
  
  module.exports = function (object, names) {
    var O = toIObject(object);
    var i = 0;
    var result = [];
    var key;
    for (key in O) if (key != IE_PROTO) has(O, key) && result.push(key);
    // Don't enum bug & hidden keys
    while (names.length > i) if (has(O, key = names[i++])) {
      ~arrayIndexOf(result, key) || result.push(key);
    }
    return result;
  };
  
  },{"./_array-includes":7,"./_has":18,"./_shared-key":30,"./_to-iobject":34}],27:[function(require,module,exports){
  // 19.1.2.14 / 15.2.3.14 Object.keys(O)
  var $keys = require('./_object-keys-internal');
  var enumBugKeys = require('./_enum-bug-keys');
  
  module.exports = Object.keys || function keys(O) {
    return $keys(O, enumBugKeys);
  };
  
  },{"./_enum-bug-keys":14,"./_object-keys-internal":26}],28:[function(require,module,exports){
  exports.f = {}.propertyIsEnumerable;
  
  },{}],29:[function(require,module,exports){
  module.exports = function (bitmap, value) {
    return {
      enumerable: !(bitmap & 1),
      configurable: !(bitmap & 2),
      writable: !(bitmap & 4),
      value: value
    };
  };
  
  },{}],30:[function(require,module,exports){
  var shared = require('./_shared')('keys');
  var uid = require('./_uid');
  module.exports = function (key) {
    return shared[key] || (shared[key] = uid(key));
  };
  
  },{"./_shared":31,"./_uid":38}],31:[function(require,module,exports){
  var global = require('./_global');
  var SHARED = '__core-js_shared__';
  var store = global[SHARED] || (global[SHARED] = {});
  module.exports = function (key) {
    return store[key] || (store[key] = {});
  };
  
  },{"./_global":17}],32:[function(require,module,exports){
  var toInteger = require('./_to-integer');
  var max = Math.max;
  var min = Math.min;
  module.exports = function (index, length) {
    index = toInteger(index);
    return index < 0 ? max(index + length, 0) : min(index, length);
  };
  
  },{"./_to-integer":33}],33:[function(require,module,exports){
  // 7.1.4 ToInteger
  var ceil = Math.ceil;
  var floor = Math.floor;
  module.exports = function (it) {
    return isNaN(it = +it) ? 0 : (it > 0 ? floor : ceil)(it);
  };
  
  },{}],34:[function(require,module,exports){
  // to indexed object, toObject with fallback for non-array-like ES3 strings
  var IObject = require('./_iobject');
  var defined = require('./_defined');
  module.exports = function (it) {
    return IObject(defined(it));
  };
  
  },{"./_defined":11,"./_iobject":21}],35:[function(require,module,exports){
  // 7.1.15 ToLength
  var toInteger = require('./_to-integer');
  var min = Math.min;
  module.exports = function (it) {
    return it > 0 ? min(toInteger(it), 0x1fffffffffffff) : 0; // pow(2, 53) - 1 == 9007199254740991
  };
  
  },{"./_to-integer":33}],36:[function(require,module,exports){
  // 7.1.13 ToObject(argument)
  var defined = require('./_defined');
  module.exports = function (it) {
    return Object(defined(it));
  };
  
  },{"./_defined":11}],37:[function(require,module,exports){
  // 7.1.1 ToPrimitive(input [, PreferredType])
  var isObject = require('./_is-object');
  // instead of the ES6 spec version, we didn't implement @@toPrimitive case
  // and the second argument - flag - preferred type is a string
  module.exports = function (it, S) {
    if (!isObject(it)) return it;
    var fn, val;
    if (S && typeof (fn = it.toString) == 'function' && !isObject(val = fn.call(it))) return val;
    if (typeof (fn = it.valueOf) == 'function' && !isObject(val = fn.call(it))) return val;
    if (!S && typeof (fn = it.toString) == 'function' && !isObject(val = fn.call(it))) return val;
    throw TypeError("Can't convert object to primitive value");
  };
  
  },{"./_is-object":22}],38:[function(require,module,exports){
  var id = 0;
  var px = Math.random();
  module.exports = function (key) {
    return 'Symbol('.concat(key === undefined ? '' : key, ')_', (++id + px).toString(36));
  };
  
  },{}],39:[function(require,module,exports){
  // 19.1.3.1 Object.assign(target, source)
  var $export = require('./_export');
  
  $export($export.S + $export.F, 'Object', { assign: require('./_object-assign') });
  
  },{"./_export":15,"./_object-assign":23}]},{},[1])(1)
  });