summaryrefslogtreecommitdiff
path: root/vendor/github.com/tdewolff/minify/v2/html
diff options
context:
space:
mode:
authorLibravatar Terin Stock <terinjokes@gmail.com>2025-03-09 17:47:56 +0100
committerLibravatar Terin Stock <terinjokes@gmail.com>2025-03-10 01:59:49 +0100
commit3ac1ee16f377d31a0fb80c8dae28b6239ac4229e (patch)
treef61faa581feaaeaba2542b9f2b8234a590684413 /vendor/github.com/tdewolff/minify/v2/html
parent[chore] update URLs to forked source (diff)
downloadgotosocial-3ac1ee16f377d31a0fb80c8dae28b6239ac4229e.tar.xz
[chore] remove vendor
Diffstat (limited to 'vendor/github.com/tdewolff/minify/v2/html')
-rw-r--r--vendor/github.com/tdewolff/minify/v2/html/buffer.go139
-rw-r--r--vendor/github.com/tdewolff/minify/v2/html/hash.go610
-rw-r--r--vendor/github.com/tdewolff/minify/v2/html/html.go534
-rw-r--r--vendor/github.com/tdewolff/minify/v2/html/table.go1389
4 files changed, 0 insertions, 2672 deletions
diff --git a/vendor/github.com/tdewolff/minify/v2/html/buffer.go b/vendor/github.com/tdewolff/minify/v2/html/buffer.go
deleted file mode 100644
index f2a6f8c52..000000000
--- a/vendor/github.com/tdewolff/minify/v2/html/buffer.go
+++ /dev/null
@@ -1,139 +0,0 @@
-package html
-
-import (
- "github.com/tdewolff/parse/v2"
- "github.com/tdewolff/parse/v2/html"
-)
-
-// Token is a single token unit with an attribute value (if given) and hash of the data.
-type Token struct {
- html.TokenType
- Hash Hash
- Data []byte
- Text []byte
- AttrVal []byte
- Traits traits
- Offset int
- HasTemplate bool
-}
-
-// TokenBuffer is a buffer that allows for token look-ahead.
-type TokenBuffer struct {
- r *parse.Input
- l *html.Lexer
-
- buf []Token
- pos int
-
- attrBuffer []*Token
-}
-
-// NewTokenBuffer returns a new TokenBuffer.
-func NewTokenBuffer(r *parse.Input, l *html.Lexer) *TokenBuffer {
- return &TokenBuffer{
- r: r,
- l: l,
- buf: make([]Token, 0, 8),
- }
-}
-
-func (z *TokenBuffer) read(t *Token) {
- t.Offset = z.r.Offset()
- t.TokenType, t.Data = z.l.Next()
- t.Text = z.l.Text()
- t.HasTemplate = z.l.HasTemplate()
- if t.TokenType == html.AttributeToken {
- t.Offset += 1 + len(t.Text) + 1
- t.AttrVal = z.l.AttrVal()
- if 1 < len(t.AttrVal) && (t.AttrVal[0] == '"' || t.AttrVal[0] == '\'') {
- t.Offset++
- t.AttrVal = t.AttrVal[1 : len(t.AttrVal)-1] // quotes will be readded in attribute loop if necessary
- }
- t.Hash = ToHash(t.Text)
- t.Traits = attrMap[t.Hash]
- } else if t.TokenType == html.StartTagToken || t.TokenType == html.EndTagToken {
- t.AttrVal = nil
- t.Hash = ToHash(t.Text)
- t.Traits = tagMap[t.Hash] // zero if not exist
- } else {
- t.AttrVal = nil
- t.Hash = 0
- t.Traits = 0
- }
-}
-
-// Peek returns the ith element and possibly does an allocation.
-// Peeking past an error will panic.
-func (z *TokenBuffer) Peek(pos int) *Token {
- pos += z.pos
- if pos >= len(z.buf) {
- if len(z.buf) > 0 && z.buf[len(z.buf)-1].TokenType == html.ErrorToken {
- return &z.buf[len(z.buf)-1]
- }
-
- c := cap(z.buf)
- d := len(z.buf) - z.pos
- p := pos - z.pos + 1 // required peek length
- var buf []Token
- if 2*p > c {
- buf = make([]Token, 0, 2*c+p)
- } else {
- buf = z.buf
- }
- copy(buf[:d], z.buf[z.pos:])
-
- buf = buf[:p]
- pos -= z.pos
- for i := d; i < p; i++ {
- z.read(&buf[i])
- if buf[i].TokenType == html.ErrorToken {
- buf = buf[:i+1]
- pos = i
- break
- }
- }
- z.pos, z.buf = 0, buf
- }
- return &z.buf[pos]
-}
-
-// Shift returns the first element and advances position.
-func (z *TokenBuffer) Shift() *Token {
- if z.pos >= len(z.buf) {
- t := &z.buf[:1][0]
- z.read(t)
- return t
- }
- t := &z.buf[z.pos]
- z.pos++
- return t
-}
-
-// Attributes extracts the gives attribute hashes from a tag.
-// It returns in the same order pointers to the requested token data or nil.
-func (z *TokenBuffer) Attributes(hashes ...Hash) []*Token {
- n := 0
- for {
- if t := z.Peek(n); t.TokenType != html.AttributeToken {
- break
- }
- n++
- }
- if len(hashes) > cap(z.attrBuffer) {
- z.attrBuffer = make([]*Token, len(hashes))
- } else {
- z.attrBuffer = z.attrBuffer[:len(hashes)]
- for i := range z.attrBuffer {
- z.attrBuffer[i] = nil
- }
- }
- for i := z.pos; i < z.pos+n; i++ {
- attr := &z.buf[i]
- for j, hash := range hashes {
- if hash == attr.Hash {
- z.attrBuffer[j] = attr
- }
- }
- }
- return z.attrBuffer
-}
diff --git a/vendor/github.com/tdewolff/minify/v2/html/hash.go b/vendor/github.com/tdewolff/minify/v2/html/hash.go
deleted file mode 100644
index 5eefcebb0..000000000
--- a/vendor/github.com/tdewolff/minify/v2/html/hash.go
+++ /dev/null
@@ -1,610 +0,0 @@
-package html
-
-// generated by hasher -type=Hash -file=hash.go; DO NOT EDIT, except for adding more constants to the list and rerun go generate
-
-// uses github.com/tdewolff/hasher
-//go:generate hasher -type=Hash -file=hash.go
-
-// Hash defines perfect hashes for a predefined list of strings
-type Hash uint32
-
-// Unique hash definitions to be used instead of strings
-const (
- A Hash = 0x1 // a
- Abbr Hash = 0x40004 // abbr
- About Hash = 0x5 // about
- Accept Hash = 0xc06 // accept
- Accept_Charset Hash = 0xc0e // accept-charset
- Accesskey Hash = 0x2c09 // accesskey
- Acronym Hash = 0x3507 // acronym
- Action Hash = 0x26006 // action
- Address Hash = 0x6d07 // address
- Allow Hash = 0x31f05 // allow
- Allowfullscreen Hash = 0x31f0f // allowfullscreen
- Amp_Boilerplate Hash = 0x5e0f // amp-boilerplate
- Applet Hash = 0xee06 // applet
- Area Hash = 0x2c304 // area
- Article Hash = 0x22507 // article
- As Hash = 0x2102 // as
- Aside Hash = 0x9205 // aside
- Async Hash = 0x8a05 // async
- Audio Hash = 0x9d05 // audio
- Autocapitalize Hash = 0xc30e // autocapitalize
- Autocomplete Hash = 0xd10c // autocomplete
- Autofocus Hash = 0xe309 // autofocus
- Autoplay Hash = 0xfc08 // autoplay
- B Hash = 0x101 // b
- Base Hash = 0x2004 // base
- Basefont Hash = 0x2008 // basefont
- Bb Hash = 0x40102 // bb
- Bdi Hash = 0x8303 // bdi
- Bdo Hash = 0x3dc03 // bdo
- Big Hash = 0x12f03 // big
- Blocking Hash = 0x13208 // blocking
- Blockquote Hash = 0x13a0a // blockquote
- Body Hash = 0x804 // body
- Br Hash = 0x14b02 // br
- Button Hash = 0x14406 // button
- Canvas Hash = 0x8e06 // canvas
- Caption Hash = 0x23707 // caption
- Capture Hash = 0x10d07 // capture
- Center Hash = 0x24f06 // center
- Charset Hash = 0x1307 // charset
- Checked Hash = 0x37707 // checked
- Cite Hash = 0x14d04 // cite
- Class Hash = 0x15a05 // class
- Code Hash = 0x17604 // code
- Col Hash = 0x17f03 // col
- Colgroup Hash = 0x17f08 // colgroup
- Color Hash = 0x19e05 // color
- Cols Hash = 0x1a304 // cols
- Colspan Hash = 0x1a307 // colspan
- Content Hash = 0x1b107 // content
- Contenteditable Hash = 0x1b10f // contenteditable
- Controls Hash = 0x1cc08 // controls
- Coords Hash = 0x1e306 // coords
- Crossorigin Hash = 0x2160b // crossorigin
- Data Hash = 0xad04 // data
- Datalist Hash = 0xad08 // datalist
- Datatype Hash = 0x11908 // datatype
- Datetime Hash = 0x28508 // datetime
- Dd Hash = 0x6e02 // dd
- Decoding Hash = 0x9508 // decoding
- Default Hash = 0x17807 // default
- Defer Hash = 0x4405 // defer
- Del Hash = 0x1f203 // del
- Details Hash = 0x20b07 // details
- Dfn Hash = 0x16a03 // dfn
- Dialog Hash = 0x28d06 // dialog
- Dir Hash = 0x8403 // dir
- Disabled Hash = 0x19208 // disabled
- Div Hash = 0x19903 // div
- Dl Hash = 0x1c302 // dl
- Draggable Hash = 0x1da09 // draggable
- Dt Hash = 0x40902 // dt
- Em Hash = 0xdc02 // em
- Embed Hash = 0x16605 // embed
- Enctype Hash = 0x26a07 // enctype
- Enterkeyhint Hash = 0x2500c // enterkeyhint
- Fetchpriority Hash = 0x1220d // fetchpriority
- Fieldset Hash = 0x22c08 // fieldset
- Figcaption Hash = 0x2340a // figcaption
- Figure Hash = 0x24506 // figure
- Font Hash = 0x2404 // font
- Footer Hash = 0x1a06 // footer
- For Hash = 0x25c03 // for
- Form Hash = 0x25c04 // form
- Formaction Hash = 0x25c0a // formaction
- Formenctype Hash = 0x2660b // formenctype
- Formmethod Hash = 0x2710a // formmethod
- Formnovalidate Hash = 0x27b0e // formnovalidate
- Formtarget Hash = 0x2930a // formtarget
- Frame Hash = 0x16e05 // frame
- Frameset Hash = 0x16e08 // frameset
- H1 Hash = 0x2d502 // h1
- H2 Hash = 0x38602 // h2
- H3 Hash = 0x39502 // h3
- H4 Hash = 0x40b02 // h4
- H5 Hash = 0x29d02 // h5
- H6 Hash = 0x29f02 // h6
- Head Hash = 0x36c04 // head
- Header Hash = 0x36c06 // header
- Headers Hash = 0x36c07 // headers
- Height Hash = 0x2a106 // height
- Hgroup Hash = 0x2b506 // hgroup
- Hidden Hash = 0x2cc06 // hidden
- High Hash = 0x2d204 // high
- Hr Hash = 0x2d702 // hr
- Href Hash = 0x2d704 // href
- Hreflang Hash = 0x2d708 // hreflang
- Html Hash = 0x2a504 // html
- Http_Equiv Hash = 0x2df0a // http-equiv
- I Hash = 0x2801 // i
- Id Hash = 0x9402 // id
- Iframe Hash = 0x2f206 // iframe
- Image Hash = 0x30005 // image
- Imagesizes Hash = 0x3000a // imagesizes
- Imagesrcset Hash = 0x30d0b // imagesrcset
- Img Hash = 0x31803 // img
- Inert Hash = 0x10805 // inert
- Inlist Hash = 0x21f06 // inlist
- Input Hash = 0x3d05 // input
- Inputmode Hash = 0x3d09 // inputmode
- Ins Hash = 0x31b03 // ins
- Is Hash = 0xb202 // is
- Ismap Hash = 0x32e05 // ismap
- Itemid Hash = 0x2fa06 // itemid
- Itemprop Hash = 0x14e08 // itemprop
- Itemref Hash = 0x34507 // itemref
- Itemscope Hash = 0x35709 // itemscope
- Itemtype Hash = 0x36108 // itemtype
- Kbd Hash = 0x8203 // kbd
- Kind Hash = 0xaa04 // kind
- Label Hash = 0x1c405 // label
- Lang Hash = 0x2db04 // lang
- Legend Hash = 0x1be06 // legend
- Li Hash = 0xb102 // li
- Link Hash = 0x1c804 // link
- List Hash = 0xb104 // list
- Loading Hash = 0x3ad07 // loading
- Loop Hash = 0x2a804 // loop
- Low Hash = 0x32103 // low
- Main Hash = 0x3b04 // main
- Map Hash = 0xed03 // map
- Mark Hash = 0x7f04 // mark
- Marquee Hash = 0x3e407 // marquee
- Math Hash = 0x36904 // math
- Max Hash = 0x37e03 // max
- Maxlength Hash = 0x37e09 // maxlength
- Media Hash = 0x28b05 // media
- Menu Hash = 0x2f604 // menu
- Menuitem Hash = 0x2f608 // menuitem
- Meta Hash = 0x5004 // meta
- Meter Hash = 0x38805 // meter
- Method Hash = 0x27506 // method
- Min Hash = 0x38d03 // min
- Minlength Hash = 0x38d09 // minlength
- Multiple Hash = 0x39708 // multiple
- Muted Hash = 0x39f05 // muted
- Name Hash = 0x4e04 // name
- Nav Hash = 0xbc03 // nav
- Nobr Hash = 0x14904 // nobr
- Noembed Hash = 0x16407 // noembed
- Noframes Hash = 0x16c08 // noframes
- Nomodule Hash = 0x1a908 // nomodule
- Noscript Hash = 0x23d08 // noscript
- Novalidate Hash = 0x27f0a // novalidate
- Object Hash = 0xa106 // object
- Ol Hash = 0x18002 // ol
- Open Hash = 0x35d04 // open
- Optgroup Hash = 0x2aa08 // optgroup
- Optimum Hash = 0x3de07 // optimum
- Option Hash = 0x2ec06 // option
- Output Hash = 0x206 // output
- P Hash = 0x501 // p
- Param Hash = 0x7b05 // param
- Pattern Hash = 0xb607 // pattern
- Picture Hash = 0x18607 // picture
- Ping Hash = 0x2b104 // ping
- Plaintext Hash = 0x2ba09 // plaintext
- Playsinline Hash = 0x1000b // playsinline
- Popover Hash = 0x33207 // popover
- Popovertarget Hash = 0x3320d // popovertarget
- Popovertargetaction Hash = 0x33213 // popovertargetaction
- Portal Hash = 0x3f406 // portal
- Poster Hash = 0x41006 // poster
- Pre Hash = 0x3a403 // pre
- Prefix Hash = 0x3a406 // prefix
- Preload Hash = 0x3aa07 // preload
- Profile Hash = 0x3b407 // profile
- Progress Hash = 0x3bb08 // progress
- Property Hash = 0x15208 // property
- Q Hash = 0x11401 // q
- Rb Hash = 0x1f02 // rb
- Readonly Hash = 0x2c408 // readonly
- Referrerpolicy Hash = 0x3490e // referrerpolicy
- Rel Hash = 0x3ab03 // rel
- Required Hash = 0x11208 // required
- Resource Hash = 0x24908 // resource
- Rev Hash = 0x18b03 // rev
- Reversed Hash = 0x18b08 // reversed
- Rows Hash = 0x4804 // rows
- Rowspan Hash = 0x4807 // rowspan
- Rp Hash = 0x6702 // rp
- Rt Hash = 0x10b02 // rt
- Rtc Hash = 0x10b03 // rtc
- Ruby Hash = 0x8604 // ruby
- S Hash = 0x1701 // s
- Samp Hash = 0x5d04 // samp
- Sandbox Hash = 0x7307 // sandbox
- Scope Hash = 0x35b05 // scope
- Script Hash = 0x23f06 // script
- Section Hash = 0x15e07 // section
- Select Hash = 0x1d306 // select
- Selected Hash = 0x1d308 // selected
- Shadowrootdelegatesfocus Hash = 0x1e818 // shadowrootdelegatesfocus
- Shadowrootmode Hash = 0x1ff0e // shadowrootmode
- Shape Hash = 0x21105 // shape
- Size Hash = 0x30504 // size
- Sizes Hash = 0x30505 // sizes
- Slot Hash = 0x30904 // slot
- Small Hash = 0x31d05 // small
- Source Hash = 0x24b06 // source
- Span Hash = 0x4b04 // span
- Spellcheck Hash = 0x3720a // spellcheck
- Src Hash = 0x31203 // src
- Srclang Hash = 0x3c207 // srclang
- Srcset Hash = 0x31206 // srcset
- Start Hash = 0x22305 // start
- Step Hash = 0xb304 // step
- Strike Hash = 0x3c906 // strike
- Strong Hash = 0x3cf06 // strong
- Style Hash = 0x3d505 // style
- Sub Hash = 0x3da03 // sub
- Summary Hash = 0x3eb07 // summary
- Sup Hash = 0x3f203 // sup
- Svg Hash = 0x3fa03 // svg
- Tabindex Hash = 0x5208 // tabindex
- Table Hash = 0x1bb05 // table
- Target Hash = 0x29706 // target
- Tbody Hash = 0x705 // tbody
- Td Hash = 0x1f102 // td
- Template Hash = 0xdb08 // template
- Text Hash = 0x2bf04 // text
- Textarea Hash = 0x2bf08 // textarea
- Tfoot Hash = 0x1905 // tfoot
- Th Hash = 0x27702 // th
- Thead Hash = 0x36b05 // thead
- Time Hash = 0x28904 // time
- Title Hash = 0x2705 // title
- Tr Hash = 0xa602 // tr
- Track Hash = 0xa605 // track
- Translate Hash = 0xf309 // translate
- Tt Hash = 0xb802 // tt
- Type Hash = 0x11d04 // type
- Typeof Hash = 0x11d06 // typeof
- U Hash = 0x301 // u
- Ul Hash = 0x17c02 // ul
- Usemap Hash = 0xea06 // usemap
- Value Hash = 0xbe05 // value
- Var Hash = 0x19b03 // var
- Video Hash = 0x2e805 // video
- Vocab Hash = 0x3fd05 // vocab
- Wbr Hash = 0x40403 // wbr
- Width Hash = 0x40705 // width
- Wrap Hash = 0x40d04 // wrap
- Xmlns Hash = 0x5905 // xmlns
- Xmp Hash = 0x7903 // xmp
-)
-
-// String returns the hash' name.
-func (i Hash) String() string {
- start := uint32(i >> 8)
- n := uint32(i & 0xff)
- if start+n > uint32(len(_Hash_text)) {
- return ""
- }
- return _Hash_text[start : start+n]
-}
-
-// ToHash returns the hash whose name is s. It returns zero if there is no
-// such hash. It is case sensitive.
-func ToHash(s []byte) Hash {
- if len(s) == 0 || len(s) > _Hash_maxLen {
- return 0
- }
- h := uint32(_Hash_hash0)
- for i := 0; i < len(s); i++ {
- h ^= uint32(s[i])
- h *= 16777619
- }
- if i := _Hash_table[h&uint32(len(_Hash_table)-1)]; int(i&0xff) == len(s) {
- t := _Hash_text[i>>8 : i>>8+i&0xff]
- for i := 0; i < len(s); i++ {
- if t[i] != s[i] {
- goto NEXT
- }
- }
- return i
- }
-NEXT:
- if i := _Hash_table[(h>>16)&uint32(len(_Hash_table)-1)]; int(i&0xff) == len(s) {
- t := _Hash_text[i>>8 : i>>8+i&0xff]
- for i := 0; i < len(s); i++ {
- if t[i] != s[i] {
- return 0
- }
- }
- return i
- }
- return 0
-}
-
-const _Hash_hash0 = 0x51243bbc
-const _Hash_maxLen = 24
-const _Hash_text = "aboutputbodyaccept-charsetfooterbasefontitleaccesskeyacronym" +
- "ainputmodeferowspanametabindexmlnsamp-boilerplateaddressandb" +
- "oxmparamarkbdirubyasyncanvasidecodingaudiobjectrackindatalis" +
- "tepatternavalueautocapitalizeautocompletemplateautofocusemap" +
- "pletranslateautoplaysinlinertcapturequiredatatypeofetchprior" +
- "itybigblockingblockquotebuttonobrcitempropertyclassectionoem" +
- "bedfnoframesetcodefaultcolgroupictureversedisabledivarcolorc" +
- "olspanomodulecontenteditablegendlabelinkcontrolselectedragga" +
- "blecoordshadowrootdelegatesfocushadowrootmodetailshapecrosso" +
- "riginlistarticlefieldsetfigcaptionoscriptfiguresourcenterkey" +
- "hintformactionformenctypeformmethodformnovalidatetimedialogf" +
- "ormtargeth5h6heightmlooptgroupinghgrouplaintextareadonlyhidd" +
- "enhigh1hreflanghttp-equivideoptioniframenuitemidimagesizeslo" +
- "timagesrcsetimginsmallowfullscreenismapopovertargetactionite" +
- "mreferrerpolicyitemscopenitemtypematheaderspellcheckedmaxlen" +
- "gth2meterminlength3multiplemutedprefixpreloadingprofileprogr" +
- "essrclangstrikestrongstylesubdoptimumarqueesummarysuportalsv" +
- "gvocabbrwbrwidth4wraposter"
-
-var _Hash_table = [1 << 9]Hash{
- 0x0: 0x4405, // defer
- 0x5: 0x18002, // ol
- 0x6: 0x3720a, // spellcheck
- 0x7: 0x40b02, // h4
- 0x8: 0x40705, // width
- 0x9: 0x9402, // id
- 0xb: 0x14904, // nobr
- 0xc: 0x31d05, // small
- 0xf: 0x2b506, // hgroup
- 0x10: 0x27702, // th
- 0x15: 0x24f06, // center
- 0x18: 0xd10c, // autocomplete
- 0x1b: 0x2c304, // area
- 0x1e: 0x17f03, // col
- 0x1f: 0x2a106, // height
- 0x21: 0x4b04, // span
- 0x22: 0x37e03, // max
- 0x23: 0x3cf06, // strong
- 0x24: 0x501, // p
- 0x29: 0x24b06, // source
- 0x2c: 0x8e06, // canvas
- 0x2d: 0x2c09, // accesskey
- 0x2e: 0x18607, // picture
- 0x30: 0x3a403, // pre
- 0x31: 0x5d04, // samp
- 0x34: 0x40902, // dt
- 0x36: 0x30505, // sizes
- 0x37: 0x1a908, // nomodule
- 0x39: 0x2a504, // html
- 0x3a: 0x31203, // src
- 0x3c: 0x28d06, // dialog
- 0x3e: 0x3ab03, // rel
- 0x40: 0x1a06, // footer
- 0x43: 0x30d0b, // imagesrcset
- 0x46: 0x3c906, // strike
- 0x47: 0x2e805, // video
- 0x4a: 0x2d702, // hr
- 0x4b: 0x36108, // itemtype
- 0x4c: 0x1c804, // link
- 0x4e: 0x6702, // rp
- 0x4f: 0x2801, // i
- 0x50: 0xee06, // applet
- 0x51: 0x17f08, // colgroup
- 0x53: 0x1905, // tfoot
- 0x54: 0xc06, // accept
- 0x57: 0x14d04, // cite
- 0x58: 0x1307, // charset
- 0x59: 0x17604, // code
- 0x5a: 0x4e04, // name
- 0x5b: 0x2bf04, // text
- 0x5d: 0x31f05, // allow
- 0x5e: 0x36c04, // head
- 0x61: 0x16605, // embed
- 0x62: 0x3fa03, // svg
- 0x63: 0x3fd05, // vocab
- 0x64: 0x5e0f, // amp-boilerplate
- 0x65: 0x38805, // meter
- 0x67: 0x3320d, // popovertarget
- 0x69: 0x3b04, // main
- 0x6a: 0x41006, // poster
- 0x6c: 0x1c302, // dl
- 0x6e: 0x26006, // action
- 0x71: 0x17807, // default
- 0x72: 0x3d05, // input
- 0x74: 0xb202, // is
- 0x75: 0x27506, // method
- 0x79: 0x7903, // xmp
- 0x7a: 0x101, // b
- 0x7b: 0x21f06, // inlist
- 0x7c: 0x25c0a, // formaction
- 0x7e: 0x39708, // multiple
- 0x80: 0x1f203, // del
- 0x81: 0x26a07, // enctype
- 0x83: 0x27b0e, // formnovalidate
- 0x84: 0x2404, // font
- 0x85: 0x11d06, // typeof
- 0x86: 0x2d704, // href
- 0x87: 0x13a0a, // blockquote
- 0x88: 0x4807, // rowspan
- 0x89: 0x3aa07, // preload
- 0x8a: 0x12f03, // big
- 0x8c: 0x38d09, // minlength
- 0x90: 0x1bb05, // table
- 0x91: 0x39f05, // muted
- 0x92: 0x3e407, // marquee
- 0x94: 0x3507, // acronym
- 0x96: 0x40d04, // wrap
- 0x98: 0x14b02, // br
- 0x9a: 0x10b02, // rt
- 0x9e: 0xa602, // tr
- 0x9f: 0x35709, // itemscope
- 0xa4: 0xad04, // data
- 0xa5: 0x29706, // target
- 0xac: 0x11908, // datatype
- 0xae: 0xb304, // step
- 0xb3: 0x1cc08, // controls
- 0xb5: 0xbe05, // value
- 0xb6: 0x2ba09, // plaintext
- 0xb7: 0x1da09, // draggable
- 0xc0: 0x8a05, // async
- 0xc2: 0x2a804, // loop
- 0xc3: 0x28904, // time
- 0xc6: 0x2004, // base
- 0xc7: 0x23f06, // script
- 0xce: 0x32103, // low
- 0xcf: 0x3dc03, // bdo
- 0xd1: 0x18b03, // rev
- 0xd2: 0x1e306, // coords
- 0xd3: 0x8403, // dir
- 0xd4: 0x2f608, // menuitem
- 0xd6: 0x22507, // article
- 0xd8: 0x11d04, // type
- 0xda: 0x18b08, // reversed
- 0xdb: 0x23707, // caption
- 0xdc: 0x35d04, // open
- 0xdd: 0x1701, // s
- 0xe0: 0x2705, // title
- 0xe1: 0x9508, // decoding
- 0xe3: 0xc0e, // accept-charset
- 0xe4: 0x15a05, // class
- 0xe5: 0x3f203, // sup
- 0xe6: 0xdb08, // template
- 0xe7: 0x16c08, // noframes
- 0xe8: 0x3ad07, // loading
- 0xeb: 0xa106, // object
- 0xee: 0x3da03, // sub
- 0xef: 0x2fa06, // itemid
- 0xf0: 0x30904, // slot
- 0xf1: 0x8604, // ruby
- 0xf4: 0x1f102, // td
- 0xf5: 0x11208, // required
- 0xf9: 0x16e05, // frame
- 0xfc: 0x2102, // as
- 0xfd: 0x37e09, // maxlength
- 0xff: 0x31f0f, // allowfullscreen
- 0x101: 0x2160b, // crossorigin
- 0x102: 0xed03, // map
- 0x104: 0x6e02, // dd
- 0x105: 0x705, // tbody
- 0x107: 0x2d502, // h1
- 0x109: 0x5004, // meta
- 0x10a: 0x1, // a
- 0x10c: 0x16a03, // dfn
- 0x10e: 0x34507, // itemref
- 0x110: 0x38d03, // min
- 0x111: 0x28508, // datetime
- 0x114: 0xdc02, // em
- 0x115: 0x7f04, // mark
- 0x119: 0x2d708, // hreflang
- 0x11a: 0x3de07, // optimum
- 0x11c: 0x1220d, // fetchpriority
- 0x11d: 0x39502, // h3
- 0x11e: 0x5905, // xmlns
- 0x11f: 0x19903, // div
- 0x121: 0x40403, // wbr
- 0x128: 0x2bf08, // textarea
- 0x129: 0x3d505, // style
- 0x12a: 0x3f406, // portal
- 0x12b: 0x1b107, // content
- 0x12d: 0x19b03, // var
- 0x12f: 0x40004, // abbr
- 0x133: 0x31803, // img
- 0x138: 0x35b05, // scope
- 0x13b: 0x30504, // size
- 0x13e: 0x29f02, // h6
- 0x141: 0xfc08, // autoplay
- 0x142: 0x2c408, // readonly
- 0x143: 0x3d09, // inputmode
- 0x144: 0x19208, // disabled
- 0x145: 0x4804, // rows
- 0x149: 0x3490e, // referrerpolicy
- 0x14a: 0x1c405, // label
- 0x14b: 0x36c06, // header
- 0x14c: 0xad08, // datalist
- 0x14d: 0xe309, // autofocus
- 0x14e: 0xb607, // pattern
- 0x150: 0x2cc06, // hidden
- 0x151: 0x5, // about
- 0x152: 0x14406, // button
- 0x154: 0x2f206, // iframe
- 0x155: 0x1d308, // selected
- 0x156: 0x3c207, // srclang
- 0x15b: 0xb102, // li
- 0x15c: 0x22305, // start
- 0x15d: 0x7307, // sandbox
- 0x15e: 0x31b03, // ins
- 0x162: 0x1a307, // colspan
- 0x163: 0x1ff0e, // shadowrootmode
- 0x164: 0xb104, // list
- 0x166: 0x5208, // tabindex
- 0x169: 0x3b407, // profile
- 0x16b: 0x301, // u
- 0x16c: 0x23d08, // noscript
- 0x16e: 0x2660b, // formenctype
- 0x16f: 0x16e08, // frameset
- 0x170: 0x28b05, // media
- 0x174: 0x2008, // basefont
- 0x176: 0x2b104, // ping
- 0x177: 0x3bb08, // progress
- 0x178: 0x206, // output
- 0x17a: 0x36904, // math
- 0x17b: 0x2930a, // formtarget
- 0x17d: 0x7b05, // param
- 0x180: 0x13208, // blocking
- 0x185: 0x37707, // checked
- 0x188: 0x32e05, // ismap
- 0x18a: 0x38602, // h2
- 0x18c: 0x2df0a, // http-equiv
- 0x18e: 0x10d07, // capture
- 0x190: 0x2db04, // lang
- 0x195: 0x27f0a, // novalidate
- 0x197: 0x1a304, // cols
- 0x198: 0x804, // body
- 0x199: 0xbc03, // nav
- 0x19a: 0x1b10f, // contenteditable
- 0x19b: 0x15e07, // section
- 0x19e: 0x14e08, // itemprop
- 0x19f: 0x15208, // property
- 0x1a1: 0xc30e, // autocapitalize
- 0x1a4: 0x3eb07, // summary
- 0x1a6: 0x1000b, // playsinline
- 0x1a9: 0x8303, // bdi
- 0x1ab: 0x29d02, // h5
- 0x1ac: 0x6d07, // address
- 0x1b0: 0x2d204, // high
- 0x1b1: 0x33207, // popover
- 0x1b3: 0xa605, // track
- 0x1b6: 0x8203, // kbd
- 0x1b7: 0x11401, // q
- 0x1b8: 0x2340a, // figcaption
- 0x1b9: 0x30005, // image
- 0x1ba: 0x25c04, // form
- 0x1c1: 0x3000a, // imagesizes
- 0x1c4: 0x1e818, // shadowrootdelegatesfocus
- 0x1c5: 0x2ec06, // option
- 0x1c6: 0x9d05, // audio
- 0x1c8: 0x40102, // bb
- 0x1c9: 0x16407, // noembed
- 0x1cc: 0x10805, // inert
- 0x1cf: 0x1d306, // select
- 0x1d1: 0x22c08, // fieldset
- 0x1d2: 0x31206, // srcset
- 0x1d3: 0x2f604, // menu
- 0x1d5: 0x36c07, // headers
- 0x1dd: 0x1be06, // legend
- 0x1de: 0xaa04, // kind
- 0x1e0: 0x24908, // resource
- 0x1e2: 0xf309, // translate
- 0x1e4: 0x2aa08, // optgroup
- 0x1e6: 0x33213, // popovertargetaction
- 0x1e7: 0x2710a, // formmethod
- 0x1e9: 0xb802, // tt
- 0x1ea: 0x36b05, // thead
- 0x1eb: 0x17c02, // ul
- 0x1ee: 0x3a406, // prefix
- 0x1ef: 0x19e05, // color
- 0x1f1: 0x21105, // shape
- 0x1f3: 0x25c03, // for
- 0x1f4: 0x2500c, // enterkeyhint
- 0x1f7: 0xea06, // usemap
- 0x1f8: 0x1f02, // rb
- 0x1fa: 0x20b07, // details
- 0x1fb: 0x10b03, // rtc
- 0x1fc: 0x9205, // aside
- 0x1fe: 0x24506, // figure
-}
diff --git a/vendor/github.com/tdewolff/minify/v2/html/html.go b/vendor/github.com/tdewolff/minify/v2/html/html.go
deleted file mode 100644
index ce5e96dc3..000000000
--- a/vendor/github.com/tdewolff/minify/v2/html/html.go
+++ /dev/null
@@ -1,534 +0,0 @@
-// Package html minifies HTML5 following the specifications at http://www.w3.org/TR/html5/syntax.html.
-package html
-
-import (
- "bytes"
- "fmt"
- "io"
-
- "github.com/tdewolff/minify/v2"
- "github.com/tdewolff/parse/v2"
- "github.com/tdewolff/parse/v2/buffer"
- "github.com/tdewolff/parse/v2/html"
-)
-
-var (
- gtBytes = []byte(">")
- isBytes = []byte("=")
- spaceBytes = []byte(" ")
- doctypeBytes = []byte("<!doctype html>")
- jsMimeBytes = []byte("application/javascript")
- cssMimeBytes = []byte("text/css")
- htmlMimeBytes = []byte("text/html")
- svgMimeBytes = []byte("image/svg+xml")
- formMimeBytes = []byte("application/x-www-form-urlencoded")
- mathMimeBytes = []byte("application/mathml+xml")
- dataSchemeBytes = []byte("data:")
- jsSchemeBytes = []byte("javascript:")
- httpBytes = []byte("http")
- radioBytes = []byte("radio")
- onBytes = []byte("on")
- textBytes = []byte("text")
- noneBytes = []byte("none")
- submitBytes = []byte("submit")
- allBytes = []byte("all")
- rectBytes = []byte("rect")
- dataBytes = []byte("data")
- getBytes = []byte("get")
- autoBytes = []byte("auto")
- oneBytes = []byte("one")
- inlineParams = map[string]string{"inline": "1"}
-)
-
-////////////////////////////////////////////////////////////////
-
-var GoTemplateDelims = [2]string{"{{", "}}"}
-var HandlebarsTemplateDelims = [2]string{"{{", "}}"}
-var MustacheTemplateDelims = [2]string{"{{", "}}"}
-var EJSTemplateDelims = [2]string{"<%", "%>"}
-var ASPTemplateDelims = [2]string{"<%", "%>"}
-var PHPTemplateDelims = [2]string{"<?", "?>"}
-
-// Minifier is an HTML minifier.
-type Minifier struct {
- KeepComments bool
- KeepConditionalComments bool
- KeepSpecialComments bool
- KeepDefaultAttrVals bool
- KeepDocumentTags bool
- KeepEndTags bool
- KeepQuotes bool
- KeepWhitespace bool
- TemplateDelims [2]string
-}
-
-// Minify minifies HTML data, it reads from r and writes to w.
-func Minify(m *minify.M, w io.Writer, r io.Reader, params map[string]string) error {
- return (&Minifier{}).Minify(m, w, r, params)
-}
-
-// Minify minifies HTML data, it reads from r and writes to w.
-func (o *Minifier) Minify(m *minify.M, w io.Writer, r io.Reader, _ map[string]string) error {
- var rawTagHash Hash
- var rawTagMediatype []byte
-
- if o.KeepConditionalComments {
- fmt.Println("DEPRECATED: KeepConditionalComments is replaced by KeepSpecialComments")
- o.KeepSpecialComments = true
- o.KeepConditionalComments = false // omit next warning
- }
-
- omitSpace := true // if true the next leading space is omitted
- inPre := false
-
- attrMinifyBuffer := buffer.NewWriter(make([]byte, 0, 64))
- attrByteBuffer := make([]byte, 0, 64)
-
- z := parse.NewInput(r)
- defer z.Restore()
-
- l := html.NewTemplateLexer(z, o.TemplateDelims)
- tb := NewTokenBuffer(z, l)
- for {
- t := *tb.Shift()
- switch t.TokenType {
- case html.ErrorToken:
- if _, err := w.Write(nil); err != nil {
- return err
- }
- if l.Err() == io.EOF {
- return nil
- }
- return l.Err()
- case html.DoctypeToken:
- w.Write(doctypeBytes)
- case html.CommentToken:
- if o.KeepComments {
- w.Write(t.Data)
- } else if o.KeepSpecialComments {
- if 6 < len(t.Text) && (bytes.HasPrefix(t.Text, []byte("[if ")) || bytes.HasSuffix(t.Text, []byte("[endif]")) || bytes.HasSuffix(t.Text, []byte("[endif]--"))) {
- // [if ...] is always 7 or more characters, [endif] is only encountered for downlevel-revealed
- // see https://msdn.microsoft.com/en-us/library/ms537512(v=vs.85).aspx#syntax
- if bytes.HasPrefix(t.Data, []byte("<!--[if ")) && bytes.HasSuffix(t.Data, []byte("<![endif]-->")) { // downlevel-hidden
- begin := bytes.IndexByte(t.Data, '>') + 1
- end := len(t.Data) - len("<![endif]-->")
- if begin < end {
- w.Write(t.Data[:begin])
- if err := o.Minify(m, w, buffer.NewReader(t.Data[begin:end]), nil); err != nil {
- return minify.UpdateErrorPosition(err, z, t.Offset)
- }
- w.Write(t.Data[end:])
- } else {
- w.Write(t.Data) // malformed
- }
- } else {
- w.Write(t.Data) // downlevel-revealed or short downlevel-hidden
- }
- } else if 1 < len(t.Text) && t.Text[0] == '#' {
- // SSI tags
- w.Write(t.Data)
- }
- }
- case html.SvgToken:
- if err := m.MinifyMimetype(svgMimeBytes, w, buffer.NewReader(t.Data), inlineParams); err != nil {
- if err != minify.ErrNotExist {
- return minify.UpdateErrorPosition(err, z, t.Offset)
- }
- w.Write(t.Data)
- }
- omitSpace = false
- case html.MathToken:
- if err := m.MinifyMimetype(mathMimeBytes, w, buffer.NewReader(t.Data), nil); err != nil {
- if err != minify.ErrNotExist {
- return minify.UpdateErrorPosition(err, z, t.Offset)
- }
- w.Write(t.Data)
- }
- omitSpace = false
- case html.TextToken:
- if t.HasTemplate {
- w.Write(t.Data)
- omitSpace = parse.IsWhitespace(t.Data[len(t.Data)-1])
- } else if rawTagHash != 0 {
- if rawTagHash == Style || rawTagHash == Script || rawTagHash == Iframe {
- var mimetype []byte
- var params map[string]string
- if rawTagHash == Iframe {
- mimetype = htmlMimeBytes
- } else if 0 < len(rawTagMediatype) {
- mimetype, params = parse.Mediatype(rawTagMediatype)
- } else if rawTagHash == Script {
- mimetype = jsMimeBytes
- } else if rawTagHash == Style {
- mimetype = cssMimeBytes
- }
- if err := m.MinifyMimetype(mimetype, w, buffer.NewReader(t.Data), params); err != nil {
- if err != minify.ErrNotExist {
- return minify.UpdateErrorPosition(err, z, t.Offset)
- }
- w.Write(t.Data)
- }
- } else {
- w.Write(t.Data)
- }
- } else if inPre {
- w.Write(t.Data)
- // omitSpace = true after block element
- } else {
- t.Data = parse.ReplaceMultipleWhitespaceAndEntities(t.Data, EntitiesMap, TextRevEntitiesMap)
-
- // whitespace removal; trim left
- if omitSpace && parse.IsWhitespace(t.Data[0]) {
- t.Data = t.Data[1:]
- }
-
- // whitespace removal; trim right
- omitSpace = false
- if len(t.Data) == 0 {
- omitSpace = true
- } else if parse.IsWhitespace(t.Data[len(t.Data)-1]) {
- omitSpace = true
- i := 0
- for {
- next := tb.Peek(i)
- // trim if EOF, text token with leading whitespace or block token
- if next.TokenType == html.ErrorToken {
- t.Data = t.Data[:len(t.Data)-1]
- omitSpace = false
- break
- } else if next.TokenType == html.TextToken && !parse.IsAllWhitespace(next.Data) {
- // stop looking when text encountered
- break
- } else if next.TokenType == html.StartTagToken || next.TokenType == html.EndTagToken || next.TokenType == html.SvgToken || next.TokenType == html.MathToken {
- if o.KeepWhitespace {
- break
- }
- // remove when followed by a block tag
- if next.Traits&blockTag != 0 {
- t.Data = t.Data[:len(t.Data)-1]
- omitSpace = false
- break
- } else if next.TokenType == html.StartTagToken || next.TokenType == html.SvgToken || next.TokenType == html.MathToken {
- break
- }
- }
- i++
- }
- }
-
- w.Write(t.Data)
- }
- case html.StartTagToken, html.EndTagToken:
- rawTagHash = 0
- hasAttributes := false
- if t.TokenType == html.StartTagToken {
- if next := tb.Peek(0); next.TokenType == html.AttributeToken {
- hasAttributes = true
- }
- if t.Traits&rawTag != 0 {
- // ignore empty script and style tags
- if !hasAttributes && (t.Hash == Script || t.Hash == Style) {
- if next := tb.Peek(1); next.TokenType == html.EndTagToken {
- tb.Shift()
- tb.Shift()
- break
- }
- }
- rawTagHash = t.Hash
- rawTagMediatype = nil
-
- // do not minify content of <style amp-boilerplate>
- if hasAttributes && t.Hash == Style {
- if attrs := tb.Attributes(Amp_Boilerplate); attrs[0] != nil {
- rawTagHash = 0
- }
- }
- }
- } else if t.Hash == Template {
- omitSpace = true // EndTagToken
- }
-
- if t.Hash == Pre {
- inPre = t.TokenType == html.StartTagToken
- }
-
- // remove superfluous tags, except for html, head and body tags when KeepDocumentTags is set
- if !hasAttributes && (!o.KeepDocumentTags && (t.Hash == Html || t.Hash == Head || t.Hash == Body) || t.Hash == Colgroup) {
- break
- } else if t.TokenType == html.EndTagToken {
- omitEndTag := false
- if !o.KeepEndTags {
- if t.Hash == Thead || t.Hash == Tbody || t.Hash == Tfoot || t.Hash == Tr || t.Hash == Th ||
- t.Hash == Td || t.Hash == Option || t.Hash == Dd || t.Hash == Dt || t.Hash == Li ||
- t.Hash == Rb || t.Hash == Rt || t.Hash == Rtc || t.Hash == Rp {
- omitEndTag = true // omit end tags
- } else if t.Hash == P {
- i := 0
- for {
- next := tb.Peek(i)
- i++
- // continue if text token is empty or whitespace
- if next.TokenType == html.TextToken && parse.IsAllWhitespace(next.Data) {
- continue
- }
- if next.TokenType == html.ErrorToken || next.TokenType == html.EndTagToken && next.Traits&keepPTag == 0 || next.TokenType == html.StartTagToken && next.Traits&omitPTag != 0 {
- omitEndTag = true // omit p end tag
- }
- break
- }
- } else if t.Hash == Optgroup {
- i := 0
- for {
- next := tb.Peek(i)
- i++
- // continue if text token
- if next.TokenType == html.TextToken {
- continue
- }
- if next.TokenType == html.ErrorToken || next.Hash != Option {
- omitEndTag = true // omit optgroup end tag
- }
- break
- }
- }
- }
-
- if !omitEndTag {
- if o.KeepWhitespace || t.Traits&objectTag != 0 {
- omitSpace = false
- } else if t.Traits&blockTag != 0 {
- omitSpace = true // omit spaces after block elements
- }
-
- if 3+len(t.Text) < len(t.Data) {
- t.Data[2+len(t.Text)] = '>'
- t.Data = t.Data[:3+len(t.Text)]
- }
- w.Write(t.Data)
- }
-
- // skip text in select and optgroup tags
- if t.Hash == Option || t.Hash == Optgroup {
- if next := tb.Peek(0); next.TokenType == html.TextToken && !next.HasTemplate {
- tb.Shift()
- }
- }
- break
- }
-
- if o.KeepWhitespace || t.Traits&objectTag != 0 {
- omitSpace = false
- } else if t.Traits&blockTag != 0 {
- omitSpace = true // omit spaces after block elements
- }
-
- w.Write(t.Data)
-
- if hasAttributes {
- if t.Hash == Meta {
- attrs := tb.Attributes(Content, Http_Equiv, Charset, Name)
- if content := attrs[0]; content != nil {
- if httpEquiv := attrs[1]; httpEquiv != nil {
- httpEquiv.AttrVal = parse.TrimWhitespace(httpEquiv.AttrVal)
- if charset := attrs[2]; charset == nil && parse.EqualFold(httpEquiv.AttrVal, []byte("content-type")) {
- content.AttrVal = minify.Mediatype(content.AttrVal)
- if bytes.Equal(content.AttrVal, []byte("text/html;charset=utf-8")) {
- httpEquiv.Text = nil
- content.Text = []byte("charset")
- content.Hash = Charset
- content.AttrVal = []byte("utf-8")
- }
- }
- }
- if name := attrs[3]; name != nil {
- name.AttrVal = parse.TrimWhitespace(name.AttrVal)
- if parse.EqualFold(name.AttrVal, []byte("keywords")) {
- content.AttrVal = bytes.ReplaceAll(content.AttrVal, []byte(", "), []byte(","))
- } else if parse.EqualFold(name.AttrVal, []byte("viewport")) {
- content.AttrVal = bytes.ReplaceAll(content.AttrVal, []byte(" "), []byte(""))
- for i := 0; i < len(content.AttrVal); i++ {
- if content.AttrVal[i] == '=' && i+2 < len(content.AttrVal) {
- i++
- if n := parse.Number(content.AttrVal[i:]); 0 < n {
- minNum := minify.Number(content.AttrVal[i:i+n], -1)
- if len(minNum) < n {
- copy(content.AttrVal[i:i+len(minNum)], minNum)
- copy(content.AttrVal[i+len(minNum):], content.AttrVal[i+n:])
- content.AttrVal = content.AttrVal[:len(content.AttrVal)+len(minNum)-n]
- }
- i += len(minNum)
- }
- i-- // mitigate for-loop increase
- }
- }
- }
- }
- }
- } else if t.Hash == Script {
- attrs := tb.Attributes(Src, Charset)
- if attrs[0] != nil && attrs[1] != nil {
- attrs[1].Text = nil
- }
- } else if t.Hash == Input {
- attrs := tb.Attributes(Type, Value)
- if t, value := attrs[0], attrs[1]; t != nil && value != nil {
- isRadio := parse.EqualFold(t.AttrVal, radioBytes)
- if !isRadio && len(value.AttrVal) == 0 {
- value.Text = nil
- } else if isRadio && parse.EqualFold(value.AttrVal, onBytes) {
- value.Text = nil
- }
- }
- } else if t.Hash == A {
- attrs := tb.Attributes(Id, Name)
- if id, name := attrs[0], attrs[1]; id != nil && name != nil {
- if bytes.Equal(id.AttrVal, name.AttrVal) {
- name.Text = nil
- }
- }
- }
-
- // write attributes
- for {
- attr := *tb.Shift()
- if attr.TokenType != html.AttributeToken {
- break
- } else if attr.Text == nil {
- continue // removed attribute
- } else if attr.HasTemplate {
- w.Write(attr.Data)
- continue // don't minify attributes that contain templates
- }
-
- val := attr.AttrVal
- if attr.Traits&trimAttr != 0 {
- val = parse.ReplaceMultipleWhitespaceAndEntities(val, EntitiesMap, nil)
- val = parse.TrimWhitespace(val)
- } else {
- val = parse.ReplaceEntities(val, EntitiesMap, nil)
- }
- if t.Traits != 0 {
- if len(val) == 0 && (attr.Hash == Class ||
- attr.Hash == Dir ||
- attr.Hash == Id ||
- attr.Hash == Name ||
- attr.Hash == Action && t.Hash == Form) {
- continue // omit empty attribute values
- }
- if rawTagHash != 0 && attr.Hash == Type {
- rawTagMediatype = parse.Copy(val)
- }
-
- if attr.Hash == Enctype ||
- attr.Hash == Formenctype ||
- attr.Hash == Accept ||
- attr.Hash == Type && (t.Hash == A || t.Hash == Link || t.Hash == Embed || t.Hash == Object || t.Hash == Source || t.Hash == Script) {
- val = minify.Mediatype(val)
- }
-
- // default attribute values can be omitted
- if !o.KeepDefaultAttrVals && (attr.Hash == Type && (t.Hash == Script && jsMimetypes[string(parse.ToLower(parse.Copy(val)))] ||
- t.Hash == Style && parse.EqualFold(val, cssMimeBytes) ||
- t.Hash == Link && parse.EqualFold(val, cssMimeBytes) ||
- t.Hash == Input && parse.EqualFold(val, textBytes) ||
- t.Hash == Button && parse.EqualFold(val, submitBytes)) ||
- attr.Hash == Method && parse.EqualFold(val, getBytes) ||
- attr.Hash == Enctype && parse.EqualFold(val, formMimeBytes) ||
- attr.Hash == Colspan && bytes.Equal(val, oneBytes) ||
- attr.Hash == Rowspan && bytes.Equal(val, oneBytes) ||
- attr.Hash == Shape && parse.EqualFold(val, rectBytes) ||
- attr.Hash == Span && bytes.Equal(val, oneBytes) ||
- attr.Hash == Media && t.Hash == Style && parse.EqualFold(val, allBytes)) {
- continue
- }
-
- if attr.Hash == Style {
- // CSS minifier for attribute inline code
- val = parse.TrimWhitespace(val)
- attrMinifyBuffer.Reset()
- if err := m.MinifyMimetype(cssMimeBytes, attrMinifyBuffer, buffer.NewReader(val), inlineParams); err == nil {
- val = attrMinifyBuffer.Bytes()
- } else if err != minify.ErrNotExist {
- return minify.UpdateErrorPosition(err, z, attr.Offset)
- }
- if len(val) == 0 {
- continue
- }
- } else if 2 < len(attr.Text) && attr.Text[0] == 'o' && attr.Text[1] == 'n' {
- // JS minifier for attribute inline code
- val = parse.TrimWhitespace(val)
- if 11 <= len(val) && parse.EqualFold(val[:11], jsSchemeBytes) {
- val = val[11:]
- }
- attrMinifyBuffer.Reset()
- if err := m.MinifyMimetype(jsMimeBytes, attrMinifyBuffer, buffer.NewReader(val), inlineParams); err == nil {
- val = attrMinifyBuffer.Bytes()
- } else if err != minify.ErrNotExist {
- return minify.UpdateErrorPosition(err, z, attr.Offset)
- }
- if len(val) == 0 {
- continue
- }
- } else if attr.Traits&urlAttr != 0 { // anchors are already handled
- val = parse.TrimWhitespace(val)
- if 5 < len(val) {
- if parse.EqualFold(val[:4], httpBytes) {
- if val[4] == ':' {
- if m.URL != nil && m.URL.Scheme == "http" {
- val = val[5:]
- } else {
- parse.ToLower(val[:4])
- }
- } else if (val[4] == 's' || val[4] == 'S') && val[5] == ':' {
- if m.URL != nil && m.URL.Scheme == "https" {
- val = val[6:]
- } else {
- parse.ToLower(val[:5])
- }
- }
- } else if parse.EqualFold(val[:5], dataSchemeBytes) {
- val = minify.DataURI(m, val)
- }
- }
- }
- }
-
- w.Write(spaceBytes)
- w.Write(attr.Text)
- if 0 < len(val) && attr.Traits&booleanAttr == 0 {
- w.Write(isBytes)
-
- // use double quotes for RDFa attributes
- isXML := attr.Hash == Vocab || attr.Hash == Typeof || attr.Hash == Property || attr.Hash == Resource || attr.Hash == Prefix || attr.Hash == Content || attr.Hash == About || attr.Hash == Rev || attr.Hash == Datatype || attr.Hash == Inlist
-
- // no quotes if possible, else prefer single or double depending on which occurs more often in value
- var quote byte
-
- if 0 < len(attr.Data) && (attr.Data[len(attr.Data)-1] == '\'' || attr.Data[len(attr.Data)-1] == '"') {
- quote = attr.Data[len(attr.Data)-1]
- }
- val = html.EscapeAttrVal(&attrByteBuffer, val, quote, o.KeepQuotes || isXML)
- w.Write(val)
- }
- }
- } else {
- _ = tb.Shift() // StartTagClose
- }
- w.Write(gtBytes)
-
- // skip text in select and optgroup tags
- if t.Hash == Select || t.Hash == Optgroup {
- if next := tb.Peek(0); next.TokenType == html.TextToken && !next.HasTemplate {
- tb.Shift()
- }
- }
-
- // keep space after phrasing tags (<i>, <span>, ...) FontAwesome etc.
- if t.TokenType == html.StartTagToken && t.Traits == normalTag {
- if next := tb.Peek(0); next.Hash == t.Hash && next.TokenType == html.EndTagToken {
- omitSpace = false
- }
- }
- }
- }
-}
diff --git a/vendor/github.com/tdewolff/minify/v2/html/table.go b/vendor/github.com/tdewolff/minify/v2/html/table.go
deleted file mode 100644
index 72380a98e..000000000
--- a/vendor/github.com/tdewolff/minify/v2/html/table.go
+++ /dev/null
@@ -1,1389 +0,0 @@
-package html
-
-type traits uint16
-
-const (
- normalTag traits = 1 << iota
- rawTag // raw tags need special processing for their content
- blockTag // remove spaces around these tags
- objectTag // keep spaces after these open/close tags
- omitPTag // omit p end tag if it is followed by this start tag
- keepPTag // keep p end tag if it is followed by this end tag
-)
-
-const (
- booleanAttr traits = 1 << iota
- urlAttr
- trimAttr
-)
-
-var tagMap = map[Hash]traits{
- A: keepPTag,
- Abbr: normalTag,
- Address: blockTag | omitPTag,
- Area: normalTag,
- Article: blockTag | omitPTag,
- Aside: blockTag | omitPTag,
- Audio: keepPTag,
- B: normalTag,
- Base: normalTag,
- Bb: normalTag,
- Bdi: normalTag,
- Bdo: normalTag,
- Blockquote: blockTag | omitPTag,
- Body: normalTag,
- Br: blockTag,
- Button: objectTag,
- Canvas: objectTag | keepPTag,
- Caption: blockTag,
- Cite: normalTag,
- Code: normalTag,
- Col: blockTag,
- Colgroup: blockTag,
- Data: normalTag,
- Datalist: normalTag, // no text content
- Dd: blockTag,
- Del: keepPTag,
- Details: blockTag | omitPTag,
- Dfn: normalTag,
- Dialog: normalTag,
- Div: blockTag | omitPTag,
- Dl: blockTag | omitPTag,
- Dt: blockTag,
- Em: normalTag,
- Embed: normalTag,
- Fieldset: blockTag | omitPTag,
- Figcaption: blockTag | omitPTag,
- Figure: blockTag | omitPTag,
- Footer: blockTag | omitPTag,
- Form: blockTag | omitPTag,
- H1: blockTag | omitPTag,
- H2: blockTag | omitPTag,
- H3: blockTag | omitPTag,
- H4: blockTag | omitPTag,
- H5: blockTag | omitPTag,
- H6: blockTag | omitPTag,
- Head: blockTag,
- Header: blockTag | omitPTag,
- Hgroup: blockTag,
- Hr: blockTag | omitPTag,
- Html: blockTag,
- I: normalTag,
- Iframe: rawTag | objectTag,
- Img: objectTag,
- Input: objectTag,
- Ins: keepPTag,
- Kbd: normalTag,
- Label: normalTag | keepPTag, // experimentally, keepPTag is needed
- Legend: blockTag,
- Li: blockTag,
- Link: normalTag,
- Main: blockTag | omitPTag,
- Map: keepPTag,
- Mark: normalTag,
- Math: rawTag,
- Menu: blockTag | omitPTag,
- Meta: normalTag,
- Meter: objectTag,
- Nav: blockTag | omitPTag,
- Noscript: blockTag | keepPTag,
- Object: objectTag,
- Ol: blockTag | omitPTag,
- Optgroup: normalTag, // no text content
- Option: blockTag,
- Output: normalTag,
- P: blockTag | omitPTag,
- Param: normalTag,
- Picture: normalTag,
- Pre: blockTag | omitPTag,
- Progress: objectTag,
- Q: objectTag,
- Rp: normalTag,
- Rt: objectTag,
- Ruby: normalTag,
- S: normalTag,
- Samp: normalTag,
- Script: rawTag,
- Section: blockTag | omitPTag,
- Select: objectTag,
- Slot: normalTag,
- Small: normalTag,
- Source: normalTag,
- Span: normalTag,
- Strong: normalTag,
- Style: rawTag | blockTag,
- Sub: normalTag,
- Summary: blockTag,
- Sup: normalTag,
- Svg: rawTag | objectTag,
- Table: blockTag | omitPTag,
- Tbody: blockTag,
- Td: blockTag,
- Template: normalTag,
- Textarea: rawTag | objectTag,
- Tfoot: blockTag,
- Th: blockTag,
- Thead: blockTag,
- Time: normalTag,
- Title: blockTag,
- Tr: blockTag,
- Track: normalTag,
- U: normalTag,
- Ul: blockTag | omitPTag,
- Var: normalTag,
- Video: objectTag | keepPTag,
- Wbr: objectTag,
-
- // removed tags
- Acronym: normalTag,
- Applet: normalTag,
- Basefont: normalTag,
- Big: normalTag,
- Center: blockTag,
- Dir: blockTag,
- Font: normalTag,
- Frame: normalTag,
- Frameset: normalTag,
- Image: objectTag,
- Marquee: blockTag,
- Menuitem: normalTag,
- Nobr: normalTag,
- Noembed: blockTag,
- Noframes: blockTag,
- Plaintext: normalTag,
- Rtc: objectTag,
- Rb: normalTag,
- Strike: normalTag,
- Tt: normalTag,
- Xmp: blockTag,
-
- // experimental tags
- Portal: normalTag,
-}
-
-var attrMap = map[Hash]traits{
- Accept: trimAttr, // list of mimetypes
- Accept_Charset: trimAttr,
- Accesskey: trimAttr,
- Action: urlAttr,
- Allow: trimAttr,
- Allowfullscreen: booleanAttr,
- As: trimAttr,
- Async: booleanAttr,
- Autocapitalize: trimAttr,
- Autocomplete: trimAttr,
- Autofocus: booleanAttr,
- Autoplay: booleanAttr,
- Blocking: trimAttr,
- Capture: trimAttr,
- Charset: trimAttr,
- Checked: booleanAttr,
- Cite: urlAttr,
- Class: trimAttr,
- Color: trimAttr,
- Cols: trimAttr, // uint bigger than 0
- Colspan: trimAttr, // uint bigger than 0
- Contenteditable: trimAttr,
- Controls: booleanAttr,
- Coords: trimAttr, // list of floats
- Crossorigin: trimAttr,
- Data: urlAttr,
- Datetime: trimAttr,
- Decoding: trimAttr,
- Default: booleanAttr,
- Defer: booleanAttr,
- Dir: trimAttr,
- Disabled: booleanAttr,
- Draggable: trimAttr,
- Enctype: trimAttr, // mimetype
- Enterkeyhint: trimAttr,
- Fetchpriority: trimAttr,
- For: trimAttr,
- Form: trimAttr,
- Formaction: urlAttr,
- Formenctype: trimAttr, // mimetype
- Formmethod: trimAttr,
- Formnovalidate: booleanAttr,
- Formtarget: trimAttr,
- Headers: trimAttr,
- Height: trimAttr, // uint
- Hidden: trimAttr, // TODO: boolean
- High: trimAttr, // float
- Href: urlAttr,
- Hreflang: trimAttr, // BCP 47
- Http_Equiv: trimAttr,
- Imagesizes: trimAttr,
- Imagesrcset: trimAttr,
- Inert: booleanAttr,
- Inputmode: trimAttr,
- Is: trimAttr,
- Ismap: booleanAttr,
- Itemid: urlAttr,
- Itemprop: trimAttr,
- Itemref: trimAttr,
- Itemscope: booleanAttr,
- Itemtype: trimAttr, // list of urls
- Kind: trimAttr,
- Lang: trimAttr, // BCP 47
- List: trimAttr,
- Loading: trimAttr,
- Loop: booleanAttr,
- Low: trimAttr, // float
- Max: trimAttr, // float or varies
- Maxlength: trimAttr, // uint
- Media: trimAttr,
- Method: trimAttr,
- Min: trimAttr, // float or varies
- Minlength: trimAttr, // uint
- Multiple: booleanAttr,
- Muted: booleanAttr,
- Nomodule: booleanAttr,
- Novalidate: booleanAttr,
- Open: booleanAttr,
- Optimum: trimAttr, // float
- Pattern: trimAttr, // regex
- Ping: trimAttr, // list of urls
- Playsinline: booleanAttr,
- Popover: trimAttr,
- Popovertarget: trimAttr,
- Popovertargetaction: trimAttr,
- Poster: urlAttr,
- Preload: trimAttr,
- Profile: urlAttr,
- Readonly: booleanAttr,
- Referrerpolicy: trimAttr,
- Rel: trimAttr,
- Required: booleanAttr,
- Reversed: booleanAttr,
- Rows: trimAttr, // uint bigger than 0
- Rowspan: trimAttr, // uint
- Sandbox: trimAttr,
- Scope: trimAttr,
- Selected: booleanAttr,
- Shadowrootmode: trimAttr,
- Shadowrootdelegatesfocus: booleanAttr,
- Shape: trimAttr,
- Size: trimAttr, // uint bigger than 0
- Sizes: trimAttr,
- Span: trimAttr, // uint bigger than 0
- Spellcheck: trimAttr,
- Src: urlAttr,
- Srclang: trimAttr, // BCP 47
- Srcset: trimAttr,
- Start: trimAttr, // int
- Step: trimAttr, // float or "any"
- Tabindex: trimAttr, // int
- Target: trimAttr,
- Translate: trimAttr,
- Type: trimAttr,
- Usemap: trimAttr,
- Width: trimAttr, // uint
- Wrap: trimAttr,
- Xmlns: urlAttr,
-}
-
-var jsMimetypes = map[string]bool{
- "text/javascript": true,
- "application/javascript": true,
-}
-
-// EntitiesMap are all named character entities.
-var EntitiesMap = map[string][]byte{
- "AElig": []byte("&#198;"),
- "AMP": []byte("&"),
- "Aacute": []byte("&#193;"),
- "Abreve": []byte("&#258;"),
- "Acirc": []byte("&#194;"),
- "Agrave": []byte("&#192;"),
- "Alpha": []byte("&#913;"),
- "Amacr": []byte("&#256;"),
- "Aogon": []byte("&#260;"),
- "ApplyFunction": []byte("&af;"),
- "Aring": []byte("&#197;"),
- "Assign": []byte("&#8788;"),
- "Atilde": []byte("&#195;"),
- "Backslash": []byte("&#8726;"),
- "Barwed": []byte("&#8966;"),
- "Because": []byte("&#8757;"),
- "Bernoullis": []byte("&Bscr;"),
- "Breve": []byte("&#728;"),
- "Bumpeq": []byte("&bump;"),
- "Cacute": []byte("&#262;"),
- "CapitalDifferentialD": []byte("&DD;"),
- "Cayleys": []byte("&Cfr;"),
- "Ccaron": []byte("&#268;"),
- "Ccedil": []byte("&#199;"),
- "Ccirc": []byte("&#264;"),
- "Cconint": []byte("&#8752;"),
- "Cedilla": []byte("&#184;"),
- "CenterDot": []byte("&#183;"),
- "CircleDot": []byte("&odot;"),
- "CircleMinus": []byte("&#8854;"),
- "CirclePlus": []byte("&#8853;"),
- "CircleTimes": []byte("&#8855;"),
- "ClockwiseContourIntegral": []byte("&#8754;"),
- "CloseCurlyDoubleQuote": []byte("&#8221;"),
- "CloseCurlyQuote": []byte("&#8217;"),
- "Congruent": []byte("&#8801;"),
- "Conint": []byte("&#8751;"),
- "ContourIntegral": []byte("&oint;"),
- "Coproduct": []byte("&#8720;"),
- "CounterClockwiseContourIntegral": []byte("&#8755;"),
- "CupCap": []byte("&#8781;"),
- "DDotrahd": []byte("&#10513;"),
- "Dagger": []byte("&#8225;"),
- "Dcaron": []byte("&#270;"),
- "Delta": []byte("&#916;"),
- "DiacriticalAcute": []byte("&#180;"),
- "DiacriticalDot": []byte("&dot;"),
- "DiacriticalDoubleAcute": []byte("&#733;"),
- "DiacriticalGrave": []byte("`"),
- "DiacriticalTilde": []byte("&#732;"),
- "Diamond": []byte("&diam;"),
- "DifferentialD": []byte("&dd;"),
- "DotDot": []byte("&#8412;"),
- "DotEqual": []byte("&#8784;"),
- "DoubleContourIntegral": []byte("&#8751;"),
- "DoubleDot": []byte("&Dot;"),
- "DoubleDownArrow": []byte("&dArr;"),
- "DoubleLeftArrow": []byte("&lArr;"),
- "DoubleLeftRightArrow": []byte("&iff;"),
- "DoubleLeftTee": []byte("&Dashv;"),
- "DoubleLongLeftArrow": []byte("&xlArr;"),
- "DoubleLongLeftRightArrow": []byte("&xhArr;"),
- "DoubleLongRightArrow": []byte("&xrArr;"),
- "DoubleRightArrow": []byte("&rArr;"),
- "DoubleRightTee": []byte("&#8872;"),
- "DoubleUpArrow": []byte("&uArr;"),
- "DoubleUpDownArrow": []byte("&vArr;"),
- "DoubleVerticalBar": []byte("&par;"),
- "DownArrow": []byte("&darr;"),
- "DownArrowBar": []byte("&#10515;"),
- "DownArrowUpArrow": []byte("&#8693;"),
- "DownBreve": []byte("&#785;"),
- "DownLeftRightVector": []byte("&#10576;"),
- "DownLeftTeeVector": []byte("&#10590;"),
- "DownLeftVector": []byte("&#8637;"),
- "DownLeftVectorBar": []byte("&#10582;"),
- "DownRightTeeVector": []byte("&#10591;"),
- "DownRightVector": []byte("&#8641;"),
- "DownRightVectorBar": []byte("&#10583;"),
- "DownTee": []byte("&top;"),
- "DownTeeArrow": []byte("&#8615;"),
- "Downarrow": []byte("&dArr;"),
- "Dstrok": []byte("&#272;"),
- "Eacute": []byte("&#201;"),
- "Ecaron": []byte("&#282;"),
- "Ecirc": []byte("&#202;"),
- "Egrave": []byte("&#200;"),
- "Element": []byte("&in;"),
- "Emacr": []byte("&#274;"),
- "EmptySmallSquare": []byte("&#9723;"),
- "EmptyVerySmallSquare": []byte("&#9643;"),
- "Eogon": []byte("&#280;"),
- "Epsilon": []byte("&#917;"),
- "EqualTilde": []byte("&esim;"),
- "Equilibrium": []byte("&#8652;"),
- "Exists": []byte("&#8707;"),
- "ExponentialE": []byte("&ee;"),
- "FilledSmallSquare": []byte("&#9724;"),
- "FilledVerySmallSquare": []byte("&squf;"),
- "ForAll": []byte("&#8704;"),
- "Fouriertrf": []byte("&Fscr;"),
- "GT": []byte(">"),
- "Gamma": []byte("&#915;"),
- "Gammad": []byte("&#988;"),
- "Gbreve": []byte("&#286;"),
- "Gcedil": []byte("&#290;"),
- "Gcirc": []byte("&#284;"),
- "GreaterEqual": []byte("&ge;"),
- "GreaterEqualLess": []byte("&gel;"),
- "GreaterFullEqual": []byte("&gE;"),
- "GreaterGreater": []byte("&#10914;"),
- "GreaterLess": []byte("&gl;"),
- "GreaterSlantEqual": []byte("&ges;"),
- "GreaterTilde": []byte("&gsim;"),
- "HARDcy": []byte("&#1066;"),
- "Hacek": []byte("&#711;"),
- "Hat": []byte("^"),
- "Hcirc": []byte("&#292;"),
- "HilbertSpace": []byte("&Hscr;"),
- "HorizontalLine": []byte("&boxh;"),
- "Hstrok": []byte("&#294;"),
- "HumpDownHump": []byte("&bump;"),
- "HumpEqual": []byte("&#8783;"),
- "IJlig": []byte("&#306;"),
- "Iacute": []byte("&#205;"),
- "Icirc": []byte("&#206;"),
- "Ifr": []byte("&Im;"),
- "Igrave": []byte("&#204;"),
- "Imacr": []byte("&#298;"),
- "ImaginaryI": []byte("&ii;"),
- "Implies": []byte("&rArr;"),
- "Integral": []byte("&int;"),
- "Intersection": []byte("&xcap;"),
- "InvisibleComma": []byte("&ic;"),
- "InvisibleTimes": []byte("&it;"),
- "Iogon": []byte("&#302;"),
- "Itilde": []byte("&#296;"),
- "Jcirc": []byte("&#308;"),
- "Jsercy": []byte("&#1032;"),
- "Kappa": []byte("&#922;"),
- "Kcedil": []byte("&#310;"),
- "LT": []byte("<"),
- "Lacute": []byte("&#313;"),
- "Lambda": []byte("&#923;"),
- "Laplacetrf": []byte("&Lscr;"),
- "Lcaron": []byte("&#317;"),
- "Lcedil": []byte("&#315;"),
- "LeftAngleBracket": []byte("&lang;"),
- "LeftArrow": []byte("&larr;"),
- "LeftArrowBar": []byte("&#8676;"),
- "LeftArrowRightArrow": []byte("&#8646;"),
- "LeftCeiling": []byte("&#8968;"),
- "LeftDoubleBracket": []byte("&lobrk;"),
- "LeftDownTeeVector": []byte("&#10593;"),
- "LeftDownVector": []byte("&#8643;"),
- "LeftDownVectorBar": []byte("&#10585;"),
- "LeftFloor": []byte("&#8970;"),
- "LeftRightArrow": []byte("&harr;"),
- "LeftRightVector": []byte("&#10574;"),
- "LeftTee": []byte("&#8867;"),
- "LeftTeeArrow": []byte("&#8612;"),
- "LeftTeeVector": []byte("&#10586;"),
- "LeftTriangle": []byte("&#8882;"),
- "LeftTriangleBar": []byte("&#10703;"),
- "LeftTriangleEqual": []byte("&#8884;"),
- "LeftUpDownVector": []byte("&#10577;"),
- "LeftUpTeeVector": []byte("&#10592;"),
- "LeftUpVector": []byte("&#8639;"),
- "LeftUpVectorBar": []byte("&#10584;"),
- "LeftVector": []byte("&#8636;"),
- "LeftVectorBar": []byte("&#10578;"),
- "Leftarrow": []byte("&lArr;"),
- "Leftrightarrow": []byte("&iff;"),
- "LessEqualGreater": []byte("&leg;"),
- "LessFullEqual": []byte("&lE;"),
- "LessGreater": []byte("&lg;"),
- "LessLess": []byte("&#10913;"),
- "LessSlantEqual": []byte("&les;"),
- "LessTilde": []byte("&lsim;"),
- "Lleftarrow": []byte("&#8666;"),
- "Lmidot": []byte("&#319;"),
- "LongLeftArrow": []byte("&xlarr;"),
- "LongLeftRightArrow": []byte("&xharr;"),
- "LongRightArrow": []byte("&xrarr;"),
- "Longleftarrow": []byte("&xlArr;"),
- "Longleftrightarrow": []byte("&xhArr;"),
- "Longrightarrow": []byte("&xrArr;"),
- "LowerLeftArrow": []byte("&#8601;"),
- "LowerRightArrow": []byte("&#8600;"),
- "Lstrok": []byte("&#321;"),
- "MediumSpace": []byte("&#8287;"),
- "Mellintrf": []byte("&Mscr;"),
- "MinusPlus": []byte("&mp;"),
- "Nacute": []byte("&#323;"),
- "Ncaron": []byte("&#327;"),
- "Ncedil": []byte("&#325;"),
- "NegativeMediumSpace": []byte("&#8203;"),
- "NegativeThickSpace": []byte("&#8203;"),
- "NegativeThinSpace": []byte("&#8203;"),
- "NegativeVeryThinSpace": []byte("&#8203;"),
- "NestedGreaterGreater": []byte("&Gt;"),
- "NestedLessLess": []byte("&Lt;"),
- "NewLine": []byte("\n"),
- "NoBreak": []byte("&#8288;"),
- "NonBreakingSpace": []byte("&#160;"),
- "NotCongruent": []byte("&#8802;"),
- "NotCupCap": []byte("&#8813;"),
- "NotDoubleVerticalBar": []byte("&npar;"),
- "NotElement": []byte("&#8713;"),
- "NotEqual": []byte("&ne;"),
- "NotExists": []byte("&#8708;"),
- "NotGreater": []byte("&ngt;"),
- "NotGreaterEqual": []byte("&nge;"),
- "NotGreaterLess": []byte("&ntgl;"),
- "NotGreaterTilde": []byte("&#8821;"),
- "NotLeftTriangle": []byte("&#8938;"),
- "NotLeftTriangleEqual": []byte("&#8940;"),
- "NotLess": []byte("&nlt;"),
- "NotLessEqual": []byte("&nle;"),
- "NotLessGreater": []byte("&ntlg;"),
- "NotLessTilde": []byte("&#8820;"),
- "NotPrecedes": []byte("&npr;"),
- "NotPrecedesSlantEqual": []byte("&#8928;"),
- "NotReverseElement": []byte("&#8716;"),
- "NotRightTriangle": []byte("&#8939;"),
- "NotRightTriangleEqual": []byte("&#8941;"),
- "NotSquareSubsetEqual": []byte("&#8930;"),
- "NotSquareSupersetEqual": []byte("&#8931;"),
- "NotSubsetEqual": []byte("&#8840;"),
- "NotSucceeds": []byte("&nsc;"),
- "NotSucceedsSlantEqual": []byte("&#8929;"),
- "NotSupersetEqual": []byte("&#8841;"),
- "NotTilde": []byte("&nsim;"),
- "NotTildeEqual": []byte("&#8772;"),
- "NotTildeFullEqual": []byte("&#8775;"),
- "NotTildeTilde": []byte("&nap;"),
- "NotVerticalBar": []byte("&nmid;"),
- "Ntilde": []byte("&#209;"),
- "OElig": []byte("&#338;"),
- "Oacute": []byte("&#211;"),
- "Ocirc": []byte("&#212;"),
- "Odblac": []byte("&#336;"),
- "Ograve": []byte("&#210;"),
- "Omacr": []byte("&#332;"),
- "Omega": []byte("&ohm;"),
- "Omicron": []byte("&#927;"),
- "OpenCurlyDoubleQuote": []byte("&#8220;"),
- "OpenCurlyQuote": []byte("&#8216;"),
- "Oslash": []byte("&#216;"),
- "Otilde": []byte("&#213;"),
- "OverBar": []byte("&#8254;"),
- "OverBrace": []byte("&#9182;"),
- "OverBracket": []byte("&tbrk;"),
- "OverParenthesis": []byte("&#9180;"),
- "PartialD": []byte("&part;"),
- "PlusMinus": []byte("&pm;"),
- "Poincareplane": []byte("&Hfr;"),
- "Precedes": []byte("&pr;"),
- "PrecedesEqual": []byte("&pre;"),
- "PrecedesSlantEqual": []byte("&#8828;"),
- "PrecedesTilde": []byte("&#8830;"),
- "Product": []byte("&prod;"),
- "Proportion": []byte("&#8759;"),
- "Proportional": []byte("&prop;"),
- "QUOT": []byte("\""),
- "Racute": []byte("&#340;"),
- "Rcaron": []byte("&#344;"),
- "Rcedil": []byte("&#342;"),
- "ReverseElement": []byte("&ni;"),
- "ReverseEquilibrium": []byte("&#8651;"),
- "ReverseUpEquilibrium": []byte("&duhar;"),
- "Rfr": []byte("&Re;"),
- "RightAngleBracket": []byte("&rang;"),
- "RightArrow": []byte("&rarr;"),
- "RightArrowBar": []byte("&#8677;"),
- "RightArrowLeftArrow": []byte("&#8644;"),
- "RightCeiling": []byte("&#8969;"),
- "RightDoubleBracket": []byte("&robrk;"),
- "RightDownTeeVector": []byte("&#10589;"),
- "RightDownVector": []byte("&#8642;"),
- "RightDownVectorBar": []byte("&#10581;"),
- "RightFloor": []byte("&#8971;"),
- "RightTee": []byte("&#8866;"),
- "RightTeeArrow": []byte("&map;"),
- "RightTeeVector": []byte("&#10587;"),
- "RightTriangle": []byte("&#8883;"),
- "RightTriangleBar": []byte("&#10704;"),
- "RightTriangleEqual": []byte("&#8885;"),
- "RightUpDownVector": []byte("&#10575;"),
- "RightUpTeeVector": []byte("&#10588;"),
- "RightUpVector": []byte("&#8638;"),
- "RightUpVectorBar": []byte("&#10580;"),
- "RightVector": []byte("&#8640;"),
- "RightVectorBar": []byte("&#10579;"),
- "Rightarrow": []byte("&rArr;"),
- "RoundImplies": []byte("&#10608;"),
- "Rrightarrow": []byte("&#8667;"),
- "RuleDelayed": []byte("&#10740;"),
- "SHCHcy": []byte("&#1065;"),
- "SOFTcy": []byte("&#1068;"),
- "Sacute": []byte("&#346;"),
- "Scaron": []byte("&#352;"),
- "Scedil": []byte("&#350;"),
- "Scirc": []byte("&#348;"),
- "ShortDownArrow": []byte("&darr;"),
- "ShortLeftArrow": []byte("&larr;"),
- "ShortRightArrow": []byte("&rarr;"),
- "ShortUpArrow": []byte("&uarr;"),
- "Sigma": []byte("&#931;"),
- "SmallCircle": []byte("&#8728;"),
- "Square": []byte("&squ;"),
- "SquareIntersection": []byte("&#8851;"),
- "SquareSubset": []byte("&#8847;"),
- "SquareSubsetEqual": []byte("&#8849;"),
- "SquareSuperset": []byte("&#8848;"),
- "SquareSupersetEqual": []byte("&#8850;"),
- "SquareUnion": []byte("&#8852;"),
- "Subset": []byte("&Sub;"),
- "SubsetEqual": []byte("&sube;"),
- "Succeeds": []byte("&sc;"),
- "SucceedsEqual": []byte("&sce;"),
- "SucceedsSlantEqual": []byte("&#8829;"),
- "SucceedsTilde": []byte("&#8831;"),
- "SuchThat": []byte("&ni;"),
- "Superset": []byte("&sup;"),
- "SupersetEqual": []byte("&supe;"),
- "Supset": []byte("&Sup;"),
- "THORN": []byte("&#222;"),
- "Tab": []byte("\t"),
- "Tcaron": []byte("&#356;"),
- "Tcedil": []byte("&#354;"),
- "Therefore": []byte("&#8756;"),
- "Theta": []byte("&#920;"),
- "ThinSpace": []byte("&#8201;"),
- "Tilde": []byte("&sim;"),
- "TildeEqual": []byte("&sime;"),
- "TildeFullEqual": []byte("&cong;"),
- "TildeTilde": []byte("&ap;"),
- "TripleDot": []byte("&tdot;"),
- "Tstrok": []byte("&#358;"),
- "Uacute": []byte("&#218;"),
- "Uarrocir": []byte("&#10569;"),
- "Ubreve": []byte("&#364;"),
- "Ucirc": []byte("&#219;"),
- "Udblac": []byte("&#368;"),
- "Ugrave": []byte("&#217;"),
- "Umacr": []byte("&#362;"),
- "UnderBar": []byte("_"),
- "UnderBrace": []byte("&#9183;"),
- "UnderBracket": []byte("&bbrk;"),
- "UnderParenthesis": []byte("&#9181;"),
- "Union": []byte("&xcup;"),
- "UnionPlus": []byte("&#8846;"),
- "Uogon": []byte("&#370;"),
- "UpArrow": []byte("&uarr;"),
- "UpArrowBar": []byte("&#10514;"),
- "UpArrowDownArrow": []byte("&#8645;"),
- "UpDownArrow": []byte("&varr;"),
- "UpEquilibrium": []byte("&udhar;"),
- "UpTee": []byte("&bot;"),
- "UpTeeArrow": []byte("&#8613;"),
- "Uparrow": []byte("&uArr;"),
- "Updownarrow": []byte("&vArr;"),
- "UpperLeftArrow": []byte("&#8598;"),
- "UpperRightArrow": []byte("&#8599;"),
- "Upsilon": []byte("&#933;"),
- "Uring": []byte("&#366;"),
- "Utilde": []byte("&#360;"),
- "Verbar": []byte("&Vert;"),
- "VerticalBar": []byte("&mid;"),
- "VerticalLine": []byte("|"),
- "VerticalSeparator": []byte("&#10072;"),
- "VerticalTilde": []byte("&wr;"),
- "VeryThinSpace": []byte("&#8202;"),
- "Vvdash": []byte("&#8874;"),
- "Wcirc": []byte("&#372;"),
- "Yacute": []byte("&#221;"),
- "Ycirc": []byte("&#374;"),
- "Zacute": []byte("&#377;"),
- "Zcaron": []byte("&#381;"),
- "ZeroWidthSpace": []byte("&#8203;"),
- "aacute": []byte("&#225;"),
- "abreve": []byte("&#259;"),
- "acirc": []byte("&#226;"),
- "acute": []byte("&#180;"),
- "aelig": []byte("&#230;"),
- "agrave": []byte("&#224;"),
- "alefsym": []byte("&#8501;"),
- "alpha": []byte("&#945;"),
- "amacr": []byte("&#257;"),
- "amp": []byte("&"),
- "andslope": []byte("&#10840;"),
- "angle": []byte("&ang;"),
- "angmsd": []byte("&#8737;"),
- "angmsdaa": []byte("&#10664;"),
- "angmsdab": []byte("&#10665;"),
- "angmsdac": []byte("&#10666;"),
- "angmsdad": []byte("&#10667;"),
- "angmsdae": []byte("&#10668;"),
- "angmsdaf": []byte("&#10669;"),
- "angmsdag": []byte("&#10670;"),
- "angmsdah": []byte("&#10671;"),
- "angrtvb": []byte("&#8894;"),
- "angrtvbd": []byte("&#10653;"),
- "angsph": []byte("&#8738;"),
- "angst": []byte("&#197;"),
- "angzarr": []byte("&#9084;"),
- "aogon": []byte("&#261;"),
- "apos": []byte("'"),
- "approx": []byte("&ap;"),
- "approxeq": []byte("&ape;"),
- "aring": []byte("&#229;"),
- "ast": []byte("*"),
- "asymp": []byte("&ap;"),
- "asympeq": []byte("&#8781;"),
- "atilde": []byte("&#227;"),
- "awconint": []byte("&#8755;"),
- "backcong": []byte("&#8780;"),
- "backepsilon": []byte("&#1014;"),
- "backprime": []byte("&#8245;"),
- "backsim": []byte("&bsim;"),
- "backsimeq": []byte("&#8909;"),
- "barvee": []byte("&#8893;"),
- "barwed": []byte("&#8965;"),
- "barwedge": []byte("&#8965;"),
- "bbrktbrk": []byte("&#9142;"),
- "becaus": []byte("&#8757;"),
- "because": []byte("&#8757;"),
- "bemptyv": []byte("&#10672;"),
- "bernou": []byte("&Bscr;"),
- "between": []byte("&#8812;"),
- "bigcap": []byte("&xcap;"),
- "bigcirc": []byte("&#9711;"),
- "bigcup": []byte("&xcup;"),
- "bigodot": []byte("&xodot;"),
- "bigoplus": []byte("&#10753;"),
- "bigotimes": []byte("&#10754;"),
- "bigsqcup": []byte("&#10758;"),
- "bigstar": []byte("&#9733;"),
- "bigtriangledown": []byte("&#9661;"),
- "bigtriangleup": []byte("&#9651;"),
- "biguplus": []byte("&#10756;"),
- "bigvee": []byte("&Vee;"),
- "bigwedge": []byte("&#8896;"),
- "bkarow": []byte("&rbarr;"),
- "blacklozenge": []byte("&lozf;"),
- "blacksquare": []byte("&squf;"),
- "blacktriangle": []byte("&#9652;"),
- "blacktriangledown": []byte("&#9662;"),
- "blacktriangleleft": []byte("&#9666;"),
- "blacktriangleright": []byte("&#9656;"),
- "bottom": []byte("&bot;"),
- "bowtie": []byte("&#8904;"),
- "boxminus": []byte("&#8863;"),
- "boxplus": []byte("&#8862;"),
- "boxtimes": []byte("&#8864;"),
- "bprime": []byte("&#8245;"),
- "breve": []byte("&#728;"),
- "brvbar": []byte("&#166;"),
- "bsol": []byte("\\"),
- "bsolhsub": []byte("&#10184;"),
- "bullet": []byte("&bull;"),
- "bumpeq": []byte("&#8783;"),
- "cacute": []byte("&#263;"),
- "capbrcup": []byte("&#10825;"),
- "caron": []byte("&#711;"),
- "ccaron": []byte("&#269;"),
- "ccedil": []byte("&#231;"),
- "ccirc": []byte("&#265;"),
- "ccupssm": []byte("&#10832;"),
- "cedil": []byte("&#184;"),
- "cemptyv": []byte("&#10674;"),
- "centerdot": []byte("&#183;"),
- "checkmark": []byte("&check;"),
- "circeq": []byte("&cire;"),
- "circlearrowleft": []byte("&#8634;"),
- "circlearrowright": []byte("&#8635;"),
- "circledR": []byte("&REG;"),
- "circledS": []byte("&oS;"),
- "circledast": []byte("&oast;"),
- "circledcirc": []byte("&ocir;"),
- "circleddash": []byte("&#8861;"),
- "cirfnint": []byte("&#10768;"),
- "cirscir": []byte("&#10690;"),
- "clubsuit": []byte("&#9827;"),
- "colon": []byte(":"),
- "colone": []byte("&#8788;"),
- "coloneq": []byte("&#8788;"),
- "comma": []byte(","),
- "commat": []byte("@"),
- "compfn": []byte("&#8728;"),
- "complement": []byte("&comp;"),
- "complexes": []byte("&Copf;"),
- "congdot": []byte("&#10861;"),
- "conint": []byte("&oint;"),
- "coprod": []byte("&#8720;"),
- "copysr": []byte("&#8471;"),
- "cudarrl": []byte("&#10552;"),
- "cudarrr": []byte("&#10549;"),
- "cularr": []byte("&#8630;"),
- "cularrp": []byte("&#10557;"),
- "cupbrcap": []byte("&#10824;"),
- "cupdot": []byte("&#8845;"),
- "curarr": []byte("&#8631;"),
- "curarrm": []byte("&#10556;"),
- "curlyeqprec": []byte("&#8926;"),
- "curlyeqsucc": []byte("&#8927;"),
- "curlyvee": []byte("&#8910;"),
- "curlywedge": []byte("&#8911;"),
- "curren": []byte("&#164;"),
- "curvearrowleft": []byte("&#8630;"),
- "curvearrowright": []byte("&#8631;"),
- "cwconint": []byte("&#8754;"),
- "cylcty": []byte("&#9005;"),
- "dagger": []byte("&#8224;"),
- "daleth": []byte("&#8504;"),
- "dbkarow": []byte("&rBarr;"),
- "dblac": []byte("&#733;"),
- "dcaron": []byte("&#271;"),
- "ddagger": []byte("&#8225;"),
- "ddotseq": []byte("&eDDot;"),
- "delta": []byte("&#948;"),
- "demptyv": []byte("&#10673;"),
- "diamond": []byte("&diam;"),
- "diamondsuit": []byte("&#9830;"),
- "digamma": []byte("&#989;"),
- "divide": []byte("&div;"),
- "divideontimes": []byte("&#8903;"),
- "divonx": []byte("&#8903;"),
- "dlcorn": []byte("&#8990;"),
- "dlcrop": []byte("&#8973;"),
- "dollar": []byte("$"),
- "doteqdot": []byte("&eDot;"),
- "dotminus": []byte("&#8760;"),
- "dotplus": []byte("&#8724;"),
- "dotsquare": []byte("&#8865;"),
- "doublebarwedge": []byte("&#8966;"),
- "downarrow": []byte("&darr;"),
- "downdownarrows": []byte("&#8650;"),
- "downharpoonleft": []byte("&#8643;"),
- "downharpoonright": []byte("&#8642;"),
- "drbkarow": []byte("&RBarr;"),
- "drcorn": []byte("&#8991;"),
- "drcrop": []byte("&#8972;"),
- "dstrok": []byte("&#273;"),
- "dwangle": []byte("&#10662;"),
- "dzigrarr": []byte("&#10239;"),
- "eacute": []byte("&#233;"),
- "ecaron": []byte("&#283;"),
- "ecirc": []byte("&#234;"),
- "ecolon": []byte("&#8789;"),
- "egrave": []byte("&#232;"),
- "elinters": []byte("&#9191;"),
- "emacr": []byte("&#275;"),
- "emptyset": []byte("&#8709;"),
- "emptyv": []byte("&#8709;"),
- "emsp13": []byte("&#8196;"),
- "emsp14": []byte("&#8197;"),
- "eogon": []byte("&#281;"),
- "epsilon": []byte("&#949;"),
- "eqcirc": []byte("&ecir;"),
- "eqcolon": []byte("&#8789;"),
- "eqsim": []byte("&esim;"),
- "eqslantgtr": []byte("&egs;"),
- "eqslantless": []byte("&els;"),
- "equals": []byte("="),
- "equest": []byte("&#8799;"),
- "equivDD": []byte("&#10872;"),
- "eqvparsl": []byte("&#10725;"),
- "excl": []byte("!"),
- "expectation": []byte("&Escr;"),
- "exponentiale": []byte("&ee;"),
- "fallingdotseq": []byte("&#8786;"),
- "female": []byte("&#9792;"),
- "forall": []byte("&#8704;"),
- "fpartint": []byte("&#10765;"),
- "frac12": []byte("&#189;"),
- "frac13": []byte("&#8531;"),
- "frac14": []byte("&#188;"),
- "frac15": []byte("&#8533;"),
- "frac16": []byte("&#8537;"),
- "frac18": []byte("&#8539;"),
- "frac23": []byte("&#8532;"),
- "frac25": []byte("&#8534;"),
- "frac34": []byte("&#190;"),
- "frac35": []byte("&#8535;"),
- "frac38": []byte("&#8540;"),
- "frac45": []byte("&#8536;"),
- "frac56": []byte("&#8538;"),
- "frac58": []byte("&#8541;"),
- "frac78": []byte("&#8542;"),
- "gacute": []byte("&#501;"),
- "gamma": []byte("&#947;"),
- "gammad": []byte("&#989;"),
- "gbreve": []byte("&#287;"),
- "gcirc": []byte("&#285;"),
- "geq": []byte("&ge;"),
- "geqq": []byte("&gE;"),
- "geqslant": []byte("&ges;"),
- "gesdoto": []byte("&#10882;"),
- "gesdotol": []byte("&#10884;"),
- "ggg": []byte("&Gg;"),
- "gnapprox": []byte("&gnap;"),
- "gneq": []byte("&gne;"),
- "gneqq": []byte("&gnE;"),
- "grave": []byte("`"),
- "gt": []byte(">"),
- "gtquest": []byte("&#10876;"),
- "gtrapprox": []byte("&gap;"),
- "gtrdot": []byte("&#8919;"),
- "gtreqless": []byte("&gel;"),
- "gtreqqless": []byte("&gEl;"),
- "gtrless": []byte("&gl;"),
- "gtrsim": []byte("&gsim;"),
- "hArr": []byte("&iff;"),
- "hairsp": []byte("&#8202;"),
- "hamilt": []byte("&Hscr;"),
- "hardcy": []byte("&#1098;"),
- "harrcir": []byte("&#10568;"),
- "hcirc": []byte("&#293;"),
- "hearts": []byte("&#9829;"),
- "heartsuit": []byte("&#9829;"),
- "hellip": []byte("&mldr;"),
- "hercon": []byte("&#8889;"),
- "hksearow": []byte("&#10533;"),
- "hkswarow": []byte("&#10534;"),
- "homtht": []byte("&#8763;"),
- "hookleftarrow": []byte("&#8617;"),
- "hookrightarrow": []byte("&#8618;"),
- "horbar": []byte("&#8213;"),
- "hslash": []byte("&hbar;"),
- "hstrok": []byte("&#295;"),
- "hybull": []byte("&#8259;"),
- "hyphen": []byte("&dash;"),
- "iacute": []byte("&#237;"),
- "icirc": []byte("&#238;"),
- "iexcl": []byte("&#161;"),
- "igrave": []byte("&#236;"),
- "iiiint": []byte("&qint;"),
- "iiint": []byte("&tint;"),
- "ijlig": []byte("&#307;"),
- "imacr": []byte("&#299;"),
- "image": []byte("&Im;"),
- "imagline": []byte("&Iscr;"),
- "imagpart": []byte("&Im;"),
- "imath": []byte("&#305;"),
- "imped": []byte("&#437;"),
- "incare": []byte("&#8453;"),
- "infintie": []byte("&#10717;"),
- "inodot": []byte("&#305;"),
- "intcal": []byte("&#8890;"),
- "integers": []byte("&Zopf;"),
- "intercal": []byte("&#8890;"),
- "intlarhk": []byte("&#10775;"),
- "intprod": []byte("&iprod;"),
- "iogon": []byte("&#303;"),
- "iquest": []byte("&#191;"),
- "isin": []byte("&in;"),
- "isindot": []byte("&#8949;"),
- "isinsv": []byte("&#8947;"),
- "isinv": []byte("&in;"),
- "itilde": []byte("&#297;"),
- "jcirc": []byte("&#309;"),
- "jmath": []byte("&#567;"),
- "jsercy": []byte("&#1112;"),
- "kappa": []byte("&#954;"),
- "kappav": []byte("&#1008;"),
- "kcedil": []byte("&#311;"),
- "kgreen": []byte("&#312;"),
- "lacute": []byte("&#314;"),
- "laemptyv": []byte("&#10676;"),
- "lagran": []byte("&Lscr;"),
- "lambda": []byte("&#955;"),
- "langle": []byte("&lang;"),
- "laquo": []byte("&#171;"),
- "larrbfs": []byte("&#10527;"),
- "larrhk": []byte("&#8617;"),
- "larrlp": []byte("&#8619;"),
- "larrsim": []byte("&#10611;"),
- "larrtl": []byte("&#8610;"),
- "lbrace": []byte("{"),
- "lbrack": []byte("["),
- "lbrksld": []byte("&#10639;"),
- "lbrkslu": []byte("&#10637;"),
- "lcaron": []byte("&#318;"),
- "lcedil": []byte("&#316;"),
- "lcub": []byte("{"),
- "ldquor": []byte("&#8222;"),
- "ldrdhar": []byte("&#10599;"),
- "ldrushar": []byte("&#10571;"),
- "leftarrow": []byte("&larr;"),
- "leftarrowtail": []byte("&#8610;"),
- "leftharpoondown": []byte("&#8637;"),
- "leftharpoonup": []byte("&#8636;"),
- "leftleftarrows": []byte("&#8647;"),
- "leftrightarrow": []byte("&harr;"),
- "leftrightarrows": []byte("&#8646;"),
- "leftrightharpoons": []byte("&#8651;"),
- "leftrightsquigarrow": []byte("&#8621;"),
- "leftthreetimes": []byte("&#8907;"),
- "leq": []byte("&le;"),
- "leqq": []byte("&lE;"),
- "leqslant": []byte("&les;"),
- "lesdoto": []byte("&#10881;"),
- "lesdotor": []byte("&#10883;"),
- "lessapprox": []byte("&lap;"),
- "lessdot": []byte("&#8918;"),
- "lesseqgtr": []byte("&leg;"),
- "lesseqqgtr": []byte("&lEg;"),
- "lessgtr": []byte("&lg;"),
- "lesssim": []byte("&lsim;"),
- "lfloor": []byte("&#8970;"),
- "llcorner": []byte("&#8990;"),
- "lmidot": []byte("&#320;"),
- "lmoust": []byte("&#9136;"),
- "lmoustache": []byte("&#9136;"),
- "lnapprox": []byte("&lnap;"),
- "lneq": []byte("&lne;"),
- "lneqq": []byte("&lnE;"),
- "longleftarrow": []byte("&xlarr;"),
- "longleftrightarrow": []byte("&xharr;"),
- "longmapsto": []byte("&xmap;"),
- "longrightarrow": []byte("&xrarr;"),
- "looparrowleft": []byte("&#8619;"),
- "looparrowright": []byte("&#8620;"),
- "lotimes": []byte("&#10804;"),
- "lowast": []byte("&#8727;"),
- "lowbar": []byte("_"),
- "lozenge": []byte("&loz;"),
- "lpar": []byte("("),
- "lrcorner": []byte("&#8991;"),
- "lsaquo": []byte("&#8249;"),
- "lsqb": []byte("["),
- "lsquor": []byte("&#8218;"),
- "lstrok": []byte("&#322;"),
- "lt": []byte("<"),
- "lthree": []byte("&#8907;"),
- "ltimes": []byte("&#8905;"),
- "ltquest": []byte("&#10875;"),
- "lurdshar": []byte("&#10570;"),
- "luruhar": []byte("&#10598;"),
- "maltese": []byte("&malt;"),
- "mapsto": []byte("&map;"),
- "mapstodown": []byte("&#8615;"),
- "mapstoleft": []byte("&#8612;"),
- "mapstoup": []byte("&#8613;"),
- "marker": []byte("&#9646;"),
- "measuredangle": []byte("&#8737;"),
- "micro": []byte("&#181;"),
- "midast": []byte("*"),
- "middot": []byte("&#183;"),
- "minusb": []byte("&#8863;"),
- "minusd": []byte("&#8760;"),
- "minusdu": []byte("&#10794;"),
- "mnplus": []byte("&mp;"),
- "models": []byte("&#8871;"),
- "mstpos": []byte("&ac;"),
- "multimap": []byte("&#8888;"),
- "nLeftarrow": []byte("&#8653;"),
- "nLeftrightarrow": []byte("&#8654;"),
- "nRightarrow": []byte("&#8655;"),
- "nVDash": []byte("&#8879;"),
- "nVdash": []byte("&#8878;"),
- "nabla": []byte("&Del;"),
- "nacute": []byte("&#324;"),
- "napos": []byte("&#329;"),
- "napprox": []byte("&nap;"),
- "natural": []byte("&#9838;"),
- "naturals": []byte("&Nopf;"),
- "ncaron": []byte("&#328;"),
- "ncedil": []byte("&#326;"),
- "nearrow": []byte("&#8599;"),
- "nequiv": []byte("&#8802;"),
- "nesear": []byte("&toea;"),
- "nexist": []byte("&#8708;"),
- "nexists": []byte("&#8708;"),
- "ngeq": []byte("&nge;"),
- "ngtr": []byte("&ngt;"),
- "niv": []byte("&ni;"),
- "nleftarrow": []byte("&#8602;"),
- "nleftrightarrow": []byte("&#8622;"),
- "nleq": []byte("&nle;"),
- "nless": []byte("&nlt;"),
- "nltrie": []byte("&#8940;"),
- "notinva": []byte("&#8713;"),
- "notinvb": []byte("&#8951;"),
- "notinvc": []byte("&#8950;"),
- "notniva": []byte("&#8716;"),
- "notnivb": []byte("&#8958;"),
- "notnivc": []byte("&#8957;"),
- "nparallel": []byte("&npar;"),
- "npolint": []byte("&#10772;"),
- "nprcue": []byte("&#8928;"),
- "nprec": []byte("&npr;"),
- "nrightarrow": []byte("&#8603;"),
- "nrtrie": []byte("&#8941;"),
- "nsccue": []byte("&#8929;"),
- "nshortmid": []byte("&nmid;"),
- "nshortparallel": []byte("&npar;"),
- "nsimeq": []byte("&#8772;"),
- "nsmid": []byte("&nmid;"),
- "nspar": []byte("&npar;"),
- "nsqsube": []byte("&#8930;"),
- "nsqsupe": []byte("&#8931;"),
- "nsubseteq": []byte("&#8840;"),
- "nsucc": []byte("&nsc;"),
- "nsupseteq": []byte("&#8841;"),
- "ntilde": []byte("&#241;"),
- "ntriangleleft": []byte("&#8938;"),
- "ntrianglelefteq": []byte("&#8940;"),
- "ntriangleright": []byte("&#8939;"),
- "ntrianglerighteq": []byte("&#8941;"),
- "num": []byte("#"),
- "numero": []byte("&#8470;"),
- "nvDash": []byte("&#8877;"),
- "nvdash": []byte("&#8876;"),
- "nvinfin": []byte("&#10718;"),
- "nwarrow": []byte("&#8598;"),
- "oacute": []byte("&#243;"),
- "ocirc": []byte("&#244;"),
- "odblac": []byte("&#337;"),
- "oelig": []byte("&#339;"),
- "ograve": []byte("&#242;"),
- "olcross": []byte("&#10683;"),
- "omacr": []byte("&#333;"),
- "omega": []byte("&#969;"),
- "omicron": []byte("&#959;"),
- "ominus": []byte("&#8854;"),
- "order": []byte("&oscr;"),
- "orderof": []byte("&oscr;"),
- "origof": []byte("&#8886;"),
- "orslope": []byte("&#10839;"),
- "oslash": []byte("&#248;"),
- "otilde": []byte("&#245;"),
- "otimes": []byte("&#8855;"),
- "otimesas": []byte("&#10806;"),
- "parallel": []byte("&par;"),
- "percnt": []byte("%"),
- "period": []byte("."),
- "permil": []byte("&#8240;"),
- "perp": []byte("&bot;"),
- "pertenk": []byte("&#8241;"),
- "phmmat": []byte("&Mscr;"),
- "pitchfork": []byte("&fork;"),
- "planck": []byte("&hbar;"),
- "planckh": []byte("&#8462;"),
- "plankv": []byte("&hbar;"),
- "plus": []byte("+"),
- "plusacir": []byte("&#10787;"),
- "pluscir": []byte("&#10786;"),
- "plusdo": []byte("&#8724;"),
- "plusmn": []byte("&pm;"),
- "plussim": []byte("&#10790;"),
- "plustwo": []byte("&#10791;"),
- "pointint": []byte("&#10773;"),
- "pound": []byte("&#163;"),
- "prec": []byte("&pr;"),
- "precapprox": []byte("&prap;"),
- "preccurlyeq": []byte("&#8828;"),
- "preceq": []byte("&pre;"),
- "precnapprox": []byte("&prnap;"),
- "precneqq": []byte("&prnE;"),
- "precnsim": []byte("&#8936;"),
- "precsim": []byte("&#8830;"),
- "primes": []byte("&Popf;"),
- "prnsim": []byte("&#8936;"),
- "profalar": []byte("&#9006;"),
- "profline": []byte("&#8978;"),
- "profsurf": []byte("&#8979;"),
- "propto": []byte("&prop;"),
- "prurel": []byte("&#8880;"),
- "puncsp": []byte("&#8200;"),
- "qprime": []byte("&#8279;"),
- "quaternions": []byte("&Hopf;"),
- "quatint": []byte("&#10774;"),
- "quest": []byte("?"),
- "questeq": []byte("&#8799;"),
- "quot": []byte("\""),
- "racute": []byte("&#341;"),
- "radic": []byte("&Sqrt;"),
- "raemptyv": []byte("&#10675;"),
- "rangle": []byte("&rang;"),
- "raquo": []byte("&#187;"),
- "rarrbfs": []byte("&#10528;"),
- "rarrhk": []byte("&#8618;"),
- "rarrlp": []byte("&#8620;"),
- "rarrsim": []byte("&#10612;"),
- "rarrtl": []byte("&#8611;"),
- "rationals": []byte("&Qopf;"),
- "rbrace": []byte("}"),
- "rbrack": []byte("]"),
- "rbrksld": []byte("&#10638;"),
- "rbrkslu": []byte("&#10640;"),
- "rcaron": []byte("&#345;"),
- "rcedil": []byte("&#343;"),
- "rcub": []byte("}"),
- "rdldhar": []byte("&#10601;"),
- "rdquor": []byte("&#8221;"),
- "real": []byte("&Re;"),
- "realine": []byte("&Rscr;"),
- "realpart": []byte("&Re;"),
- "reals": []byte("&Ropf;"),
- "rfloor": []byte("&#8971;"),
- "rightarrow": []byte("&rarr;"),
- "rightarrowtail": []byte("&#8611;"),
- "rightharpoondown": []byte("&#8641;"),
- "rightharpoonup": []byte("&#8640;"),
- "rightleftarrows": []byte("&#8644;"),
- "rightleftharpoons": []byte("&#8652;"),
- "rightrightarrows": []byte("&#8649;"),
- "rightsquigarrow": []byte("&#8605;"),
- "rightthreetimes": []byte("&#8908;"),
- "risingdotseq": []byte("&#8787;"),
- "rmoust": []byte("&#9137;"),
- "rmoustache": []byte("&#9137;"),
- "rotimes": []byte("&#10805;"),
- "rpar": []byte(")"),
- "rppolint": []byte("&#10770;"),
- "rsaquo": []byte("&#8250;"),
- "rsqb": []byte("]"),
- "rsquor": []byte("&#8217;"),
- "rthree": []byte("&#8908;"),
- "rtimes": []byte("&#8906;"),
- "rtriltri": []byte("&#10702;"),
- "ruluhar": []byte("&#10600;"),
- "sacute": []byte("&#347;"),
- "scaron": []byte("&#353;"),
- "scedil": []byte("&#351;"),
- "scirc": []byte("&#349;"),
- "scnsim": []byte("&#8937;"),
- "scpolint": []byte("&#10771;"),
- "searrow": []byte("&#8600;"),
- "semi": []byte(";"),
- "seswar": []byte("&tosa;"),
- "setminus": []byte("&#8726;"),
- "sfrown": []byte("&#8994;"),
- "shchcy": []byte("&#1097;"),
- "shortmid": []byte("&mid;"),
- "shortparallel": []byte("&par;"),
- "sigma": []byte("&#963;"),
- "sigmaf": []byte("&#962;"),
- "sigmav": []byte("&#962;"),
- "simeq": []byte("&sime;"),
- "simplus": []byte("&#10788;"),
- "simrarr": []byte("&#10610;"),
- "slarr": []byte("&larr;"),
- "smallsetminus": []byte("&#8726;"),
- "smeparsl": []byte("&#10724;"),
- "smid": []byte("&mid;"),
- "softcy": []byte("&#1100;"),
- "sol": []byte("/"),
- "solbar": []byte("&#9023;"),
- "spades": []byte("&#9824;"),
- "spadesuit": []byte("&#9824;"),
- "spar": []byte("&par;"),
- "sqsube": []byte("&#8849;"),
- "sqsubset": []byte("&#8847;"),
- "sqsubseteq": []byte("&#8849;"),
- "sqsupe": []byte("&#8850;"),
- "sqsupset": []byte("&#8848;"),
- "sqsupseteq": []byte("&#8850;"),
- "square": []byte("&squ;"),
- "squarf": []byte("&squf;"),
- "srarr": []byte("&rarr;"),
- "ssetmn": []byte("&#8726;"),
- "ssmile": []byte("&#8995;"),
- "sstarf": []byte("&Star;"),
- "straightepsilon": []byte("&#1013;"),
- "straightphi": []byte("&#981;"),
- "strns": []byte("&#175;"),
- "subedot": []byte("&#10947;"),
- "submult": []byte("&#10945;"),
- "subplus": []byte("&#10943;"),
- "subrarr": []byte("&#10617;"),
- "subset": []byte("&sub;"),
- "subseteq": []byte("&sube;"),
- "subseteqq": []byte("&subE;"),
- "subsetneq": []byte("&#8842;"),
- "subsetneqq": []byte("&subnE;"),
- "succ": []byte("&sc;"),
- "succapprox": []byte("&scap;"),
- "succcurlyeq": []byte("&#8829;"),
- "succeq": []byte("&sce;"),
- "succnapprox": []byte("&scnap;"),
- "succneqq": []byte("&scnE;"),
- "succnsim": []byte("&#8937;"),
- "succsim": []byte("&#8831;"),
- "supdsub": []byte("&#10968;"),
- "supedot": []byte("&#10948;"),
- "suphsol": []byte("&#10185;"),
- "suphsub": []byte("&#10967;"),
- "suplarr": []byte("&#10619;"),
- "supmult": []byte("&#10946;"),
- "supplus": []byte("&#10944;"),
- "supset": []byte("&sup;"),
- "supseteq": []byte("&supe;"),
- "supseteqq": []byte("&supE;"),
- "supsetneq": []byte("&#8843;"),
- "supsetneqq": []byte("&supnE;"),
- "swarrow": []byte("&#8601;"),
- "szlig": []byte("&#223;"),
- "target": []byte("&#8982;"),
- "tcaron": []byte("&#357;"),
- "tcedil": []byte("&#355;"),
- "telrec": []byte("&#8981;"),
- "there4": []byte("&#8756;"),
- "therefore": []byte("&#8756;"),
- "theta": []byte("&#952;"),
- "thetasym": []byte("&#977;"),
- "thetav": []byte("&#977;"),
- "thickapprox": []byte("&ap;"),
- "thicksim": []byte("&sim;"),
- "thinsp": []byte("&#8201;"),
- "thkap": []byte("&ap;"),
- "thksim": []byte("&sim;"),
- "thorn": []byte("&#254;"),
- "tilde": []byte("&#732;"),
- "times": []byte("&#215;"),
- "timesb": []byte("&#8864;"),
- "timesbar": []byte("&#10801;"),
- "topbot": []byte("&#9014;"),
- "topfork": []byte("&#10970;"),
- "tprime": []byte("&#8244;"),
- "triangle": []byte("&utri;"),
- "triangledown": []byte("&dtri;"),
- "triangleleft": []byte("&ltri;"),
- "trianglelefteq": []byte("&#8884;"),
- "triangleq": []byte("&trie;"),
- "triangleright": []byte("&rtri;"),
- "trianglerighteq": []byte("&#8885;"),
- "tridot": []byte("&#9708;"),
- "triminus": []byte("&#10810;"),
- "triplus": []byte("&#10809;"),
- "tritime": []byte("&#10811;"),
- "trpezium": []byte("&#9186;"),
- "tstrok": []byte("&#359;"),
- "twoheadleftarrow": []byte("&Larr;"),
- "twoheadrightarrow": []byte("&Rarr;"),
- "uacute": []byte("&#250;"),
- "ubreve": []byte("&#365;"),
- "ucirc": []byte("&#251;"),
- "udblac": []byte("&#369;"),
- "ugrave": []byte("&#249;"),
- "ulcorn": []byte("&#8988;"),
- "ulcorner": []byte("&#8988;"),
- "ulcrop": []byte("&#8975;"),
- "umacr": []byte("&#363;"),
- "uogon": []byte("&#371;"),
- "uparrow": []byte("&uarr;"),
- "updownarrow": []byte("&varr;"),
- "upharpoonleft": []byte("&#8639;"),
- "upharpoonright": []byte("&#8638;"),
- "upsih": []byte("&#978;"),
- "upsilon": []byte("&#965;"),
- "upuparrows": []byte("&#8648;"),
- "urcorn": []byte("&#8989;"),
- "urcorner": []byte("&#8989;"),
- "urcrop": []byte("&#8974;"),
- "uring": []byte("&#367;"),
- "utilde": []byte("&#361;"),
- "uwangle": []byte("&#10663;"),
- "varepsilon": []byte("&#1013;"),
- "varkappa": []byte("&#1008;"),
- "varnothing": []byte("&#8709;"),
- "varphi": []byte("&#981;"),
- "varpi": []byte("&piv;"),
- "varpropto": []byte("&prop;"),
- "varrho": []byte("&rhov;"),
- "varsigma": []byte("&#962;"),
- "vartheta": []byte("&#977;"),
- "vartriangleleft": []byte("&#8882;"),
- "vartriangleright": []byte("&#8883;"),
- "vee": []byte("&or;"),
- "veebar": []byte("&#8891;"),
- "vellip": []byte("&#8942;"),
- "verbar": []byte("|"),
- "vert": []byte("|"),
- "vprop": []byte("&prop;"),
- "vzigzag": []byte("&#10650;"),
- "wcirc": []byte("&#373;"),
- "wedge": []byte("&and;"),
- "wedgeq": []byte("&#8793;"),
- "weierp": []byte("&wp;"),
- "wreath": []byte("&wr;"),
- "xvee": []byte("&Vee;"),
- "xwedge": []byte("&#8896;"),
- "yacute": []byte("&#253;"),
- "ycirc": []byte("&#375;"),
- "zacute": []byte("&#378;"),
- "zcaron": []byte("&#382;"),
- "zeetrf": []byte("&Zfr;"),
- "zigrarr": []byte("&#8669;"),
-}
-
-// TextRevEntitiesMap is a map of escapes.
-var TextRevEntitiesMap = map[byte][]byte{
- '<': []byte("&lt;"),
-}