text: module.exports =
  /******/ (function(modules) { // webpackBootstrap
  /******/ 	// The module cache
  /******/ 	var installedModules = {};
  /******/
  /******/ 	// The require function
  /******/ 	function __webpack_require__(moduleId) {
  /******/
  /******/ 		// Check if module is in cache
  /******/ 		if(installedModules[moduleId]) {
  /******/ 			return installedModules[moduleId].exports;
  /******/ 		}
  /******/ 		// Create a new module (and put it into the cache)
  /******/ 		var module = installedModules[moduleId] = {
  /******/ 			i: moduleId,
  /******/ 			l: false,
  /******/ 			exports: {}
  /******/ 		};
  /******/
  /******/ 		// Execute the module function
  /******/ 		modules[moduleId].call(module.exports, module, module.exports, __webpack_require__);
  /******/
  /******/ 		// Flag the module as loaded
  /******/ 		module.l = true;
  /******/
  /******/ 		// Return the exports of the module
  /******/ 		return module.exports;
  /******/ 	}
  /******/
  /******/
  /******/ 	// expose the modules object (__webpack_modules__)
  /******/ 	__webpack_require__.m = modules;
  /******/
  /******/ 	// expose the module cache
  /******/ 	__webpack_require__.c = installedModules;
  /******/
  /******/ 	// define getter function for harmony exports
  /******/ 	__webpack_require__.d = function(exports, name, getter) {
  /******/ 		if(!__webpack_require__.o(exports, name)) {
  /******/ 			Object.defineProperty(exports, name, { enumerable: true, get: getter });
  /******/ 		}
  /******/ 	};
  /******/
  /******/ 	// define __esModule on exports
  /******/ 	__webpack_require__.r = function(exports) {
  /******/ 		if(typeof Symbol !== 'undefined' && Symbol.toStringTag) {
  /******/ 			Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
  /******/ 		}
  /******/ 		Object.defineProperty(exports, '__esModule', { value: true });
  /******/ 	};
  /******/
  /******/ 	// create a fake namespace object
  /******/ 	// mode & 1: value is a module id, require it
  /******/ 	// mode & 2: merge all properties of value into the ns
  /******/ 	// mode & 4: return value when already ns object
  /******/ 	// mode & 8|1: behave like require
  /******/ 	__webpack_require__.t = function(value, mode) {
  /******/ 		if(mode & 1) value = __webpack_require__(value);
  /******/ 		if(mode & 8) return value;
  /******/ 		if((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;
  /******/ 		var ns = Object.create(null);
  /******/ 		__webpack_require__.r(ns);
  /******/ 		Object.defineProperty(ns, 'default', { enumerable: true, value: value });
  /******/ 		if(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));
  /******/ 		return ns;
  /******/ 	};
  /******/
  /******/ 	// getDefaultExport function for compatibility with non-harmony modules
  /******/ 	__webpack_require__.n = function(module) {
  /******/ 		var getter = module && module.__esModule ?
  /******/ 			function getDefault() { return module['default']; } :
  /******/ 			function getModuleExports() { return module; };
  /******/ 		__webpack_require__.d(getter, 'a', getter);
  /******/ 		return getter;
  /******/ 	};
  /******/
  /******/ 	// Object.prototype.hasOwnProperty.call
  /******/ 	__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };
  /******/
  /******/ 	// __webpack_public_path__
  /******/ 	__webpack_require__.p = "";
  /******/
  /******/
  /******/ 	// Load entry module and return exports
  /******/ 	return __webpack_require__(__webpack_require__.s = "./src/core/contentstack.js");
  /******/ })
  /************************************************************************/
  /******/ ({
  
  /***/ "./config.js":
  /*!*******************!*\
    !*** ./config.js ***!
    \*******************/
  /*! no static exports found */
  /***/ (function(module, exports, __webpack_require__) {
  
  "use strict";
  eval("\n\nObject.defineProperty(exports, \"__esModule\", {\n    value: true\n});\nvar config = {\n    protocol: \"https\",\n    host: \"cdn.contentstack.io\",\n    port: 443,\n    version: \"v3\",\n    urls: {\n        sync: \"/stacks/sync\",\n        content_types: \"/content_types/\",\n        entries: \"/entries/\",\n        assets: \"/assets/\",\n        environments: \"/environments/\"\n    }\n};\n\nexports.default = config;\n\n//# sourceURL=webpack://Contentstack/./config.js?");
  
  /***/ }),
  
  /***/ "./node_modules/@contentstack/utils/dist/index.es.js":
  /*!***********************************************************!*\
    !*** ./node_modules/@contentstack/utils/dist/index.es.js ***!
    \***********************************************************/
  /*! no static exports found */
  /***/ (function(module, exports, __webpack_require__) {
  
  "use strict";
  eval("\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\nObject.defineProperty(exports, '__esModule', { value: true });\n\nvar nodeHtmlParser = __webpack_require__(/*! node-html-parser */ \"./node_modules/node-html-parser/dist/esm/index.js\");\n\nvar StyleType;\n(function (StyleType) {\n    StyleType[\"BLOCK\"] = \"block\";\n    StyleType[\"INLINE\"] = \"inline\";\n    StyleType[\"LINK\"] = \"link\";\n    StyleType[\"DISPLAY\"] = \"display\";\n    StyleType[\"DOWNLOAD\"] = \"download\";\n})(StyleType || (StyleType = {}));\nvar StyleType$1 = StyleType;\n\n/*! *****************************************************************************\r\nCopyright (c) Microsoft Corporation.\r\n\r\nPermission to use, copy, modify, and/or distribute this software for any\r\npurpose with or without fee is hereby granted.\r\n\r\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\r\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\r\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\r\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\r\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\r\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\r\nPERFORMANCE OF THIS SOFTWARE.\r\n***************************************************************************** */\n\nvar _assign = function __assign() {\n    _assign = Object.assign || function __assign(t) {\n        for (var s, i = 1, n = arguments.length; i < n; i++) {\n            s = arguments[i];\n            for (var p in s) {\n                if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\n            }\n        }\n        return t;\n    };\n    return _assign.apply(this, arguments);\n};\n\nfunction elementToJson(element) {\n    var obj = _assign({}, element.rawAttributes);\n    element.childNodes.forEach(function (chileNode) {\n        var node = chileNode;\n        obj = _assign(_assign({}, obj), parseElement(node));\n    });\n    return obj;\n}\nfunction parseElement(node) {\n    var obj = {};\n    if (node.nodeType === 3) {\n        obj['#text'] = node.text;\n    } else if (node.nodeType === 1) {\n        obj[node.tagName.toLowerCase()] = elementToJson(node);\n    }\n    return obj;\n}\n\nfunction createMetadata(attribute) {\n    var metadata = {\n        text: attribute['#text'],\n        itemUid: attribute[\"data-sys-entry-uid\"] || attribute[\"data-sys-asset-uid\"],\n        itemType: attribute.type,\n        styleType: attribute[\"sys-style-type\"],\n        attributes: attribute,\n        contentTypeUid: attribute[\"data-sys-content-type-uid\"]\n    };\n    return metadata;\n}\n\nvar frameflag = 'documentfragmentcontainer';\nString.prototype.forEachEmbeddedObject = function (callbackfn) {\n    var str = \"<\" + frameflag + \">\" + this.toString() + \"</\" + frameflag + \">\";\n    var root = nodeHtmlParser.parse(str);\n    var embeddedEntries = root.querySelectorAll(\".embedded-entry\");\n    embeddedEntries.forEach(function (element) {\n        callbackfn(element.outerHTML, createMetadata(elementToJson(element)));\n    });\n    var embeddedAsset = root.querySelectorAll(\".embedded-asset\");\n    embeddedAsset.forEach(function (element) {\n        callbackfn(element.outerHTML, createMetadata(elementToJson(element)));\n    });\n};\n\nvar _a;\nvar defaultOptions = (_a = {}, _a[StyleType$1.BLOCK] = function (entry) {\n    return \"<div><p>\" + (entry.title || entry.uid) + \"</p><p>Content type: <span>\" + entry._content_type_uid + \"</span></p></div>\";\n}, _a[StyleType$1.INLINE] = function (entry) {\n    return \"<span>\" + (entry.title || entry.uid) + \"</span>\";\n}, _a[StyleType$1.LINK] = function (entry, metadata) {\n    return \"<a href=\\\"\" + entry.url + \"\\\">\" + (metadata.text || entry.title || entry.uid) + \"</a>\";\n}, _a[StyleType$1.DISPLAY] = function (asset, metadata) {\n    return \"<img src=\\\"\" + asset.url + \"\\\" alt=\\\"\" + (metadata.attributes.alt || asset.title || asset.filename || asset.uid) + \"\\\" />\";\n}, _a[StyleType$1.DOWNLOAD] = function (entry, metadata) {\n    return \"<a href=\\\"\" + entry.url + \"\\\">\" + (metadata.text || entry.title || entry.uid) + \"</a>\";\n}, _a);\n\n// This function will find Embedded object present in string\nfunction findEmbeddedEntry(uid, contentTypeUid, embeddeditems) {\n    if (embeddeditems === void 0) {\n        embeddeditems = [];\n    }\n    return embeddeditems.filter(function (entry) {\n        if (entry.uid === uid && entry._content_type_uid === contentTypeUid) {\n            return entry;\n        }\n    });\n}\nfunction findEmbeddedAsset(uid, embeddedAssets) {\n    if (embeddedAssets === void 0) {\n        embeddedAssets = [];\n    }\n    return embeddedAssets.filter(function (asset) {\n        if (asset.uid === uid) {\n            return asset;\n        }\n    });\n}\nfunction findEmbeddedObjects(object, entry) {\n    if (object && object !== undefined && entry && entry !== undefined) {\n        if (entry._embedded_items !== undefined) {\n            var entryEmbedable = entry;\n            if (object.itemType === 'entry') {\n                return findEmbeddedEntry(object.itemUid, object.contentTypeUid, Object.values(entryEmbedable._embedded_items || []).reduce(function (accumulator, value) {\n                    return accumulator.concat(value);\n                }, []));\n            } else {\n                return findEmbeddedAsset(object.itemUid, Object.values(entryEmbedable._embedded_items || []).reduce(function (accumulator, value) {\n                    return accumulator.concat(value);\n                }, []));\n            }\n        }\n    }\n    return [];\n}\nfunction findRenderString(metadata, renderModel, renderOptions) {\n    if (!renderModel && renderModel === undefined || !metadata && metadata === undefined) {\n        return '';\n    }\n    if (renderOptions && renderOptions[metadata.styleType] !== undefined) {\n        var renderFunction = renderOptions[metadata.styleType];\n        if (metadata.attributes['data-sys-content-type-uid'] !== undefined && typeof renderFunction !== 'function' && renderFunction[metadata.attributes['data-sys-content-type-uid']] !== undefined) {\n            return renderFunction[metadata.attributes['data-sys-content-type-uid']](renderModel, metadata);\n        } else if (metadata.attributes['data-sys-content-type-uid'] !== undefined && typeof renderFunction !== 'function' && renderFunction.$default !== undefined) {\n            return renderFunction.$default(renderModel, metadata);\n        } else if (typeof renderFunction === 'function') {\n            return renderFunction(renderModel, metadata);\n        }\n    }\n    var defaultRenderFunction = defaultOptions[metadata.styleType];\n    return defaultRenderFunction(renderModel, metadata);\n}\n\nfunction findRenderContent(keyPaths, entry, render) {\n    getContent(keyPaths.split(\".\"), entry, render);\n}\nfunction getContent(keys, object, render) {\n    if (keys) {\n        var key = keys[0];\n        if (keys.length === 1 && object[key]) {\n            object[key] = render(object[key]);\n        } else if (keys.length > 0) {\n            if (object[key]) {\n                var newKeys = keys.slice(1);\n                if (Array.isArray(object[key])) {\n                    // tslint:disable-next-line: prefer-for-of\n                    for (var i = 0; i < object[key].length; i++) {\n                        getContent(newKeys, object[key][i], render);\n                    }\n                } else if (_typeof(object[key]) === 'object') {\n                    getContent(newKeys, object[key], render);\n                }\n            }\n        }\n    }\n}\n\n/**\r\n *\r\n * @param {EntryEmbedable| EntryEmbedable[]} entry - Objects that contains RTE with embedded objects\r\n * @param {string[]} paths - Key paths for RTE contents in Entry object\r\n * @param {RenderOption?} renderOption -  Optional render options to render content\r\n */\nfunction render(option) {\n    function findContent(path, entry) {\n        findRenderContent(path, entry, function (content) {\n            return renderContent(content, { entry: entry, renderOption: option.renderOption });\n        });\n    }\n    function findAndRender(entry) {\n        if (!option.paths || option.paths.length === 0) {\n            Object.keys(_assign({}, entry._embedded_items)).forEach(function (path) {\n                findContent(path, entry);\n            });\n        } else {\n            option.paths.forEach(function (path) {\n                findContent(path, entry);\n            });\n        }\n    }\n    if (option.entry instanceof Array) {\n        option.entry.forEach(function (entry) {\n            findAndRender(entry);\n        });\n    } else {\n        findAndRender(option.entry);\n    }\n}\n/**\r\n *\r\n * @param {string | string[]} content - RTE content to render\r\n * @param {EntryEmbedable} options.entry - Entry object containing embedded objects\r\n * @param {RenderOption?} options.renderOption - Optional render options to render content\r\n */\nfunction renderContent(content, option) {\n    // return blank if content not present\n    if (!content || content === undefined) {\n        return '';\n    }\n    // render content of type string\n    if (typeof content === 'string') {\n        var contentToReplace_1 = content;\n        content.forEachEmbeddedObject(function (embededObjectTag, object) {\n            contentToReplace_1 = findAndReplaceEmbeddedObject(contentToReplace_1, embededObjectTag, object, option);\n        });\n        return contentToReplace_1;\n    }\n    // render content of type array of string\n    var resultContent = [];\n    content.forEach(function (element) {\n        resultContent.push(renderContent(element, option));\n    });\n    return resultContent;\n}\nfunction findAndReplaceEmbeddedObject(content, embededObjectTag, object, option) {\n    var embeddedObjects = findEmbeddedObjects(object, option.entry);\n    var renderString = findRenderString(object, embeddedObjects[0], option.renderOption);\n    return content.replace(embededObjectTag, renderString);\n}\n\nexports.StyleType = StyleType$1;\nexports.render = render;\nexports.renderContent = renderContent;\n//# sourceMappingURL=index.es.js.map\n\n//# sourceURL=webpack://Contentstack/./node_modules/@contentstack/utils/dist/index.es.js?");
  
  /***/ }),
  
  /***/ "./node_modules/he/he.js":
  /*!*******************************!*\
    !*** ./node_modules/he/he.js ***!
    \*******************************/
  /*! no static exports found */
  /***/ (function(module, exports, __webpack_require__) {
  
  "use strict";
  eval("/* WEBPACK VAR INJECTION */(function(module, global) {var __WEBPACK_AMD_DEFINE_RESULT__;\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\n/*! https://mths.be/he v1.2.0 by @mathias | MIT license */\n;(function (root) {\n\n\t// Detect free variables `exports`.\n\tvar freeExports = ( false ? undefined : _typeof(exports)) == 'object' && exports;\n\n\t// Detect free variable `module`.\n\tvar freeModule = ( false ? undefined : _typeof(module)) == 'object' && module && module.exports == freeExports && module;\n\n\t// Detect free variable `global`, from Node.js or Browserified code,\n\t// and use it as `root`.\n\tvar freeGlobal = (typeof global === 'undefined' ? 'undefined' : _typeof(global)) == 'object' && global;\n\tif (freeGlobal.global === freeGlobal || freeGlobal.window === freeGlobal) {\n\t\troot = freeGlobal;\n\t}\n\n\t/*--------------------------------------------------------------------------*/\n\n\t// All astral symbols.\n\tvar regexAstralSymbols = /[\\uD800-\\uDBFF][\\uDC00-\\uDFFF]/g;\n\t// All ASCII symbols (not just printable ASCII) except those listed in the\n\t// first column of the overrides table.\n\t// https://html.spec.whatwg.org/multipage/syntax.html#table-charref-overrides\n\tvar regexAsciiWhitelist = /[\\x01-\\x7F]/g;\n\t// All BMP symbols that are not ASCII newlines, printable ASCII symbols, or\n\t// code points listed in the first column of the overrides table on\n\t// https://html.spec.whatwg.org/multipage/syntax.html#table-charref-overrides.\n\tvar regexBmpWhitelist = /[\\x01-\\t\\x0B\\f\\x0E-\\x1F\\x7F\\x81\\x8D\\x8F\\x90\\x9D\\xA0-\\uFFFF]/g;\n\n\tvar regexEncodeNonAscii = /<\\u20D2|=\\u20E5|>\\u20D2|\\u205F\\u200A|\\u219D\\u0338|\\u2202\\u0338|\\u2220\\u20D2|\\u2229\\uFE00|\\u222A\\uFE00|\\u223C\\u20D2|\\u223D\\u0331|\\u223E\\u0333|\\u2242\\u0338|\\u224B\\u0338|\\u224D\\u20D2|\\u224E\\u0338|\\u224F\\u0338|\\u2250\\u0338|\\u2261\\u20E5|\\u2264\\u20D2|\\u2265\\u20D2|\\u2266\\u0338|\\u2267\\u0338|\\u2268\\uFE00|\\u2269\\uFE00|\\u226A\\u0338|\\u226A\\u20D2|\\u226B\\u0338|\\u226B\\u20D2|\\u227F\\u0338|\\u2282\\u20D2|\\u2283\\u20D2|\\u228A\\uFE00|\\u228B\\uFE00|\\u228F\\u0338|\\u2290\\u0338|\\u2293\\uFE00|\\u2294\\uFE00|\\u22B4\\u20D2|\\u22B5\\u20D2|\\u22D8\\u0338|\\u22D9\\u0338|\\u22DA\\uFE00|\\u22DB\\uFE00|\\u22F5\\u0338|\\u22F9\\u0338|\\u2933\\u0338|\\u29CF\\u0338|\\u29D0\\u0338|\\u2A6D\\u0338|\\u2A70\\u0338|\\u2A7D\\u0338|\\u2A7E\\u0338|\\u2AA1\\u0338|\\u2AA2\\u0338|\\u2AAC\\uFE00|\\u2AAD\\uFE00|\\u2AAF\\u0338|\\u2AB0\\u0338|\\u2AC5\\u0338|\\u2AC6\\u0338|\\u2ACB\\uFE00|\\u2ACC\\uFE00|\\u2AFD\\u20E5|[\\xA0-\\u0113\\u0116-\\u0122\\u0124-\\u012B\\u012E-\\u014D\\u0150-\\u017E\\u0192\\u01B5\\u01F5\\u0237\\u02C6\\u02C7\\u02D8-\\u02DD\\u0311\\u0391-\\u03A1\\u03A3-\\u03A9\\u03B1-\\u03C9\\u03D1\\u03D2\\u03D5\\u03D6\\u03DC\\u03DD\\u03F0\\u03F1\\u03F5\\u03F6\\u0401-\\u040C\\u040E-\\u044F\\u0451-\\u045C\\u045E\\u045F\\u2002-\\u2005\\u2007-\\u2010\\u2013-\\u2016\\u2018-\\u201A\\u201C-\\u201E\\u2020-\\u2022\\u2025\\u2026\\u2030-\\u2035\\u2039\\u203A\\u203E\\u2041\\u2043\\u2044\\u204F\\u2057\\u205F-\\u2063\\u20AC\\u20DB\\u20DC\\u2102\\u2105\\u210A-\\u2113\\u2115-\\u211E\\u2122\\u2124\\u2127-\\u2129\\u212C\\u212D\\u212F-\\u2131\\u2133-\\u2138\\u2145-\\u2148\\u2153-\\u215E\\u2190-\\u219B\\u219D-\\u21A7\\u21A9-\\u21AE\\u21B0-\\u21B3\\u21B5-\\u21B7\\u21BA-\\u21DB\\u21DD\\u21E4\\u21E5\\u21F5\\u21FD-\\u2205\\u2207-\\u2209\\u220B\\u220C\\u220F-\\u2214\\u2216-\\u2218\\u221A\\u221D-\\u2238\\u223A-\\u2257\\u2259\\u225A\\u225C\\u225F-\\u2262\\u2264-\\u228B\\u228D-\\u229B\\u229D-\\u22A5\\u22A7-\\u22B0\\u22B2-\\u22BB\\u22BD-\\u22DB\\u22DE-\\u22E3\\u22E6-\\u22F7\\u22F9-\\u22FE\\u2305\\u2306\\u2308-\\u2310\\u2312\\u2313\\u2315\\u2316\\u231C-\\u231F\\u2322\\u2323\\u232D\\u232E\\u2336\\u233D\\u233F\\u237C\\u23B0\\u23B1\\u23B4-\\u23B6\\u23DC-\\u23DF\\u23E2\\u23E7\\u2423\\u24C8\\u2500\\u2502\\u250C\\u2510\\u2514\\u2518\\u251C\\u2524\\u252C\\u2534\\u253C\\u2550-\\u256C\\u2580\\u2584\\u2588\\u2591-\\u2593\\u25A1\\u25AA\\u25AB\\u25AD\\u25AE\\u25B1\\u25B3-\\u25B5\\u25B8\\u25B9\\u25BD-\\u25BF\\u25C2\\u25C3\\u25CA\\u25CB\\u25EC\\u25EF\\u25F8-\\u25FC\\u2605\\u2606\\u260E\\u2640\\u2642\\u2660\\u2663\\u2665\\u2666\\u266A\\u266D-\\u266F\\u2713\\u2717\\u2720\\u2736\\u2758\\u2772\\u2773\\u27C8\\u27C9\\u27E6-\\u27ED\\u27F5-\\u27FA\\u27FC\\u27FF\\u2902-\\u2905\\u290C-\\u2913\\u2916\\u2919-\\u2920\\u2923-\\u292A\\u2933\\u2935-\\u2939\\u293C\\u293D\\u2945\\u2948-\\u294B\\u294E-\\u2976\\u2978\\u2979\\u297B-\\u297F\\u2985\\u2986\\u298B-\\u2996\\u299A\\u299C\\u299D\\u29A4-\\u29B7\\u29B9\\u29BB\\u29BC\\u29BE-\\u29C5\\u29C9\\u29CD-\\u29D0\\u29DC-\\u29DE\\u29E3-\\u29E5\\u29EB\\u29F4\\u29F6\\u2A00-\\u2A02\\u2A04\\u2A06\\u2A0C\\u2A0D\\u2A10-\\u2A17\\u2A22-\\u2A27\\u2A29\\u2A2A\\u2A2D-\\u2A31\\u2A33-\\u2A3C\\u2A3F\\u2A40\\u2A42-\\u2A4D\\u2A50\\u2A53-\\u2A58\\u2A5A-\\u2A5D\\u2A5F\\u2A66\\u2A6A\\u2A6D-\\u2A75\\u2A77-\\u2A9A\\u2A9D-\\u2AA2\\u2AA4-\\u2AB0\\u2AB3-\\u2AC8\\u2ACB\\u2ACC\\u2ACF-\\u2ADB\\u2AE4\\u2AE6-\\u2AE9\\u2AEB-\\u2AF3\\u2AFD\\uFB00-\\uFB04]|\\uD835[\\uDC9C\\uDC9E\\uDC9F\\uDCA2\\uDCA5\\uDCA6\\uDCA9-\\uDCAC\\uDCAE-\\uDCB9\\uDCBB\\uDCBD-\\uDCC3\\uDCC5-\\uDCCF\\uDD04\\uDD05\\uDD07-\\uDD0A\\uDD0D-\\uDD14\\uDD16-\\uDD1C\\uDD1E-\\uDD39\\uDD3B-\\uDD3E\\uDD40-\\uDD44\\uDD46\\uDD4A-\\uDD50\\uDD52-\\uDD6B]/g;\n\tvar encodeMap = { '\\xAD': 'shy', '\\u200C': 'zwnj', '\\u200D': 'zwj', '\\u200E': 'lrm', '\\u2063': 'ic', '\\u2062': 'it', '\\u2061': 'af', '\\u200F': 'rlm', '\\u200B': 'ZeroWidthSpace', '\\u2060': 'NoBreak', '\\u0311': 'DownBreve', '\\u20DB': 'tdot', '\\u20DC': 'DotDot', '\\t': 'Tab', '\\n': 'NewLine', '\\u2008': 'puncsp', '\\u205F': 'MediumSpace', '\\u2009': 'thinsp', '\\u200A': 'hairsp', '\\u2004': 'emsp13', '\\u2002': 'ensp', '\\u2005': 'emsp14', '\\u2003': 'emsp', '\\u2007': 'numsp', '\\xA0': 'nbsp', '\\u205F\\u200A': 'ThickSpace', '\\u203E': 'oline', '_': 'lowbar', '\\u2010': 'dash', '\\u2013': 'ndash', '\\u2014': 'mdash', '\\u2015': 'horbar', ',': 'comma', ';': 'semi', '\\u204F': 'bsemi', ':': 'colon', '\\u2A74': 'Colone', '!': 'excl', '\\xA1': 'iexcl', '?': 'quest', '\\xBF': 'iquest', '.': 'period', '\\u2025': 'nldr', '\\u2026': 'mldr', '\\xB7': 'middot', '\\'': 'apos', '\\u2018': 'lsquo', '\\u2019': 'rsquo', '\\u201A': 'sbquo', '\\u2039': 'lsaquo', '\\u203A': 'rsaquo', '\"': 'quot', '\\u201C': 'ldquo', '\\u201D': 'rdquo', '\\u201E': 'bdquo', '\\xAB': 'laquo', '\\xBB': 'raquo', '(': 'lpar', ')': 'rpar', '[': 'lsqb', ']': 'rsqb', '{': 'lcub', '}': 'rcub', '\\u2308': 'lceil', '\\u2309': 'rceil', '\\u230A': 'lfloor', '\\u230B': 'rfloor', '\\u2985': 'lopar', '\\u2986': 'ropar', '\\u298B': 'lbrke', '\\u298C': 'rbrke', '\\u298D': 'lbrkslu', '\\u298E': 'rbrksld', '\\u298F': 'lbrksld', '\\u2990': 'rbrkslu', '\\u2991': 'langd', '\\u2992': 'rangd', '\\u2993': 'lparlt', '\\u2994': 'rpargt', '\\u2995': 'gtlPar', '\\u2996': 'ltrPar', '\\u27E6': 'lobrk', '\\u27E7': 'robrk', '\\u27E8': 'lang', '\\u27E9': 'rang', '\\u27EA': 'Lang', '\\u27EB': 'Rang', '\\u27EC': 'loang', '\\u27ED': 'roang', '\\u2772': 'lbbrk', '\\u2773': 'rbbrk', '\\u2016': 'Vert', '\\xA7': 'sect', '\\xB6': 'para', '@': 'commat', '*': 'ast', '/': 'sol', 'undefined': null, '&': 'amp', '#': 'num', '%': 'percnt', '\\u2030': 'permil', '\\u2031': 'pertenk', '\\u2020': 'dagger', '\\u2021': 'Dagger', '\\u2022': 'bull', '\\u2043': 'hybull', '\\u2032': 'prime', '\\u2033': 'Prime', '\\u2034': 'tprime', '\\u2057': 'qprime', '\\u2035': 'bprime', '\\u2041': 'caret', '`': 'grave', '\\xB4': 'acute', '\\u02DC': 'tilde', '^': 'Hat', '\\xAF': 'macr', '\\u02D8': 'breve', '\\u02D9': 'dot', '\\xA8': 'die', '\\u02DA': 'ring', '\\u02DD': 'dblac', '\\xB8': 'cedil', '\\u02DB': 'ogon', '\\u02C6': 'circ', '\\u02C7': 'caron', '\\xB0': 'deg', '\\xA9': 'copy', '\\xAE': 'reg', '\\u2117': 'copysr', '\\u2118': 'wp', '\\u211E': 'rx', '\\u2127': 'mho', '\\u2129': 'iiota', '\\u2190': 'larr', '\\u219A': 'nlarr', '\\u2192': 'rarr', '\\u219B': 'nrarr', '\\u2191': 'uarr', '\\u2193': 'darr', '\\u2194': 'harr', '\\u21AE': 'nharr', '\\u2195': 'varr', '\\u2196': 'nwarr', '\\u2197': 'nearr', '\\u2198': 'searr', '\\u2199': 'swarr', '\\u219D': 'rarrw', '\\u219D\\u0338': 'nrarrw', '\\u219E': 'Larr', '\\u219F': 'Uarr', '\\u21A0': 'Rarr', '\\u21A1': 'Darr', '\\u21A2': 'larrtl', '\\u21A3': 'rarrtl', '\\u21A4': 'mapstoleft', '\\u21A5': 'mapstoup', '\\u21A6': 'map', '\\u21A7': 'mapstodown', '\\u21A9': 'larrhk', '\\u21AA': 'rarrhk', '\\u21AB': 'larrlp', '\\u21AC': 'rarrlp', '\\u21AD': 'harrw', '\\u21B0': 'lsh', '\\u21B1': 'rsh', '\\u21B2': 'ldsh', '\\u21B3': 'rdsh', '\\u21B5': 'crarr', '\\u21B6': 'cularr', '\\u21B7': 'curarr', '\\u21BA': 'olarr', '\\u21BB': 'orarr', '\\u21BC': 'lharu', '\\u21BD': 'lhard', '\\u21BE': 'uharr', '\\u21BF': 'uharl', '\\u21C0': 'rharu', '\\u21C1': 'rhard', '\\u21C2': 'dharr', '\\u21C3': 'dharl', '\\u21C4': 'rlarr', '\\u21C5': 'udarr', '\\u21C6': 'lrarr', '\\u21C7': 'llarr', '\\u21C8': 'uuarr', '\\u21C9': 'rrarr', '\\u21CA': 'ddarr', '\\u21CB': 'lrhar', '\\u21CC': 'rlhar', '\\u21D0': 'lArr', '\\u21CD': 'nlArr', '\\u21D1': 'uArr', '\\u21D2': 'rArr', '\\u21CF': 'nrArr', '\\u21D3': 'dArr', '\\u21D4': 'iff', '\\u21CE': 'nhArr', '\\u21D5': 'vArr', '\\u21D6': 'nwArr', '\\u21D7': 'neArr', '\\u21D8': 'seArr', '\\u21D9': 'swArr', '\\u21DA': 'lAarr', '\\u21DB': 'rAarr', '\\u21DD': 'zigrarr', '\\u21E4': 'larrb', '\\u21E5': 'rarrb', '\\u21F5': 'duarr', '\\u21FD': 'loarr', '\\u21FE': 'roarr', '\\u21FF': 'hoarr', '\\u2200': 'forall', '\\u2201': 'comp', '\\u2202': 'part', '\\u2202\\u0338': 'npart', '\\u2203': 'exist', '\\u2204': 'nexist', '\\u2205': 'empty', '\\u2207': 'Del', '\\u2208': 'in', '\\u2209': 'notin', '\\u220B': 'ni', '\\u220C': 'notni', '\\u03F6': 'bepsi', '\\u220F': 'prod', '\\u2210': 'coprod', '\\u2211': 'sum', '+': 'plus', '\\xB1': 'pm', '\\xF7': 'div', '\\xD7': 'times', '<': 'lt', '\\u226E': 'nlt', '<\\u20D2': 'nvlt', '=': 'equals', '\\u2260': 'ne', '=\\u20E5': 'bne', '\\u2A75': 'Equal', '>': 'gt', '\\u226F': 'ngt', '>\\u20D2': 'nvgt', '\\xAC': 'not', '|': 'vert', '\\xA6': 'brvbar', '\\u2212': 'minus', '\\u2213': 'mp', '\\u2214': 'plusdo', '\\u2044': 'frasl', '\\u2216': 'setmn', '\\u2217': 'lowast', '\\u2218': 'compfn', '\\u221A': 'Sqrt', '\\u221D': 'prop', '\\u221E': 'infin', '\\u221F': 'angrt', '\\u2220': 'ang', '\\u2220\\u20D2': 'nang', '\\u2221': 'angmsd', '\\u2222': 'angsph', '\\u2223': 'mid', '\\u2224': 'nmid', '\\u2225': 'par', '\\u2226': 'npar', '\\u2227': 'and', '\\u2228': 'or', '\\u2229': 'cap', '\\u2229\\uFE00': 'caps', '\\u222A': 'cup', '\\u222A\\uFE00': 'cups', '\\u222B': 'int', '\\u222C': 'Int', '\\u222D': 'tint', '\\u2A0C': 'qint', '\\u222E': 'oint', '\\u222F': 'Conint', '\\u2230': 'Cconint', '\\u2231': 'cwint', '\\u2232': 'cwconint', '\\u2233': 'awconint', '\\u2234': 'there4', '\\u2235': 'becaus', '\\u2236': 'ratio', '\\u2237': 'Colon', '\\u2238': 'minusd', '\\u223A': 'mDDot', '\\u223B': 'homtht', '\\u223C': 'sim', '\\u2241': 'nsim', '\\u223C\\u20D2': 'nvsim', '\\u223D': 'bsim', '\\u223D\\u0331': 'race', '\\u223E': 'ac', '\\u223E\\u0333': 'acE', '\\u223F': 'acd', '\\u2240': 'wr', '\\u2242': 'esim', '\\u2242\\u0338': 'nesim', '\\u2243': 'sime', '\\u2244': 'nsime', '\\u2245': 'cong', '\\u2247': 'ncong', '\\u2246': 'simne', '\\u2248': 'ap', '\\u2249': 'nap', '\\u224A': 'ape', '\\u224B': 'apid', '\\u224B\\u0338': 'napid', '\\u224C': 'bcong', '\\u224D': 'CupCap', '\\u226D': 'NotCupCap', '\\u224D\\u20D2': 'nvap', '\\u224E': 'bump', '\\u224E\\u0338': 'nbump', '\\u224F': 'bumpe', '\\u224F\\u0338': 'nbumpe', '\\u2250': 'doteq', '\\u2250\\u0338': 'nedot', '\\u2251': 'eDot', '\\u2252': 'efDot', '\\u2253': 'erDot', '\\u2254': 'colone', '\\u2255': 'ecolon', '\\u2256': 'ecir', '\\u2257': 'cire', '\\u2259': 'wedgeq', '\\u225A': 'veeeq', '\\u225C': 'trie', '\\u225F': 'equest', '\\u2261': 'equiv', '\\u2262': 'nequiv', '\\u2261\\u20E5': 'bnequiv', '\\u2264': 'le', '\\u2270': 'nle', '\\u2264\\u20D2': 'nvle', '\\u2265': 'ge', '\\u2271': 'nge', '\\u2265\\u20D2': 'nvge', '\\u2266': 'lE', '\\u2266\\u0338': 'nlE', '\\u2267': 'gE', '\\u2267\\u0338': 'ngE', '\\u2268\\uFE00': 'lvnE', '\\u2268': 'lnE', '\\u2269': 'gnE', '\\u2269\\uFE00': 'gvnE', '\\u226A': 'll', '\\u226A\\u0338': 'nLtv', '\\u226A\\u20D2': 'nLt', '\\u226B': 'gg', '\\u226B\\u0338': 'nGtv', '\\u226B\\u20D2': 'nGt', '\\u226C': 'twixt', '\\u2272': 'lsim', '\\u2274': 'nlsim', '\\u2273': 'gsim', '\\u2275': 'ngsim', '\\u2276': 'lg', '\\u2278': 'ntlg', '\\u2277': 'gl', '\\u2279': 'ntgl', '\\u227A': 'pr', '\\u2280': 'npr', '\\u227B': 'sc', '\\u2281': 'nsc', '\\u227C': 'prcue', '\\u22E0': 'nprcue', '\\u227D': 'sccue', '\\u22E1': 'nsccue', '\\u227E': 'prsim', '\\u227F': 'scsim', '\\u227F\\u0338': 'NotSucceedsTilde', '\\u2282': 'sub', '\\u2284': 'nsub', '\\u2282\\u20D2': 'vnsub', '\\u2283': 'sup', '\\u2285': 'nsup', '\\u2283\\u20D2': 'vnsup', '\\u2286': 'sube', '\\u2288': 'nsube', '\\u2287': 'supe', '\\u2289': 'nsupe', '\\u228A\\uFE00': 'vsubne', '\\u228A': 'subne', '\\u228B\\uFE00': 'vsupne', '\\u228B': 'supne', '\\u228D': 'cupdot', '\\u228E': 'uplus', '\\u228F': 'sqsub', '\\u228F\\u0338': 'NotSquareSubset', '\\u2290': 'sqsup', '\\u2290\\u0338': 'NotSquareSuperset', '\\u2291': 'sqsube', '\\u22E2': 'nsqsube', '\\u2292': 'sqsupe', '\\u22E3': 'nsqsupe', '\\u2293': 'sqcap', '\\u2293\\uFE00': 'sqcaps', '\\u2294': 'sqcup', '\\u2294\\uFE00': 'sqcups', '\\u2295': 'oplus', '\\u2296': 'ominus', '\\u2297': 'otimes', '\\u2298': 'osol', '\\u2299': 'odot', '\\u229A': 'ocir', '\\u229B': 'oast', '\\u229D': 'odash', '\\u229E': 'plusb', '\\u229F': 'minusb', '\\u22A0': 'timesb', '\\u22A1': 'sdotb', '\\u22A2': 'vdash', '\\u22AC': 'nvdash', '\\u22A3': 'dashv', '\\u22A4': 'top', '\\u22A5': 'bot', '\\u22A7': 'models', '\\u22A8': 'vDash', '\\u22AD': 'nvDash', '\\u22A9': 'Vdash', '\\u22AE': 'nVdash', '\\u22AA': 'Vvdash', '\\u22AB': 'VDash', '\\u22AF': 'nVDash', '\\u22B0': 'prurel', '\\u22B2': 'vltri', '\\u22EA': 'nltri', '\\u22B3': 'vrtri', '\\u22EB': 'nrtri', '\\u22B4': 'ltrie', '\\u22EC': 'nltrie', '\\u22B4\\u20D2': 'nvltrie', '\\u22B5': 'rtrie', '\\u22ED': 'nrtrie', '\\u22B5\\u20D2': 'nvrtrie', '\\u22B6': 'origof', '\\u22B7': 'imof', '\\u22B8': 'mumap', '\\u22B9': 'hercon', '\\u22BA': 'intcal', '\\u22BB': 'veebar', '\\u22BD': 'barvee', '\\u22BE': 'angrtvb', '\\u22BF': 'lrtri', '\\u22C0': 'Wedge', '\\u22C1': 'Vee', '\\u22C2': 'xcap', '\\u22C3': 'xcup', '\\u22C4': 'diam', '\\u22C5': 'sdot', '\\u22C6': 'Star', '\\u22C7': 'divonx', '\\u22C8': 'bowtie', '\\u22C9': 'ltimes', '\\u22CA': 'rtimes', '\\u22CB': 'lthree', '\\u22CC': 'rthree', '\\u22CD': 'bsime', '\\u22CE': 'cuvee', '\\u22CF': 'cuwed', '\\u22D0': 'Sub', '\\u22D1': 'Sup', '\\u22D2': 'Cap', '\\u22D3': 'Cup', '\\u22D4': 'fork', '\\u22D5': 'epar', '\\u22D6': 'ltdot', '\\u22D7': 'gtdot', '\\u22D8': 'Ll', '\\u22D8\\u0338': 'nLl', '\\u22D9': 'Gg', '\\u22D9\\u0338': 'nGg', '\\u22DA\\uFE00': 'lesg', '\\u22DA': 'leg', '\\u22DB': 'gel', '\\u22DB\\uFE00': 'gesl', '\\u22DE': 'cuepr', '\\u22DF': 'cuesc', '\\u22E6': 'lnsim', '\\u22E7': 'gnsim', '\\u22E8': 'prnsim', '\\u22E9': 'scnsim', '\\u22EE': 'vellip', '\\u22EF': 'ctdot', '\\u22F0': 'utdot', '\\u22F1': 'dtdot', '\\u22F2': 'disin', '\\u22F3': 'isinsv', '\\u22F4': 'isins', '\\u22F5': 'isindot', '\\u22F5\\u0338': 'notindot', '\\u22F6': 'notinvc', '\\u22F7': 'notinvb', '\\u22F9': 'isinE', '\\u22F9\\u0338': 'notinE', '\\u22FA': 'nisd', '\\u22FB': 'xnis', '\\u22FC': 'nis', '\\u22FD': 'notnivc', '\\u22FE': 'notnivb', '\\u2305': 'barwed', '\\u2306': 'Barwed', '\\u230C': 'drcrop', '\\u230D': 'dlcrop', '\\u230E': 'urcrop', '\\u230F': 'ulcrop', '\\u2310': 'bnot', '\\u2312': 'profline', '\\u2313': 'profsurf', '\\u2315': 'telrec', '\\u2316': 'target', '\\u231C': 'ulcorn', '\\u231D': 'urcorn', '\\u231E': 'dlcorn', '\\u231F': 'drcorn', '\\u2322': 'frown', '\\u2323': 'smile', '\\u232D': 'cylcty', '\\u232E': 'profalar', '\\u2336': 'topbot', '\\u233D': 'ovbar', '\\u233F': 'solbar', '\\u237C': 'angzarr', '\\u23B0': 'lmoust', '\\u23B1': 'rmoust', '\\u23B4': 'tbrk', '\\u23B5': 'bbrk', '\\u23B6': 'bbrktbrk', '\\u23DC': 'OverParenthesis', '\\u23DD': 'UnderParenthesis', '\\u23DE': 'OverBrace', '\\u23DF': 'UnderBrace', '\\u23E2': 'trpezium', '\\u23E7': 'elinters', '\\u2423': 'blank', '\\u2500': 'boxh', '\\u2502': 'boxv', '\\u250C': 'boxdr', '\\u2510': 'boxdl', '\\u2514': 'boxur', '\\u2518': 'boxul', '\\u251C': 'boxvr', '\\u2524': 'boxvl', '\\u252C': 'boxhd', '\\u2534': 'boxhu', '\\u253C': 'boxvh', '\\u2550': 'boxH', '\\u2551': 'boxV', '\\u2552': 'boxdR', '\\u2553': 'boxDr', '\\u2554': 'boxDR', '\\u2555': 'boxdL', '\\u2556': 'boxDl', '\\u2557': 'boxDL', '\\u2558': 'boxuR', '\\u2559': 'boxUr', '\\u255A': 'boxUR', '\\u255B': 'boxuL', '\\u255C': 'boxUl', '\\u255D': 'boxUL', '\\u255E': 'boxvR', '\\u255F': 'boxVr', '\\u2560': 'boxVR', '\\u2561': 'boxvL', '\\u2562': 'boxVl', '\\u2563': 'boxVL', '\\u2564': 'boxHd', '\\u2565': 'boxhD', '\\u2566': 'boxHD', '\\u2567': 'boxHu', '\\u2568': 'boxhU', '\\u2569': 'boxHU', '\\u256A': 'boxvH', '\\u256B': 'boxVh', '\\u256C': 'boxVH', '\\u2580': 'uhblk', '\\u2584': 'lhblk', '\\u2588': 'block', '\\u2591': 'blk14', '\\u2592': 'blk12', '\\u2593': 'blk34', '\\u25A1': 'squ', '\\u25AA': 'squf', '\\u25AB': 'EmptyVerySmallSquare', '\\u25AD': 'rect', '\\u25AE': 'marker', '\\u25B1': 'fltns', '\\u25B3': 'xutri', '\\u25B4': 'utrif', '\\u25B5': 'utri', '\\u25B8': 'rtrif', '\\u25B9': 'rtri', '\\u25BD': 'xdtri', '\\u25BE': 'dtrif', '\\u25BF': 'dtri', '\\u25C2': 'ltrif', '\\u25C3': 'ltri', '\\u25CA': 'loz', '\\u25CB': 'cir', '\\u25EC': 'tridot', '\\u25EF': 'xcirc', '\\u25F8': 'ultri', '\\u25F9': 'urtri', '\\u25FA': 'lltri', '\\u25FB': 'EmptySmallSquare', '\\u25FC': 'FilledSmallSquare', '\\u2605': 'starf', '\\u2606': 'star', '\\u260E': 'phone', '\\u2640': 'female', '\\u2642': 'male', '\\u2660': 'spades', '\\u2663': 'clubs', '\\u2665': 'hearts', '\\u2666': 'diams', '\\u266A': 'sung', '\\u2713': 'check', '\\u2717': 'cross', '\\u2720': 'malt', '\\u2736': 'sext', '\\u2758': 'VerticalSeparator', '\\u27C8': 'bsolhsub', '\\u27C9': 'suphsol', '\\u27F5': 'xlarr', '\\u27F6': 'xrarr', '\\u27F7': 'xharr', '\\u27F8': 'xlArr', '\\u27F9': 'xrArr', '\\u27FA': 'xhArr', '\\u27FC': 'xmap', '\\u27FF': 'dzigrarr', '\\u2902': 'nvlArr', '\\u2903': 'nvrArr', '\\u2904': 'nvHarr', '\\u2905': 'Map', '\\u290C': 'lbarr', '\\u290D': 'rbarr', '\\u290E': 'lBarr', '\\u290F': 'rBarr', '\\u2910': 'RBarr', '\\u2911': 'DDotrahd', '\\u2912': 'UpArrowBar', '\\u2913': 'DownArrowBar', '\\u2916': 'Rarrtl', '\\u2919': 'latail', '\\u291A': 'ratail', '\\u291B': 'lAtail', '\\u291C': 'rAtail', '\\u291D': 'larrfs', '\\u291E': 'rarrfs', '\\u291F': 'larrbfs', '\\u2920': 'rarrbfs', '\\u2923': 'nwarhk', '\\u2924': 'nearhk', '\\u2925': 'searhk', '\\u2926': 'swarhk', '\\u2927': 'nwnear', '\\u2928': 'toea', '\\u2929': 'tosa', '\\u292A': 'swnwar', '\\u2933': 'rarrc', '\\u2933\\u0338': 'nrarrc', '\\u2935': 'cudarrr', '\\u2936': 'ldca', '\\u2937': 'rdca', '\\u2938': 'cudarrl', '\\u2939': 'larrpl', '\\u293C': 'curarrm', '\\u293D': 'cularrp', '\\u2945': 'rarrpl', '\\u2948': 'harrcir', '\\u2949': 'Uarrocir', '\\u294A': 'lurdshar', '\\u294B': 'ldrushar', '\\u294E': 'LeftRightVector', '\\u294F': 'RightUpDownVector', '\\u2950': 'DownLeftRightVector', '\\u2951': 'LeftUpDownVector', '\\u2952': 'LeftVectorBar', '\\u2953': 'RightVectorBar', '\\u2954': 'RightUpVectorBar', '\\u2955': 'RightDownVectorBar', '\\u2956': 'DownLeftVectorBar', '\\u2957': 'DownRightVectorBar', '\\u2958': 'LeftUpVectorBar', '\\u2959': 'LeftDownVectorBar', '\\u295A': 'LeftTeeVector', '\\u295B': 'RightTeeVector', '\\u295C': 'RightUpTeeVector', '\\u295D': 'RightDownTeeVector', '\\u295E': 'DownLeftTeeVector', '\\u295F': 'DownRightTeeVector', '\\u2960': 'LeftUpTeeVector', '\\u2961': 'LeftDownTeeVector', '\\u2962': 'lHar', '\\u2963': 'uHar', '\\u2964': 'rHar', '\\u2965': 'dHar', '\\u2966': 'luruhar', '\\u2967': 'ldrdhar', '\\u2968': 'ruluhar', '\\u2969': 'rdldhar', '\\u296A': 'lharul', '\\u296B': 'llhard', '\\u296C': 'rharul', '\\u296D': 'lrhard', '\\u296E': 'udhar', '\\u296F': 'duhar', '\\u2970': 'RoundImplies', '\\u2971': 'erarr', '\\u2972': 'simrarr', '\\u2973': 'larrsim', '\\u2974': 'rarrsim', '\\u2975': 'rarrap', '\\u2976': 'ltlarr', '\\u2978': 'gtrarr', '\\u2979': 'subrarr', '\\u297B': 'suplarr', '\\u297C': 'lfisht', '\\u297D': 'rfisht', '\\u297E': 'ufisht', '\\u297F': 'dfisht', '\\u299A': 'vzigzag', '\\u299C': 'vangrt', '\\u299D': 'angrtvbd', '\\u29A4': 'ange', '\\u29A5': 'range', '\\u29A6': 'dwangle', '\\u29A7': 'uwangle', '\\u29A8': 'angmsdaa', '\\u29A9': 'angmsdab', '\\u29AA': 'angmsdac', '\\u29AB': 'angmsdad', '\\u29AC': 'angmsdae', '\\u29AD': 'angmsdaf', '\\u29AE': 'angmsdag', '\\u29AF': 'angmsdah', '\\u29B0': 'bemptyv', '\\u29B1': 'demptyv', '\\u29B2': 'cemptyv', '\\u29B3': 'raemptyv', '\\u29B4': 'laemptyv', '\\u29B5': 'ohbar', '\\u29B6': 'omid', '\\u29B7': 'opar', '\\u29B9': 'operp', '\\u29BB': 'olcross', '\\u29BC': 'odsold', '\\u29BE': 'olcir', '\\u29BF': 'ofcir', '\\u29C0': 'olt', '\\u29C1': 'ogt', '\\u29C2': 'cirscir', '\\u29C3': 'cirE', '\\u29C4': 'solb', '\\u29C5': 'bsolb', '\\u29C9': 'boxbox', '\\u29CD': 'trisb', '\\u29CE': 'rtriltri', '\\u29CF': 'LeftTriangleBar', '\\u29CF\\u0338': 'NotLeftTriangleBar', '\\u29D0': 'RightTriangleBar', '\\u29D0\\u0338': 'NotRightTriangleBar', '\\u29DC': 'iinfin', '\\u29DD': 'infintie', '\\u29DE': 'nvinfin', '\\u29E3': 'eparsl', '\\u29E4': 'smeparsl', '\\u29E5': 'eqvparsl', '\\u29EB': 'lozf', '\\u29F4': 'RuleDelayed', '\\u29F6': 'dsol', '\\u2A00': 'xodot', '\\u2A01': 'xoplus', '\\u2A02': 'xotime', '\\u2A04': 'xuplus', '\\u2A06': 'xsqcup', '\\u2A0D': 'fpartint', '\\u2A10': 'cirfnint', '\\u2A11': 'awint', '\\u2A12': 'rppolint', '\\u2A13': 'scpolint', '\\u2A14': 'npolint', '\\u2A15': 'pointint', '\\u2A16': 'quatint', '\\u2A17': 'intlarhk', '\\u2A22': 'pluscir', '\\u2A23': 'plusacir', '\\u2A24': 'simplus', '\\u2A25': 'plusdu', '\\u2A26': 'plussim', '\\u2A27': 'plustwo', '\\u2A29': 'mcomma', '\\u2A2A': 'minusdu', '\\u2A2D': 'loplus', '\\u2A2E': 'roplus', '\\u2A2F': 'Cross', '\\u2A30': 'timesd', '\\u2A31': 'timesbar', '\\u2A33': 'smashp', '\\u2A34': 'lotimes', '\\u2A35': 'rotimes', '\\u2A36': 'otimesas', '\\u2A37': 'Otimes', '\\u2A38': 'odiv', '\\u2A39': 'triplus', '\\u2A3A': 'triminus', '\\u2A3B': 'tritime', '\\u2A3C': 'iprod', '\\u2A3F': 'amalg', '\\u2A40': 'capdot', '\\u2A42': 'ncup', '\\u2A43': 'ncap', '\\u2A44': 'capand', '\\u2A45': 'cupor', '\\u2A46': 'cupcap', '\\u2A47': 'capcup', '\\u2A48': 'cupbrcap', '\\u2A49': 'capbrcup', '\\u2A4A': 'cupcup', '\\u2A4B': 'capcap', '\\u2A4C': 'ccups', '\\u2A4D': 'ccaps', '\\u2A50': 'ccupssm', '\\u2A53': 'And', '\\u2A54': 'Or', '\\u2A55': 'andand', '\\u2A56': 'oror', '\\u2A57': 'orslope', '\\u2A58': 'andslope', '\\u2A5A': 'andv', '\\u2A5B': 'orv', '\\u2A5C': 'andd', '\\u2A5D': 'ord', '\\u2A5F': 'wedbar', '\\u2A66': 'sdote', '\\u2A6A': 'simdot', '\\u2A6D': 'congdot', '\\u2A6D\\u0338': 'ncongdot', '\\u2A6E': 'easter', '\\u2A6F': 'apacir', '\\u2A70': 'apE', '\\u2A70\\u0338': 'napE', '\\u2A71': 'eplus', '\\u2A72': 'pluse', '\\u2A73': 'Esim', '\\u2A77': 'eDDot', '\\u2A78': 'equivDD', '\\u2A79': 'ltcir', '\\u2A7A': 'gtcir', '\\u2A7B': 'ltquest', '\\u2A7C': 'gtquest', '\\u2A7D': 'les', '\\u2A7D\\u0338': 'nles', '\\u2A7E': 'ges', '\\u2A7E\\u0338': 'nges', '\\u2A7F': 'lesdot', '\\u2A80': 'gesdot', '\\u2A81': 'lesdoto', '\\u2A82': 'gesdoto', '\\u2A83': 'lesdotor', '\\u2A84': 'gesdotol', '\\u2A85': 'lap', '\\u2A86': 'gap', '\\u2A87': 'lne', '\\u2A88': 'gne', '\\u2A89': 'lnap', '\\u2A8A': 'gnap', '\\u2A8B': 'lEg', '\\u2A8C': 'gEl', '\\u2A8D': 'lsime', '\\u2A8E': 'gsime', '\\u2A8F': 'lsimg', '\\u2A90': 'gsiml', '\\u2A91': 'lgE', '\\u2A92': 'glE', '\\u2A93': 'lesges', '\\u2A94': 'gesles', '\\u2A95': 'els', '\\u2A96': 'egs', '\\u2A97': 'elsdot', '\\u2A98': 'egsdot', '\\u2A99': 'el', '\\u2A9A': 'eg', '\\u2A9D': 'siml', '\\u2A9E': 'simg', '\\u2A9F': 'simlE', '\\u2AA0': 'simgE', '\\u2AA1': 'LessLess', '\\u2AA1\\u0338': 'NotNestedLessLess', '\\u2AA2': 'GreaterGreater', '\\u2AA2\\u0338': 'NotNestedGreaterGreater', '\\u2AA4': 'glj', '\\u2AA5': 'gla', '\\u2AA6': 'ltcc', '\\u2AA7': 'gtcc', '\\u2AA8': 'lescc', '\\u2AA9': 'gescc', '\\u2AAA': 'smt', '\\u2AAB': 'lat', '\\u2AAC': 'smte', '\\u2AAC\\uFE00': 'smtes', '\\u2AAD': 'late', '\\u2AAD\\uFE00': 'lates', '\\u2AAE': 'bumpE', '\\u2AAF': 'pre', '\\u2AAF\\u0338': 'npre', '\\u2AB0': 'sce', '\\u2AB0\\u0338': 'nsce', '\\u2AB3': 'prE', '\\u2AB4': 'scE', '\\u2AB5': 'prnE', '\\u2AB6': 'scnE', '\\u2AB7': 'prap', '\\u2AB8': 'scap', '\\u2AB9': 'prnap', '\\u2ABA': 'scnap', '\\u2ABB': 'Pr', '\\u2ABC': 'Sc', '\\u2ABD': 'subdot', '\\u2ABE': 'supdot', '\\u2ABF': 'subplus', '\\u2AC0': 'supplus', '\\u2AC1': 'submult', '\\u2AC2': 'supmult', '\\u2AC3': 'subedot', '\\u2AC4': 'supedot', '\\u2AC5': 'subE', '\\u2AC5\\u0338': 'nsubE', '\\u2AC6': 'supE', '\\u2AC6\\u0338': 'nsupE', '\\u2AC7': 'subsim', '\\u2AC8': 'supsim', '\\u2ACB\\uFE00': 'vsubnE', '\\u2ACB': 'subnE', '\\u2ACC\\uFE00': 'vsupnE', '\\u2ACC': 'supnE', '\\u2ACF': 'csub', '\\u2AD0': 'csup', '\\u2AD1': 'csube', '\\u2AD2': 'csupe', '\\u2AD3': 'subsup', '\\u2AD4': 'supsub', '\\u2AD5': 'subsub', '\\u2AD6': 'supsup', '\\u2AD7': 'suphsub', '\\u2AD8': 'supdsub', '\\u2AD9': 'forkv', '\\u2ADA': 'topfork', '\\u2ADB': 'mlcp', '\\u2AE4': 'Dashv', '\\u2AE6': 'Vdashl', '\\u2AE7': 'Barv', '\\u2AE8': 'vBar', '\\u2AE9': 'vBarv', '\\u2AEB': 'Vbar', '\\u2AEC': 'Not', '\\u2AED': 'bNot', '\\u2AEE': 'rnmid', '\\u2AEF': 'cirmid', '\\u2AF0': 'midcir', '\\u2AF1': 'topcir', '\\u2AF2': 'nhpar', '\\u2AF3': 'parsim', '\\u2AFD': 'parsl', '\\u2AFD\\u20E5': 'nparsl', '\\u266D': 'flat', '\\u266E': 'natur', '\\u266F': 'sharp', '\\xA4': 'curren', '\\xA2': 'cent', '$': 'dollar', '\\xA3': 'pound', '\\xA5': 'yen', '\\u20AC': 'euro', '\\xB9': 'sup1', '\\xBD': 'half', '\\u2153': 'frac13', '\\xBC': 'frac14', '\\u2155': 'frac15', '\\u2159': 'frac16', '\\u215B': 'frac18', '\\xB2': 'sup2', '\\u2154': 'frac23', '\\u2156': 'frac25', '\\xB3': 'sup3', '\\xBE': 'frac34', '\\u2157': 'frac35', '\\u215C': 'frac38', '\\u2158': 'frac45', '\\u215A': 'frac56', '\\u215D': 'frac58', '\\u215E': 'frac78', '\\uD835\\uDCB6': 'ascr', '\\uD835\\uDD52': 'aopf', '\\uD835\\uDD1E': 'afr', '\\uD835\\uDD38': 'Aopf', '\\uD835\\uDD04': 'Afr', '\\uD835\\uDC9C': 'Ascr', '\\xAA': 'ordf', '\\xE1': 'aacute', '\\xC1': 'Aacute', '\\xE0': 'agrave', '\\xC0': 'Agrave', '\\u0103': 'abreve', '\\u0102': 'Abreve', '\\xE2': 'acirc', '\\xC2': 'Acirc', '\\xE5': 'aring', '\\xC5': 'angst', '\\xE4': 'auml', '\\xC4': 'Auml', '\\xE3': 'atilde', '\\xC3': 'Atilde', '\\u0105': 'aogon', '\\u0104': 'Aogon', '\\u0101': 'amacr', '\\u0100': 'Amacr', '\\xE6': 'aelig', '\\xC6': 'AElig', '\\uD835\\uDCB7': 'bscr', '\\uD835\\uDD53': 'bopf', '\\uD835\\uDD1F': 'bfr', '\\uD835\\uDD39': 'Bopf', '\\u212C': 'Bscr', '\\uD835\\uDD05': 'Bfr', '\\uD835\\uDD20': 'cfr', '\\uD835\\uDCB8': 'cscr', '\\uD835\\uDD54': 'copf', '\\u212D': 'Cfr', '\\uD835\\uDC9E': 'Cscr', '\\u2102': 'Copf', '\\u0107': 'cacute', '\\u0106': 'Cacute', '\\u0109': 'ccirc', '\\u0108': 'Ccirc', '\\u010D': 'ccaron', '\\u010C': 'Ccaron', '\\u010B': 'cdot', '\\u010A': 'Cdot', '\\xE7': 'ccedil', '\\xC7': 'Ccedil', '\\u2105': 'incare', '\\uD835\\uDD21': 'dfr', '\\u2146': 'dd', '\\uD835\\uDD55': 'dopf', '\\uD835\\uDCB9': 'dscr', '\\uD835\\uDC9F': 'Dscr', '\\uD835\\uDD07': 'Dfr', '\\u2145': 'DD', '\\uD835\\uDD3B': 'Dopf', '\\u010F': 'dcaron', '\\u010E': 'Dcaron', '\\u0111': 'dstrok', '\\u0110': 'Dstrok', '\\xF0': 'eth', '\\xD0': 'ETH', '\\u2147': 'ee', '\\u212F': 'escr', '\\uD835\\uDD22': 'efr', '\\uD835\\uDD56': 'eopf', '\\u2130': 'Escr', '\\uD835\\uDD08': 'Efr', '\\uD835\\uDD3C': 'Eopf', '\\xE9': 'eacute', '\\xC9': 'Eacute', '\\xE8': 'egrave', '\\xC8': 'Egrave', '\\xEA': 'ecirc', '\\xCA': 'Ecirc', '\\u011B': 'ecaron', '\\u011A': 'Ecaron', '\\xEB': 'euml', '\\xCB': 'Euml', '\\u0117': 'edot', '\\u0116': 'Edot', '\\u0119': 'eogon', '\\u0118': 'Eogon', '\\u0113': 'emacr', '\\u0112': 'Emacr', '\\uD835\\uDD23': 'ffr', '\\uD835\\uDD57': 'fopf', '\\uD835\\uDCBB': 'fscr', '\\uD835\\uDD09': 'Ffr', '\\uD835\\uDD3D': 'Fopf', '\\u2131': 'Fscr', '\\uFB00': 'fflig', '\\uFB03': 'ffilig', '\\uFB04': 'ffllig', '\\uFB01': 'filig', 'fj': 'fjlig', '\\uFB02': 'fllig', '\\u0192': 'fnof', '\\u210A': 'gscr', '\\uD835\\uDD58': 'gopf', '\\uD835\\uDD24': 'gfr', '\\uD835\\uDCA2': 'Gscr', '\\uD835\\uDD3E': 'Gopf', '\\uD835\\uDD0A': 'Gfr', '\\u01F5': 'gacute', '\\u011F': 'gbreve', '\\u011E': 'Gbreve', '\\u011D': 'gcirc', '\\u011C': 'Gcirc', '\\u0121': 'gdot', '\\u0120': 'Gdot', '\\u0122': 'Gcedil', '\\uD835\\uDD25': 'hfr', '\\u210E': 'planckh', '\\uD835\\uDCBD': 'hscr', '\\uD835\\uDD59': 'hopf', '\\u210B': 'Hscr', '\\u210C': 'Hfr', '\\u210D': 'Hopf', '\\u0125': 'hcirc', '\\u0124': 'Hcirc', '\\u210F': 'hbar', '\\u0127': 'hstrok', '\\u0126': 'Hstrok', '\\uD835\\uDD5A': 'iopf', '\\uD835\\uDD26': 'ifr', '\\uD835\\uDCBE': 'iscr', '\\u2148': 'ii', '\\uD835\\uDD40': 'Iopf', '\\u2110': 'Iscr', '\\u2111': 'Im', '\\xED': 'iacute', '\\xCD': 'Iacute', '\\xEC': 'igrave', '\\xCC': 'Igrave', '\\xEE': 'icirc', '\\xCE': 'Icirc', '\\xEF': 'iuml', '\\xCF': 'Iuml', '\\u0129': 'itilde', '\\u0128': 'Itilde', '\\u0130': 'Idot', '\\u012F': 'iogon', '\\u012E': 'Iogon', '\\u012B': 'imacr', '\\u012A': 'Imacr', '\\u0133': 'ijlig', '\\u0132': 'IJlig', '\\u0131': 'imath', '\\uD835\\uDCBF': 'jscr', '\\uD835\\uDD5B': 'jopf', '\\uD835\\uDD27': 'jfr', '\\uD835\\uDCA5': 'Jscr', '\\uD835\\uDD0D': 'Jfr', '\\uD835\\uDD41': 'Jopf', '\\u0135': 'jcirc', '\\u0134': 'Jcirc', '\\u0237': 'jmath', '\\uD835\\uDD5C': 'kopf', '\\uD835\\uDCC0': 'kscr', '\\uD835\\uDD28': 'kfr', '\\uD835\\uDCA6': 'Kscr', '\\uD835\\uDD42': 'Kopf', '\\uD835\\uDD0E': 'Kfr', '\\u0137': 'kcedil', '\\u0136': 'Kcedil', '\\uD835\\uDD29': 'lfr', '\\uD835\\uDCC1': 'lscr', '\\u2113': 'ell', '\\uD835\\uDD5D': 'lopf', '\\u2112': 'Lscr', '\\uD835\\uDD0F': 'Lfr', '\\uD835\\uDD43': 'Lopf', '\\u013A': 'lacute', '\\u0139': 'Lacute', '\\u013E': 'lcaron', '\\u013D': 'Lcaron', '\\u013C': 'lcedil', '\\u013B': 'Lcedil', '\\u0142': 'lstrok', '\\u0141': 'Lstrok', '\\u0140': 'lmidot', '\\u013F': 'Lmidot', '\\uD835\\uDD2A': 'mfr', '\\uD835\\uDD5E': 'mopf', '\\uD835\\uDCC2': 'mscr', '\\uD835\\uDD10': 'Mfr', '\\uD835\\uDD44': 'Mopf', '\\u2133': 'Mscr', '\\uD835\\uDD2B': 'nfr', '\\uD835\\uDD5F': 'nopf', '\\uD835\\uDCC3': 'nscr', '\\u2115': 'Nopf', '\\uD835\\uDCA9': 'Nscr', '\\uD835\\uDD11': 'Nfr', '\\u0144': 'nacute', '\\u0143': 'Nacute', '\\u0148': 'ncaron', '\\u0147': 'Ncaron', '\\xF1': 'ntilde', '\\xD1': 'Ntilde', '\\u0146': 'ncedil', '\\u0145': 'Ncedil', '\\u2116': 'numero', '\\u014B': 'eng', '\\u014A': 'ENG', '\\uD835\\uDD60': 'oopf', '\\uD835\\uDD2C': 'ofr', '\\u2134': 'oscr', '\\uD835\\uDCAA': 'Oscr', '\\uD835\\uDD12': 'Ofr', '\\uD835\\uDD46': 'Oopf', '\\xBA': 'ordm', '\\xF3': 'oacute', '\\xD3': 'Oacute', '\\xF2': 'ograve', '\\xD2': 'Ograve', '\\xF4': 'ocirc', '\\xD4': 'Ocirc', '\\xF6': 'ouml', '\\xD6': 'Ouml', '\\u0151': 'odblac', '\\u0150': 'Odblac', '\\xF5': 'otilde', '\\xD5': 'Otilde', '\\xF8': 'oslash', '\\xD8': 'Oslash', '\\u014D': 'omacr', '\\u014C': 'Omacr', '\\u0153': 'oelig', '\\u0152': 'OElig', '\\uD835\\uDD2D': 'pfr', '\\uD835\\uDCC5': 'pscr', '\\uD835\\uDD61': 'popf', '\\u2119': 'Popf', '\\uD835\\uDD13': 'Pfr', '\\uD835\\uDCAB': 'Pscr', '\\uD835\\uDD62': 'qopf', '\\uD835\\uDD2E': 'qfr', '\\uD835\\uDCC6': 'qscr', '\\uD835\\uDCAC': 'Qscr', '\\uD835\\uDD14': 'Qfr', '\\u211A': 'Qopf', '\\u0138': 'kgreen', '\\uD835\\uDD2F': 'rfr', '\\uD835\\uDD63': 'ropf', '\\uD835\\uDCC7': 'rscr', '\\u211B': 'Rscr', '\\u211C': 'Re', '\\u211D': 'Ropf', '\\u0155': 'racute', '\\u0154': 'Racute', '\\u0159': 'rcaron', '\\u0158': 'Rcaron', '\\u0157': 'rcedil', '\\u0156': 'Rcedil', '\\uD835\\uDD64': 'sopf', '\\uD835\\uDCC8': 'sscr', '\\uD835\\uDD30': 'sfr', '\\uD835\\uDD4A': 'Sopf', '\\uD835\\uDD16': 'Sfr', '\\uD835\\uDCAE': 'Sscr', '\\u24C8': 'oS', '\\u015B': 'sacute', '\\u015A': 'Sacute', '\\u015D': 'scirc', '\\u015C': 'Scirc', '\\u0161': 'scaron', '\\u0160': 'Scaron', '\\u015F': 'scedil', '\\u015E': 'Scedil', '\\xDF': 'szlig', '\\uD835\\uDD31': 'tfr', '\\uD835\\uDCC9': 'tscr', '\\uD835\\uDD65': 'topf', '\\uD835\\uDCAF': 'Tscr', '\\uD835\\uDD17': 'Tfr', '\\uD835\\uDD4B': 'Topf', '\\u0165': 'tcaron', '\\u0164': 'Tcaron', '\\u0163': 'tcedil', '\\u0162': 'Tcedil', '\\u2122': 'trade', '\\u0167': 'tstrok', '\\u0166': 'Tstrok', '\\uD835\\uDCCA': 'uscr', '\\uD835\\uDD66': 'uopf', '\\uD835\\uDD32': 'ufr', '\\uD835\\uDD4C': 'Uopf', '\\uD835\\uDD18': 'Ufr', '\\uD835\\uDCB0': 'Uscr', '\\xFA': 'uacute', '\\xDA': 'Uacute', '\\xF9': 'ugrave', '\\xD9': 'Ugrave', '\\u016D': 'ubreve', '\\u016C': 'Ubreve', '\\xFB': 'ucirc', '\\xDB': 'Ucirc', '\\u016F': 'uring', '\\u016E': 'Uring', '\\xFC': 'uuml', '\\xDC': 'Uuml', '\\u0171': 'udblac', '\\u0170': 'Udblac', '\\u0169': 'utilde', '\\u0168': 'Utilde', '\\u0173': 'uogon', '\\u0172': 'Uogon', '\\u016B': 'umacr', '\\u016A': 'Umacr', '\\uD835\\uDD33': 'vfr', '\\uD835\\uDD67': 'vopf', '\\uD835\\uDCCB': 'vscr', '\\uD835\\uDD19': 'Vfr', '\\uD835\\uDD4D': 'Vopf', '\\uD835\\uDCB1': 'Vscr', '\\uD835\\uDD68': 'wopf', '\\uD835\\uDCCC': 'wscr', '\\uD835\\uDD34': 'wfr', '\\uD835\\uDCB2': 'Wscr', '\\uD835\\uDD4E': 'Wopf', '\\uD835\\uDD1A': 'Wfr', '\\u0175': 'wcirc', '\\u0174': 'Wcirc', '\\uD835\\uDD35': 'xfr', '\\uD835\\uDCCD': 'xscr', '\\uD835\\uDD69': 'xopf', '\\uD835\\uDD4F': 'Xopf', '\\uD835\\uDD1B': 'Xfr', '\\uD835\\uDCB3': 'Xscr', '\\uD835\\uDD36': 'yfr', '\\uD835\\uDCCE': 'yscr', '\\uD835\\uDD6A': 'yopf', '\\uD835\\uDCB4': 'Yscr', '\\uD835\\uDD1C': 'Yfr', '\\uD835\\uDD50': 'Yopf', '\\xFD': 'yacute', '\\xDD': 'Yacute', '\\u0177': 'ycirc', '\\u0176': 'Ycirc', '\\xFF': 'yuml', '\\u0178': 'Yuml', '\\uD835\\uDCCF': 'zscr', '\\uD835\\uDD37': 'zfr', '\\uD835\\uDD6B': 'zopf', '\\u2128': 'Zfr', '\\u2124': 'Zopf', '\\uD835\\uDCB5': 'Zscr', '\\u017A': 'zacute', '\\u0179': 'Zacute', '\\u017E': 'zcaron', '\\u017D': 'Zcaron', '\\u017C': 'zdot', '\\u017B': 'Zdot', '\\u01B5': 'imped', '\\xFE': 'thorn', '\\xDE': 'THORN', '\\u0149': 'napos', '\\u03B1': 'alpha', '\\u0391': 'Alpha', '\\u03B2': 'beta', '\\u0392': 'Beta', '\\u03B3': 'gamma', '\\u0393': 'Gamma', '\\u03B4': 'delta', '\\u0394': 'Delta', '\\u03B5': 'epsi', '\\u03F5': 'epsiv', '\\u0395': 'Epsilon', '\\u03DD': 'gammad', '\\u03DC': 'Gammad', '\\u03B6': 'zeta', '\\u0396': 'Zeta', '\\u03B7': 'eta', '\\u0397': 'Eta', '\\u03B8': 'theta', '\\u03D1': 'thetav', '\\u0398': 'Theta', '\\u03B9': 'iota', '\\u0399': 'Iota', '\\u03BA': 'kappa', '\\u03F0': 'kappav', '\\u039A': 'Kappa', '\\u03BB': 'lambda', '\\u039B': 'Lambda', '\\u03BC': 'mu', '\\xB5': 'micro', '\\u039C': 'Mu', '\\u03BD': 'nu', '\\u039D': 'Nu', '\\u03BE': 'xi', '\\u039E': 'Xi', '\\u03BF': 'omicron', '\\u039F': 'Omicron', '\\u03C0': 'pi', '\\u03D6': 'piv', '\\u03A0': 'Pi', '\\u03C1': 'rho', '\\u03F1': 'rhov', '\\u03A1': 'Rho', '\\u03C3': 'sigma', '\\u03A3': 'Sigma', '\\u03C2': 'sigmaf', '\\u03C4': 'tau', '\\u03A4': 'Tau', '\\u03C5': 'upsi', '\\u03A5': 'Upsilon', '\\u03D2': 'Upsi', '\\u03C6': 'phi', '\\u03D5': 'phiv', '\\u03A6': 'Phi', '\\u03C7': 'chi', '\\u03A7': 'Chi', '\\u03C8': 'psi', '\\u03A8': 'Psi', '\\u03C9': 'omega', '\\u03A9': 'ohm', '\\u0430': 'acy', '\\u0410': 'Acy', '\\u0431': 'bcy', '\\u0411': 'Bcy', '\\u0432': 'vcy', '\\u0412': 'Vcy', '\\u0433': 'gcy', '\\u0413': 'Gcy', '\\u0453': 'gjcy', '\\u0403': 'GJcy', '\\u0434': 'dcy', '\\u0414': 'Dcy', '\\u0452': 'djcy', '\\u0402': 'DJcy', '\\u0435': 'iecy', '\\u0415': 'IEcy', '\\u0451': 'iocy', '\\u0401': 'IOcy', '\\u0454': 'jukcy', '\\u0404': 'Jukcy', '\\u0436': 'zhcy', '\\u0416': 'ZHcy', '\\u0437': 'zcy', '\\u0417': 'Zcy', '\\u0455': 'dscy', '\\u0405': 'DScy', '\\u0438': 'icy', '\\u0418': 'Icy', '\\u0456': 'iukcy', '\\u0406': 'Iukcy', '\\u0457': 'yicy', '\\u0407': 'YIcy', '\\u0439': 'jcy', '\\u0419': 'Jcy', '\\u0458': 'jsercy', '\\u0408': 'Jsercy', '\\u043A': 'kcy', '\\u041A': 'Kcy', '\\u045C': 'kjcy', '\\u040C': 'KJcy', '\\u043B': 'lcy', '\\u041B': 'Lcy', '\\u0459': 'ljcy', '\\u0409': 'LJcy', '\\u043C': 'mcy', '\\u041C': 'Mcy', '\\u043D': 'ncy', '\\u041D': 'Ncy', '\\u045A': 'njcy', '\\u040A': 'NJcy', '\\u043E': 'ocy', '\\u041E': 'Ocy', '\\u043F': 'pcy', '\\u041F': 'Pcy', '\\u0440': 'rcy', '\\u0420': 'Rcy', '\\u0441': 'scy', '\\u0421': 'Scy', '\\u0442': 'tcy', '\\u0422': 'Tcy', '\\u045B': 'tshcy', '\\u040B': 'TSHcy', '\\u0443': 'ucy', '\\u0423': 'Ucy', '\\u045E': 'ubrcy', '\\u040E': 'Ubrcy', '\\u0444': 'fcy', '\\u0424': 'Fcy', '\\u0445': 'khcy', '\\u0425': 'KHcy', '\\u0446': 'tscy', '\\u0426': 'TScy', '\\u0447': 'chcy', '\\u0427': 'CHcy', '\\u045F': 'dzcy', '\\u040F': 'DZcy', '\\u0448': 'shcy', '\\u0428': 'SHcy', '\\u0449': 'shchcy', '\\u0429': 'SHCHcy', '\\u044A': 'hardcy', '\\u042A': 'HARDcy', '\\u044B': 'ycy', '\\u042B': 'Ycy', '\\u044C': 'softcy', '\\u042C': 'SOFTcy', '\\u044D': 'ecy', '\\u042D': 'Ecy', '\\u044E': 'yucy', '\\u042E': 'YUcy', '\\u044F': 'yacy', '\\u042F': 'YAcy', '\\u2135': 'aleph', '\\u2136': 'beth', '\\u2137': 'gimel', '\\u2138': 'daleth' };\n\n\tvar regexEscape = /[\"&'<>`]/g;\n\tvar escapeMap = {\n\t\t'\"': '&quot;',\n\t\t'&': '&amp;',\n\t\t'\\'': '&#x27;',\n\t\t'<': '&lt;',\n\t\t// See https://mathiasbynens.be/notes/ambiguous-ampersands: in HTML, the\n\t\t// following is not strictly necessary unless it’s part of a tag or an\n\t\t// unquoted attribute value. We’re only escaping it to support those\n\t\t// situations, and for XML support.\n\t\t'>': '&gt;',\n\t\t// In Internet Explorer ≤ 8, the backtick character can be used\n\t\t// to break out of (un)quoted attribute values or HTML comments.\n\t\t// See http://html5sec.org/#102, http://html5sec.org/#108, and\n\t\t// http://html5sec.org/#133.\n\t\t'`': '&#x60;'\n\t};\n\n\tvar regexInvalidEntity = /&#(?:[xX][^a-fA-F0-9]|[^0-9xX])/;\n\tvar regexInvalidRawCodePoint = /[\\0-\\x08\\x0B\\x0E-\\x1F\\x7F-\\x9F\\uFDD0-\\uFDEF\\uFFFE\\uFFFF]|[\\uD83F\\uD87F\\uD8BF\\uD8FF\\uD93F\\uD97F\\uD9BF\\uD9FF\\uDA3F\\uDA7F\\uDABF\\uDAFF\\uDB3F\\uDB7F\\uDBBF\\uDBFF][\\uDFFE\\uDFFF]|[\\uD800-\\uDBFF](?![\\uDC00-\\uDFFF])|(?:[^\\uD800-\\uDBFF]|^)[\\uDC00-\\uDFFF]/;\n\tvar regexDecode = /&(CounterClockwiseContourIntegral|DoubleLongLeftRightArrow|ClockwiseContourIntegral|NotNestedGreaterGreater|NotSquareSupersetEqual|DiacriticalDoubleAcute|NotRightTriangleEqual|NotSucceedsSlantEqual|NotPrecedesSlantEqual|CloseCurlyDoubleQuote|NegativeVeryThinSpace|DoubleContourIntegral|FilledVerySmallSquare|CapitalDifferentialD|OpenCurlyDoubleQuote|EmptyVerySmallSquare|NestedGreaterGreater|DoubleLongRightArrow|NotLeftTriangleEqual|NotGreaterSlantEqual|ReverseUpEquilibrium|DoubleLeftRightArrow|NotSquareSubsetEqual|NotDoubleVerticalBar|RightArrowLeftArrow|NotGreaterFullEqual|NotRightTriangleBar|SquareSupersetEqual|DownLeftRightVector|DoubleLongLeftArrow|leftrightsquigarrow|LeftArrowRightArrow|NegativeMediumSpace|blacktriangleright|RightDownVectorBar|PrecedesSlantEqual|RightDoubleBracket|SucceedsSlantEqual|NotLeftTriangleBar|RightTriangleEqual|SquareIntersection|RightDownTeeVector|ReverseEquilibrium|NegativeThickSpace|longleftrightarrow|Longleftrightarrow|LongLeftRightArrow|DownRightTeeVector|DownRightVectorBar|GreaterSlantEqual|SquareSubsetEqual|LeftDownVectorBar|LeftDoubleBracket|VerticalSeparator|rightleftharpoons|NotGreaterGreater|NotSquareSuperset|blacktriangleleft|blacktriangledown|NegativeThinSpace|LeftDownTeeVector|NotLessSlantEqual|leftrightharpoons|DoubleUpDownArrow|DoubleVerticalBar|LeftTriangleEqual|FilledSmallSquare|twoheadrightarrow|NotNestedLessLess|DownLeftTeeVector|DownLeftVectorBar|RightAngleBracket|NotTildeFullEqual|NotReverseElement|RightUpDownVector|DiacriticalTilde|NotSucceedsTilde|circlearrowright|NotPrecedesEqual|rightharpoondown|DoubleRightArrow|NotSucceedsEqual|NonBreakingSpace|NotRightTriangle|LessEqualGreater|RightUpTeeVector|LeftAngleBracket|GreaterFullEqual|DownArrowUpArrow|RightUpVectorBar|twoheadleftarrow|GreaterEqualLess|downharpoonright|RightTriangleBar|ntrianglerighteq|NotSupersetEqual|LeftUpDownVector|DiacriticalAcute|rightrightarrows|vartriangleright|UpArrowDownArrow|DiacriticalGrave|UnderParenthesis|EmptySmallSquare|LeftUpVectorBar|leftrightarrows|DownRightVector|downharpoonleft|trianglerighteq|ShortRightArrow|OverParenthesis|DoubleLeftArrow|DoubleDownArrow|NotSquareSubset|bigtriangledown|ntrianglelefteq|UpperRightArrow|curvearrowright|vartriangleleft|NotLeftTriangle|nleftrightarrow|LowerRightArrow|NotHumpDownHump|NotGreaterTilde|rightthreetimes|LeftUpTeeVector|NotGreaterEqual|straightepsilon|LeftTriangleBar|rightsquigarrow|ContourIntegral|rightleftarrows|CloseCurlyQuote|RightDownVector|LeftRightVector|nLeftrightarrow|leftharpoondown|circlearrowleft|SquareSuperset|OpenCurlyQuote|hookrightarrow|HorizontalLine|DiacriticalDot|NotLessGreater|ntriangleright|DoubleRightTee|InvisibleComma|InvisibleTimes|LowerLeftArrow|DownLeftVector|NotSubsetEqual|curvearrowleft|trianglelefteq|NotVerticalBar|TildeFullEqual|downdownarrows|NotGreaterLess|RightTeeVector|ZeroWidthSpace|looparrowright|LongRightArrow|doublebarwedge|ShortLeftArrow|ShortDownArrow|RightVectorBar|GreaterGreater|ReverseElement|rightharpoonup|LessSlantEqual|leftthreetimes|upharpoonright|rightarrowtail|LeftDownVector|Longrightarrow|NestedLessLess|UpperLeftArrow|nshortparallel|leftleftarrows|leftrightarrow|Leftrightarrow|LeftRightArrow|longrightarrow|upharpoonleft|RightArrowBar|ApplyFunction|LeftTeeVector|leftarrowtail|NotEqualTilde|varsubsetneqq|varsupsetneqq|RightTeeArrow|SucceedsEqual|SucceedsTilde|LeftVectorBar|SupersetEqual|hookleftarrow|DifferentialD|VerticalTilde|VeryThinSpace|blacktriangle|bigtriangleup|LessFullEqual|divideontimes|leftharpoonup|UpEquilibrium|ntriangleleft|RightTriangle|measuredangle|shortparallel|longleftarrow|Longleftarrow|LongLeftArrow|DoubleLeftTee|Poincareplane|PrecedesEqual|triangleright|DoubleUpArrow|RightUpVector|fallingdotseq|looparrowleft|PrecedesTilde|NotTildeEqual|NotTildeTilde|smallsetminus|Proportional|triangleleft|triangledown|UnderBracket|NotHumpEqual|exponentiale|ExponentialE|NotLessTilde|HilbertSpace|RightCeiling|blacklozenge|varsupsetneq|HumpDownHump|GreaterEqual|VerticalLine|LeftTeeArrow|NotLessEqual|DownTeeArrow|LeftTriangle|varsubsetneq|Intersection|NotCongruent|DownArrowBar|LeftUpVector|LeftArrowBar|risingdotseq|GreaterTilde|RoundImplies|SquareSubset|ShortUpArrow|NotSuperset|quaternions|precnapprox|backepsilon|preccurlyeq|OverBracket|blacksquare|MediumSpace|VerticalBar|circledcirc|circleddash|CircleMinus|CircleTimes|LessGreater|curlyeqprec|curlyeqsucc|diamondsuit|UpDownArrow|Updownarrow|RuleDelayed|Rrightarrow|updownarrow|RightVector|nRightarrow|nrightarrow|eqslantless|LeftCeiling|Equilibrium|SmallCircle|expectation|NotSucceeds|thickapprox|GreaterLess|SquareUnion|NotPrecedes|NotLessLess|straightphi|succnapprox|succcurlyeq|SubsetEqual|sqsupseteq|Proportion|Laplacetrf|ImaginaryI|supsetneqq|NotGreater|gtreqqless|NotElement|ThickSpace|TildeEqual|TildeTilde|Fouriertrf|rmoustache|EqualTilde|eqslantgtr|UnderBrace|LeftVector|UpArrowBar|nLeftarrow|nsubseteqq|subsetneqq|nsupseteqq|nleftarrow|succapprox|lessapprox|UpTeeArrow|upuparrows|curlywedge|lesseqqgtr|varepsilon|varnothing|RightFloor|complement|CirclePlus|sqsubseteq|Lleftarrow|circledast|RightArrow|Rightarrow|rightarrow|lmoustache|Bernoullis|precapprox|mapstoleft|mapstodown|longmapsto|dotsquare|downarrow|DoubleDot|nsubseteq|supsetneq|leftarrow|nsupseteq|subsetneq|ThinSpace|ngeqslant|subseteqq|HumpEqual|NotSubset|triangleq|NotCupCap|lesseqgtr|heartsuit|TripleDot|Leftarrow|Coproduct|Congruent|varpropto|complexes|gvertneqq|LeftArrow|LessTilde|supseteqq|MinusPlus|CircleDot|nleqslant|NotExists|gtreqless|nparallel|UnionPlus|LeftFloor|checkmark|CenterDot|centerdot|Mellintrf|gtrapprox|bigotimes|OverBrace|spadesuit|therefore|pitchfork|rationals|PlusMinus|Backslash|Therefore|DownBreve|backsimeq|backprime|DownArrow|nshortmid|Downarrow|lvertneqq|eqvparsl|imagline|imagpart|infintie|integers|Integral|intercal|LessLess|Uarrocir|intlarhk|sqsupset|angmsdaf|sqsubset|llcorner|vartheta|cupbrcap|lnapprox|Superset|SuchThat|succnsim|succneqq|angmsdag|biguplus|curlyvee|trpezium|Succeeds|NotTilde|bigwedge|angmsdah|angrtvbd|triminus|cwconint|fpartint|lrcorner|smeparsl|subseteq|urcorner|lurdshar|laemptyv|DDotrahd|approxeq|ldrushar|awconint|mapstoup|backcong|shortmid|triangle|geqslant|gesdotol|timesbar|circledR|circledS|setminus|multimap|naturals|scpolint|ncongdot|RightTee|boxminus|gnapprox|boxtimes|andslope|thicksim|angmsdaa|varsigma|cirfnint|rtriltri|angmsdab|rppolint|angmsdac|barwedge|drbkarow|clubsuit|thetasym|bsolhsub|capbrcup|dzigrarr|doteqdot|DotEqual|dotminus|UnderBar|NotEqual|realpart|otimesas|ulcorner|hksearow|hkswarow|parallel|PartialD|elinters|emptyset|plusacir|bbrktbrk|angmsdad|pointint|bigoplus|angmsdae|Precedes|bigsqcup|varkappa|notindot|supseteq|precneqq|precnsim|profalar|profline|profsurf|leqslant|lesdotor|raemptyv|subplus|notnivb|notnivc|subrarr|zigrarr|vzigzag|submult|subedot|Element|between|cirscir|larrbfs|larrsim|lotimes|lbrksld|lbrkslu|lozenge|ldrdhar|dbkarow|bigcirc|epsilon|simrarr|simplus|ltquest|Epsilon|luruhar|gtquest|maltese|npolint|eqcolon|npreceq|bigodot|ddagger|gtrless|bnequiv|harrcir|ddotseq|equivDD|backsim|demptyv|nsqsube|nsqsupe|Upsilon|nsubset|upsilon|minusdu|nsucceq|swarrow|nsupset|coloneq|searrow|boxplus|napprox|natural|asympeq|alefsym|congdot|nearrow|bigstar|diamond|supplus|tritime|LeftTee|nvinfin|triplus|NewLine|nvltrie|nvrtrie|nwarrow|nexists|Diamond|ruluhar|Implies|supmult|angzarr|suplarr|suphsub|questeq|because|digamma|Because|olcross|bemptyv|omicron|Omicron|rotimes|NoBreak|intprod|angrtvb|orderof|uwangle|suphsol|lesdoto|orslope|DownTee|realine|cudarrl|rdldhar|OverBar|supedot|lessdot|supdsub|topfork|succsim|rbrkslu|rbrksld|pertenk|cudarrr|isindot|planckh|lessgtr|pluscir|gesdoto|plussim|plustwo|lesssim|cularrp|rarrsim|Cayleys|notinva|notinvb|notinvc|UpArrow|Uparrow|uparrow|NotLess|dwangle|precsim|Product|curarrm|Cconint|dotplus|rarrbfs|ccupssm|Cedilla|cemptyv|notniva|quatint|frac35|frac38|frac45|frac56|frac58|frac78|tridot|xoplus|gacute|gammad|Gammad|lfisht|lfloor|bigcup|sqsupe|gbreve|Gbreve|lharul|sqsube|sqcups|Gcedil|apacir|llhard|lmidot|Lmidot|lmoust|andand|sqcaps|approx|Abreve|spades|circeq|tprime|divide|topcir|Assign|topbot|gesdot|divonx|xuplus|timesd|gesles|atilde|solbar|SOFTcy|loplus|timesb|lowast|lowbar|dlcorn|dlcrop|softcy|dollar|lparlt|thksim|lrhard|Atilde|lsaquo|smashp|bigvee|thinsp|wreath|bkarow|lsquor|lstrok|Lstrok|lthree|ltimes|ltlarr|DotDot|simdot|ltrPar|weierp|xsqcup|angmsd|sigmav|sigmaf|zeetrf|Zcaron|zcaron|mapsto|vsupne|thetav|cirmid|marker|mcomma|Zacute|vsubnE|there4|gtlPar|vsubne|bottom|gtrarr|SHCHcy|shchcy|midast|midcir|middot|minusb|minusd|gtrdot|bowtie|sfrown|mnplus|models|colone|seswar|Colone|mstpos|searhk|gtrsim|nacute|Nacute|boxbox|telrec|hairsp|Tcedil|nbumpe|scnsim|ncaron|Ncaron|ncedil|Ncedil|hamilt|Scedil|nearhk|hardcy|HARDcy|tcedil|Tcaron|commat|nequiv|nesear|tcaron|target|hearts|nexist|varrho|scedil|Scaron|scaron|hellip|Sacute|sacute|hercon|swnwar|compfn|rtimes|rthree|rsquor|rsaquo|zacute|wedgeq|homtht|barvee|barwed|Barwed|rpargt|horbar|conint|swarhk|roplus|nltrie|hslash|hstrok|Hstrok|rmoust|Conint|bprime|hybull|hyphen|iacute|Iacute|supsup|supsub|supsim|varphi|coprod|brvbar|agrave|Supset|supset|igrave|Igrave|notinE|Agrave|iiiint|iinfin|copysr|wedbar|Verbar|vangrt|becaus|incare|verbar|inodot|bullet|drcorn|intcal|drcrop|cularr|vellip|Utilde|bumpeq|cupcap|dstrok|Dstrok|CupCap|cupcup|cupdot|eacute|Eacute|supdot|iquest|easter|ecaron|Ecaron|ecolon|isinsv|utilde|itilde|Itilde|curarr|succeq|Bumpeq|cacute|ulcrop|nparsl|Cacute|nprcue|egrave|Egrave|nrarrc|nrarrw|subsup|subsub|nrtrie|jsercy|nsccue|Jsercy|kappav|kcedil|Kcedil|subsim|ulcorn|nsimeq|egsdot|veebar|kgreen|capand|elsdot|Subset|subset|curren|aacute|lacute|Lacute|emptyv|ntilde|Ntilde|lagran|lambda|Lambda|capcap|Ugrave|langle|subdot|emsp13|numero|emsp14|nvdash|nvDash|nVdash|nVDash|ugrave|ufisht|nvHarr|larrfs|nvlArr|larrhk|larrlp|larrpl|nvrArr|Udblac|nwarhk|larrtl|nwnear|oacute|Oacute|latail|lAtail|sstarf|lbrace|odblac|Odblac|lbrack|udblac|odsold|eparsl|lcaron|Lcaron|ograve|Ograve|lcedil|Lcedil|Aacute|ssmile|ssetmn|squarf|ldquor|capcup|ominus|cylcty|rharul|eqcirc|dagger|rfloor|rfisht|Dagger|daleth|equals|origof|capdot|equest|dcaron|Dcaron|rdquor|oslash|Oslash|otilde|Otilde|otimes|Otimes|urcrop|Ubreve|ubreve|Yacute|Uacute|uacute|Rcedil|rcedil|urcorn|parsim|Rcaron|Vdashl|rcaron|Tstrok|percnt|period|permil|Exists|yacute|rbrack|rbrace|phmmat|ccaron|Ccaron|planck|ccedil|plankv|tstrok|female|plusdo|plusdu|ffilig|plusmn|ffllig|Ccedil|rAtail|dfisht|bernou|ratail|Rarrtl|rarrtl|angsph|rarrpl|rarrlp|rarrhk|xwedge|xotime|forall|ForAll|Vvdash|vsupnE|preceq|bigcap|frac12|frac13|frac14|primes|rarrfs|prnsim|frac15|Square|frac16|square|lesdot|frac18|frac23|propto|prurel|rarrap|rangle|puncsp|frac25|Racute|qprime|racute|lesges|frac34|abreve|AElig|eqsim|utdot|setmn|urtri|Equal|Uring|seArr|uring|searr|dashv|Dashv|mumap|nabla|iogon|Iogon|sdote|sdotb|scsim|napid|napos|equiv|natur|Acirc|dblac|erarr|nbump|iprod|erDot|ucirc|awint|esdot|angrt|ncong|isinE|scnap|Scirc|scirc|ndash|isins|Ubrcy|nearr|neArr|isinv|nedot|ubrcy|acute|Ycirc|iukcy|Iukcy|xutri|nesim|caret|jcirc|Jcirc|caron|twixt|ddarr|sccue|exist|jmath|sbquo|ngeqq|angst|ccaps|lceil|ngsim|UpTee|delta|Delta|rtrif|nharr|nhArr|nhpar|rtrie|jukcy|Jukcy|kappa|rsquo|Kappa|nlarr|nlArr|TSHcy|rrarr|aogon|Aogon|fflig|xrarr|tshcy|ccirc|nleqq|filig|upsih|nless|dharl|nlsim|fjlig|ropar|nltri|dharr|robrk|roarr|fllig|fltns|roang|rnmid|subnE|subne|lAarr|trisb|Ccirc|acirc|ccups|blank|VDash|forkv|Vdash|langd|cedil|blk12|blk14|laquo|strns|diams|notin|vDash|larrb|blk34|block|disin|uplus|vdash|vBarv|aelig|starf|Wedge|check|xrArr|lates|lbarr|lBarr|notni|lbbrk|bcong|frasl|lbrke|frown|vrtri|vprop|vnsup|gamma|Gamma|wedge|xodot|bdquo|srarr|doteq|ldquo|boxdl|boxdL|gcirc|Gcirc|boxDl|boxDL|boxdr|boxdR|boxDr|TRADE|trade|rlhar|boxDR|vnsub|npart|vltri|rlarr|boxhd|boxhD|nprec|gescc|nrarr|nrArr|boxHd|boxHD|boxhu|boxhU|nrtri|boxHu|clubs|boxHU|times|colon|Colon|gimel|xlArr|Tilde|nsime|tilde|nsmid|nspar|THORN|thorn|xlarr|nsube|nsubE|thkap|xhArr|comma|nsucc|boxul|boxuL|nsupe|nsupE|gneqq|gnsim|boxUl|boxUL|grave|boxur|boxuR|boxUr|boxUR|lescc|angle|bepsi|boxvh|varpi|boxvH|numsp|Theta|gsime|gsiml|theta|boxVh|boxVH|boxvl|gtcir|gtdot|boxvL|boxVl|boxVL|crarr|cross|Cross|nvsim|boxvr|nwarr|nwArr|sqsup|dtdot|Uogon|lhard|lharu|dtrif|ocirc|Ocirc|lhblk|duarr|odash|sqsub|Hacek|sqcup|llarr|duhar|oelig|OElig|ofcir|boxvR|uogon|lltri|boxVr|csube|uuarr|ohbar|csupe|ctdot|olarr|olcir|harrw|oline|sqcap|omacr|Omacr|omega|Omega|boxVR|aleph|lneqq|lnsim|loang|loarr|rharu|lobrk|hcirc|operp|oplus|rhard|Hcirc|orarr|Union|order|ecirc|Ecirc|cuepr|szlig|cuesc|breve|reals|eDDot|Breve|hoarr|lopar|utrif|rdquo|Umacr|umacr|efDot|swArr|ultri|alpha|rceil|ovbar|swarr|Wcirc|wcirc|smtes|smile|bsemi|lrarr|aring|parsl|lrhar|bsime|uhblk|lrtri|cupor|Aring|uharr|uharl|slarr|rbrke|bsolb|lsime|rbbrk|RBarr|lsimg|phone|rBarr|rbarr|icirc|lsquo|Icirc|emacr|Emacr|ratio|simne|plusb|simlE|simgE|simeq|pluse|ltcir|ltdot|empty|xharr|xdtri|iexcl|Alpha|ltrie|rarrw|pound|ltrif|xcirc|bumpe|prcue|bumpE|asymp|amacr|cuvee|Sigma|sigma|iiint|udhar|iiota|ijlig|IJlig|supnE|imacr|Imacr|prime|Prime|image|prnap|eogon|Eogon|rarrc|mdash|mDDot|cuwed|imath|supne|imped|Amacr|udarr|prsim|micro|rarrb|cwint|raquo|infin|eplus|range|rangd|Ucirc|radic|minus|amalg|veeeq|rAarr|epsiv|ycirc|quest|sharp|quot|zwnj|Qscr|race|qscr|Qopf|qopf|qint|rang|Rang|Zscr|zscr|Zopf|zopf|rarr|rArr|Rarr|Pscr|pscr|prop|prod|prnE|prec|ZHcy|zhcy|prap|Zeta|zeta|Popf|popf|Zdot|plus|zdot|Yuml|yuml|phiv|YUcy|yucy|Yscr|yscr|perp|Yopf|yopf|part|para|YIcy|Ouml|rcub|yicy|YAcy|rdca|ouml|osol|Oscr|rdsh|yacy|real|oscr|xvee|andd|rect|andv|Xscr|oror|ordm|ordf|xscr|ange|aopf|Aopf|rHar|Xopf|opar|Oopf|xopf|xnis|rhov|oopf|omid|xmap|oint|apid|apos|ogon|ascr|Ascr|odot|odiv|xcup|xcap|ocir|oast|nvlt|nvle|nvgt|nvge|nvap|Wscr|wscr|auml|ntlg|ntgl|nsup|nsub|nsim|Nscr|nscr|nsce|Wopf|ring|npre|wopf|npar|Auml|Barv|bbrk|Nopf|nopf|nmid|nLtv|beta|ropf|Ropf|Beta|beth|nles|rpar|nleq|bnot|bNot|nldr|NJcy|rscr|Rscr|Vscr|vscr|rsqb|njcy|bopf|nisd|Bopf|rtri|Vopf|nGtv|ngtr|vopf|boxh|boxH|boxv|nges|ngeq|boxV|bscr|scap|Bscr|bsim|Vert|vert|bsol|bull|bump|caps|cdot|ncup|scnE|ncap|nbsp|napE|Cdot|cent|sdot|Vbar|nang|vBar|chcy|Mscr|mscr|sect|semi|CHcy|Mopf|mopf|sext|circ|cire|mldr|mlcp|cirE|comp|shcy|SHcy|vArr|varr|cong|copf|Copf|copy|COPY|malt|male|macr|lvnE|cscr|ltri|sime|ltcc|simg|Cscr|siml|csub|Uuml|lsqb|lsim|uuml|csup|Lscr|lscr|utri|smid|lpar|cups|smte|lozf|darr|Lopf|Uscr|solb|lopf|sopf|Sopf|lneq|uscr|spar|dArr|lnap|Darr|dash|Sqrt|LJcy|ljcy|lHar|dHar|Upsi|upsi|diam|lesg|djcy|DJcy|leqq|dopf|Dopf|dscr|Dscr|dscy|ldsh|ldca|squf|DScy|sscr|Sscr|dsol|lcub|late|star|Star|Uopf|Larr|lArr|larr|uopf|dtri|dzcy|sube|subE|Lang|lang|Kscr|kscr|Kopf|kopf|KJcy|kjcy|KHcy|khcy|DZcy|ecir|edot|eDot|Jscr|jscr|succ|Jopf|jopf|Edot|uHar|emsp|ensp|Iuml|iuml|eopf|isin|Iscr|iscr|Eopf|epar|sung|epsi|escr|sup1|sup2|sup3|Iota|iota|supe|supE|Iopf|iopf|IOcy|iocy|Escr|esim|Esim|imof|Uarr|QUOT|uArr|uarr|euml|IEcy|iecy|Idot|Euml|euro|excl|Hscr|hscr|Hopf|hopf|TScy|tscy|Tscr|hbar|tscr|flat|tbrk|fnof|hArr|harr|half|fopf|Fopf|tdot|gvnE|fork|trie|gtcc|fscr|Fscr|gdot|gsim|Gscr|gscr|Gopf|gopf|gneq|Gdot|tosa|gnap|Topf|topf|geqq|toea|GJcy|gjcy|tint|gesl|mid|Sfr|ggg|top|ges|gla|glE|glj|geq|gne|gEl|gel|gnE|Gcy|gcy|gap|Tfr|tfr|Tcy|tcy|Hat|Tau|Ffr|tau|Tab|hfr|Hfr|ffr|Fcy|fcy|icy|Icy|iff|ETH|eth|ifr|Ifr|Eta|eta|int|Int|Sup|sup|ucy|Ucy|Sum|sum|jcy|ENG|ufr|Ufr|eng|Jcy|jfr|els|ell|egs|Efr|efr|Jfr|uml|kcy|Kcy|Ecy|ecy|kfr|Kfr|lap|Sub|sub|lat|lcy|Lcy|leg|Dot|dot|lEg|leq|les|squ|div|die|lfr|Lfr|lgE|Dfr|dfr|Del|deg|Dcy|dcy|lne|lnE|sol|loz|smt|Cup|lrm|cup|lsh|Lsh|sim|shy|map|Map|mcy|Mcy|mfr|Mfr|mho|gfr|Gfr|sfr|cir|Chi|chi|nap|Cfr|vcy|Vcy|cfr|Scy|scy|ncy|Ncy|vee|Vee|Cap|cap|nfr|scE|sce|Nfr|nge|ngE|nGg|vfr|Vfr|ngt|bot|nGt|nis|niv|Rsh|rsh|nle|nlE|bne|Bfr|bfr|nLl|nlt|nLt|Bcy|bcy|not|Not|rlm|wfr|Wfr|npr|nsc|num|ocy|ast|Ocy|ofr|xfr|Xfr|Ofr|ogt|ohm|apE|olt|Rho|ape|rho|Rfr|rfr|ord|REG|ang|reg|orv|And|and|AMP|Rcy|amp|Afr|ycy|Ycy|yen|yfr|Yfr|rcy|par|pcy|Pcy|pfr|Pfr|phi|Phi|afr|Acy|acy|zcy|Zcy|piv|acE|acd|zfr|Zfr|pre|prE|psi|Psi|qfr|Qfr|zwj|Or|ge|Gg|gt|gg|el|oS|lt|Lt|LT|Re|lg|gl|eg|ne|Im|it|le|DD|wp|wr|nu|Nu|dd|lE|Sc|sc|pi|Pi|ee|af|ll|Ll|rx|gE|xi|pm|Xi|ic|pr|Pr|in|ni|mp|mu|ac|Mu|or|ap|Gt|GT|ii);|&(Aacute|Agrave|Atilde|Ccedil|Eacute|Egrave|Iacute|Igrave|Ntilde|Oacute|Ograve|Oslash|Otilde|Uacute|Ugrave|Yacute|aacute|agrave|atilde|brvbar|ccedil|curren|divide|eacute|egrave|frac12|frac14|frac34|iacute|igrave|iquest|middot|ntilde|oacute|ograve|oslash|otilde|plusmn|uacute|ugrave|yacute|AElig|Acirc|Aring|Ecirc|Icirc|Ocirc|THORN|Ucirc|acirc|acute|aelig|aring|cedil|ecirc|icirc|iexcl|laquo|micro|ocirc|pound|raquo|szlig|thorn|times|ucirc|Auml|COPY|Euml|Iuml|Ouml|QUOT|Uuml|auml|cent|copy|euml|iuml|macr|nbsp|ordf|ordm|ouml|para|quot|sect|sup1|sup2|sup3|uuml|yuml|AMP|ETH|REG|amp|deg|eth|not|reg|shy|uml|yen|GT|LT|gt|lt)(?!;)([=a-zA-Z0-9]?)|&#([0-9]+)(;?)|&#[xX]([a-fA-F0-9]+)(;?)|&([0-9a-zA-Z]+)/g;\n\tvar decodeMap = { 'aacute': '\\xE1', 'Aacute': '\\xC1', 'abreve': '\\u0103', 'Abreve': '\\u0102', 'ac': '\\u223E', 'acd': '\\u223F', 'acE': '\\u223E\\u0333', 'acirc': '\\xE2', 'Acirc': '\\xC2', 'acute': '\\xB4', 'acy': '\\u0430', 'Acy': '\\u0410', 'aelig': '\\xE6', 'AElig': '\\xC6', 'af': '\\u2061', 'afr': '\\uD835\\uDD1E', 'Afr': '\\uD835\\uDD04', 'agrave': '\\xE0', 'Agrave': '\\xC0', 'alefsym': '\\u2135', 'aleph': '\\u2135', 'alpha': '\\u03B1', 'Alpha': '\\u0391', 'amacr': '\\u0101', 'Amacr': '\\u0100', 'amalg': '\\u2A3F', 'amp': '&', 'AMP': '&', 'and': '\\u2227', 'And': '\\u2A53', 'andand': '\\u2A55', 'andd': '\\u2A5C', 'andslope': '\\u2A58', 'andv': '\\u2A5A', 'ang': '\\u2220', 'ange': '\\u29A4', 'angle': '\\u2220', 'angmsd': '\\u2221', 'angmsdaa': '\\u29A8', 'angmsdab': '\\u29A9', 'angmsdac': '\\u29AA', 'angmsdad': '\\u29AB', 'angmsdae': '\\u29AC', 'angmsdaf': '\\u29AD', 'angmsdag': '\\u29AE', 'angmsdah': '\\u29AF', 'angrt': '\\u221F', 'angrtvb': '\\u22BE', 'angrtvbd': '\\u299D', 'angsph': '\\u2222', 'angst': '\\xC5', 'angzarr': '\\u237C', 'aogon': '\\u0105', 'Aogon': '\\u0104', 'aopf': '\\uD835\\uDD52', 'Aopf': '\\uD835\\uDD38', 'ap': '\\u2248', 'apacir': '\\u2A6F', 'ape': '\\u224A', 'apE': '\\u2A70', 'apid': '\\u224B', 'apos': '\\'', 'ApplyFunction': '\\u2061', 'approx': '\\u2248', 'approxeq': '\\u224A', 'aring': '\\xE5', 'Aring': '\\xC5', 'ascr': '\\uD835\\uDCB6', 'Ascr': '\\uD835\\uDC9C', 'Assign': '\\u2254', 'ast': '*', 'asymp': '\\u2248', 'asympeq': '\\u224D', 'atilde': '\\xE3', 'Atilde': '\\xC3', 'auml': '\\xE4', 'Auml': '\\xC4', 'awconint': '\\u2233', 'awint': '\\u2A11', 'backcong': '\\u224C', 'backepsilon': '\\u03F6', 'backprime': '\\u2035', 'backsim': '\\u223D', 'backsimeq': '\\u22CD', 'Backslash': '\\u2216', 'Barv': '\\u2AE7', 'barvee': '\\u22BD', 'barwed': '\\u2305', 'Barwed': '\\u2306', 'barwedge': '\\u2305', 'bbrk': '\\u23B5', 'bbrktbrk': '\\u23B6', 'bcong': '\\u224C', 'bcy': '\\u0431', 'Bcy': '\\u0411', 'bdquo': '\\u201E', 'becaus': '\\u2235', 'because': '\\u2235', 'Because': '\\u2235', 'bemptyv': '\\u29B0', 'bepsi': '\\u03F6', 'bernou': '\\u212C', 'Bernoullis': '\\u212C', 'beta': '\\u03B2', 'Beta': '\\u0392', 'beth': '\\u2136', 'between': '\\u226C', 'bfr': '\\uD835\\uDD1F', 'Bfr': '\\uD835\\uDD05', 'bigcap': '\\u22C2', 'bigcirc': '\\u25EF', 'bigcup': '\\u22C3', 'bigodot': '\\u2A00', 'bigoplus': '\\u2A01', 'bigotimes': '\\u2A02', 'bigsqcup': '\\u2A06', 'bigstar': '\\u2605', 'bigtriangledown': '\\u25BD', 'bigtriangleup': '\\u25B3', 'biguplus': '\\u2A04', 'bigvee': '\\u22C1', 'bigwedge': '\\u22C0', 'bkarow': '\\u290D', 'blacklozenge': '\\u29EB', 'blacksquare': '\\u25AA', 'blacktriangle': '\\u25B4', 'blacktriangledown': '\\u25BE', 'blacktriangleleft': '\\u25C2', 'blacktriangleright': '\\u25B8', 'blank': '\\u2423', 'blk12': '\\u2592', 'blk14': '\\u2591', 'blk34': '\\u2593', 'block': '\\u2588', 'bne': '=\\u20E5', 'bnequiv': '\\u2261\\u20E5', 'bnot': '\\u2310', 'bNot': '\\u2AED', 'bopf': '\\uD835\\uDD53', 'Bopf': '\\uD835\\uDD39', 'bot': '\\u22A5', 'bottom': '\\u22A5', 'bowtie': '\\u22C8', 'boxbox': '\\u29C9', 'boxdl': '\\u2510', 'boxdL': '\\u2555', 'boxDl': '\\u2556', 'boxDL': '\\u2557', 'boxdr': '\\u250C', 'boxdR': '\\u2552', 'boxDr': '\\u2553', 'boxDR': '\\u2554', 'boxh': '\\u2500', 'boxH': '\\u2550', 'boxhd': '\\u252C', 'boxhD': '\\u2565', 'boxHd': '\\u2564', 'boxHD': '\\u2566', 'boxhu': '\\u2534', 'boxhU': '\\u2568', 'boxHu': '\\u2567', 'boxHU': '\\u2569', 'boxminus': '\\u229F', 'boxplus': '\\u229E', 'boxtimes': '\\u22A0', 'boxul': '\\u2518', 'boxuL': '\\u255B', 'boxUl': '\\u255C', 'boxUL': '\\u255D', 'boxur': '\\u2514', 'boxuR': '\\u2558', 'boxUr': '\\u2559', 'boxUR': '\\u255A', 'boxv': '\\u2502', 'boxV': '\\u2551', 'boxvh': '\\u253C', 'boxvH': '\\u256A', 'boxVh': '\\u256B', 'boxVH': '\\u256C', 'boxvl': '\\u2524', 'boxvL': '\\u2561', 'boxVl': '\\u2562', 'boxVL': '\\u2563', 'boxvr': '\\u251C', 'boxvR': '\\u255E', 'boxVr': '\\u255F', 'boxVR': '\\u2560', 'bprime': '\\u2035', 'breve': '\\u02D8', 'Breve': '\\u02D8', 'brvbar': '\\xA6', 'bscr': '\\uD835\\uDCB7', 'Bscr': '\\u212C', 'bsemi': '\\u204F', 'bsim': '\\u223D', 'bsime': '\\u22CD', 'bsol': '\\\\', 'bsolb': '\\u29C5', 'bsolhsub': '\\u27C8', 'bull': '\\u2022', 'bullet': '\\u2022', 'bump': '\\u224E', 'bumpe': '\\u224F', 'bumpE': '\\u2AAE', 'bumpeq': '\\u224F', 'Bumpeq': '\\u224E', 'cacute': '\\u0107', 'Cacute': '\\u0106', 'cap': '\\u2229', 'Cap': '\\u22D2', 'capand': '\\u2A44', 'capbrcup': '\\u2A49', 'capcap': '\\u2A4B', 'capcup': '\\u2A47', 'capdot': '\\u2A40', 'CapitalDifferentialD': '\\u2145', 'caps': '\\u2229\\uFE00', 'caret': '\\u2041', 'caron': '\\u02C7', 'Cayleys': '\\u212D', 'ccaps': '\\u2A4D', 'ccaron': '\\u010D', 'Ccaron': '\\u010C', 'ccedil': '\\xE7', 'Ccedil': '\\xC7', 'ccirc': '\\u0109', 'Ccirc': '\\u0108', 'Cconint': '\\u2230', 'ccups': '\\u2A4C', 'ccupssm': '\\u2A50', 'cdot': '\\u010B', 'Cdot': '\\u010A', 'cedil': '\\xB8', 'Cedilla': '\\xB8', 'cemptyv': '\\u29B2', 'cent': '\\xA2', 'centerdot': '\\xB7', 'CenterDot': '\\xB7', 'cfr': '\\uD835\\uDD20', 'Cfr': '\\u212D', 'chcy': '\\u0447', 'CHcy': '\\u0427', 'check': '\\u2713', 'checkmark': '\\u2713', 'chi': '\\u03C7', 'Chi': '\\u03A7', 'cir': '\\u25CB', 'circ': '\\u02C6', 'circeq': '\\u2257', 'circlearrowleft': '\\u21BA', 'circlearrowright': '\\u21BB', 'circledast': '\\u229B', 'circledcirc': '\\u229A', 'circleddash': '\\u229D', 'CircleDot': '\\u2299', 'circledR': '\\xAE', 'circledS': '\\u24C8', 'CircleMinus': '\\u2296', 'CirclePlus': '\\u2295', 'CircleTimes': '\\u2297', 'cire': '\\u2257', 'cirE': '\\u29C3', 'cirfnint': '\\u2A10', 'cirmid': '\\u2AEF', 'cirscir': '\\u29C2', 'ClockwiseContourIntegral': '\\u2232', 'CloseCurlyDoubleQuote': '\\u201D', 'CloseCurlyQuote': '\\u2019', 'clubs': '\\u2663', 'clubsuit': '\\u2663', 'colon': ':', 'Colon': '\\u2237', 'colone': '\\u2254', 'Colone': '\\u2A74', 'coloneq': '\\u2254', 'comma': ',', 'commat': '@', 'comp': '\\u2201', 'compfn': '\\u2218', 'complement': '\\u2201', 'complexes': '\\u2102', 'cong': '\\u2245', 'congdot': '\\u2A6D', 'Congruent': '\\u2261', 'conint': '\\u222E', 'Conint': '\\u222F', 'ContourIntegral': '\\u222E', 'copf': '\\uD835\\uDD54', 'Copf': '\\u2102', 'coprod': '\\u2210', 'Coproduct': '\\u2210', 'copy': '\\xA9', 'COPY': '\\xA9', 'copysr': '\\u2117', 'CounterClockwiseContourIntegral': '\\u2233', 'crarr': '\\u21B5', 'cross': '\\u2717', 'Cross': '\\u2A2F', 'cscr': '\\uD835\\uDCB8', 'Cscr': '\\uD835\\uDC9E', 'csub': '\\u2ACF', 'csube': '\\u2AD1', 'csup': '\\u2AD0', 'csupe': '\\u2AD2', 'ctdot': '\\u22EF', 'cudarrl': '\\u2938', 'cudarrr': '\\u2935', 'cuepr': '\\u22DE', 'cuesc': '\\u22DF', 'cularr': '\\u21B6', 'cularrp': '\\u293D', 'cup': '\\u222A', 'Cup': '\\u22D3', 'cupbrcap': '\\u2A48', 'cupcap': '\\u2A46', 'CupCap': '\\u224D', 'cupcup': '\\u2A4A', 'cupdot': '\\u228D', 'cupor': '\\u2A45', 'cups': '\\u222A\\uFE00', 'curarr': '\\u21B7', 'curarrm': '\\u293C', 'curlyeqprec': '\\u22DE', 'curlyeqsucc': '\\u22DF', 'curlyvee': '\\u22CE', 'curlywedge': '\\u22CF', 'curren': '\\xA4', 'curvearrowleft': '\\u21B6', 'curvearrowright': '\\u21B7', 'cuvee': '\\u22CE', 'cuwed': '\\u22CF', 'cwconint': '\\u2232', 'cwint': '\\u2231', 'cylcty': '\\u232D', 'dagger': '\\u2020', 'Dagger': '\\u2021', 'daleth': '\\u2138', 'darr': '\\u2193', 'dArr': '\\u21D3', 'Darr': '\\u21A1', 'dash': '\\u2010', 'dashv': '\\u22A3', 'Dashv': '\\u2AE4', 'dbkarow': '\\u290F', 'dblac': '\\u02DD', 'dcaron': '\\u010F', 'Dcaron': '\\u010E', 'dcy': '\\u0434', 'Dcy': '\\u0414', 'dd': '\\u2146', 'DD': '\\u2145', 'ddagger': '\\u2021', 'ddarr': '\\u21CA', 'DDotrahd': '\\u2911', 'ddotseq': '\\u2A77', 'deg': '\\xB0', 'Del': '\\u2207', 'delta': '\\u03B4', 'Delta': '\\u0394', 'demptyv': '\\u29B1', 'dfisht': '\\u297F', 'dfr': '\\uD835\\uDD21', 'Dfr': '\\uD835\\uDD07', 'dHar': '\\u2965', 'dharl': '\\u21C3', 'dharr': '\\u21C2', 'DiacriticalAcute': '\\xB4', 'DiacriticalDot': '\\u02D9', 'DiacriticalDoubleAcute': '\\u02DD', 'DiacriticalGrave': '`', 'DiacriticalTilde': '\\u02DC', 'diam': '\\u22C4', 'diamond': '\\u22C4', 'Diamond': '\\u22C4', 'diamondsuit': '\\u2666', 'diams': '\\u2666', 'die': '\\xA8', 'DifferentialD': '\\u2146', 'digamma': '\\u03DD', 'disin': '\\u22F2', 'div': '\\xF7', 'divide': '\\xF7', 'divideontimes': '\\u22C7', 'divonx': '\\u22C7', 'djcy': '\\u0452', 'DJcy': '\\u0402', 'dlcorn': '\\u231E', 'dlcrop': '\\u230D', 'dollar': '$', 'dopf': '\\uD835\\uDD55', 'Dopf': '\\uD835\\uDD3B', 'dot': '\\u02D9', 'Dot': '\\xA8', 'DotDot': '\\u20DC', 'doteq': '\\u2250', 'doteqdot': '\\u2251', 'DotEqual': '\\u2250', 'dotminus': '\\u2238', 'dotplus': '\\u2214', 'dotsquare': '\\u22A1', 'doublebarwedge': '\\u2306', 'DoubleContourIntegral': '\\u222F', 'DoubleDot': '\\xA8', 'DoubleDownArrow': '\\u21D3', 'DoubleLeftArrow': '\\u21D0', 'DoubleLeftRightArrow': '\\u21D4', 'DoubleLeftTee': '\\u2AE4', 'DoubleLongLeftArrow': '\\u27F8', 'DoubleLongLeftRightArrow': '\\u27FA', 'DoubleLongRightArrow': '\\u27F9', 'DoubleRightArrow': '\\u21D2', 'DoubleRightTee': '\\u22A8', 'DoubleUpArrow': '\\u21D1', 'DoubleUpDownArrow': '\\u21D5', 'DoubleVerticalBar': '\\u2225', 'downarrow': '\\u2193', 'Downarrow': '\\u21D3', 'DownArrow': '\\u2193', 'DownArrowBar': '\\u2913', 'DownArrowUpArrow': '\\u21F5', 'DownBreve': '\\u0311', 'downdownarrows': '\\u21CA', 'downharpoonleft': '\\u21C3', 'downharpoonright': '\\u21C2', 'DownLeftRightVector': '\\u2950', 'DownLeftTeeVector': '\\u295E', 'DownLeftVector': '\\u21BD', 'DownLeftVectorBar': '\\u2956', 'DownRightTeeVector': '\\u295F', 'DownRightVector': '\\u21C1', 'DownRightVectorBar': '\\u2957', 'DownTee': '\\u22A4', 'DownTeeArrow': '\\u21A7', 'drbkarow': '\\u2910', 'drcorn': '\\u231F', 'drcrop': '\\u230C', 'dscr': '\\uD835\\uDCB9', 'Dscr': '\\uD835\\uDC9F', 'dscy': '\\u0455', 'DScy': '\\u0405', 'dsol': '\\u29F6', 'dstrok': '\\u0111', 'Dstrok': '\\u0110', 'dtdot': '\\u22F1', 'dtri': '\\u25BF', 'dtrif': '\\u25BE', 'duarr': '\\u21F5', 'duhar': '\\u296F', 'dwangle': '\\u29A6', 'dzcy': '\\u045F', 'DZcy': '\\u040F', 'dzigrarr': '\\u27FF', 'eacute': '\\xE9', 'Eacute': '\\xC9', 'easter': '\\u2A6E', 'ecaron': '\\u011B', 'Ecaron': '\\u011A', 'ecir': '\\u2256', 'ecirc': '\\xEA', 'Ecirc': '\\xCA', 'ecolon': '\\u2255', 'ecy': '\\u044D', 'Ecy': '\\u042D', 'eDDot': '\\u2A77', 'edot': '\\u0117', 'eDot': '\\u2251', 'Edot': '\\u0116', 'ee': '\\u2147', 'efDot': '\\u2252', 'efr': '\\uD835\\uDD22', 'Efr': '\\uD835\\uDD08', 'eg': '\\u2A9A', 'egrave': '\\xE8', 'Egrave': '\\xC8', 'egs': '\\u2A96', 'egsdot': '\\u2A98', 'el': '\\u2A99', 'Element': '\\u2208', 'elinters': '\\u23E7', 'ell': '\\u2113', 'els': '\\u2A95', 'elsdot': '\\u2A97', 'emacr': '\\u0113', 'Emacr': '\\u0112', 'empty': '\\u2205', 'emptyset': '\\u2205', 'EmptySmallSquare': '\\u25FB', 'emptyv': '\\u2205', 'EmptyVerySmallSquare': '\\u25AB', 'emsp': '\\u2003', 'emsp13': '\\u2004', 'emsp14': '\\u2005', 'eng': '\\u014B', 'ENG': '\\u014A', 'ensp': '\\u2002', 'eogon': '\\u0119', 'Eogon': '\\u0118', 'eopf': '\\uD835\\uDD56', 'Eopf': '\\uD835\\uDD3C', 'epar': '\\u22D5', 'eparsl': '\\u29E3', 'eplus': '\\u2A71', 'epsi': '\\u03B5', 'epsilon': '\\u03B5', 'Epsilon': '\\u0395', 'epsiv': '\\u03F5', 'eqcirc': '\\u2256', 'eqcolon': '\\u2255', 'eqsim': '\\u2242', 'eqslantgtr': '\\u2A96', 'eqslantless': '\\u2A95', 'Equal': '\\u2A75', 'equals': '=', 'EqualTilde': '\\u2242', 'equest': '\\u225F', 'Equilibrium': '\\u21CC', 'equiv': '\\u2261', 'equivDD': '\\u2A78', 'eqvparsl': '\\u29E5', 'erarr': '\\u2971', 'erDot': '\\u2253', 'escr': '\\u212F', 'Escr': '\\u2130', 'esdot': '\\u2250', 'esim': '\\u2242', 'Esim': '\\u2A73', 'eta': '\\u03B7', 'Eta': '\\u0397', 'eth': '\\xF0', 'ETH': '\\xD0', 'euml': '\\xEB', 'Euml': '\\xCB', 'euro': '\\u20AC', 'excl': '!', 'exist': '\\u2203', 'Exists': '\\u2203', 'expectation': '\\u2130', 'exponentiale': '\\u2147', 'ExponentialE': '\\u2147', 'fallingdotseq': '\\u2252', 'fcy': '\\u0444', 'Fcy': '\\u0424', 'female': '\\u2640', 'ffilig': '\\uFB03', 'fflig': '\\uFB00', 'ffllig': '\\uFB04', 'ffr': '\\uD835\\uDD23', 'Ffr': '\\uD835\\uDD09', 'filig': '\\uFB01', 'FilledSmallSquare': '\\u25FC', 'FilledVerySmallSquare': '\\u25AA', 'fjlig': 'fj', 'flat': '\\u266D', 'fllig': '\\uFB02', 'fltns': '\\u25B1', 'fnof': '\\u0192', 'fopf': '\\uD835\\uDD57', 'Fopf': '\\uD835\\uDD3D', 'forall': '\\u2200', 'ForAll': '\\u2200', 'fork': '\\u22D4', 'forkv': '\\u2AD9', 'Fouriertrf': '\\u2131', 'fpartint': '\\u2A0D', 'frac12': '\\xBD', 'frac13': '\\u2153', 'frac14': '\\xBC', 'frac15': '\\u2155', 'frac16': '\\u2159', 'frac18': '\\u215B', 'frac23': '\\u2154', 'frac25': '\\u2156', 'frac34': '\\xBE', 'frac35': '\\u2157', 'frac38': '\\u215C', 'frac45': '\\u2158', 'frac56': '\\u215A', 'frac58': '\\u215D', 'frac78': '\\u215E', 'frasl': '\\u2044', 'frown': '\\u2322', 'fscr': '\\uD835\\uDCBB', 'Fscr': '\\u2131', 'gacute': '\\u01F5', 'gamma': '\\u03B3', 'Gamma': '\\u0393', 'gammad': '\\u03DD', 'Gammad': '\\u03DC', 'gap': '\\u2A86', 'gbreve': '\\u011F', 'Gbreve': '\\u011E', 'Gcedil': '\\u0122', 'gcirc': '\\u011D', 'Gcirc': '\\u011C', 'gcy': '\\u0433', 'Gcy': '\\u0413', 'gdot': '\\u0121', 'Gdot': '\\u0120', 'ge': '\\u2265', 'gE': '\\u2267', 'gel': '\\u22DB', 'gEl': '\\u2A8C', 'geq': '\\u2265', 'geqq': '\\u2267', 'geqslant': '\\u2A7E', 'ges': '\\u2A7E', 'gescc': '\\u2AA9', 'gesdot': '\\u2A80', 'gesdoto': '\\u2A82', 'gesdotol': '\\u2A84', 'gesl': '\\u22DB\\uFE00', 'gesles': '\\u2A94', 'gfr': '\\uD835\\uDD24', 'Gfr': '\\uD835\\uDD0A', 'gg': '\\u226B', 'Gg': '\\u22D9', 'ggg': '\\u22D9', 'gimel': '\\u2137', 'gjcy': '\\u0453', 'GJcy': '\\u0403', 'gl': '\\u2277', 'gla': '\\u2AA5', 'glE': '\\u2A92', 'glj': '\\u2AA4', 'gnap': '\\u2A8A', 'gnapprox': '\\u2A8A', 'gne': '\\u2A88', 'gnE': '\\u2269', 'gneq': '\\u2A88', 'gneqq': '\\u2269', 'gnsim': '\\u22E7', 'gopf': '\\uD835\\uDD58', 'Gopf': '\\uD835\\uDD3E', 'grave': '`', 'GreaterEqual': '\\u2265', 'GreaterEqualLess': '\\u22DB', 'GreaterFullEqual': '\\u2267', 'GreaterGreater': '\\u2AA2', 'GreaterLess': '\\u2277', 'GreaterSlantEqual': '\\u2A7E', 'GreaterTilde': '\\u2273', 'gscr': '\\u210A', 'Gscr': '\\uD835\\uDCA2', 'gsim': '\\u2273', 'gsime': '\\u2A8E', 'gsiml': '\\u2A90', 'gt': '>', 'Gt': '\\u226B', 'GT': '>', 'gtcc': '\\u2AA7', 'gtcir': '\\u2A7A', 'gtdot': '\\u22D7', 'gtlPar': '\\u2995', 'gtquest': '\\u2A7C', 'gtrapprox': '\\u2A86', 'gtrarr': '\\u2978', 'gtrdot': '\\u22D7', 'gtreqless': '\\u22DB', 'gtreqqless': '\\u2A8C', 'gtrless': '\\u2277', 'gtrsim': '\\u2273', 'gvertneqq': '\\u2269\\uFE00', 'gvnE': '\\u2269\\uFE00', 'Hacek': '\\u02C7', 'hairsp': '\\u200A', 'half': '\\xBD', 'hamilt': '\\u210B', 'hardcy': '\\u044A', 'HARDcy': '\\u042A', 'harr': '\\u2194', 'hArr': '\\u21D4', 'harrcir': '\\u2948', 'harrw': '\\u21AD', 'Hat': '^', 'hbar': '\\u210F', 'hcirc': '\\u0125', 'Hcirc': '\\u0124', 'hearts': '\\u2665', 'heartsuit': '\\u2665', 'hellip': '\\u2026', 'hercon': '\\u22B9', 'hfr': '\\uD835\\uDD25', 'Hfr': '\\u210C', 'HilbertSpace': '\\u210B', 'hksearow': '\\u2925', 'hkswarow': '\\u2926', 'hoarr': '\\u21FF', 'homtht': '\\u223B', 'hookleftarrow': '\\u21A9', 'hookrightarrow': '\\u21AA', 'hopf': '\\uD835\\uDD59', 'Hopf': '\\u210D', 'horbar': '\\u2015', 'HorizontalLine': '\\u2500', 'hscr': '\\uD835\\uDCBD', 'Hscr': '\\u210B', 'hslash': '\\u210F', 'hstrok': '\\u0127', 'Hstrok': '\\u0126', 'HumpDownHump': '\\u224E', 'HumpEqual': '\\u224F', 'hybull': '\\u2043', 'hyphen': '\\u2010', 'iacute': '\\xED', 'Iacute': '\\xCD', 'ic': '\\u2063', 'icirc': '\\xEE', 'Icirc': '\\xCE', 'icy': '\\u0438', 'Icy': '\\u0418', 'Idot': '\\u0130', 'iecy': '\\u0435', 'IEcy': '\\u0415', 'iexcl': '\\xA1', 'iff': '\\u21D4', 'ifr': '\\uD835\\uDD26', 'Ifr': '\\u2111', 'igrave': '\\xEC', 'Igrave': '\\xCC', 'ii': '\\u2148', 'iiiint': '\\u2A0C', 'iiint': '\\u222D', 'iinfin': '\\u29DC', 'iiota': '\\u2129', 'ijlig': '\\u0133', 'IJlig': '\\u0132', 'Im': '\\u2111', 'imacr': '\\u012B', 'Imacr': '\\u012A', 'image': '\\u2111', 'ImaginaryI': '\\u2148', 'imagline': '\\u2110', 'imagpart': '\\u2111', 'imath': '\\u0131', 'imof': '\\u22B7', 'imped': '\\u01B5', 'Implies': '\\u21D2', 'in': '\\u2208', 'incare': '\\u2105', 'infin': '\\u221E', 'infintie': '\\u29DD', 'inodot': '\\u0131', 'int': '\\u222B', 'Int': '\\u222C', 'intcal': '\\u22BA', 'integers': '\\u2124', 'Integral': '\\u222B', 'intercal': '\\u22BA', 'Intersection': '\\u22C2', 'intlarhk': '\\u2A17', 'intprod': '\\u2A3C', 'InvisibleComma': '\\u2063', 'InvisibleTimes': '\\u2062', 'iocy': '\\u0451', 'IOcy': '\\u0401', 'iogon': '\\u012F', 'Iogon': '\\u012E', 'iopf': '\\uD835\\uDD5A', 'Iopf': '\\uD835\\uDD40', 'iota': '\\u03B9', 'Iota': '\\u0399', 'iprod': '\\u2A3C', 'iquest': '\\xBF', 'iscr': '\\uD835\\uDCBE', 'Iscr': '\\u2110', 'isin': '\\u2208', 'isindot': '\\u22F5', 'isinE': '\\u22F9', 'isins': '\\u22F4', 'isinsv': '\\u22F3', 'isinv': '\\u2208', 'it': '\\u2062', 'itilde': '\\u0129', 'Itilde': '\\u0128', 'iukcy': '\\u0456', 'Iukcy': '\\u0406', 'iuml': '\\xEF', 'Iuml': '\\xCF', 'jcirc': '\\u0135', 'Jcirc': '\\u0134', 'jcy': '\\u0439', 'Jcy': '\\u0419', 'jfr': '\\uD835\\uDD27', 'Jfr': '\\uD835\\uDD0D', 'jmath': '\\u0237', 'jopf': '\\uD835\\uDD5B', 'Jopf': '\\uD835\\uDD41', 'jscr': '\\uD835\\uDCBF', 'Jscr': '\\uD835\\uDCA5', 'jsercy': '\\u0458', 'Jsercy': '\\u0408', 'jukcy': '\\u0454', 'Jukcy': '\\u0404', 'kappa': '\\u03BA', 'Kappa': '\\u039A', 'kappav': '\\u03F0', 'kcedil': '\\u0137', 'Kcedil': '\\u0136', 'kcy': '\\u043A', 'Kcy': '\\u041A', 'kfr': '\\uD835\\uDD28', 'Kfr': '\\uD835\\uDD0E', 'kgreen': '\\u0138', 'khcy': '\\u0445', 'KHcy': '\\u0425', 'kjcy': '\\u045C', 'KJcy': '\\u040C', 'kopf': '\\uD835\\uDD5C', 'Kopf': '\\uD835\\uDD42', 'kscr': '\\uD835\\uDCC0', 'Kscr': '\\uD835\\uDCA6', 'lAarr': '\\u21DA', 'lacute': '\\u013A', 'Lacute': '\\u0139', 'laemptyv': '\\u29B4', 'lagran': '\\u2112', 'lambda': '\\u03BB', 'Lambda': '\\u039B', 'lang': '\\u27E8', 'Lang': '\\u27EA', 'langd': '\\u2991', 'langle': '\\u27E8', 'lap': '\\u2A85', 'Laplacetrf': '\\u2112', 'laquo': '\\xAB', 'larr': '\\u2190', 'lArr': '\\u21D0', 'Larr': '\\u219E', 'larrb': '\\u21E4', 'larrbfs': '\\u291F', 'larrfs': '\\u291D', 'larrhk': '\\u21A9', 'larrlp': '\\u21AB', 'larrpl': '\\u2939', 'larrsim': '\\u2973', 'larrtl': '\\u21A2', 'lat': '\\u2AAB', 'latail': '\\u2919', 'lAtail': '\\u291B', 'late': '\\u2AAD', 'lates': '\\u2AAD\\uFE00', 'lbarr': '\\u290C', 'lBarr': '\\u290E', 'lbbrk': '\\u2772', 'lbrace': '{', 'lbrack': '[', 'lbrke': '\\u298B', 'lbrksld': '\\u298F', 'lbrkslu': '\\u298D', 'lcaron': '\\u013E', 'Lcaron': '\\u013D', 'lcedil': '\\u013C', 'Lcedil': '\\u013B', 'lceil': '\\u2308', 'lcub': '{', 'lcy': '\\u043B', 'Lcy': '\\u041B', 'ldca': '\\u2936', 'ldquo': '\\u201C', 'ldquor': '\\u201E', 'ldrdhar': '\\u2967', 'ldrushar': '\\u294B', 'ldsh': '\\u21B2', 'le': '\\u2264', 'lE': '\\u2266', 'LeftAngleBracket': '\\u27E8', 'leftarrow': '\\u2190', 'Leftarrow': '\\u21D0', 'LeftArrow': '\\u2190', 'LeftArrowBar': '\\u21E4', 'LeftArrowRightArrow': '\\u21C6', 'leftarrowtail': '\\u21A2', 'LeftCeiling': '\\u2308', 'LeftDoubleBracket': '\\u27E6', 'LeftDownTeeVector': '\\u2961', 'LeftDownVector': '\\u21C3', 'LeftDownVectorBar': '\\u2959', 'LeftFloor': '\\u230A', 'leftharpoondown': '\\u21BD', 'leftharpoonup': '\\u21BC', 'leftleftarrows': '\\u21C7', 'leftrightarrow': '\\u2194', 'Leftrightarrow': '\\u21D4', 'LeftRightArrow': '\\u2194', 'leftrightarrows': '\\u21C6', 'leftrightharpoons': '\\u21CB', 'leftrightsquigarrow': '\\u21AD', 'LeftRightVector': '\\u294E', 'LeftTee': '\\u22A3', 'LeftTeeArrow': '\\u21A4', 'LeftTeeVector': '\\u295A', 'leftthreetimes': '\\u22CB', 'LeftTriangle': '\\u22B2', 'LeftTriangleBar': '\\u29CF', 'LeftTriangleEqual': '\\u22B4', 'LeftUpDownVector': '\\u2951', 'LeftUpTeeVector': '\\u2960', 'LeftUpVector': '\\u21BF', 'LeftUpVectorBar': '\\u2958', 'LeftVector': '\\u21BC', 'LeftVectorBar': '\\u2952', 'leg': '\\u22DA', 'lEg': '\\u2A8B', 'leq': '\\u2264', 'leqq': '\\u2266', 'leqslant': '\\u2A7D', 'les': '\\u2A7D', 'lescc': '\\u2AA8', 'lesdot': '\\u2A7F', 'lesdoto': '\\u2A81', 'lesdotor': '\\u2A83', 'lesg': '\\u22DA\\uFE00', 'lesges': '\\u2A93', 'lessapprox': '\\u2A85', 'lessdot': '\\u22D6', 'lesseqgtr': '\\u22DA', 'lesseqqgtr': '\\u2A8B', 'LessEqualGreater': '\\u22DA', 'LessFullEqual': '\\u2266', 'LessGreater': '\\u2276', 'lessgtr': '\\u2276', 'LessLess': '\\u2AA1', 'lesssim': '\\u2272', 'LessSlantEqual': '\\u2A7D', 'LessTilde': '\\u2272', 'lfisht': '\\u297C', 'lfloor': '\\u230A', 'lfr': '\\uD835\\uDD29', 'Lfr': '\\uD835\\uDD0F', 'lg': '\\u2276', 'lgE': '\\u2A91', 'lHar': '\\u2962', 'lhard': '\\u21BD', 'lharu': '\\u21BC', 'lharul': '\\u296A', 'lhblk': '\\u2584', 'ljcy': '\\u0459', 'LJcy': '\\u0409', 'll': '\\u226A', 'Ll': '\\u22D8', 'llarr': '\\u21C7', 'llcorner': '\\u231E', 'Lleftarrow': '\\u21DA', 'llhard': '\\u296B', 'lltri': '\\u25FA', 'lmidot': '\\u0140', 'Lmidot': '\\u013F', 'lmoust': '\\u23B0', 'lmoustache': '\\u23B0', 'lnap': '\\u2A89', 'lnapprox': '\\u2A89', 'lne': '\\u2A87', 'lnE': '\\u2268', 'lneq': '\\u2A87', 'lneqq': '\\u2268', 'lnsim': '\\u22E6', 'loang': '\\u27EC', 'loarr': '\\u21FD', 'lobrk': '\\u27E6', 'longleftarrow': '\\u27F5', 'Longleftarrow': '\\u27F8', 'LongLeftArrow': '\\u27F5', 'longleftrightarrow': '\\u27F7', 'Longleftrightarrow': '\\u27FA', 'LongLeftRightArrow': '\\u27F7', 'longmapsto': '\\u27FC', 'longrightarrow': '\\u27F6', 'Longrightarrow': '\\u27F9', 'LongRightArrow': '\\u27F6', 'looparrowleft': '\\u21AB', 'looparrowright': '\\u21AC', 'lopar': '\\u2985', 'lopf': '\\uD835\\uDD5D', 'Lopf': '\\uD835\\uDD43', 'loplus': '\\u2A2D', 'lotimes': '\\u2A34', 'lowast': '\\u2217', 'lowbar': '_', 'LowerLeftArrow': '\\u2199', 'LowerRightArrow': '\\u2198', 'loz': '\\u25CA', 'lozenge': '\\u25CA', 'lozf': '\\u29EB', 'lpar': '(', 'lparlt': '\\u2993', 'lrarr': '\\u21C6', 'lrcorner': '\\u231F', 'lrhar': '\\u21CB', 'lrhard': '\\u296D', 'lrm': '\\u200E', 'lrtri': '\\u22BF', 'lsaquo': '\\u2039', 'lscr': '\\uD835\\uDCC1', 'Lscr': '\\u2112', 'lsh': '\\u21B0', 'Lsh': '\\u21B0', 'lsim': '\\u2272', 'lsime': '\\u2A8D', 'lsimg': '\\u2A8F', 'lsqb': '[', 'lsquo': '\\u2018', 'lsquor': '\\u201A', 'lstrok': '\\u0142', 'Lstrok': '\\u0141', 'lt': '<', 'Lt': '\\u226A', 'LT': '<', 'ltcc': '\\u2AA6', 'ltcir': '\\u2A79', 'ltdot': '\\u22D6', 'lthree': '\\u22CB', 'ltimes': '\\u22C9', 'ltlarr': '\\u2976', 'ltquest': '\\u2A7B', 'ltri': '\\u25C3', 'ltrie': '\\u22B4', 'ltrif': '\\u25C2', 'ltrPar': '\\u2996', 'lurdshar': '\\u294A', 'luruhar': '\\u2966', 'lvertneqq': '\\u2268\\uFE00', 'lvnE': '\\u2268\\uFE00', 'macr': '\\xAF', 'male': '\\u2642', 'malt': '\\u2720', 'maltese': '\\u2720', 'map': '\\u21A6', 'Map': '\\u2905', 'mapsto': '\\u21A6', 'mapstodown': '\\u21A7', 'mapstoleft': '\\u21A4', 'mapstoup': '\\u21A5', 'marker': '\\u25AE', 'mcomma': '\\u2A29', 'mcy': '\\u043C', 'Mcy': '\\u041C', 'mdash': '\\u2014', 'mDDot': '\\u223A', 'measuredangle': '\\u2221', 'MediumSpace': '\\u205F', 'Mellintrf': '\\u2133', 'mfr': '\\uD835\\uDD2A', 'Mfr': '\\uD835\\uDD10', 'mho': '\\u2127', 'micro': '\\xB5', 'mid': '\\u2223', 'midast': '*', 'midcir': '\\u2AF0', 'middot': '\\xB7', 'minus': '\\u2212', 'minusb': '\\u229F', 'minusd': '\\u2238', 'minusdu': '\\u2A2A', 'MinusPlus': '\\u2213', 'mlcp': '\\u2ADB', 'mldr': '\\u2026', 'mnplus': '\\u2213', 'models': '\\u22A7', 'mopf': '\\uD835\\uDD5E', 'Mopf': '\\uD835\\uDD44', 'mp': '\\u2213', 'mscr': '\\uD835\\uDCC2', 'Mscr': '\\u2133', 'mstpos': '\\u223E', 'mu': '\\u03BC', 'Mu': '\\u039C', 'multimap': '\\u22B8', 'mumap': '\\u22B8', 'nabla': '\\u2207', 'nacute': '\\u0144', 'Nacute': '\\u0143', 'nang': '\\u2220\\u20D2', 'nap': '\\u2249', 'napE': '\\u2A70\\u0338', 'napid': '\\u224B\\u0338', 'napos': '\\u0149', 'napprox': '\\u2249', 'natur': '\\u266E', 'natural': '\\u266E', 'naturals': '\\u2115', 'nbsp': '\\xA0', 'nbump': '\\u224E\\u0338', 'nbumpe': '\\u224F\\u0338', 'ncap': '\\u2A43', 'ncaron': '\\u0148', 'Ncaron': '\\u0147', 'ncedil': '\\u0146', 'Ncedil': '\\u0145', 'ncong': '\\u2247', 'ncongdot': '\\u2A6D\\u0338', 'ncup': '\\u2A42', 'ncy': '\\u043D', 'Ncy': '\\u041D', 'ndash': '\\u2013', 'ne': '\\u2260', 'nearhk': '\\u2924', 'nearr': '\\u2197', 'neArr': '\\u21D7', 'nearrow': '\\u2197', 'nedot': '\\u2250\\u0338', 'NegativeMediumSpace': '\\u200B', 'NegativeThickSpace': '\\u200B', 'NegativeThinSpace': '\\u200B', 'NegativeVeryThinSpace': '\\u200B', 'nequiv': '\\u2262', 'nesear': '\\u2928', 'nesim': '\\u2242\\u0338', 'NestedGreaterGreater': '\\u226B', 'NestedLessLess': '\\u226A', 'NewLine': '\\n', 'nexist': '\\u2204', 'nexists': '\\u2204', 'nfr': '\\uD835\\uDD2B', 'Nfr': '\\uD835\\uDD11', 'nge': '\\u2271', 'ngE': '\\u2267\\u0338', 'ngeq': '\\u2271', 'ngeqq': '\\u2267\\u0338', 'ngeqslant': '\\u2A7E\\u0338', 'nges': '\\u2A7E\\u0338', 'nGg': '\\u22D9\\u0338', 'ngsim': '\\u2275', 'ngt': '\\u226F', 'nGt': '\\u226B\\u20D2', 'ngtr': '\\u226F', 'nGtv': '\\u226B\\u0338', 'nharr': '\\u21AE', 'nhArr': '\\u21CE', 'nhpar': '\\u2AF2', 'ni': '\\u220B', 'nis': '\\u22FC', 'nisd': '\\u22FA', 'niv': '\\u220B', 'njcy': '\\u045A', 'NJcy': '\\u040A', 'nlarr': '\\u219A', 'nlArr': '\\u21CD', 'nldr': '\\u2025', 'nle': '\\u2270', 'nlE': '\\u2266\\u0338', 'nleftarrow': '\\u219A', 'nLeftarrow': '\\u21CD', 'nleftrightarrow': '\\u21AE', 'nLeftrightarrow': '\\u21CE', 'nleq': '\\u2270', 'nleqq': '\\u2266\\u0338', 'nleqslant': '\\u2A7D\\u0338', 'nles': '\\u2A7D\\u0338', 'nless': '\\u226E', 'nLl': '\\u22D8\\u0338', 'nlsim': '\\u2274', 'nlt': '\\u226E', 'nLt': '\\u226A\\u20D2', 'nltri': '\\u22EA', 'nltrie': '\\u22EC', 'nLtv': '\\u226A\\u0338', 'nmid': '\\u2224', 'NoBreak': '\\u2060', 'NonBreakingSpace': '\\xA0', 'nopf': '\\uD835\\uDD5F', 'Nopf': '\\u2115', 'not': '\\xAC', 'Not': '\\u2AEC', 'NotCongruent': '\\u2262', 'NotCupCap': '\\u226D', 'NotDoubleVerticalBar': '\\u2226', 'NotElement': '\\u2209', 'NotEqual': '\\u2260', 'NotEqualTilde': '\\u2242\\u0338', 'NotExists': '\\u2204', 'NotGreater': '\\u226F', 'NotGreaterEqual': '\\u2271', 'NotGreaterFullEqual': '\\u2267\\u0338', 'NotGreaterGreater': '\\u226B\\u0338', 'NotGreaterLess': '\\u2279', 'NotGreaterSlantEqual': '\\u2A7E\\u0338', 'NotGreaterTilde': '\\u2275', 'NotHumpDownHump': '\\u224E\\u0338', 'NotHumpEqual': '\\u224F\\u0338', 'notin': '\\u2209', 'notindot': '\\u22F5\\u0338', 'notinE': '\\u22F9\\u0338', 'notinva': '\\u2209', 'notinvb': '\\u22F7', 'notinvc': '\\u22F6', 'NotLeftTriangle': '\\u22EA', 'NotLeftTriangleBar': '\\u29CF\\u0338', 'NotLeftTriangleEqual': '\\u22EC', 'NotLess': '\\u226E', 'NotLessEqual': '\\u2270', 'NotLessGreater': '\\u2278', 'NotLessLess': '\\u226A\\u0338', 'NotLessSlantEqual': '\\u2A7D\\u0338', 'NotLessTilde': '\\u2274', 'NotNestedGreaterGreater': '\\u2AA2\\u0338', 'NotNestedLessLess': '\\u2AA1\\u0338', 'notni': '\\u220C', 'notniva': '\\u220C', 'notnivb': '\\u22FE', 'notnivc': '\\u22FD', 'NotPrecedes': '\\u2280', 'NotPrecedesEqual': '\\u2AAF\\u0338', 'NotPrecedesSlantEqual': '\\u22E0', 'NotReverseElement': '\\u220C', 'NotRightTriangle': '\\u22EB', 'NotRightTriangleBar': '\\u29D0\\u0338', 'NotRightTriangleEqual': '\\u22ED', 'NotSquareSubset': '\\u228F\\u0338', 'NotSquareSubsetEqual': '\\u22E2', 'NotSquareSuperset': '\\u2290\\u0338', 'NotSquareSupersetEqual': '\\u22E3', 'NotSubset': '\\u2282\\u20D2', 'NotSubsetEqual': '\\u2288', 'NotSucceeds': '\\u2281', 'NotSucceedsEqual': '\\u2AB0\\u0338', 'NotSucceedsSlantEqual': '\\u22E1', 'NotSucceedsTilde': '\\u227F\\u0338', 'NotSuperset': '\\u2283\\u20D2', 'NotSupersetEqual': '\\u2289', 'NotTilde': '\\u2241', 'NotTildeEqual': '\\u2244', 'NotTildeFullEqual': '\\u2247', 'NotTildeTilde': '\\u2249', 'NotVerticalBar': '\\u2224', 'npar': '\\u2226', 'nparallel': '\\u2226', 'nparsl': '\\u2AFD\\u20E5', 'npart': '\\u2202\\u0338', 'npolint': '\\u2A14', 'npr': '\\u2280', 'nprcue': '\\u22E0', 'npre': '\\u2AAF\\u0338', 'nprec': '\\u2280', 'npreceq': '\\u2AAF\\u0338', 'nrarr': '\\u219B', 'nrArr': '\\u21CF', 'nrarrc': '\\u2933\\u0338', 'nrarrw': '\\u219D\\u0338', 'nrightarrow': '\\u219B', 'nRightarrow': '\\u21CF', 'nrtri': '\\u22EB', 'nrtrie': '\\u22ED', 'nsc': '\\u2281', 'nsccue': '\\u22E1', 'nsce': '\\u2AB0\\u0338', 'nscr': '\\uD835\\uDCC3', 'Nscr': '\\uD835\\uDCA9', 'nshortmid': '\\u2224', 'nshortparallel': '\\u2226', 'nsim': '\\u2241', 'nsime': '\\u2244', 'nsimeq': '\\u2244', 'nsmid': '\\u2224', 'nspar': '\\u2226', 'nsqsube': '\\u22E2', 'nsqsupe': '\\u22E3', 'nsub': '\\u2284', 'nsube': '\\u2288', 'nsubE': '\\u2AC5\\u0338', 'nsubset': '\\u2282\\u20D2', 'nsubseteq': '\\u2288', 'nsubseteqq': '\\u2AC5\\u0338', 'nsucc': '\\u2281', 'nsucceq': '\\u2AB0\\u0338', 'nsup': '\\u2285', 'nsupe': '\\u2289', 'nsupE': '\\u2AC6\\u0338', 'nsupset': '\\u2283\\u20D2', 'nsupseteq': '\\u2289', 'nsupseteqq': '\\u2AC6\\u0338', 'ntgl': '\\u2279', 'ntilde': '\\xF1', 'Ntilde': '\\xD1', 'ntlg': '\\u2278', 'ntriangleleft': '\\u22EA', 'ntrianglelefteq': '\\u22EC', 'ntriangleright': '\\u22EB', 'ntrianglerighteq': '\\u22ED', 'nu': '\\u03BD', 'Nu': '\\u039D', 'num': '#', 'numero': '\\u2116', 'numsp': '\\u2007', 'nvap': '\\u224D\\u20D2', 'nvdash': '\\u22AC', 'nvDash': '\\u22AD', 'nVdash': '\\u22AE', 'nVDash': '\\u22AF', 'nvge': '\\u2265\\u20D2', 'nvgt': '>\\u20D2', 'nvHarr': '\\u2904', 'nvinfin': '\\u29DE', 'nvlArr': '\\u2902', 'nvle': '\\u2264\\u20D2', 'nvlt': '<\\u20D2', 'nvltrie': '\\u22B4\\u20D2', 'nvrArr': '\\u2903', 'nvrtrie': '\\u22B5\\u20D2', 'nvsim': '\\u223C\\u20D2', 'nwarhk': '\\u2923', 'nwarr': '\\u2196', 'nwArr': '\\u21D6', 'nwarrow': '\\u2196', 'nwnear': '\\u2927', 'oacute': '\\xF3', 'Oacute': '\\xD3', 'oast': '\\u229B', 'ocir': '\\u229A', 'ocirc': '\\xF4', 'Ocirc': '\\xD4', 'ocy': '\\u043E', 'Ocy': '\\u041E', 'odash': '\\u229D', 'odblac': '\\u0151', 'Odblac': '\\u0150', 'odiv': '\\u2A38', 'odot': '\\u2299', 'odsold': '\\u29BC', 'oelig': '\\u0153', 'OElig': '\\u0152', 'ofcir': '\\u29BF', 'ofr': '\\uD835\\uDD2C', 'Ofr': '\\uD835\\uDD12', 'ogon': '\\u02DB', 'ograve': '\\xF2', 'Ograve': '\\xD2', 'ogt': '\\u29C1', 'ohbar': '\\u29B5', 'ohm': '\\u03A9', 'oint': '\\u222E', 'olarr': '\\u21BA', 'olcir': '\\u29BE', 'olcross': '\\u29BB', 'oline': '\\u203E', 'olt': '\\u29C0', 'omacr': '\\u014D', 'Omacr': '\\u014C', 'omega': '\\u03C9', 'Omega': '\\u03A9', 'omicron': '\\u03BF', 'Omicron': '\\u039F', 'omid': '\\u29B6', 'ominus': '\\u2296', 'oopf': '\\uD835\\uDD60', 'Oopf': '\\uD835\\uDD46', 'opar': '\\u29B7', 'OpenCurlyDoubleQuote': '\\u201C', 'OpenCurlyQuote': '\\u2018', 'operp': '\\u29B9', 'oplus': '\\u2295', 'or': '\\u2228', 'Or': '\\u2A54', 'orarr': '\\u21BB', 'ord': '\\u2A5D', 'order': '\\u2134', 'orderof': '\\u2134', 'ordf': '\\xAA', 'ordm': '\\xBA', 'origof': '\\u22B6', 'oror': '\\u2A56', 'orslope': '\\u2A57', 'orv': '\\u2A5B', 'oS': '\\u24C8', 'oscr': '\\u2134', 'Oscr': '\\uD835\\uDCAA', 'oslash': '\\xF8', 'Oslash': '\\xD8', 'osol': '\\u2298', 'otilde': '\\xF5', 'Otilde': '\\xD5', 'otimes': '\\u2297', 'Otimes': '\\u2A37', 'otimesas': '\\u2A36', 'ouml': '\\xF6', 'Ouml': '\\xD6', 'ovbar': '\\u233D', 'OverBar': '\\u203E', 'OverBrace': '\\u23DE', 'OverBracket': '\\u23B4', 'OverParenthesis': '\\u23DC', 'par': '\\u2225', 'para': '\\xB6', 'parallel': '\\u2225', 'parsim': '\\u2AF3', 'parsl': '\\u2AFD', 'part': '\\u2202', 'PartialD': '\\u2202', 'pcy': '\\u043F', 'Pcy': '\\u041F', 'percnt': '%', 'period': '.', 'permil': '\\u2030', 'perp': '\\u22A5', 'pertenk': '\\u2031', 'pfr': '\\uD835\\uDD2D', 'Pfr': '\\uD835\\uDD13', 'phi': '\\u03C6', 'Phi': '\\u03A6', 'phiv': '\\u03D5', 'phmmat': '\\u2133', 'phone': '\\u260E', 'pi': '\\u03C0', 'Pi': '\\u03A0', 'pitchfork': '\\u22D4', 'piv': '\\u03D6', 'planck': '\\u210F', 'planckh': '\\u210E', 'plankv': '\\u210F', 'plus': '+', 'plusacir': '\\u2A23', 'plusb': '\\u229E', 'pluscir': '\\u2A22', 'plusdo': '\\u2214', 'plusdu': '\\u2A25', 'pluse': '\\u2A72', 'PlusMinus': '\\xB1', 'plusmn': '\\xB1', 'plussim': '\\u2A26', 'plustwo': '\\u2A27', 'pm': '\\xB1', 'Poincareplane': '\\u210C', 'pointint': '\\u2A15', 'popf': '\\uD835\\uDD61', 'Popf': '\\u2119', 'pound': '\\xA3', 'pr': '\\u227A', 'Pr': '\\u2ABB', 'prap': '\\u2AB7', 'prcue': '\\u227C', 'pre': '\\u2AAF', 'prE': '\\u2AB3', 'prec': '\\u227A', 'precapprox': '\\u2AB7', 'preccurlyeq': '\\u227C', 'Precedes': '\\u227A', 'PrecedesEqual': '\\u2AAF', 'PrecedesSlantEqual': '\\u227C', 'PrecedesTilde': '\\u227E', 'preceq': '\\u2AAF', 'precnapprox': '\\u2AB9', 'precneqq': '\\u2AB5', 'precnsim': '\\u22E8', 'precsim': '\\u227E', 'prime': '\\u2032', 'Prime': '\\u2033', 'primes': '\\u2119', 'prnap': '\\u2AB9', 'prnE': '\\u2AB5', 'prnsim': '\\u22E8', 'prod': '\\u220F', 'Product': '\\u220F', 'profalar': '\\u232E', 'profline': '\\u2312', 'profsurf': '\\u2313', 'prop': '\\u221D', 'Proportion': '\\u2237', 'Proportional': '\\u221D', 'propto': '\\u221D', 'prsim': '\\u227E', 'prurel': '\\u22B0', 'pscr': '\\uD835\\uDCC5', 'Pscr': '\\uD835\\uDCAB', 'psi': '\\u03C8', 'Psi': '\\u03A8', 'puncsp': '\\u2008', 'qfr': '\\uD835\\uDD2E', 'Qfr': '\\uD835\\uDD14', 'qint': '\\u2A0C', 'qopf': '\\uD835\\uDD62', 'Qopf': '\\u211A', 'qprime': '\\u2057', 'qscr': '\\uD835\\uDCC6', 'Qscr': '\\uD835\\uDCAC', 'quaternions': '\\u210D', 'quatint': '\\u2A16', 'quest': '?', 'questeq': '\\u225F', 'quot': '\"', 'QUOT': '\"', 'rAarr': '\\u21DB', 'race': '\\u223D\\u0331', 'racute': '\\u0155', 'Racute': '\\u0154', 'radic': '\\u221A', 'raemptyv': '\\u29B3', 'rang': '\\u27E9', 'Rang': '\\u27EB', 'rangd': '\\u2992', 'range': '\\u29A5', 'rangle': '\\u27E9', 'raquo': '\\xBB', 'rarr': '\\u2192', 'rArr': '\\u21D2', 'Rarr': '\\u21A0', 'rarrap': '\\u2975', 'rarrb': '\\u21E5', 'rarrbfs': '\\u2920', 'rarrc': '\\u2933', 'rarrfs': '\\u291E', 'rarrhk': '\\u21AA', 'rarrlp': '\\u21AC', 'rarrpl': '\\u2945', 'rarrsim': '\\u2974', 'rarrtl': '\\u21A3', 'Rarrtl': '\\u2916', 'rarrw': '\\u219D', 'ratail': '\\u291A', 'rAtail': '\\u291C', 'ratio': '\\u2236', 'rationals': '\\u211A', 'rbarr': '\\u290D', 'rBarr': '\\u290F', 'RBarr': '\\u2910', 'rbbrk': '\\u2773', 'rbrace': '}', 'rbrack': ']', 'rbrke': '\\u298C', 'rbrksld': '\\u298E', 'rbrkslu': '\\u2990', 'rcaron': '\\u0159', 'Rcaron': '\\u0158', 'rcedil': '\\u0157', 'Rcedil': '\\u0156', 'rceil': '\\u2309', 'rcub': '}', 'rcy': '\\u0440', 'Rcy': '\\u0420', 'rdca': '\\u2937', 'rdldhar': '\\u2969', 'rdquo': '\\u201D', 'rdquor': '\\u201D', 'rdsh': '\\u21B3', 'Re': '\\u211C', 'real': '\\u211C', 'realine': '\\u211B', 'realpart': '\\u211C', 'reals': '\\u211D', 'rect': '\\u25AD', 'reg': '\\xAE', 'REG': '\\xAE', 'ReverseElement': '\\u220B', 'ReverseEquilibrium': '\\u21CB', 'ReverseUpEquilibrium': '\\u296F', 'rfisht': '\\u297D', 'rfloor': '\\u230B', 'rfr': '\\uD835\\uDD2F', 'Rfr': '\\u211C', 'rHar': '\\u2964', 'rhard': '\\u21C1', 'rharu': '\\u21C0', 'rharul': '\\u296C', 'rho': '\\u03C1', 'Rho': '\\u03A1', 'rhov': '\\u03F1', 'RightAngleBracket': '\\u27E9', 'rightarrow': '\\u2192', 'Rightarrow': '\\u21D2', 'RightArrow': '\\u2192', 'RightArrowBar': '\\u21E5', 'RightArrowLeftArrow': '\\u21C4', 'rightarrowtail': '\\u21A3', 'RightCeiling': '\\u2309', 'RightDoubleBracket': '\\u27E7', 'RightDownTeeVector': '\\u295D', 'RightDownVector': '\\u21C2', 'RightDownVectorBar': '\\u2955', 'RightFloor': '\\u230B', 'rightharpoondown': '\\u21C1', 'rightharpoonup': '\\u21C0', 'rightleftarrows': '\\u21C4', 'rightleftharpoons': '\\u21CC', 'rightrightarrows': '\\u21C9', 'rightsquigarrow': '\\u219D', 'RightTee': '\\u22A2', 'RightTeeArrow': '\\u21A6', 'RightTeeVector': '\\u295B', 'rightthreetimes': '\\u22CC', 'RightTriangle': '\\u22B3', 'RightTriangleBar': '\\u29D0', 'RightTriangleEqual': '\\u22B5', 'RightUpDownVector': '\\u294F', 'RightUpTeeVector': '\\u295C', 'RightUpVector': '\\u21BE', 'RightUpVectorBar': '\\u2954', 'RightVector': '\\u21C0', 'RightVectorBar': '\\u2953', 'ring': '\\u02DA', 'risingdotseq': '\\u2253', 'rlarr': '\\u21C4', 'rlhar': '\\u21CC', 'rlm': '\\u200F', 'rmoust': '\\u23B1', 'rmoustache': '\\u23B1', 'rnmid': '\\u2AEE', 'roang': '\\u27ED', 'roarr': '\\u21FE', 'robrk': '\\u27E7', 'ropar': '\\u2986', 'ropf': '\\uD835\\uDD63', 'Ropf': '\\u211D', 'roplus': '\\u2A2E', 'rotimes': '\\u2A35', 'RoundImplies': '\\u2970', 'rpar': ')', 'rpargt': '\\u2994', 'rppolint': '\\u2A12', 'rrarr': '\\u21C9', 'Rrightarrow': '\\u21DB', 'rsaquo': '\\u203A', 'rscr': '\\uD835\\uDCC7', 'Rscr': '\\u211B', 'rsh': '\\u21B1', 'Rsh': '\\u21B1', 'rsqb': ']', 'rsquo': '\\u2019', 'rsquor': '\\u2019', 'rthree': '\\u22CC', 'rtimes': '\\u22CA', 'rtri': '\\u25B9', 'rtrie': '\\u22B5', 'rtrif': '\\u25B8', 'rtriltri': '\\u29CE', 'RuleDelayed': '\\u29F4', 'ruluhar': '\\u2968', 'rx': '\\u211E', 'sacute': '\\u015B', 'Sacute': '\\u015A', 'sbquo': '\\u201A', 'sc': '\\u227B', 'Sc': '\\u2ABC', 'scap': '\\u2AB8', 'scaron': '\\u0161', 'Scaron': '\\u0160', 'sccue': '\\u227D', 'sce': '\\u2AB0', 'scE': '\\u2AB4', 'scedil': '\\u015F', 'Scedil': '\\u015E', 'scirc': '\\u015D', 'Scirc': '\\u015C', 'scnap': '\\u2ABA', 'scnE': '\\u2AB6', 'scnsim': '\\u22E9', 'scpolint': '\\u2A13', 'scsim': '\\u227F', 'scy': '\\u0441', 'Scy': '\\u0421', 'sdot': '\\u22C5', 'sdotb': '\\u22A1', 'sdote': '\\u2A66', 'searhk': '\\u2925', 'searr': '\\u2198', 'seArr': '\\u21D8', 'searrow': '\\u2198', 'sect': '\\xA7', 'semi': ';', 'seswar': '\\u2929', 'setminus': '\\u2216', 'setmn': '\\u2216', 'sext': '\\u2736', 'sfr': '\\uD835\\uDD30', 'Sfr': '\\uD835\\uDD16', 'sfrown': '\\u2322', 'sharp': '\\u266F', 'shchcy': '\\u0449', 'SHCHcy': '\\u0429', 'shcy': '\\u0448', 'SHcy': '\\u0428', 'ShortDownArrow': '\\u2193', 'ShortLeftArrow': '\\u2190', 'shortmid': '\\u2223', 'shortparallel': '\\u2225', 'ShortRightArrow': '\\u2192', 'ShortUpArrow': '\\u2191', 'shy': '\\xAD', 'sigma': '\\u03C3', 'Sigma': '\\u03A3', 'sigmaf': '\\u03C2', 'sigmav': '\\u03C2', 'sim': '\\u223C', 'simdot': '\\u2A6A', 'sime': '\\u2243', 'simeq': '\\u2243', 'simg': '\\u2A9E', 'simgE': '\\u2AA0', 'siml': '\\u2A9D', 'simlE': '\\u2A9F', 'simne': '\\u2246', 'simplus': '\\u2A24', 'simrarr': '\\u2972', 'slarr': '\\u2190', 'SmallCircle': '\\u2218', 'smallsetminus': '\\u2216', 'smashp': '\\u2A33', 'smeparsl': '\\u29E4', 'smid': '\\u2223', 'smile': '\\u2323', 'smt': '\\u2AAA', 'smte': '\\u2AAC', 'smtes': '\\u2AAC\\uFE00', 'softcy': '\\u044C', 'SOFTcy': '\\u042C', 'sol': '/', 'solb': '\\u29C4', 'solbar': '\\u233F', 'sopf': '\\uD835\\uDD64', 'Sopf': '\\uD835\\uDD4A', 'spades': '\\u2660', 'spadesuit': '\\u2660', 'spar': '\\u2225', 'sqcap': '\\u2293', 'sqcaps': '\\u2293\\uFE00', 'sqcup': '\\u2294', 'sqcups': '\\u2294\\uFE00', 'Sqrt': '\\u221A', 'sqsub': '\\u228F', 'sqsube': '\\u2291', 'sqsubset': '\\u228F', 'sqsubseteq': '\\u2291', 'sqsup': '\\u2290', 'sqsupe': '\\u2292', 'sqsupset': '\\u2290', 'sqsupseteq': '\\u2292', 'squ': '\\u25A1', 'square': '\\u25A1', 'Square': '\\u25A1', 'SquareIntersection': '\\u2293', 'SquareSubset': '\\u228F', 'SquareSubsetEqual': '\\u2291', 'SquareSuperset': '\\u2290', 'SquareSupersetEqual': '\\u2292', 'SquareUnion': '\\u2294', 'squarf': '\\u25AA', 'squf': '\\u25AA', 'srarr': '\\u2192', 'sscr': '\\uD835\\uDCC8', 'Sscr': '\\uD835\\uDCAE', 'ssetmn': '\\u2216', 'ssmile': '\\u2323', 'sstarf': '\\u22C6', 'star': '\\u2606', 'Star': '\\u22C6', 'starf': '\\u2605', 'straightepsilon': '\\u03F5', 'straightphi': '\\u03D5', 'strns': '\\xAF', 'sub': '\\u2282', 'Sub': '\\u22D0', 'subdot': '\\u2ABD', 'sube': '\\u2286', 'subE': '\\u2AC5', 'subedot': '\\u2AC3', 'submult': '\\u2AC1', 'subne': '\\u228A', 'subnE': '\\u2ACB', 'subplus': '\\u2ABF', 'subrarr': '\\u2979', 'subset': '\\u2282', 'Subset': '\\u22D0', 'subseteq': '\\u2286', 'subseteqq': '\\u2AC5', 'SubsetEqual': '\\u2286', 'subsetneq': '\\u228A', 'subsetneqq': '\\u2ACB', 'subsim': '\\u2AC7', 'subsub': '\\u2AD5', 'subsup': '\\u2AD3', 'succ': '\\u227B', 'succapprox': '\\u2AB8', 'succcurlyeq': '\\u227D', 'Succeeds': '\\u227B', 'SucceedsEqual': '\\u2AB0', 'SucceedsSlantEqual': '\\u227D', 'SucceedsTilde': '\\u227F', 'succeq': '\\u2AB0', 'succnapprox': '\\u2ABA', 'succneqq': '\\u2AB6', 'succnsim': '\\u22E9', 'succsim': '\\u227F', 'SuchThat': '\\u220B', 'sum': '\\u2211', 'Sum': '\\u2211', 'sung': '\\u266A', 'sup': '\\u2283', 'Sup': '\\u22D1', 'sup1': '\\xB9', 'sup2': '\\xB2', 'sup3': '\\xB3', 'supdot': '\\u2ABE', 'supdsub': '\\u2AD8', 'supe': '\\u2287', 'supE': '\\u2AC6', 'supedot': '\\u2AC4', 'Superset': '\\u2283', 'SupersetEqual': '\\u2287', 'suphsol': '\\u27C9', 'suphsub': '\\u2AD7', 'suplarr': '\\u297B', 'supmult': '\\u2AC2', 'supne': '\\u228B', 'supnE': '\\u2ACC', 'supplus': '\\u2AC0', 'supset': '\\u2283', 'Supset': '\\u22D1', 'supseteq': '\\u2287', 'supseteqq': '\\u2AC6', 'supsetneq': '\\u228B', 'supsetneqq': '\\u2ACC', 'supsim': '\\u2AC8', 'supsub': '\\u2AD4', 'supsup': '\\u2AD6', 'swarhk': '\\u2926', 'swarr': '\\u2199', 'swArr': '\\u21D9', 'swarrow': '\\u2199', 'swnwar': '\\u292A', 'szlig': '\\xDF', 'Tab': '\\t', 'target': '\\u2316', 'tau': '\\u03C4', 'Tau': '\\u03A4', 'tbrk': '\\u23B4', 'tcaron': '\\u0165', 'Tcaron': '\\u0164', 'tcedil': '\\u0163', 'Tcedil': '\\u0162', 'tcy': '\\u0442', 'Tcy': '\\u0422', 'tdot': '\\u20DB', 'telrec': '\\u2315', 'tfr': '\\uD835\\uDD31', 'Tfr': '\\uD835\\uDD17', 'there4': '\\u2234', 'therefore': '\\u2234', 'Therefore': '\\u2234', 'theta': '\\u03B8', 'Theta': '\\u0398', 'thetasym': '\\u03D1', 'thetav': '\\u03D1', 'thickapprox': '\\u2248', 'thicksim': '\\u223C', 'ThickSpace': '\\u205F\\u200A', 'thinsp': '\\u2009', 'ThinSpace': '\\u2009', 'thkap': '\\u2248', 'thksim': '\\u223C', 'thorn': '\\xFE', 'THORN': '\\xDE', 'tilde': '\\u02DC', 'Tilde': '\\u223C', 'TildeEqual': '\\u2243', 'TildeFullEqual': '\\u2245', 'TildeTilde': '\\u2248', 'times': '\\xD7', 'timesb': '\\u22A0', 'timesbar': '\\u2A31', 'timesd': '\\u2A30', 'tint': '\\u222D', 'toea': '\\u2928', 'top': '\\u22A4', 'topbot': '\\u2336', 'topcir': '\\u2AF1', 'topf': '\\uD835\\uDD65', 'Topf': '\\uD835\\uDD4B', 'topfork': '\\u2ADA', 'tosa': '\\u2929', 'tprime': '\\u2034', 'trade': '\\u2122', 'TRADE': '\\u2122', 'triangle': '\\u25B5', 'triangledown': '\\u25BF', 'triangleleft': '\\u25C3', 'trianglelefteq': '\\u22B4', 'triangleq': '\\u225C', 'triangleright': '\\u25B9', 'trianglerighteq': '\\u22B5', 'tridot': '\\u25EC', 'trie': '\\u225C', 'triminus': '\\u2A3A', 'TripleDot': '\\u20DB', 'triplus': '\\u2A39', 'trisb': '\\u29CD', 'tritime': '\\u2A3B', 'trpezium': '\\u23E2', 'tscr': '\\uD835\\uDCC9', 'Tscr': '\\uD835\\uDCAF', 'tscy': '\\u0446', 'TScy': '\\u0426', 'tshcy': '\\u045B', 'TSHcy': '\\u040B', 'tstrok': '\\u0167', 'Tstrok': '\\u0166', 'twixt': '\\u226C', 'twoheadleftarrow': '\\u219E', 'twoheadrightarrow': '\\u21A0', 'uacute': '\\xFA', 'Uacute': '\\xDA', 'uarr': '\\u2191', 'uArr': '\\u21D1', 'Uarr': '\\u219F', 'Uarrocir': '\\u2949', 'ubrcy': '\\u045E', 'Ubrcy': '\\u040E', 'ubreve': '\\u016D', 'Ubreve': '\\u016C', 'ucirc': '\\xFB', 'Ucirc': '\\xDB', 'ucy': '\\u0443', 'Ucy': '\\u0423', 'udarr': '\\u21C5', 'udblac': '\\u0171', 'Udblac': '\\u0170', 'udhar': '\\u296E', 'ufisht': '\\u297E', 'ufr': '\\uD835\\uDD32', 'Ufr': '\\uD835\\uDD18', 'ugrave': '\\xF9', 'Ugrave': '\\xD9', 'uHar': '\\u2963', 'uharl': '\\u21BF', 'uharr': '\\u21BE', 'uhblk': '\\u2580', 'ulcorn': '\\u231C', 'ulcorner': '\\u231C', 'ulcrop': '\\u230F', 'ultri': '\\u25F8', 'umacr': '\\u016B', 'Umacr': '\\u016A', 'uml': '\\xA8', 'UnderBar': '_', 'UnderBrace': '\\u23DF', 'UnderBracket': '\\u23B5', 'UnderParenthesis': '\\u23DD', 'Union': '\\u22C3', 'UnionPlus': '\\u228E', 'uogon': '\\u0173', 'Uogon': '\\u0172', 'uopf': '\\uD835\\uDD66', 'Uopf': '\\uD835\\uDD4C', 'uparrow': '\\u2191', 'Uparrow': '\\u21D1', 'UpArrow': '\\u2191', 'UpArrowBar': '\\u2912', 'UpArrowDownArrow': '\\u21C5', 'updownarrow': '\\u2195', 'Updownarrow': '\\u21D5', 'UpDownArrow': '\\u2195', 'UpEquilibrium': '\\u296E', 'upharpoonleft': '\\u21BF', 'upharpoonright': '\\u21BE', 'uplus': '\\u228E', 'UpperLeftArrow': '\\u2196', 'UpperRightArrow': '\\u2197', 'upsi': '\\u03C5', 'Upsi': '\\u03D2', 'upsih': '\\u03D2', 'upsilon': '\\u03C5', 'Upsilon': '\\u03A5', 'UpTee': '\\u22A5', 'UpTeeArrow': '\\u21A5', 'upuparrows': '\\u21C8', 'urcorn': '\\u231D', 'urcorner': '\\u231D', 'urcrop': '\\u230E', 'uring': '\\u016F', 'Uring': '\\u016E', 'urtri': '\\u25F9', 'uscr': '\\uD835\\uDCCA', 'Uscr': '\\uD835\\uDCB0', 'utdot': '\\u22F0', 'utilde': '\\u0169', 'Utilde': '\\u0168', 'utri': '\\u25B5', 'utrif': '\\u25B4', 'uuarr': '\\u21C8', 'uuml': '\\xFC', 'Uuml': '\\xDC', 'uwangle': '\\u29A7', 'vangrt': '\\u299C', 'varepsilon': '\\u03F5', 'varkappa': '\\u03F0', 'varnothing': '\\u2205', 'varphi': '\\u03D5', 'varpi': '\\u03D6', 'varpropto': '\\u221D', 'varr': '\\u2195', 'vArr': '\\u21D5', 'varrho': '\\u03F1', 'varsigma': '\\u03C2', 'varsubsetneq': '\\u228A\\uFE00', 'varsubsetneqq': '\\u2ACB\\uFE00', 'varsupsetneq': '\\u228B\\uFE00', 'varsupsetneqq': '\\u2ACC\\uFE00', 'vartheta': '\\u03D1', 'vartriangleleft': '\\u22B2', 'vartriangleright': '\\u22B3', 'vBar': '\\u2AE8', 'Vbar': '\\u2AEB', 'vBarv': '\\u2AE9', 'vcy': '\\u0432', 'Vcy': '\\u0412', 'vdash': '\\u22A2', 'vDash': '\\u22A8', 'Vdash': '\\u22A9', 'VDash': '\\u22AB', 'Vdashl': '\\u2AE6', 'vee': '\\u2228', 'Vee': '\\u22C1', 'veebar': '\\u22BB', 'veeeq': '\\u225A', 'vellip': '\\u22EE', 'verbar': '|', 'Verbar': '\\u2016', 'vert': '|', 'Vert': '\\u2016', 'VerticalBar': '\\u2223', 'VerticalLine': '|', 'VerticalSeparator': '\\u2758', 'VerticalTilde': '\\u2240', 'VeryThinSpace': '\\u200A', 'vfr': '\\uD835\\uDD33', 'Vfr': '\\uD835\\uDD19', 'vltri': '\\u22B2', 'vnsub': '\\u2282\\u20D2', 'vnsup': '\\u2283\\u20D2', 'vopf': '\\uD835\\uDD67', 'Vopf': '\\uD835\\uDD4D', 'vprop': '\\u221D', 'vrtri': '\\u22B3', 'vscr': '\\uD835\\uDCCB', 'Vscr': '\\uD835\\uDCB1', 'vsubne': '\\u228A\\uFE00', 'vsubnE': '\\u2ACB\\uFE00', 'vsupne': '\\u228B\\uFE00', 'vsupnE': '\\u2ACC\\uFE00', 'Vvdash': '\\u22AA', 'vzigzag': '\\u299A', 'wcirc': '\\u0175', 'Wcirc': '\\u0174', 'wedbar': '\\u2A5F', 'wedge': '\\u2227', 'Wedge': '\\u22C0', 'wedgeq': '\\u2259', 'weierp': '\\u2118', 'wfr': '\\uD835\\uDD34', 'Wfr': '\\uD835\\uDD1A', 'wopf': '\\uD835\\uDD68', 'Wopf': '\\uD835\\uDD4E', 'wp': '\\u2118', 'wr': '\\u2240', 'wreath': '\\u2240', 'wscr': '\\uD835\\uDCCC', 'Wscr': '\\uD835\\uDCB2', 'xcap': '\\u22C2', 'xcirc': '\\u25EF', 'xcup': '\\u22C3', 'xdtri': '\\u25BD', 'xfr': '\\uD835\\uDD35', 'Xfr': '\\uD835\\uDD1B', 'xharr': '\\u27F7', 'xhArr': '\\u27FA', 'xi': '\\u03BE', 'Xi': '\\u039E', 'xlarr': '\\u27F5', 'xlArr': '\\u27F8', 'xmap': '\\u27FC', 'xnis': '\\u22FB', 'xodot': '\\u2A00', 'xopf': '\\uD835\\uDD69', 'Xopf': '\\uD835\\uDD4F', 'xoplus': '\\u2A01', 'xotime': '\\u2A02', 'xrarr': '\\u27F6', 'xrArr': '\\u27F9', 'xscr': '\\uD835\\uDCCD', 'Xscr': '\\uD835\\uDCB3', 'xsqcup': '\\u2A06', 'xuplus': '\\u2A04', 'xutri': '\\u25B3', 'xvee': '\\u22C1', 'xwedge': '\\u22C0', 'yacute': '\\xFD', 'Yacute': '\\xDD', 'yacy': '\\u044F', 'YAcy': '\\u042F', 'ycirc': '\\u0177', 'Ycirc': '\\u0176', 'ycy': '\\u044B', 'Ycy': '\\u042B', 'yen': '\\xA5', 'yfr': '\\uD835\\uDD36', 'Yfr': '\\uD835\\uDD1C', 'yicy': '\\u0457', 'YIcy': '\\u0407', 'yopf': '\\uD835\\uDD6A', 'Yopf': '\\uD835\\uDD50', 'yscr': '\\uD835\\uDCCE', 'Yscr': '\\uD835\\uDCB4', 'yucy': '\\u044E', 'YUcy': '\\u042E', 'yuml': '\\xFF', 'Yuml': '\\u0178', 'zacute': '\\u017A', 'Zacute': '\\u0179', 'zcaron': '\\u017E', 'Zcaron': '\\u017D', 'zcy': '\\u0437', 'Zcy': '\\u0417', 'zdot': '\\u017C', 'Zdot': '\\u017B', 'zeetrf': '\\u2128', 'ZeroWidthSpace': '\\u200B', 'zeta': '\\u03B6', 'Zeta': '\\u0396', 'zfr': '\\uD835\\uDD37', 'Zfr': '\\u2128', 'zhcy': '\\u0436', 'ZHcy': '\\u0416', 'zigrarr': '\\u21DD', 'zopf': '\\uD835\\uDD6B', 'Zopf': '\\u2124', 'zscr': '\\uD835\\uDCCF', 'Zscr': '\\uD835\\uDCB5', 'zwj': '\\u200D', 'zwnj': '\\u200C' };\n\tvar decodeMapLegacy = { 'aacute': '\\xE1', 'Aacute': '\\xC1', 'acirc': '\\xE2', 'Acirc': '\\xC2', 'acute': '\\xB4', 'aelig': '\\xE6', 'AElig': '\\xC6', 'agrave': '\\xE0', 'Agrave': '\\xC0', 'amp': '&', 'AMP': '&', 'aring': '\\xE5', 'Aring': '\\xC5', 'atilde': '\\xE3', 'Atilde': '\\xC3', 'auml': '\\xE4', 'Auml': '\\xC4', 'brvbar': '\\xA6', 'ccedil': '\\xE7', 'Ccedil': '\\xC7', 'cedil': '\\xB8', 'cent': '\\xA2', 'copy': '\\xA9', 'COPY': '\\xA9', 'curren': '\\xA4', 'deg': '\\xB0', 'divide': '\\xF7', 'eacute': '\\xE9', 'Eacute': '\\xC9', 'ecirc': '\\xEA', 'Ecirc': '\\xCA', 'egrave': '\\xE8', 'Egrave': '\\xC8', 'eth': '\\xF0', 'ETH': '\\xD0', 'euml': '\\xEB', 'Euml': '\\xCB', 'frac12': '\\xBD', 'frac14': '\\xBC', 'frac34': '\\xBE', 'gt': '>', 'GT': '>', 'iacute': '\\xED', 'Iacute': '\\xCD', 'icirc': '\\xEE', 'Icirc': '\\xCE', 'iexcl': '\\xA1', 'igrave': '\\xEC', 'Igrave': '\\xCC', 'iquest': '\\xBF', 'iuml': '\\xEF', 'Iuml': '\\xCF', 'laquo': '\\xAB', 'lt': '<', 'LT': '<', 'macr': '\\xAF', 'micro': '\\xB5', 'middot': '\\xB7', 'nbsp': '\\xA0', 'not': '\\xAC', 'ntilde': '\\xF1', 'Ntilde': '\\xD1', 'oacute': '\\xF3', 'Oacute': '\\xD3', 'ocirc': '\\xF4', 'Ocirc': '\\xD4', 'ograve': '\\xF2', 'Ograve': '\\xD2', 'ordf': '\\xAA', 'ordm': '\\xBA', 'oslash': '\\xF8', 'Oslash': '\\xD8', 'otilde': '\\xF5', 'Otilde': '\\xD5', 'ouml': '\\xF6', 'Ouml': '\\xD6', 'para': '\\xB6', 'plusmn': '\\xB1', 'pound': '\\xA3', 'quot': '\"', 'QUOT': '\"', 'raquo': '\\xBB', 'reg': '\\xAE', 'REG': '\\xAE', 'sect': '\\xA7', 'shy': '\\xAD', 'sup1': '\\xB9', 'sup2': '\\xB2', 'sup3': '\\xB3', 'szlig': '\\xDF', 'thorn': '\\xFE', 'THORN': '\\xDE', 'times': '\\xD7', 'uacute': '\\xFA', 'Uacute': '\\xDA', 'ucirc': '\\xFB', 'Ucirc': '\\xDB', 'ugrave': '\\xF9', 'Ugrave': '\\xD9', 'uml': '\\xA8', 'uuml': '\\xFC', 'Uuml': '\\xDC', 'yacute': '\\xFD', 'Yacute': '\\xDD', 'yen': '\\xA5', 'yuml': '\\xFF' };\n\tvar decodeMapNumeric = { '0': '\\uFFFD', '128': '\\u20AC', '130': '\\u201A', '131': '\\u0192', '132': '\\u201E', '133': '\\u2026', '134': '\\u2020', '135': '\\u2021', '136': '\\u02C6', '137': '\\u2030', '138': '\\u0160', '139': '\\u2039', '140': '\\u0152', '142': '\\u017D', '145': '\\u2018', '146': '\\u2019', '147': '\\u201C', '148': '\\u201D', '149': '\\u2022', '150': '\\u2013', '151': '\\u2014', '152': '\\u02DC', '153': '\\u2122', '154': '\\u0161', '155': '\\u203A', '156': '\\u0153', '158': '\\u017E', '159': '\\u0178' };\n\tvar invalidReferenceCodePoints = [1, 2, 3, 4, 5, 6, 7, 8, 11, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 64976, 64977, 64978, 64979, 64980, 64981, 64982, 64983, 64984, 64985, 64986, 64987, 64988, 64989, 64990, 64991, 64992, 64993, 64994, 64995, 64996, 64997, 64998, 64999, 65000, 65001, 65002, 65003, 65004, 65005, 65006, 65007, 65534, 65535, 131070, 131071, 196606, 196607, 262142, 262143, 327678, 327679, 393214, 393215, 458750, 458751, 524286, 524287, 589822, 589823, 655358, 655359, 720894, 720895, 786430, 786431, 851966, 851967, 917502, 917503, 983038, 983039, 1048574, 1048575, 1114110, 1114111];\n\n\t/*--------------------------------------------------------------------------*/\n\n\tvar stringFromCharCode = String.fromCharCode;\n\n\tvar object = {};\n\tvar hasOwnProperty = object.hasOwnProperty;\n\tvar has = function has(object, propertyName) {\n\t\treturn hasOwnProperty.call(object, propertyName);\n\t};\n\n\tvar contains = function contains(array, value) {\n\t\tvar index = -1;\n\t\tvar length = array.length;\n\t\twhile (++index < length) {\n\t\t\tif (array[index] == value) {\n\t\t\t\treturn true;\n\t\t\t}\n\t\t}\n\t\treturn false;\n\t};\n\n\tvar merge = function merge(options, defaults) {\n\t\tif (!options) {\n\t\t\treturn defaults;\n\t\t}\n\t\tvar result = {};\n\t\tvar key;\n\t\tfor (key in defaults) {\n\t\t\t// A `hasOwnProperty` check is not needed here, since only recognized\n\t\t\t// option names are used anyway. Any others are ignored.\n\t\t\tresult[key] = has(options, key) ? options[key] : defaults[key];\n\t\t}\n\t\treturn result;\n\t};\n\n\t// Modified version of `ucs2encode`; see https://mths.be/punycode.\n\tvar codePointToSymbol = function codePointToSymbol(codePoint, strict) {\n\t\tvar output = '';\n\t\tif (codePoint >= 0xD800 && codePoint <= 0xDFFF || codePoint > 0x10FFFF) {\n\t\t\t// See issue #4:\n\t\t\t// “Otherwise, if the number is in the range 0xD800 to 0xDFFF or is\n\t\t\t// greater than 0x10FFFF, then this is a parse error. Return a U+FFFD\n\t\t\t// REPLACEMENT CHARACTER.”\n\t\t\tif (strict) {\n\t\t\t\tparseError('character reference outside the permissible Unicode range');\n\t\t\t}\n\t\t\treturn '\\uFFFD';\n\t\t}\n\t\tif (has(decodeMapNumeric, codePoint)) {\n\t\t\tif (strict) {\n\t\t\t\tparseError('disallowed character reference');\n\t\t\t}\n\t\t\treturn decodeMapNumeric[codePoint];\n\t\t}\n\t\tif (strict && contains(invalidReferenceCodePoints, codePoint)) {\n\t\t\tparseError('disallowed character reference');\n\t\t}\n\t\tif (codePoint > 0xFFFF) {\n\t\t\tcodePoint -= 0x10000;\n\t\t\toutput += stringFromCharCode(codePoint >>> 10 & 0x3FF | 0xD800);\n\t\t\tcodePoint = 0xDC00 | codePoint & 0x3FF;\n\t\t}\n\t\toutput += stringFromCharCode(codePoint);\n\t\treturn output;\n\t};\n\n\tvar hexEscape = function hexEscape(codePoint) {\n\t\treturn '&#x' + codePoint.toString(16).toUpperCase() + ';';\n\t};\n\n\tvar decEscape = function decEscape(codePoint) {\n\t\treturn '&#' + codePoint + ';';\n\t};\n\n\tvar parseError = function parseError(message) {\n\t\tthrow Error('Parse error: ' + message);\n\t};\n\n\t/*--------------------------------------------------------------------------*/\n\n\tvar encode = function encode(string, options) {\n\t\toptions = merge(options, encode.options);\n\t\tvar strict = options.strict;\n\t\tif (strict && regexInvalidRawCodePoint.test(string)) {\n\t\t\tparseError('forbidden code point');\n\t\t}\n\t\tvar encodeEverything = options.encodeEverything;\n\t\tvar useNamedReferences = options.useNamedReferences;\n\t\tvar allowUnsafeSymbols = options.allowUnsafeSymbols;\n\t\tvar escapeCodePoint = options.decimal ? decEscape : hexEscape;\n\n\t\tvar escapeBmpSymbol = function escapeBmpSymbol(symbol) {\n\t\t\treturn escapeCodePoint(symbol.charCodeAt(0));\n\t\t};\n\n\t\tif (encodeEverything) {\n\t\t\t// Encode ASCII symbols.\n\t\t\tstring = string.replace(regexAsciiWhitelist, function (symbol) {\n\t\t\t\t// Use named references if requested & possible.\n\t\t\t\tif (useNamedReferences && has(encodeMap, symbol)) {\n\t\t\t\t\treturn '&' + encodeMap[symbol] + ';';\n\t\t\t\t}\n\t\t\t\treturn escapeBmpSymbol(symbol);\n\t\t\t});\n\t\t\t// Shorten a few escapes that represent two symbols, of which at least one\n\t\t\t// is within the ASCII range.\n\t\t\tif (useNamedReferences) {\n\t\t\t\tstring = string.replace(/&gt;\\u20D2/g, '&nvgt;').replace(/&lt;\\u20D2/g, '&nvlt;').replace(/&#x66;&#x6A;/g, '&fjlig;');\n\t\t\t}\n\t\t\t// Encode non-ASCII symbols.\n\t\t\tif (useNamedReferences) {\n\t\t\t\t// Encode non-ASCII symbols that can be replaced with a named reference.\n\t\t\t\tstring = string.replace(regexEncodeNonAscii, function (string) {\n\t\t\t\t\t// Note: there is no need to check `has(encodeMap, string)` here.\n\t\t\t\t\treturn '&' + encodeMap[string] + ';';\n\t\t\t\t});\n\t\t\t}\n\t\t\t// Note: any remaining non-ASCII symbols are handled outside of the `if`.\n\t\t} else if (useNamedReferences) {\n\t\t\t// Apply named character references.\n\t\t\t// Encode `<>\"'&` using named character references.\n\t\t\tif (!allowUnsafeSymbols) {\n\t\t\t\tstring = string.replace(regexEscape, function (string) {\n\t\t\t\t\treturn '&' + encodeMap[string] + ';'; // no need to check `has()` here\n\t\t\t\t});\n\t\t\t}\n\t\t\t// Shorten escapes that represent two symbols, of which at least one is\n\t\t\t// `<>\"'&`.\n\t\t\tstring = string.replace(/&gt;\\u20D2/g, '&nvgt;').replace(/&lt;\\u20D2/g, '&nvlt;');\n\t\t\t// Encode non-ASCII symbols that can be replaced with a named reference.\n\t\t\tstring = string.replace(regexEncodeNonAscii, function (string) {\n\t\t\t\t// Note: there is no need to check `has(encodeMap, string)` here.\n\t\t\t\treturn '&' + encodeMap[string] + ';';\n\t\t\t});\n\t\t} else if (!allowUnsafeSymbols) {\n\t\t\t// Encode `<>\"'&` using hexadecimal escapes, now that they’re not handled\n\t\t\t// using named character references.\n\t\t\tstring = string.replace(regexEscape, escapeBmpSymbol);\n\t\t}\n\t\treturn string\n\t\t// Encode astral symbols.\n\t\t.replace(regexAstralSymbols, function ($0) {\n\t\t\t// https://mathiasbynens.be/notes/javascript-encoding#surrogate-formulae\n\t\t\tvar high = $0.charCodeAt(0);\n\t\t\tvar low = $0.charCodeAt(1);\n\t\t\tvar codePoint = (high - 0xD800) * 0x400 + low - 0xDC00 + 0x10000;\n\t\t\treturn escapeCodePoint(codePoint);\n\t\t})\n\t\t// Encode any remaining BMP symbols that are not printable ASCII symbols\n\t\t// using a hexadecimal escape.\n\t\t.replace(regexBmpWhitelist, escapeBmpSymbol);\n\t};\n\t// Expose default options (so they can be overridden globally).\n\tencode.options = {\n\t\t'allowUnsafeSymbols': false,\n\t\t'encodeEverything': false,\n\t\t'strict': false,\n\t\t'useNamedReferences': false,\n\t\t'decimal': false\n\t};\n\n\tvar decode = function decode(html, options) {\n\t\toptions = merge(options, decode.options);\n\t\tvar strict = options.strict;\n\t\tif (strict && regexInvalidEntity.test(html)) {\n\t\t\tparseError('malformed character reference');\n\t\t}\n\t\treturn html.replace(regexDecode, function ($0, $1, $2, $3, $4, $5, $6, $7, $8) {\n\t\t\tvar codePoint;\n\t\t\tvar semicolon;\n\t\t\tvar decDigits;\n\t\t\tvar hexDigits;\n\t\t\tvar reference;\n\t\t\tvar next;\n\n\t\t\tif ($1) {\n\t\t\t\treference = $1;\n\t\t\t\t// Note: there is no need to check `has(decodeMap, reference)`.\n\t\t\t\treturn decodeMap[reference];\n\t\t\t}\n\n\t\t\tif ($2) {\n\t\t\t\t// Decode named character references without trailing `;`, e.g. `&amp`.\n\t\t\t\t// This is only a parse error if it gets converted to `&`, or if it is\n\t\t\t\t// followed by `=` in an attribute context.\n\t\t\t\treference = $2;\n\t\t\t\tnext = $3;\n\t\t\t\tif (next && options.isAttributeValue) {\n\t\t\t\t\tif (strict && next == '=') {\n\t\t\t\t\t\tparseError('`&` did not start a character reference');\n\t\t\t\t\t}\n\t\t\t\t\treturn $0;\n\t\t\t\t} else {\n\t\t\t\t\tif (strict) {\n\t\t\t\t\t\tparseError('named character reference was not terminated by a semicolon');\n\t\t\t\t\t}\n\t\t\t\t\t// Note: there is no need to check `has(decodeMapLegacy, reference)`.\n\t\t\t\t\treturn decodeMapLegacy[reference] + (next || '');\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tif ($4) {\n\t\t\t\t// Decode decimal escapes, e.g. `&#119558;`.\n\t\t\t\tdecDigits = $4;\n\t\t\t\tsemicolon = $5;\n\t\t\t\tif (strict && !semicolon) {\n\t\t\t\t\tparseError('character reference was not terminated by a semicolon');\n\t\t\t\t}\n\t\t\t\tcodePoint = parseInt(decDigits, 10);\n\t\t\t\treturn codePointToSymbol(codePoint, strict);\n\t\t\t}\n\n\t\t\tif ($6) {\n\t\t\t\t// Decode hexadecimal escapes, e.g. `&#x1D306;`.\n\t\t\t\thexDigits = $6;\n\t\t\t\tsemicolon = $7;\n\t\t\t\tif (strict && !semicolon) {\n\t\t\t\t\tparseError('character reference was not terminated by a semicolon');\n\t\t\t\t}\n\t\t\t\tcodePoint = parseInt(hexDigits, 16);\n\t\t\t\treturn codePointToSymbol(codePoint, strict);\n\t\t\t}\n\n\t\t\t// If we’re still here, `if ($7)` is implied; it’s an ambiguous\n\t\t\t// ampersand for sure. https://mths.be/notes/ambiguous-ampersands\n\t\t\tif (strict) {\n\t\t\t\tparseError('named character reference was not terminated by a semicolon');\n\t\t\t}\n\t\t\treturn $0;\n\t\t});\n\t};\n\t// Expose default options (so they can be overridden globally).\n\tdecode.options = {\n\t\t'isAttributeValue': false,\n\t\t'strict': false\n\t};\n\n\tvar escape = function escape(string) {\n\t\treturn string.replace(regexEscape, function ($0) {\n\t\t\t// Note: there is no need to check `has(escapeMap, $0)` here.\n\t\t\treturn escapeMap[$0];\n\t\t});\n\t};\n\n\t/*--------------------------------------------------------------------------*/\n\n\tvar he = {\n\t\t'version': '1.2.0',\n\t\t'encode': encode,\n\t\t'decode': decode,\n\t\t'escape': escape,\n\t\t'unescape': decode\n\t};\n\n\t// Some AMD build optimizers, like r.js, check for specific condition patterns\n\t// like the following:\n\tif ( true && _typeof(__webpack_require__(/*! !webpack amd options */ \"./node_modules/webpack/buildin/amd-options.js\")) == 'object' && __webpack_require__(/*! !webpack amd options */ \"./node_modules/webpack/buildin/amd-options.js\")) {\n\t\t!(__WEBPACK_AMD_DEFINE_RESULT__ = (function () {\n\t\t\treturn he;\n\t\t}).call(exports, __webpack_require__, exports, module),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n\t} else if (freeExports && !freeExports.nodeType) {\n\t\tif (freeModule) {\n\t\t\t// in Node.js, io.js, or RingoJS v0.8.0+\n\t\t\tfreeModule.exports = he;\n\t\t} else {\n\t\t\t// in Narwhal or RingoJS v0.7.0-\n\t\t\tfor (var key in he) {\n\t\t\t\thas(he, key) && (freeExports[key] = he[key]);\n\t\t\t}\n\t\t}\n\t} else {\n\t\t// in Rhino or a web browser\n\t\troot.he = he;\n\t}\n})(undefined);\n/* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(/*! ./../webpack/buildin/module.js */ \"./node_modules/webpack/buildin/module.js\")(module), __webpack_require__(/*! ./../webpack/buildin/global.js */ \"./node_modules/webpack/buildin/global.js\")))\n\n//# sourceURL=webpack://Contentstack/./node_modules/he/he.js?");
  
  /***/ }),
  
  /***/ "./node_modules/localStorage/lib/localStorage.js":
  /*!*******************************************************!*\
    !*** ./node_modules/localStorage/lib/localStorage.js ***!
    \*******************************************************/
  /*! no static exports found */
  /***/ (function(module, exports, __webpack_require__) {
  
  "use strict";
  eval("/* WEBPACK VAR INJECTION */(function(global) {\n\n// http://www.rajdeepd.com/articles/chrome/localstrg/LocalStorageSample.htm\n\n// NOTE:\n// this varies from actual localStorage in some subtle ways\n\n// also, there is no persistence\n// TODO persist\n(function () {\n  \"use strict\";\n\n  var db;\n\n  function LocalStorage() {}\n  db = LocalStorage;\n\n  db.prototype.getItem = function (key) {\n    if (this.hasOwnProperty(key)) {\n      return String(this[key]);\n    }\n    return null;\n  };\n\n  db.prototype.setItem = function (key, val) {\n    this[key] = String(val);\n  };\n\n  db.prototype.removeItem = function (key) {\n    delete this[key];\n  };\n\n  db.prototype.clear = function () {\n    var self = this;\n    Object.keys(self).forEach(function (key) {\n      self[key] = undefined;\n      delete self[key];\n    });\n  };\n\n  db.prototype.key = function (i) {\n    i = i || 0;\n    return Object.keys(this)[i];\n  };\n\n  db.prototype.__defineGetter__('length', function () {\n    return Object.keys(this).length;\n  });\n\n  if (global.localStorage) {\n    module.exports = localStorage;\n  } else {\n    module.exports = new LocalStorage();\n  }\n})();\n/* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(/*! ./../../webpack/buildin/global.js */ \"./node_modules/webpack/buildin/global.js\")))\n\n//# sourceURL=webpack://Contentstack/./node_modules/localStorage/lib/localStorage.js?");
  
  /***/ }),
  
  /***/ "./node_modules/node-html-parser/dist/esm/back.js":
  /*!********************************************************!*\
    !*** ./node_modules/node-html-parser/dist/esm/back.js ***!
    \********************************************************/
  /*! no static exports found */
  /***/ (function(module, exports, __webpack_require__) {
  
  "use strict";
  eval("\n\nObject.defineProperty(exports, \"__esModule\", {\n    value: true\n});\nexports.default = arr_back;\nfunction arr_back(arr) {\n    return arr[arr.length - 1];\n}\n\n//# sourceURL=webpack://Contentstack/./node_modules/node-html-parser/dist/esm/back.js?");
  
  /***/ }),
  
  /***/ "./node_modules/node-html-parser/dist/esm/index.js":
  /*!*********************************************************!*\
    !*** ./node_modules/node-html-parser/dist/esm/index.js ***!
    \*********************************************************/
  /*! no static exports found */
  /***/ (function(module, exports, __webpack_require__) {
  
  "use strict";
  eval("\n\nObject.defineProperty(exports, \"__esModule\", {\n  value: true\n});\n\nvar _comment = __webpack_require__(/*! ./nodes/comment */ \"./node_modules/node-html-parser/dist/esm/nodes/comment.js\");\n\nObject.defineProperty(exports, 'CommentNode', {\n  enumerable: true,\n  get: function get() {\n    return _interopRequireDefault(_comment).default;\n  }\n});\n\nvar _html = __webpack_require__(/*! ./nodes/html */ \"./node_modules/node-html-parser/dist/esm/nodes/html.js\");\n\nObject.defineProperty(exports, 'HTMLElement', {\n  enumerable: true,\n  get: function get() {\n    return _interopRequireDefault(_html).default;\n  }\n});\nObject.defineProperty(exports, 'parse', {\n  enumerable: true,\n  get: function get() {\n    return _html.parse;\n  }\n});\nObject.defineProperty(exports, 'default', {\n  enumerable: true,\n  get: function get() {\n    return _html.parse;\n  }\n});\n\nvar _node = __webpack_require__(/*! ./nodes/node */ \"./node_modules/node-html-parser/dist/esm/nodes/node.js\");\n\nObject.defineProperty(exports, 'Node', {\n  enumerable: true,\n  get: function get() {\n    return _interopRequireDefault(_node).default;\n  }\n});\n\nvar _text = __webpack_require__(/*! ./nodes/text */ \"./node_modules/node-html-parser/dist/esm/nodes/text.js\");\n\nObject.defineProperty(exports, 'TextNode', {\n  enumerable: true,\n  get: function get() {\n    return _interopRequireDefault(_text).default;\n  }\n});\n\nvar _type = __webpack_require__(/*! ./nodes/type */ \"./node_modules/node-html-parser/dist/esm/nodes/type.js\");\n\nObject.defineProperty(exports, 'NodeType', {\n  enumerable: true,\n  get: function get() {\n    return _interopRequireDefault(_type).default;\n  }\n});\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n//# sourceURL=webpack://Contentstack/./node_modules/node-html-parser/dist/esm/index.js?");
  
  /***/ }),
  
  /***/ "./node_modules/node-html-parser/dist/esm/matcher.js":
  /*!***********************************************************!*\
    !*** ./node_modules/node-html-parser/dist/esm/matcher.js ***!
    \***********************************************************/
  /*! no static exports found */
  /***/ (function(module, exports, __webpack_require__) {
  
  "use strict";
  eval("\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\n/**\n * Cache to store generated match functions\n * @type {Object}\n */\nvar pMatchFunctionCache = {};\nfunction compare_tagname(tag1, tag2) {\n    if (!tag1) {\n        return !tag2;\n    }\n    if (!tag2) {\n        return !tag1;\n    }\n    return tag1.toLowerCase() === tag2.toLowerCase();\n}\n/**\n * Function cache\n */\nvar functionCache = {\n    f145: function f145(el, tagName, classes) {\n        'use strict';\n\n        tagName = tagName || '';\n        classes = classes || [];\n        if (el.id !== tagName.substr(1)) {\n            return false;\n        }\n        for (var cls = classes, i = 0; i < cls.length; i++) {\n            if (el.classNames.indexOf(cls[i]) === -1) {\n                return false;\n            }\n        }\n        return true;\n    },\n    f45: function f45(el, tagName, classes) {\n        'use strict';\n\n        tagName = tagName || '';\n        classes = classes || [];\n        for (var cls = classes, i = 0; i < cls.length; i++) {\n            if (el.classNames.indexOf(cls[i]) === -1) {\n                return false;\n            }\n        }\n        return true;\n    },\n    f15: function f15(el, tagName) {\n        'use strict';\n\n        tagName = tagName || '';\n        if (el.id !== tagName.substr(1)) {\n            return false;\n        }\n        return true;\n    },\n    f1: function f1(el, tagName) {\n        'use strict';\n\n        tagName = tagName || '';\n        if (el.id !== tagName.substr(1)) {\n            return false;\n        }\n    },\n    f5: function f5() {\n        'use strict';\n\n        return true;\n    },\n    f55: function f55(el, tagName, classes, attr_key) {\n        'use strict';\n\n        tagName = tagName || '';\n        classes = classes || [];\n        attr_key = attr_key || '';\n        var attrs = el.attributes;\n        return attrs.hasOwnProperty(attr_key);\n    },\n    f245: function f245(el, tagName, classes, attr_key, value) {\n        'use strict';\n\n        tagName = tagName || '';\n        classes = classes || [];\n        attr_key = (attr_key || '').toLowerCase();\n        value = value || '';\n        var attrs = el.attributes;\n        return Object.keys(attrs).some(function (key) {\n            var val = attrs[key];\n            return key.toLowerCase() === attr_key && val === value;\n        });\n        // for (let cls = classes, i = 0; i < cls.length; i++) {if (el.classNames.indexOf(cls[i]) === -1){ return false;}}\n        // return true;\n    },\n    f25: function f25(el, tagName, classes, attr_key, value) {\n        'use strict';\n\n        tagName = tagName || '';\n        classes = classes || [];\n        attr_key = (attr_key || '').toLowerCase();\n        value = value || '';\n        var attrs = el.attributes;\n        return Object.keys(attrs).some(function (key) {\n            var val = attrs[key];\n            return key.toLowerCase() === attr_key && val === value;\n        });\n        // return true;\n    },\n    f2: function f2(el, tagName, classes, attr_key, value) {\n        'use strict';\n\n        tagName = tagName || '';\n        classes = classes || [];\n        attr_key = (attr_key || '').toLowerCase();\n        value = value || '';\n        var attrs = el.attributes;\n        return Object.keys(attrs).some(function (key) {\n            var val = attrs[key];\n            return key.toLowerCase() === attr_key && val === value;\n        });\n    },\n    f345: function f345(el, tagName, classes) {\n        'use strict';\n\n        tagName = tagName || '';\n        classes = classes || [];\n        if (!compare_tagname(el.tagName, tagName)) {\n            return false;\n        }\n        for (var cls = classes, i = 0; i < cls.length; i++) {\n            if (el.classNames.indexOf(cls[i]) === -1) {\n                return false;\n            }\n        }\n        return true;\n    },\n    f35: function f35(el, tagName) {\n        'use strict';\n\n        tagName = tagName || '';\n        return compare_tagname(el.tagName, tagName);\n    },\n    f3: function f3(el, tagName) {\n        'use strict';\n\n        tagName = tagName || '';\n        // if (el.tagName !== tagName) {\n        // \treturn false;\n        // }\n        return compare_tagname(el.tagName, tagName);\n    }\n};\n/**\n * Matcher class to make CSS match\n *\n * @class Matcher\n */\n\nvar Matcher = function () {\n    /**\n     * Creates an instance of Matcher.\n     * @param {string} selector\n     *\n     * @memberof Matcher\n     */\n    function Matcher(selector) {\n        _classCallCheck(this, Matcher);\n\n        this.nextMatch = 0;\n        this.matchers = selector.split(' ').map(function (matcher) {\n            if (pMatchFunctionCache[matcher]) {\n                return pMatchFunctionCache[matcher];\n            }\n            var parts = matcher.split('.');\n            var tagName = parts[0];\n            var classes = parts.slice(1).sort();\n            // let source = '\"use strict\";';\n            var function_name = 'f';\n            var attr_key = '';\n            var value = '';\n            if (tagName && tagName !== '*') {\n                if (tagName.startsWith('#')) {\n                    // source += 'if (el.id != ' + JSON.stringify(tagName.substr(1)) + ') return false;';// 1\n                    function_name += '1';\n                } else {\n                    // https://github.com/taoqf/node-html-parser/issues/86\n                    // const reg = /\\[\\s*([\\w-]+)(\\s*=\\s*(((?<quote>'|\")\\s*(.*)(\\k<quote>))|(\\S*)))?\\s*\\]/.exec(tagName);\n                    // `[a-b]`,`[ a-b ]`,`[a-b=c]`, `[a-b=c'd]`,`[a-b='c\\' d\"e ']`,`[ a-b = 'c\\' d\"e ' ]`,`[a-b=\"c' d\\\"e \" ]`,`[ a-b = \"c' d\\\"e \" ]`\n                    var reg = /\\[\\s*([\\w-]+)(\\s*=\\s*(('\\s*(.*)'|\"\\s*(.*)\")|(\\S*)))?\\s*\\]/.exec(tagName);\n                    if (reg) {\n                        attr_key = reg[1];\n                        value = reg[5] || reg[6] || reg[7];\n                        // source += `let attrs = el.attributes;for (let key in attrs){const val = attrs[key]; if (key == \"${attr_key}\" && val == \"${value}\"){return true;}} return false;`;// 2\n                        function_name += '2';\n                    } else {\n                        // source += 'if (el.tagName != ' + JSON.stringify(tagName) + ') return false;';// 3\n                        function_name += '3';\n                    }\n                }\n            }\n            if (classes.length > 0) {\n                // source += 'for (let cls = ' + JSON.stringify(classes) + ', i = 0; i < cls.length; i++) if (el.classNames.indexOf(cls[i]) === -1) return false;';// 4\n                function_name += '4';\n            }\n            // source += 'return true;';// 5\n            function_name += '5';\n            var obj = {\n                func: functionCache[function_name],\n                tagName: tagName || '',\n                classes: classes || '',\n                attr_key: attr_key || '',\n                value: value || ''\n            };\n            // source = source || '';\n            return pMatchFunctionCache[matcher] = obj;\n        });\n    }\n    /**\n     * Trying to advance match pointer\n     * @param  {HTMLElement} el element to make the match\n     * @return {bool}           true when pointer advanced.\n     */\n\n\n    _createClass(Matcher, [{\n        key: 'advance',\n        value: function advance(el) {\n            if (this.nextMatch < this.matchers.length && this.matchers[this.nextMatch].func(el, this.matchers[this.nextMatch].tagName, this.matchers[this.nextMatch].classes, this.matchers[this.nextMatch].attr_key, this.matchers[this.nextMatch].value)) {\n                this.nextMatch++;\n                return true;\n            }\n            return false;\n        }\n        /**\n         * Rewind the match pointer\n         */\n\n    }, {\n        key: 'rewind',\n        value: function rewind() {\n            this.nextMatch--;\n        }\n        /**\n         * Trying to determine if match made.\n         * @return {bool} true when the match is made\n         */\n\n    }, {\n        key: 'reset',\n\n        /**\n         * Rest match pointer.\n         * @return {[type]} [description]\n         */\n        value: function reset() {\n            this.nextMatch = 0;\n        }\n        /**\n         * flush cache to free memory\n         */\n\n    }, {\n        key: 'flushCache',\n        value: function flushCache() {\n            pMatchFunctionCache = {};\n        }\n    }, {\n        key: 'matched',\n        get: function get() {\n            return this.nextMatch === this.matchers.length;\n        }\n    }]);\n\n    return Matcher;\n}();\n\nexports.default = Matcher;\n\n//# sourceURL=webpack://Contentstack/./node_modules/node-html-parser/dist/esm/matcher.js?");
  
  /***/ }),
  
  /***/ "./node_modules/node-html-parser/dist/esm/nodes/comment.js":
  /*!*****************************************************************!*\
    !*** ./node_modules/node-html-parser/dist/esm/nodes/comment.js ***!
    \*****************************************************************/
  /*! no static exports found */
  /***/ (function(module, exports, __webpack_require__) {
  
  "use strict";
  eval("\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 _node = __webpack_require__(/*! ./node */ \"./node_modules/node-html-parser/dist/esm/nodes/node.js\");\n\nvar _node2 = _interopRequireDefault(_node);\n\nvar _type = __webpack_require__(/*! ./type */ \"./node_modules/node-html-parser/dist/esm/nodes/type.js\");\n\nvar _type2 = _interopRequireDefault(_type);\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 CommentNode = function (_Node) {\n    _inherits(CommentNode, _Node);\n\n    function CommentNode(rawText) {\n        _classCallCheck(this, CommentNode);\n\n        var _this = _possibleConstructorReturn(this, (CommentNode.__proto__ || Object.getPrototypeOf(CommentNode)).call(this));\n\n        _this.rawText = rawText;\n        /**\n         * Node Type declaration.\n         * @type {Number}\n         */\n        _this.nodeType = _type2.default.COMMENT_NODE;\n        return _this;\n    }\n    /**\n     * Get unescaped text value of current node and its children.\n     * @return {string} text content\n     */\n\n\n    _createClass(CommentNode, [{\n        key: 'toString',\n        value: function toString() {\n            return '<!--' + this.rawText + '-->';\n        }\n    }, {\n        key: 'text',\n        get: function get() {\n            return this.rawText;\n        }\n    }]);\n\n    return CommentNode;\n}(_node2.default);\n\nexports.default = CommentNode;\n\n//# sourceURL=webpack://Contentstack/./node_modules/node-html-parser/dist/esm/nodes/comment.js?");
  
  /***/ }),
  
  /***/ "./node_modules/node-html-parser/dist/esm/nodes/html.js":
  /*!**************************************************************!*\
    !*** ./node_modules/node-html-parser/dist/esm/nodes/html.js ***!
    \**************************************************************/
  /*! no static exports found */
  /***/ (function(module, exports, __webpack_require__) {
  
  "use strict";
  eval("\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\nexports.parse = parse;\n\nvar _he = __webpack_require__(/*! he */ \"./node_modules/he/he.js\");\n\nvar _node = __webpack_require__(/*! ./node */ \"./node_modules/node-html-parser/dist/esm/nodes/node.js\");\n\nvar _node2 = _interopRequireDefault(_node);\n\nvar _type = __webpack_require__(/*! ./type */ \"./node_modules/node-html-parser/dist/esm/nodes/type.js\");\n\nvar _type2 = _interopRequireDefault(_type);\n\nvar _text3 = __webpack_require__(/*! ./text */ \"./node_modules/node-html-parser/dist/esm/nodes/text.js\");\n\nvar _text4 = _interopRequireDefault(_text3);\n\nvar _matcher = __webpack_require__(/*! ../matcher */ \"./node_modules/node-html-parser/dist/esm/matcher.js\");\n\nvar _matcher2 = _interopRequireDefault(_matcher);\n\nvar _back = __webpack_require__(/*! ../back */ \"./node_modules/node-html-parser/dist/esm/back.js\");\n\nvar _back2 = _interopRequireDefault(_back);\n\nvar _comment = __webpack_require__(/*! ./comment */ \"./node_modules/node-html-parser/dist/esm/nodes/comment.js\");\n\nvar _comment2 = _interopRequireDefault(_comment);\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\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 kBlockElements = new Map();\nkBlockElements.set('DIV', true);\nkBlockElements.set('div', true);\nkBlockElements.set('P', true);\nkBlockElements.set('p', true);\n// ul: true,\n// ol: true,\nkBlockElements.set('LI', true);\nkBlockElements.set('li', true);\n// table: true,\n// tr: true,\nkBlockElements.set('TD', true);\nkBlockElements.set('td', true);\nkBlockElements.set('SECTION', true);\nkBlockElements.set('section', true);\nkBlockElements.set('BR', true);\nkBlockElements.set('br', true);\n/**\n * HTMLElement, which contains a set of children.\n *\n * Note: this is a minimalist implementation, no complete tree\n *   structure provided (no parentNode, nextSibling,\n *   previousSibling etc).\n * @class HTMLElement\n * @extends {Node}\n */\n\nvar HTMLElement = function (_Node) {\n    _inherits(HTMLElement, _Node);\n\n    /**\n     * Creates an instance of HTMLElement.\n     * @param keyAttrs\tid and class attribute\n     * @param [rawAttrs]\tattributes in string\n     *\n     * @memberof HTMLElement\n     */\n    function HTMLElement(tagName, keyAttrs) {\n        var rawAttrs = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : '';\n        var parentNode = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : null;\n\n        _classCallCheck(this, HTMLElement);\n\n        var _this = _possibleConstructorReturn(this, (HTMLElement.__proto__ || Object.getPrototypeOf(HTMLElement)).call(this));\n\n        _this.rawAttrs = rawAttrs;\n        _this.parentNode = parentNode;\n        _this.classNames = [];\n        /**\n         * Node Type declaration.\n         */\n        _this.nodeType = _type2.default.ELEMENT_NODE;\n        _this.rawTagName = tagName;\n        _this.rawAttrs = rawAttrs || '';\n        _this.parentNode = parentNode || null;\n        _this.childNodes = [];\n        if (keyAttrs.id) {\n            _this.id = keyAttrs.id;\n            if (!rawAttrs) {\n                _this.rawAttrs = 'id=\"' + keyAttrs.id + '\"';\n            }\n        }\n        if (keyAttrs.class) {\n            _this.classNames = keyAttrs.class.split(/\\s+/);\n            if (!rawAttrs) {\n                var cls = 'class=\"' + _this.classNames.join(' ') + '\"';\n                if (_this.rawAttrs) {\n                    _this.rawAttrs += ' ' + cls;\n                } else {\n                    _this.rawAttrs = cls;\n                }\n            }\n        }\n        return _this;\n    }\n    /**\n     * Remove current element\n     */\n\n\n    _createClass(HTMLElement, [{\n        key: 'remove',\n        value: function remove() {\n            var _this2 = this;\n\n            if (this.parentNode) {\n                var children = this.parentNode.childNodes;\n                this.parentNode.childNodes = children.filter(function (child) {\n                    return _this2 !== child;\n                });\n            }\n        }\n        /**\n         * Remove Child element from childNodes array\n         * @param {HTMLElement} node     node to remove\n         */\n\n    }, {\n        key: 'removeChild',\n        value: function removeChild(node) {\n            this.childNodes = this.childNodes.filter(function (child) {\n                return child !== node;\n            });\n        }\n        /**\n         * Exchanges given child with new child\n         * @param {HTMLElement} oldNode     node to exchange\n         * @param {HTMLElement} newNode     new node\n         */\n\n    }, {\n        key: 'exchangeChild',\n        value: function exchangeChild(oldNode, newNode) {\n            var children = this.childNodes;\n            this.childNodes = children.map(function (child) {\n                if (child === oldNode) {\n                    return newNode;\n                }\n                return child;\n            });\n        }\n    }, {\n        key: 'toString',\n        value: function toString() {\n            var tag = this.rawTagName;\n            if (tag) {\n                var is_void = /^(area|base|br|col|embed|hr|img|input|link|meta|param|source|track|wbr)$/i.test(tag);\n                var attrs = this.rawAttrs ? ' ' + this.rawAttrs : '';\n                if (is_void) {\n                    return '<' + tag + attrs + '>';\n                }\n                return '<' + tag + attrs + '>' + this.innerHTML + '</' + tag + '>';\n            }\n            return this.innerHTML;\n        }\n    }, {\n        key: 'set_content',\n        value: function set_content(content) {\n            var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n\n            if (content instanceof _node2.default) {\n                content = [content];\n            } else if (typeof content == 'string') {\n                var r = parse(content, options);\n                content = r.childNodes.length ? r.childNodes : [new _text4.default(content)];\n            }\n            this.childNodes = content;\n        }\n    }, {\n        key: 'trimRight',\n\n        /**\n         * Trim element from right (in block) after seeing pattern in a TextNode.\n         * @param  {RegExp} pattern pattern to find\n         * @return {HTMLElement}    reference to current node\n         */\n        value: function trimRight(pattern) {\n            for (var i = 0; i < this.childNodes.length; i++) {\n                var childNode = this.childNodes[i];\n                if (childNode.nodeType === _type2.default.ELEMENT_NODE) {\n                    childNode.trimRight(pattern);\n                } else {\n                    var index = childNode.rawText.search(pattern);\n                    if (index > -1) {\n                        childNode.rawText = childNode.rawText.substr(0, index);\n                        // trim all following nodes.\n                        this.childNodes.length = i + 1;\n                    }\n                }\n            }\n            return this;\n        }\n        /**\n         * Get DOM structure\n         * @return {string} strucutre\n         */\n\n    }, {\n        key: 'removeWhitespace',\n\n        /**\n         * Remove whitespaces in this sub tree.\n         * @return {HTMLElement} pointer to this\n         */\n        value: function removeWhitespace() {\n            var _this3 = this;\n\n            var o = 0;\n            this.childNodes.forEach(function (node) {\n                if (node.nodeType === _type2.default.TEXT_NODE) {\n                    if (node.isWhitespace) {\n                        return;\n                    }\n                    node.rawText = node.rawText.trim();\n                } else if (node.nodeType === _type2.default.ELEMENT_NODE) {\n                    node.removeWhitespace();\n                }\n                _this3.childNodes[o++] = node;\n            });\n            this.childNodes.length = o;\n            return this;\n        }\n        /**\n         * Query CSS selector to find matching nodes.\n         * @param  {string}         selector Simplified CSS selector\n         * @param  {Matcher}        selector A Matcher instance\n         * @return {HTMLElement[]}  matching elements\n         */\n\n    }, {\n        key: 'querySelectorAll',\n        value: function querySelectorAll(selector) {\n            var _this4 = this;\n\n            var matcher = void 0;\n            if (selector instanceof _matcher2.default) {\n                matcher = selector;\n                matcher.reset();\n            } else {\n                if (selector.includes(',')) {\n                    var selectors = selector.split(',');\n                    return Array.from(selectors.reduce(function (pre, cur) {\n                        var result = _this4.querySelectorAll(cur.trim());\n                        return result.reduce(function (p, c) {\n                            return p.add(c);\n                        }, pre);\n                    }, new Set()));\n                }\n                matcher = new _matcher2.default(selector);\n            }\n            var stack = [];\n            return this.childNodes.reduce(function (res, cur) {\n                stack.push([cur, 0, false]);\n                while (stack.length) {\n                    var state = (0, _back2.default)(stack); // get last element\n                    var el = state[0];\n                    if (state[1] === 0) {\n                        // Seen for first time.\n                        if (el.nodeType !== _type2.default.ELEMENT_NODE) {\n                            stack.pop();\n                            continue;\n                        }\n                        var html_el = el;\n                        state[2] = matcher.advance(html_el);\n                        if (state[2]) {\n                            if (matcher.matched) {\n                                res.push(html_el);\n                                res.push.apply(res, _toConsumableArray(html_el.querySelectorAll(selector)));\n                                // no need to go further.\n                                matcher.rewind();\n                                stack.pop();\n                                continue;\n                            }\n                        }\n                    }\n                    if (state[1] < el.childNodes.length) {\n                        stack.push([el.childNodes[state[1]++], 0, false]);\n                    } else {\n                        if (state[2]) {\n                            matcher.rewind();\n                        }\n                        stack.pop();\n                    }\n                }\n                return res;\n            }, []);\n        }\n        /**\n         * Query CSS Selector to find matching node.\n         * @param  {string}         selector Simplified CSS selector\n         * @param  {Matcher}        selector A Matcher instance\n         * @return {HTMLElement}    matching node\n         */\n\n    }, {\n        key: 'querySelector',\n        value: function querySelector(selector) {\n            var matcher = void 0;\n            if (selector instanceof _matcher2.default) {\n                matcher = selector;\n                matcher.reset();\n            } else {\n                matcher = new _matcher2.default(selector);\n            }\n            var stack = [];\n            var _iteratorNormalCompletion = true;\n            var _didIteratorError = false;\n            var _iteratorError = undefined;\n\n            try {\n                for (var _iterator = this.childNodes[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {\n                    var node = _step.value;\n\n                    stack.push([node, 0, false]);\n                    while (stack.length) {\n                        var state = (0, _back2.default)(stack);\n                        var el = state[0];\n                        if (state[1] === 0) {\n                            // Seen for first time.\n                            if (el.nodeType !== _type2.default.ELEMENT_NODE) {\n                                stack.pop();\n                                continue;\n                            }\n                            state[2] = matcher.advance(el);\n                            if (state[2]) {\n                                if (matcher.matched) {\n                                    return el;\n                                }\n                            }\n                        }\n                        if (state[1] < el.childNodes.length) {\n                            stack.push([el.childNodes[state[1]++], 0, false]);\n                        } else {\n                            if (state[2]) {\n                                matcher.rewind();\n                            }\n                            stack.pop();\n                        }\n                    }\n                }\n            } catch (err) {\n                _didIteratorError = true;\n                _iteratorError = err;\n            } finally {\n                try {\n                    if (!_iteratorNormalCompletion && _iterator.return) {\n                        _iterator.return();\n                    }\n                } finally {\n                    if (_didIteratorError) {\n                        throw _iteratorError;\n                    }\n                }\n            }\n\n            return null;\n        }\n        /**\n         * Append a child node to childNodes\n         * @param  {Node} node node to append\n         * @return {Node}      node appended\n         */\n\n    }, {\n        key: 'appendChild',\n        value: function appendChild(node) {\n            // node.parentNode = this;\n            this.childNodes.push(node);\n            if (node instanceof HTMLElement) {\n                node.parentNode = this;\n            }\n            return node;\n        }\n        /**\n         * Get first child node\n         * @return {Node} first child node\n         */\n\n    }, {\n        key: 'removeAttribute',\n        value: function removeAttribute(key) {\n            var attrs = this.rawAttributes;\n            delete attrs[key];\n            // Update this.attribute\n            if (this._attrs) {\n                delete this._attrs[key];\n            }\n            // Update rawString\n            this.rawAttrs = Object.keys(attrs).map(function (name) {\n                var val = JSON.stringify(attrs[name]);\n                if (val === undefined || val === 'null') {\n                    return name;\n                }\n                return name + '=' + val;\n            }).join(' ');\n        }\n    }, {\n        key: 'hasAttribute',\n        value: function hasAttribute(key) {\n            return key in this.attributes;\n        }\n        /**\n         * Get an attribute\n         * @return {string} value of the attribute\n         */\n\n    }, {\n        key: 'getAttribute',\n        value: function getAttribute(key) {\n            return this.attributes[key];\n        }\n        /**\n         * Set an attribute value to the HTMLElement\n         * @param {string} key The attribute name\n         * @param {string} value The value to set, or null / undefined to remove an attribute\n         */\n\n    }, {\n        key: 'setAttribute',\n        value: function setAttribute(key, value) {\n            if (arguments.length < 2) {\n                throw new Error('Failed to execute \\'setAttribute\\' on \\'Element\\'');\n            }\n            var attrs = this.rawAttributes;\n            attrs[key] = String(value);\n            if (this._attrs) {\n                this._attrs[key] = (0, _he.decode)(attrs[key]);\n            }\n            // Update rawString\n            this.rawAttrs = Object.keys(attrs).map(function (name) {\n                var val = JSON.stringify(attrs[name]);\n                if (val === 'null' || val === '\"\"') {\n                    return name;\n                }\n                return name + '=' + val;\n            }).join(' ');\n        }\n        /**\n         * Replace all the attributes of the HTMLElement by the provided attributes\n         * @param {Attributes} attributes the new attribute set\n         */\n\n    }, {\n        key: 'setAttributes',\n        value: function setAttributes(attributes) {\n            // Invalidate current this.attributes\n            if (this._attrs) {\n                delete this._attrs;\n            }\n            // Invalidate current this.rawAttributes\n            if (this._rawAttrs) {\n                delete this._rawAttrs;\n            }\n            // Update rawString\n            this.rawAttrs = Object.keys(attributes).map(function (name) {\n                var val = attributes[name];\n                if (val === 'null' || val === '\"\"') {\n                    return name;\n                }\n                return name + '=' + JSON.stringify(String(val));\n            }).join(' ');\n        }\n    }, {\n        key: 'insertAdjacentHTML',\n        value: function insertAdjacentHTML(where, html) {\n            var _this5 = this;\n\n            if (arguments.length < 2) {\n                throw new Error('2 arguments required');\n            }\n            var p = parse(html);\n            if (where === 'afterend') {\n                var _parentNode$childNode;\n\n                var idx = this.parentNode.childNodes.findIndex(function (child) {\n                    return child === _this5;\n                });\n                (_parentNode$childNode = this.parentNode.childNodes).splice.apply(_parentNode$childNode, [idx + 1, 0].concat(_toConsumableArray(p.childNodes)));\n                p.childNodes.forEach(function (n) {\n                    if (n instanceof HTMLElement) {\n                        n.parentNode = _this5.parentNode;\n                    }\n                });\n            } else if (where === 'afterbegin') {\n                var _childNodes;\n\n                (_childNodes = this.childNodes).unshift.apply(_childNodes, _toConsumableArray(p.childNodes));\n            } else if (where === 'beforeend') {\n                p.childNodes.forEach(function (n) {\n                    _this5.appendChild(n);\n                });\n            } else if (where === 'beforebegin') {\n                var _parentNode$childNode2;\n\n                var _idx = this.parentNode.childNodes.findIndex(function (child) {\n                    return child === _this5;\n                });\n                (_parentNode$childNode2 = this.parentNode.childNodes).splice.apply(_parentNode$childNode2, [_idx, 0].concat(_toConsumableArray(p.childNodes)));\n                p.childNodes.forEach(function (n) {\n                    if (n instanceof HTMLElement) {\n                        n.parentNode = _this5.parentNode;\n                    }\n                });\n            } else {\n                throw new Error('The value provided (\\'' + where + '\\') is not one of \\'beforebegin\\', \\'afterbegin\\', \\'beforeend\\', or \\'afterend\\'');\n            }\n            // if (!where || html === undefined || html === null) {\n            // \treturn;\n            // }\n        }\n    }, {\n        key: 'tagName',\n        get: function get() {\n            return this.rawTagName ? this.rawTagName.toUpperCase() : this.rawTagName;\n        }\n        /**\n         * Get escpaed (as-it) text value of current node and its children.\n         * @return {string} text content\n         */\n\n    }, {\n        key: 'rawText',\n        get: function get() {\n            return this.childNodes.reduce(function (pre, cur) {\n                return pre += cur.rawText;\n            }, '');\n        }\n        /**\n         * Get unescaped text value of current node and its children.\n         * @return {string} text content\n         */\n\n    }, {\n        key: 'text',\n        get: function get() {\n            return (0, _he.decode)(this.rawText);\n        }\n        /**\n         * Get structured Text (with '\\n' etc.)\n         * @return {string} structured text\n         */\n\n    }, {\n        key: 'structuredText',\n        get: function get() {\n            var currentBlock = [];\n            var blocks = [currentBlock];\n            function dfs(node) {\n                if (node.nodeType === _type2.default.ELEMENT_NODE) {\n                    if (kBlockElements.get(node.rawTagName)) {\n                        if (currentBlock.length > 0) {\n                            blocks.push(currentBlock = []);\n                        }\n                        node.childNodes.forEach(dfs);\n                        if (currentBlock.length > 0) {\n                            blocks.push(currentBlock = []);\n                        }\n                    } else {\n                        node.childNodes.forEach(dfs);\n                    }\n                } else if (node.nodeType === _type2.default.TEXT_NODE) {\n                    if (node.isWhitespace) {\n                        // Whitespace node, postponed output\n                        currentBlock.prependWhitespace = true;\n                    } else {\n                        var text = node.text;\n                        if (currentBlock.prependWhitespace) {\n                            text = ' ' + text;\n                            currentBlock.prependWhitespace = false;\n                        }\n                        currentBlock.push(text);\n                    }\n                }\n            }\n            dfs(this);\n            return blocks.map(function (block) {\n                // Normalize each line's whitespace\n                return block.join('').trim().replace(/\\s{2,}/g, ' ');\n            }).join('\\n').replace(/\\s+$/, ''); // trimRight;\n        }\n    }, {\n        key: 'innerHTML',\n        get: function get() {\n            return this.childNodes.map(function (child) {\n                return child.toString();\n            }).join('');\n        }\n    }, {\n        key: 'outerHTML',\n        get: function get() {\n            return this.toString();\n        }\n    }, {\n        key: 'structure',\n        get: function get() {\n            var res = [];\n            var indention = 0;\n            function write(str) {\n                res.push('  '.repeat(indention) + str);\n            }\n            function dfs(node) {\n                var idStr = node.id ? '#' + node.id : '';\n                var classStr = node.classNames.length ? '.' + node.classNames.join('.') : '';\n                write(node.rawTagName + idStr + classStr);\n                indention++;\n                node.childNodes.forEach(function (childNode) {\n                    if (childNode.nodeType === _type2.default.ELEMENT_NODE) {\n                        dfs(childNode);\n                    } else if (childNode.nodeType === _type2.default.TEXT_NODE) {\n                        if (!childNode.isWhitespace) {\n                            write('#text');\n                        }\n                    }\n                });\n                indention--;\n            }\n            dfs(this);\n            return res.join('\\n');\n        }\n    }, {\n        key: 'firstChild',\n        get: function get() {\n            return this.childNodes[0];\n        }\n        /**\n         * Get last child node\n         * @return {Node} last child node\n         */\n\n    }, {\n        key: 'lastChild',\n        get: function get() {\n            return (0, _back2.default)(this.childNodes);\n        }\n        /**\n         * Get attributes\n         * @return {Object} parsed and unescaped attributes\n         */\n\n    }, {\n        key: 'attributes',\n        get: function get() {\n            if (this._attrs) {\n                return this._attrs;\n            }\n            this._attrs = {};\n            var attrs = this.rawAttributes;\n            for (var key in attrs) {\n                var val = attrs[key] || '';\n                this._attrs[key] = (0, _he.decode)(val);\n            }\n            return this._attrs;\n        }\n        /**\n         * Get escaped (as-it) attributes\n         * @return {Object} parsed attributes\n         */\n\n    }, {\n        key: 'rawAttributes',\n        get: function get() {\n            if (this._rawAttrs) {\n                return this._rawAttrs;\n            }\n            var attrs = {};\n            if (this.rawAttrs) {\n                var re = /\\b([a-z][a-z0-9-]*)(?:\\s*=\\s*(?:\"([^\"]*)\"|'([^']*)'|(\\S+)))?/ig;\n                var match = void 0;\n                while (match = re.exec(this.rawAttrs)) {\n                    attrs[match[1]] = match[2] || match[3] || match[4] || null;\n                }\n            }\n            this._rawAttrs = attrs;\n            return attrs;\n        }\n    }, {\n        key: 'nextSibling',\n        get: function get() {\n            if (this.parentNode) {\n                var children = this.parentNode.childNodes;\n                var i = 0;\n                while (i < children.length) {\n                    var child = children[i++];\n                    if (this === child) {\n                        return children[i] || null;\n                    }\n                }\n                return null;\n            }\n        }\n    }, {\n        key: 'nextElementSibling',\n        get: function get() {\n            if (this.parentNode) {\n                var children = this.parentNode.childNodes;\n                var i = 0;\n                var find = false;\n                while (i < children.length) {\n                    var child = children[i++];\n                    if (find) {\n                        if (child instanceof HTMLElement) {\n                            return child || null;\n                        }\n                    } else if (this === child) {\n                        find = true;\n                    }\n                }\n                return null;\n            }\n        }\n    }]);\n\n    return HTMLElement;\n}(_node2.default);\n// https://html.spec.whatwg.org/multipage/custom-elements.html#valid-custom-element-name\n\n\nexports.default = HTMLElement;\nvar kMarkupPattern = /<!--[^]*?(?=-->)-->|<(\\/?)([a-z][-.:0-9_a-z]*)\\s*([^>]*?)(\\/?)>/ig;\n// <(?<tag>[^\\s]*)(.*)>(.*)</\\k<tag>>\n// <([a-z][-.:0-9_a-z]*)\\s*\\/>\n// <(area|base|br|col|hr|img|input|link|meta|source)\\s*(.*)\\/?>\n// <(area|base|br|col|hr|img|input|link|meta|source)\\s*(.*)\\/?>|<(?<tag>[^\\s]*)(.*)>(.*)</\\k<tag>>\nvar kAttributePattern = /(^|\\s)(id|class)\\s*=\\s*(\"([^\"]+)\"|'([^']+)'|(\\S+))/ig;\nvar kSelfClosingElements = {\n    area: true,\n    AREA: true,\n    base: true,\n    BASE: true,\n    br: true,\n    BR: true,\n    col: true,\n    COL: true,\n    hr: true,\n    HR: true,\n    img: true,\n    IMG: true,\n    input: true,\n    INPUT: true,\n    link: true,\n    LINK: true,\n    meta: true,\n    META: true,\n    source: true,\n    SOURCE: true,\n    embed: true,\n    EMBED: true,\n    param: true,\n    PARAM: true,\n    track: true,\n    TRACK: true,\n    wbr: true,\n    WBR: true\n};\nvar kElementsClosedByOpening = {\n    li: { li: true, LI: true },\n    LI: { li: true, LI: true },\n    p: { p: true, div: true, P: true, DIV: true },\n    P: { p: true, div: true, P: true, DIV: true },\n    b: { div: true, DIV: true },\n    B: { div: true, DIV: true },\n    td: { td: true, th: true, TD: true, TH: true },\n    TD: { td: true, th: true, TD: true, TH: true },\n    th: { td: true, th: true, TD: true, TH: true },\n    TH: { td: true, th: true, TD: true, TH: true },\n    h1: { h1: true, H1: true },\n    H1: { h1: true, H1: true },\n    h2: { h2: true, H2: true },\n    H2: { h2: true, H2: true },\n    h3: { h3: true, H3: true },\n    H3: { h3: true, H3: true },\n    h4: { h4: true, H4: true },\n    H4: { h4: true, H4: true },\n    h5: { h5: true, H5: true },\n    H5: { h5: true, H5: true },\n    h6: { h6: true, H6: true },\n    H6: { h6: true, H6: true }\n};\nvar kElementsClosedByClosing = {\n    li: { ul: true, ol: true, UL: true, OL: true },\n    LI: { ul: true, ol: true, UL: true, OL: true },\n    a: { div: true, DIV: true },\n    A: { div: true, DIV: true },\n    b: { div: true, DIV: true },\n    B: { div: true, DIV: true },\n    i: { div: true, DIV: true },\n    I: { div: true, DIV: true },\n    p: { div: true, DIV: true },\n    P: { div: true, DIV: true },\n    td: { tr: true, table: true, TR: true, TABLE: true },\n    TD: { tr: true, table: true, TR: true, TABLE: true },\n    th: { tr: true, table: true, TR: true, TABLE: true },\n    TH: { tr: true, table: true, TR: true, TABLE: true }\n};\nvar frameflag = 'documentfragmentcontainer';\nfunction parse(data) {\n    var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : { lowerCaseTagName: false, comment: false };\n\n    var elements = options.blockTextElements || {\n        script: true,\n        noscript: true,\n        style: true,\n        pre: true\n    };\n    var element_names = Object.keys(elements);\n    var kBlockTextElements = element_names.map(function (it) {\n        return new RegExp(it, 'i');\n    });\n    var kIgnoreElements = element_names.filter(function (it) {\n        return elements[it];\n    }).map(function (it) {\n        return new RegExp(it, 'i');\n    });\n    function element_should_be_ignore(tag) {\n        return kIgnoreElements.some(function (it) {\n            return it.test(tag);\n        });\n    }\n    function is_block_text_element(tag) {\n        return kBlockTextElements.some(function (it) {\n            return it.test(tag);\n        });\n    }\n    var root = new HTMLElement(null, {});\n    var currentParent = root;\n    var stack = [root];\n    var lastTextPos = -1;\n    var match = void 0;\n    // https://github.com/taoqf/node-html-parser/issues/38\n    data = '<' + frameflag + '>' + data + '</' + frameflag + '>';\n    while (match = kMarkupPattern.exec(data)) {\n        if (lastTextPos > -1) {\n            if (lastTextPos + match[0].length < kMarkupPattern.lastIndex) {\n                // if has content\n                var text = data.substring(lastTextPos, kMarkupPattern.lastIndex - match[0].length);\n                currentParent.appendChild(new _text4.default(text));\n            }\n        }\n        lastTextPos = kMarkupPattern.lastIndex;\n        if (match[2] === frameflag) {\n            continue;\n        }\n        if (match[0][1] === '!') {\n            // this is a comment\n            if (options.comment) {\n                // Only keep what is in between <!-- and -->\n                var _text = data.substring(lastTextPos - 3, lastTextPos - match[0].length + 4);\n                currentParent.appendChild(new _comment2.default(_text));\n            }\n            continue;\n        }\n        if (options.lowerCaseTagName) {\n            match[2] = match[2].toLowerCase();\n        }\n        if (!match[1]) {\n            // not </ tags\n            var attrs = {};\n            for (var attMatch; attMatch = kAttributePattern.exec(match[3]);) {\n                attrs[attMatch[2].toLowerCase()] = attMatch[4] || attMatch[5] || attMatch[6];\n            }\n            var tagName = currentParent.rawTagName;\n            if (!match[4] && kElementsClosedByOpening[tagName]) {\n                if (kElementsClosedByOpening[tagName][match[2]]) {\n                    stack.pop();\n                    currentParent = (0, _back2.default)(stack);\n                }\n            }\n            // ignore container tag we add above\n            // https://github.com/taoqf/node-html-parser/issues/38\n            currentParent = currentParent.appendChild(new HTMLElement(match[2], attrs, match[3]));\n            stack.push(currentParent);\n            if (is_block_text_element(match[2])) {\n                (function () {\n                    // a little test to find next </script> or </style> ...\n                    var closeMarkup = '</' + match[2] + '>';\n                    var index = function () {\n                        if (options.lowerCaseTagName) {\n                            return data.toLocaleLowerCase().indexOf(closeMarkup, kMarkupPattern.lastIndex);\n                        }\n                        return data.indexOf(closeMarkup, kMarkupPattern.lastIndex);\n                    }();\n                    if (element_should_be_ignore(match[2])) {\n                        var _text2 = void 0;\n                        if (index === -1) {\n                            // there is no matching ending for the text element.\n                            _text2 = data.substr(kMarkupPattern.lastIndex);\n                        } else {\n                            _text2 = data.substring(kMarkupPattern.lastIndex, index);\n                        }\n                        if (_text2.length > 0) {\n                            currentParent.appendChild(new _text4.default(_text2));\n                        }\n                    }\n                    if (index === -1) {\n                        lastTextPos = kMarkupPattern.lastIndex = data.length + 1;\n                    } else {\n                        lastTextPos = kMarkupPattern.lastIndex = index + closeMarkup.length;\n                        match[1] = 'true';\n                    }\n                })();\n            }\n        }\n        if (match[1] || match[4] || kSelfClosingElements[match[2]]) {\n            // </ or /> or <br> etc.\n            while (true) {\n                if (currentParent.rawTagName === match[2]) {\n                    stack.pop();\n                    currentParent = (0, _back2.default)(stack);\n                    break;\n                } else {\n                    var _tagName = currentParent.tagName;\n                    // Trying to close current tag, and move on\n                    if (kElementsClosedByClosing[_tagName]) {\n                        if (kElementsClosedByClosing[_tagName][match[2]]) {\n                            stack.pop();\n                            currentParent = (0, _back2.default)(stack);\n                            continue;\n                        }\n                    }\n                    // Use aggressive strategy to handle unmatching markups.\n                    break;\n                }\n            }\n        }\n    }\n    var valid = Boolean(stack.length === 1);\n    if (!options.noFix) {\n        var _response = root;\n        _response.valid = valid;\n\n        var _loop = function _loop() {\n            // Handle each error elements.\n            var last = stack.pop();\n            var oneBefore = (0, _back2.default)(stack);\n            if (last.parentNode && last.parentNode.parentNode) {\n                if (last.parentNode === oneBefore && last.tagName === oneBefore.tagName) {\n                    // Pair error case <h3> <h3> handle : Fixes to <h3> </h3>\n                    oneBefore.removeChild(last);\n                    last.childNodes.forEach(function (child) {\n                        oneBefore.parentNode.appendChild(child);\n                    });\n                    stack.pop();\n                } else {\n                    // Single error  <div> <h3> </div> handle: Just removes <h3>\n                    oneBefore.removeChild(last);\n                    last.childNodes.forEach(function (child) {\n                        oneBefore.appendChild(child);\n                    });\n                }\n            } else {\n                // If it's final element just skip.\n            }\n        };\n\n        while (stack.length > 1) {\n            _loop();\n        }\n        _response.childNodes.forEach(function (node) {\n            if (node instanceof HTMLElement) {\n                node.parentNode = null;\n            }\n        });\n        return _response;\n    }\n    var response = new _text4.default(data);\n    response.valid = valid;\n    return response;\n}\n\n//# sourceURL=webpack://Contentstack/./node_modules/node-html-parser/dist/esm/nodes/html.js?");
  
  /***/ }),
  
  /***/ "./node_modules/node-html-parser/dist/esm/nodes/node.js":
  /*!**************************************************************!*\
    !*** ./node_modules/node-html-parser/dist/esm/nodes/node.js ***!
    \**************************************************************/
  /*! no static exports found */
  /***/ (function(module, exports, __webpack_require__) {
  
  "use strict";
  eval("\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\n/**\n * Node Class as base class for TextNode and HTMLElement.\n */\nvar Node = function () {\n    function Node() {\n        _classCallCheck(this, Node);\n\n        this.childNodes = [];\n    }\n\n    _createClass(Node, [{\n        key: \"innerText\",\n        get: function get() {\n            return this.rawText;\n        }\n    }]);\n\n    return Node;\n}();\n\nexports.default = Node;\n\n//# sourceURL=webpack://Contentstack/./node_modules/node-html-parser/dist/esm/nodes/node.js?");
  
  /***/ }),
  
  /***/ "./node_modules/node-html-parser/dist/esm/nodes/text.js":
  /*!**************************************************************!*\
    !*** ./node_modules/node-html-parser/dist/esm/nodes/text.js ***!
    \**************************************************************/
  /*! no static exports found */
  /***/ (function(module, exports, __webpack_require__) {
  
  "use strict";
  eval("\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 _type = __webpack_require__(/*! ./type */ \"./node_modules/node-html-parser/dist/esm/nodes/type.js\");\n\nvar _type2 = _interopRequireDefault(_type);\n\nvar _node = __webpack_require__(/*! ./node */ \"./node_modules/node-html-parser/dist/esm/nodes/node.js\");\n\nvar _node2 = _interopRequireDefault(_node);\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\n/**\n * TextNode to contain a text element in DOM tree.\n * @param {string} value [description]\n */\nvar TextNode = function (_Node) {\n    _inherits(TextNode, _Node);\n\n    function TextNode(rawText) {\n        _classCallCheck(this, TextNode);\n\n        var _this = _possibleConstructorReturn(this, (TextNode.__proto__ || Object.getPrototypeOf(TextNode)).call(this));\n\n        _this.rawText = rawText;\n        /**\n         * Node Type declaration.\n         * @type {Number}\n         */\n        _this.nodeType = _type2.default.TEXT_NODE;\n        return _this;\n    }\n    /**\n     * Get unescaped text value of current node and its children.\n     * @return {string} text content\n     */\n\n\n    _createClass(TextNode, [{\n        key: 'toString',\n        value: function toString() {\n            return this.text;\n        }\n    }, {\n        key: 'text',\n        get: function get() {\n            return this.rawText;\n        }\n        /**\n         * Detect if the node contains only white space.\n         * @return {bool}\n         */\n\n    }, {\n        key: 'isWhitespace',\n        get: function get() {\n            return (/^(\\s|&nbsp;)*$/.test(this.rawText)\n            );\n        }\n    }]);\n\n    return TextNode;\n}(_node2.default);\n\nexports.default = TextNode;\n\n//# sourceURL=webpack://Contentstack/./node_modules/node-html-parser/dist/esm/nodes/text.js?");
  
  /***/ }),
  
  /***/ "./node_modules/node-html-parser/dist/esm/nodes/type.js":
  /*!**************************************************************!*\
    !*** ./node_modules/node-html-parser/dist/esm/nodes/type.js ***!
    \**************************************************************/
  /*! no static exports found */
  /***/ (function(module, exports, __webpack_require__) {
  
  "use strict";
  eval("\n\nObject.defineProperty(exports, \"__esModule\", {\n    value: true\n});\nvar NodeType;\n(function (NodeType) {\n    NodeType[NodeType[\"ELEMENT_NODE\"] = 1] = \"ELEMENT_NODE\";\n    NodeType[NodeType[\"TEXT_NODE\"] = 3] = \"TEXT_NODE\";\n    NodeType[NodeType[\"COMMENT_NODE\"] = 8] = \"COMMENT_NODE\";\n})(NodeType || (NodeType = {}));\nexports.default = NodeType;\n\n//# sourceURL=webpack://Contentstack/./node_modules/node-html-parser/dist/esm/nodes/type.js?");
  
  /***/ }),
  
  /***/ "./node_modules/process/browser.js":
  /*!*****************************************!*\
    !*** ./node_modules/process/browser.js ***!
    \*****************************************/
  /*! no static exports found */
  /***/ (function(module, exports, __webpack_require__) {
  
  "use strict";
  eval("\n\n// shim for using process in browser\nvar process = module.exports = {};\n\n// cached from whatever global is present so that test runners that stub it\n// don't break things.  But we need to wrap it in a try catch in case it is\n// wrapped in strict mode code which doesn't define any globals.  It's inside a\n// function because try/catches deoptimize in certain engines.\n\nvar cachedSetTimeout;\nvar cachedClearTimeout;\n\nfunction defaultSetTimout() {\n    throw new Error('setTimeout has not been defined');\n}\nfunction defaultClearTimeout() {\n    throw new Error('clearTimeout has not been defined');\n}\n(function () {\n    try {\n        if (typeof setTimeout === 'function') {\n            cachedSetTimeout = setTimeout;\n        } else {\n            cachedSetTimeout = defaultSetTimout;\n        }\n    } catch (e) {\n        cachedSetTimeout = defaultSetTimout;\n    }\n    try {\n        if (typeof clearTimeout === 'function') {\n            cachedClearTimeout = clearTimeout;\n        } else {\n            cachedClearTimeout = defaultClearTimeout;\n        }\n    } catch (e) {\n        cachedClearTimeout = defaultClearTimeout;\n    }\n})();\nfunction runTimeout(fun) {\n    if (cachedSetTimeout === setTimeout) {\n        //normal enviroments in sane situations\n        return setTimeout(fun, 0);\n    }\n    // if setTimeout wasn't available but was latter defined\n    if ((cachedSetTimeout === defaultSetTimout || !cachedSetTimeout) && setTimeout) {\n        cachedSetTimeout = setTimeout;\n        return setTimeout(fun, 0);\n    }\n    try {\n        // when when somebody has screwed with setTimeout but no I.E. maddness\n        return cachedSetTimeout(fun, 0);\n    } catch (e) {\n        try {\n            // When we are in I.E. but the script has been evaled so I.E. doesn't trust the global object when called normally\n            return cachedSetTimeout.call(null, fun, 0);\n        } catch (e) {\n            // same as above but when it's a version of I.E. that must have the global object for 'this', hopfully our context correct otherwise it will throw a global error\n            return cachedSetTimeout.call(this, fun, 0);\n        }\n    }\n}\nfunction runClearTimeout(marker) {\n    if (cachedClearTimeout === clearTimeout) {\n        //normal enviroments in sane situations\n        return clearTimeout(marker);\n    }\n    // if clearTimeout wasn't available but was latter defined\n    if ((cachedClearTimeout === defaultClearTimeout || !cachedClearTimeout) && clearTimeout) {\n        cachedClearTimeout = clearTimeout;\n        return clearTimeout(marker);\n    }\n    try {\n        // when when somebody has screwed with setTimeout but no I.E. maddness\n        return cachedClearTimeout(marker);\n    } catch (e) {\n        try {\n            // When we are in I.E. but the script has been evaled so I.E. doesn't  trust the global object when called normally\n            return cachedClearTimeout.call(null, marker);\n        } catch (e) {\n            // same as above but when it's a version of I.E. that must have the global object for 'this', hopfully our context correct otherwise it will throw a global error.\n            // Some versions of I.E. have different rules for clearTimeout vs setTimeout\n            return cachedClearTimeout.call(this, marker);\n        }\n    }\n}\nvar queue = [];\nvar draining = false;\nvar currentQueue;\nvar queueIndex = -1;\n\nfunction cleanUpNextTick() {\n    if (!draining || !currentQueue) {\n        return;\n    }\n    draining = false;\n    if (currentQueue.length) {\n        queue = currentQueue.concat(queue);\n    } else {\n        queueIndex = -1;\n    }\n    if (queue.length) {\n        drainQueue();\n    }\n}\n\nfunction drainQueue() {\n    if (draining) {\n        return;\n    }\n    var timeout = runTimeout(cleanUpNextTick);\n    draining = true;\n\n    var len = queue.length;\n    while (len) {\n        currentQueue = queue;\n        queue = [];\n        while (++queueIndex < len) {\n            if (currentQueue) {\n                currentQueue[queueIndex].run();\n            }\n        }\n        queueIndex = -1;\n        len = queue.length;\n    }\n    currentQueue = null;\n    draining = false;\n    runClearTimeout(timeout);\n}\n\nprocess.nextTick = function (fun) {\n    var args = new Array(arguments.length - 1);\n    if (arguments.length > 1) {\n        for (var i = 1; i < arguments.length; i++) {\n            args[i - 1] = arguments[i];\n        }\n    }\n    queue.push(new Item(fun, args));\n    if (queue.length === 1 && !draining) {\n        runTimeout(drainQueue);\n    }\n};\n\n// v8 likes predictible objects\nfunction Item(fun, array) {\n    this.fun = fun;\n    this.array = array;\n}\nItem.prototype.run = function () {\n    this.fun.apply(null, this.array);\n};\nprocess.title = 'browser';\nprocess.browser = true;\nprocess.env = {};\nprocess.argv = [];\nprocess.version = ''; // empty string to avoid regexp issues\nprocess.versions = {};\n\nfunction noop() {}\n\nprocess.on = noop;\nprocess.addListener = noop;\nprocess.once = noop;\nprocess.off = noop;\nprocess.removeListener = noop;\nprocess.removeAllListeners = noop;\nprocess.emit = noop;\nprocess.prependListener = noop;\nprocess.prependOnceListener = noop;\n\nprocess.listeners = function (name) {\n    return [];\n};\n\nprocess.binding = function (name) {\n    throw new Error('process.binding is not supported');\n};\n\nprocess.cwd = function () {\n    return '/';\n};\nprocess.chdir = function (dir) {\n    throw new Error('process.chdir is not supported');\n};\nprocess.umask = function () {\n    return 0;\n};\n\n//# sourceURL=webpack://Contentstack/./node_modules/process/browser.js?");
  
  /***/ }),
  
  /***/ "./node_modules/webpack/buildin/amd-options.js":
  /*!****************************************!*\
    !*** (webpack)/buildin/amd-options.js ***!
    \****************************************/
  /*! no static exports found */
  /***/ (function(module, exports) {
  
  eval("/* WEBPACK VAR INJECTION */(function(__webpack_amd_options__) {/* globals __webpack_amd_options__ */\nmodule.exports = __webpack_amd_options__;\n\n/* WEBPACK VAR INJECTION */}.call(this, {}))\n\n//# sourceURL=webpack://Contentstack/(webpack)/buildin/amd-options.js?");
  
  /***/ }),
  
  /***/ "./node_modules/webpack/buildin/global.js":
  /*!***********************************!*\
    !*** (webpack)/buildin/global.js ***!
    \***********************************/
  /*! no static exports found */
  /***/ (function(module, exports, __webpack_require__) {
  
  "use strict";
  eval("\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 g;\n\n// This works in non-strict mode\ng = function () {\n\treturn this;\n}();\n\ntry {\n\t// This works if eval is allowed (see CSP)\n\tg = g || new Function(\"return this\")();\n} catch (e) {\n\t// This works if the window reference is available\n\tif ((typeof window === \"undefined\" ? \"undefined\" : _typeof(window)) === \"object\") g = window;\n}\n\n// g can still be undefined, but nothing to do about it...\n// We return undefined, instead of nothing here, so it's\n// easier to handle this case. if(!global) { ...}\n\nmodule.exports = g;\n\n//# sourceURL=webpack://Contentstack/(webpack)/buildin/global.js?");
  
  /***/ }),
  
  /***/ "./node_modules/webpack/buildin/module.js":
  /*!***********************************!*\
    !*** (webpack)/buildin/module.js ***!
    \***********************************/
  /*! no static exports found */
  /***/ (function(module, exports, __webpack_require__) {
  
  "use strict";
  eval("\n\nmodule.exports = function (module) {\n\tif (!module.webpackPolyfill) {\n\t\tmodule.deprecate = function () {};\n\t\tmodule.paths = [];\n\t\t// module.parent = undefined by default\n\t\tif (!module.children) module.children = [];\n\t\tObject.defineProperty(module, \"loaded\", {\n\t\t\tenumerable: true,\n\t\t\tget: function get() {\n\t\t\t\treturn module.l;\n\t\t\t}\n\t\t});\n\t\tObject.defineProperty(module, \"id\", {\n\t\t\tenumerable: true,\n\t\t\tget: function get() {\n\t\t\t\treturn module.i;\n\t\t\t}\n\t\t});\n\t\tmodule.webpackPolyfill = 1;\n\t}\n\treturn module;\n};\n\n//# sourceURL=webpack://Contentstack/(webpack)/buildin/module.js?");
  
  /***/ }),
  
  /***/ "./src/core/cache-provider/index.js":
  /*!******************************************!*\
    !*** ./src/core/cache-provider/index.js ***!
    \******************************************/
  /*! no static exports found */
  /***/ (function(module, exports, __webpack_require__) {
  
  "use strict";
  eval("\n\nObject.defineProperty(exports, \"__esModule\", {\n    value: true\n});\n\nvar _localstorage = __webpack_require__(/*! ./localstorage */ \"./src/core/cache-provider/localstorage.js\");\n\nvar _localstorage2 = _interopRequireDefault(_localstorage);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar CacheProvider = {};\n\nCacheProvider.providers = function (provider) {\n    if (provider) {\n        return _localstorage2.default;\n    } else {\n        console.error(\"Kindly provide valid provider.\");\n    }\n};\n\nCacheProvider.policies = {\n    IGNORE_CACHE: -1,\n    ONLY_NETWORK: 0,\n    CACHE_ELSE_NETWORK: 1,\n    NETWORK_ELSE_CACHE: 2,\n    CACHE_THEN_NETWORK: 3\n};\n\nexports.default = CacheProvider;\n\n//# sourceURL=webpack://Contentstack/./src/core/cache-provider/index.js?");
  
  /***/ }),
  
  /***/ "./src/core/cache-provider/localstorage.js":
  /*!*************************************************!*\
    !*** ./src/core/cache-provider/localstorage.js ***!
    \*************************************************/
  /*! no static exports found */
  /***/ (function(module, exports, __webpack_require__) {
  
  "use strict";
  eval("\n\nObject.defineProperty(exports, \"__esModule\", {\n    value: true\n});\n\nvar _cache = __webpack_require__(/*! ./../cache */ \"./src/core/cache.js\");\n\nvar cache = _interopRequireWildcard(_cache);\n\nfunction _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) newObj[key] = obj[key]; } } newObj.default = obj; return newObj; } }\n\nvar localStorage = {};\n\nlocalStorage.get = function (key, callback) {\n    try {\n        callback(null, cache.get(key));\n    } catch (e) {\n        callback(e);\n    }\n};\n\nlocalStorage.set = function (key, value, callback) {\n    try {\n        if (key && value) cache.set(key, value);\n        callback();\n    } catch (e) {\n        callback(e);\n    }\n};\n\nfunction clearValuesForKey(keyArray, append) {\n    if (!append && keyArray && keyArray.length) keyArray.push('');\n    var _key = void 0,\n        keys = cache.getKeys(),\n        storage = cache.getStorage();\n    if (!keyArray || !keyArray.length) {\n        for (var i = 0, _i = keys.length; i < _i; i++) {\n            delete storage[keys[i]];\n        }\n    } else {\n        _key = keyArray.join('.');\n        for (var _i2 = 0, _i3 = keys.length; _i2 < _i3; _i2++) {\n            if (keys[_i2] && keys[_i2].indexOf(_key) === 0) delete storage[keys[_i2]];\n        }\n    }\n}\n\nlocalStorage.clearByContentType = function () {\n    try {\n        if (arguments.length === 2 || arguments.length === 3) {\n            var args = Array.prototype.slice.call(arguments);\n            var _callback = args.splice(-1, 1).pop();\n            var valueArray = [];\n            valueArray.push.apply(valueArray, args);\n            clearValuesForKey(valueArray);\n            _callback();\n        }\n    } catch (e) {\n        callback(e);\n    }\n};\n\nlocalStorage.clearByQuery = function (query, callback) {\n    try {\n        var keys = cache.getKeys(),\n            storage = cache.getStorage();\n        for (var i = 0, _i = keys.length; i < _i; i++) {\n            if (keys[i] && ~keys[i].indexOf(query)) delete storage[keys[i]];\n        }\n        callback();\n    } catch (e) {\n        callback(e);\n    }\n};\n\nlocalStorage.clearAll = function (callback) {\n    try {\n        clearValuesForKey();\n        callback();\n    } catch (e) {\n        callback(e);\n    }\n};\n\nexports.default = localStorage;\n\n//# sourceURL=webpack://Contentstack/./src/core/cache-provider/localstorage.js?");
  
  /***/ }),
  
  /***/ "./src/core/cache.js":
  /*!***************************!*\
    !*** ./src/core/cache.js ***!
    \***************************/
  /*! no static exports found */
  /***/ (function(module, exports, __webpack_require__) {
  
  "use strict";
  eval("\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\nexports.get = get;\nexports.set = set;\nexports.getStorage = getStorage;\nexports.getKeys = getKeys;\n\nvar _utils = __webpack_require__(/*! ./lib/utils.js */ \"./src/core/lib/utils.js\");\n\nvar Utils = _interopRequireWildcard(_utils);\n\nvar _localstorage = __webpack_require__(/*! runtime/localstorage.js */ \"./src/runtime/nativescript/localstorage.js\");\n\nvar _localstorage2 = _interopRequireDefault(_localstorage);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) newObj[key] = obj[key]; } } newObj.default = obj; return newObj; } }\n\nfunction get(key) {\n    var data = _localstorage2.default.getItem(key);\n    try {\n        data = JSON.parse(data);\n    } catch (e) {\n        return data;\n    }\n    return data || null;\n};\n\nfunction set(key, data) {\n    try {\n        if ((typeof data === 'undefined' ? 'undefined' : _typeof(data)) === 'object') {\n            _localstorage2.default.setItem(key, JSON.stringify(data));\n        } else {\n            _localstorage2.default.setItem(key, data);\n        }\n    } catch (error) {}\n};\n\nfunction getStorage() {\n    return _localstorage2.default || null;\n};\n\nfunction getKeys() {\n    return _localstorage2.default ? Object.keys(_localstorage2.default) : [];\n};\n\n//# sourceURL=webpack://Contentstack/./src/core/cache.js?");
  
  /***/ }),
  
  /***/ "./src/core/contentstack.js":
  /*!**********************************!*\
    !*** ./src/core/contentstack.js ***!
    \**********************************/
  /*! no static exports found */
  /***/ (function(module, exports, __webpack_require__) {
  
  "use strict";
  eval("\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 _stack = __webpack_require__(/*! ./stack */ \"./src/core/stack.js\");\n\nvar _stack2 = _interopRequireDefault(_stack);\n\nvar _index = __webpack_require__(/*! ./cache-provider/index */ \"./src/core/cache-provider/index.js\");\n\nvar _index2 = _interopRequireDefault(_index);\n\nvar _contentstackregion = __webpack_require__(/*! ./contentstackregion */ \"./src/core/contentstackregion.js\");\n\nvar _contentstackregion2 = _interopRequireDefault(_contentstackregion);\n\nvar _utils = __webpack_require__(/*! @contentstack/utils */ \"./node_modules/@contentstack/utils/dist/index.es.js\");\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\n/**\n* @class \n Contentstack \n* @description Creates an instance of `Contentstack`.\n* @instance\n*/\n\nvar Contentstack = function () {\n\tfunction Contentstack() {\n\t\t_classCallCheck(this, Contentstack);\n\n\t\t/**\n   * @memberOf Contentstack\n   * @description CachePolicy contains different cache policies constants.\n   * @example\n   * Contentstack.CachePolicy.IGNORE_CACHE\n   * Contentstack.CachePolicy.ONLY_NETWORK\n   * Contentstack.CachePolicy.CACHE_ELSE_NETWORK\n   * Contentstack.CachePolicy.NETWORK_ELSE_CACHE\n   * Contentstack.CachePolicy.CACHE_THEN_NETWORK\n   */\n\t\tthis.CachePolicy = _index2.default.policies;\n\t\tthis.Region = _contentstackregion2.default;\n\n\t\tthis.Utils = {\n\t\t\t/**\n    * @memberof Contentstack\n    * @description Renders embedded objects in Rich text from Entry or Multiple Entry Object.\n    * \n    * @param {EntryEmbedable| EntryEmbedable[]} entry - Objects that contains RTE with embedded objects\n    * @param {string[]} keyPaths - Key paths for RTE contents in Entry object\n    * @param {RenderOption?} renderOption -  Optional render options to render content\n    */\n\t\t\trender: _utils.render,\n\t\t\t/**\n    * @memberof Contentstack\n    * @description Renders embedded objects in Rich text from String or String of array.\n    * @param {string | string[]} content - RTE content to render \n    * @param {EntryEmbedable} options.entry - Entry object containing embedded objects\n    * @param {RenderOption?} options.renderOption - Optional render options to render content\n    */\n\t\t\trenderContent: _utils.renderContent\n\t\t};\n\t}\n\t/**\n \n * @memberOf Contentstack\n */\n\n\n\t_createClass(Contentstack, [{\n\t\tkey: \"Stack\",\n\t\tvalue: function Stack() {\n\t\t\tfor (var _len = arguments.length, stack_arguments = Array(_len), _key = 0; _key < _len; _key++) {\n\t\t\t\tstack_arguments[_key] = arguments[_key];\n\t\t\t}\n\n\t\t\treturn new (Function.prototype.bind.apply(_stack2.default, [null].concat(stack_arguments)))();\n\t\t}\n\t}]);\n\n\treturn Contentstack;\n}();\n\nmodule.exports = new Contentstack();\n\n//# sourceURL=webpack://Contentstack/./src/core/contentstack.js?");
  
  /***/ }),
  
  /***/ "./src/core/contentstackregion.js":
  /*!****************************************!*\
    !*** ./src/core/contentstackregion.js ***!
    \****************************************/
  /*! no static exports found */
  /***/ (function(module, exports, __webpack_require__) {
  
  "use strict";
  eval("\n\nObject.defineProperty(exports, \"__esModule\", {\n    value: true\n});\nvar ContentstackRegion = {\n    EU: \"eu\",\n    US: \"us\"\n};\n\nexports.default = ContentstackRegion;\n//module.exports = ContentstackRegion;\n\n//# sourceURL=webpack://Contentstack/./src/core/contentstackregion.js?");
  
  /***/ }),
  
  /***/ "./src/core/lib/request.js":
  /*!*********************************!*\
    !*** ./src/core/lib/request.js ***!
    \*********************************/
  /*! no static exports found */
  /***/ (function(module, exports, __webpack_require__) {
  
  "use strict";
  eval("\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\nexports.default = Request;\n\nvar _utils = __webpack_require__(/*! ./utils.js */ \"./src/core/lib/utils.js\");\n\nvar Utils = _interopRequireWildcard(_utils);\n\nvar _http = __webpack_require__(/*! runtime/http.js */ \"./src/runtime/nativescript/http.js\");\n\nvar _http2 = _interopRequireDefault(_http);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) newObj[key] = obj[key]; } } newObj.default = obj; return newObj; } }\n\n//JS SDK version\nvar version = '3.13.1';\nvar environment = void 0,\n    api_key = void 0;\nfunction Request(options, fetchOptions) {\n    return new Promise(function (resolve, reject) {\n        var queryParams = void 0;\n        var serialize = function serialize(obj, prefix) {\n\n            var str = [],\n                p = void 0;\n            if ((typeof obj === \"undefined\" ? \"undefined\" : _typeof(obj)) === \"object\" && obj.length !== undefined) {\n                for (var i = 0, _i = obj.length; i < _i; i++) {\n                    str.push(prefix + '[]=' + obj[i]);\n                }\n            } else {\n                for (p in obj) {\n                    var k = prefix ? prefix + \"[\" + p + \"]\" : p,\n                        v = obj[p];\n                    str.push(v !== null && (typeof v === \"undefined\" ? \"undefined\" : _typeof(v)) === \"object\" && p !== 'query' ? serialize(v, k) : k + \"=\" + encodeURIComponent(p !== 'query' ? v : JSON.stringify(v)));\n                }\n            }\n            return str.join(\"&\");\n        };\n\n        var url = options.url,\n            headers = options.headers;\n\n        // setting headers\n        headers['Content-Type'] = 'application/json; charset=UTF-8';\n        headers['X-User-Agent'] = 'contentstack-react-native/' + version;\n\n        if (options.body && _typeof(options.body) === 'object') {\n            delete options.body._method;\n            if (_typeof(options.body.query) === \"object\" && Object.keys(options.body.query).length === 0) delete options.body.query;\n            queryParams = serialize(options.body);\n        }\n\n        return fetchRetry(url + '?' + queryParams, headers, fetchOptions.retryDelay, fetchOptions.retryLimit, fetchOptions, resolve, reject);\n    });\n}\n\nfunction wait(retryDelay) {\n    return new Promise(function (resolve) {\n        setTimeout(resolve, retryDelay);\n    });\n}\nasync function safeParseJSON(response) {\n    var body = await response.text();\n}\nfunction fetchRetry(url, headers) {\n    var retryDelay = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 300;\n    var retryLimit = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : 5;\n    var fetchOptions = arguments[4];\n    var resolve = arguments[5];\n    var reject = arguments[6];\n\n    var option = Utils.mergeDeep({\n        method: 'GET',\n        headers: headers,\n        timeout: 30000\n    }, fetchOptions);\n\n    function onError(error) {\n        if (retryLimit === 0) {\n            reject(error);\n        } else {\n            var msDelay = retryDelay;\n            retryLimit = retryLimit - 1;\n            var retryCount = fetchOptions.retryLimit - retryLimit;\n            if (fetchOptions.retryDelayOptions) {\n                if (fetchOptions.retryDelayOptions.base) {\n                    msDelay = fetchOptions.retryDelayOptions.base * retryCount;\n                } else if (fetchOptions.retryDelayOptions.customBackoff) {\n                    msDelay = fetchOptions.retryDelayOptions.customBackoff(retryCount, error);\n                }\n            }\n            wait(msDelay).then(function () {\n                return fetchRetry(url, headers, retryDelay, retryLimit, fetchOptions, resolve, reject);\n            });\n        }\n    }\n    (0, _http2.default)(url, option).then(function (response) {\n        var data = response.json();\n        if (response.ok && response.status === 200) {\n            resolve(data);\n        } else {\n            data.then(function (json) {\n                if (fetchOptions.retryCondition && fetchOptions.retryCondition(response)) {\n                    onError(json);\n                } else {\n                    reject(json);\n                }\n            }).catch(function () {\n                reject({ status: response.status, statusText: response.statusText });\n            });\n        }\n    }).catch(function (error) {\n        reject(error);\n    });\n}\n\n//# sourceURL=webpack://Contentstack/./src/core/lib/request.js?");
  
  /***/ }),
  
  /***/ "./src/core/lib/utils.js":
  /*!*******************************!*\
    !*** ./src/core/lib/utils.js ***!
    \*******************************/
  /*! no static exports found */
  /***/ (function(module, exports, __webpack_require__) {
  
  "use strict";
  eval("/* WEBPACK VAR INJECTION */(function(process) {\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 _typeof2 = 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\nexports.transform = transform;\nexports._type = _type;\nexports.mergeDeep = mergeDeep;\nexports.merge = merge;\nexports.isBrowser = isBrowser;\nexports.parseQueryFromParams = parseQueryFromParams;\nexports.getHash = getHash;\nexports.generateHash = generateHash;\nexports.resultWrapper = resultWrapper;\nexports.spreadResult = spreadResult;\nexports.sendRequest = sendRequest;\nexports.setDefaultConfig = setDefaultConfig;\nexports.getEditableDataAttributes = getEditableDataAttributes;\n\nvar _request = __webpack_require__(/*! ./request */ \"./src/core/lib/request.js\");\n\nvar _request2 = _interopRequireDefault(_request);\n\nvar _result = __webpack_require__(/*! ../modules/result */ \"./src/core/modules/result.js\");\n\nvar _result2 = _interopRequireDefault(_result);\n\nvar _config = __webpack_require__(/*! ../../../config */ \"./config.js\");\n\nvar _config2 = _interopRequireDefault(_config);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n/**\n * @method addSpread\n * @description method to add the spread.\n */\n(function addSpread() {\n    if (Promise.prototype.spread) return;\n    Promise.prototype.spread = function (fn, errFunc) {\n        errFunc = errFunc || function (err) {};\n        return this.then(function (args) {\n            return fn.apply(fn, args);\n        }).catch(function (err) {\n            errFunc(err);\n        });\n    };\n})();\n\nfunction transform(type) {\n    return function () {\n        this._query[type] = this._query[type] || {};\n        switch (arguments.length) {\n            case 1:\n                if (Array.isArray(arguments[0]) || typeof arguments[0] === \"string\") {\n                    var query = this._query[type][\"BASE\"] || [];\n                    query = query.concat(arguments[0]);\n                    this._query[type][\"BASE\"] = query;\n                    return this;\n                } else {\n                    console.error(\"Kindly provide valid parameters\");\n                }\n                break;\n            case 2:\n                if (typeof arguments[0] === \"string\" && (Array.isArray(arguments[1]) || typeof arguments[1] === \"string\")) {\n                    var _query2 = this._query[type][arguments[0]] || [];\n                    _query2 = _query2.concat(arguments[1]);\n                    this._query[type][arguments[0]] = _query2;\n                    return this;\n                } else {\n                    console.error(\"Kindly provide valid parameters\");\n                }\n                break;\n            default:\n                console.error(\"Kindly provide valid parameters\");\n        }\n    };\n}\n\nfunction _type(val) {\n    var _typeof = void 0,\n        __typeof = typeof val === \"undefined\" ? \"undefined\" : _typeof2(val);\n    switch (__typeof) {\n        case \"object\":\n            _typeof = __typeof;\n            if (Array.isArray(val)) {\n                __typeof = \"array\";\n            }\n            break;\n        default:\n            _typeof = __typeof;\n    }\n    return __typeof;\n}\n\n// merge two objects\nfunction mergeDeep(target, source) {\n    var self = this;\n    var _merge_recursive = function _merge_recursive(target, source) {\n        for (var key in source) {\n            if (self._type(source[key]) == \"object\" && self._type(target[key]) == self._type(source[key])) {\n                _merge_recursive(target[key], source[key]);\n            } else if (self._type(source[key]) == \"array\" && self._type(target[key]) == self._type(source[key])) {\n                target[key] = target[key].concat(source[key]);\n            } else {\n                target[key] = source[key];\n            }\n        }\n    };\n    _merge_recursive(target, source);\n    return target;\n}\n\n// merge two objects\nfunction merge(target, source) {\n    if (target && source) {\n        for (var key in source) {\n            target[key] = source[key];\n        }\n    }\n    return target;\n}\n\n// return true if process is running in browser else false\nfunction isBrowser() {\n    return typeof window !== \"undefined\" && (typeof process === \"undefined\" ? \"undefined\" : _typeof2(process)) === \"object\" && process.title === \"browser\";\n}\n\n// return the query from the params\nfunction parseQueryFromParams(queryObject, single, toJSON) {\n    if (queryObject && queryObject.requestParams) {\n        var _query = merge({}, queryObject.requestParams.body ? queryObject.requestParams.body.query || {} : {});\n        if (_query.environment_uid) {\n            delete _query.environment_uid;\n            _query.environment = queryObject.environment;\n        }\n        _query.environment = queryObject.environment;\n        return {\n            content_type_uid: queryObject.content_type_uid,\n            locale: _query.locale || \"en-us\",\n            query: _query,\n            entry_uid: queryObject.entry_uid,\n            asset_uid: queryObject.asset_uid,\n            single: single || \"false\",\n            toJSON: toJSON || \"false\",\n            api_key: queryObject.requestParams.headers ? queryObject.requestParams.headers.api_key : \"\"\n        };\n    }\n}\n\n// returrn the hash value of the query\nfunction getHash(query) {\n    try {\n        var hashValue = generateHash(JSON.stringify(query)),\n            keyArray = [];\n        keyArray.push(query.content_type_uid);\n        keyArray.push(query.locale);\n        if (query.entry_uid) keyArray.push(query.entry_uid);\n        if (query.asset_uid) keyArray.push(query.asset_uid);\n        keyArray.push(hashValue);\n        return keyArray.join(\".\");\n    } catch (e) {}\n}\n\n// return the hash value of the string\nfunction generateHash(str) {\n    var hash = 0,\n        i = void 0,\n        chr = void 0,\n        len = void 0;\n    if (str.length === 0) return hash;\n    for (i = 0, len = str.length; i < len; i++) {\n        chr = str.charCodeAt(i);\n        hash = (hash << 5) - hash + chr;\n        hash |= 0; // Convert to 32bit integer\n    }\n    return hash < -1 ? hash * -1 : hash;\n}\n\n// generate the Result object\nfunction resultWrapper(result) {\n    if (result && typeof result.entries !== \"undefined\") {\n        if (result.entries && result.entries.length) {\n            for (var i = 0, _i = result.entries.length; i < _i; i++) {\n                result.entries[i] = (0, _result2.default)(result.entries[i]);\n            }\n        } else {\n            result.entries = [];\n        }\n    } else if (result && result.assets && typeof result.assets !== \"undefined\") {\n        if (result.assets && result.assets.length) {\n            for (var j = 0, _j = result.assets.length; j < _j; j++) {\n                result.assets[j] = (0, _result2.default)(result.assets[j]);\n            }\n        } else {\n            result.assets = [];\n        }\n    } else if (result && typeof result.entry !== \"undefined\") {\n        result.entry = (0, _result2.default)(result.entry);\n    } else if (result && typeof result.asset !== \"undefined\") {\n        result.asset = (0, _result2.default)(result.asset);\n    } else if (result && typeof result.items !== \"undefined\") {\n        result.items = (0, _result2.default)(result.items).toJSON();\n    }\n\n    return result;\n}\n\n// // spread the result object\n// export function spreadResult(result) {\n//     let _results = [];\n//     if (result && Object.keys(result).length) {\n//         if (typeof result.entries !== 'undefined') _results.push(result.entries);\n//         if (typeof result.assets !== 'undefined') _results.push(result.assets);\n//         if (typeof result.content_type !== 'undefined' || typeof result.schema !== 'undefined') _results.push(result.content_type || result.schema);\n//         if (typeof result.count !== 'undefined') _results.push(result.count);\n//         if (typeof result.entry !== 'undefined') _results = result.entry;\n//         if (typeof result.asset !== 'undefined') _results = result.asset;\n//         if (typeof result.items !== 'undefined') _results.push(result);\n//     }\n//     return _results;\n// };\n\n// spread the result object\nfunction spreadResult(result) {\n    var _results = [];\n    if (result && Object.keys(result).length) {\n        if (typeof result.entries !== \"undefined\") {\n            _results.push(result.entries);\n            if (result.content_type) {\n                _results[\"schema\"] = result.content_type;\n            }\n        }\n        if (typeof result.assets !== \"undefined\") _results.push(result.assets);\n        if (typeof result.content_type !== \"undefined\" || typeof result.schema !== \"undefined\") _results.push(result.content_type || result.schema);\n        if (typeof result.count !== \"undefined\") _results.push(result.count);\n        if (typeof result.entry !== \"undefined\") {\n            _results = result.entry;\n            if (result.schema) {\n                _results[\"schema\"] = result.schema;\n            }\n            if (result.content_type) {\n                _results[\"content_type\"] = result.content_type;\n            }\n        }\n        if (typeof result.asset !== \"undefined\") _results = result.asset;\n        if (typeof result.items !== \"undefined\") _results.push(result);\n    }\n    return _results;\n}\n\nfunction sendRequest(queryObject, options) {\n    var env_uid = queryObject.environment_uid;\n    if (env_uid) {\n        queryObject._query.environment_uid = env_uid;\n    } else {\n        if (queryObject._query) {\n            queryObject._query.environment = queryObject.environment;\n        } else {\n            queryObject[\"_query\"] = {};\n            queryObject._query[\"environment\"] = queryObject.environment;\n        }\n    }\n\n    var self = queryObject;\n    var continueFlag = false;\n    var cachePolicy = typeof self.queryCachePolicy !== \"undefined\" ? self.queryCachePolicy : self.cachePolicy;\n    var tojson = typeof self.tojson !== \"undefined\" ? self.tojson : false;\n    var isSingle = self.entry_uid || self.singleEntry || self.asset_uid ? true : false;\n    var hashQuery = getHash(parseQueryFromParams(self, isSingle, tojson));\n\n    /**\n    for new api v3\n    */\n    if (queryObject && queryObject.requestParams && queryObject.requestParams.body && queryObject.requestParams.body.query) {\n        var cloneQueryObj = JSON.parse(JSON.stringify(queryObject.requestParams.body.query));\n        if ((typeof cloneQueryObj === \"undefined\" ? \"undefined\" : _typeof2(cloneQueryObj)) !== \"object\") {\n            cloneQueryObj = JSON.parse(cloneQueryObj);\n        }\n        delete queryObject.requestParams.body.query;\n        queryObject.requestParams.body = merge(queryObject.requestParams.body, cloneQueryObj);\n\n        // ravi\n        var livePreviewconfig = queryObject.config && queryObject.config.live_preview;\n        if (livePreviewconfig && livePreviewconfig.enable && livePreviewconfig.hash && livePreviewconfig.hash !== \"init\") {\n            if (livePreviewconfig.content_type_uid === queryObject.content_type_uid) {\n                queryObject.requestParams.body = merge(queryObject.requestParams.body, { live_preview: livePreviewconfig.hash || \"init\" });\n                cachePolicy = 2; // network else cache\n            } else if (!livePreviewconfig.hasOwnProperty(\"content_type_uid\")) {\n                cachePolicy = 2; // network else cache\n            } else if (livePreviewconfig.hash) {\n                cachePolicy = 1; // cache then network\n            }\n            if (queryObject.requestParams.body[\"environment\"]) {\n                delete queryObject.requestParams.body[\"environment\"];\n            }\n            if (queryObject.requestParams.headers[\"access_token\"]) delete queryObject.requestParams.headers[\"access_token\"];\n\n            queryObject.requestParams.headers[\"authorization\"] = queryObject.config.management_token;\n        }\n    }\n    var getCacheCallback = function getCacheCallback() {\n        return function (err, entries) {\n            return new Promise(function (resolve, reject) {\n                try {\n                    if (err) throw err;\n                    if (!tojson) entries = resultWrapper(entries);\n                    resolve(spreadResult(entries));\n                } catch (e) {\n                    reject(e);\n                }\n            });\n        };\n    };\n\n    var callback = function callback(continueFlag, resolve, reject) {\n        if (continueFlag) {\n            (0, _request2.default)(queryObject.requestParams, options).then(function (data) {\n                try {\n                    addEditTags(data, queryObject);\n                    self.entry_uid = self.asset_uid = self.tojson = self.queryCachePolicy = undefined;\n                    var entries = {};\n                    var syncstack = {};\n                    if (queryObject.singleEntry) {\n                        queryObject.singleEntry = false;\n                        if (data.schema) entries.schema = data.schema;\n                        if (data.content_type) {\n                            entries.content_type = data.content_type;\n                            delete entries.schema;\n                        }\n                        if (data.entries && data.entries.length) {\n                            entries.entry = data.entries[0];\n                        } else if (data.assets && data.assets.length) {\n                            entries.assets = data.assets[0];\n                        } else {\n                            if (cachePolicy === 2 && self.provider !== null) {\n                                self.provider.get(hashQuery, getCacheCallback());\n                            } else {\n                                return reject({\n                                    error_code: 141,\n                                    error_message: \"The requested entry doesn't exist.\"\n                                });\n                            }\n                            return;\n                        }\n                    } else if (data.items) {\n                        syncstack = {\n                            items: data.items,\n                            pagination_token: data.pagination_token,\n                            sync_token: data.sync_token,\n                            total_count: data.total_count\n                        };\n                    } else {\n                        entries = data;\n                    }\n\n                    if (cachePolicy !== -1 && self.provider !== null) {\n                        self.provider.set(hashQuery, entries, function (err) {\n                            try {\n                                if (err) throw err;\n                                if (!tojson) entries = resultWrapper(entries);\n                                return resolve(spreadResult(entries));\n                            } catch (e) {\n                                return reject(e);\n                            }\n                        });\n                        return resolve(spreadResult(entries));\n                    }\n\n                    if (Object.keys(syncstack).length) {\n                        return resolve(syncstack);\n                    }\n\n                    if (!tojson) entries = resultWrapper(entries);\n                    return resolve(spreadResult(entries));\n                } catch (e) {\n                    return reject({\n                        message: e.message\n                    });\n                }\n            }.bind(self)).catch(function (error) {\n                if (cachePolicy === 2 && self.provider !== null) {\n                    self.provider.get(hashQuery, getCacheCallback());\n                } else {\n                    return reject(error);\n                }\n            });\n        }\n    };\n    switch (cachePolicy) {\n        case 1:\n            return new Promise(function (resolve, reject) {\n                if (self.provider !== null) {\n                    self.provider.get(hashQuery, function (err, _data) {\n                        try {\n                            if (err || !_data) {\n                                callback(true, resolve, reject);\n                            } else {\n                                if (!tojson) _data = resultWrapper(_data);\n                                return resolve(spreadResult(_data));\n                            }\n                        } catch (e) {\n                            return reject(e);\n                        }\n                    });\n                } else {\n                    callback(true, resolve, reject);\n                }\n            });\n            break;\n        case 2:\n        case 0:\n        case undefined:\n        case -1:\n            return new Promise(function (resolve, reject) {\n                callback(true, resolve, reject);\n            });\n    }\n\n    if (cachePolicy === 3) {\n        var promise = new Promise(function (resolve, reject) {\n            if (self.provider !== null) {\n                self.provider.get(hashQuery, function (err, _data) {\n                    try {\n                        if (err || !_data) {\n                            reject(err);\n                            //reject(Error(\"It broke\"));\n                        } else {\n                            if (!tojson) _data = resultWrapper(_data);\n                            resolve(spreadResult(_data));\n                        }\n                    } catch (e) {\n                        reject(e);\n                    }\n                });\n            }\n        });\n\n        return promise.then(function () {\n            return new Promise(function (resolve, reject) {\n                callback(true, resolve, reject);\n            });\n        }).catch(function (error) {\n            return new Promise(function (resolve, reject) {\n                callback(true, resolve, reject);\n            });\n            console.error(error);\n        });\n    }\n}\n\nfunction setDefaultConfig(currentConfig) {\n    if (currentConfig.live_preview && currentConfig.live_preview.enable) {\n        return Object.assign({}, currentConfig, _config2.default);\n    }\n    return currentConfig;\n}\nfunction addEditTags(result, queryObject) {\n    var livePreviewconfig = queryObject.config && queryObject.config.live_preview;\n    console.error('mayhem edit tags', queryObject);\n    if (!livePreviewconfig || !livePreviewconfig.enable) return;\n    var include_edit_tags = livePreviewconfig.include_edit_tags,\n        edit_tags_type = livePreviewconfig.edit_tags_type;\n\n    var content_type_uid = queryObject.content_type_uid;\n    if (result && typeof result.entry !== \"undefined\") {\n        getEditableDataAttributes(result.entry, {\n            asObject: edit_tags_type === \"object\",\n            content_type_uid: content_type_uid,\n            liveEdit: include_edit_tags\n        });\n    } else if (result && typeof result.entries !== \"undefined\") {\n        if (!result.entries.length) return;\n        result[\"entries\"].forEach(function (entry) {\n            getEditableDataAttributes(entry, {\n                asObject: edit_tags_type === \"object\",\n                content_type_uid: content_type_uid,\n                liveEdit: include_edit_tags\n            });\n        });\n    }\n}\n\nfunction getEditableDataAttributes(entry, params) {\n    var content_type_uid = params.content_type_uid,\n        _params$asObject = params.asObject,\n        asObject = _params$asObject === undefined ? true : _params$asObject,\n        _params$liveEdit = params.liveEdit,\n        liveEdit = _params$liveEdit === undefined ? false : _params$liveEdit;\n    var _entry$locale = entry.locale,\n        locale = _entry$locale === undefined ? 'en-us' : _entry$locale;\n\n    if (!content_type_uid || !liveEdit) return;\n\n    var getObjectWithTags = function getObjectWithTags(prefix, entry, asObject) {\n        var currentLevelTags = {};\n\n        if (!entry || (typeof entry === \"undefined\" ? \"undefined\" : _typeof2(entry)) !== \"object\") return {};\n        Object.entries(entry).forEach(function (_ref) {\n            var _ref2 = _slicedToArray(_ref, 2),\n                field = _ref2[0],\n                value = _ref2[1];\n\n            var valueofDataCslp = [prefix, field].filter(function (v) {\n                return !!v;\n            }).join(\".\");\n            var currentDataCslp = void 0;\n            if (asObject) {\n                currentDataCslp = { \"data-cslp\": valueofDataCslp };\n            } else {\n                currentDataCslp = \"data-cslp=\" + valueofDataCslp;\n            }\n            switch (typeof value === \"undefined\" ? \"undefined\" : _typeof2(value)) {\n                case \"object\":\n                    if (Array.isArray(value)) {\n                        // the multiple field has no way to determine individual\n                        // field hence we are not managing each field, instead we\n                        // are handling its parent as a whole.\n\n                        currentLevelTags[field] = currentDataCslp;\n\n                        // This section handles references\n                        if (value.length && value[0].uid && value[0]._content_type_uid) {\n                            if (value.length === 1) {\n                                var reference = value[0];\n                                value[0][\"$\"] = getObjectWithTags(reference._content_type_uid + \".\" + reference.uid + \".\" + locale, reference, asObject);\n                            } else {\n                                value.forEach(function (reference) {\n                                    // provides cslp for each field inside the reference\n                                    var resolvedReference = getObjectWithTags(reference._content_type_uid + \".\" + reference.uid + \".\" + locale, reference, asObject);\n\n                                    reference[\"$\"] = resolvedReference;\n\n                                    // provides cslp for reference object\n                                    var valueOfDataCslpOfReference = [reference._content_type_uid, reference.uid, locale].filter(function (v) {\n                                        return !!v;\n                                    }).join(\".\");\n                                    var dataCslpOfReference = void 0;\n                                    if (asObject) {\n                                        dataCslpOfReference = {\n                                            \"data-cslp\": valueOfDataCslpOfReference\n                                        };\n                                    } else {\n                                        dataCslpOfReference = \"data-cslp=\" + valueOfDataCslpOfReference;\n                                    }\n\n                                    currentLevelTags[field + \".\" + reference.uid] = dataCslpOfReference;\n                                });\n                            }\n                        } else {\n                            // value.map()\n                            value.map(function (e, index) {\n                                if ((typeof e === \"undefined\" ? \"undefined\" : _typeof2(e)) === \"object\") {\n                                    if (Array.isArray(e)) {\n                                        e.map(function (val) {\n                                            return getObjectWithTags(prefix + \".\" + field + \".\" + index, val, asObject);\n                                        });\n                                    } else {\n                                        e[\"$\"] = getObjectWithTags(prefix + \".\" + field + \".\" + index, e, asObject);\n                                        Object.keys(e).map(function (key) {\n                                            var value = e[key];\n                                            if (value && value[\"_metadata\"]) {\n                                                value[\"$\"] = getObjectWithTags(prefix + \".\" + field + \".\" + index + \".\" + key, value, asObject);\n                                            }\n                                        });\n                                    }\n                                }\n                            });\n                        }\n                    } else {\n                        var nestedObj = getObjectWithTags(prefix + \".\" + field, value, asObject);\n                        if (value) value[\"$\"] = nestedObj;\n                        // flatten nested object\n                    }\n                    break;\n                default:\n                    currentLevelTags[field] = currentDataCslp;\n                    break;\n            }\n        });\n        return currentLevelTags;\n    };\n\n    entry[\"$\"] = getObjectWithTags(content_type_uid + \".\" + entry.uid + \".\" + locale, entry, asObject);\n}\n/* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(/*! ./../../../node_modules/process/browser.js */ \"./node_modules/process/browser.js\")))\n\n//# sourceURL=webpack://Contentstack/./src/core/lib/utils.js?");
  
  /***/ }),
  
  /***/ "./src/core/modules/assets.js":
  /*!************************************!*\
    !*** ./src/core/modules/assets.js ***!
    \************************************/
  /*! no static exports found */
  /***/ (function(module, exports, __webpack_require__) {
  
  "use strict";
  eval("\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 _utils = __webpack_require__(/*! ../lib/utils */ \"./src/core/lib/utils.js\");\n\nvar Utils = _interopRequireWildcard(_utils);\n\nvar _stack = __webpack_require__(/*! ../stack */ \"./src/core/stack.js\");\n\nvar _stack2 = _interopRequireDefault(_stack);\n\nvar _query = __webpack_require__(/*! ./query */ \"./src/core/modules/query.js\");\n\nvar _query2 = _interopRequireDefault(_query);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) newObj[key] = obj[key]; } } newObj.default = obj; return newObj; } }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\n/**\n * @class \n  Assets  \n* @summary Creates an instance of `Assets`.\n* @description Retrieves all assets of a stack by default. To retrieve a single asset, specify its UID.\n* @param {String} uid - uid of asset you want to retrieve\n* @example \n* let data = Stack.Assets('bltsomething123').toJSON().fetch()\n*      data\n*      .then(function(result) {\n*           // ‘result’ is a single asset object of specified uid       \n*      }, function(error) {\n*           // error function\n*      })\n* @example \n* // Retrieves all assets*\n* let data = Stack.Assets().Query().toJSON().find()\n*      data\n*      .then(function(result) {\n*          // All the asset with limit of 100\n*          // Use skip and limit functions to paginate\n*          // ‘result’ will display all assets present in stack       \n*      }, function(error) {\n*           // error function\n*      })\n* @returns {Assets}\n* @instance\n*/\n\nvar Assets = function () {\n    function Assets() {\n        _classCallCheck(this, Assets);\n\n        this._query = {};\n        this.only = Utils.transform('only');\n        return this;\n    }\n\n    /**\n      * Converts your response into plain JavasScript object\n      * @memberOf Assets\n      * @example var Query = Stack.ContentType('blog').Query()\n       Query   \n            .toJSON()\n            .find()\n            .then(function (result) {\n                // 'result' is an object which content the data in json object form\n             },function (error) {\n                // error function\n        })\n      * @returns {Assets}\n      * @instance\n      */\n\n    _createClass(Assets, [{\n        key: 'toJSON',\n        value: function toJSON() {\n            this.tojson = true;\n            return this;\n        }\n\n        /**\n           * Includes query parameters in your queries.\n           * @memberOf Assets\n           * @example var data = Stack.Assets(assetUid).addParam('include_dimension', 'true').toJSON().fetch()\n             *      data.then(function (result) {\n             *          // 'result' is an object which content the data including count in json object form\n             *       },function (error) {\n             *          // error function\n             *      })\n             * @returns {Assets}\n             * @instance\n           */\n\n    }, {\n        key: 'addParam',\n        value: function addParam(key, value) {\n            if (key && typeof key === 'string' && value && typeof value === 'string') {\n                this._query[key] = value;\n                return this;\n            } else {\n                console.error(\"Kindly provide a valid parameters.\");\n            }\n        }\n\n        /**\n         * @method includeFallback\n         * @memberOf Entry\n         * @description Include the fallback locale publish content, if specified locale content is not publish.\n         * @example stack.ContentType(contentType_uid).Entry(entry_uid).includeFallback().fetch()\n         * @returns {Asset}\n         * @instance\n         */\n\n    }, {\n        key: 'includeFallback',\n        value: function includeFallback() {\n            this._query['include_fallback'] = true;\n            return this;\n        }\n\n        /**\n           * Fetches a particular asset based on the provided asset UID.\n           * @memberOf Assets\n           * @example\n           * Stack.Assets('assets_uid').toJSON().fetch()\n           * @example\n           * Stack.Assets('assets_uid').toJSON().fetch({\n           *         \n           *      })\n           * @returns {promise}\n           * @instance\n           */\n\n    }, {\n        key: 'fetch',\n        value: function fetch(fetchOptions) {\n            if (this.asset_uid) {\n                this.requestParams = {\n                    method: 'POST',\n                    headers: this.headers,\n                    url: this.config.protocol + \"://\" + this.config.host + ':' + this.config.port + '/' + this.config.version + this.config.urls.assets + this.asset_uid,\n                    body: {\n                        _method: 'GET',\n                        query: this._query\n                    }\n                };\n                var options = Utils.mergeDeep({}, this.fetchOptions, fetchOptions);\n                return Utils.sendRequest(this, options);\n            } else {\n                console.error(\"Kindly provide an asset uid. e.g. .Assets('bltsomething123')\");\n            }\n        }\n    }]);\n\n    return Assets;\n}();\n\nexports.default = Assets;\n\n//# sourceURL=webpack://Contentstack/./src/core/modules/assets.js?");
  
  /***/ }),
  
  /***/ "./src/core/modules/entry.js":
  /*!***********************************!*\
    !*** ./src/core/modules/entry.js ***!
    \***********************************/
  /*! no static exports found */
  /***/ (function(module, exports, __webpack_require__) {
  
  "use strict";
  eval("\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 _utils = __webpack_require__(/*! ../lib/utils */ \"./src/core/lib/utils.js\");\n\nvar Utils = _interopRequireWildcard(_utils);\n\nvar _stack = __webpack_require__(/*! ../stack */ \"./src/core/stack.js\");\n\nvar _stack2 = _interopRequireDefault(_stack);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) newObj[key] = obj[key]; } } newObj.default = obj; return newObj; } }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\n/**\n * @class \n  Entry \n* @summary Creates an instance of `Entry`.   \n* @description An initializer is responsible for creating Entry object.\n* @param {String} uid - uid of the entry\n* @example\n* let Entry = Stack.ContentType('example').Entry('entry_uid');\n* @returns {Entry}\n* @instance\n*/\n\nvar Entry = function () {\n    function Entry() {\n        _classCallCheck(this, Entry);\n\n        this._query = {};\n        /**\n         * @method only\n         * @memberOf Entry\n         * @description Displays values of only the specified fields of entries or assets in the response\n         * @param {String} [key=BASE] -  Assets: </br>\n         *                                <p>Retrieves specified field of asset</p>\n         * @param {String}            -  Entries:</br>\n         *                                       <p>- retrieves default fields of the schema.</p>\n         *                                       <p>- referenced_content-type-uid : retrieves fields of the referred content type.</p>\n         * @param {Array} values - array of fields that you want to display in the response\n         * @example\n         * <caption> The only function with field_uid will include the data of only the specified fields for each entry and exclude the data of all other fields. </caption>\n         * Stack.ContentType('contentTypeUid').Query().only('title').toJSON().find()\n         * @example\n         * <caption> The only function with an array of field_uids will include multiple fields for each entry and exclude the data of all other fields.</caption>\n         * Stack.ContentType('contentTypeUid').Query().only(['title','description']).toJSON().find()\n         * @example\n         * <caption> In only, we have the only with a reference parameter, where you need to enter the UID of the reference field in place of \"reference_field_uid\", and the second parameter to include the data of only the specified field_uid for each entry and exclude the data of all other fields.</caption>\n         * Stack.ContentType('contentTypeUid').Query().includeReference('reference_field_uid').only('reference_field_uid','title').toJSON().find()\n         * @example\n         * <caption> In only, we have the only with a reference parameter with an array, where you need to enter the UID of the reference field in place of \"reference_field_uid\", and the second parameter with an array of fields to include the data of only the specified array of field_uids for each entry and exclude the data of all other fields.</caption>\n         * Stack.ContentType('contentTypeUid').Query().includeReference('reference_field_uid').only('reference_field_uid', ['title', 'description']).toJSON().find()\n         * \n         * @returns {Entry}\n         * @instance\n         */\n        this.only = Utils.transform('only');\n        /**\n         * @method except\n         * @memberOf Entry\n         * @description Displays all data of an entries or assets excluding the data of the specified fields.\n         * @param {String} [key=BASE] - BASE (default value) - retrieves default fields of the schema.\n                                                             - referenced_content-type-uid - retrieves fields of the referred content type.\n         * @param {Array} values - array of fields that you want to skip in the response\n         * @example\n         * <caption> The except function with field_uid will exclude the data of only the specified fields for each entry and includes the data of all other fields. </caption>\n         * Stack.ContentType('contentTypeUid').Query().except('title').toJSON().find()\n         * @example\n         * <caption> The except function with an array of field_uids will except multiple fields for each entry and include the data of all other fields.</caption>\n         * Stack.ContentType('contentTypeUid').Query().except(['title','description']).toJSON().find()\n         * @example\n         * <caption> In except, we have the only with a reference parameter, where you need to enter the UID of the reference field in place of \"reference_field_uid\", and the second parameter to except the data of only the specified field_uid for each entry and include the data of all other fields.</caption>\n         * Stack.ContentType('contentTypeUid').Query().includeReference('reference_field_uid').except('reference_field_uid','title').toJSON().find()\n         * @example\n         * <caption> In except, we have the only with a reference parameter with an array, where you need to enter the UID of the reference field in place of \"reference_field_uid\", and the second parameter with an array of fields to except the data of only the specified array of field_uids for each entry and include the data of all other fields.</caption>\n         * Stack.ContentType('contentTypeUid').Query().includeReference('reference_field_uid').except('reference_field_uid', ['title', 'description']).toJSON().find()\n         * @returns {Entry}\n         * @instance \n         */\n        this.except = Utils.transform('except');\n        return this;\n    }\n\n    _createClass(Entry, [{\n        key: \"setCacheProvider\",\n        value: function setCacheProvider(provider) {\n            if (provider && (typeof provider === \"undefined\" ? \"undefined\" : _typeof(provider)) === 'object') {\n                this.provider = provider;\n            }\n            return this;\n        }\n    }, {\n        key: \"setCachePolicy\",\n        value: function setCachePolicy(policy) {\n            if (typeof policy === 'number' && policy >= -1 && policy < 4) {\n                if (!this._query) {\n                    this.cachePolicy = policy;\n                } else {\n                    this.queryCachePolicy = policy;\n                }\n            } else {\n                console.error(\"Kindly provide the valid policy\");\n            }\n            return this;\n        }\n\n        /**\n            * @method includeReference\n            * @memberOf Entry\n            * @description Fetches the entire content of referenced entry(ies). <a href='https://www.contentstack.com/docs/developers/apis/content-delivery-api/#include-reference'>Read More</a>\n            * @example\n            * <caption> .includeReference with reference_field_uids as array </caption>\n            * var Query = Stack.ContentType(contentTypes.source).Query();\n                   Query\n                       .includeReference(['reference_field_uid', 'other_reference_field_uid'])\n                       .toJSON()\n                       .find()\n                       .then(function success(entries) {\n                           //'entries' is  an object used to retrieve data including reference entries.\n                       })\n            * @example\n            * <caption> .includeReference with reference_field_uids and its children reference </caption>\n            * var Query = Stack.ContentType(contentTypes.source).Query();\n                   Query\n                       .includeReference(['reference_field_uid', 'reference_field_uid.child_reference_field_uid'])\n                       .toJSON()\n                       .find()\n                       .then(function success(entries) {\n                           //'entries' is  an object used to retrieve data including reference entries.\n                       })\n            * @example\n            * <caption> .includeReference with reference_field_uids </caption>\n            * var Query = Stack.ContentType(contentTypes.source).Query(); \n            Query\n               .includeReference('reference_field_uid')\n               .toJSON()\n               .find()\n               .then(function success(entries) {\n                   //'entries' is  an object used to retrieve data including particular reference using reference_uid.\n               })\n            * @returns {Entry}\n            * @instance\n            */\n\n    }, {\n        key: \"includeReference\",\n        value: function includeReference() {\n            for (var _len = arguments.length, val = Array(_len), _key = 0; _key < _len; _key++) {\n                val[_key] = arguments[_key];\n            }\n\n            if (Array.isArray(val) || typeof val === \"string\") {\n                if (arguments.length) {\n                    for (var i = 0; i < arguments.length; i++) {\n                        this._query['include'] = this._query['include'] || [];\n                        this._query['include'] = this._query['include'].concat(arguments[i]);\n                    }\n                }\n                return this;\n            } else {\n                console.error(\"Argument should be a String or an Array.\");\n            }\n        }\n\n        /**\n        * Sets the language code of which you want to retrieve data.\n        * @param {String} language_code - language code. e.g. 'en-us', 'ja-jp', etc.\n        * @memberOf Entry\n        * @example \n        * let data = Stack.ContentType(contentTypeUid).Entry(entryUid).language('ja-jp').fetch()\n        * data\n        *      .then(function(result) {\n        *           // 'result' is  an object used to retrieve data of ja-jp language.\n        *      }, function(error) {\n        *           // error function\n        *      })\n        *          \n        * @returns {Entry}\n        * @instance\n        */\n\n    }, {\n        key: \"language\",\n        value: function language(language_code) {\n            if (language_code && typeof language_code === 'string') {\n                this._query['locale'] = language_code;\n                return this;\n            } else {\n                console.error(\"Argument should be a String.\");\n            }\n        }\n\n        /**\n        * @method addQuery\n        * @memberOf Entry\n        * @description Adds query to Entry object\n        * @param {String} key - key of the query\n        * @param {String} value - value of the query\n        * @example Stack.ContentType(contentTypeUid).Entry(entry_uid).addQuery('include_schema',true)\n        * @returns {Entry}\n        * @instance\n        */\n\n    }, {\n        key: \"addQuery\",\n        value: function addQuery(key, value) {\n            if (key && value && typeof key === 'string') {\n                this._query[key] = value;\n                return this;\n            } else {\n                console.error(\"First argument should be a String.\");\n            }\n        }\n\n        /**\n         * @method includeEmbeddedItems\n         * @memberOf Entry\n         * @description Include Embedded Objects (Entries and Assets) along with entry/entries details.\n         * @example Stack.ContentType(\"contentType_uid\").Entry(\"entry_uid\").includeEmbeddedObjects().fetch()\n         * @returns {Entry}\n         * @instance\n         */\n\n    }, {\n        key: \"includeEmbeddedItems\",\n        value: function includeEmbeddedItems() {\n            this._query['include_embedded_items'] = [\"BASE\"];\n            return this;\n        }\n\n        /**\n         * @method includeSchema\n         * @memberOf Entry\n         * @deprecated since verion 3.3.0\n         * @description  Include schema of the current content type along with entry/entries details.\n         * @example Stack.ContentType(\"contentType_uid\").Entry(\"entry_uid\").includeSchema().fetch()\n         * @returns {Entry}\n         * @instance\n         */\n\n    }, {\n        key: \"includeSchema\",\n        value: function includeSchema() {\n            this._query['include_schema'] = true;\n            return this;\n        }\n\n        /**\n         * @method includeReferenceContentTypeUid\n         * @memberOf Entry\n         * @description  This method also includes the content type UIDs of the referenced entries returned in the response.\n         * @example Stack.ContentType(\"contentType_uid\").Entry(\"entry_uid\").includeReferenceContentTypeUID().fetch()\n         * @example \n         * Query = Stack.ContentType(\"contentType_uid\").Entry(\"entry_uid\").includeReferenceContentTypeUID().fetch()\n         * Query\n         *      .toJSON()\n         *      .then(function (result) {\n         *          let value = result.get(field_uid)\n         *       },function (error) {\n         *          // error function\n         *      })\n         * @returns {Entry}\n         * @instance\n         */\n\n    }, {\n        key: \"includeReferenceContentTypeUID\",\n        value: function includeReferenceContentTypeUID() {\n            this._query['include_reference_content_type_uid'] = true;\n            return this;\n        }\n\n        /**\n         * @method includeFallback\n         * @memberOf Entry\n         * @description Include the fallback locale publish content, if specified locale content is not publish.\n         * @example stack.ContentType(contentType_uid).Entry(entry_uid).includeFallback().fetch()\n         * @returns {Entry}\n         * @instance\n         */\n\n    }, {\n        key: \"includeFallback\",\n        value: function includeFallback() {\n            this._query['include_fallback'] = true;\n            return this;\n        }\n\n        /**\n         * @method includeContentType\n         * @memberOf Entry\n         * @description Include the details of the content type along with the entry/entries details.\n         * @example stack.ContentType(contentType_uid).Entry(entry_uid).includeContentType().fetch()\n         * @returns {Entry}\n         * @instance\n         */\n\n    }, {\n        key: \"includeContentType\",\n        value: function includeContentType() {\n            this._query['include_content_type'] = true;\n            return this;\n        }\n\n        /**\n          * @method includeOwner\n          * @memberOf Entry \n          * @description Includes the owner details of the entry/entries\n          * @example stack.ContentType(contentType_uid).Entry(entry_uid).includeOwner().fetch()\n          * @returns {Entry}\n          * @instance\n          */\n\n    }, {\n        key: \"includeOwner\",\n        value: function includeOwner() {\n            this._query['include_owner'] = true;\n            return this;\n        }\n\n        /**\n         * @method toJSON\n         * @memberOf Entry \n         * @description Converts your response into plain JavasScript object.Supports both entry and asset queries.\n         * @example\n         * Query = Stack.ContentType(contentTypeUid).Entry(entryUid).fetch()\n         * Query\n         *      .toJSON()\n         *      .then(function (result) {\n         *          let value = result.get(field_uid)\n         *       },function (error) {\n         *          // error function\n         *      })\n         * @returns {Entry}\n         * @instance\n         */\n\n    }, {\n        key: \"toJSON\",\n        value: function toJSON() {\n            this.tojson = true;\n            return this;\n        }\n\n        /**\n         * @method addParam\n         * @memberOf Entry \n         * @description Includes query parameters in your queries.\n         * @example var data = Stack.ContentType(contentTypeUid).Entry(entryUid).addParam('include_count', 'true').fetch()\n         *      data.then(function (result) {\n         *          // 'result' is an object which content the data including count in json object form\n         *       },function (error) {\n         *          // error function\n         *      })\n         * @returns {Entry}\n         * @instance\n         */\n\n    }, {\n        key: \"addParam\",\n        value: function addParam(key, value) {\n            if (key && value && typeof key === 'string' && typeof value === 'string') {\n                this._query[key] = value;\n                return this;\n            } else {\n                console.error(\"Kindly provide valid parameters.\");\n            }\n        }\n\n        /**\n        * @method fetch\n        * @memberOf Entry \n        * @description Fetches a particular entry based on the provided entry UID.\n        * @example\n        * Stack.ContentType(contentTypeUid).Entry(entryUid).toJSON().fetch()\n        * \n        * @example\n        * Stack.ContentType(contentTypeUid).Entry(entryUid).toJSON().fetch({\n        *         \n        *      })\n        * @returns {promise}\n        * @instance\n        */\n\n    }, {\n        key: \"fetch\",\n        value: function fetch(fetchOptions) {\n            if (this.entry_uid) {\n                // this.config = Utils.setDefaultConfig(this.config);\n                this.requestParams = {\n                    method: 'POST',\n                    headers: this.headers,\n                    url: this.config.protocol + \"://\" + this.config.host + ':' + this.config.port + '/' + this.config.version + this.config.urls.content_types + this.content_type_uid + this.config.urls.entries + this.entry_uid,\n                    body: {\n                        _method: 'GET',\n                        query: this._query\n                    }\n                };\n                var options = Utils.mergeDeep({}, this.fetchOptions, fetchOptions);\n                return Utils.sendRequest(this, options);\n            } else {\n                console.error(\"Kindly provide an entry uid. e.g. .Entry('bltsomething123')\");\n            }\n        }\n    }]);\n\n    return Entry;\n}();\n\nexports.default = Entry;\n\n//# sourceURL=webpack://Contentstack/./src/core/modules/entry.js?");
  
  /***/ }),
  
  /***/ "./src/core/modules/query.js":
  /*!***********************************!*\
    !*** ./src/core/modules/query.js ***!
    \***********************************/
  /*! no static exports found */
  /***/ (function(module, exports, __webpack_require__) {
  
  "use strict";
  eval("\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 _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 _request = __webpack_require__(/*! ../lib/request */ \"./src/core/lib/request.js\");\n\nvar _request2 = _interopRequireDefault(_request);\n\nvar _utils = __webpack_require__(/*! ../lib/utils.js */ \"./src/core/lib/utils.js\");\n\nvar Utils = _interopRequireWildcard(_utils);\n\nvar _entry = __webpack_require__(/*! ./entry */ \"./src/core/modules/entry.js\");\n\nvar _entry2 = _interopRequireDefault(_entry);\n\nfunction _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) newObj[key] = obj[key]; } } newObj.default = obj; return newObj; } }\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 _extend = {\n    compare: function compare(type) {\n        return function (key, value) {\n            if (key && value && typeof key === 'string' && typeof value !== 'undefined') {\n                this._query['query'][key] = this._query['query']['file_size'] || {};\n                this._query['query'][key][type] = value;\n                return this;\n            } else {\n                console.error(\"Kindly provide valid parameters.\");\n            }\n        };\n    },\n    contained: function contained(bool) {\n        var type = bool ? '$in' : '$nin';\n        return function (key, value) {\n            if (key && value && typeof key === 'string' && Array.isArray(value)) {\n                this._query['query'][key] = this._query['query'][key] || {};\n                this._query['query'][key][type] = this._query['query'][key][type] || [];\n                this._query['query'][key][type] = this._query['query'][key][type].concat(value);\n                return this;\n            } else {\n                console.error(\"Kindly provide valid parameters.\");\n            }\n        };\n    },\n    exists: function exists(bool) {\n        return function (key) {\n            if (key && typeof key === 'string') {\n                this._query['query'][key] = this._query['query'][key] || {};\n                this._query['query'][key]['$exists'] = bool;\n                return this;\n            } else {\n                console.error(\"Kindly provide valid parameters.\");\n            }\n        };\n    },\n    logical: function logical(type) {\n        return function () {\n            var _query = [];\n            for (var i = 0, _i = arguments.length; i < _i; i++) {\n                if (arguments[i] instanceof Query && arguments[i]._query.query) {\n                    _query.push(arguments[i]._query.query);\n                } else if (_typeof(arguments[i]) === \"object\") {\n                    _query.push(arguments[i]);\n                }\n            }\n            if (this._query['query'][type]) {\n                this._query['query'][type] = this._query['query'][type].concat(_query);\n            } else {\n                this._query['query'][type] = _query;\n            }\n            return this;\n        };\n    },\n    sort: function sort(type) {\n        return function (key) {\n            if (key && typeof key === 'string') {\n                this._query[type] = key;\n                return this;\n            } else {\n                console.error(\"Argument should be a string.\");\n            }\n        };\n    },\n    pagination: function pagination(type) {\n        return function (value) {\n            if (typeof value === 'number') {\n                this._query[type] = value;\n                return this;\n            } else {\n                console.error(\"Argument should be a number.\");\n            }\n        };\n    }\n};\n\n/**\n * @class \n   Query  \n * @description\n * An initializer is responsible for creating Query object.Provides support for all search queries\n * @example\n * <caption>Query instance creation.</caption>\n * let Query = Contentstack.Stack().ContentType('example').Query();\n * let assetQuery =  Contentstack.Stack().Assets().Query();\n * @returns {Query}\n */\n\nvar Query = function (_Entry) {\n    _inherits(Query, _Entry);\n\n    function Query() {\n        _classCallCheck(this, Query);\n\n        var _this = _possibleConstructorReturn(this, (Query.__proto__ || Object.getPrototypeOf(Query)).call(this));\n\n        _this._query = _this._query || {};\n        _this._query['query'] = _this._query['query'] || {};\n        /**\n        * @method lessThan\n        * @memberOf Query\n        * @description Retrieves entries in which the value of a field is lesser than the provided value\n        * @param {String} key - uid of the field\n        * @param {*} value - Value used to match or compare\n        * @example let blogQuery = Stack().ContentType('example').Query();\n        *          let data = blogQuery.lessThan('created_at','2015-06-22').find()\n        *          data.then(function (result) {\n        *          // result content the data who's 'created_at date' is less than '2015-06-22'\n        *       },function (error) {\n        *          // error function\n        *      })\n        * @returns {Query}\n        * @instance\n        */\n        _this.lessThan = _extend.compare('$lt');\n\n        /**\n        * @method lessThanOrEqualTo\n        * @memberOf Query\n        * @description Retrieves entries in which the value of a field is lesser than or equal to the provided value.\n        * @param {String} key - uid of the field\n        * @param {*} value - Value used to match or compare\n        * @example let blogQuery = Stack().ContentType('example').Query();\n        *          let data = blogQuery.lessThanOrEqualTo('created_at','2015-06-22').find()\n        *          data.then(function (result) {\n        *          // result contain the data of entries where the 'created_at' date will be less than or equalto '2015-06-22'.\n        *       },function (error) {\n        *          // error function\n        *      })\n        * @returns {Query}\n        * @instance\n        */\n        _this.lessThanOrEqualTo = _extend.compare('$lte');\n        /**\n        * @method greaterThan\n        * @memberOf Query\n        * @description Retrieves entries in which the value for a field is greater than the provided value.\n        * @param {String} key - uid of the field\n        * @param {*} value -  value used to match or compare\n        * @example \n        *          let blogQuery = Stack().ContentType('example').Query();\n        *          let data = blogQuery.greaterThan('created_at','2015-03-12').find()\n        *                     data.then(function(result) {\n        *                       // result contains the data of entries where the 'created_at' date will be greaterthan '2015-06-22'\n        *                     },function (error) {\n        *                       // error function\n        *                     })\n        * @returns {Query}\n        * @instance\n        */\n        _this.greaterThan = _extend.compare('$gt');\n\n        /**\n         * @method greaterThanOrEqualTo\n         * @memberOf Query\n         * @description Retrieves entries in which the value for a field is greater than or equal to the provided value.\n         * @param {String} key - uid of the field \n         * @param {*} value - Value used to match or compare\n         * @example let blogQuery = Stack().ContentType('example').Query();\n         *          let data = blogQuery.greaterThanOrEqualTo('created_at','2015-03-12').find()\n         *          data.then(function(result) {\n         *          // result contains the data of entries where the 'created_at' date will be greaterThan or equalto '2015-06-22'\n         *       },function (error) {\n         *          // error function\n         *      })\n         * @returns {Query}\n         * @instance\n         */\n        _this.greaterThanOrEqualTo = _extend.compare('$gte');\n\n        /**\n         * @method notEqualTo\n         * @memberOf Query\n         * @description Retrieves entries in which the value for a field does not match the provided value.\n         * @param {String} key - uid of the field \n         * @param {*} value - Value used to match or compare\n         * @example let blogQuery = Stack().ContentType('example').Query();\n         *          let data = blogQuery.notEqualTo('title','Demo').find()\n         *          data.then(function(result) {\n         *            // ‘result’ contains the list of entries where value of the ‘title’ field will not be 'Demo'.\n         *       },function (error) {\n         *          // error function\n         *      })\n         * @returns {Query}\n         * @instance\n         */\n        _this.notEqualTo = _extend.compare('$ne');\n\n        /**\n         * @method containedIn\n         * @memberOf Query\n         * @description Retrieve entries in which the value of a field matches with any of the provided array of values\n         * @param {String} key - uid of the field\n         * @param {*} value - Array of values that are to be used to match or compare\n         * @example let blogQuery = Stack().ContentType('example').Query();\n         *          let data = blogQuery.containedIn('title', ['Demo', 'Welcome']).find()\n         *          data.then(function(result) {\n         *          // ‘result’ contains the list of entries where value of the ‘title’ field will contain either 'Demo' or ‘Welcome’.\n         *       },function (error) {\n         *          // error function\n         *      })\n         * @returns {Query}\n         * @instance\n         */\n        _this.containedIn = _extend.contained(true);\n\n        /**\n          * @method notContainedIn\n          * @memberOf Query\n          * @description Retrieve entries in which the value of a field does not match with any of the provided array of values.\n          * @param {String} key - uid of the field\n          * @param {Array} value - Array of values that are to be used to match or compare\n          * @example let blogQuery = Stack().ContentType('example').Query();\n          *          let data = blogQuery.notContainedIn('title', ['Demo', 'Welcome']).find()\n          *          data.then(function(result) {\n          *          // 'result' contains the list of entries where value of the title field should not be either \"Demo\" or ‘Welcome’\n          *       },function (error) {\n          *          // error function\n          *      })\n          * @returns {Query}\n          * @instance\n          */\n        _this.notContainedIn = _extend.contained(false);\n\n        /**\n        * @method exists \n        * @memberOf Query\n        * @description Retrieve entries if value of the field, mentioned in the condition, exists.\n        * @param {String} key - uid of the field\n        * @example blogQuery.exists('featured')\n        * @example let blogQuery = Stack().ContentType('example').Query();\n        *          let data = blogQuery.exists('featured').find()\n        *          data.then(function(result) {\n        *          // ‘result’ contains the list of entries in which \"featured\" exists.\n        *       },function (error) {\n        *          // error function\n        *      })\n        * @returns {Query}\n        * @instance\n        */\n        _this.exists = _extend.exists(true);\n\n        /**\n        * @method notExists\n        * @memberOf Query\n        * @description Retrieve entries if value of the field, mentioned in the condition, does not exists.\n        * @param {String} key - uid of the field\n        * @example blogQuery.notExists('featured')\n        * @example let blogQuery = Stack().ContentType('example').Query();\n        *          let data = blogQuery.notExists('featured').find()\n        *          data.then(function(result) {\n        *        // result is the list of non-existing’featured’\" data.\n        *       },function (error) {\n        *          // error function\n        *      })\n        * @returns {Query}\n        * @instance\n        */\n        _this.notExists = _extend.exists(false);\n\n        /**\n        * @method ascending\n        * @memberOf Query\n        * @description Sort fetched entries in the ascending order with respect to a specific field.\n        * @param {String} key - field uid based on which the ordering will be done\n        * @example let blogQuery = Stack().ContentType('example').Query();\n        *          let data = blogQuery.ascending('created_at').find()\n        *          data.then(function(result) {\n        *           // ‘result’ contains the list of entries which is sorted in ascending order on the basis of ‘created_at’. \n        *       },function (error) {\n        *          // error function\n        *      })\n        * @returns {Query}\n        * @instance\n        */\n        _this.ascending = _extend.sort('asc');\n\n        /**\n         * @method descending\n         * @memberOf Query\n         * @description Sort fetched entries in the descending order with respect to a specific field\n         * @param {String} key - field uid based on which the ordering will be done.\n         * @example let blogQuery = Stack().ContentType('example').Query();\n         *          let data = blogQuery.descending('created_at').find()\n         *          data.then(function(result) {\n         *           // ‘result’ contains the list of entries which is sorted in descending order on the basis of ‘created_at’. \n         *       },function (error) {\n         *          // error function\n         *      })\n         * @returns {Query}\n         * @instance\n         */\n        _this.descending = _extend.sort('desc');\n\n        /**\n        * @method beforeUid\n        * @memberOf Query\n        * @description Sort fetched entries in the descending order with respect to a specific field\n        * @param {String} uid - field uid based on which the ordering will be done.\n        * @example blogQuery.beforeUid('blt1234567890abcdef')\n        * @returns {Query}\n        * @instance\n        */\n        _this.beforeUid = _extend.sort('before_uid');\n\n        /**\n         * @method afterUid\n         * @memberOf Query\n         * @description This method provides only the entries after the specified entry id.\n         * @param {String} uid - uid of the entry\n         * @example blogQuery.afterUid('blt1234567890abcdef')\n         * @returns {Query}\n         * @instance\n         */\n        _this.afterUid = _extend.sort('after_uid');\n\n        /**\n        * @method skip\n        * @memberOf Query\n        * @description Skips at specific number of entries.\n        * @param {Number} skip - number of entries to be skipped\n        * @example blogQuery.skip(5)\n        * @example let blogQuery = Stack().ContentType('example').Query();\n        *          let data = blogQuery.skip(5).find()\n        *          data.then(function(result) {\n        *          // result contains the list of data which is sorted in descending order on 'created_at' bases. \n        *       },function (error) {\n        *          // error function\n        *      })\n        * @returns {Query}\n        * @instance\n        */\n        _this.skip = _extend.pagination('skip');\n\n        /**\n        * @method limit\n        * @memberOf Query\n        * @description Returns a specific number of entries based on the set limit\n        * @param {Number} limit - maximum number of entries to be returned\n        * @example let blogQuery = Stack().ContentType('example').Query();\n        *          let data = blogQuery.limit(10).find()\n        *          data.then(function(result) {\n        *          // result contains the limited number of entries\n        *       },function (error) {\n        *          // error function\n        *      })\n        * @returns {Query}\n        * @instance\n        */\n        _this.limit = _extend.pagination('limit');\n\n        /**\n        * @method or\n        * @memberOf Query\n        * @description Retrieves entries that satisfy at least one of the given conditions\n        * @param {object} queries - array of Query objects or raw queries\n        * @example\n        * <caption> .or with Query instances</caption>\n        * let Query1 = Stack.ContentType('blog').Query().where('title', 'Demo').find()\n        * let Query2 = Stack.ContentType('blog').Query().lessThan('comments', 10).find()\n        * blogQuery.or(Query1, Query2)\n        * @example\n        * <caption> .or with raw queries</caption>\n        * let Query1 = Stack.ContentType('blog').Query().where('title', 'Demo').getQuery()\n        * let Query2 = Stack.ContentType('blog').Query().lessThan('comments', 10).getQuery()\n        * blogQuery.or(Query1, Query2)\n        * @returns {Query}\n        * @instance\n        */\n        _this.or = _extend.logical('$or');\n\n        /**\n         * @method and\n         * @memberOf Query\n         * @description Retrieve entries that satisfy all the provided conditions.\n         * @param {object} queries - array of query objects or raw queries.\n         * @example\n         * <caption> .and with Query instances</caption>\n         * let Query1 = Stack.ContentType('blog').Query().where('title', 'Demo')\n         * let Query2 = Stack.ContentType('blog').Query().lessThan('comments', 10)\n         * blogQuery.and(Query1, Query2)\n         * @example\n         * <caption> .and with raw queries</caption>\n         * let Query1 = Stack.ContentType('blog').Query().where('title', 'Demo').getQuery()\n         * let Query2 = Stack.ContentType('blog').Query().lessThan('comments', 10).getQuery()\n         * blogQuery.and(Query1, Query2)\n         * @returns {Query}\n         * @instance\n         */\n        _this.and = _extend.logical('$and');\n        return _this;\n    }\n\n    _createClass(Query, [{\n        key: 'equalTo',\n        value: function equalTo(key, value) {\n            if (key && typeof key === 'string') {\n                this._query['query'][key] = value;\n\n                return this;\n            } else {\n                console.error(\"Kindly provide valid parameters.\");\n            }\n        }\n\n        /**\n         * @memberOf Query\n         * @description Retrieve entries in which a specific field satisfies the value provided\n         * @param {String} key - uid of the field\n         * @param {*} value - value used to match or compare\n         * @example let blogQuery = Stack().ContentType('example').Query();\n         *          let data = blogQuery.where('title','Demo').find()\n         *          data.then(function(result) {\n         *            // ‘result’ contains the list of entries where value of ‘title’ is equal to ‘Demo’. \n         *       },function (error) {\n         *          // error function\n         *      })\n         * @returns {Query}\n         * @instance\n         */\n\n    }, {\n        key: 'where',\n        value: function where(key, value) {\n            if (key && typeof key === 'string') {\n                this._query['query'][key] = value;\n                return this;\n            } else {\n                console.error(\"Kindly provide valid parameters.\");\n            }\n        }\n\n        /**\n         * @method count\n         * @memberOf Query\n         * @description Returns the total number of entries\n         * @example blogQuery.count()\n         * @example let blogQuery = Stack().ContentType('example').Query();\n         *          let data = blogQuery.count().find()\n         *          data.then(function(result) {\n         *           // ‘result’ contains the total count. \n         *       },function (error) {\n         *          // error function\n         *      })\n         * @returns {Query}\n         * @instance\n         */\n\n    }, {\n        key: 'count',\n        value: function count() {\n            var host = this.config.protocol + \"://\" + this.config.host + ':' + this.config.port + '/' + this.config.version,\n                url = this.type && this.type === 'asset' ? host + this.config.urls.assets : host + this.config.urls.content_types + this.content_type_uid + this.config.urls.entries;\n            this._query['count'] = true;\n            this.requestParams = {\n                method: 'POST',\n                headers: this.headers,\n                url: url,\n                body: {\n                    _method: 'GET',\n                    query: this._query\n                }\n            };\n            return this;\n        }\n\n        /**\n         * @method query\n         * @memberOf Query\n         * @description Retrieve entries based on raw queries\n         * @param {object} query - RAW (JSON) queries \n         * @returns {Query}\n         * @instance\n         * @example \n         * let blogQuery = Stack().ContentType('example').Query();\n         * let data = blogQuery.query({\"brand\": {\"$nin_query\": {\"title\": \"Apple Inc.\"}}}).find()\n         * data.then(function(result) {\n         *    // ‘result’ contains the total count. \n         * },function (error) {\n         *    // error function\n         * })\n         */\n\n    }, {\n        key: 'query',\n        value: function query(_query2) {\n            if ((typeof _query2 === 'undefined' ? 'undefined' : _typeof(_query2)) === \"object\") {\n                this._query['query'] = Utils.mergeDeep(this._query['query'], _query2);\n                return this;\n            } else {\n                console.error(\"Kindly provide valid parameters\");\n            }\n        }\n\n        /**\n         * @method referenceIn\n         * @memberOf Query\n         * @description Retrieve entries that satisfy the query conditions made on referenced fields.\n         * @param {Query} query - RAW (JSON) queries \n         * @returns {Query}\n         * @instance\n         * @example \n         * <caption> referenceIn with Query instances</caption>\n         * let blogQuery = Stack().ContentType('example').Query();\n         * let Query = Stack.ContentType('blog').Query().where('title', 'Demo')\n         * let data = blogQuery.referenceIn(\"brand\", Query).find()\n         * data.then(function(result) {\n         *    // ‘result’ contains the total count. \n         * },function (error) {\n         *    // error function\n         * })\n         * \n         * @example \n         * <caption> referenceIn with raw queries</caption>\n         * let blogQuery = Stack().ContentType('example').Query();\n         * let data = blogQuery.referenceIn(\"brand\", {'title': 'Demo'}).find()\n         * data.then(function(result) {\n         *    // ‘result’ contains the total count. \n         * },function (error) {\n         *    // error function\n         * })\n         */\n\n    }, {\n        key: 'referenceIn',\n        value: function referenceIn(key, query) {\n            var _query = {};\n            if (query instanceof Query && query._query.query) {\n                _query[\"$in_query\"] = query._query.query;\n            } else if ((typeof query === 'undefined' ? 'undefined' : _typeof(query)) === \"object\") {\n                _query[\"$in_query\"] = query;\n            }\n            if (this._query['query'][key]) {\n                this._query['query'][key] = this._query['query'][key].concat(_query);\n            } else {\n                this._query['query'][key] = _query;\n            }\n            return this;\n        }\n\n        /**\n         * @method referenceNotIn\n         * @memberOf Query\n         * @description Retrieve entries that does not satisfy the query conditions made on referenced fields.\n         * @param {Query} query - RAW (JSON) queries \n         * @returns {Query}\n         * @instance\n         * @example \n         * <caption> referenceNotIn with Query instances</caption>\n         * let blogQuery = Stack().ContentType('example').Query();\n         * let data = blogQuery.referenceNotIn(\"brand\", {'title': 'Demo'}).find()\n         * data.then(function(result) {\n         *    // ‘result’ contains the total count. \n         * },function (error) {\n         *    // error function\n         * })\n         * \n         * @example \n         * <caption> referenceNotIn with raw queries</caption>\n         * let blogQuery = Stack().ContentType('example').Query();\n         * let Query = Stack.ContentType('blog').Query().where('title', 'Demo')\n         * let data = blogQuery.referenceNotIn(\"brand\", Query).find()\n         * data.then(function(result) {\n         *    // ‘result’ contains the total count. \n         * },function (error) {\n         *    // error function\n         * })\n         */\n\n    }, {\n        key: 'referenceNotIn',\n        value: function referenceNotIn(key, query) {\n            var _query = {};\n            if (query instanceof Query && query._query.query) {\n                _query[\"$nin_query\"] = query._query.query;\n            } else if ((typeof query === 'undefined' ? 'undefined' : _typeof(query)) === \"object\") {\n                _query[\"$nin_query\"] = query;\n            }\n            if (this._query['query'][key]) {\n                this._query['query'][key] = this._query['query'][key].concat(_query);\n            } else {\n                this._query['query'][key] = _query;\n            }\n            return this;\n        }\n\n        /**\n         * @method tags\n         * @memberOf Query\n         * @description Retrieves entries based on the provided tags\n         * @param {Array} values - tags\n         * @example let blogQuery = Stack().ContentType('example').Query();\n         *          let data = blogQuery.tags(['technology', 'business']).find()\n         *          data.then(function(result) {\n         *        // ‘result’ contains list of entries which have tags \"’technology’\" and ‘\"business’\".\n         *       },function (error) {\n         *          // error function\n         *      })\n         * @returns {Query}\n         * @instance\n         */\n\n    }, {\n        key: 'tags',\n        value: function tags(values) {\n            if (Array.isArray(values)) {\n                this._query['tags'] = values;\n                return this;\n            } else {\n                console.error(\"Kindly provide valid parameters\");\n            }\n        }\n\n        /**\n         * @method includeReferenceContentTypeUid\n         * @memberOf Query\n         * @description  This method also includes the content type UIDs of the referenced entries returned in the response.\n         * @example Stack.ContentType(\"contentType_uid\").Query().includeReferenceContentTypeUID().find()\n         * @example \n         * let blogQuery = Stack.ContentType(\"contentType_uid\").Query();\n         *          let data = blogQuery.includeReferenceContentTypeUID().find()\n         *          data.then(function(result) {\n         *         // ‘result’ contains a list of entries in which content type UIDs is present. \n         *       },function (error) {\n         *          // error function\n         *      })\n         * @returns {Query}\n         * @instance\n         */\n\n    }, {\n        key: 'includeReferenceContentTypeUID',\n        value: function includeReferenceContentTypeUID() {\n            this._query['include_reference_content_type_uid'] = true;\n            return this;\n        }\n\n        /**\n         * @method includeCount\n         * @memberOf Query\n         * @description Includes the total number of entries returned in the response.\n         * @example blogQuery.includeCount()\n         * @example let blogQuery = Stack().ContentType('example').Query();\n         *          let data = blogQuery.includeCount().find()\n         *          data.then(function(result) {\n         *         // ‘result’ contains a list of entries in which count of object is present at array[1] position. \n         *       },function (error) {\n         *          // error function\n         *      })\n         * @returns {Query}\n         * @instance\n         */\n\n    }, {\n        key: 'includeCount',\n        value: function includeCount() {\n            this._query['include_count'] = true;\n            return this;\n        }\n\n        /**\n         * @method addParam\n         * @description Includes query parameters in your queries.\n         * @memberOf Query\n         * @example var data = blogQuery.addParam('include_count', 'true').fetch()\n         *      data.then(function (result) {\n         *          // 'result' is an object which content the data including count in json object form\n         *       },function (error) {\n         *          // error function\n         *      })\n         * @returns {Query}\n         * @instance\n         */\n\n    }, {\n        key: 'addParam',\n        value: function addParam(key, value) {\n            if (key && value && typeof key === 'string' && typeof value === 'string') {\n                this._query[key] = value;\n                return this;\n            } else {\n                console.error(\"Kindly provide valid parameters.\");\n            }\n        }\n\n        /**\n         * @method getQuery\n         * @memberOf Query\n         * @description Returns the raw (JSON) query based on the filters applied on Query object.\n         * @example Stack.ContentType('contentType_uid').Query().where('title','Demo').getQuery().find()\n         * @returns {Query}\n         * @instance\n         */\n\n    }, {\n        key: 'getQuery',\n        value: function getQuery() {\n            return this._query.query || {};\n        }\n\n        /**\n         * @method regex\n         * @memberOf Query\n         * @description Retrieve entries that match the provided regular expressions\n         * @param {String} key - uid of the field\n         * @param {*} value - value used to match or compare\n         * @param {String} [options] - match or compare value in entry\n         * @example\n         * <caption> .regex without options</caption>\n         * blogQuery.regex('title','^Demo')\n         * @example\n         * <caption> .regex with options</caption>\n         * blogQuery.regex('title','^Demo', 'i')\n         * @returns {Query}\n         * @instance\n         */\n\n    }, {\n        key: 'regex',\n        value: function regex(key, value, options) {\n            if (key && value && typeof key === 'string' && typeof value === 'string') {\n                this._query['query'][key] = {\n                    $regex: value\n                };\n                if (options) this._query['query'][key]['$options'] = options;\n                return this;\n            } else {\n                console.error(\"Kindly provide valid parameters.\");\n            }\n        }\n\n        /**\n         * @method search\n         * @memberOf Query\n         * @description Retrieve entries that have fields which match the provided search value.\n         * @param {string} value - value to search in entries\n         * @example blogQuery.search('Welcome to demo')\n         * @example let blogQuery = Stack().ContentType('example').Query();\n         *          let data = blogQuery.search('welcome to demo').find()\n         *          data.then(function(result) {\n         *         // ‘result’ contains the object that possess the text \"’welcome to demo’\".\n         *       },function (error) {\n         *          // error function\n         *      })\n         * @returns {Query}\n         * @instance\n         */\n\n    }, {\n        key: 'search',\n        value: function search(value) {\n            if (value && typeof value === 'string') {\n                this._query['typeahead'] = value;\n                return this;\n            } else {\n                console.error(\"Kindly provide valid parameters.\");\n            }\n        }\n\n        /**\n         * @method find\n         * @memberOf Query\n         * @description Retrieves entries that satisfied the specified query\n         * @example let blogQuery = Stack().ContentType('example').Query().find();\n         *          blogQuery.then(function(result) {\n         *          // result contains the list of object. \n         *       },function (error) {\n         *          // error function\n         *      })\n         * blogQuery.find()\n         * @example\n         * let blogQuery = Stack.ContentType(contentTypeUid).Query().find({\n         *        \n         *      });\n         * blogQuery.then(function(result) {\n         *          // result contains the list of object. \n         *       },function (error) {\n         *          // error function\n         *      })\n         * blogQuery.find()\n         * @returns {promise}\n         * @instance\n         */\n\n    }, {\n        key: 'find',\n        value: function find(fetchOptions) {\n            // this.config = Utils.setDefaultConfig(this.config);\n            var host = this.config.protocol + \"://\" + this.config.host + ':' + this.config.port + '/' + this.config.version,\n                url = this.type && this.type === 'asset' ? host + this.config.urls.assets : host + this.config.urls.content_types + this.content_type_uid + this.config.urls.entries;\n            this.requestParams = {\n                method: 'POST',\n                headers: this.headers,\n                url: url,\n                body: {\n                    _method: 'GET',\n                    query: this._query\n                }\n            };\n            var options = Utils.mergeDeep({}, this.fetchOptions, fetchOptions);\n            return Utils.sendRequest(this, options);\n        }\n\n        /**\n        * @method findOne\n        * @memberOf Query\n        * @deprecated since verion 3.3.0\n        * @description Retrieve a single entry from the result\n        * @example let blogQuery = Stack().ContentType('example').Query().findOne();\n        *          blogQuery.then(function(result) {\n        *          // result contains the single item object. \n        *       },function (error) {\n        *          // error function\n        *      })\n        * blogQuery.findOne()\n        * @returns {promise}\n        * @instance\n        */\n\n    }, {\n        key: 'findOne',\n        value: function findOne() {\n            // this.config = Utils.setDefaultConfig(this.config);\n            var host = this.config.protocol + \"://\" + this.config.host + ':' + this.config.port + '/' + this.config.version,\n                url = this.type && this.type === 'asset' ? host + this.config.urls.assets : host + this.config.urls.content_types + this.content_type_uid + this.config.urls.entries;\n            this.singleEntry = true;\n            this._query.limit = 1;\n            this.requestParams = {\n                method: 'POST',\n                headers: this.headers,\n                url: url,\n                body: {\n                    _method: 'GET',\n                    query: this._query\n                }\n            };\n            var options = Utils.mergeDeep({}, this.fetchOptions);\n            return Utils.sendRequest(this, options);\n        }\n    }]);\n\n    return Query;\n}(_entry2.default);\n\nexports.default = Query;\n\n//# sourceURL=webpack://Contentstack/./src/core/modules/query.js?");
  
  /***/ }),
  
  /***/ "./src/core/modules/result.js":
  /*!************************************!*\
    !*** ./src/core/modules/result.js ***!
    \************************************/
  /*! no static exports found */
  /***/ (function(module, exports, __webpack_require__) {
  
  "use strict";
  eval("\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 _utils = __webpack_require__(/*! ../lib/utils */ \"./src/core/lib/utils.js\");\n\nvar Utils = _interopRequireWildcard(_utils);\n\nfunction _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) newObj[key] = obj[key]; } } newObj.default = obj; return newObj; } }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\n/**\n * @class Result\n * @summary Creates an instance of `Result`.\n * @description An initializer is responsible for creating Result object.\n * @param {Object} object - API result object\n * @example\n * blogEntry.then(function (result) {\n *      // sucess function\n * },function (error) {\n *      // error function\n * })\n * @example\n * assetQuery.then(function (result) {\n *      // sucess function\n * },function (error) {\n *      // error function\n * })\n * @returns {Result}\n * @instance \n */\nvar Result = function () {\n    function Result(object) {\n        _classCallCheck(this, Result);\n\n        if (object) {\n            this.object = function () {\n                return object;\n            };\n        }\n        return this;\n    }\n\n    /**\n     * @method toJSON\n     * @memberOf Result\n     * @description Converts `Result` to plain javascript object.\n     * @example\n     * blogEntry.then(function (result) {\n     *      result = result[0][0].toJSON()\n     * },function (error) {\n     *      // error function\n     * })\n     * @example\n     * assetQuery.then(function (result) {\n     *      result = result[0][0].toJSON()\n     * },function (error) {\n     *      // error function\n     * })\n     * @returns {object}\n     * @instance \n     */\n\n\n    _createClass(Result, [{\n        key: 'toJSON',\n        value: function toJSON() {\n            return this.object() ? Utils.mergeDeep(JSON.parse(JSON.stringify({})), this.object()) : null;\n        }\n\n        /**\n          * @method get\n          * @memberOf Result\n          * @description Retrieve details of a field based on the UID provided\n          * @param field_uid uid of the field\n          * @example\n          * blogEntry.then(function (result) {\n          *      let value = result[0][0].get(field_uid)\n          * },function (error) {\n          *      // error function\n          * })\n          * @example\n          * assetQuery.then(function (result) {\n          *      let value = result[0][0].get(field_uid)\n          * },function (error) {\n          *      // error function\n          * })\n          * @returns {promise}\n          * @instance  \n          */\n\n    }, {\n        key: 'get',\n        value: function get(key) {\n            if (this.object() && key) {\n                var fields = key.split('.');\n                var value = fields.reduce(function (prev, field) {\n                    return prev[field];\n                }, this.object());\n                return value;\n            }\n            return;\n        }\n\n        /**\n        * @method getDownloadUrl\n        * @memberOf Result\n        * @description Retrieves the download URL based on the disposition value.\n        * @param {String} string - disposition value\n        * @example\n        * assetQuery.then(function (result) {\n        *      let value = result[0][0].getDownloadUrl(disposition_value)\n        * },function (error) {\n        *      // error function\n        * })\n        * @returns {Object}\n        * @instance    \n        */\n\n    }, {\n        key: 'getDownloadUrl',\n        value: function getDownloadUrl(disposition) {\n            if (this.object()) {\n                var url = this.object().url ? this.object().url : null,\n                    _disposition = disposition && typeof disposition === 'string' ? disposition : 'attachment';\n                return url ? url + '?disposition=' + _disposition : null;\n            }\n        }\n    }]);\n\n    return Result;\n}();\n\nmodule.exports = function (object) {\n    return new Result(object);\n};\n\n//# sourceURL=webpack://Contentstack/./src/core/modules/result.js?");
  
  /***/ }),
  
  /***/ "./src/core/stack.js":
  /*!***************************!*\
    !*** ./src/core/stack.js ***!
    \***************************/
  /*! no static exports found */
  /***/ (function(module, exports, __webpack_require__) {
  
  "use strict";
  eval("\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 _config = __webpack_require__(/*! ../../config */ \"./config.js\");\n\nvar _config2 = _interopRequireDefault(_config);\n\nvar _utils = __webpack_require__(/*! ./lib/utils */ \"./src/core/lib/utils.js\");\n\nvar Utils = _interopRequireWildcard(_utils);\n\nvar _entry = __webpack_require__(/*! ./modules/entry */ \"./src/core/modules/entry.js\");\n\nvar _entry2 = _interopRequireDefault(_entry);\n\nvar _assets = __webpack_require__(/*! ./modules/assets */ \"./src/core/modules/assets.js\");\n\nvar _assets2 = _interopRequireDefault(_assets);\n\nvar _query = __webpack_require__(/*! ./modules/query */ \"./src/core/modules/query.js\");\n\nvar _query2 = _interopRequireDefault(_query);\n\nvar _request = __webpack_require__(/*! ./lib/request */ \"./src/core/lib/request.js\");\n\nvar _request2 = _interopRequireDefault(_request);\n\nvar _index = __webpack_require__(/*! ./cache-provider/index */ \"./src/core/cache-provider/index.js\");\n\nvar _index2 = _interopRequireDefault(_index);\n\nfunction _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) newObj[key] = obj[key]; } } newObj.default = obj; return newObj; } }\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 errorRetry = [408, 429];\n\n/**\n     * @class \n        Stack \n     * @description Initialize an instance of ‘Stack’\n     * @param api_key - Stack API Key.\n     * @param delivery_token - Stack Delivery token.\n     * @param environment - Stack Environment name.\n     * @param region - DB region for Stack.\n     * @param fetchOptions - Custom setting for the request.\n     * @param fetchOptions.timeout - Set timeout for the request.\n     * @param fetchOptions.retryLimit - The number of retries before failure. Default is 5\n     * @param fetchOptions.retryDelay - The number of ms to use for operation retries. Default is 300ms\n     * @param fetchOptions.retryCondition - A function to determine if the error can be retried. Default retry is on status codes 408, 429.\n     * @param fetchOptions.retryDelayOptions.base - The base number of milliseconds to use in the exponential backoff for operation retries.\n     * @param fetchOptions.retryDelayOptions.customBackoff - A custom function that accepts a retry count and error and returns the amount of time to delay in milliseconds.\n     * @example\n     * var Stack = Contentstack.Stack({\n     *      'api_key':'api_key',\n     *      'delivery_token':'delivery_token',\n     *      'environment':'environment_name',\n     *      'region': 'us',\n     *      'fetchOptions': {\n     *       \n     *      }\n     * });\n     * \n     * @example\n     * var Stack = Contentstack.Stack('api_key', 'access_token', 'environment', {\n     * \n     * });\n     * \n     * @example\n     * // For Setting the European Region:\n     * // If you want to set and use European region, refer to the code below:\n     * const Stack = Contentstack.Stack(\"api_key\", \"delivery_token\", \"environment_name\", Contentstack.Region.EU);\n     * \n     * @returns {Stack}\n     * @instance\n     */\n\nvar Stack = function () {\n    function Stack() {\n        _classCallCheck(this, Stack);\n\n        this.fetchOptions = {\n            retryLimit: 5,\n            retryCondition: function retryCondition(error) {\n                if (errorRetry.includes(error.status)) {\n                    return true;\n                }\n                return false;\n            }\n        };\n        this.config = Utils.mergeDeep({}, _config2.default);\n\n        for (var _len = arguments.length, stack_arguments = Array(_len), _key = 0; _key < _len; _key++) {\n            stack_arguments[_key] = arguments[_key];\n        }\n\n        if (stack_arguments[0].management_token) {\n            this.config['management_token'] = stack_arguments[0].management_token;\n        }\n        if (stack_arguments[0].region && stack_arguments[0].region !== undefined && stack_arguments[0].region !== \"us\") {\n            this.config['host'] = stack_arguments[0].region + \"-\" + \"cdn.contentstack.com\";\n        }\n\n        if (stack_arguments[0].fetchOptions && stack_arguments[0].fetchOptions !== undefined) {\n            this.fetchOptions = Utils.mergeDeep(this.fetchOptions, stack_arguments[0].fetchOptions);\n        }\n\n        this.cachePolicy = _index2.default.policies.IGNORE_CACHE;\n        this.provider = _index2.default.providers('localstorage');\n\n        switch (stack_arguments.length) {\n            case 1:\n                if (_typeof(stack_arguments[0]) === \"object\" && typeof stack_arguments[0].api_key === \"string\" && typeof stack_arguments[0].delivery_token === \"string\" && typeof stack_arguments[0].environment === \"string\") {\n                    this.headers = {\n                        api_key: stack_arguments[0].api_key,\n                        access_token: stack_arguments[0].delivery_token\n                    };\n                    this.environment = stack_arguments[0].environment;\n                    return this;\n                } else {\n                    console.error(\"Kindly provide valid object parameters. The specified API Key, Delivery Token, or Environment Name is invalid.\");\n                }\n            case 3:\n                if (typeof stack_arguments[0] === \"string\" && typeof stack_arguments[1] === \"string\" && typeof stack_arguments[2] === \"string\") {\n                    this.headers = {\n                        api_key: stack_arguments[0],\n                        access_token: stack_arguments[1]\n                    };\n                    this.environment = stack_arguments[2];\n                    return this;\n                } else {\n                    console.error(\"Kindly provide valid string parameters.\");\n                }\n            case 4:\n                if (typeof stack_arguments[0] === \"string\" && typeof stack_arguments[1] === \"string\" && typeof stack_arguments[2] === \"string\") {\n                    this.headers = {\n                        api_key: stack_arguments[0],\n                        access_token: stack_arguments[1]\n                    };\n                    this.environment = stack_arguments[2];\n                } else {\n                    console.error(\"Kindly provide valid string parameters.\");\n                }\n                if (stack_arguments[3]) {\n                    if (typeof stack_arguments[3] === \"string\" && stack_arguments[3] !== undefined && stack_arguments[3] !== \"us\") {\n                        this.config['host'] = stack_arguments[3] + \"-\" + \"cdn.contentstack.com\";\n                    } else if (_typeof(stack_arguments[3]) === 'object') {\n                        this.fetchOptions = Utils.mergeDeep(this.fetchOptions, stack_arguments[3]);\n                    }\n                }\n                return this;\n            case 5:\n                if (typeof stack_arguments[0] === \"string\" && typeof stack_arguments[1] === \"string\" && typeof stack_arguments[2] === \"string\") {\n                    this.headers = {\n                        api_key: stack_arguments[0],\n                        access_token: stack_arguments[1]\n                    };\n                    this.environment = stack_arguments[2];\n                } else {\n                    console.error(\"Kindly provide valid string parameters.\");\n                }\n\n                if (stack_arguments[3]) {\n                    if (typeof stack_arguments[3] === \"string\" && stack_arguments[3] !== undefined && stack_arguments[3] !== \"us\") {\n                        this.config['host'] = stack_arguments[3] + \"-\" + \"cdn.contentstack.com\";\n                    } else if (_typeof(stack_arguments[3]) === 'object') {\n                        this.fetchOptions = Utils.mergeDeep(this.fetchOptions, stack_arguments[3]);\n                    }\n                }\n                if (stack_arguments[4] && _typeof(stack_arguments[4]) === 'object') {\n                    this.fetchOptions = Utils.mergeDeep(this.fetchOptions, stack_arguments[4]);\n                }\n                return this;\n            default:\n                console.error(\"Kindly provide valid parameters to initialize the Contentstack javascript-SDK Stack.\");\n        }\n    }\n\n    /**\n     * @method setPort\n     * @memberOf Stack\n     * @description Sets the port of the host\n     * @param {Number} port - Port Number\n     * @return {Stack}\n     * @instance\n     * */\n\n\n    _createClass(Stack, [{\n        key: 'setPort',\n        value: function setPort(port) {\n            if (typeof port === \"number\") this.config.port = port;\n            return this;\n        }\n\n        /**\n         * @method setProtocol\n         * @memberOf Stack\n         * @description Sets the protocol for the host\n         * @param {String} protocol - http/https protocol\n         * @return {Stack}\n         * @instance\n         * */\n\n    }, {\n        key: 'setProtocol',\n        value: function setProtocol(protocol) {\n            if (typeof protocol === \"string\" && ~[\"https\", \"http\"].indexOf(protocol)) this.config.protocol = protocol;\n            return this;\n        }\n\n        /**\n         * @method setHost\n         * @memberOf Stack\n         * @description Sets the host of the API server\n         * @param {String} host - valid ip or host\n         * @return {Stack}\n         * @instance\n         * */\n\n    }, {\n        key: 'setHost',\n        value: function setHost(host) {\n            if (typeof host === \"string\" && host) this.config.host = host;\n            return this;\n        }\n\n        /**\n         * @method setCachePolicy\n         * @memberOf Stack\n         * @description Allows you to set cache policies\n         * @param {Constant} [key=ONLY_NETWORK] - Cache policy to be applied on Stack or Query.\n         * @example\n         * Stack.setCachePolicy(Contentstack.CachePolicy.IGNORE_CACHE)\n         * Stack.setCachePolicy(Contentstack.CachePolicy.ONLY_NETWORK)\n         * Stack.setCachePolicy(Contentstack.CachePolicy.CACHE_ELSE_NETWORK)\n         * Stack.setCachePolicy(Contentstack.CachePolicy.NETWORK_ELSE_CACHE)\n         * Stack.setCachePolicy(Contentstack.CachePolicy.CACHE_THEN_NETWORK)\n         * @returns {Stack}\n         * @instance\n         */\n\n    }, {\n        key: 'setCachePolicy',\n        value: function setCachePolicy(policy) {\n            if (typeof policy === 'number' && policy >= -1 && policy < 4) {\n                if (!this._query) {\n                    this.cachePolicy = policy;\n                } else {\n                    this.queryCachePolicy = policy;\n                }\n            } else {\n                console.error(\"Kindly provide the valid policy\");\n            }\n            return this;\n        }\n\n        /**\n        * @method setCacheProvider\n        * @memberOf Stack\n        * @description Allows you to set an object of the cache provider\n        * @example\n        * Stack\n        *      .setCacheProvider({\n        *          get: function (key, callback) {\n        *              // custom logic\n        *          },\n        *          set: function (key, value, callback) {\n        *              // custom logic\n        *          }\n        *      });\n        * @returns {Stack}\n        * @instance\n        */\n\n    }, {\n        key: 'setCacheProvider',\n        value: function setCacheProvider(provider) {\n            if (provider && (typeof provider === 'undefined' ? 'undefined' : _typeof(provider)) === 'object') {\n                this.provider = provider;\n            }\n            return this;\n        }\n\n        /**\n         * @method clearByQuery\n         * @memberOf Stack\n         * @description 'clearByQuery' function to clear the query from the cache.\n         * @example\n         * Stack.clearQuery(query, callback);\n         * @returns {Stack}\n         * @instance\n         */\n\n    }, {\n        key: 'clearByQuery',\n        value: function clearByQuery() {\n            if (this.provider && typeof this.provider.clearByQuery === 'function') {\n                return this.provider.clearByQuery.apply(this.provider, arguments);\n            }\n        }\n\n        /**\n         * @method clearByContentType\n         * @memberOf Stack\n         * @description 'clearByContentType' function to clear the query from the cache by specified content type.\n         * @example\n         * Stack.clearByContentType(content_type_uid, callback);\n         * Stack.clearByContentType(content_type_uid, language_uid, callback);\n         * @returns {Stack}\n         * @instance\n         */\n\n    }, {\n        key: 'clearByContentType',\n        value: function clearByContentType() {\n            if (this.provider && typeof this.provider.clearByContentType === 'function') {\n                return this.provider.clearByContentType.apply(this.provider, arguments);\n            }\n        }\n\n        /**\n         * @method clearAll\n         * @memberOf Stack\n         * @description 'clearAll' function to clear all the queries from cache.\n         * @example\n         * Stack.clearAll(callback);\n         * @returns {Stack}\n         * @instance   \n         */\n\n    }, {\n        key: 'clearAll',\n        value: function clearAll() {\n            if (this.provider && typeof this.provider.clearAll === 'function') {\n                return this.provider.clearAll.apply(this.provider, arguments);\n            }\n        }\n\n        /**\n          * @method getCacheProvider\n          * @memberOf Stack\n          * @description Returns the currently set object of 'CacheProvider'\n          * @example Stack.getCacheProvider();\n          * @returns {object}\n          * @instance\n          */\n\n    }, {\n        key: 'getCacheProvider',\n        value: function getCacheProvider() {\n            return this.provider;\n        }\n\n        /**\n          * @method ContentType\n          * @memberOf Stack\n          * @description Set the content type of which you want to retrieve the entries\n          * @param {String} [content_type_uid] - uid of the existing content type\n          * @example \n          * let data = Stack.ContentType('blog').Query().toJSON().find()\n          *      data\n          *      .then(function(result) {\n          *           // 'result' content the list of entries of particular content type blog.       \n          *      }, function(error) {\n          *           // error function\n          *      })\n          * @returns {Stack}\n          * @instance\n          */\n\n    }, {\n        key: 'ContentType',\n        value: function ContentType(uid) {\n            if (uid && typeof uid === 'string') {\n                this.content_type_uid = uid;\n                this.type = \"contentType\";\n            }\n            return this;\n        }\n\n        /**\n            * @method Entry\n            * @memberOf ContentType\n            * @param {String} uid - uid of the entry \n            * @description An initializer is responsible for creating Entry object\n            * @returns {Entry}\n            * @instance \n            */\n\n    }, {\n        key: 'Entry',\n        value: function Entry(uid) {\n            var entry = new _entry2.default();\n            if (uid && typeof uid === \"string\") {\n                entry.entry_uid = uid;\n            }\n            return Utils.merge(entry, this);\n        }\n\n        /**\n        * @method fetch\n        * @memberOf ContentType\n        * @description This method returns the complete information of a specific content type.\n        * @example\n        * let single_contenttype = Stack.ContentType(content_type_uid).fetch()\n        *    single_contenttype\n        *    .then(function(result) {\n        *      // 'result' is a single contentType information.       \n        *     }).catch((error) => {\n        *        console.log(error)\n        *  });\n        * @returns {promise}\n        * @instance \n        */\n\n    }, {\n        key: 'fetch',\n        value: function fetch(fetchOptions) {\n            var result = {\n                method: 'POST',\n                headers: this.headers,\n                url: this.config.protocol + \"://\" + this.config.host + ':' + this.config.port + '/' + this.config.version + this.config.urls.content_types + this.content_type_uid,\n                body: {\n                    _method: 'GET',\n                    environment: this.environment\n                }\n            };\n            var options = Utils.mergeDeep({}, this.fetchOptions, fetchOptions);\n            return (0, _request2.default)(result, options);\n        }\n\n        /**\n           * @method Assets\n           * @memberOf Stack\n           * @param {String} uid - uid of the asset \n           * @description Retrieves all assets of a stack by default. To retrieve a single asset, specify its UID.\n           * @example \n           * // Retrieves all assets\n           * let data = Stack.Assets().Query().toJSON().find()\n           *      data\n           *      .then(function(result) {\n           *          // All the asset with limit of 100\n           *          // Use skip and limit functions to paginate\n           *          // ‘result’ will display all assets present in stack       \n           *      }, function(error) {\n           *           // error function\n           *      })\n           * \n           * @example \n           * let data = Stack.Assets('bltsomething123').toJSON().fetch()\n           *      data\n           *        .then(function(result) {\n           *           // ‘result’ is a single asset object of specified uid       \n           *      }, function(error) {\n           *           // error function\n           *      })\n           * \n           * @returns {Assets}\n           * @instance \n           */\n\n    }, {\n        key: 'Assets',\n        value: function Assets(uid) {\n            this.type = 'asset';\n            if (uid && typeof uid === \"string\") {\n                var asset = new _assets2.default();\n                asset.asset_uid = uid;\n                return Utils.merge(asset, this);\n            }\n            return this;\n        }\n\n        /**\n            * @method Query\n            * @memberOf Stack\n            * @description An initializer is responsible for creating Query object.Provides support for all search queries\n            * @returns {Query}\n            * @instance  \n            */\n\n    }, {\n        key: 'Query',\n        value: function Query() {\n            var query = new _query2.default();\n            return Utils.merge(query, this);\n        }\n\n        /**\n          * @method getLastActivities\n          * @memberOf Stack\n          * @description getLastActivities get all the ContentTypes whose last activity updated.\n          * @example Stack.getLastActivities()\n          * @example \n          * let data = Stack.getLastActivities().toJSON().fetch()\n          *      data\n          *      .then(function(result) {\n          *           // 'result' is list of contentTypes whose last activity updated.       \n          *      }, function(error) {\n          *           // error function\n          *      })\n          * @returns {promise}\n          * @instance\n          */\n\n    }, {\n        key: 'getLastActivities',\n        value: function getLastActivities() {\n            var query = {\n                method: 'POST',\n                headers: this.headers,\n                url: this.config.protocol + \"://\" + this.config.host + ':' + this.config.port + '/' + this.config.version + this.config.urls.content_types,\n                body: {\n                    _method: 'GET',\n                    only_last_activity: true,\n                    environment: this.environment\n                }\n            };\n            return (0, _request2.default)(query, this.fetchOptions);\n        }\n\n        /**\n        * @method getContentTypes\n        * @memberOf Stack\n        * @param {String} param - Query on contentTypes\n        * @description This method returns comprehensive information of all the content types of a particular stack in your account.\n        * @example \n        * let data = Stack.getContentTypes({\"include_global_field_schema\": true})\n        *      data\n        *      .then(function(result) {\n        *           // 'result' is list of contentTypes.       \n        *      }, function(error) {\n        *           // error function\n        *      })\n        * @returns {promise}\n        * @instance\n        */\n\n    }, {\n        key: 'getContentTypes',\n        value: function getContentTypes() {\n            var param = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n\n            var query = {\n                method: 'POST',\n                headers: this.headers,\n                url: this.config.protocol + \"://\" + this.config.host + ':' + this.config.port + '/' + this.config.version + this.config.urls.content_types,\n                body: {\n                    _method: 'GET',\n                    environment: this.environment\n                }\n            };\n            if (param && param !== undefined) {\n                for (var key in param) {\n                    query.body[key] = param[key];\n                }\n            }\n            return (0, _request2.default)(query, this.fetchOptions);\n        }\n\n        /**\n         * @method sync\n         * @memberOf Stack\n         * @description Syncs your Contentstack data with your app and ensures that the data is always up-to-date by providing delta updates\n         * @param {object} params - params is an object that supports ‘locale’, ‘start_date’, ‘content_type_uid’, and ‘type’ queries.\n         * @example \n         * Stack.sync({'init': true})        // For initializing sync\n         * @example \n         * Stack.sync({'init': true, 'locale': 'en-us'})     //For initializing sync with entries of a specific locale\n         * @example \n         * Stack.sync({'init': true, 'start_date': '2018-10-22'})    //For initializing sync with entries published after a specific date\n         * @example \n         * Stack.sync({'init': true, 'content_type_uid': 'session'})   //For initializing sync with entries of a specific content type\n         * @example \n         * Stack.sync({'init': true, 'type': 'entry_published'})   //Use the type parameter to get a specific type of content.Supports 'asset_published', 'entry_published', 'asset_unpublished', 'entry_unpublished', 'asset_deleted', 'entry_deleted', 'content_type_deleted'.\n         * @example \n         * Stack.sync({'pagination_token': '<btlsomething>'})    // For fetching the next batch of entries using pagination token\n         * @example \n         * Stack.sync({'sync_token': '<btlsomething>'})    // For performing subsequent sync after initial sync\n         * @returns {promise}\n         * @instance\n         */\n\n    }, {\n        key: 'sync',\n        value: function sync(params, fetchOptions) {\n            this._query = {};\n            this._query = Utils.mergeDeep(this._query, params);\n            this.requestParams = {\n                method: 'POST',\n                headers: this.headers,\n                url: this.config.protocol + \"://\" + this.config.host + ':' + this.config.port + '/' + this.config.version + this.config.urls.sync,\n                body: {\n                    _method: 'GET',\n                    query: this._query\n                }\n            };\n            var options = Utils.mergeDeep({}, this.fetchOptions, fetchOptions);\n            return Utils.sendRequest(this, options);\n        }\n\n        /**\n         * @method imageTransform\n         * @memberOf Stack\n         * @description Performs transformations on images of mentioned url based on transformation parameters \n         * @param {String} url - Image url on which transformations need to be applied.\n         * @param {String} params - Object with transformation parameters\n         * @example\n         * Stack.imageTransform(imageURL, {height: 100, width: 200, disable: \"upscale\"});\n         * @example\n         * Stack.imageTransform(imageURL, {crop: \"150,100\"});\n         * @example\n         * Stack.imageTransform(imageURL, {format: \"png\", crop: \"150,100\"});\n         * @returns {string} [Image url with transformation parameters.]\n         * @instance\n         */\n\n    }, {\n        key: 'imageTransform',\n        value: function imageTransform(url, params) {\n            if (url && typeof url === \"string\" && (typeof params === 'undefined' ? 'undefined' : _typeof(params)) === \"object\" && params.length === undefined) {\n                var queryParams = [];\n                for (var operation in params) {\n                    queryParams.push(operation + '=' + params[operation]);\n                }\n                url += url.indexOf(\"?\") <= -1 ? \"?\" + queryParams.join('&') : \"&\" + queryParams.join('&');\n            }\n\n            return url;\n        }\n    }, {\n        key: 'livePreview',\n        value: function livePreview(config) {\n            var _this = this;\n\n            var enable = config.enable,\n                include_edit_tags = config.include_edit_tags,\n                edit_tags_type = config.edit_tags_type,\n                clientUrlParams = config.clientUrlParams;\n\n            this.config.live_preview = {\n                enable: enable,\n                include_edit_tags: include_edit_tags,\n                edit_tags_type: edit_tags_type\n            };\n\n            if (clientUrlParams) {\n                this.config.live_preview['clientUrlParams'] = clientUrlParams;\n            }\n\n            return function (req, res, next) {\n                if (req.query) {\n                    _this.config.live_preview['hash'] = req.query.live_preview;\n                    _this.config.live_preview['content_type_uid'] = req.query.content_type_uid;\n                    _this.config.live_preview['include_edit_tags'] = config.include_edit_tags;\n                    _this.config.live_preview['edit_tags_type'] = config.edit_tags_type;\n                }\n                next();\n            };\n        }\n    }]);\n\n    return Stack;\n}();\n\nexports.default = Stack;\n\n//# sourceURL=webpack://Contentstack/./src/core/stack.js?");
  
  /***/ }),
  
  /***/ "./src/runtime/nativescript/http.js":
  /*!******************************************!*\
    !*** ./src/runtime/nativescript/http.js ***!
    \******************************************/
  /*! no static exports found */
  /***/ (function(module, exports, __webpack_require__) {
  
  "use strict";
  eval("\n\nObject.defineProperty(exports, \"__esModule\", {\n  value: true\n});\nexports.default = fetch;\n\n//# sourceURL=webpack://Contentstack/./src/runtime/nativescript/http.js?");
  
  /***/ }),
  
  /***/ "./src/runtime/nativescript/localstorage.js":
  /*!**************************************************!*\
    !*** ./src/runtime/nativescript/localstorage.js ***!
    \**************************************************/
  /*! no static exports found */
  /***/ (function(module, exports, __webpack_require__) {
  
  "use strict";
  eval("\n\nObject.defineProperty(exports, \"__esModule\", {\n  value: true\n});\n\nvar _localStorage = __webpack_require__(/*! localStorage */ \"./node_modules/localStorage/lib/localStorage.js\");\n\nvar _localStorage2 = _interopRequireDefault(_localStorage);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nexports.default = _localStorage2.default;\n\n//# sourceURL=webpack://Contentstack/./src/runtime/nativescript/localstorage.js?");
  
  /***/ })
  
  /******/ });