marked 3.0.6 → 4.0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/lib/marked.js CHANGED
@@ -69,11 +69,7 @@
69
69
  throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
70
70
  }
71
71
 
72
- var marked$1 = {exports: {}};
73
-
74
- var defaults$5 = {exports: {}};
75
-
76
- function getDefaults$1() {
72
+ function getDefaults() {
77
73
  return {
78
74
  baseUrl: null,
79
75
  breaks: false,
@@ -96,17 +92,11 @@
96
92
  xhtml: false
97
93
  };
98
94
  }
99
-
100
- function changeDefaults$1(newDefaults) {
101
- defaults$5.exports.defaults = newDefaults;
95
+ exports.defaults = getDefaults();
96
+ function changeDefaults(newDefaults) {
97
+ exports.defaults = newDefaults;
102
98
  }
103
99
 
104
- defaults$5.exports = {
105
- defaults: getDefaults$1(),
106
- getDefaults: getDefaults$1,
107
- changeDefaults: changeDefaults$1
108
- };
109
-
110
100
  /**
111
101
  * Helpers
112
102
  */
@@ -126,7 +116,7 @@
126
116
  return escapeReplacements[ch];
127
117
  };
128
118
 
129
- function escape$2(html, encode) {
119
+ function escape(html, encode) {
130
120
  if (encode) {
131
121
  if (escapeTest.test(html)) {
132
122
  return html.replace(escapeReplace, getEscapeReplacement);
@@ -139,10 +129,8 @@
139
129
 
140
130
  return html;
141
131
  }
142
-
143
132
  var unescapeTest = /&(#(?:\d+)|(?:#x[0-9A-Fa-f]+)|(?:\w+));?/ig;
144
-
145
- function unescape$1(html) {
133
+ function unescape(html) {
146
134
  // explicitly match decimal, hex, and named HTML entities
147
135
  return html.replace(unescapeTest, function (_, n) {
148
136
  n = n.toLowerCase();
@@ -155,10 +143,8 @@
155
143
  return '';
156
144
  });
157
145
  }
158
-
159
146
  var caret = /(^|[^\[])\^/g;
160
-
161
- function edit$1(regex, opt) {
147
+ function edit(regex, opt) {
162
148
  regex = regex.source || regex;
163
149
  opt = opt || '';
164
150
  var obj = {
@@ -174,16 +160,14 @@
174
160
  };
175
161
  return obj;
176
162
  }
177
-
178
163
  var nonWordAndColonTest = /[^\w:]/g;
179
164
  var originIndependentUrl = /^$|^[a-z][a-z0-9+.-]*:|^[?#]/i;
180
-
181
- function cleanUrl$1(sanitize, base, href) {
165
+ function cleanUrl(sanitize, base, href) {
182
166
  if (sanitize) {
183
167
  var prot;
184
168
 
185
169
  try {
186
- prot = decodeURIComponent(unescape$1(href)).replace(nonWordAndColonTest, '').toLowerCase();
170
+ prot = decodeURIComponent(unescape(href)).replace(nonWordAndColonTest, '').toLowerCase();
187
171
  } catch (e) {
188
172
  return null;
189
173
  }
@@ -205,12 +189,10 @@
205
189
 
206
190
  return href;
207
191
  }
208
-
209
192
  var baseUrls = {};
210
193
  var justDomain = /^[^:]+:\/*[^/]*$/;
211
194
  var protocol = /^([^:]+:)[\s\S]*$/;
212
195
  var domain = /^([^:]+:\/*[^/]*)[\s\S]*$/;
213
-
214
196
  function resolveUrl(base, href) {
215
197
  if (!baseUrls[' ' + base]) {
216
198
  // we can ignore everything in base after the last slash of its path component,
@@ -219,7 +201,7 @@
219
201
  if (justDomain.test(base)) {
220
202
  baseUrls[' ' + base] = base + '/';
221
203
  } else {
222
- baseUrls[' ' + base] = rtrim$1(base, '/', true);
204
+ baseUrls[' ' + base] = rtrim(base, '/', true);
223
205
  }
224
206
  }
225
207
 
@@ -242,12 +224,10 @@
242
224
  return base + href;
243
225
  }
244
226
  }
245
-
246
- var noopTest$1 = {
227
+ var noopTest = {
247
228
  exec: function noopTest() {}
248
229
  };
249
-
250
- function merge$2(obj) {
230
+ function merge(obj) {
251
231
  var i = 1,
252
232
  target,
253
233
  key;
@@ -264,8 +244,7 @@
264
244
 
265
245
  return obj;
266
246
  }
267
-
268
- function splitCells$1(tableRow, count) {
247
+ function splitCells(tableRow, count) {
269
248
  // ensure that every cell-delimiting pipe has a space
270
249
  // before it to distinguish it from an escaped pipe
271
250
  var row = tableRow.replace(/\|/g, function (match, offset, str) {
@@ -314,8 +293,7 @@
314
293
  // /c*$/ is vulnerable to REDOS.
315
294
  // invert: Remove suffix of non-c chars instead. Default falsey.
316
295
 
317
-
318
- function rtrim$1(str, c, invert) {
296
+ function rtrim(str, c, invert) {
319
297
  var l = str.length;
320
298
 
321
299
  if (l === 0) {
@@ -339,8 +317,7 @@
339
317
 
340
318
  return str.substr(0, l - suffLen);
341
319
  }
342
-
343
- function findClosingBracket$1(str, b) {
320
+ function findClosingBracket(str, b) {
344
321
  if (str.indexOf(b[1]) === -1) {
345
322
  return -1;
346
323
  }
@@ -365,15 +342,13 @@
365
342
 
366
343
  return -1;
367
344
  }
368
-
369
- function checkSanitizeDeprecation$1(opt) {
345
+ function checkSanitizeDeprecation(opt) {
370
346
  if (opt && opt.sanitize && !opt.silent) {
371
347
  console.warn('marked(): sanitize and sanitizer parameters are deprecated since version 0.7.0, should not be used and will be removed in the future. Read more here: https://marked.js.org/#/USING_ADVANCED.md#options');
372
348
  }
373
349
  } // copied from https://stackoverflow.com/a/5450113/806777
374
350
 
375
-
376
- function repeatString$1(pattern, count) {
351
+ function repeatString(pattern, count) {
377
352
  if (count < 1) {
378
353
  return '';
379
354
  }
@@ -392,30 +367,9 @@
392
367
  return result + pattern;
393
368
  }
394
369
 
395
- var helpers = {
396
- escape: escape$2,
397
- unescape: unescape$1,
398
- edit: edit$1,
399
- cleanUrl: cleanUrl$1,
400
- resolveUrl: resolveUrl,
401
- noopTest: noopTest$1,
402
- merge: merge$2,
403
- splitCells: splitCells$1,
404
- rtrim: rtrim$1,
405
- findClosingBracket: findClosingBracket$1,
406
- checkSanitizeDeprecation: checkSanitizeDeprecation$1,
407
- repeatString: repeatString$1
408
- };
409
-
410
- var defaults$4 = defaults$5.exports.defaults;
411
- var rtrim = helpers.rtrim,
412
- splitCells = helpers.splitCells,
413
- _escape = helpers.escape,
414
- findClosingBracket = helpers.findClosingBracket;
415
-
416
370
  function outputLink(cap, link, raw, lexer) {
417
371
  var href = link.href;
418
- var title = link.title ? _escape(link.title) : null;
372
+ var title = link.title ? escape(link.title) : null;
419
373
  var text = cap[1].replace(/\\([\[\]])/g, '$1');
420
374
 
421
375
  if (cap[0].charAt(0) !== '!') {
@@ -436,7 +390,7 @@
436
390
  raw: raw,
437
391
  href: href,
438
392
  title: title,
439
- text: _escape(text)
393
+ text: escape(text)
440
394
  };
441
395
  }
442
396
  }
@@ -470,9 +424,9 @@
470
424
  */
471
425
 
472
426
 
473
- var Tokenizer_1$1 = /*#__PURE__*/function () {
427
+ var Tokenizer = /*#__PURE__*/function () {
474
428
  function Tokenizer(options) {
475
- this.options = options || defaults$4;
429
+ this.options = options || exports.defaults;
476
430
  }
477
431
 
478
432
  var _proto = Tokenizer.prototype;
@@ -744,7 +698,7 @@
744
698
 
745
699
  if (this.options.sanitize) {
746
700
  token.type = 'paragraph';
747
- token.text = this.options.sanitizer ? this.options.sanitizer(cap[0]) : _escape(cap[0]);
701
+ token.text = this.options.sanitizer ? this.options.sanitizer(cap[0]) : escape(cap[0]);
748
702
  token.tokens = [];
749
703
  this.lexer.inline(token.text, token.tokens);
750
704
  }
@@ -883,14 +837,14 @@
883
837
  }
884
838
  };
885
839
 
886
- _proto.escape = function escape(src) {
840
+ _proto.escape = function escape$1(src) {
887
841
  var cap = this.rules.inline.escape.exec(src);
888
842
 
889
843
  if (cap) {
890
844
  return {
891
845
  type: 'escape',
892
846
  raw: cap[0],
893
- text: _escape(cap[1])
847
+ text: escape(cap[1])
894
848
  };
895
849
  }
896
850
  };
@@ -916,7 +870,7 @@
916
870
  raw: cap[0],
917
871
  inLink: this.lexer.state.inLink,
918
872
  inRawBlock: this.lexer.state.inRawBlock,
919
- text: this.options.sanitize ? this.options.sanitizer ? this.options.sanitizer(cap[0]) : _escape(cap[0]) : cap[0]
873
+ text: this.options.sanitize ? this.options.sanitizer ? this.options.sanitizer(cap[0]) : escape(cap[0]) : cap[0]
920
874
  };
921
875
  }
922
876
  };
@@ -1013,7 +967,7 @@
1013
967
  var match = this.rules.inline.emStrong.lDelim.exec(src);
1014
968
  if (!match) return; // _ can't be between two alphanumerics. \p{L}\p{N} includes non-english alphabet/numbers as well
1015
969
 
1016
- if (match[3] && prevChar.match(/(?:[0-9A-Za-z\xAA\xB2\xB3\xB5\xB9\xBA\xBC-\xBE\xC0-\xD6\xD8-\xF6\xF8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0370-\u0374\u0376\u0377\u037A-\u037D\u037F\u0386\u0388-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5\u03F7-\u0481\u048A-\u052F\u0531-\u0556\u0559\u0560-\u0588\u05D0-\u05EA\u05EF-\u05F2\u0620-\u064A\u0660-\u0669\u066E\u066F\u0671-\u06D3\u06D5\u06E5\u06E6\u06EE-\u06FC\u06FF\u0710\u0712-\u072F\u074D-\u07A5\u07B1\u07C0-\u07EA\u07F4\u07F5\u07FA\u0800-\u0815\u081A\u0824\u0828\u0840-\u0858\u0860-\u086A\u08A0-\u08B4\u08B6-\u08C7\u0904-\u0939\u093D\u0950\u0958-\u0961\u0966-\u096F\u0971-\u0980\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2\u09B6-\u09B9\u09BD\u09CE\u09DC\u09DD\u09DF-\u09E1\u09E6-\u09F1\u09F4-\u09F9\u09FC\u0A05-\u0A0A\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39\u0A59-\u0A5C\u0A5E\u0A66-\u0A6F\u0A72-\u0A74\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABD\u0AD0\u0AE0\u0AE1\u0AE6-\u0AEF\u0AF9\u0B05-\u0B0C\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3D\u0B5C\u0B5D\u0B5F-\u0B61\u0B66-\u0B6F\u0B71-\u0B77\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BD0\u0BE6-\u0BF2\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C39\u0C3D\u0C58-\u0C5A\u0C60\u0C61\u0C66-\u0C6F\u0C78-\u0C7E\u0C80\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3\u0CB5-\u0CB9\u0CBD\u0CDE\u0CE0\u0CE1\u0CE6-\u0CEF\u0CF1\u0CF2\u0D04-\u0D0C\u0D0E-\u0D10\u0D12-\u0D3A\u0D3D\u0D4E\u0D54-\u0D56\u0D58-\u0D61\u0D66-\u0D78\u0D7A-\u0D7F\u0D85-\u0D96\u0D9A-\u0DB1\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0DE6-\u0DEF\u0E01-\u0E30\u0E32\u0E33\u0E40-\u0E46\u0E50-\u0E59\u0E81\u0E82\u0E84\u0E86-\u0E8A\u0E8C-\u0EA3\u0EA5\u0EA7-\u0EB0\u0EB2\u0EB3\u0EBD\u0EC0-\u0EC4\u0EC6\u0ED0-\u0ED9\u0EDC-\u0EDF\u0F00\u0F20-\u0F33\u0F40-\u0F47\u0F49-\u0F6C\u0F88-\u0F8C\u1000-\u102A\u103F-\u1049\u1050-\u1055\u105A-\u105D\u1061\u1065\u1066\u106E-\u1070\u1075-\u1081\u108E\u1090-\u1099\u10A0-\u10C5\u10C7\u10CD\u10D0-\u10FA\u10FC-\u1248\u124A-\u124D\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310\u1312-\u1315\u1318-\u135A\u1369-\u137C\u1380-\u138F\u13A0-\u13F5\u13F8-\u13FD\u1401-\u166C\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u16EE-\u16F8\u1700-\u170C\u170E-\u1711\u1720-\u1731\u1740-\u1751\u1760-\u176C\u176E-\u1770\u1780-\u17B3\u17D7\u17DC\u17E0-\u17E9\u17F0-\u17F9\u1810-\u1819\u1820-\u1878\u1880-\u1884\u1887-\u18A8\u18AA\u18B0-\u18F5\u1900-\u191E\u1946-\u196D\u1970-\u1974\u1980-\u19AB\u19B0-\u19C9\u19D0-\u19DA\u1A00-\u1A16\u1A20-\u1A54\u1A80-\u1A89\u1A90-\u1A99\u1AA7\u1B05-\u1B33\u1B45-\u1B4B\u1B50-\u1B59\u1B83-\u1BA0\u1BAE-\u1BE5\u1C00-\u1C23\u1C40-\u1C49\u1C4D-\u1C7D\u1C80-\u1C88\u1C90-\u1CBA\u1CBD-\u1CBF\u1CE9-\u1CEC\u1CEE-\u1CF3\u1CF5\u1CF6\u1CFA\u1D00-\u1DBF\u1E00-\u1F15\u1F18-\u1F1D\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u2070\u2071\u2074-\u2079\u207F-\u2089\u2090-\u209C\u2102\u2107\u210A-\u2113\u2115\u2119-\u211D\u2124\u2126\u2128\u212A-\u212D\u212F-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2150-\u2189\u2460-\u249B\u24EA-\u24FF\u2776-\u2793\u2C00-\u2C2E\u2C30-\u2C5E\u2C60-\u2CE4\u2CEB-\u2CEE\u2CF2\u2CF3\u2CFD\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D80-\u2D96\u2DA0-\u2DA6\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE\u2DD0-\u2DD6\u2DD8-\u2DDE\u2E2F\u3005-\u3007\u3021-\u3029\u3031-\u3035\u3038-\u303C\u3041-\u3096\u309D-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312F\u3131-\u318E\u3192-\u3195\u31A0-\u31BF\u31F0-\u31FF\u3220-\u3229\u3248-\u324F\u3251-\u325F\u3280-\u3289\u32B1-\u32BF\u3400-\u4DBF\u4E00-\u9FFC\uA000-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA62B\uA640-\uA66E\uA67F-\uA69D\uA6A0-\uA6EF\uA717-\uA71F\uA722-\uA788\uA78B-\uA7BF\uA7C2-\uA7CA\uA7F5-\uA801\uA803-\uA805\uA807-\uA80A\uA80C-\uA822\uA830-\uA835\uA840-\uA873\uA882-\uA8B3\uA8D0-\uA8D9\uA8F2-\uA8F7\uA8FB\uA8FD\uA8FE\uA900-\uA925\uA930-\uA946\uA960-\uA97C\uA984-\uA9B2\uA9CF-\uA9D9\uA9E0-\uA9E4\uA9E6-\uA9FE\uAA00-\uAA28\uAA40-\uAA42\uAA44-\uAA4B\uAA50-\uAA59\uAA60-\uAA76\uAA7A\uAA7E-\uAAAF\uAAB1\uAAB5\uAAB6\uAAB9-\uAABD\uAAC0\uAAC2\uAADB-\uAADD\uAAE0-\uAAEA\uAAF2-\uAAF4\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E\uAB30-\uAB5A\uAB5C-\uAB69\uAB70-\uABE2\uABF0-\uABF9\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D\uFB1F-\uFB28\uFB2A-\uFB36\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE70-\uFE74\uFE76-\uFEFC\uFF10-\uFF19\uFF21-\uFF3A\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF\uFFD2-\uFFD7\uFFDA-\uFFDC]|\uD800[\uDC00-\uDC0B\uDC0D-\uDC26\uDC28-\uDC3A\uDC3C\uDC3D\uDC3F-\uDC4D\uDC50-\uDC5D\uDC80-\uDCFA\uDD07-\uDD33\uDD40-\uDD78\uDD8A\uDD8B\uDE80-\uDE9C\uDEA0-\uDED0\uDEE1-\uDEFB\uDF00-\uDF23\uDF2D-\uDF4A\uDF50-\uDF75\uDF80-\uDF9D\uDFA0-\uDFC3\uDFC8-\uDFCF\uDFD1-\uDFD5]|\uD801[\uDC00-\uDC9D\uDCA0-\uDCA9\uDCB0-\uDCD3\uDCD8-\uDCFB\uDD00-\uDD27\uDD30-\uDD63\uDE00-\uDF36\uDF40-\uDF55\uDF60-\uDF67]|\uD802[\uDC00-\uDC05\uDC08\uDC0A-\uDC35\uDC37\uDC38\uDC3C\uDC3F-\uDC55\uDC58-\uDC76\uDC79-\uDC9E\uDCA7-\uDCAF\uDCE0-\uDCF2\uDCF4\uDCF5\uDCFB-\uDD1B\uDD20-\uDD39\uDD80-\uDDB7\uDDBC-\uDDCF\uDDD2-\uDE00\uDE10-\uDE13\uDE15-\uDE17\uDE19-\uDE35\uDE40-\uDE48\uDE60-\uDE7E\uDE80-\uDE9F\uDEC0-\uDEC7\uDEC9-\uDEE4\uDEEB-\uDEEF\uDF00-\uDF35\uDF40-\uDF55\uDF58-\uDF72\uDF78-\uDF91\uDFA9-\uDFAF]|\uD803[\uDC00-\uDC48\uDC80-\uDCB2\uDCC0-\uDCF2\uDCFA-\uDD23\uDD30-\uDD39\uDE60-\uDE7E\uDE80-\uDEA9\uDEB0\uDEB1\uDF00-\uDF27\uDF30-\uDF45\uDF51-\uDF54\uDFB0-\uDFCB\uDFE0-\uDFF6]|\uD804[\uDC03-\uDC37\uDC52-\uDC6F\uDC83-\uDCAF\uDCD0-\uDCE8\uDCF0-\uDCF9\uDD03-\uDD26\uDD36-\uDD3F\uDD44\uDD47\uDD50-\uDD72\uDD76\uDD83-\uDDB2\uDDC1-\uDDC4\uDDD0-\uDDDA\uDDDC\uDDE1-\uDDF4\uDE00-\uDE11\uDE13-\uDE2B\uDE80-\uDE86\uDE88\uDE8A-\uDE8D\uDE8F-\uDE9D\uDE9F-\uDEA8\uDEB0-\uDEDE\uDEF0-\uDEF9\uDF05-\uDF0C\uDF0F\uDF10\uDF13-\uDF28\uDF2A-\uDF30\uDF32\uDF33\uDF35-\uDF39\uDF3D\uDF50\uDF5D-\uDF61]|\uD805[\uDC00-\uDC34\uDC47-\uDC4A\uDC50-\uDC59\uDC5F-\uDC61\uDC80-\uDCAF\uDCC4\uDCC5\uDCC7\uDCD0-\uDCD9\uDD80-\uDDAE\uDDD8-\uDDDB\uDE00-\uDE2F\uDE44\uDE50-\uDE59\uDE80-\uDEAA\uDEB8\uDEC0-\uDEC9\uDF00-\uDF1A\uDF30-\uDF3B]|\uD806[\uDC00-\uDC2B\uDCA0-\uDCF2\uDCFF-\uDD06\uDD09\uDD0C-\uDD13\uDD15\uDD16\uDD18-\uDD2F\uDD3F\uDD41\uDD50-\uDD59\uDDA0-\uDDA7\uDDAA-\uDDD0\uDDE1\uDDE3\uDE00\uDE0B-\uDE32\uDE3A\uDE50\uDE5C-\uDE89\uDE9D\uDEC0-\uDEF8]|\uD807[\uDC00-\uDC08\uDC0A-\uDC2E\uDC40\uDC50-\uDC6C\uDC72-\uDC8F\uDD00-\uDD06\uDD08\uDD09\uDD0B-\uDD30\uDD46\uDD50-\uDD59\uDD60-\uDD65\uDD67\uDD68\uDD6A-\uDD89\uDD98\uDDA0-\uDDA9\uDEE0-\uDEF2\uDFB0\uDFC0-\uDFD4]|\uD808[\uDC00-\uDF99]|\uD809[\uDC00-\uDC6E\uDC80-\uDD43]|[\uD80C\uD81C-\uD820\uD822\uD840-\uD868\uD86A-\uD86C\uD86F-\uD872\uD874-\uD879\uD880-\uD883][\uDC00-\uDFFF]|\uD80D[\uDC00-\uDC2E]|\uD811[\uDC00-\uDE46]|\uD81A[\uDC00-\uDE38\uDE40-\uDE5E\uDE60-\uDE69\uDED0-\uDEED\uDF00-\uDF2F\uDF40-\uDF43\uDF50-\uDF59\uDF5B-\uDF61\uDF63-\uDF77\uDF7D-\uDF8F]|\uD81B[\uDE40-\uDE96\uDF00-\uDF4A\uDF50\uDF93-\uDF9F\uDFE0\uDFE1\uDFE3]|\uD821[\uDC00-\uDFF7]|\uD823[\uDC00-\uDCD5\uDD00-\uDD08]|\uD82C[\uDC00-\uDD1E\uDD50-\uDD52\uDD64-\uDD67\uDD70-\uDEFB]|\uD82F[\uDC00-\uDC6A\uDC70-\uDC7C\uDC80-\uDC88\uDC90-\uDC99]|\uD834[\uDEE0-\uDEF3\uDF60-\uDF78]|\uD835[\uDC00-\uDC54\uDC56-\uDC9C\uDC9E\uDC9F\uDCA2\uDCA5\uDCA6\uDCA9-\uDCAC\uDCAE-\uDCB9\uDCBB\uDCBD-\uDCC3\uDCC5-\uDD05\uDD07-\uDD0A\uDD0D-\uDD14\uDD16-\uDD1C\uDD1E-\uDD39\uDD3B-\uDD3E\uDD40-\uDD44\uDD46\uDD4A-\uDD50\uDD52-\uDEA5\uDEA8-\uDEC0\uDEC2-\uDEDA\uDEDC-\uDEFA\uDEFC-\uDF14\uDF16-\uDF34\uDF36-\uDF4E\uDF50-\uDF6E\uDF70-\uDF88\uDF8A-\uDFA8\uDFAA-\uDFC2\uDFC4-\uDFCB\uDFCE-\uDFFF]|\uD838[\uDD00-\uDD2C\uDD37-\uDD3D\uDD40-\uDD49\uDD4E\uDEC0-\uDEEB\uDEF0-\uDEF9]|\uD83A[\uDC00-\uDCC4\uDCC7-\uDCCF\uDD00-\uDD43\uDD4B\uDD50-\uDD59]|\uD83B[\uDC71-\uDCAB\uDCAD-\uDCAF\uDCB1-\uDCB4\uDD01-\uDD2D\uDD2F-\uDD3D\uDE00-\uDE03\uDE05-\uDE1F\uDE21\uDE22\uDE24\uDE27\uDE29-\uDE32\uDE34-\uDE37\uDE39\uDE3B\uDE42\uDE47\uDE49\uDE4B\uDE4D-\uDE4F\uDE51\uDE52\uDE54\uDE57\uDE59\uDE5B\uDE5D\uDE5F\uDE61\uDE62\uDE64\uDE67-\uDE6A\uDE6C-\uDE72\uDE74-\uDE77\uDE79-\uDE7C\uDE7E\uDE80-\uDE89\uDE8B-\uDE9B\uDEA1-\uDEA3\uDEA5-\uDEA9\uDEAB-\uDEBB]|\uD83C[\uDD00-\uDD0C]|\uD83E[\uDFF0-\uDFF9]|\uD869[\uDC00-\uDEDD\uDF00-\uDFFF]|\uD86D[\uDC00-\uDF34\uDF40-\uDFFF]|\uD86E[\uDC00-\uDC1D\uDC20-\uDFFF]|\uD873[\uDC00-\uDEA1\uDEB0-\uDFFF]|\uD87A[\uDC00-\uDFE0]|\uD87E[\uDC00-\uDE1D]|\uD884[\uDC00-\uDF4A])/)) return;
970
+ if (match[3] && prevChar.match(/(?:[0-9A-Za-z\xAA\xB2\xB3\xB5\xB9\xBA\xBC-\xBE\xC0-\xD6\xD8-\xF6\xF8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0370-\u0374\u0376\u0377\u037A-\u037D\u037F\u0386\u0388-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5\u03F7-\u0481\u048A-\u052F\u0531-\u0556\u0559\u0560-\u0588\u05D0-\u05EA\u05EF-\u05F2\u0620-\u064A\u0660-\u0669\u066E\u066F\u0671-\u06D3\u06D5\u06E5\u06E6\u06EE-\u06FC\u06FF\u0710\u0712-\u072F\u074D-\u07A5\u07B1\u07C0-\u07EA\u07F4\u07F5\u07FA\u0800-\u0815\u081A\u0824\u0828\u0840-\u0858\u0860-\u086A\u0870-\u0887\u0889-\u088E\u08A0-\u08C9\u0904-\u0939\u093D\u0950\u0958-\u0961\u0966-\u096F\u0971-\u0980\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2\u09B6-\u09B9\u09BD\u09CE\u09DC\u09DD\u09DF-\u09E1\u09E6-\u09F1\u09F4-\u09F9\u09FC\u0A05-\u0A0A\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39\u0A59-\u0A5C\u0A5E\u0A66-\u0A6F\u0A72-\u0A74\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABD\u0AD0\u0AE0\u0AE1\u0AE6-\u0AEF\u0AF9\u0B05-\u0B0C\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3D\u0B5C\u0B5D\u0B5F-\u0B61\u0B66-\u0B6F\u0B71-\u0B77\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BD0\u0BE6-\u0BF2\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C39\u0C3D\u0C58-\u0C5A\u0C5D\u0C60\u0C61\u0C66-\u0C6F\u0C78-\u0C7E\u0C80\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3\u0CB5-\u0CB9\u0CBD\u0CDD\u0CDE\u0CE0\u0CE1\u0CE6-\u0CEF\u0CF1\u0CF2\u0D04-\u0D0C\u0D0E-\u0D10\u0D12-\u0D3A\u0D3D\u0D4E\u0D54-\u0D56\u0D58-\u0D61\u0D66-\u0D78\u0D7A-\u0D7F\u0D85-\u0D96\u0D9A-\u0DB1\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0DE6-\u0DEF\u0E01-\u0E30\u0E32\u0E33\u0E40-\u0E46\u0E50-\u0E59\u0E81\u0E82\u0E84\u0E86-\u0E8A\u0E8C-\u0EA3\u0EA5\u0EA7-\u0EB0\u0EB2\u0EB3\u0EBD\u0EC0-\u0EC4\u0EC6\u0ED0-\u0ED9\u0EDC-\u0EDF\u0F00\u0F20-\u0F33\u0F40-\u0F47\u0F49-\u0F6C\u0F88-\u0F8C\u1000-\u102A\u103F-\u1049\u1050-\u1055\u105A-\u105D\u1061\u1065\u1066\u106E-\u1070\u1075-\u1081\u108E\u1090-\u1099\u10A0-\u10C5\u10C7\u10CD\u10D0-\u10FA\u10FC-\u1248\u124A-\u124D\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310\u1312-\u1315\u1318-\u135A\u1369-\u137C\u1380-\u138F\u13A0-\u13F5\u13F8-\u13FD\u1401-\u166C\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u16EE-\u16F8\u1700-\u1711\u171F-\u1731\u1740-\u1751\u1760-\u176C\u176E-\u1770\u1780-\u17B3\u17D7\u17DC\u17E0-\u17E9\u17F0-\u17F9\u1810-\u1819\u1820-\u1878\u1880-\u1884\u1887-\u18A8\u18AA\u18B0-\u18F5\u1900-\u191E\u1946-\u196D\u1970-\u1974\u1980-\u19AB\u19B0-\u19C9\u19D0-\u19DA\u1A00-\u1A16\u1A20-\u1A54\u1A80-\u1A89\u1A90-\u1A99\u1AA7\u1B05-\u1B33\u1B45-\u1B4C\u1B50-\u1B59\u1B83-\u1BA0\u1BAE-\u1BE5\u1C00-\u1C23\u1C40-\u1C49\u1C4D-\u1C7D\u1C80-\u1C88\u1C90-\u1CBA\u1CBD-\u1CBF\u1CE9-\u1CEC\u1CEE-\u1CF3\u1CF5\u1CF6\u1CFA\u1D00-\u1DBF\u1E00-\u1F15\u1F18-\u1F1D\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u2070\u2071\u2074-\u2079\u207F-\u2089\u2090-\u209C\u2102\u2107\u210A-\u2113\u2115\u2119-\u211D\u2124\u2126\u2128\u212A-\u212D\u212F-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2150-\u2189\u2460-\u249B\u24EA-\u24FF\u2776-\u2793\u2C00-\u2CE4\u2CEB-\u2CEE\u2CF2\u2CF3\u2CFD\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D80-\u2D96\u2DA0-\u2DA6\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE\u2DD0-\u2DD6\u2DD8-\u2DDE\u2E2F\u3005-\u3007\u3021-\u3029\u3031-\u3035\u3038-\u303C\u3041-\u3096\u309D-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312F\u3131-\u318E\u3192-\u3195\u31A0-\u31BF\u31F0-\u31FF\u3220-\u3229\u3248-\u324F\u3251-\u325F\u3280-\u3289\u32B1-\u32BF\u3400-\u4DBF\u4E00-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA62B\uA640-\uA66E\uA67F-\uA69D\uA6A0-\uA6EF\uA717-\uA71F\uA722-\uA788\uA78B-\uA7CA\uA7D0\uA7D1\uA7D3\uA7D5-\uA7D9\uA7F2-\uA801\uA803-\uA805\uA807-\uA80A\uA80C-\uA822\uA830-\uA835\uA840-\uA873\uA882-\uA8B3\uA8D0-\uA8D9\uA8F2-\uA8F7\uA8FB\uA8FD\uA8FE\uA900-\uA925\uA930-\uA946\uA960-\uA97C\uA984-\uA9B2\uA9CF-\uA9D9\uA9E0-\uA9E4\uA9E6-\uA9FE\uAA00-\uAA28\uAA40-\uAA42\uAA44-\uAA4B\uAA50-\uAA59\uAA60-\uAA76\uAA7A\uAA7E-\uAAAF\uAAB1\uAAB5\uAAB6\uAAB9-\uAABD\uAAC0\uAAC2\uAADB-\uAADD\uAAE0-\uAAEA\uAAF2-\uAAF4\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E\uAB30-\uAB5A\uAB5C-\uAB69\uAB70-\uABE2\uABF0-\uABF9\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D\uFB1F-\uFB28\uFB2A-\uFB36\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE70-\uFE74\uFE76-\uFEFC\uFF10-\uFF19\uFF21-\uFF3A\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF\uFFD2-\uFFD7\uFFDA-\uFFDC]|\uD800[\uDC00-\uDC0B\uDC0D-\uDC26\uDC28-\uDC3A\uDC3C\uDC3D\uDC3F-\uDC4D\uDC50-\uDC5D\uDC80-\uDCFA\uDD07-\uDD33\uDD40-\uDD78\uDD8A\uDD8B\uDE80-\uDE9C\uDEA0-\uDED0\uDEE1-\uDEFB\uDF00-\uDF23\uDF2D-\uDF4A\uDF50-\uDF75\uDF80-\uDF9D\uDFA0-\uDFC3\uDFC8-\uDFCF\uDFD1-\uDFD5]|\uD801[\uDC00-\uDC9D\uDCA0-\uDCA9\uDCB0-\uDCD3\uDCD8-\uDCFB\uDD00-\uDD27\uDD30-\uDD63\uDD70-\uDD7A\uDD7C-\uDD8A\uDD8C-\uDD92\uDD94\uDD95\uDD97-\uDDA1\uDDA3-\uDDB1\uDDB3-\uDDB9\uDDBB\uDDBC\uDE00-\uDF36\uDF40-\uDF55\uDF60-\uDF67\uDF80-\uDF85\uDF87-\uDFB0\uDFB2-\uDFBA]|\uD802[\uDC00-\uDC05\uDC08\uDC0A-\uDC35\uDC37\uDC38\uDC3C\uDC3F-\uDC55\uDC58-\uDC76\uDC79-\uDC9E\uDCA7-\uDCAF\uDCE0-\uDCF2\uDCF4\uDCF5\uDCFB-\uDD1B\uDD20-\uDD39\uDD80-\uDDB7\uDDBC-\uDDCF\uDDD2-\uDE00\uDE10-\uDE13\uDE15-\uDE17\uDE19-\uDE35\uDE40-\uDE48\uDE60-\uDE7E\uDE80-\uDE9F\uDEC0-\uDEC7\uDEC9-\uDEE4\uDEEB-\uDEEF\uDF00-\uDF35\uDF40-\uDF55\uDF58-\uDF72\uDF78-\uDF91\uDFA9-\uDFAF]|\uD803[\uDC00-\uDC48\uDC80-\uDCB2\uDCC0-\uDCF2\uDCFA-\uDD23\uDD30-\uDD39\uDE60-\uDE7E\uDE80-\uDEA9\uDEB0\uDEB1\uDF00-\uDF27\uDF30-\uDF45\uDF51-\uDF54\uDF70-\uDF81\uDFB0-\uDFCB\uDFE0-\uDFF6]|\uD804[\uDC03-\uDC37\uDC52-\uDC6F\uDC71\uDC72\uDC75\uDC83-\uDCAF\uDCD0-\uDCE8\uDCF0-\uDCF9\uDD03-\uDD26\uDD36-\uDD3F\uDD44\uDD47\uDD50-\uDD72\uDD76\uDD83-\uDDB2\uDDC1-\uDDC4\uDDD0-\uDDDA\uDDDC\uDDE1-\uDDF4\uDE00-\uDE11\uDE13-\uDE2B\uDE80-\uDE86\uDE88\uDE8A-\uDE8D\uDE8F-\uDE9D\uDE9F-\uDEA8\uDEB0-\uDEDE\uDEF0-\uDEF9\uDF05-\uDF0C\uDF0F\uDF10\uDF13-\uDF28\uDF2A-\uDF30\uDF32\uDF33\uDF35-\uDF39\uDF3D\uDF50\uDF5D-\uDF61]|\uD805[\uDC00-\uDC34\uDC47-\uDC4A\uDC50-\uDC59\uDC5F-\uDC61\uDC80-\uDCAF\uDCC4\uDCC5\uDCC7\uDCD0-\uDCD9\uDD80-\uDDAE\uDDD8-\uDDDB\uDE00-\uDE2F\uDE44\uDE50-\uDE59\uDE80-\uDEAA\uDEB8\uDEC0-\uDEC9\uDF00-\uDF1A\uDF30-\uDF3B\uDF40-\uDF46]|\uD806[\uDC00-\uDC2B\uDCA0-\uDCF2\uDCFF-\uDD06\uDD09\uDD0C-\uDD13\uDD15\uDD16\uDD18-\uDD2F\uDD3F\uDD41\uDD50-\uDD59\uDDA0-\uDDA7\uDDAA-\uDDD0\uDDE1\uDDE3\uDE00\uDE0B-\uDE32\uDE3A\uDE50\uDE5C-\uDE89\uDE9D\uDEB0-\uDEF8]|\uD807[\uDC00-\uDC08\uDC0A-\uDC2E\uDC40\uDC50-\uDC6C\uDC72-\uDC8F\uDD00-\uDD06\uDD08\uDD09\uDD0B-\uDD30\uDD46\uDD50-\uDD59\uDD60-\uDD65\uDD67\uDD68\uDD6A-\uDD89\uDD98\uDDA0-\uDDA9\uDEE0-\uDEF2\uDFB0\uDFC0-\uDFD4]|\uD808[\uDC00-\uDF99]|\uD809[\uDC00-\uDC6E\uDC80-\uDD43]|\uD80B[\uDF90-\uDFF0]|[\uD80C\uD81C-\uD820\uD822\uD840-\uD868\uD86A-\uD86C\uD86F-\uD872\uD874-\uD879\uD880-\uD883][\uDC00-\uDFFF]|\uD80D[\uDC00-\uDC2E]|\uD811[\uDC00-\uDE46]|\uD81A[\uDC00-\uDE38\uDE40-\uDE5E\uDE60-\uDE69\uDE70-\uDEBE\uDEC0-\uDEC9\uDED0-\uDEED\uDF00-\uDF2F\uDF40-\uDF43\uDF50-\uDF59\uDF5B-\uDF61\uDF63-\uDF77\uDF7D-\uDF8F]|\uD81B[\uDE40-\uDE96\uDF00-\uDF4A\uDF50\uDF93-\uDF9F\uDFE0\uDFE1\uDFE3]|\uD821[\uDC00-\uDFF7]|\uD823[\uDC00-\uDCD5\uDD00-\uDD08]|\uD82B[\uDFF0-\uDFF3\uDFF5-\uDFFB\uDFFD\uDFFE]|\uD82C[\uDC00-\uDD22\uDD50-\uDD52\uDD64-\uDD67\uDD70-\uDEFB]|\uD82F[\uDC00-\uDC6A\uDC70-\uDC7C\uDC80-\uDC88\uDC90-\uDC99]|\uD834[\uDEE0-\uDEF3\uDF60-\uDF78]|\uD835[\uDC00-\uDC54\uDC56-\uDC9C\uDC9E\uDC9F\uDCA2\uDCA5\uDCA6\uDCA9-\uDCAC\uDCAE-\uDCB9\uDCBB\uDCBD-\uDCC3\uDCC5-\uDD05\uDD07-\uDD0A\uDD0D-\uDD14\uDD16-\uDD1C\uDD1E-\uDD39\uDD3B-\uDD3E\uDD40-\uDD44\uDD46\uDD4A-\uDD50\uDD52-\uDEA5\uDEA8-\uDEC0\uDEC2-\uDEDA\uDEDC-\uDEFA\uDEFC-\uDF14\uDF16-\uDF34\uDF36-\uDF4E\uDF50-\uDF6E\uDF70-\uDF88\uDF8A-\uDFA8\uDFAA-\uDFC2\uDFC4-\uDFCB\uDFCE-\uDFFF]|\uD837[\uDF00-\uDF1E]|\uD838[\uDD00-\uDD2C\uDD37-\uDD3D\uDD40-\uDD49\uDD4E\uDE90-\uDEAD\uDEC0-\uDEEB\uDEF0-\uDEF9]|\uD839[\uDFE0-\uDFE6\uDFE8-\uDFEB\uDFED\uDFEE\uDFF0-\uDFFE]|\uD83A[\uDC00-\uDCC4\uDCC7-\uDCCF\uDD00-\uDD43\uDD4B\uDD50-\uDD59]|\uD83B[\uDC71-\uDCAB\uDCAD-\uDCAF\uDCB1-\uDCB4\uDD01-\uDD2D\uDD2F-\uDD3D\uDE00-\uDE03\uDE05-\uDE1F\uDE21\uDE22\uDE24\uDE27\uDE29-\uDE32\uDE34-\uDE37\uDE39\uDE3B\uDE42\uDE47\uDE49\uDE4B\uDE4D-\uDE4F\uDE51\uDE52\uDE54\uDE57\uDE59\uDE5B\uDE5D\uDE5F\uDE61\uDE62\uDE64\uDE67-\uDE6A\uDE6C-\uDE72\uDE74-\uDE77\uDE79-\uDE7C\uDE7E\uDE80-\uDE89\uDE8B-\uDE9B\uDEA1-\uDEA3\uDEA5-\uDEA9\uDEAB-\uDEBB]|\uD83C[\uDD00-\uDD0C]|\uD83E[\uDFF0-\uDFF9]|\uD869[\uDC00-\uDEDF\uDF00-\uDFFF]|\uD86D[\uDC00-\uDF38\uDF40-\uDFFF]|\uD86E[\uDC00-\uDC1D\uDC20-\uDFFF]|\uD873[\uDC00-\uDEA1\uDEB0-\uDFFF]|\uD87A[\uDC00-\uDFE0]|\uD87E[\uDC00-\uDE1D]|\uD884[\uDC00-\uDF4A])/)) return;
1017
971
  var nextChar = match[1] || match[2] || '';
1018
972
 
1019
973
  if (!nextChar || nextChar && (prevChar === '' || this.rules.inline.punctuation.exec(prevChar))) {
@@ -1086,7 +1040,7 @@
1086
1040
  text = text.substring(1, text.length - 1);
1087
1041
  }
1088
1042
 
1089
- text = _escape(text, true);
1043
+ text = escape(text, true);
1090
1044
  return {
1091
1045
  type: 'codespan',
1092
1046
  raw: cap[0],
@@ -1126,10 +1080,10 @@
1126
1080
  var text, href;
1127
1081
 
1128
1082
  if (cap[2] === '@') {
1129
- text = _escape(this.options.mangle ? mangle(cap[1]) : cap[1]);
1083
+ text = escape(this.options.mangle ? mangle(cap[1]) : cap[1]);
1130
1084
  href = 'mailto:' + text;
1131
1085
  } else {
1132
- text = _escape(cap[1]);
1086
+ text = escape(cap[1]);
1133
1087
  href = text;
1134
1088
  }
1135
1089
 
@@ -1154,7 +1108,7 @@
1154
1108
  var text, href;
1155
1109
 
1156
1110
  if (cap[2] === '@') {
1157
- text = _escape(this.options.mangle ? mangle(cap[0]) : cap[0]);
1111
+ text = escape(this.options.mangle ? mangle(cap[0]) : cap[0]);
1158
1112
  href = 'mailto:' + text;
1159
1113
  } else {
1160
1114
  // do extended autolink path validation
@@ -1165,7 +1119,7 @@
1165
1119
  cap[0] = this.rules.inline._backpedal.exec(cap[0])[0];
1166
1120
  } while (prevCapZero !== cap[0]);
1167
1121
 
1168
- text = _escape(cap[0]);
1122
+ text = escape(cap[0]);
1169
1123
 
1170
1124
  if (cap[1] === 'www.') {
1171
1125
  href = 'http://' + text;
@@ -1195,9 +1149,9 @@
1195
1149
  var text;
1196
1150
 
1197
1151
  if (this.lexer.state.inRawBlock) {
1198
- text = this.options.sanitize ? this.options.sanitizer ? this.options.sanitizer(cap[0]) : _escape(cap[0]) : cap[0];
1152
+ text = this.options.sanitize ? this.options.sanitizer ? this.options.sanitizer(cap[0]) : escape(cap[0]) : cap[0];
1199
1153
  } else {
1200
- text = _escape(this.options.smartypants ? smartypants(cap[0]) : cap[0]);
1154
+ text = escape(this.options.smartypants ? smartypants(cap[0]) : cap[0]);
1201
1155
  }
1202
1156
 
1203
1157
  return {
@@ -1211,14 +1165,11 @@
1211
1165
  return Tokenizer;
1212
1166
  }();
1213
1167
 
1214
- var noopTest = helpers.noopTest,
1215
- edit = helpers.edit,
1216
- merge$1 = helpers.merge;
1217
1168
  /**
1218
1169
  * Block-Level Grammar
1219
1170
  */
1220
1171
 
1221
- var block$1 = {
1172
+ var block = {
1222
1173
  newline: /^(?: *(?:\n|$))+/,
1223
1174
  code: /^( {4}[^\n]+(?:\n(?: *(?:\n|$))*)?)+/,
1224
1175
  fences: /^ {0,3}(`{3,}(?=[^`\n]*\n)|~{3,})([^\n]*)\n(?:|([\s\S]*?)\n)(?: {0,3}\1[~`]* *(?=\n|$)|$)/,
@@ -1244,56 +1195,56 @@
1244
1195
  _paragraph: /^([^\n]+(?:\n(?!hr|heading|lheading|blockquote|fences|list|html| +\n)[^\n]+)*)/,
1245
1196
  text: /^[^\n]+/
1246
1197
  };
1247
- block$1._label = /(?!\s*\])(?:\\[\[\]]|[^\[\]])+/;
1248
- block$1._title = /(?:"(?:\\"?|[^"\\])*"|'[^'\n]*(?:\n[^'\n]+)*\n?'|\([^()]*\))/;
1249
- block$1.def = edit(block$1.def).replace('label', block$1._label).replace('title', block$1._title).getRegex();
1250
- block$1.bullet = /(?:[*+-]|\d{1,9}[.)])/;
1251
- block$1.listItemStart = edit(/^( *)(bull) */).replace('bull', block$1.bullet).getRegex();
1252
- block$1.list = edit(block$1.list).replace(/bull/g, block$1.bullet).replace('hr', '\\n+(?=\\1?(?:(?:- *){3,}|(?:_ *){3,}|(?:\\* *){3,})(?:\\n+|$))').replace('def', '\\n+(?=' + block$1.def.source + ')').getRegex();
1253
- block$1._tag = 'address|article|aside|base|basefont|blockquote|body|caption' + '|center|col|colgroup|dd|details|dialog|dir|div|dl|dt|fieldset|figcaption' + '|figure|footer|form|frame|frameset|h[1-6]|head|header|hr|html|iframe' + '|legend|li|link|main|menu|menuitem|meta|nav|noframes|ol|optgroup|option' + '|p|param|section|source|summary|table|tbody|td|tfoot|th|thead|title|tr' + '|track|ul';
1254
- block$1._comment = /<!--(?!-?>)[\s\S]*?(?:-->|$)/;
1255
- block$1.html = edit(block$1.html, 'i').replace('comment', block$1._comment).replace('tag', block$1._tag).replace('attribute', / +[a-zA-Z:_][\w.:-]*(?: *= *"[^"\n]*"| *= *'[^'\n]*'| *= *[^\s"'=<>`]+)?/).getRegex();
1256
- block$1.paragraph = edit(block$1._paragraph).replace('hr', block$1.hr).replace('heading', ' {0,3}#{1,6} ').replace('|lheading', '') // setex headings don't interrupt commonmark paragraphs
1198
+ block._label = /(?!\s*\])(?:\\[\[\]]|[^\[\]])+/;
1199
+ block._title = /(?:"(?:\\"?|[^"\\])*"|'[^'\n]*(?:\n[^'\n]+)*\n?'|\([^()]*\))/;
1200
+ block.def = edit(block.def).replace('label', block._label).replace('title', block._title).getRegex();
1201
+ block.bullet = /(?:[*+-]|\d{1,9}[.)])/;
1202
+ block.listItemStart = edit(/^( *)(bull) */).replace('bull', block.bullet).getRegex();
1203
+ block.list = edit(block.list).replace(/bull/g, block.bullet).replace('hr', '\\n+(?=\\1?(?:(?:- *){3,}|(?:_ *){3,}|(?:\\* *){3,})(?:\\n+|$))').replace('def', '\\n+(?=' + block.def.source + ')').getRegex();
1204
+ block._tag = 'address|article|aside|base|basefont|blockquote|body|caption' + '|center|col|colgroup|dd|details|dialog|dir|div|dl|dt|fieldset|figcaption' + '|figure|footer|form|frame|frameset|h[1-6]|head|header|hr|html|iframe' + '|legend|li|link|main|menu|menuitem|meta|nav|noframes|ol|optgroup|option' + '|p|param|section|source|summary|table|tbody|td|tfoot|th|thead|title|tr' + '|track|ul';
1205
+ block._comment = /<!--(?!-?>)[\s\S]*?(?:-->|$)/;
1206
+ block.html = edit(block.html, 'i').replace('comment', block._comment).replace('tag', block._tag).replace('attribute', / +[a-zA-Z:_][\w.:-]*(?: *= *"[^"\n]*"| *= *'[^'\n]*'| *= *[^\s"'=<>`]+)?/).getRegex();
1207
+ block.paragraph = edit(block._paragraph).replace('hr', block.hr).replace('heading', ' {0,3}#{1,6} ').replace('|lheading', '') // setex headings don't interrupt commonmark paragraphs
1257
1208
  .replace('blockquote', ' {0,3}>').replace('fences', ' {0,3}(?:`{3,}(?=[^`\\n]*\\n)|~{3,})[^\\n]*\\n').replace('list', ' {0,3}(?:[*+-]|1[.)]) ') // only lists starting from 1 can interrupt
1258
- .replace('html', '</?(?:tag)(?: +|\\n|/?>)|<(?:script|pre|style|textarea|!--)').replace('tag', block$1._tag) // pars can be interrupted by type (6) html blocks
1209
+ .replace('html', '</?(?:tag)(?: +|\\n|/?>)|<(?:script|pre|style|textarea|!--)').replace('tag', block._tag) // pars can be interrupted by type (6) html blocks
1259
1210
  .getRegex();
1260
- block$1.blockquote = edit(block$1.blockquote).replace('paragraph', block$1.paragraph).getRegex();
1211
+ block.blockquote = edit(block.blockquote).replace('paragraph', block.paragraph).getRegex();
1261
1212
  /**
1262
1213
  * Normal Block Grammar
1263
1214
  */
1264
1215
 
1265
- block$1.normal = merge$1({}, block$1);
1216
+ block.normal = merge({}, block);
1266
1217
  /**
1267
1218
  * GFM Block Grammar
1268
1219
  */
1269
1220
 
1270
- block$1.gfm = merge$1({}, block$1.normal, {
1221
+ block.gfm = merge({}, block.normal, {
1271
1222
  table: '^ *([^\\n ].*\\|.*)\\n' // Header
1272
1223
  + ' {0,3}(?:\\| *)?(:?-+:? *(?:\\| *:?-+:? *)*)(?:\\| *)?' // Align
1273
1224
  + '(?:\\n((?:(?! *\\n|hr|heading|blockquote|code|fences|list|html).*(?:\\n|$))*)\\n*|$)' // Cells
1274
1225
 
1275
1226
  });
1276
- block$1.gfm.table = edit(block$1.gfm.table).replace('hr', block$1.hr).replace('heading', ' {0,3}#{1,6} ').replace('blockquote', ' {0,3}>').replace('code', ' {4}[^\\n]').replace('fences', ' {0,3}(?:`{3,}(?=[^`\\n]*\\n)|~{3,})[^\\n]*\\n').replace('list', ' {0,3}(?:[*+-]|1[.)]) ') // only lists starting from 1 can interrupt
1277
- .replace('html', '</?(?:tag)(?: +|\\n|/?>)|<(?:script|pre|style|textarea|!--)').replace('tag', block$1._tag) // tables can be interrupted by type (6) html blocks
1227
+ block.gfm.table = edit(block.gfm.table).replace('hr', block.hr).replace('heading', ' {0,3}#{1,6} ').replace('blockquote', ' {0,3}>').replace('code', ' {4}[^\\n]').replace('fences', ' {0,3}(?:`{3,}(?=[^`\\n]*\\n)|~{3,})[^\\n]*\\n').replace('list', ' {0,3}(?:[*+-]|1[.)]) ') // only lists starting from 1 can interrupt
1228
+ .replace('html', '</?(?:tag)(?: +|\\n|/?>)|<(?:script|pre|style|textarea|!--)').replace('tag', block._tag) // tables can be interrupted by type (6) html blocks
1278
1229
  .getRegex();
1279
1230
  /**
1280
1231
  * Pedantic grammar (original John Gruber's loose markdown specification)
1281
1232
  */
1282
1233
 
1283
- block$1.pedantic = merge$1({}, block$1.normal, {
1234
+ block.pedantic = merge({}, block.normal, {
1284
1235
  html: edit('^ *(?:comment *(?:\\n|\\s*$)' + '|<(tag)[\\s\\S]+?</\\1> *(?:\\n{2,}|\\s*$)' // closed tag
1285
- + '|<tag(?:"[^"]*"|\'[^\']*\'|\\s[^\'"/>\\s]*)*?/?> *(?:\\n{2,}|\\s*$))').replace('comment', block$1._comment).replace(/tag/g, '(?!(?:' + 'a|em|strong|small|s|cite|q|dfn|abbr|data|time|code|var|samp|kbd|sub' + '|sup|i|b|u|mark|ruby|rt|rp|bdi|bdo|span|br|wbr|ins|del|img)' + '\\b)\\w+(?!:|[^\\w\\s@]*@)\\b').getRegex(),
1236
+ + '|<tag(?:"[^"]*"|\'[^\']*\'|\\s[^\'"/>\\s]*)*?/?> *(?:\\n{2,}|\\s*$))').replace('comment', block._comment).replace(/tag/g, '(?!(?:' + 'a|em|strong|small|s|cite|q|dfn|abbr|data|time|code|var|samp|kbd|sub' + '|sup|i|b|u|mark|ruby|rt|rp|bdi|bdo|span|br|wbr|ins|del|img)' + '\\b)\\w+(?!:|[^\\w\\s@]*@)\\b').getRegex(),
1286
1237
  def: /^ *\[([^\]]+)\]: *<?([^\s>]+)>?(?: +(["(][^\n]+[")]))? *(?:\n+|$)/,
1287
1238
  heading: /^(#{1,6})(.*)(?:\n+|$)/,
1288
1239
  fences: noopTest,
1289
1240
  // fences not supported
1290
- paragraph: edit(block$1.normal._paragraph).replace('hr', block$1.hr).replace('heading', ' *#{1,6} *[^\n]').replace('lheading', block$1.lheading).replace('blockquote', ' {0,3}>').replace('|fences', '').replace('|list', '').replace('|html', '').getRegex()
1241
+ paragraph: edit(block.normal._paragraph).replace('hr', block.hr).replace('heading', ' *#{1,6} *[^\n]').replace('lheading', block.lheading).replace('blockquote', ' {0,3}>').replace('|fences', '').replace('|list', '').replace('|html', '').getRegex()
1291
1242
  });
1292
1243
  /**
1293
1244
  * Inline-Level Grammar
1294
1245
  */
1295
1246
 
1296
- var inline$1 = {
1247
+ var inline = {
1297
1248
  escape: /^\\([!"#$%&'()*+,\-./:;<=>?@\[\]\\^_`{|}~])/,
1298
1249
  autolink: /^<(scheme:[^\s\x00-\x1f<>]*|email)>/,
1299
1250
  url: noopTest,
@@ -1323,37 +1274,37 @@
1323
1274
  }; // list of punctuation marks from CommonMark spec
1324
1275
  // without * and _ to handle the different emphasis markers * and _
1325
1276
 
1326
- inline$1._punctuation = '!"#$%&\'()+\\-.,/:;<=>?@\\[\\]`^{|}~';
1327
- inline$1.punctuation = edit(inline$1.punctuation).replace(/punctuation/g, inline$1._punctuation).getRegex(); // sequences em should skip over [title](link), `code`, <html>
1328
-
1329
- inline$1.blockSkip = /\[[^\]]*?\]\([^\)]*?\)|`[^`]*?`|<[^>]*?>/g;
1330
- inline$1.escapedEmSt = /\\\*|\\_/g;
1331
- inline$1._comment = edit(block$1._comment).replace('(?:-->|$)', '-->').getRegex();
1332
- inline$1.emStrong.lDelim = edit(inline$1.emStrong.lDelim).replace(/punct/g, inline$1._punctuation).getRegex();
1333
- inline$1.emStrong.rDelimAst = edit(inline$1.emStrong.rDelimAst, 'g').replace(/punct/g, inline$1._punctuation).getRegex();
1334
- inline$1.emStrong.rDelimUnd = edit(inline$1.emStrong.rDelimUnd, 'g').replace(/punct/g, inline$1._punctuation).getRegex();
1335
- inline$1._escapes = /\\([!"#$%&'()*+,\-./:;<=>?@\[\]\\^_`{|}~])/g;
1336
- inline$1._scheme = /[a-zA-Z][a-zA-Z0-9+.-]{1,31}/;
1337
- inline$1._email = /[a-zA-Z0-9.!#$%&'*+/=?^_`{|}~-]+(@)[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)+(?![-_])/;
1338
- inline$1.autolink = edit(inline$1.autolink).replace('scheme', inline$1._scheme).replace('email', inline$1._email).getRegex();
1339
- inline$1._attribute = /\s+[a-zA-Z:_][\w.:-]*(?:\s*=\s*"[^"]*"|\s*=\s*'[^']*'|\s*=\s*[^\s"'=<>`]+)?/;
1340
- inline$1.tag = edit(inline$1.tag).replace('comment', inline$1._comment).replace('attribute', inline$1._attribute).getRegex();
1341
- inline$1._label = /(?:\[(?:\\.|[^\[\]\\])*\]|\\.|`[^`]*`|[^\[\]\\`])*?/;
1342
- inline$1._href = /<(?:\\.|[^\n<>\\])+>|[^\s\x00-\x1f]*/;
1343
- inline$1._title = /"(?:\\"?|[^"\\])*"|'(?:\\'?|[^'\\])*'|\((?:\\\)?|[^)\\])*\)/;
1344
- inline$1.link = edit(inline$1.link).replace('label', inline$1._label).replace('href', inline$1._href).replace('title', inline$1._title).getRegex();
1345
- inline$1.reflink = edit(inline$1.reflink).replace('label', inline$1._label).getRegex();
1346
- inline$1.reflinkSearch = edit(inline$1.reflinkSearch, 'g').replace('reflink', inline$1.reflink).replace('nolink', inline$1.nolink).getRegex();
1277
+ inline._punctuation = '!"#$%&\'()+\\-.,/:;<=>?@\\[\\]`^{|}~';
1278
+ inline.punctuation = edit(inline.punctuation).replace(/punctuation/g, inline._punctuation).getRegex(); // sequences em should skip over [title](link), `code`, <html>
1279
+
1280
+ inline.blockSkip = /\[[^\]]*?\]\([^\)]*?\)|`[^`]*?`|<[^>]*?>/g;
1281
+ inline.escapedEmSt = /\\\*|\\_/g;
1282
+ inline._comment = edit(block._comment).replace('(?:-->|$)', '-->').getRegex();
1283
+ inline.emStrong.lDelim = edit(inline.emStrong.lDelim).replace(/punct/g, inline._punctuation).getRegex();
1284
+ inline.emStrong.rDelimAst = edit(inline.emStrong.rDelimAst, 'g').replace(/punct/g, inline._punctuation).getRegex();
1285
+ inline.emStrong.rDelimUnd = edit(inline.emStrong.rDelimUnd, 'g').replace(/punct/g, inline._punctuation).getRegex();
1286
+ inline._escapes = /\\([!"#$%&'()*+,\-./:;<=>?@\[\]\\^_`{|}~])/g;
1287
+ inline._scheme = /[a-zA-Z][a-zA-Z0-9+.-]{1,31}/;
1288
+ inline._email = /[a-zA-Z0-9.!#$%&'*+/=?^_`{|}~-]+(@)[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)+(?![-_])/;
1289
+ inline.autolink = edit(inline.autolink).replace('scheme', inline._scheme).replace('email', inline._email).getRegex();
1290
+ inline._attribute = /\s+[a-zA-Z:_][\w.:-]*(?:\s*=\s*"[^"]*"|\s*=\s*'[^']*'|\s*=\s*[^\s"'=<>`]+)?/;
1291
+ inline.tag = edit(inline.tag).replace('comment', inline._comment).replace('attribute', inline._attribute).getRegex();
1292
+ inline._label = /(?:\[(?:\\.|[^\[\]\\])*\]|\\.|`[^`]*`|[^\[\]\\`])*?/;
1293
+ inline._href = /<(?:\\.|[^\n<>\\])+>|[^\s\x00-\x1f]*/;
1294
+ inline._title = /"(?:\\"?|[^"\\])*"|'(?:\\'?|[^'\\])*'|\((?:\\\)?|[^)\\])*\)/;
1295
+ inline.link = edit(inline.link).replace('label', inline._label).replace('href', inline._href).replace('title', inline._title).getRegex();
1296
+ inline.reflink = edit(inline.reflink).replace('label', inline._label).getRegex();
1297
+ inline.reflinkSearch = edit(inline.reflinkSearch, 'g').replace('reflink', inline.reflink).replace('nolink', inline.nolink).getRegex();
1347
1298
  /**
1348
1299
  * Normal Inline Grammar
1349
1300
  */
1350
1301
 
1351
- inline$1.normal = merge$1({}, inline$1);
1302
+ inline.normal = merge({}, inline);
1352
1303
  /**
1353
1304
  * Pedantic Inline Grammar
1354
1305
  */
1355
1306
 
1356
- inline$1.pedantic = merge$1({}, inline$1.normal, {
1307
+ inline.pedantic = merge({}, inline.normal, {
1357
1308
  strong: {
1358
1309
  start: /^__|\*\*/,
1359
1310
  middle: /^__(?=\S)([\s\S]*?\S)__(?!_)|^\*\*(?=\S)([\s\S]*?\S)\*\*(?!\*)/,
@@ -1366,40 +1317,31 @@
1366
1317
  endAst: /\*(?!\*)/g,
1367
1318
  endUnd: /_(?!_)/g
1368
1319
  },
1369
- link: edit(/^!?\[(label)\]\((.*?)\)/).replace('label', inline$1._label).getRegex(),
1370
- reflink: edit(/^!?\[(label)\]\s*\[([^\]]*)\]/).replace('label', inline$1._label).getRegex()
1320
+ link: edit(/^!?\[(label)\]\((.*?)\)/).replace('label', inline._label).getRegex(),
1321
+ reflink: edit(/^!?\[(label)\]\s*\[([^\]]*)\]/).replace('label', inline._label).getRegex()
1371
1322
  });
1372
1323
  /**
1373
1324
  * GFM Inline Grammar
1374
1325
  */
1375
1326
 
1376
- inline$1.gfm = merge$1({}, inline$1.normal, {
1377
- escape: edit(inline$1.escape).replace('])', '~|])').getRegex(),
1327
+ inline.gfm = merge({}, inline.normal, {
1328
+ escape: edit(inline.escape).replace('])', '~|])').getRegex(),
1378
1329
  _extended_email: /[A-Za-z0-9._+-]+(@)[a-zA-Z0-9-_]+(?:\.[a-zA-Z0-9-_]*[a-zA-Z0-9])+(?![-_])/,
1379
1330
  url: /^((?:ftp|https?):\/\/|www\.)(?:[a-zA-Z0-9\-]+\.?)+[^\s<]*|^email/,
1380
1331
  _backpedal: /(?:[^?!.,:;*_~()&]+|\([^)]*\)|&(?![a-zA-Z0-9]+;$)|[?!.,:;*_~)]+(?!$))+/,
1381
1332
  del: /^(~~?)(?=[^\s~])([\s\S]*?[^\s~])\1(?=[^~]|$)/,
1382
1333
  text: /^([`~]+|[^`~])(?:(?= {2,}\n)|(?=[a-zA-Z0-9.!#$%&'*+\/=?_`{\|}~-]+@)|[\s\S]*?(?:(?=[\\<!\[`*~_]|\b_|https?:\/\/|ftp:\/\/|www\.|$)|[^ ](?= {2,}\n)|[^a-zA-Z0-9.!#$%&'*+\/=?_`{\|}~-](?=[a-zA-Z0-9.!#$%&'*+\/=?_`{\|}~-]+@)))/
1383
1334
  });
1384
- inline$1.gfm.url = edit(inline$1.gfm.url, 'i').replace('email', inline$1.gfm._extended_email).getRegex();
1335
+ inline.gfm.url = edit(inline.gfm.url, 'i').replace('email', inline.gfm._extended_email).getRegex();
1385
1336
  /**
1386
1337
  * GFM + Line Breaks Inline Grammar
1387
1338
  */
1388
1339
 
1389
- inline$1.breaks = merge$1({}, inline$1.gfm, {
1390
- br: edit(inline$1.br).replace('{2,}', '*').getRegex(),
1391
- text: edit(inline$1.gfm.text).replace('\\b_', '\\b_| {2,}\\n').replace(/\{2,\}/g, '*').getRegex()
1340
+ inline.breaks = merge({}, inline.gfm, {
1341
+ br: edit(inline.br).replace('{2,}', '*').getRegex(),
1342
+ text: edit(inline.gfm.text).replace('\\b_', '\\b_| {2,}\\n').replace(/\{2,\}/g, '*').getRegex()
1392
1343
  });
1393
- var rules = {
1394
- block: block$1,
1395
- inline: inline$1
1396
- };
1397
1344
 
1398
- var Tokenizer$1 = Tokenizer_1$1;
1399
- var defaults$3 = defaults$5.exports.defaults;
1400
- var block = rules.block,
1401
- inline = rules.inline;
1402
- var repeatString = helpers.repeatString;
1403
1345
  /**
1404
1346
  * smartypants text replacement
1405
1347
  */
@@ -1442,12 +1384,12 @@
1442
1384
  */
1443
1385
 
1444
1386
 
1445
- var Lexer_1$1 = /*#__PURE__*/function () {
1387
+ var Lexer = /*#__PURE__*/function () {
1446
1388
  function Lexer(options) {
1447
1389
  this.tokens = [];
1448
1390
  this.tokens.links = Object.create(null);
1449
- this.options = options || defaults$3;
1450
- this.options.tokenizer = this.options.tokenizer || new Tokenizer$1();
1391
+ this.options = options || exports.defaults;
1392
+ this.options.tokenizer = this.options.tokenizer || new Tokenizer();
1451
1393
  this.tokenizer = this.options.tokenizer;
1452
1394
  this.tokenizer.options = this.options;
1453
1395
  this.tokenizer.lexer = this;
@@ -1955,16 +1897,13 @@
1955
1897
  return Lexer;
1956
1898
  }();
1957
1899
 
1958
- var defaults$2 = defaults$5.exports.defaults;
1959
- var cleanUrl = helpers.cleanUrl,
1960
- escape$1 = helpers.escape;
1961
1900
  /**
1962
1901
  * Renderer
1963
1902
  */
1964
1903
 
1965
- var Renderer_1$1 = /*#__PURE__*/function () {
1904
+ var Renderer = /*#__PURE__*/function () {
1966
1905
  function Renderer(options) {
1967
- this.options = options || defaults$2;
1906
+ this.options = options || exports.defaults;
1968
1907
  }
1969
1908
 
1970
1909
  var _proto = Renderer.prototype;
@@ -1984,10 +1923,10 @@
1984
1923
  _code = _code.replace(/\n$/, '') + '\n';
1985
1924
 
1986
1925
  if (!lang) {
1987
- return '<pre><code>' + (escaped ? _code : escape$1(_code, true)) + '</code></pre>\n';
1926
+ return '<pre><code>' + (escaped ? _code : escape(_code, true)) + '</code></pre>\n';
1988
1927
  }
1989
1928
 
1990
- return '<pre><code class="' + this.options.langPrefix + escape$1(lang, true) + '">' + (escaped ? _code : escape$1(_code, true)) + '</code></pre>\n';
1929
+ return '<pre><code class="' + this.options.langPrefix + escape(lang, true) + '">' + (escaped ? _code : escape(_code, true)) + '</code></pre>\n';
1991
1930
  };
1992
1931
 
1993
1932
  _proto.blockquote = function blockquote(quote) {
@@ -2072,7 +2011,7 @@
2072
2011
  return text;
2073
2012
  }
2074
2013
 
2075
- var out = '<a href="' + escape$1(href) + '"';
2014
+ var out = '<a href="' + escape(href) + '"';
2076
2015
 
2077
2016
  if (title) {
2078
2017
  out += ' title="' + title + '"';
@@ -2110,8 +2049,7 @@
2110
2049
  * TextRenderer
2111
2050
  * returns only the textual part of the token
2112
2051
  */
2113
-
2114
- var TextRenderer_1$1 = /*#__PURE__*/function () {
2052
+ var TextRenderer = /*#__PURE__*/function () {
2115
2053
  function TextRenderer() {}
2116
2054
 
2117
2055
  var _proto = TextRenderer.prototype;
@@ -2159,8 +2097,7 @@
2159
2097
  /**
2160
2098
  * Slugger generates header id
2161
2099
  */
2162
-
2163
- var Slugger_1$1 = /*#__PURE__*/function () {
2100
+ var Slugger = /*#__PURE__*/function () {
2164
2101
  function Slugger() {
2165
2102
  this.seen = {};
2166
2103
  }
@@ -2216,23 +2153,18 @@
2216
2153
  return Slugger;
2217
2154
  }();
2218
2155
 
2219
- var Renderer$1 = Renderer_1$1;
2220
- var TextRenderer$1 = TextRenderer_1$1;
2221
- var Slugger$1 = Slugger_1$1;
2222
- var defaults$1 = defaults$5.exports.defaults;
2223
- var unescape = helpers.unescape;
2224
2156
  /**
2225
2157
  * Parsing & Compiling
2226
2158
  */
2227
2159
 
2228
- var Parser_1$1 = /*#__PURE__*/function () {
2160
+ var Parser = /*#__PURE__*/function () {
2229
2161
  function Parser(options) {
2230
- this.options = options || defaults$1;
2231
- this.options.renderer = this.options.renderer || new Renderer$1();
2162
+ this.options = options || exports.defaults;
2163
+ this.options.renderer = this.options.renderer || new Renderer();
2232
2164
  this.renderer = this.options.renderer;
2233
2165
  this.renderer.options = this.options;
2234
- this.textRenderer = new TextRenderer$1();
2235
- this.slugger = new Slugger$1();
2166
+ this.textRenderer = new TextRenderer();
2167
+ this.slugger = new Slugger();
2236
2168
  }
2237
2169
  /**
2238
2170
  * Static Parse Method
@@ -2561,18 +2493,6 @@
2561
2493
  return Parser;
2562
2494
  }();
2563
2495
 
2564
- var Lexer = Lexer_1$1;
2565
- var Parser = Parser_1$1;
2566
- var Tokenizer = Tokenizer_1$1;
2567
- var Renderer = Renderer_1$1;
2568
- var TextRenderer = TextRenderer_1$1;
2569
- var Slugger = Slugger_1$1;
2570
- var merge = helpers.merge,
2571
- checkSanitizeDeprecation = helpers.checkSanitizeDeprecation,
2572
- escape = helpers.escape;
2573
- var getDefaults = defaults$5.exports.getDefaults,
2574
- changeDefaults = defaults$5.exports.changeDefaults,
2575
- defaults = defaults$5.exports.defaults;
2576
2496
  /**
2577
2497
  * Marked
2578
2498
  */
@@ -2692,14 +2612,12 @@
2692
2612
  };
2693
2613
 
2694
2614
  marked.getDefaults = getDefaults;
2695
- marked.defaults = defaults;
2615
+ marked.defaults = exports.defaults;
2696
2616
  /**
2697
2617
  * Use Extension
2698
2618
  */
2699
2619
 
2700
2620
  marked.use = function () {
2701
- var _this = this;
2702
-
2703
2621
  for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
2704
2622
  args[_key] = arguments[_key];
2705
2623
  }
@@ -2843,13 +2761,13 @@
2843
2761
 
2844
2762
 
2845
2763
  if (pack.walkTokens) {
2846
- var walkTokens = marked.defaults.walkTokens;
2764
+ var _walkTokens = marked.defaults.walkTokens;
2847
2765
 
2848
2766
  opts.walkTokens = function (token) {
2849
- pack.walkTokens.call(_this, token);
2767
+ pack.walkTokens.call(this, token);
2850
2768
 
2851
- if (walkTokens) {
2852
- walkTokens(token);
2769
+ if (_walkTokens) {
2770
+ _walkTokens.call(this, token);
2853
2771
  }
2854
2772
  };
2855
2773
  }
@@ -2869,7 +2787,7 @@
2869
2787
  marked.walkTokens = function (tokens, callback) {
2870
2788
  var _loop3 = function _loop3() {
2871
2789
  var token = _step.value;
2872
- callback(token);
2790
+ callback.call(marked, token);
2873
2791
 
2874
2792
  switch (token.type) {
2875
2793
  case 'table':
@@ -2965,27 +2883,32 @@
2965
2883
  marked.Tokenizer = Tokenizer;
2966
2884
  marked.Slugger = Slugger;
2967
2885
  marked.parse = marked;
2968
- marked$1.exports = marked;
2969
- var parse = marked$1.exports.parse = marked;
2970
- var Parser_1 = marked$1.exports.Parser = Parser;
2971
- var parser = marked$1.exports.parser = Parser.parse;
2972
- var Renderer_1 = marked$1.exports.Renderer = Renderer;
2973
- var TextRenderer_1 = marked$1.exports.TextRenderer = TextRenderer;
2974
- var Lexer_1 = marked$1.exports.Lexer = Lexer;
2975
- var lexer = marked$1.exports.lexer = Lexer.lex;
2976
- var Tokenizer_1 = marked$1.exports.Tokenizer = Tokenizer;
2977
- var Slugger_1 = marked$1.exports.Slugger = Slugger;
2978
- var marked_1 = marked$1.exports;
2979
-
2980
- exports.Lexer = Lexer_1;
2981
- exports.Parser = Parser_1;
2982
- exports.Renderer = Renderer_1;
2983
- exports.Slugger = Slugger_1;
2984
- exports.TextRenderer = TextRenderer_1;
2985
- exports.Tokenizer = Tokenizer_1;
2986
- exports["default"] = marked_1;
2886
+ var options = marked.options;
2887
+ var setOptions = marked.setOptions;
2888
+ var use = marked.use;
2889
+ var walkTokens = marked.walkTokens;
2890
+ var parseInline = marked.parseInline;
2891
+ var parse = marked;
2892
+ var parser = Parser.parse;
2893
+ var lexer = Lexer.lex;
2894
+
2895
+ exports.Lexer = Lexer;
2896
+ exports.Parser = Parser;
2897
+ exports.Renderer = Renderer;
2898
+ exports.Slugger = Slugger;
2899
+ exports.TextRenderer = TextRenderer;
2900
+ exports.Tokenizer = Tokenizer;
2901
+ exports["default"] = marked;
2902
+ exports.getDefaults = getDefaults;
2987
2903
  exports.lexer = lexer;
2904
+ exports.options = options;
2988
2905
  exports.parse = parse;
2906
+ exports.parseInline = parseInline;
2989
2907
  exports.parser = parser;
2908
+ exports.setOptions = setOptions;
2909
+ exports.use = use;
2910
+ exports.walkTokens = walkTokens;
2911
+
2912
+ Object.defineProperty(exports, '__esModule', { value: true });
2990
2913
 
2991
2914
  }));