1These should all get escaped: 2 3Backslash: \\ 4 5Backtick: \` 6 7Asterisk: \* 8 9Underscore: \_ 10 11Left brace: \{ 12 13Right brace: \} 14 15Left bracket: \[ 16 17Right bracket: \] 18 19Left paren: \( 20 21Right paren: \) 22 23Greater-than: \> 24 25Hash: \# 26 27Period: \. 28 29Bang: \! 30 31Plus: \+ 32 33Minus: \- 34 35 36 37These should not, because they occur within a code block: 38 39 Backslash: \\ 40 41 Backtick: \` 42 43 Asterisk: \* 44 45 Underscore: \_ 46 47 Left brace: \{ 48 49 Right brace: \} 50 51 Left bracket: \[ 52 53 Right bracket: \] 54 55 Left paren: \( 56 57 Right paren: \) 58 59 Greater-than: \> 60 61 Hash: \# 62 63 Period: \. 64 65 Bang: \! 66 67 Plus: \+ 68 69 Minus: \- 70 71 72Nor should these, which occur in code spans: 73 74Backslash: `\\` 75 76Backtick: `` \` `` 77 78Asterisk: `\*` 79 80Underscore: `\_` 81 82Left brace: `\{` 83 84Right brace: `\}` 85 86Left bracket: `\[` 87 88Right bracket: `\]` 89 90Left paren: `\(` 91 92Right paren: `\)` 93 94Greater-than: `\>` 95 96Hash: `\#` 97 98Period: `\.` 99 100Bang: `\!` 101 102Plus: `\+` 103 104Minus: `\-` 105 106 107These should get escaped, even though they're matching pairs for 108other Markdown constructs: 109 110\*asterisks\* 111 112\_underscores\_ 113 114\`backticks\` 115 116This is a code span with a literal backslash-backtick sequence: `` \` `` 117 118This is a tag with unescaped backticks <span attr='`ticks`'>bar</span>. 119 120This is a tag with backslashes <span attr='\\backslashes\\'>bar</span>. 121