diff options
37 files changed, 1872 insertions, 1694 deletions
| @@ -52,7 +52,7 @@ require (  	github.com/uptrace/bun/dialect/sqlitedialect v1.1.14  	github.com/uptrace/bun/extra/bunotel v1.1.14  	github.com/wagslane/go-password-validator v0.3.0 -	github.com/yuin/goldmark v1.5.5 +	github.com/yuin/goldmark v1.5.6  	go.opentelemetry.io/otel v1.16.0  	go.opentelemetry.io/otel/exporters/jaeger v1.16.0  	go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracegrpc v1.16.0 @@ -635,8 +635,8 @@ github.com/yuin/goldmark v1.1.27/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9de  github.com/yuin/goldmark v1.1.32/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74=  github.com/yuin/goldmark v1.2.1/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74=  github.com/yuin/goldmark v1.4.13/go.mod h1:6yULJ656Px+3vBD8DxQVa3kxgyrAnzto9xy5taEt/CY= -github.com/yuin/goldmark v1.5.5 h1:IJznPe8wOzfIKETmMkd06F8nXkmlhaHqFRM9l1hAGsU= -github.com/yuin/goldmark v1.5.5/go.mod h1:6yULJ656Px+3vBD8DxQVa3kxgyrAnzto9xy5taEt/CY= +github.com/yuin/goldmark v1.5.6 h1:COmQAWTCcGetChm3Ig7G/t8AFAN00t+o8Mt4cf7JpwA= +github.com/yuin/goldmark v1.5.6/go.mod h1:6yULJ656Px+3vBD8DxQVa3kxgyrAnzto9xy5taEt/CY=  github.com/zeebo/assert v1.1.0/go.mod h1:Pq9JiuJQpG8JLJdtkwrJESF0Foym2/D9XMU5ciN/wJ0=  github.com/zeebo/blake3 v0.2.1/go.mod h1:TSQ0KjMH+pht+bRyvVooJ1rBpvvngSGaPISafq9MxJk=  github.com/zeebo/pcg v1.0.1/go.mod h1:09F0S9iiKrwn9rlI5yjLkmrug154/YRW6KnnXVDM/l4= diff --git a/vendor/github.com/yuin/goldmark/.golangci.yml b/vendor/github.com/yuin/goldmark/.golangci.yml new file mode 100644 index 000000000..28d8b9c9a --- /dev/null +++ b/vendor/github.com/yuin/goldmark/.golangci.yml @@ -0,0 +1,105 @@ +run: +  deadline: 10m + +issues: +  exclude-use-default: false +  exclude-rules: +    - path: _test.go +      linters: +        - errcheck +        - lll +  exclude: +  - "Package util" + +linters: +  disable-all: true +  enable: +    - errcheck +    - gosimple +    - govet +    - ineffassign +    - staticcheck +    - typecheck +    - unused +    - gofmt +    - godot +    - makezero +    - misspell +    - revive +    - wastedassign +    - lll + +linters-settings: +  revive: +    severity: "warning" +    confidence: 0.8 +    rules: +      - name: blank-imports +        severity: warning +        disabled: false +      - name: context-as-argument +        severity: warning +        disabled: false +      - name: context-keys-type +        severity: warning +        disabled: false +      - name: dot-imports +        severity: warning +        disabled: false +      - name: error-return +        severity: warning +        disabled: false +      - name: error-strings +        severity: warning +        disabled: false +      - name: error-naming +        severity: warning +        disabled: false +      - name: exported +        severity: warning +        disabled: false +      - name: increment-decrement +        severity: warning +        disabled: false +      - name: var-naming +        severity: warning +        disabled: false +      - name: var-declaration +        severity: warning +        disabled: false +      - name: package-comments +        severity: warning +        disabled: false +      - name: range +        severity: warning +        disabled: false +      - name: receiver-naming +        severity: warning +        disabled: false +      - name: time-naming +        severity: warning +        disabled: false +      - name: unexported-return +        severity: warning +        disabled: false +      - name: indent-error-flow +        severity: warning +        disabled: false +      - name: errorf +        severity: warning +        disabled: false +      - name: empty-block +        severity: warning +        disabled: true +      - name: superfluous-else +        severity: warning +        disabled: false +      - name: unused-parameter +        severity: warning +        disabled: true +      - name: unreachable-code +        severity: warning +        disabled: false +      - name: redefines-builtin-id +        severity: warning +        disabled: false diff --git a/vendor/github.com/yuin/goldmark/Makefile b/vendor/github.com/yuin/goldmark/Makefile index e34fe866a..b0bb05293 100644 --- a/vendor/github.com/yuin/goldmark/Makefile +++ b/vendor/github.com/yuin/goldmark/Makefile @@ -1,4 +1,7 @@ -.PHONY: test fuzz +.PHONY: test fuzz lint + +lint: +	golangci-lint run -c .golangci.yml ./...  test:  	go test -coverprofile=profile.out -coverpkg=github.com/yuin/goldmark,github.com/yuin/goldmark/ast,github.com/yuin/goldmark/extension,github.com/yuin/goldmark/extension/ast,github.com/yuin/goldmark/parser,github.com/yuin/goldmark/renderer,github.com/yuin/goldmark/renderer/html,github.com/yuin/goldmark/text,github.com/yuin/goldmark/util ./... diff --git a/vendor/github.com/yuin/goldmark/ast/ast.go b/vendor/github.com/yuin/goldmark/ast/ast.go index 3719ebbd8..67bb0da56 100644 --- a/vendor/github.com/yuin/goldmark/ast/ast.go +++ b/vendor/github.com/yuin/goldmark/ast/ast.go @@ -39,7 +39,7 @@ func NewNodeKind(name string) NodeKind {  	return kindMax  } -// An Attribute is an attribute of the Node +// An Attribute is an attribute of the Node.  type Attribute struct {  	Name  []byte  	Value interface{} @@ -248,7 +248,7 @@ func (n *BaseNode) RemoveChildren(self Node) {  	n.childCount = 0  } -// SortChildren implements Node.SortChildren +// SortChildren implements Node.SortChildren.  func (n *BaseNode) SortChildren(comparator func(n1, n2 Node) int) {  	var sorted Node  	current := n.firstChild @@ -358,7 +358,7 @@ func (n *BaseNode) InsertBefore(self, v1, insertee Node) {  	}  } -// OwnerDocument implements Node.OwnerDocument +// OwnerDocument implements Node.OwnerDocument.  func (n *BaseNode) OwnerDocument() *Document {  	d := n.Parent()  	for { @@ -399,7 +399,7 @@ func (n *BaseNode) SetAttribute(name []byte, value interface{}) {  	n.attributes = append(n.attributes, Attribute{name, value})  } -// SetAttributeString implements Node.SetAttributeString +// SetAttributeString implements Node.SetAttributeString.  func (n *BaseNode) SetAttributeString(name string, value interface{}) {  	n.SetAttribute(util.StringToReadOnlyBytes(name), value)  } @@ -422,12 +422,12 @@ func (n *BaseNode) AttributeString(s string) (interface{}, bool) {  	return n.Attribute(util.StringToReadOnlyBytes(s))  } -// Attributes implements Node.Attributes +// Attributes implements Node.Attributes.  func (n *BaseNode) Attributes() []Attribute {  	return n.attributes  } -// RemoveAttributes implements Node.RemoveAttributes +// RemoveAttributes implements Node.RemoveAttributes.  func (n *BaseNode) RemoveAttributes() {  	n.attributes = nil  } diff --git a/vendor/github.com/yuin/goldmark/ast/block.go b/vendor/github.com/yuin/goldmark/ast/block.go index 02e9d5190..c5d4738e6 100644 --- a/vendor/github.com/yuin/goldmark/ast/block.go +++ b/vendor/github.com/yuin/goldmark/ast/block.go @@ -14,12 +14,12 @@ type BaseBlock struct {  	lines              *textm.Segments  } -// Type implements Node.Type +// Type implements Node.Type.  func (b *BaseBlock) Type() NodeType {  	return TypeBlock  } -// IsRaw implements Node.IsRaw +// IsRaw implements Node.IsRaw.  func (b *BaseBlock) IsRaw() bool {  	return false  } @@ -34,7 +34,7 @@ func (b *BaseBlock) SetBlankPreviousLines(v bool) {  	b.blankPreviousLines = v  } -// Lines implements Node.Lines +// Lines implements Node.Lines.  func (b *BaseBlock) Lines() *textm.Segments {  	if b.lines == nil {  		b.lines = textm.NewSegments() @@ -42,7 +42,7 @@ func (b *BaseBlock) Lines() *textm.Segments {  	return b.lines  } -// SetLines implements Node.SetLines +// SetLines implements Node.SetLines.  func (b *BaseBlock) SetLines(v *textm.Segments) {  	b.lines = v  } @@ -72,7 +72,7 @@ func (n *Document) Kind() NodeKind {  	return KindDocument  } -// OwnerDocument implements Node.OwnerDocument +// OwnerDocument implements Node.OwnerDocument.  func (n *Document) OwnerDocument() *Document {  	return n  } @@ -431,19 +431,19 @@ func NewListItem(offset int) *ListItem {  type HTMLBlockType int  const ( -	// HTMLBlockType1 represents type 1 html blocks +	// HTMLBlockType1 represents type 1 html blocks.  	HTMLBlockType1 HTMLBlockType = iota + 1 -	// HTMLBlockType2 represents type 2 html blocks +	// HTMLBlockType2 represents type 2 html blocks.  	HTMLBlockType2 -	// HTMLBlockType3 represents type 3 html blocks +	// HTMLBlockType3 represents type 3 html blocks.  	HTMLBlockType3 -	// HTMLBlockType4 represents type 4 html blocks +	// HTMLBlockType4 represents type 4 html blocks.  	HTMLBlockType4 -	// HTMLBlockType5 represents type 5 html blocks +	// HTMLBlockType5 represents type 5 html blocks.  	HTMLBlockType5 -	// HTMLBlockType6 represents type 6 html blocks +	// HTMLBlockType6 represents type 6 html blocks.  	HTMLBlockType6 -	// HTMLBlockType7 represents type 7 html blocks +	// HTMLBlockType7 represents type 7 html blocks.  	HTMLBlockType7  ) diff --git a/vendor/github.com/yuin/goldmark/ast/inline.go b/vendor/github.com/yuin/goldmark/ast/inline.go index 7da098f25..7e4c51f23 100644 --- a/vendor/github.com/yuin/goldmark/ast/inline.go +++ b/vendor/github.com/yuin/goldmark/ast/inline.go @@ -13,12 +13,12 @@ type BaseInline struct {  	BaseNode  } -// Type implements Node.Type +// Type implements Node.Type.  func (b *BaseInline) Type() NodeType {  	return TypeInline  } -// IsRaw implements Node.IsRaw +// IsRaw implements Node.IsRaw.  func (b *BaseInline) IsRaw() bool {  	return false  } @@ -33,12 +33,12 @@ func (b *BaseInline) SetBlankPreviousLines(v bool) {  	panic("can not call with inline nodes.")  } -// Lines implements Node.Lines +// Lines implements Node.Lines.  func (b *BaseInline) Lines() *textm.Segments {  	panic("can not call with inline nodes.")  } -// SetLines implements Node.SetLines +// SetLines implements Node.SetLines.  func (b *BaseInline) SetLines(v *textm.Segments) {  	panic("can not call with inline nodes.")  } @@ -132,7 +132,8 @@ func (n *Text) Merge(node Node, source []byte) bool {  	if !ok {  		return false  	} -	if n.Segment.Stop != t.Segment.Start || t.Segment.Padding != 0 || source[n.Segment.Stop-1] == '\n' || t.IsRaw() != n.IsRaw() { +	if n.Segment.Stop != t.Segment.Start || t.Segment.Padding != 0 || +		source[n.Segment.Stop-1] == '\n' || t.IsRaw() != n.IsRaw() {  		return false  	}  	n.Segment.Stop = t.Segment.Stop @@ -214,7 +215,7 @@ func MergeOrReplaceTextSegment(parent Node, n Node, s textm.Segment) {  	}  } -// A String struct is a textual content that has a concrete value +// A String struct is a textual content that has a concrete value.  type String struct {  	BaseInline @@ -305,7 +306,7 @@ func (n *CodeSpan) IsBlank(source []byte) bool {  	return true  } -// Dump implements Node.Dump +// Dump implements Node.Dump.  func (n *CodeSpan) Dump(source []byte, level int) {  	DumpHelper(n, source, level, nil, nil)  } @@ -467,7 +468,7 @@ type AutoLink struct {  // Inline implements Inline.Inline.  func (n *AutoLink) Inline() {} -// Dump implements Node.Dump +// Dump implements Node.Dump.  func (n *AutoLink) Dump(source []byte, level int) {  	segment := n.value.Segment  	m := map[string]string{ diff --git a/vendor/github.com/yuin/goldmark/extension/ast/footnote.go b/vendor/github.com/yuin/goldmark/extension/ast/footnote.go index 97fea4403..b24eafe67 100644 --- a/vendor/github.com/yuin/goldmark/extension/ast/footnote.go +++ b/vendor/github.com/yuin/goldmark/extension/ast/footnote.go @@ -88,7 +88,7 @@ type Footnote struct {  func (n *Footnote) Dump(source []byte, level int) {  	m := map[string]string{}  	m["Index"] = fmt.Sprintf("%v", n.Index) -	m["Ref"] = fmt.Sprintf("%s", n.Ref) +	m["Ref"] = string(n.Ref)  	gast.DumpHelper(n, source, level, m, nil)  } diff --git a/vendor/github.com/yuin/goldmark/extension/ast/table.go b/vendor/github.com/yuin/goldmark/extension/ast/table.go index e9eff3ceb..4142e33c7 100644 --- a/vendor/github.com/yuin/goldmark/extension/ast/table.go +++ b/vendor/github.com/yuin/goldmark/extension/ast/table.go @@ -2,8 +2,9 @@ package ast  import (  	"fmt" -	gast "github.com/yuin/goldmark/ast"  	"strings" + +	gast "github.com/yuin/goldmark/ast"  )  // Alignment is a text alignment of table cells. @@ -45,7 +46,7 @@ type Table struct {  	Alignments []Alignment  } -// Dump implements Node.Dump +// Dump implements Node.Dump.  func (n *Table) Dump(source []byte, level int) {  	gast.DumpHelper(n, source, level, nil, func(level int) {  		indent := strings.Repeat("    ", level) diff --git a/vendor/github.com/yuin/goldmark/extension/cjk.go b/vendor/github.com/yuin/goldmark/extension/cjk.go index cb6f9553d..14bcde1e1 100644 --- a/vendor/github.com/yuin/goldmark/extension/cjk.go +++ b/vendor/github.com/yuin/goldmark/extension/cjk.go @@ -29,6 +29,7 @@ type cjk struct {  	EscapedSpace        bool  } +// CJK is a goldmark extension that provides functionalities for CJK languages.  var CJK = NewCJK(WithEastAsianLineBreaks(), WithEscapedSpace())  // NewCJK returns a new extension with given options. diff --git a/vendor/github.com/yuin/goldmark/extension/definition_list.go b/vendor/github.com/yuin/goldmark/extension/definition_list.go index d2f5fecbe..3e64dcf7f 100644 --- a/vendor/github.com/yuin/goldmark/extension/definition_list.go +++ b/vendor/github.com/yuin/goldmark/extension/definition_list.go @@ -113,7 +113,8 @@ func (b *definitionDescriptionParser) Trigger() []byte {  	return []byte{':'}  } -func (b *definitionDescriptionParser) Open(parent gast.Node, reader text.Reader, pc parser.Context) (gast.Node, parser.State) { +func (b *definitionDescriptionParser) Open( +	parent gast.Node, reader text.Reader, pc parser.Context) (gast.Node, parser.State) {  	line, _ := reader.PeekLine()  	pos := pc.BlockOffset()  	indent := pc.BlockIndent() @@ -199,7 +200,8 @@ func (r *DefinitionListHTMLRenderer) RegisterFuncs(reg renderer.NodeRendererFunc  // DefinitionListAttributeFilter defines attribute names which dl elements can have.  var DefinitionListAttributeFilter = html.GlobalAttributeFilter -func (r *DefinitionListHTMLRenderer) renderDefinitionList(w util.BufWriter, source []byte, n gast.Node, entering bool) (gast.WalkStatus, error) { +func (r *DefinitionListHTMLRenderer) renderDefinitionList( +	w util.BufWriter, source []byte, n gast.Node, entering bool) (gast.WalkStatus, error) {  	if entering {  		if n.Attributes() != nil {  			_, _ = w.WriteString("<dl") @@ -217,7 +219,8 @@ func (r *DefinitionListHTMLRenderer) renderDefinitionList(w util.BufWriter, sour  // DefinitionTermAttributeFilter defines attribute names which dd elements can have.  var DefinitionTermAttributeFilter = html.GlobalAttributeFilter -func (r *DefinitionListHTMLRenderer) renderDefinitionTerm(w util.BufWriter, source []byte, n gast.Node, entering bool) (gast.WalkStatus, error) { +func (r *DefinitionListHTMLRenderer) renderDefinitionTerm( +	w util.BufWriter, source []byte, n gast.Node, entering bool) (gast.WalkStatus, error) {  	if entering {  		if n.Attributes() != nil {  			_, _ = w.WriteString("<dt") @@ -235,7 +238,8 @@ func (r *DefinitionListHTMLRenderer) renderDefinitionTerm(w util.BufWriter, sour  // DefinitionDescriptionAttributeFilter defines attribute names which dd elements can have.  var DefinitionDescriptionAttributeFilter = html.GlobalAttributeFilter -func (r *DefinitionListHTMLRenderer) renderDefinitionDescription(w util.BufWriter, source []byte, node gast.Node, entering bool) (gast.WalkStatus, error) { +func (r *DefinitionListHTMLRenderer) renderDefinitionDescription( +	w util.BufWriter, source []byte, node gast.Node, entering bool) (gast.WalkStatus, error) {  	if entering {  		n := node.(*ast.DefinitionDescription)  		_, _ = w.WriteString("<dd") diff --git a/vendor/github.com/yuin/goldmark/extension/footnote.go b/vendor/github.com/yuin/goldmark/extension/footnote.go index 09b6fa8b0..d1b67aa77 100644 --- a/vendor/github.com/yuin/goldmark/extension/footnote.go +++ b/vendor/github.com/yuin/goldmark/extension/footnote.go @@ -44,8 +44,8 @@ func (b *footnoteBlockParser) Open(parent gast.Node, reader text.Reader, pc pars  		return nil, parser.NoChildren  	}  	open := pos + 1 -	closes := 0 -	closure := util.FindClosure(line[pos+1:], '[', ']', false, false) +	var closes int +	closure := util.FindClosure(line[pos+1:], '[', ']', false, false) //nolint:staticcheck  	closes = pos + 1 + closure  	next := closes + 1  	if closure > -1 { @@ -136,7 +136,7 @@ func (s *footnoteParser) Parse(parent gast.Node, block text.Reader, pc parser.Co  		return nil  	}  	open := pos -	closure := util.FindClosure(line[pos:], '[', ']', false, false) +	closure := util.FindClosure(line[pos:], '[', ']', false, false) //nolint:staticcheck  	if closure < 0 {  		return nil  	} @@ -156,7 +156,7 @@ func (s *footnoteParser) Parse(parent gast.Node, block text.Reader, pc parser.Co  		d := def.(*ast.Footnote)  		if bytes.Equal(d.Ref, value) {  			if d.Index < 0 { -				list.Count += 1 +				list.Count++  				d.Index = list.Count  			}  			index = d.Index @@ -272,9 +272,9 @@ func (a *footnoteASTTransformer) Transform(node *gast.Document, reader text.Read  // FootnoteConfig holds configuration values for the footnote extension.  //  // Link* and Backlink* configurations have some variables: -// Occurrances of “^^” in the string will be replaced by the +// Occurrences of “^^” in the string will be replaced by the  // corresponding footnote number in the HTML output. -// Occurrances of “%%” will be replaced by a number for the +// Occurrences of “%%” will be replaced by a number for the  // reference (footnotes can have multiple references).  type FootnoteConfig struct {  	html.Config @@ -525,7 +525,8 @@ func (r *FootnoteHTMLRenderer) RegisterFuncs(reg renderer.NodeRendererFuncRegist  	reg.Register(ast.KindFootnoteList, r.renderFootnoteList)  } -func (r *FootnoteHTMLRenderer) renderFootnoteLink(w util.BufWriter, source []byte, node gast.Node, entering bool) (gast.WalkStatus, error) { +func (r *FootnoteHTMLRenderer) renderFootnoteLink( +	w util.BufWriter, source []byte, node gast.Node, entering bool) (gast.WalkStatus, error) {  	if entering {  		n := node.(*ast.FootnoteLink)  		is := strconv.Itoa(n.Index) @@ -556,7 +557,8 @@ func (r *FootnoteHTMLRenderer) renderFootnoteLink(w util.BufWriter, source []byt  	return gast.WalkContinue, nil  } -func (r *FootnoteHTMLRenderer) renderFootnoteBacklink(w util.BufWriter, source []byte, node gast.Node, entering bool) (gast.WalkStatus, error) { +func (r *FootnoteHTMLRenderer) renderFootnoteBacklink( +	w util.BufWriter, source []byte, node gast.Node, entering bool) (gast.WalkStatus, error) {  	if entering {  		n := node.(*ast.FootnoteBacklink)  		is := strconv.Itoa(n.Index) @@ -581,7 +583,8 @@ func (r *FootnoteHTMLRenderer) renderFootnoteBacklink(w util.BufWriter, source [  	return gast.WalkContinue, nil  } -func (r *FootnoteHTMLRenderer) renderFootnote(w util.BufWriter, source []byte, node gast.Node, entering bool) (gast.WalkStatus, error) { +func (r *FootnoteHTMLRenderer) renderFootnote( +	w util.BufWriter, source []byte, node gast.Node, entering bool) (gast.WalkStatus, error) {  	n := node.(*ast.Footnote)  	is := strconv.Itoa(n.Index)  	if entering { @@ -600,7 +603,8 @@ func (r *FootnoteHTMLRenderer) renderFootnote(w util.BufWriter, source []byte, n  	return gast.WalkContinue, nil  } -func (r *FootnoteHTMLRenderer) renderFootnoteList(w util.BufWriter, source []byte, node gast.Node, entering bool) (gast.WalkStatus, error) { +func (r *FootnoteHTMLRenderer) renderFootnoteList( +	w util.BufWriter, source []byte, node gast.Node, entering bool) (gast.WalkStatus, error) {  	if entering {  		_, _ = w.WriteString(`<div class="footnotes" role="doc-endnotes"`)  		if node.Attributes() != nil { diff --git a/vendor/github.com/yuin/goldmark/extension/linkify.go b/vendor/github.com/yuin/goldmark/extension/linkify.go index 2f046eb54..0f23e907d 100644 --- a/vendor/github.com/yuin/goldmark/extension/linkify.go +++ b/vendor/github.com/yuin/goldmark/extension/linkify.go @@ -11,9 +11,9 @@ import (  	"github.com/yuin/goldmark/util"  ) -var wwwURLRegxp = regexp.MustCompile(`^www\.[-a-zA-Z0-9@:%._\+~#=]{1,256}\.[a-z]+(?:[/#?][-a-zA-Z0-9@:%_\+.~#!?&/=\(\);,'">\^{}\[\]` + "`" + `]*)?`) +var wwwURLRegxp = regexp.MustCompile(`^www\.[-a-zA-Z0-9@:%._\+~#=]{1,256}\.[a-z]+(?:[/#?][-a-zA-Z0-9@:%_\+.~#!?&/=\(\);,'">\^{}\[\]` + "`" + `]*)?`) //nolint:golint,lll -var urlRegexp = regexp.MustCompile(`^(?:http|https|ftp)://[-a-zA-Z0-9@:%._\+~#=]{1,256}\.[a-z]+(?::\d+)?(?:[/#?][-a-zA-Z0-9@:%_+.~#$!?&/=\(\);,'">\^{}\[\]` + "`" + `]*)?`) +var urlRegexp = regexp.MustCompile(`^(?:http|https|ftp)://[-a-zA-Z0-9@:%._\+~#=]{1,256}\.[a-z]+(?::\d+)?(?:[/#?][-a-zA-Z0-9@:%_+.~#$!?&/=\(\);,'">\^{}\[\]` + "`" + `]*)?`) //nolint:golint,lll  // An LinkifyConfig struct is a data structure that holds configuration of the  // Linkify extension. @@ -92,9 +92,6 @@ func WithLinkifyURLRegexp(value *regexp.Regexp) LinkifyOption {  	}  } -// WithLinkifyWWWRegexp is a functional option that specify -// a pattern of the URL without a protocol. -// This pattern must start with 'www.' .  type withLinkifyWWWRegexp struct {  	value *regexp.Regexp  } @@ -107,14 +104,15 @@ func (o *withLinkifyWWWRegexp) SetLinkifyOption(p *LinkifyConfig) {  	p.WWWRegexp = o.value  } +// WithLinkifyWWWRegexp is a functional option that specify +// a pattern of the URL without a protocol. +// This pattern must start with 'www.' .  func WithLinkifyWWWRegexp(value *regexp.Regexp) LinkifyOption {  	return &withLinkifyWWWRegexp{  		value: value,  	}  } -// WithLinkifyWWWRegexp is a functional otpion that specify -// a pattern of the email address.  type withLinkifyEmailRegexp struct {  	value *regexp.Regexp  } @@ -127,6 +125,8 @@ func (o *withLinkifyEmailRegexp) SetLinkifyOption(p *LinkifyConfig) {  	p.EmailRegexp = o.value  } +// WithLinkifyEmailRegexp is a functional otpion that specify +// a pattern of the email address.  func WithLinkifyEmailRegexp(value *regexp.Regexp) LinkifyOption {  	return &withLinkifyEmailRegexp{  		value: value, @@ -303,6 +303,8 @@ type linkify struct {  // Linkify is an extension that allow you to parse text that seems like a URL.  var Linkify = &linkify{} +// NewLinkify creates a new [goldmark.Extender] that +// allow you to parse text that seems like a URL.  func NewLinkify(opts ...LinkifyOption) goldmark.Extender {  	return &linkify{  		options: opts, diff --git a/vendor/github.com/yuin/goldmark/extension/package.go b/vendor/github.com/yuin/goldmark/extension/package.go new file mode 100644 index 000000000..2ec1d1eb2 --- /dev/null +++ b/vendor/github.com/yuin/goldmark/extension/package.go @@ -0,0 +1,2 @@ +// Package extension is a collection of builtin extensions. +package extension diff --git a/vendor/github.com/yuin/goldmark/extension/strikethrough.go b/vendor/github.com/yuin/goldmark/extension/strikethrough.go index 1b629ad8f..7d1356938 100644 --- a/vendor/github.com/yuin/goldmark/extension/strikethrough.go +++ b/vendor/github.com/yuin/goldmark/extension/strikethrough.go @@ -85,7 +85,8 @@ func (r *StrikethroughHTMLRenderer) RegisterFuncs(reg renderer.NodeRendererFuncR  // StrikethroughAttributeFilter defines attribute names which dd elements can have.  var StrikethroughAttributeFilter = html.GlobalAttributeFilter -func (r *StrikethroughHTMLRenderer) renderStrikethrough(w util.BufWriter, source []byte, n gast.Node, entering bool) (gast.WalkStatus, error) { +func (r *StrikethroughHTMLRenderer) renderStrikethrough( +	w util.BufWriter, source []byte, n gast.Node, entering bool) (gast.WalkStatus, error) {  	if entering {  		if n.Attributes() != nil {  			_, _ = w.WriteString("<del") diff --git a/vendor/github.com/yuin/goldmark/extension/table.go b/vendor/github.com/yuin/goldmark/extension/table.go index 48d0d6827..2fe7a5101 100644 --- a/vendor/github.com/yuin/goldmark/extension/table.go +++ b/vendor/github.com/yuin/goldmark/extension/table.go @@ -23,7 +23,7 @@ type escapedPipeCell struct {  	Transformed bool  } -// TableCellAlignMethod indicates how are table cells aligned in HTML format.indicates how are table cells aligned in HTML format. +// TableCellAlignMethod indicates how are table cells aligned in HTML format.  type TableCellAlignMethod int  const ( @@ -181,7 +181,8 @@ func (b *tableParagraphTransformer) Transform(node *gast.Paragraph, reader text.  	}  } -func (b *tableParagraphTransformer) parseRow(segment text.Segment, alignments []ast.Alignment, isHeader bool, reader text.Reader, pc parser.Context) *ast.TableRow { +func (b *tableParagraphTransformer) parseRow(segment text.Segment, +	alignments []ast.Alignment, isHeader bool, reader text.Reader, pc parser.Context) *ast.TableRow {  	source := reader.Source()  	line := segment.Value(source)  	pos := 0 @@ -369,7 +370,8 @@ var TableAttributeFilter = html.GlobalAttributeFilter.Extend(  	[]byte("width"),       // [Deprecated]  ) -func (r *TableHTMLRenderer) renderTable(w util.BufWriter, source []byte, n gast.Node, entering bool) (gast.WalkStatus, error) { +func (r *TableHTMLRenderer) renderTable( +	w util.BufWriter, source []byte, n gast.Node, entering bool) (gast.WalkStatus, error) {  	if entering {  		_, _ = w.WriteString("<table")  		if n.Attributes() != nil { @@ -391,7 +393,8 @@ var TableHeaderAttributeFilter = html.GlobalAttributeFilter.Extend(  	[]byte("valign"),  // [Deprecated since HTML4] [Obsolete since HTML5]  ) -func (r *TableHTMLRenderer) renderTableHeader(w util.BufWriter, source []byte, n gast.Node, entering bool) (gast.WalkStatus, error) { +func (r *TableHTMLRenderer) renderTableHeader( +	w util.BufWriter, source []byte, n gast.Node, entering bool) (gast.WalkStatus, error) {  	if entering {  		_, _ = w.WriteString("<thead")  		if n.Attributes() != nil { @@ -418,7 +421,8 @@ var TableRowAttributeFilter = html.GlobalAttributeFilter.Extend(  	[]byte("valign"),  // [Obsolete since HTML5]  ) -func (r *TableHTMLRenderer) renderTableRow(w util.BufWriter, source []byte, n gast.Node, entering bool) (gast.WalkStatus, error) { +func (r *TableHTMLRenderer) renderTableRow( +	w util.BufWriter, source []byte, n gast.Node, entering bool) (gast.WalkStatus, error) {  	if entering {  		_, _ = w.WriteString("<tr")  		if n.Attributes() != nil { @@ -445,12 +449,14 @@ var TableThCellAttributeFilter = html.GlobalAttributeFilter.Extend(  	[]byte("charoff"), // [Obsolete since HTML5]  	[]byte("colspan"), // [OK] Number of columns that the cell is to span -	[]byte("headers"), // [OK] This attribute contains a list of space-separated strings, each corresponding to the id attribute of the <th> elements that apply to this element +	[]byte("headers"), // [OK] This attribute contains a list of space-separated +	// strings, each corresponding to the id attribute of the <th> elements that apply to this element  	[]byte("height"), // [Deprecated since HTML4] [Obsolete since HTML5]  	[]byte("rowspan"), // [OK] Number of rows that the cell is to span -	[]byte("scope"),   // [OK] This enumerated attribute defines the cells that the header (defined in the <th>) element relates to [NOT OK in <td>] +	[]byte("scope"),   // [OK] This enumerated attribute defines the cells that +	// the header (defined in the <th>) element relates to [NOT OK in <td>]  	[]byte("valign"), // [Obsolete since HTML5]  	[]byte("width"),  // [Deprecated since HTML4] [Obsolete since HTML5] @@ -466,7 +472,8 @@ var TableTdCellAttributeFilter = html.GlobalAttributeFilter.Extend(  	[]byte("charoff"), // [Obsolete since HTML5]  	[]byte("colspan"), // [OK] Number of columns that the cell is to span -	[]byte("headers"), // [OK] This attribute contains a list of space-separated strings, each corresponding to the id attribute of the <th> elements that apply to this element +	[]byte("headers"), // [OK] This attribute contains a list of space-separated +	// strings, each corresponding to the id attribute of the <th> elements that apply to this element  	[]byte("height"), // [Deprecated since HTML4] [Obsolete since HTML5] @@ -477,7 +484,8 @@ var TableTdCellAttributeFilter = html.GlobalAttributeFilter.Extend(  	[]byte("width"),  // [Deprecated since HTML4] [Obsolete since HTML5]  ) -func (r *TableHTMLRenderer) renderTableCell(w util.BufWriter, source []byte, node gast.Node, entering bool) (gast.WalkStatus, error) { +func (r *TableHTMLRenderer) renderTableCell( +	w util.BufWriter, source []byte, node gast.Node, entering bool) (gast.WalkStatus, error) {  	n := node.(*ast.TableCell)  	tag := "td"  	if n.Parent().Kind() == ast.KindTableHeader { diff --git a/vendor/github.com/yuin/goldmark/extension/tasklist.go b/vendor/github.com/yuin/goldmark/extension/tasklist.go index 1f3e52c20..dc86c374f 100644 --- a/vendor/github.com/yuin/goldmark/extension/tasklist.go +++ b/vendor/github.com/yuin/goldmark/extension/tasklist.go @@ -1,6 +1,8 @@  package extension  import ( +	"regexp" +  	"github.com/yuin/goldmark"  	gast "github.com/yuin/goldmark/ast"  	"github.com/yuin/goldmark/extension/ast" @@ -9,7 +11,6 @@ import (  	"github.com/yuin/goldmark/renderer/html"  	"github.com/yuin/goldmark/text"  	"github.com/yuin/goldmark/util" -	"regexp"  )  var taskListRegexp = regexp.MustCompile(`^\[([\sxX])\]\s*`) @@ -80,21 +81,22 @@ func (r *TaskCheckBoxHTMLRenderer) RegisterFuncs(reg renderer.NodeRendererFuncRe  	reg.Register(ast.KindTaskCheckBox, r.renderTaskCheckBox)  } -func (r *TaskCheckBoxHTMLRenderer) renderTaskCheckBox(w util.BufWriter, source []byte, node gast.Node, entering bool) (gast.WalkStatus, error) { +func (r *TaskCheckBoxHTMLRenderer) renderTaskCheckBox( +	w util.BufWriter, source []byte, node gast.Node, entering bool) (gast.WalkStatus, error) {  	if !entering {  		return gast.WalkContinue, nil  	}  	n := node.(*ast.TaskCheckBox)  	if n.IsChecked { -		w.WriteString(`<input checked="" disabled="" type="checkbox"`) +		_, _ = w.WriteString(`<input checked="" disabled="" type="checkbox"`)  	} else { -		w.WriteString(`<input disabled="" type="checkbox"`) +		_, _ = w.WriteString(`<input disabled="" type="checkbox"`)  	}  	if r.XHTML { -		w.WriteString(" /> ") +		_, _ = w.WriteString(" /> ")  	} else { -		w.WriteString("> ") +		_, _ = w.WriteString("> ")  	}  	return gast.WalkContinue, nil  } diff --git a/vendor/github.com/yuin/goldmark/extension/typographer.go b/vendor/github.com/yuin/goldmark/extension/typographer.go index f56c06f74..259c4f72f 100644 --- a/vendor/github.com/yuin/goldmark/extension/typographer.go +++ b/vendor/github.com/yuin/goldmark/extension/typographer.go @@ -36,25 +36,25 @@ func getUnclosedCounter(pc parser.Context) *unclosedCounter {  type TypographicPunctuation int  const ( -	// LeftSingleQuote is ' +	// LeftSingleQuote is ' .  	LeftSingleQuote TypographicPunctuation = iota + 1 -	// RightSingleQuote is ' +	// RightSingleQuote is ' .  	RightSingleQuote -	// LeftDoubleQuote is " +	// LeftDoubleQuote is " .  	LeftDoubleQuote -	// RightDoubleQuote is " +	// RightDoubleQuote is " .  	RightDoubleQuote -	// EnDash is -- +	// EnDash is -- .  	EnDash -	// EmDash is --- +	// EmDash is --- .  	EmDash -	// Ellipsis is ... +	// Ellipsis is ... .  	Ellipsis -	// LeftAngleQuote is << +	// LeftAngleQuote is << .  	LeftAngleQuote -	// RightAngleQuote is >> +	// RightAngleQuote is >> .  	RightAngleQuote -	// Apostrophe is ' +	// Apostrophe is ' .  	Apostrophe  	typographicPunctuationMax @@ -218,7 +218,8 @@ func (s *typographerParser) Parse(parent gast.Node, block text.Reader, pc parser  		if c == '\'' {  			if s.Substitutions[Apostrophe] != nil {  				// Handle decade abbrevations such as '90s -				if d.CanOpen && !d.CanClose && len(line) > 3 && util.IsNumeric(line[1]) && util.IsNumeric(line[2]) && line[3] == 's' { +				if d.CanOpen && !d.CanClose && len(line) > 3 && +					util.IsNumeric(line[1]) && util.IsNumeric(line[2]) && line[3] == 's' {  					after := rune(' ')  					if len(line) > 4 {  						after = util.ToRune(line, 4) @@ -231,7 +232,8 @@ func (s *typographerParser) Parse(parent gast.Node, block text.Reader, pc parser  					}  				}  				// special cases: 'twas, 'em, 'net -				if len(line) > 1 && (unicode.IsPunct(before) || unicode.IsSpace(before)) && (line[1] == 't' || line[1] == 'e' || line[1] == 'n' || line[1] == 'l') { +				if len(line) > 1 && (unicode.IsPunct(before) || unicode.IsSpace(before)) && +					(line[1] == 't' || line[1] == 'e' || line[1] == 'n' || line[1] == 'l') {  					node := gast.NewString(s.Substitutions[Apostrophe])  					node.SetCode(true)  					block.Advance(1) @@ -239,7 +241,8 @@ func (s *typographerParser) Parse(parent gast.Node, block text.Reader, pc parser  				}  				// Convert normal apostrophes. This is probably more flexible than necessary but  				// converts any apostrophe in between two alphanumerics. -				if len(line) > 1 && (unicode.IsDigit(before) || unicode.IsLetter(before)) && (unicode.IsLetter(util.ToRune(line, 1))) { +				if len(line) > 1 && (unicode.IsDigit(before) || unicode.IsLetter(before)) && +					(unicode.IsLetter(util.ToRune(line, 1))) {  					node := gast.NewString(s.Substitutions[Apostrophe])  					node.SetCode(true)  					block.Advance(1) @@ -249,11 +252,14 @@ func (s *typographerParser) Parse(parent gast.Node, block text.Reader, pc parser  			if s.Substitutions[LeftSingleQuote] != nil && d.CanOpen && !d.CanClose {  				nt := LeftSingleQuote  				// special cases: Alice's, I'm, Don't, You'd -				if len(line) > 1 && (line[1] == 's' || line[1] == 'm' || line[1] == 't' || line[1] == 'd') && (len(line) < 3 || util.IsPunct(line[2]) || util.IsSpace(line[2])) { +				if len(line) > 1 && (line[1] == 's' || line[1] == 'm' || line[1] == 't' || line[1] == 'd') && +					(len(line) < 3 || util.IsPunct(line[2]) || util.IsSpace(line[2])) {  					nt = RightSingleQuote  				}  				// special cases: I've, I'll, You're -				if len(line) > 2 && ((line[1] == 'v' && line[2] == 'e') || (line[1] == 'l' && line[2] == 'l') || (line[1] == 'r' && line[2] == 'e')) && (len(line) < 4 || util.IsPunct(line[3]) || util.IsSpace(line[3])) { +				if len(line) > 2 && ((line[1] == 'v' && line[2] == 'e') || +					(line[1] == 'l' && line[2] == 'l') || (line[1] == 'r' && line[2] == 'e')) && +					(len(line) < 4 || util.IsPunct(line[3]) || util.IsSpace(line[3])) {  					nt = RightSingleQuote  				}  				if nt == LeftSingleQuote { @@ -266,8 +272,9 @@ func (s *typographerParser) Parse(parent gast.Node, block text.Reader, pc parser  				return node  			}  			if s.Substitutions[RightSingleQuote] != nil { -				// plural possesives and abbreviations: Smiths', doin' -				if len(line) > 1 && unicode.IsSpace(util.ToRune(line, 0)) || unicode.IsPunct(util.ToRune(line, 0)) && (len(line) > 2 && !unicode.IsDigit(util.ToRune(line, 1))) { +				// plural possesive and abbreviations: Smiths', doin' +				if len(line) > 1 && unicode.IsSpace(util.ToRune(line, 0)) || unicode.IsPunct(util.ToRune(line, 0)) && +					(len(line) > 2 && !unicode.IsDigit(util.ToRune(line, 1))) {  					node := gast.NewString(s.Substitutions[RightSingleQuote])  					node.SetCode(true)  					block.Advance(1) @@ -276,7 +283,8 @@ func (s *typographerParser) Parse(parent gast.Node, block text.Reader, pc parser  			}  			if s.Substitutions[RightSingleQuote] != nil && counter.Single > 0 {  				isClose := d.CanClose && !d.CanOpen -				maybeClose := d.CanClose && d.CanOpen && len(line) > 1 && unicode.IsPunct(util.ToRune(line, 1)) && (len(line) == 2 || (len(line) > 2 && util.IsPunct(line[2]) || util.IsSpace(line[2]))) +				maybeClose := d.CanClose && d.CanOpen && len(line) > 1 && unicode.IsPunct(util.ToRune(line, 1)) && +					(len(line) == 2 || (len(line) > 2 && util.IsPunct(line[2]) || util.IsSpace(line[2])))  				if isClose || maybeClose {  					node := gast.NewString(s.Substitutions[RightSingleQuote])  					node.SetCode(true) @@ -296,7 +304,8 @@ func (s *typographerParser) Parse(parent gast.Node, block text.Reader, pc parser  			}  			if s.Substitutions[RightDoubleQuote] != nil && counter.Double > 0 {  				isClose := d.CanClose && !d.CanOpen -				maybeClose := d.CanClose && d.CanOpen && len(line) > 1 && (unicode.IsPunct(util.ToRune(line, 1))) && (len(line) == 2 || (len(line) > 2 && util.IsPunct(line[2]) || util.IsSpace(line[2]))) +				maybeClose := d.CanClose && d.CanOpen && len(line) > 1 && (unicode.IsPunct(util.ToRune(line, 1))) && +					(len(line) == 2 || (len(line) > 2 && util.IsPunct(line[2]) || util.IsSpace(line[2])))  				if isClose || maybeClose {  					// special case: "Monitor 21""  					if len(line) > 1 && line[1] == '"' && unicode.IsDigit(before) { diff --git a/vendor/github.com/yuin/goldmark/parser/attribute.go b/vendor/github.com/yuin/goldmark/parser/attribute.go index f86c83610..42985f4f7 100644 --- a/vendor/github.com/yuin/goldmark/parser/attribute.go +++ b/vendor/github.com/yuin/goldmark/parser/attribute.go @@ -12,7 +12,7 @@ import (  var attrNameID = []byte("id")  var attrNameClass = []byte("class") -// An Attribute is an attribute of the markdown elements +// An Attribute is an attribute of the markdown elements.  type Attribute struct {  	Name  []byte  	Value interface{} @@ -93,7 +93,8 @@ func parseAttribute(reader text.Reader) (Attribute, bool) {  		// CommonMark is basically defined for XHTML(even though it is legacy).  		// So we restrict id characters.  		for ; i < len(line) && !util.IsSpace(line[i]) && -			(!util.IsPunct(line[i]) || line[i] == '_' || line[i] == '-' || line[i] == ':' || line[i] == '.'); i++ { +			(!util.IsPunct(line[i]) || line[i] == '_' || +				line[i] == '-' || line[i] == ':' || line[i] == '.'); i++ {  		}  		name := attrNameClass  		if c == '#' { @@ -145,7 +146,7 @@ func parseAttributeValue(reader text.Reader) (interface{}, bool) {  	reader.SkipSpaces()  	c := reader.Peek()  	var value interface{} -	ok := false +	var ok bool  	switch c {  	case text.EOF:  		return Attribute{}, false @@ -244,7 +245,7 @@ func scanAttributeDecimal(reader text.Reader, w io.ByteWriter) {  	for {  		c := reader.Peek()  		if util.IsNumeric(c) { -			w.WriteByte(c) +			_ = w.WriteByte(c)  		} else {  			return  		} @@ -286,7 +287,7 @@ func parseAttributeNumber(reader text.Reader) (float64, bool) {  		}  		scanAttributeDecimal(reader, &buf)  	} -	f, err := strconv.ParseFloat(buf.String(), 10) +	f, err := strconv.ParseFloat(buf.String(), 64)  	if err != nil {  		return 0, false  	} diff --git a/vendor/github.com/yuin/goldmark/parser/atx_heading.go b/vendor/github.com/yuin/goldmark/parser/atx_heading.go index 13a198b52..dae5e84af 100644 --- a/vendor/github.com/yuin/goldmark/parser/atx_heading.go +++ b/vendor/github.com/yuin/goldmark/parser/atx_heading.go @@ -13,7 +13,7 @@ type HeadingConfig struct {  }  // SetOption implements SetOptioner. -func (b *HeadingConfig) SetOption(name OptionName, value interface{}) { +func (b *HeadingConfig) SetOption(name OptionName, _ interface{}) {  	switch name {  	case optAutoHeadingID:  		b.AutoHeadingID = true @@ -135,7 +135,9 @@ func (b *atxHeadingParser) Open(parent ast.Node, reader text.Reader, pc Context)  				for _, attr := range attrs {  					node.SetAttribute(attr.Name, attr.Value)  				} -				node.Lines().Append(text.NewSegment(segment.Start+start+1-segment.Padding, segment.Start+closureOpen-segment.Padding)) +				node.Lines().Append(text.NewSegment( +					segment.Start+start+1-segment.Padding, +					segment.Start+closureOpen-segment.Padding))  			}  		}  	} diff --git a/vendor/github.com/yuin/goldmark/parser/delimiter.go b/vendor/github.com/yuin/goldmark/parser/delimiter.go index eb843af44..d097e3fb3 100644 --- a/vendor/github.com/yuin/goldmark/parser/delimiter.go +++ b/vendor/github.com/yuin/goldmark/parser/delimiter.go @@ -66,12 +66,12 @@ func (d *Delimiter) Dump(source []byte, level int) {  var kindDelimiter = ast.NewNodeKind("Delimiter") -// Kind implements Node.Kind +// Kind implements Node.Kind.  func (d *Delimiter) Kind() ast.NodeKind {  	return kindDelimiter  } -// Text implements Node.Text +// Text implements Node.Text.  func (d *Delimiter) Text(source []byte) []byte {  	return d.Segment.Value(source)  } @@ -126,7 +126,7 @@ func ScanDelimiter(line []byte, before rune, min int, processor DelimiterProcess  			after = util.ToRune(line, j)  		} -		canOpen, canClose := false, false +		var canOpen, canClose bool  		beforeIsPunctuation := util.IsPunctRune(before)  		beforeIsWhitespace := util.IsSpaceRune(before)  		afterIsPunctuation := util.IsPunctRune(after) diff --git a/vendor/github.com/yuin/goldmark/parser/html_block.go b/vendor/github.com/yuin/goldmark/parser/html_block.go index 6881e25a9..bf0258b5d 100644 --- a/vendor/github.com/yuin/goldmark/parser/html_block.go +++ b/vendor/github.com/yuin/goldmark/parser/html_block.go @@ -76,7 +76,7 @@ var allowedBlockTags = map[string]bool{  	"ul":         true,  } -var htmlBlockType1OpenRegexp = regexp.MustCompile(`(?i)^[ ]{0,3}<(script|pre|style|textarea)(?:\s.*|>.*|/>.*|)(?:\r\n|\n)?$`) +var htmlBlockType1OpenRegexp = regexp.MustCompile(`(?i)^[ ]{0,3}<(script|pre|style|textarea)(?:\s.*|>.*|/>.*|)(?:\r\n|\n)?$`) //nolint:golint,lll  var htmlBlockType1CloseRegexp = regexp.MustCompile(`(?i)^.*</(?:script|pre|style|textarea)>.*`)  var htmlBlockType2OpenRegexp = regexp.MustCompile(`^[ ]{0,3}<!\-\-`) @@ -91,9 +91,9 @@ var htmlBlockType4Close = []byte{'>'}  var htmlBlockType5OpenRegexp = regexp.MustCompile(`^[ ]{0,3}<\!\[CDATA\[`)  var htmlBlockType5Close = []byte{']', ']', '>'} -var htmlBlockType6Regexp = regexp.MustCompile(`^[ ]{0,3}<(?:/[ ]*)?([a-zA-Z]+[a-zA-Z0-9\-]*)(?:[ ].*|>.*|/>.*|)(?:\r\n|\n)?$`) +var htmlBlockType6Regexp = regexp.MustCompile(`^[ ]{0,3}<(?:/[ ]*)?([a-zA-Z]+[a-zA-Z0-9\-]*)(?:[ ].*|>.*|/>.*|)(?:\r\n|\n)?$`) //nolint:golint,lll -var htmlBlockType7Regexp = regexp.MustCompile(`^[ ]{0,3}<(/[ ]*)?([a-zA-Z]+[a-zA-Z0-9\-]*)(` + attributePattern + `*)[ ]*(?:>|/>)[ ]*(?:\r\n|\n)?$`) +var htmlBlockType7Regexp = regexp.MustCompile(`^[ ]{0,3}<(/[ ]*)?([a-zA-Z]+[a-zA-Z0-9\-]*)(` + attributePattern + `*)[ ]*(?:>|/>)[ ]*(?:\r\n|\n)?$`) //nolint:golint,lll  type htmlBlockParser struct {  } @@ -135,7 +135,8 @@ func (b *htmlBlockParser) Open(parent ast.Node, reader text.Reader, pc Context)  		_, ok := allowedBlockTags[tagName]  		if ok {  			node = ast.NewHTMLBlock(ast.HTMLBlockType6) -		} else if tagName != "script" && tagName != "style" && tagName != "pre" && !ast.IsParagraph(last) && !(isCloseTag && hasAttr) { // type 7 can not interrupt paragraph +		} else if tagName != "script" && tagName != "style" && +			tagName != "pre" && !ast.IsParagraph(last) && !(isCloseTag && hasAttr) { // type 7 can not interrupt paragraph  			node = ast.NewHTMLBlock(ast.HTMLBlockType7)  		}  	} diff --git a/vendor/github.com/yuin/goldmark/parser/link.go b/vendor/github.com/yuin/goldmark/parser/link.go index 99583ac2a..57840bdfb 100644 --- a/vendor/github.com/yuin/goldmark/parser/link.go +++ b/vendor/github.com/yuin/goldmark/parser/link.go @@ -250,7 +250,8 @@ var linkFindClosureOptions text.FindClosureOptions = text.FindClosureOptions{  	Advance: true,  } -func (s *linkParser) parseReferenceLink(parent ast.Node, last *linkLabelState, block text.Reader, pc Context) (*ast.Link, bool) { +func (s *linkParser) parseReferenceLink(parent ast.Node, last *linkLabelState, +	block text.Reader, pc Context) (*ast.Link, bool) {  	_, orgpos := block.Position()  	block.Advance(1) // skip '['  	segments, found := block.FindClosure('[', ']', linkFindClosureOptions) diff --git a/vendor/github.com/yuin/goldmark/parser/list.go b/vendor/github.com/yuin/goldmark/parser/list.go index e5cad1173..3e0eea6d7 100644 --- a/vendor/github.com/yuin/goldmark/parser/list.go +++ b/vendor/github.com/yuin/goldmark/parser/list.go @@ -22,7 +22,7 @@ var listItemFlagValue interface{} = true  // Same as  // `^(([ ]*)([\-\*\+]))(\s+.*)?\n?$`.FindSubmatchIndex or -// `^(([ ]*)(\d{1,9}[\.\)]))(\s+.*)?\n?$`.FindSubmatchIndex +// `^(([ ]*)(\d{1,9}[\.\)]))(\s+.*)?\n?$`.FindSubmatchIndex.  func parseListItem(line []byte) ([6]int, listItemType) {  	i := 0  	l := len(line) @@ -89,7 +89,7 @@ func matchesListItem(source []byte, strict bool) ([6]int, listItemType) {  }  func calcListOffset(source []byte, match [6]int) int { -	offset := 0 +	var offset int  	if match[4] < 0 || util.IsBlank(source[match[4]:]) { // list item starts with a blank line  		offset = 1  	} else { @@ -250,14 +250,14 @@ func (b *listParser) Close(node ast.Node, reader text.Reader, pc Context) {  	for c := node.FirstChild(); c != nil && list.IsTight; c = c.NextSibling() {  		if c.FirstChild() != nil && c.FirstChild() != c.LastChild() {  			for c1 := c.FirstChild().NextSibling(); c1 != nil; c1 = c1.NextSibling() { -				if bl, ok := c1.(ast.Node); ok && bl.HasBlankPreviousLines() { +				if c1.HasBlankPreviousLines() {  					list.IsTight = false  					break  				}  			}  		}  		if c != node.FirstChild() { -			if bl, ok := c.(ast.Node); ok && bl.HasBlankPreviousLines() { +			if c.HasBlankPreviousLines() {  				list.IsTight = false  			}  		} diff --git a/vendor/github.com/yuin/goldmark/parser/parser.go b/vendor/github.com/yuin/goldmark/parser/parser.go index a82369266..5cc2175f9 100644 --- a/vendor/github.com/yuin/goldmark/parser/parser.go +++ b/vendor/github.com/yuin/goldmark/parser/parser.go @@ -403,7 +403,8 @@ func (p *parseContext) IsInLinkLabel() bool {  type State int  const ( -	none State = 1 << iota +	// None is a default value of the [State]. +	None State = 1 << iota  	// Continue indicates parser can continue parsing.  	Continue @@ -1049,7 +1050,7 @@ func isBlankLine(lineNum, level int, stats []lineStat) bool {  func (p *parser) parseBlocks(parent ast.Node, reader text.Reader, pc Context) {  	pc.SetOpenedBlocks([]Block{})  	blankLines := make([]lineStat, 0, 128) -	isBlank := false +	var isBlank bool  	for { // process blocks separated by blank lines  		_, lines, ok := reader.SkipBlankLines()  		if !ok { @@ -1152,18 +1153,23 @@ func (p *parser) parseBlock(block text.BlockReader, parent ast.Node, pc Context)  			break  		}  		lineLength := len(line) -		var lineBreakFlags uint8 = 0 +		var lineBreakFlags uint8  		hasNewLine := line[lineLength-1] == '\n' -		if ((lineLength >= 3 && line[lineLength-2] == '\\' && line[lineLength-3] != '\\') || (lineLength == 2 && line[lineLength-2] == '\\')) && hasNewLine { // ends with \\n +		if ((lineLength >= 3 && line[lineLength-2] == '\\' && +			line[lineLength-3] != '\\') || (lineLength == 2 && line[lineLength-2] == '\\')) && hasNewLine { // ends with \\n  			lineLength -= 2  			lineBreakFlags |= lineBreakHard | lineBreakVisible -		} else if ((lineLength >= 4 && line[lineLength-3] == '\\' && line[lineLength-2] == '\r' && line[lineLength-4] != '\\') || (lineLength == 3 && line[lineLength-3] == '\\' && line[lineLength-2] == '\r')) && hasNewLine { // ends with \\r\n +		} else if ((lineLength >= 4 && line[lineLength-3] == '\\' && line[lineLength-2] == '\r' && +			line[lineLength-4] != '\\') || (lineLength == 3 && line[lineLength-3] == '\\' && line[lineLength-2] == '\r')) && +			hasNewLine { // ends with \\r\n  			lineLength -= 3  			lineBreakFlags |= lineBreakHard | lineBreakVisible -		} else if lineLength >= 3 && line[lineLength-3] == ' ' && line[lineLength-2] == ' ' && hasNewLine { // ends with [space][space]\n +		} else if lineLength >= 3 && line[lineLength-3] == ' ' && line[lineLength-2] == ' ' && +			hasNewLine { // ends with [space][space]\n  			lineLength -= 3  			lineBreakFlags |= lineBreakHard -		} else if lineLength >= 4 && line[lineLength-4] == ' ' && line[lineLength-3] == ' ' && line[lineLength-2] == '\r' && hasNewLine { // ends with [space][space]\r\n +		} else if lineLength >= 4 && line[lineLength-4] == ' ' && line[lineLength-3] == ' ' && +			line[lineLength-2] == '\r' && hasNewLine { // ends with [space][space]\r\n  			lineLength -= 4  			lineBreakFlags |= lineBreakHard  		} else if hasNewLine { diff --git a/vendor/github.com/yuin/goldmark/parser/raw_html.go b/vendor/github.com/yuin/goldmark/parser/raw_html.go index cae88a66e..2b3dbc23d 100644 --- a/vendor/github.com/yuin/goldmark/parser/raw_html.go +++ b/vendor/github.com/yuin/goldmark/parser/raw_html.go @@ -15,7 +15,7 @@ type rawHTMLParser struct {  var defaultRawHTMLParser = &rawHTMLParser{}  // NewRawHTMLParser return a new InlineParser that can parse -// inline htmls +// inline htmls.  func NewRawHTMLParser() InlineParser {  	return defaultRawHTMLParser  } @@ -49,7 +49,7 @@ func (s *rawHTMLParser) Parse(parent ast.Node, block text.Reader, pc Context) as  var tagnamePattern = `([A-Za-z][A-Za-z0-9-]*)`  var spaceOrOneNewline = `(?:[ \t]|(?:\r\n|\n){0,1})` -var attributePattern = `(?:[\r\n \t]+[a-zA-Z_:][a-zA-Z0-9:._-]*(?:[\r\n \t]*=[\r\n \t]*(?:[^\"'=<>` + "`" + `\x00-\x20]+|'[^']*'|"[^"]*"))?)` +var attributePattern = `(?:[\r\n \t]+[a-zA-Z_:][a-zA-Z0-9:._-]*(?:[\r\n \t]*=[\r\n \t]*(?:[^\"'=<>` + "`" + `\x00-\x20]+|'[^']*'|"[^"]*"))?)` //nolint:golint,lll  var openTagRegexp = regexp.MustCompile("^<" + tagnamePattern + attributePattern + `*` + spaceOrOneNewline + `*/?>`)  var closeTagRegexp = regexp.MustCompile("^</" + tagnamePattern + spaceOrOneNewline + `*>`) @@ -153,9 +153,8 @@ func (s *rawHTMLParser) parseMultiLineRegexp(reg *regexp.Regexp, block text.Read  			if l == eline {  				block.Advance(end - start)  				break -			} else { -				block.AdvanceLine()  			} +			block.AdvanceLine()  		}  		return node  	} diff --git a/vendor/github.com/yuin/goldmark/parser/setext_headings.go b/vendor/github.com/yuin/goldmark/parser/setext_headings.go index 686efe179..915bcc124 100644 --- a/vendor/github.com/yuin/goldmark/parser/setext_headings.go +++ b/vendor/github.com/yuin/goldmark/parser/setext_headings.go @@ -91,7 +91,7 @@ func (b *setextHeadingParser) Close(node ast.Node, reader text.Reader, pc Contex  			para.Lines().Append(segment)  			heading.Parent().InsertAfter(heading.Parent(), heading, para)  		} else { -			next.(ast.Node).Lines().Unshift(segment) +			next.Lines().Unshift(segment)  		}  		heading.Parent().RemoveChild(heading.Parent(), heading)  	} else { diff --git a/vendor/github.com/yuin/goldmark/renderer/html/html.go b/vendor/github.com/yuin/goldmark/renderer/html/html.go index 72f7e74d8..350368839 100644 --- a/vendor/github.com/yuin/goldmark/renderer/html/html.go +++ b/vendor/github.com/yuin/goldmark/renderer/html/html.go @@ -1,3 +1,4 @@ +// Package html implements renderer that outputs HTMLs.  package html  import ( @@ -253,15 +254,17 @@ var GlobalAttributeFilter = util.NewBytesFilter(  	[]byte("translate"),  ) -func (r *Renderer) renderDocument(w util.BufWriter, source []byte, node ast.Node, entering bool) (ast.WalkStatus, error) { +func (r *Renderer) renderDocument( +	w util.BufWriter, source []byte, node ast.Node, entering bool) (ast.WalkStatus, error) {  	// nothing to do  	return ast.WalkContinue, nil  } -// HeadingAttributeFilter defines attribute names which heading elements can have +// HeadingAttributeFilter defines attribute names which heading elements can have.  var HeadingAttributeFilter = GlobalAttributeFilter -func (r *Renderer) renderHeading(w util.BufWriter, source []byte, node ast.Node, entering bool) (ast.WalkStatus, error) { +func (r *Renderer) renderHeading( +	w util.BufWriter, source []byte, node ast.Node, entering bool) (ast.WalkStatus, error) {  	n := node.(*ast.Heading)  	if entering {  		_, _ = w.WriteString("<h") @@ -278,12 +281,13 @@ func (r *Renderer) renderHeading(w util.BufWriter, source []byte, node ast.Node,  	return ast.WalkContinue, nil  } -// BlockquoteAttributeFilter defines attribute names which blockquote elements can have +// BlockquoteAttributeFilter defines attribute names which blockquote elements can have.  var BlockquoteAttributeFilter = GlobalAttributeFilter.Extend(  	[]byte("cite"),  ) -func (r *Renderer) renderBlockquote(w util.BufWriter, source []byte, n ast.Node, entering bool) (ast.WalkStatus, error) { +func (r *Renderer) renderBlockquote( +	w util.BufWriter, source []byte, n ast.Node, entering bool) (ast.WalkStatus, error) {  	if entering {  		if n.Attributes() != nil {  			_, _ = w.WriteString("<blockquote") @@ -308,7 +312,8 @@ func (r *Renderer) renderCodeBlock(w util.BufWriter, source []byte, n ast.Node,  	return ast.WalkContinue, nil  } -func (r *Renderer) renderFencedCodeBlock(w util.BufWriter, source []byte, node ast.Node, entering bool) (ast.WalkStatus, error) { +func (r *Renderer) renderFencedCodeBlock( +	w util.BufWriter, source []byte, node ast.Node, entering bool) (ast.WalkStatus, error) {  	n := node.(*ast.FencedCodeBlock)  	if entering {  		_, _ = w.WriteString("<pre><code") @@ -326,7 +331,8 @@ func (r *Renderer) renderFencedCodeBlock(w util.BufWriter, source []byte, node a  	return ast.WalkContinue, nil  } -func (r *Renderer) renderHTMLBlock(w util.BufWriter, source []byte, node ast.Node, entering bool) (ast.WalkStatus, error) { +func (r *Renderer) renderHTMLBlock( +	w util.BufWriter, source []byte, node ast.Node, entering bool) (ast.WalkStatus, error) {  	n := node.(*ast.HTMLBlock)  	if entering {  		if r.Unsafe { @@ -428,7 +434,7 @@ func (r *Renderer) renderParagraph(w util.BufWriter, source []byte, n ast.Node,  func (r *Renderer) renderTextBlock(w util.BufWriter, source []byte, n ast.Node, entering bool) (ast.WalkStatus, error) {  	if !entering { -		if _, ok := n.NextSibling().(ast.Node); ok && n.FirstChild() != nil { +		if n.NextSibling() != nil && n.FirstChild() != nil {  			_ = w.WriteByte('\n')  		}  	} @@ -444,7 +450,8 @@ var ThematicAttributeFilter = GlobalAttributeFilter.Extend(  	[]byte("width"),   // [Deprecated]  ) -func (r *Renderer) renderThematicBreak(w util.BufWriter, source []byte, n ast.Node, entering bool) (ast.WalkStatus, error) { +func (r *Renderer) renderThematicBreak( +	w util.BufWriter, source []byte, n ast.Node, entering bool) (ast.WalkStatus, error) {  	if !entering {  		return ast.WalkContinue, nil  	} @@ -473,7 +480,8 @@ var LinkAttributeFilter = GlobalAttributeFilter.Extend(  	[]byte("target"),  ) -func (r *Renderer) renderAutoLink(w util.BufWriter, source []byte, node ast.Node, entering bool) (ast.WalkStatus, error) { +func (r *Renderer) renderAutoLink( +	w util.BufWriter, source []byte, node ast.Node, entering bool) (ast.WalkStatus, error) {  	n := node.(*ast.AutoLink)  	if !entering {  		return ast.WalkContinue, nil @@ -528,7 +536,8 @@ func (r *Renderer) renderCodeSpan(w util.BufWriter, source []byte, n ast.Node, e  // EmphasisAttributeFilter defines attribute names which emphasis elements can have.  var EmphasisAttributeFilter = GlobalAttributeFilter -func (r *Renderer) renderEmphasis(w util.BufWriter, source []byte, node ast.Node, entering bool) (ast.WalkStatus, error) { +func (r *Renderer) renderEmphasis( +	w util.BufWriter, source []byte, node ast.Node, entering bool) (ast.WalkStatus, error) {  	n := node.(*ast.Emphasis)  	tag := "em"  	if n.Level == 2 { @@ -618,7 +627,8 @@ func (r *Renderer) renderImage(w util.BufWriter, source []byte, node ast.Node, e  	return ast.WalkSkipChildren, nil  } -func (r *Renderer) renderRawHTML(w util.BufWriter, source []byte, node ast.Node, entering bool) (ast.WalkStatus, error) { +func (r *Renderer) renderRawHTML( +	w util.BufWriter, source []byte, node ast.Node, entering bool) (ast.WalkStatus, error) {  	if !entering {  		return ast.WalkSkipChildren, nil  	} diff --git a/vendor/github.com/yuin/goldmark/renderer/renderer.go b/vendor/github.com/yuin/goldmark/renderer/renderer.go index 10f6d4010..5b404655c 100644 --- a/vendor/github.com/yuin/goldmark/renderer/renderer.go +++ b/vendor/github.com/yuin/goldmark/renderer/renderer.go @@ -16,7 +16,7 @@ type Config struct {  	NodeRenderers util.PrioritizedSlice  } -// NewConfig returns a new Config +// NewConfig returns a new Config.  func NewConfig() *Config {  	return &Config{  		Options:       map[OptionName]interface{}{}, @@ -78,7 +78,7 @@ type NodeRenderer interface {  	RegisterFuncs(NodeRendererFuncRegisterer)  } -// A NodeRendererFuncRegisterer registers +// A NodeRendererFuncRegisterer registers given NodeRendererFunc to this object.  type NodeRendererFuncRegisterer interface {  	// Register registers given NodeRendererFunc to this object.  	Register(ast.NodeKind, NodeRendererFunc) diff --git a/vendor/github.com/yuin/goldmark/text/package.go b/vendor/github.com/yuin/goldmark/text/package.go new file mode 100644 index 000000000..d241ac693 --- /dev/null +++ b/vendor/github.com/yuin/goldmark/text/package.go @@ -0,0 +1,2 @@ +// Package text provides functionalities to manipulate texts. +package text diff --git a/vendor/github.com/yuin/goldmark/text/reader.go b/vendor/github.com/yuin/goldmark/text/reader.go index d43690a19..b3f97fb56 100644 --- a/vendor/github.com/yuin/goldmark/text/reader.go +++ b/vendor/github.com/yuin/goldmark/text/reader.go @@ -76,7 +76,7 @@ type Reader interface {  	FindClosure(opener, closer byte, options FindClosureOptions) (*Segments, bool)  } -// FindClosureOptions is options for Reader.FindClosure +// FindClosureOptions is options for Reader.FindClosure.  type FindClosureOptions struct {  	// CodeSpan is a flag for the FindClosure. If this is set to true,  	// FindClosure ignores closers in codespans. @@ -154,7 +154,7 @@ func (r *reader) PeekLine() ([]byte, Segment) {  	return nil, r.pos  } -// io.RuneReader interface +// io.RuneReader interface.  func (r *reader) ReadRune() (rune, int, error) {  	return readRuneReader(r)  } @@ -354,7 +354,7 @@ func (r *blockReader) Value(seg Segment) []byte {  	return ret  } -// io.RuneReader interface +// io.RuneReader interface.  func (r *blockReader) ReadRune() (rune, int, error) {  	return readRuneReader(r)  } diff --git a/vendor/github.com/yuin/goldmark/util/html5entities.go b/vendor/github.com/yuin/goldmark/util/html5entities.go index b8e00a91b..dbb5f4f74 100644 --- a/vendor/github.com/yuin/goldmark/util/html5entities.go +++ b/vendor/github.com/yuin/goldmark/util/html5entities.go @@ -1,3 +1,4 @@ +//nolint:golint,lll,misspell  package util  // An HTML5Entity struct represents HTML5 entitites. @@ -8,7 +9,7 @@ type HTML5Entity struct {  }  // LookUpHTML5EntityByName returns (an HTML5Entity, true) if an entity named -// given name is found, otherwise (nil, false) +// given name is found, otherwise (nil, false).  func LookUpHTML5EntityByName(name string) (*HTML5Entity, bool) {  	v, ok := html5entities[name]  	return v, ok diff --git a/vendor/github.com/yuin/goldmark/util/unicode_case_folding.go b/vendor/github.com/yuin/goldmark/util/unicode_case_folding.go index f0e6aa4b8..ab93ba48c 100644 --- a/vendor/github.com/yuin/goldmark/util/unicode_case_folding.go +++ b/vendor/github.com/yuin/goldmark/util/unicode_case_folding.go @@ -1,1534 +1,1535 @@ +//nolint:all  package util -var unicodeCaseFoldings = map[rune][]rune { -  0x41 : []int32{97}, -  0x42 : []int32{98}, -  0x43 : []int32{99}, -  0x44 : []int32{100}, -  0x45 : []int32{101}, -  0x46 : []int32{102}, -  0x47 : []int32{103}, -  0x48 : []int32{104}, -  0x49 : []int32{105}, -  0x4a : []int32{106}, -  0x4b : []int32{107}, -  0x4c : []int32{108}, -  0x4d : []int32{109}, -  0x4e : []int32{110}, -  0x4f : []int32{111}, -  0x50 : []int32{112}, -  0x51 : []int32{113}, -  0x52 : []int32{114}, -  0x53 : []int32{115}, -  0x54 : []int32{116}, -  0x55 : []int32{117}, -  0x56 : []int32{118}, -  0x57 : []int32{119}, -  0x58 : []int32{120}, -  0x59 : []int32{121}, -  0x5a : []int32{122}, -  0xb5 : []int32{956}, -  0xc0 : []int32{224}, -  0xc1 : []int32{225}, -  0xc2 : []int32{226}, -  0xc3 : []int32{227}, -  0xc4 : []int32{228}, -  0xc5 : []int32{229}, -  0xc6 : []int32{230}, -  0xc7 : []int32{231}, -  0xc8 : []int32{232}, -  0xc9 : []int32{233}, -  0xca : []int32{234}, -  0xcb : []int32{235}, -  0xcc : []int32{236}, -  0xcd : []int32{237}, -  0xce : []int32{238}, -  0xcf : []int32{239}, -  0xd0 : []int32{240}, -  0xd1 : []int32{241}, -  0xd2 : []int32{242}, -  0xd3 : []int32{243}, -  0xd4 : []int32{244}, -  0xd5 : []int32{245}, -  0xd6 : []int32{246}, -  0xd8 : []int32{248}, -  0xd9 : []int32{249}, -  0xda : []int32{250}, -  0xdb : []int32{251}, -  0xdc : []int32{252}, -  0xdd : []int32{253}, -  0xde : []int32{254}, -  0xdf : []int32{115, 115}, -  0x100 : []int32{257}, -  0x102 : []int32{259}, -  0x104 : []int32{261}, -  0x106 : []int32{263}, -  0x108 : []int32{265}, -  0x10a : []int32{267}, -  0x10c : []int32{269}, -  0x10e : []int32{271}, -  0x110 : []int32{273}, -  0x112 : []int32{275}, -  0x114 : []int32{277}, -  0x116 : []int32{279}, -  0x118 : []int32{281}, -  0x11a : []int32{283}, -  0x11c : []int32{285}, -  0x11e : []int32{287}, -  0x120 : []int32{289}, -  0x122 : []int32{291}, -  0x124 : []int32{293}, -  0x126 : []int32{295}, -  0x128 : []int32{297}, -  0x12a : []int32{299}, -  0x12c : []int32{301}, -  0x12e : []int32{303}, -  0x130 : []int32{105, 775}, -  0x132 : []int32{307}, -  0x134 : []int32{309}, -  0x136 : []int32{311}, -  0x139 : []int32{314}, -  0x13b : []int32{316}, -  0x13d : []int32{318}, -  0x13f : []int32{320}, -  0x141 : []int32{322}, -  0x143 : []int32{324}, -  0x145 : []int32{326}, -  0x147 : []int32{328}, -  0x149 : []int32{700, 110}, -  0x14a : []int32{331}, -  0x14c : []int32{333}, -  0x14e : []int32{335}, -  0x150 : []int32{337}, -  0x152 : []int32{339}, -  0x154 : []int32{341}, -  0x156 : []int32{343}, -  0x158 : []int32{345}, -  0x15a : []int32{347}, -  0x15c : []int32{349}, -  0x15e : []int32{351}, -  0x160 : []int32{353}, -  0x162 : []int32{355}, -  0x164 : []int32{357}, -  0x166 : []int32{359}, -  0x168 : []int32{361}, -  0x16a : []int32{363}, -  0x16c : []int32{365}, -  0x16e : []int32{367}, -  0x170 : []int32{369}, -  0x172 : []int32{371}, -  0x174 : []int32{373}, -  0x176 : []int32{375}, -  0x178 : []int32{255}, -  0x179 : []int32{378}, -  0x17b : []int32{380}, -  0x17d : []int32{382}, -  0x17f : []int32{115}, -  0x181 : []int32{595}, -  0x182 : []int32{387}, -  0x184 : []int32{389}, -  0x186 : []int32{596}, -  0x187 : []int32{392}, -  0x189 : []int32{598}, -  0x18a : []int32{599}, -  0x18b : []int32{396}, -  0x18e : []int32{477}, -  0x18f : []int32{601}, -  0x190 : []int32{603}, -  0x191 : []int32{402}, -  0x193 : []int32{608}, -  0x194 : []int32{611}, -  0x196 : []int32{617}, -  0x197 : []int32{616}, -  0x198 : []int32{409}, -  0x19c : []int32{623}, -  0x19d : []int32{626}, -  0x19f : []int32{629}, -  0x1a0 : []int32{417}, -  0x1a2 : []int32{419}, -  0x1a4 : []int32{421}, -  0x1a6 : []int32{640}, -  0x1a7 : []int32{424}, -  0x1a9 : []int32{643}, -  0x1ac : []int32{429}, -  0x1ae : []int32{648}, -  0x1af : []int32{432}, -  0x1b1 : []int32{650}, -  0x1b2 : []int32{651}, -  0x1b3 : []int32{436}, -  0x1b5 : []int32{438}, -  0x1b7 : []int32{658}, -  0x1b8 : []int32{441}, -  0x1bc : []int32{445}, -  0x1c4 : []int32{454}, -  0x1c5 : []int32{454}, -  0x1c7 : []int32{457}, -  0x1c8 : []int32{457}, -  0x1ca : []int32{460}, -  0x1cb : []int32{460}, -  0x1cd : []int32{462}, -  0x1cf : []int32{464}, -  0x1d1 : []int32{466}, -  0x1d3 : []int32{468}, -  0x1d5 : []int32{470}, -  0x1d7 : []int32{472}, -  0x1d9 : []int32{474}, -  0x1db : []int32{476}, -  0x1de : []int32{479}, -  0x1e0 : []int32{481}, -  0x1e2 : []int32{483}, -  0x1e4 : []int32{485}, -  0x1e6 : []int32{487}, -  0x1e8 : []int32{489}, -  0x1ea : []int32{491}, -  0x1ec : []int32{493}, -  0x1ee : []int32{495}, -  0x1f0 : []int32{106, 780}, -  0x1f1 : []int32{499}, -  0x1f2 : []int32{499}, -  0x1f4 : []int32{501}, -  0x1f6 : []int32{405}, -  0x1f7 : []int32{447}, -  0x1f8 : []int32{505}, -  0x1fa : []int32{507}, -  0x1fc : []int32{509}, -  0x1fe : []int32{511}, -  0x200 : []int32{513}, -  0x202 : []int32{515}, -  0x204 : []int32{517}, -  0x206 : []int32{519}, -  0x208 : []int32{521}, -  0x20a : []int32{523}, -  0x20c : []int32{525}, -  0x20e : []int32{527}, -  0x210 : []int32{529}, -  0x212 : []int32{531}, -  0x214 : []int32{533}, -  0x216 : []int32{535}, -  0x218 : []int32{537}, -  0x21a : []int32{539}, -  0x21c : []int32{541}, -  0x21e : []int32{543}, -  0x220 : []int32{414}, -  0x222 : []int32{547}, -  0x224 : []int32{549}, -  0x226 : []int32{551}, -  0x228 : []int32{553}, -  0x22a : []int32{555}, -  0x22c : []int32{557}, -  0x22e : []int32{559}, -  0x230 : []int32{561}, -  0x232 : []int32{563}, -  0x23a : []int32{11365}, -  0x23b : []int32{572}, -  0x23d : []int32{410}, -  0x23e : []int32{11366}, -  0x241 : []int32{578}, -  0x243 : []int32{384}, -  0x244 : []int32{649}, -  0x245 : []int32{652}, -  0x246 : []int32{583}, -  0x248 : []int32{585}, -  0x24a : []int32{587}, -  0x24c : []int32{589}, -  0x24e : []int32{591}, -  0x345 : []int32{953}, -  0x370 : []int32{881}, -  0x372 : []int32{883}, -  0x376 : []int32{887}, -  0x37f : []int32{1011}, -  0x386 : []int32{940}, -  0x388 : []int32{941}, -  0x389 : []int32{942}, -  0x38a : []int32{943}, -  0x38c : []int32{972}, -  0x38e : []int32{973}, -  0x38f : []int32{974}, -  0x390 : []int32{953, 776, 769}, -  0x391 : []int32{945}, -  0x392 : []int32{946}, -  0x393 : []int32{947}, -  0x394 : []int32{948}, -  0x395 : []int32{949}, -  0x396 : []int32{950}, -  0x397 : []int32{951}, -  0x398 : []int32{952}, -  0x399 : []int32{953}, -  0x39a : []int32{954}, -  0x39b : []int32{955}, -  0x39c : []int32{956}, -  0x39d : []int32{957}, -  0x39e : []int32{958}, -  0x39f : []int32{959}, -  0x3a0 : []int32{960}, -  0x3a1 : []int32{961}, -  0x3a3 : []int32{963}, -  0x3a4 : []int32{964}, -  0x3a5 : []int32{965}, -  0x3a6 : []int32{966}, -  0x3a7 : []int32{967}, -  0x3a8 : []int32{968}, -  0x3a9 : []int32{969}, -  0x3aa : []int32{970}, -  0x3ab : []int32{971}, -  0x3b0 : []int32{965, 776, 769}, -  0x3c2 : []int32{963}, -  0x3cf : []int32{983}, -  0x3d0 : []int32{946}, -  0x3d1 : []int32{952}, -  0x3d5 : []int32{966}, -  0x3d6 : []int32{960}, -  0x3d8 : []int32{985}, -  0x3da : []int32{987}, -  0x3dc : []int32{989}, -  0x3de : []int32{991}, -  0x3e0 : []int32{993}, -  0x3e2 : []int32{995}, -  0x3e4 : []int32{997}, -  0x3e6 : []int32{999}, -  0x3e8 : []int32{1001}, -  0x3ea : []int32{1003}, -  0x3ec : []int32{1005}, -  0x3ee : []int32{1007}, -  0x3f0 : []int32{954}, -  0x3f1 : []int32{961}, -  0x3f4 : []int32{952}, -  0x3f5 : []int32{949}, -  0x3f7 : []int32{1016}, -  0x3f9 : []int32{1010}, -  0x3fa : []int32{1019}, -  0x3fd : []int32{891}, -  0x3fe : []int32{892}, -  0x3ff : []int32{893}, -  0x400 : []int32{1104}, -  0x401 : []int32{1105}, -  0x402 : []int32{1106}, -  0x403 : []int32{1107}, -  0x404 : []int32{1108}, -  0x405 : []int32{1109}, -  0x406 : []int32{1110}, -  0x407 : []int32{1111}, -  0x408 : []int32{1112}, -  0x409 : []int32{1113}, -  0x40a : []int32{1114}, -  0x40b : []int32{1115}, -  0x40c : []int32{1116}, -  0x40d : []int32{1117}, -  0x40e : []int32{1118}, -  0x40f : []int32{1119}, -  0x410 : []int32{1072}, -  0x411 : []int32{1073}, -  0x412 : []int32{1074}, -  0x413 : []int32{1075}, -  0x414 : []int32{1076}, -  0x415 : []int32{1077}, -  0x416 : []int32{1078}, -  0x417 : []int32{1079}, -  0x418 : []int32{1080}, -  0x419 : []int32{1081}, -  0x41a : []int32{1082}, -  0x41b : []int32{1083}, -  0x41c : []int32{1084}, -  0x41d : []int32{1085}, -  0x41e : []int32{1086}, -  0x41f : []int32{1087}, -  0x420 : []int32{1088}, -  0x421 : []int32{1089}, -  0x422 : []int32{1090}, -  0x423 : []int32{1091}, -  0x424 : []int32{1092}, -  0x425 : []int32{1093}, -  0x426 : []int32{1094}, -  0x427 : []int32{1095}, -  0x428 : []int32{1096}, -  0x429 : []int32{1097}, -  0x42a : []int32{1098}, -  0x42b : []int32{1099}, -  0x42c : []int32{1100}, -  0x42d : []int32{1101}, -  0x42e : []int32{1102}, -  0x42f : []int32{1103}, -  0x460 : []int32{1121}, -  0x462 : []int32{1123}, -  0x464 : []int32{1125}, -  0x466 : []int32{1127}, -  0x468 : []int32{1129}, -  0x46a : []int32{1131}, -  0x46c : []int32{1133}, -  0x46e : []int32{1135}, -  0x470 : []int32{1137}, -  0x472 : []int32{1139}, -  0x474 : []int32{1141}, -  0x476 : []int32{1143}, -  0x478 : []int32{1145}, -  0x47a : []int32{1147}, -  0x47c : []int32{1149}, -  0x47e : []int32{1151}, -  0x480 : []int32{1153}, -  0x48a : []int32{1163}, -  0x48c : []int32{1165}, -  0x48e : []int32{1167}, -  0x490 : []int32{1169}, -  0x492 : []int32{1171}, -  0x494 : []int32{1173}, -  0x496 : []int32{1175}, -  0x498 : []int32{1177}, -  0x49a : []int32{1179}, -  0x49c : []int32{1181}, -  0x49e : []int32{1183}, -  0x4a0 : []int32{1185}, -  0x4a2 : []int32{1187}, -  0x4a4 : []int32{1189}, -  0x4a6 : []int32{1191}, -  0x4a8 : []int32{1193}, -  0x4aa : []int32{1195}, -  0x4ac : []int32{1197}, -  0x4ae : []int32{1199}, -  0x4b0 : []int32{1201}, -  0x4b2 : []int32{1203}, -  0x4b4 : []int32{1205}, -  0x4b6 : []int32{1207}, -  0x4b8 : []int32{1209}, -  0x4ba : []int32{1211}, -  0x4bc : []int32{1213}, -  0x4be : []int32{1215}, -  0x4c0 : []int32{1231}, -  0x4c1 : []int32{1218}, -  0x4c3 : []int32{1220}, -  0x4c5 : []int32{1222}, -  0x4c7 : []int32{1224}, -  0x4c9 : []int32{1226}, -  0x4cb : []int32{1228}, -  0x4cd : []int32{1230}, -  0x4d0 : []int32{1233}, -  0x4d2 : []int32{1235}, -  0x4d4 : []int32{1237}, -  0x4d6 : []int32{1239}, -  0x4d8 : []int32{1241}, -  0x4da : []int32{1243}, -  0x4dc : []int32{1245}, -  0x4de : []int32{1247}, -  0x4e0 : []int32{1249}, -  0x4e2 : []int32{1251}, -  0x4e4 : []int32{1253}, -  0x4e6 : []int32{1255}, -  0x4e8 : []int32{1257}, -  0x4ea : []int32{1259}, -  0x4ec : []int32{1261}, -  0x4ee : []int32{1263}, -  0x4f0 : []int32{1265}, -  0x4f2 : []int32{1267}, -  0x4f4 : []int32{1269}, -  0x4f6 : []int32{1271}, -  0x4f8 : []int32{1273}, -  0x4fa : []int32{1275}, -  0x4fc : []int32{1277}, -  0x4fe : []int32{1279}, -  0x500 : []int32{1281}, -  0x502 : []int32{1283}, -  0x504 : []int32{1285}, -  0x506 : []int32{1287}, -  0x508 : []int32{1289}, -  0x50a : []int32{1291}, -  0x50c : []int32{1293}, -  0x50e : []int32{1295}, -  0x510 : []int32{1297}, -  0x512 : []int32{1299}, -  0x514 : []int32{1301}, -  0x516 : []int32{1303}, -  0x518 : []int32{1305}, -  0x51a : []int32{1307}, -  0x51c : []int32{1309}, -  0x51e : []int32{1311}, -  0x520 : []int32{1313}, -  0x522 : []int32{1315}, -  0x524 : []int32{1317}, -  0x526 : []int32{1319}, -  0x528 : []int32{1321}, -  0x52a : []int32{1323}, -  0x52c : []int32{1325}, -  0x52e : []int32{1327}, -  0x531 : []int32{1377}, -  0x532 : []int32{1378}, -  0x533 : []int32{1379}, -  0x534 : []int32{1380}, -  0x535 : []int32{1381}, -  0x536 : []int32{1382}, -  0x537 : []int32{1383}, -  0x538 : []int32{1384}, -  0x539 : []int32{1385}, -  0x53a : []int32{1386}, -  0x53b : []int32{1387}, -  0x53c : []int32{1388}, -  0x53d : []int32{1389}, -  0x53e : []int32{1390}, -  0x53f : []int32{1391}, -  0x540 : []int32{1392}, -  0x541 : []int32{1393}, -  0x542 : []int32{1394}, -  0x543 : []int32{1395}, -  0x544 : []int32{1396}, -  0x545 : []int32{1397}, -  0x546 : []int32{1398}, -  0x547 : []int32{1399}, -  0x548 : []int32{1400}, -  0x549 : []int32{1401}, -  0x54a : []int32{1402}, -  0x54b : []int32{1403}, -  0x54c : []int32{1404}, -  0x54d : []int32{1405}, -  0x54e : []int32{1406}, -  0x54f : []int32{1407}, -  0x550 : []int32{1408}, -  0x551 : []int32{1409}, -  0x552 : []int32{1410}, -  0x553 : []int32{1411}, -  0x554 : []int32{1412}, -  0x555 : []int32{1413}, -  0x556 : []int32{1414}, -  0x587 : []int32{1381, 1410}, -  0x10a0 : []int32{11520}, -  0x10a1 : []int32{11521}, -  0x10a2 : []int32{11522}, -  0x10a3 : []int32{11523}, -  0x10a4 : []int32{11524}, -  0x10a5 : []int32{11525}, -  0x10a6 : []int32{11526}, -  0x10a7 : []int32{11527}, -  0x10a8 : []int32{11528}, -  0x10a9 : []int32{11529}, -  0x10aa : []int32{11530}, -  0x10ab : []int32{11531}, -  0x10ac : []int32{11532}, -  0x10ad : []int32{11533}, -  0x10ae : []int32{11534}, -  0x10af : []int32{11535}, -  0x10b0 : []int32{11536}, -  0x10b1 : []int32{11537}, -  0x10b2 : []int32{11538}, -  0x10b3 : []int32{11539}, -  0x10b4 : []int32{11540}, -  0x10b5 : []int32{11541}, -  0x10b6 : []int32{11542}, -  0x10b7 : []int32{11543}, -  0x10b8 : []int32{11544}, -  0x10b9 : []int32{11545}, -  0x10ba : []int32{11546}, -  0x10bb : []int32{11547}, -  0x10bc : []int32{11548}, -  0x10bd : []int32{11549}, -  0x10be : []int32{11550}, -  0x10bf : []int32{11551}, -  0x10c0 : []int32{11552}, -  0x10c1 : []int32{11553}, -  0x10c2 : []int32{11554}, -  0x10c3 : []int32{11555}, -  0x10c4 : []int32{11556}, -  0x10c5 : []int32{11557}, -  0x10c7 : []int32{11559}, -  0x10cd : []int32{11565}, -  0x13f8 : []int32{5104}, -  0x13f9 : []int32{5105}, -  0x13fa : []int32{5106}, -  0x13fb : []int32{5107}, -  0x13fc : []int32{5108}, -  0x13fd : []int32{5109}, -  0x1c80 : []int32{1074}, -  0x1c81 : []int32{1076}, -  0x1c82 : []int32{1086}, -  0x1c83 : []int32{1089}, -  0x1c84 : []int32{1090}, -  0x1c85 : []int32{1090}, -  0x1c86 : []int32{1098}, -  0x1c87 : []int32{1123}, -  0x1c88 : []int32{42571}, -  0x1c90 : []int32{4304}, -  0x1c91 : []int32{4305}, -  0x1c92 : []int32{4306}, -  0x1c93 : []int32{4307}, -  0x1c94 : []int32{4308}, -  0x1c95 : []int32{4309}, -  0x1c96 : []int32{4310}, -  0x1c97 : []int32{4311}, -  0x1c98 : []int32{4312}, -  0x1c99 : []int32{4313}, -  0x1c9a : []int32{4314}, -  0x1c9b : []int32{4315}, -  0x1c9c : []int32{4316}, -  0x1c9d : []int32{4317}, -  0x1c9e : []int32{4318}, -  0x1c9f : []int32{4319}, -  0x1ca0 : []int32{4320}, -  0x1ca1 : []int32{4321}, -  0x1ca2 : []int32{4322}, -  0x1ca3 : []int32{4323}, -  0x1ca4 : []int32{4324}, -  0x1ca5 : []int32{4325}, -  0x1ca6 : []int32{4326}, -  0x1ca7 : []int32{4327}, -  0x1ca8 : []int32{4328}, -  0x1ca9 : []int32{4329}, -  0x1caa : []int32{4330}, -  0x1cab : []int32{4331}, -  0x1cac : []int32{4332}, -  0x1cad : []int32{4333}, -  0x1cae : []int32{4334}, -  0x1caf : []int32{4335}, -  0x1cb0 : []int32{4336}, -  0x1cb1 : []int32{4337}, -  0x1cb2 : []int32{4338}, -  0x1cb3 : []int32{4339}, -  0x1cb4 : []int32{4340}, -  0x1cb5 : []int32{4341}, -  0x1cb6 : []int32{4342}, -  0x1cb7 : []int32{4343}, -  0x1cb8 : []int32{4344}, -  0x1cb9 : []int32{4345}, -  0x1cba : []int32{4346}, -  0x1cbd : []int32{4349}, -  0x1cbe : []int32{4350}, -  0x1cbf : []int32{4351}, -  0x1e00 : []int32{7681}, -  0x1e02 : []int32{7683}, -  0x1e04 : []int32{7685}, -  0x1e06 : []int32{7687}, -  0x1e08 : []int32{7689}, -  0x1e0a : []int32{7691}, -  0x1e0c : []int32{7693}, -  0x1e0e : []int32{7695}, -  0x1e10 : []int32{7697}, -  0x1e12 : []int32{7699}, -  0x1e14 : []int32{7701}, -  0x1e16 : []int32{7703}, -  0x1e18 : []int32{7705}, -  0x1e1a : []int32{7707}, -  0x1e1c : []int32{7709}, -  0x1e1e : []int32{7711}, -  0x1e20 : []int32{7713}, -  0x1e22 : []int32{7715}, -  0x1e24 : []int32{7717}, -  0x1e26 : []int32{7719}, -  0x1e28 : []int32{7721}, -  0x1e2a : []int32{7723}, -  0x1e2c : []int32{7725}, -  0x1e2e : []int32{7727}, -  0x1e30 : []int32{7729}, -  0x1e32 : []int32{7731}, -  0x1e34 : []int32{7733}, -  0x1e36 : []int32{7735}, -  0x1e38 : []int32{7737}, -  0x1e3a : []int32{7739}, -  0x1e3c : []int32{7741}, -  0x1e3e : []int32{7743}, -  0x1e40 : []int32{7745}, -  0x1e42 : []int32{7747}, -  0x1e44 : []int32{7749}, -  0x1e46 : []int32{7751}, -  0x1e48 : []int32{7753}, -  0x1e4a : []int32{7755}, -  0x1e4c : []int32{7757}, -  0x1e4e : []int32{7759}, -  0x1e50 : []int32{7761}, -  0x1e52 : []int32{7763}, -  0x1e54 : []int32{7765}, -  0x1e56 : []int32{7767}, -  0x1e58 : []int32{7769}, -  0x1e5a : []int32{7771}, -  0x1e5c : []int32{7773}, -  0x1e5e : []int32{7775}, -  0x1e60 : []int32{7777}, -  0x1e62 : []int32{7779}, -  0x1e64 : []int32{7781}, -  0x1e66 : []int32{7783}, -  0x1e68 : []int32{7785}, -  0x1e6a : []int32{7787}, -  0x1e6c : []int32{7789}, -  0x1e6e : []int32{7791}, -  0x1e70 : []int32{7793}, -  0x1e72 : []int32{7795}, -  0x1e74 : []int32{7797}, -  0x1e76 : []int32{7799}, -  0x1e78 : []int32{7801}, -  0x1e7a : []int32{7803}, -  0x1e7c : []int32{7805}, -  0x1e7e : []int32{7807}, -  0x1e80 : []int32{7809}, -  0x1e82 : []int32{7811}, -  0x1e84 : []int32{7813}, -  0x1e86 : []int32{7815}, -  0x1e88 : []int32{7817}, -  0x1e8a : []int32{7819}, -  0x1e8c : []int32{7821}, -  0x1e8e : []int32{7823}, -  0x1e90 : []int32{7825}, -  0x1e92 : []int32{7827}, -  0x1e94 : []int32{7829}, -  0x1e96 : []int32{104, 817}, -  0x1e97 : []int32{116, 776}, -  0x1e98 : []int32{119, 778}, -  0x1e99 : []int32{121, 778}, -  0x1e9a : []int32{97, 702}, -  0x1e9b : []int32{7777}, -  0x1e9e : []int32{115, 115}, -  0x1ea0 : []int32{7841}, -  0x1ea2 : []int32{7843}, -  0x1ea4 : []int32{7845}, -  0x1ea6 : []int32{7847}, -  0x1ea8 : []int32{7849}, -  0x1eaa : []int32{7851}, -  0x1eac : []int32{7853}, -  0x1eae : []int32{7855}, -  0x1eb0 : []int32{7857}, -  0x1eb2 : []int32{7859}, -  0x1eb4 : []int32{7861}, -  0x1eb6 : []int32{7863}, -  0x1eb8 : []int32{7865}, -  0x1eba : []int32{7867}, -  0x1ebc : []int32{7869}, -  0x1ebe : []int32{7871}, -  0x1ec0 : []int32{7873}, -  0x1ec2 : []int32{7875}, -  0x1ec4 : []int32{7877}, -  0x1ec6 : []int32{7879}, -  0x1ec8 : []int32{7881}, -  0x1eca : []int32{7883}, -  0x1ecc : []int32{7885}, -  0x1ece : []int32{7887}, -  0x1ed0 : []int32{7889}, -  0x1ed2 : []int32{7891}, -  0x1ed4 : []int32{7893}, -  0x1ed6 : []int32{7895}, -  0x1ed8 : []int32{7897}, -  0x1eda : []int32{7899}, -  0x1edc : []int32{7901}, -  0x1ede : []int32{7903}, -  0x1ee0 : []int32{7905}, -  0x1ee2 : []int32{7907}, -  0x1ee4 : []int32{7909}, -  0x1ee6 : []int32{7911}, -  0x1ee8 : []int32{7913}, -  0x1eea : []int32{7915}, -  0x1eec : []int32{7917}, -  0x1eee : []int32{7919}, -  0x1ef0 : []int32{7921}, -  0x1ef2 : []int32{7923}, -  0x1ef4 : []int32{7925}, -  0x1ef6 : []int32{7927}, -  0x1ef8 : []int32{7929}, -  0x1efa : []int32{7931}, -  0x1efc : []int32{7933}, -  0x1efe : []int32{7935}, -  0x1f08 : []int32{7936}, -  0x1f09 : []int32{7937}, -  0x1f0a : []int32{7938}, -  0x1f0b : []int32{7939}, -  0x1f0c : []int32{7940}, -  0x1f0d : []int32{7941}, -  0x1f0e : []int32{7942}, -  0x1f0f : []int32{7943}, -  0x1f18 : []int32{7952}, -  0x1f19 : []int32{7953}, -  0x1f1a : []int32{7954}, -  0x1f1b : []int32{7955}, -  0x1f1c : []int32{7956}, -  0x1f1d : []int32{7957}, -  0x1f28 : []int32{7968}, -  0x1f29 : []int32{7969}, -  0x1f2a : []int32{7970}, -  0x1f2b : []int32{7971}, -  0x1f2c : []int32{7972}, -  0x1f2d : []int32{7973}, -  0x1f2e : []int32{7974}, -  0x1f2f : []int32{7975}, -  0x1f38 : []int32{7984}, -  0x1f39 : []int32{7985}, -  0x1f3a : []int32{7986}, -  0x1f3b : []int32{7987}, -  0x1f3c : []int32{7988}, -  0x1f3d : []int32{7989}, -  0x1f3e : []int32{7990}, -  0x1f3f : []int32{7991}, -  0x1f48 : []int32{8000}, -  0x1f49 : []int32{8001}, -  0x1f4a : []int32{8002}, -  0x1f4b : []int32{8003}, -  0x1f4c : []int32{8004}, -  0x1f4d : []int32{8005}, -  0x1f50 : []int32{965, 787}, -  0x1f52 : []int32{965, 787, 768}, -  0x1f54 : []int32{965, 787, 769}, -  0x1f56 : []int32{965, 787, 834}, -  0x1f59 : []int32{8017}, -  0x1f5b : []int32{8019}, -  0x1f5d : []int32{8021}, -  0x1f5f : []int32{8023}, -  0x1f68 : []int32{8032}, -  0x1f69 : []int32{8033}, -  0x1f6a : []int32{8034}, -  0x1f6b : []int32{8035}, -  0x1f6c : []int32{8036}, -  0x1f6d : []int32{8037}, -  0x1f6e : []int32{8038}, -  0x1f6f : []int32{8039}, -  0x1f80 : []int32{7936, 953}, -  0x1f81 : []int32{7937, 953}, -  0x1f82 : []int32{7938, 953}, -  0x1f83 : []int32{7939, 953}, -  0x1f84 : []int32{7940, 953}, -  0x1f85 : []int32{7941, 953}, -  0x1f86 : []int32{7942, 953}, -  0x1f87 : []int32{7943, 953}, -  0x1f88 : []int32{7936, 953}, -  0x1f89 : []int32{7937, 953}, -  0x1f8a : []int32{7938, 953}, -  0x1f8b : []int32{7939, 953}, -  0x1f8c : []int32{7940, 953}, -  0x1f8d : []int32{7941, 953}, -  0x1f8e : []int32{7942, 953}, -  0x1f8f : []int32{7943, 953}, -  0x1f90 : []int32{7968, 953}, -  0x1f91 : []int32{7969, 953}, -  0x1f92 : []int32{7970, 953}, -  0x1f93 : []int32{7971, 953}, -  0x1f94 : []int32{7972, 953}, -  0x1f95 : []int32{7973, 953}, -  0x1f96 : []int32{7974, 953}, -  0x1f97 : []int32{7975, 953}, -  0x1f98 : []int32{7968, 953}, -  0x1f99 : []int32{7969, 953}, -  0x1f9a : []int32{7970, 953}, -  0x1f9b : []int32{7971, 953}, -  0x1f9c : []int32{7972, 953}, -  0x1f9d : []int32{7973, 953}, -  0x1f9e : []int32{7974, 953}, -  0x1f9f : []int32{7975, 953}, -  0x1fa0 : []int32{8032, 953}, -  0x1fa1 : []int32{8033, 953}, -  0x1fa2 : []int32{8034, 953}, -  0x1fa3 : []int32{8035, 953}, -  0x1fa4 : []int32{8036, 953}, -  0x1fa5 : []int32{8037, 953}, -  0x1fa6 : []int32{8038, 953}, -  0x1fa7 : []int32{8039, 953}, -  0x1fa8 : []int32{8032, 953}, -  0x1fa9 : []int32{8033, 953}, -  0x1faa : []int32{8034, 953}, -  0x1fab : []int32{8035, 953}, -  0x1fac : []int32{8036, 953}, -  0x1fad : []int32{8037, 953}, -  0x1fae : []int32{8038, 953}, -  0x1faf : []int32{8039, 953}, -  0x1fb2 : []int32{8048, 953}, -  0x1fb3 : []int32{945, 953}, -  0x1fb4 : []int32{940, 953}, -  0x1fb6 : []int32{945, 834}, -  0x1fb7 : []int32{945, 834, 953}, -  0x1fb8 : []int32{8112}, -  0x1fb9 : []int32{8113}, -  0x1fba : []int32{8048}, -  0x1fbb : []int32{8049}, -  0x1fbc : []int32{945, 953}, -  0x1fbe : []int32{953}, -  0x1fc2 : []int32{8052, 953}, -  0x1fc3 : []int32{951, 953}, -  0x1fc4 : []int32{942, 953}, -  0x1fc6 : []int32{951, 834}, -  0x1fc7 : []int32{951, 834, 953}, -  0x1fc8 : []int32{8050}, -  0x1fc9 : []int32{8051}, -  0x1fca : []int32{8052}, -  0x1fcb : []int32{8053}, -  0x1fcc : []int32{951, 953}, -  0x1fd2 : []int32{953, 776, 768}, -  0x1fd3 : []int32{953, 776, 769}, -  0x1fd6 : []int32{953, 834}, -  0x1fd7 : []int32{953, 776, 834}, -  0x1fd8 : []int32{8144}, -  0x1fd9 : []int32{8145}, -  0x1fda : []int32{8054}, -  0x1fdb : []int32{8055}, -  0x1fe2 : []int32{965, 776, 768}, -  0x1fe3 : []int32{965, 776, 769}, -  0x1fe4 : []int32{961, 787}, -  0x1fe6 : []int32{965, 834}, -  0x1fe7 : []int32{965, 776, 834}, -  0x1fe8 : []int32{8160}, -  0x1fe9 : []int32{8161}, -  0x1fea : []int32{8058}, -  0x1feb : []int32{8059}, -  0x1fec : []int32{8165}, -  0x1ff2 : []int32{8060, 953}, -  0x1ff3 : []int32{969, 953}, -  0x1ff4 : []int32{974, 953}, -  0x1ff6 : []int32{969, 834}, -  0x1ff7 : []int32{969, 834, 953}, -  0x1ff8 : []int32{8056}, -  0x1ff9 : []int32{8057}, -  0x1ffa : []int32{8060}, -  0x1ffb : []int32{8061}, -  0x1ffc : []int32{969, 953}, -  0x2126 : []int32{969}, -  0x212a : []int32{107}, -  0x212b : []int32{229}, -  0x2132 : []int32{8526}, -  0x2160 : []int32{8560}, -  0x2161 : []int32{8561}, -  0x2162 : []int32{8562}, -  0x2163 : []int32{8563}, -  0x2164 : []int32{8564}, -  0x2165 : []int32{8565}, -  0x2166 : []int32{8566}, -  0x2167 : []int32{8567}, -  0x2168 : []int32{8568}, -  0x2169 : []int32{8569}, -  0x216a : []int32{8570}, -  0x216b : []int32{8571}, -  0x216c : []int32{8572}, -  0x216d : []int32{8573}, -  0x216e : []int32{8574}, -  0x216f : []int32{8575}, -  0x2183 : []int32{8580}, -  0x24b6 : []int32{9424}, -  0x24b7 : []int32{9425}, -  0x24b8 : []int32{9426}, -  0x24b9 : []int32{9427}, -  0x24ba : []int32{9428}, -  0x24bb : []int32{9429}, -  0x24bc : []int32{9430}, -  0x24bd : []int32{9431}, -  0x24be : []int32{9432}, -  0x24bf : []int32{9433}, -  0x24c0 : []int32{9434}, -  0x24c1 : []int32{9435}, -  0x24c2 : []int32{9436}, -  0x24c3 : []int32{9437}, -  0x24c4 : []int32{9438}, -  0x24c5 : []int32{9439}, -  0x24c6 : []int32{9440}, -  0x24c7 : []int32{9441}, -  0x24c8 : []int32{9442}, -  0x24c9 : []int32{9443}, -  0x24ca : []int32{9444}, -  0x24cb : []int32{9445}, -  0x24cc : []int32{9446}, -  0x24cd : []int32{9447}, -  0x24ce : []int32{9448}, -  0x24cf : []int32{9449}, -  0x2c00 : []int32{11312}, -  0x2c01 : []int32{11313}, -  0x2c02 : []int32{11314}, -  0x2c03 : []int32{11315}, -  0x2c04 : []int32{11316}, -  0x2c05 : []int32{11317}, -  0x2c06 : []int32{11318}, -  0x2c07 : []int32{11319}, -  0x2c08 : []int32{11320}, -  0x2c09 : []int32{11321}, -  0x2c0a : []int32{11322}, -  0x2c0b : []int32{11323}, -  0x2c0c : []int32{11324}, -  0x2c0d : []int32{11325}, -  0x2c0e : []int32{11326}, -  0x2c0f : []int32{11327}, -  0x2c10 : []int32{11328}, -  0x2c11 : []int32{11329}, -  0x2c12 : []int32{11330}, -  0x2c13 : []int32{11331}, -  0x2c14 : []int32{11332}, -  0x2c15 : []int32{11333}, -  0x2c16 : []int32{11334}, -  0x2c17 : []int32{11335}, -  0x2c18 : []int32{11336}, -  0x2c19 : []int32{11337}, -  0x2c1a : []int32{11338}, -  0x2c1b : []int32{11339}, -  0x2c1c : []int32{11340}, -  0x2c1d : []int32{11341}, -  0x2c1e : []int32{11342}, -  0x2c1f : []int32{11343}, -  0x2c20 : []int32{11344}, -  0x2c21 : []int32{11345}, -  0x2c22 : []int32{11346}, -  0x2c23 : []int32{11347}, -  0x2c24 : []int32{11348}, -  0x2c25 : []int32{11349}, -  0x2c26 : []int32{11350}, -  0x2c27 : []int32{11351}, -  0x2c28 : []int32{11352}, -  0x2c29 : []int32{11353}, -  0x2c2a : []int32{11354}, -  0x2c2b : []int32{11355}, -  0x2c2c : []int32{11356}, -  0x2c2d : []int32{11357}, -  0x2c2e : []int32{11358}, -  0x2c2f : []int32{11359}, -  0x2c60 : []int32{11361}, -  0x2c62 : []int32{619}, -  0x2c63 : []int32{7549}, -  0x2c64 : []int32{637}, -  0x2c67 : []int32{11368}, -  0x2c69 : []int32{11370}, -  0x2c6b : []int32{11372}, -  0x2c6d : []int32{593}, -  0x2c6e : []int32{625}, -  0x2c6f : []int32{592}, -  0x2c70 : []int32{594}, -  0x2c72 : []int32{11379}, -  0x2c75 : []int32{11382}, -  0x2c7e : []int32{575}, -  0x2c7f : []int32{576}, -  0x2c80 : []int32{11393}, -  0x2c82 : []int32{11395}, -  0x2c84 : []int32{11397}, -  0x2c86 : []int32{11399}, -  0x2c88 : []int32{11401}, -  0x2c8a : []int32{11403}, -  0x2c8c : []int32{11405}, -  0x2c8e : []int32{11407}, -  0x2c90 : []int32{11409}, -  0x2c92 : []int32{11411}, -  0x2c94 : []int32{11413}, -  0x2c96 : []int32{11415}, -  0x2c98 : []int32{11417}, -  0x2c9a : []int32{11419}, -  0x2c9c : []int32{11421}, -  0x2c9e : []int32{11423}, -  0x2ca0 : []int32{11425}, -  0x2ca2 : []int32{11427}, -  0x2ca4 : []int32{11429}, -  0x2ca6 : []int32{11431}, -  0x2ca8 : []int32{11433}, -  0x2caa : []int32{11435}, -  0x2cac : []int32{11437}, -  0x2cae : []int32{11439}, -  0x2cb0 : []int32{11441}, -  0x2cb2 : []int32{11443}, -  0x2cb4 : []int32{11445}, -  0x2cb6 : []int32{11447}, -  0x2cb8 : []int32{11449}, -  0x2cba : []int32{11451}, -  0x2cbc : []int32{11453}, -  0x2cbe : []int32{11455}, -  0x2cc0 : []int32{11457}, -  0x2cc2 : []int32{11459}, -  0x2cc4 : []int32{11461}, -  0x2cc6 : []int32{11463}, -  0x2cc8 : []int32{11465}, -  0x2cca : []int32{11467}, -  0x2ccc : []int32{11469}, -  0x2cce : []int32{11471}, -  0x2cd0 : []int32{11473}, -  0x2cd2 : []int32{11475}, -  0x2cd4 : []int32{11477}, -  0x2cd6 : []int32{11479}, -  0x2cd8 : []int32{11481}, -  0x2cda : []int32{11483}, -  0x2cdc : []int32{11485}, -  0x2cde : []int32{11487}, -  0x2ce0 : []int32{11489}, -  0x2ce2 : []int32{11491}, -  0x2ceb : []int32{11500}, -  0x2ced : []int32{11502}, -  0x2cf2 : []int32{11507}, -  0xa640 : []int32{42561}, -  0xa642 : []int32{42563}, -  0xa644 : []int32{42565}, -  0xa646 : []int32{42567}, -  0xa648 : []int32{42569}, -  0xa64a : []int32{42571}, -  0xa64c : []int32{42573}, -  0xa64e : []int32{42575}, -  0xa650 : []int32{42577}, -  0xa652 : []int32{42579}, -  0xa654 : []int32{42581}, -  0xa656 : []int32{42583}, -  0xa658 : []int32{42585}, -  0xa65a : []int32{42587}, -  0xa65c : []int32{42589}, -  0xa65e : []int32{42591}, -  0xa660 : []int32{42593}, -  0xa662 : []int32{42595}, -  0xa664 : []int32{42597}, -  0xa666 : []int32{42599}, -  0xa668 : []int32{42601}, -  0xa66a : []int32{42603}, -  0xa66c : []int32{42605}, -  0xa680 : []int32{42625}, -  0xa682 : []int32{42627}, -  0xa684 : []int32{42629}, -  0xa686 : []int32{42631}, -  0xa688 : []int32{42633}, -  0xa68a : []int32{42635}, -  0xa68c : []int32{42637}, -  0xa68e : []int32{42639}, -  0xa690 : []int32{42641}, -  0xa692 : []int32{42643}, -  0xa694 : []int32{42645}, -  0xa696 : []int32{42647}, -  0xa698 : []int32{42649}, -  0xa69a : []int32{42651}, -  0xa722 : []int32{42787}, -  0xa724 : []int32{42789}, -  0xa726 : []int32{42791}, -  0xa728 : []int32{42793}, -  0xa72a : []int32{42795}, -  0xa72c : []int32{42797}, -  0xa72e : []int32{42799}, -  0xa732 : []int32{42803}, -  0xa734 : []int32{42805}, -  0xa736 : []int32{42807}, -  0xa738 : []int32{42809}, -  0xa73a : []int32{42811}, -  0xa73c : []int32{42813}, -  0xa73e : []int32{42815}, -  0xa740 : []int32{42817}, -  0xa742 : []int32{42819}, -  0xa744 : []int32{42821}, -  0xa746 : []int32{42823}, -  0xa748 : []int32{42825}, -  0xa74a : []int32{42827}, -  0xa74c : []int32{42829}, -  0xa74e : []int32{42831}, -  0xa750 : []int32{42833}, -  0xa752 : []int32{42835}, -  0xa754 : []int32{42837}, -  0xa756 : []int32{42839}, -  0xa758 : []int32{42841}, -  0xa75a : []int32{42843}, -  0xa75c : []int32{42845}, -  0xa75e : []int32{42847}, -  0xa760 : []int32{42849}, -  0xa762 : []int32{42851}, -  0xa764 : []int32{42853}, -  0xa766 : []int32{42855}, -  0xa768 : []int32{42857}, -  0xa76a : []int32{42859}, -  0xa76c : []int32{42861}, -  0xa76e : []int32{42863}, -  0xa779 : []int32{42874}, -  0xa77b : []int32{42876}, -  0xa77d : []int32{7545}, -  0xa77e : []int32{42879}, -  0xa780 : []int32{42881}, -  0xa782 : []int32{42883}, -  0xa784 : []int32{42885}, -  0xa786 : []int32{42887}, -  0xa78b : []int32{42892}, -  0xa78d : []int32{613}, -  0xa790 : []int32{42897}, -  0xa792 : []int32{42899}, -  0xa796 : []int32{42903}, -  0xa798 : []int32{42905}, -  0xa79a : []int32{42907}, -  0xa79c : []int32{42909}, -  0xa79e : []int32{42911}, -  0xa7a0 : []int32{42913}, -  0xa7a2 : []int32{42915}, -  0xa7a4 : []int32{42917}, -  0xa7a6 : []int32{42919}, -  0xa7a8 : []int32{42921}, -  0xa7aa : []int32{614}, -  0xa7ab : []int32{604}, -  0xa7ac : []int32{609}, -  0xa7ad : []int32{620}, -  0xa7ae : []int32{618}, -  0xa7b0 : []int32{670}, -  0xa7b1 : []int32{647}, -  0xa7b2 : []int32{669}, -  0xa7b3 : []int32{43859}, -  0xa7b4 : []int32{42933}, -  0xa7b6 : []int32{42935}, -  0xa7b8 : []int32{42937}, -  0xa7ba : []int32{42939}, -  0xa7bc : []int32{42941}, -  0xa7be : []int32{42943}, -  0xa7c0 : []int32{42945}, -  0xa7c2 : []int32{42947}, -  0xa7c4 : []int32{42900}, -  0xa7c5 : []int32{642}, -  0xa7c6 : []int32{7566}, -  0xa7c7 : []int32{42952}, -  0xa7c9 : []int32{42954}, -  0xa7d0 : []int32{42961}, -  0xa7d6 : []int32{42967}, -  0xa7d8 : []int32{42969}, -  0xa7f5 : []int32{42998}, -  0xab70 : []int32{5024}, -  0xab71 : []int32{5025}, -  0xab72 : []int32{5026}, -  0xab73 : []int32{5027}, -  0xab74 : []int32{5028}, -  0xab75 : []int32{5029}, -  0xab76 : []int32{5030}, -  0xab77 : []int32{5031}, -  0xab78 : []int32{5032}, -  0xab79 : []int32{5033}, -  0xab7a : []int32{5034}, -  0xab7b : []int32{5035}, -  0xab7c : []int32{5036}, -  0xab7d : []int32{5037}, -  0xab7e : []int32{5038}, -  0xab7f : []int32{5039}, -  0xab80 : []int32{5040}, -  0xab81 : []int32{5041}, -  0xab82 : []int32{5042}, -  0xab83 : []int32{5043}, -  0xab84 : []int32{5044}, -  0xab85 : []int32{5045}, -  0xab86 : []int32{5046}, -  0xab87 : []int32{5047}, -  0xab88 : []int32{5048}, -  0xab89 : []int32{5049}, -  0xab8a : []int32{5050}, -  0xab8b : []int32{5051}, -  0xab8c : []int32{5052}, -  0xab8d : []int32{5053}, -  0xab8e : []int32{5054}, -  0xab8f : []int32{5055}, -  0xab90 : []int32{5056}, -  0xab91 : []int32{5057}, -  0xab92 : []int32{5058}, -  0xab93 : []int32{5059}, -  0xab94 : []int32{5060}, -  0xab95 : []int32{5061}, -  0xab96 : []int32{5062}, -  0xab97 : []int32{5063}, -  0xab98 : []int32{5064}, -  0xab99 : []int32{5065}, -  0xab9a : []int32{5066}, -  0xab9b : []int32{5067}, -  0xab9c : []int32{5068}, -  0xab9d : []int32{5069}, -  0xab9e : []int32{5070}, -  0xab9f : []int32{5071}, -  0xaba0 : []int32{5072}, -  0xaba1 : []int32{5073}, -  0xaba2 : []int32{5074}, -  0xaba3 : []int32{5075}, -  0xaba4 : []int32{5076}, -  0xaba5 : []int32{5077}, -  0xaba6 : []int32{5078}, -  0xaba7 : []int32{5079}, -  0xaba8 : []int32{5080}, -  0xaba9 : []int32{5081}, -  0xabaa : []int32{5082}, -  0xabab : []int32{5083}, -  0xabac : []int32{5084}, -  0xabad : []int32{5085}, -  0xabae : []int32{5086}, -  0xabaf : []int32{5087}, -  0xabb0 : []int32{5088}, -  0xabb1 : []int32{5089}, -  0xabb2 : []int32{5090}, -  0xabb3 : []int32{5091}, -  0xabb4 : []int32{5092}, -  0xabb5 : []int32{5093}, -  0xabb6 : []int32{5094}, -  0xabb7 : []int32{5095}, -  0xabb8 : []int32{5096}, -  0xabb9 : []int32{5097}, -  0xabba : []int32{5098}, -  0xabbb : []int32{5099}, -  0xabbc : []int32{5100}, -  0xabbd : []int32{5101}, -  0xabbe : []int32{5102}, -  0xabbf : []int32{5103}, -  0xfb00 : []int32{102, 102}, -  0xfb01 : []int32{102, 105}, -  0xfb02 : []int32{102, 108}, -  0xfb03 : []int32{102, 102, 105}, -  0xfb04 : []int32{102, 102, 108}, -  0xfb05 : []int32{115, 116}, -  0xfb06 : []int32{115, 116}, -  0xfb13 : []int32{1396, 1398}, -  0xfb14 : []int32{1396, 1381}, -  0xfb15 : []int32{1396, 1387}, -  0xfb16 : []int32{1406, 1398}, -  0xfb17 : []int32{1396, 1389}, -  0xff21 : []int32{65345}, -  0xff22 : []int32{65346}, -  0xff23 : []int32{65347}, -  0xff24 : []int32{65348}, -  0xff25 : []int32{65349}, -  0xff26 : []int32{65350}, -  0xff27 : []int32{65351}, -  0xff28 : []int32{65352}, -  0xff29 : []int32{65353}, -  0xff2a : []int32{65354}, -  0xff2b : []int32{65355}, -  0xff2c : []int32{65356}, -  0xff2d : []int32{65357}, -  0xff2e : []int32{65358}, -  0xff2f : []int32{65359}, -  0xff30 : []int32{65360}, -  0xff31 : []int32{65361}, -  0xff32 : []int32{65362}, -  0xff33 : []int32{65363}, -  0xff34 : []int32{65364}, -  0xff35 : []int32{65365}, -  0xff36 : []int32{65366}, -  0xff37 : []int32{65367}, -  0xff38 : []int32{65368}, -  0xff39 : []int32{65369}, -  0xff3a : []int32{65370}, -  0x10400 : []int32{66600}, -  0x10401 : []int32{66601}, -  0x10402 : []int32{66602}, -  0x10403 : []int32{66603}, -  0x10404 : []int32{66604}, -  0x10405 : []int32{66605}, -  0x10406 : []int32{66606}, -  0x10407 : []int32{66607}, -  0x10408 : []int32{66608}, -  0x10409 : []int32{66609}, -  0x1040a : []int32{66610}, -  0x1040b : []int32{66611}, -  0x1040c : []int32{66612}, -  0x1040d : []int32{66613}, -  0x1040e : []int32{66614}, -  0x1040f : []int32{66615}, -  0x10410 : []int32{66616}, -  0x10411 : []int32{66617}, -  0x10412 : []int32{66618}, -  0x10413 : []int32{66619}, -  0x10414 : []int32{66620}, -  0x10415 : []int32{66621}, -  0x10416 : []int32{66622}, -  0x10417 : []int32{66623}, -  0x10418 : []int32{66624}, -  0x10419 : []int32{66625}, -  0x1041a : []int32{66626}, -  0x1041b : []int32{66627}, -  0x1041c : []int32{66628}, -  0x1041d : []int32{66629}, -  0x1041e : []int32{66630}, -  0x1041f : []int32{66631}, -  0x10420 : []int32{66632}, -  0x10421 : []int32{66633}, -  0x10422 : []int32{66634}, -  0x10423 : []int32{66635}, -  0x10424 : []int32{66636}, -  0x10425 : []int32{66637}, -  0x10426 : []int32{66638}, -  0x10427 : []int32{66639}, -  0x104b0 : []int32{66776}, -  0x104b1 : []int32{66777}, -  0x104b2 : []int32{66778}, -  0x104b3 : []int32{66779}, -  0x104b4 : []int32{66780}, -  0x104b5 : []int32{66781}, -  0x104b6 : []int32{66782}, -  0x104b7 : []int32{66783}, -  0x104b8 : []int32{66784}, -  0x104b9 : []int32{66785}, -  0x104ba : []int32{66786}, -  0x104bb : []int32{66787}, -  0x104bc : []int32{66788}, -  0x104bd : []int32{66789}, -  0x104be : []int32{66790}, -  0x104bf : []int32{66791}, -  0x104c0 : []int32{66792}, -  0x104c1 : []int32{66793}, -  0x104c2 : []int32{66794}, -  0x104c3 : []int32{66795}, -  0x104c4 : []int32{66796}, -  0x104c5 : []int32{66797}, -  0x104c6 : []int32{66798}, -  0x104c7 : []int32{66799}, -  0x104c8 : []int32{66800}, -  0x104c9 : []int32{66801}, -  0x104ca : []int32{66802}, -  0x104cb : []int32{66803}, -  0x104cc : []int32{66804}, -  0x104cd : []int32{66805}, -  0x104ce : []int32{66806}, -  0x104cf : []int32{66807}, -  0x104d0 : []int32{66808}, -  0x104d1 : []int32{66809}, -  0x104d2 : []int32{66810}, -  0x104d3 : []int32{66811}, -  0x10570 : []int32{66967}, -  0x10571 : []int32{66968}, -  0x10572 : []int32{66969}, -  0x10573 : []int32{66970}, -  0x10574 : []int32{66971}, -  0x10575 : []int32{66972}, -  0x10576 : []int32{66973}, -  0x10577 : []int32{66974}, -  0x10578 : []int32{66975}, -  0x10579 : []int32{66976}, -  0x1057a : []int32{66977}, -  0x1057c : []int32{66979}, -  0x1057d : []int32{66980}, -  0x1057e : []int32{66981}, -  0x1057f : []int32{66982}, -  0x10580 : []int32{66983}, -  0x10581 : []int32{66984}, -  0x10582 : []int32{66985}, -  0x10583 : []int32{66986}, -  0x10584 : []int32{66987}, -  0x10585 : []int32{66988}, -  0x10586 : []int32{66989}, -  0x10587 : []int32{66990}, -  0x10588 : []int32{66991}, -  0x10589 : []int32{66992}, -  0x1058a : []int32{66993}, -  0x1058c : []int32{66995}, -  0x1058d : []int32{66996}, -  0x1058e : []int32{66997}, -  0x1058f : []int32{66998}, -  0x10590 : []int32{66999}, -  0x10591 : []int32{67000}, -  0x10592 : []int32{67001}, -  0x10594 : []int32{67003}, -  0x10595 : []int32{67004}, -  0x10c80 : []int32{68800}, -  0x10c81 : []int32{68801}, -  0x10c82 : []int32{68802}, -  0x10c83 : []int32{68803}, -  0x10c84 : []int32{68804}, -  0x10c85 : []int32{68805}, -  0x10c86 : []int32{68806}, -  0x10c87 : []int32{68807}, -  0x10c88 : []int32{68808}, -  0x10c89 : []int32{68809}, -  0x10c8a : []int32{68810}, -  0x10c8b : []int32{68811}, -  0x10c8c : []int32{68812}, -  0x10c8d : []int32{68813}, -  0x10c8e : []int32{68814}, -  0x10c8f : []int32{68815}, -  0x10c90 : []int32{68816}, -  0x10c91 : []int32{68817}, -  0x10c92 : []int32{68818}, -  0x10c93 : []int32{68819}, -  0x10c94 : []int32{68820}, -  0x10c95 : []int32{68821}, -  0x10c96 : []int32{68822}, -  0x10c97 : []int32{68823}, -  0x10c98 : []int32{68824}, -  0x10c99 : []int32{68825}, -  0x10c9a : []int32{68826}, -  0x10c9b : []int32{68827}, -  0x10c9c : []int32{68828}, -  0x10c9d : []int32{68829}, -  0x10c9e : []int32{68830}, -  0x10c9f : []int32{68831}, -  0x10ca0 : []int32{68832}, -  0x10ca1 : []int32{68833}, -  0x10ca2 : []int32{68834}, -  0x10ca3 : []int32{68835}, -  0x10ca4 : []int32{68836}, -  0x10ca5 : []int32{68837}, -  0x10ca6 : []int32{68838}, -  0x10ca7 : []int32{68839}, -  0x10ca8 : []int32{68840}, -  0x10ca9 : []int32{68841}, -  0x10caa : []int32{68842}, -  0x10cab : []int32{68843}, -  0x10cac : []int32{68844}, -  0x10cad : []int32{68845}, -  0x10cae : []int32{68846}, -  0x10caf : []int32{68847}, -  0x10cb0 : []int32{68848}, -  0x10cb1 : []int32{68849}, -  0x10cb2 : []int32{68850}, -  0x118a0 : []int32{71872}, -  0x118a1 : []int32{71873}, -  0x118a2 : []int32{71874}, -  0x118a3 : []int32{71875}, -  0x118a4 : []int32{71876}, -  0x118a5 : []int32{71877}, -  0x118a6 : []int32{71878}, -  0x118a7 : []int32{71879}, -  0x118a8 : []int32{71880}, -  0x118a9 : []int32{71881}, -  0x118aa : []int32{71882}, -  0x118ab : []int32{71883}, -  0x118ac : []int32{71884}, -  0x118ad : []int32{71885}, -  0x118ae : []int32{71886}, -  0x118af : []int32{71887}, -  0x118b0 : []int32{71888}, -  0x118b1 : []int32{71889}, -  0x118b2 : []int32{71890}, -  0x118b3 : []int32{71891}, -  0x118b4 : []int32{71892}, -  0x118b5 : []int32{71893}, -  0x118b6 : []int32{71894}, -  0x118b7 : []int32{71895}, -  0x118b8 : []int32{71896}, -  0x118b9 : []int32{71897}, -  0x118ba : []int32{71898}, -  0x118bb : []int32{71899}, -  0x118bc : []int32{71900}, -  0x118bd : []int32{71901}, -  0x118be : []int32{71902}, -  0x118bf : []int32{71903}, -  0x16e40 : []int32{93792}, -  0x16e41 : []int32{93793}, -  0x16e42 : []int32{93794}, -  0x16e43 : []int32{93795}, -  0x16e44 : []int32{93796}, -  0x16e45 : []int32{93797}, -  0x16e46 : []int32{93798}, -  0x16e47 : []int32{93799}, -  0x16e48 : []int32{93800}, -  0x16e49 : []int32{93801}, -  0x16e4a : []int32{93802}, -  0x16e4b : []int32{93803}, -  0x16e4c : []int32{93804}, -  0x16e4d : []int32{93805}, -  0x16e4e : []int32{93806}, -  0x16e4f : []int32{93807}, -  0x16e50 : []int32{93808}, -  0x16e51 : []int32{93809}, -  0x16e52 : []int32{93810}, -  0x16e53 : []int32{93811}, -  0x16e54 : []int32{93812}, -  0x16e55 : []int32{93813}, -  0x16e56 : []int32{93814}, -  0x16e57 : []int32{93815}, -  0x16e58 : []int32{93816}, -  0x16e59 : []int32{93817}, -  0x16e5a : []int32{93818}, -  0x16e5b : []int32{93819}, -  0x16e5c : []int32{93820}, -  0x16e5d : []int32{93821}, -  0x16e5e : []int32{93822}, -  0x16e5f : []int32{93823}, -  0x1e900 : []int32{125218}, -  0x1e901 : []int32{125219}, -  0x1e902 : []int32{125220}, -  0x1e903 : []int32{125221}, -  0x1e904 : []int32{125222}, -  0x1e905 : []int32{125223}, -  0x1e906 : []int32{125224}, -  0x1e907 : []int32{125225}, -  0x1e908 : []int32{125226}, -  0x1e909 : []int32{125227}, -  0x1e90a : []int32{125228}, -  0x1e90b : []int32{125229}, -  0x1e90c : []int32{125230}, -  0x1e90d : []int32{125231}, -  0x1e90e : []int32{125232}, -  0x1e90f : []int32{125233}, -  0x1e910 : []int32{125234}, -  0x1e911 : []int32{125235}, -  0x1e912 : []int32{125236}, -  0x1e913 : []int32{125237}, -  0x1e914 : []int32{125238}, -  0x1e915 : []int32{125239}, -  0x1e916 : []int32{125240}, -  0x1e917 : []int32{125241}, -  0x1e918 : []int32{125242}, -  0x1e919 : []int32{125243}, -  0x1e91a : []int32{125244}, -  0x1e91b : []int32{125245}, -  0x1e91c : []int32{125246}, -  0x1e91d : []int32{125247}, -  0x1e91e : []int32{125248}, -  0x1e91f : []int32{125249}, -  0x1e920 : []int32{125250}, -  0x1e921 : []int32{125251}, +var unicodeCaseFoldings = map[rune][]rune{ +	0x41:    []int32{97}, +	0x42:    []int32{98}, +	0x43:    []int32{99}, +	0x44:    []int32{100}, +	0x45:    []int32{101}, +	0x46:    []int32{102}, +	0x47:    []int32{103}, +	0x48:    []int32{104}, +	0x49:    []int32{105}, +	0x4a:    []int32{106}, +	0x4b:    []int32{107}, +	0x4c:    []int32{108}, +	0x4d:    []int32{109}, +	0x4e:    []int32{110}, +	0x4f:    []int32{111}, +	0x50:    []int32{112}, +	0x51:    []int32{113}, +	0x52:    []int32{114}, +	0x53:    []int32{115}, +	0x54:    []int32{116}, +	0x55:    []int32{117}, +	0x56:    []int32{118}, +	0x57:    []int32{119}, +	0x58:    []int32{120}, +	0x59:    []int32{121}, +	0x5a:    []int32{122}, +	0xb5:    []int32{956}, +	0xc0:    []int32{224}, +	0xc1:    []int32{225}, +	0xc2:    []int32{226}, +	0xc3:    []int32{227}, +	0xc4:    []int32{228}, +	0xc5:    []int32{229}, +	0xc6:    []int32{230}, +	0xc7:    []int32{231}, +	0xc8:    []int32{232}, +	0xc9:    []int32{233}, +	0xca:    []int32{234}, +	0xcb:    []int32{235}, +	0xcc:    []int32{236}, +	0xcd:    []int32{237}, +	0xce:    []int32{238}, +	0xcf:    []int32{239}, +	0xd0:    []int32{240}, +	0xd1:    []int32{241}, +	0xd2:    []int32{242}, +	0xd3:    []int32{243}, +	0xd4:    []int32{244}, +	0xd5:    []int32{245}, +	0xd6:    []int32{246}, +	0xd8:    []int32{248}, +	0xd9:    []int32{249}, +	0xda:    []int32{250}, +	0xdb:    []int32{251}, +	0xdc:    []int32{252}, +	0xdd:    []int32{253}, +	0xde:    []int32{254}, +	0xdf:    []int32{115, 115}, +	0x100:   []int32{257}, +	0x102:   []int32{259}, +	0x104:   []int32{261}, +	0x106:   []int32{263}, +	0x108:   []int32{265}, +	0x10a:   []int32{267}, +	0x10c:   []int32{269}, +	0x10e:   []int32{271}, +	0x110:   []int32{273}, +	0x112:   []int32{275}, +	0x114:   []int32{277}, +	0x116:   []int32{279}, +	0x118:   []int32{281}, +	0x11a:   []int32{283}, +	0x11c:   []int32{285}, +	0x11e:   []int32{287}, +	0x120:   []int32{289}, +	0x122:   []int32{291}, +	0x124:   []int32{293}, +	0x126:   []int32{295}, +	0x128:   []int32{297}, +	0x12a:   []int32{299}, +	0x12c:   []int32{301}, +	0x12e:   []int32{303}, +	0x130:   []int32{105, 775}, +	0x132:   []int32{307}, +	0x134:   []int32{309}, +	0x136:   []int32{311}, +	0x139:   []int32{314}, +	0x13b:   []int32{316}, +	0x13d:   []int32{318}, +	0x13f:   []int32{320}, +	0x141:   []int32{322}, +	0x143:   []int32{324}, +	0x145:   []int32{326}, +	0x147:   []int32{328}, +	0x149:   []int32{700, 110}, +	0x14a:   []int32{331}, +	0x14c:   []int32{333}, +	0x14e:   []int32{335}, +	0x150:   []int32{337}, +	0x152:   []int32{339}, +	0x154:   []int32{341}, +	0x156:   []int32{343}, +	0x158:   []int32{345}, +	0x15a:   []int32{347}, +	0x15c:   []int32{349}, +	0x15e:   []int32{351}, +	0x160:   []int32{353}, +	0x162:   []int32{355}, +	0x164:   []int32{357}, +	0x166:   []int32{359}, +	0x168:   []int32{361}, +	0x16a:   []int32{363}, +	0x16c:   []int32{365}, +	0x16e:   []int32{367}, +	0x170:   []int32{369}, +	0x172:   []int32{371}, +	0x174:   []int32{373}, +	0x176:   []int32{375}, +	0x178:   []int32{255}, +	0x179:   []int32{378}, +	0x17b:   []int32{380}, +	0x17d:   []int32{382}, +	0x17f:   []int32{115}, +	0x181:   []int32{595}, +	0x182:   []int32{387}, +	0x184:   []int32{389}, +	0x186:   []int32{596}, +	0x187:   []int32{392}, +	0x189:   []int32{598}, +	0x18a:   []int32{599}, +	0x18b:   []int32{396}, +	0x18e:   []int32{477}, +	0x18f:   []int32{601}, +	0x190:   []int32{603}, +	0x191:   []int32{402}, +	0x193:   []int32{608}, +	0x194:   []int32{611}, +	0x196:   []int32{617}, +	0x197:   []int32{616}, +	0x198:   []int32{409}, +	0x19c:   []int32{623}, +	0x19d:   []int32{626}, +	0x19f:   []int32{629}, +	0x1a0:   []int32{417}, +	0x1a2:   []int32{419}, +	0x1a4:   []int32{421}, +	0x1a6:   []int32{640}, +	0x1a7:   []int32{424}, +	0x1a9:   []int32{643}, +	0x1ac:   []int32{429}, +	0x1ae:   []int32{648}, +	0x1af:   []int32{432}, +	0x1b1:   []int32{650}, +	0x1b2:   []int32{651}, +	0x1b3:   []int32{436}, +	0x1b5:   []int32{438}, +	0x1b7:   []int32{658}, +	0x1b8:   []int32{441}, +	0x1bc:   []int32{445}, +	0x1c4:   []int32{454}, +	0x1c5:   []int32{454}, +	0x1c7:   []int32{457}, +	0x1c8:   []int32{457}, +	0x1ca:   []int32{460}, +	0x1cb:   []int32{460}, +	0x1cd:   []int32{462}, +	0x1cf:   []int32{464}, +	0x1d1:   []int32{466}, +	0x1d3:   []int32{468}, +	0x1d5:   []int32{470}, +	0x1d7:   []int32{472}, +	0x1d9:   []int32{474}, +	0x1db:   []int32{476}, +	0x1de:   []int32{479}, +	0x1e0:   []int32{481}, +	0x1e2:   []int32{483}, +	0x1e4:   []int32{485}, +	0x1e6:   []int32{487}, +	0x1e8:   []int32{489}, +	0x1ea:   []int32{491}, +	0x1ec:   []int32{493}, +	0x1ee:   []int32{495}, +	0x1f0:   []int32{106, 780}, +	0x1f1:   []int32{499}, +	0x1f2:   []int32{499}, +	0x1f4:   []int32{501}, +	0x1f6:   []int32{405}, +	0x1f7:   []int32{447}, +	0x1f8:   []int32{505}, +	0x1fa:   []int32{507}, +	0x1fc:   []int32{509}, +	0x1fe:   []int32{511}, +	0x200:   []int32{513}, +	0x202:   []int32{515}, +	0x204:   []int32{517}, +	0x206:   []int32{519}, +	0x208:   []int32{521}, +	0x20a:   []int32{523}, +	0x20c:   []int32{525}, +	0x20e:   []int32{527}, +	0x210:   []int32{529}, +	0x212:   []int32{531}, +	0x214:   []int32{533}, +	0x216:   []int32{535}, +	0x218:   []int32{537}, +	0x21a:   []int32{539}, +	0x21c:   []int32{541}, +	0x21e:   []int32{543}, +	0x220:   []int32{414}, +	0x222:   []int32{547}, +	0x224:   []int32{549}, +	0x226:   []int32{551}, +	0x228:   []int32{553}, +	0x22a:   []int32{555}, +	0x22c:   []int32{557}, +	0x22e:   []int32{559}, +	0x230:   []int32{561}, +	0x232:   []int32{563}, +	0x23a:   []int32{11365}, +	0x23b:   []int32{572}, +	0x23d:   []int32{410}, +	0x23e:   []int32{11366}, +	0x241:   []int32{578}, +	0x243:   []int32{384}, +	0x244:   []int32{649}, +	0x245:   []int32{652}, +	0x246:   []int32{583}, +	0x248:   []int32{585}, +	0x24a:   []int32{587}, +	0x24c:   []int32{589}, +	0x24e:   []int32{591}, +	0x345:   []int32{953}, +	0x370:   []int32{881}, +	0x372:   []int32{883}, +	0x376:   []int32{887}, +	0x37f:   []int32{1011}, +	0x386:   []int32{940}, +	0x388:   []int32{941}, +	0x389:   []int32{942}, +	0x38a:   []int32{943}, +	0x38c:   []int32{972}, +	0x38e:   []int32{973}, +	0x38f:   []int32{974}, +	0x390:   []int32{953, 776, 769}, +	0x391:   []int32{945}, +	0x392:   []int32{946}, +	0x393:   []int32{947}, +	0x394:   []int32{948}, +	0x395:   []int32{949}, +	0x396:   []int32{950}, +	0x397:   []int32{951}, +	0x398:   []int32{952}, +	0x399:   []int32{953}, +	0x39a:   []int32{954}, +	0x39b:   []int32{955}, +	0x39c:   []int32{956}, +	0x39d:   []int32{957}, +	0x39e:   []int32{958}, +	0x39f:   []int32{959}, +	0x3a0:   []int32{960}, +	0x3a1:   []int32{961}, +	0x3a3:   []int32{963}, +	0x3a4:   []int32{964}, +	0x3a5:   []int32{965}, +	0x3a6:   []int32{966}, +	0x3a7:   []int32{967}, +	0x3a8:   []int32{968}, +	0x3a9:   []int32{969}, +	0x3aa:   []int32{970}, +	0x3ab:   []int32{971}, +	0x3b0:   []int32{965, 776, 769}, +	0x3c2:   []int32{963}, +	0x3cf:   []int32{983}, +	0x3d0:   []int32{946}, +	0x3d1:   []int32{952}, +	0x3d5:   []int32{966}, +	0x3d6:   []int32{960}, +	0x3d8:   []int32{985}, +	0x3da:   []int32{987}, +	0x3dc:   []int32{989}, +	0x3de:   []int32{991}, +	0x3e0:   []int32{993}, +	0x3e2:   []int32{995}, +	0x3e4:   []int32{997}, +	0x3e6:   []int32{999}, +	0x3e8:   []int32{1001}, +	0x3ea:   []int32{1003}, +	0x3ec:   []int32{1005}, +	0x3ee:   []int32{1007}, +	0x3f0:   []int32{954}, +	0x3f1:   []int32{961}, +	0x3f4:   []int32{952}, +	0x3f5:   []int32{949}, +	0x3f7:   []int32{1016}, +	0x3f9:   []int32{1010}, +	0x3fa:   []int32{1019}, +	0x3fd:   []int32{891}, +	0x3fe:   []int32{892}, +	0x3ff:   []int32{893}, +	0x400:   []int32{1104}, +	0x401:   []int32{1105}, +	0x402:   []int32{1106}, +	0x403:   []int32{1107}, +	0x404:   []int32{1108}, +	0x405:   []int32{1109}, +	0x406:   []int32{1110}, +	0x407:   []int32{1111}, +	0x408:   []int32{1112}, +	0x409:   []int32{1113}, +	0x40a:   []int32{1114}, +	0x40b:   []int32{1115}, +	0x40c:   []int32{1116}, +	0x40d:   []int32{1117}, +	0x40e:   []int32{1118}, +	0x40f:   []int32{1119}, +	0x410:   []int32{1072}, +	0x411:   []int32{1073}, +	0x412:   []int32{1074}, +	0x413:   []int32{1075}, +	0x414:   []int32{1076}, +	0x415:   []int32{1077}, +	0x416:   []int32{1078}, +	0x417:   []int32{1079}, +	0x418:   []int32{1080}, +	0x419:   []int32{1081}, +	0x41a:   []int32{1082}, +	0x41b:   []int32{1083}, +	0x41c:   []int32{1084}, +	0x41d:   []int32{1085}, +	0x41e:   []int32{1086}, +	0x41f:   []int32{1087}, +	0x420:   []int32{1088}, +	0x421:   []int32{1089}, +	0x422:   []int32{1090}, +	0x423:   []int32{1091}, +	0x424:   []int32{1092}, +	0x425:   []int32{1093}, +	0x426:   []int32{1094}, +	0x427:   []int32{1095}, +	0x428:   []int32{1096}, +	0x429:   []int32{1097}, +	0x42a:   []int32{1098}, +	0x42b:   []int32{1099}, +	0x42c:   []int32{1100}, +	0x42d:   []int32{1101}, +	0x42e:   []int32{1102}, +	0x42f:   []int32{1103}, +	0x460:   []int32{1121}, +	0x462:   []int32{1123}, +	0x464:   []int32{1125}, +	0x466:   []int32{1127}, +	0x468:   []int32{1129}, +	0x46a:   []int32{1131}, +	0x46c:   []int32{1133}, +	0x46e:   []int32{1135}, +	0x470:   []int32{1137}, +	0x472:   []int32{1139}, +	0x474:   []int32{1141}, +	0x476:   []int32{1143}, +	0x478:   []int32{1145}, +	0x47a:   []int32{1147}, +	0x47c:   []int32{1149}, +	0x47e:   []int32{1151}, +	0x480:   []int32{1153}, +	0x48a:   []int32{1163}, +	0x48c:   []int32{1165}, +	0x48e:   []int32{1167}, +	0x490:   []int32{1169}, +	0x492:   []int32{1171}, +	0x494:   []int32{1173}, +	0x496:   []int32{1175}, +	0x498:   []int32{1177}, +	0x49a:   []int32{1179}, +	0x49c:   []int32{1181}, +	0x49e:   []int32{1183}, +	0x4a0:   []int32{1185}, +	0x4a2:   []int32{1187}, +	0x4a4:   []int32{1189}, +	0x4a6:   []int32{1191}, +	0x4a8:   []int32{1193}, +	0x4aa:   []int32{1195}, +	0x4ac:   []int32{1197}, +	0x4ae:   []int32{1199}, +	0x4b0:   []int32{1201}, +	0x4b2:   []int32{1203}, +	0x4b4:   []int32{1205}, +	0x4b6:   []int32{1207}, +	0x4b8:   []int32{1209}, +	0x4ba:   []int32{1211}, +	0x4bc:   []int32{1213}, +	0x4be:   []int32{1215}, +	0x4c0:   []int32{1231}, +	0x4c1:   []int32{1218}, +	0x4c3:   []int32{1220}, +	0x4c5:   []int32{1222}, +	0x4c7:   []int32{1224}, +	0x4c9:   []int32{1226}, +	0x4cb:   []int32{1228}, +	0x4cd:   []int32{1230}, +	0x4d0:   []int32{1233}, +	0x4d2:   []int32{1235}, +	0x4d4:   []int32{1237}, +	0x4d6:   []int32{1239}, +	0x4d8:   []int32{1241}, +	0x4da:   []int32{1243}, +	0x4dc:   []int32{1245}, +	0x4de:   []int32{1247}, +	0x4e0:   []int32{1249}, +	0x4e2:   []int32{1251}, +	0x4e4:   []int32{1253}, +	0x4e6:   []int32{1255}, +	0x4e8:   []int32{1257}, +	0x4ea:   []int32{1259}, +	0x4ec:   []int32{1261}, +	0x4ee:   []int32{1263}, +	0x4f0:   []int32{1265}, +	0x4f2:   []int32{1267}, +	0x4f4:   []int32{1269}, +	0x4f6:   []int32{1271}, +	0x4f8:   []int32{1273}, +	0x4fa:   []int32{1275}, +	0x4fc:   []int32{1277}, +	0x4fe:   []int32{1279}, +	0x500:   []int32{1281}, +	0x502:   []int32{1283}, +	0x504:   []int32{1285}, +	0x506:   []int32{1287}, +	0x508:   []int32{1289}, +	0x50a:   []int32{1291}, +	0x50c:   []int32{1293}, +	0x50e:   []int32{1295}, +	0x510:   []int32{1297}, +	0x512:   []int32{1299}, +	0x514:   []int32{1301}, +	0x516:   []int32{1303}, +	0x518:   []int32{1305}, +	0x51a:   []int32{1307}, +	0x51c:   []int32{1309}, +	0x51e:   []int32{1311}, +	0x520:   []int32{1313}, +	0x522:   []int32{1315}, +	0x524:   []int32{1317}, +	0x526:   []int32{1319}, +	0x528:   []int32{1321}, +	0x52a:   []int32{1323}, +	0x52c:   []int32{1325}, +	0x52e:   []int32{1327}, +	0x531:   []int32{1377}, +	0x532:   []int32{1378}, +	0x533:   []int32{1379}, +	0x534:   []int32{1380}, +	0x535:   []int32{1381}, +	0x536:   []int32{1382}, +	0x537:   []int32{1383}, +	0x538:   []int32{1384}, +	0x539:   []int32{1385}, +	0x53a:   []int32{1386}, +	0x53b:   []int32{1387}, +	0x53c:   []int32{1388}, +	0x53d:   []int32{1389}, +	0x53e:   []int32{1390}, +	0x53f:   []int32{1391}, +	0x540:   []int32{1392}, +	0x541:   []int32{1393}, +	0x542:   []int32{1394}, +	0x543:   []int32{1395}, +	0x544:   []int32{1396}, +	0x545:   []int32{1397}, +	0x546:   []int32{1398}, +	0x547:   []int32{1399}, +	0x548:   []int32{1400}, +	0x549:   []int32{1401}, +	0x54a:   []int32{1402}, +	0x54b:   []int32{1403}, +	0x54c:   []int32{1404}, +	0x54d:   []int32{1405}, +	0x54e:   []int32{1406}, +	0x54f:   []int32{1407}, +	0x550:   []int32{1408}, +	0x551:   []int32{1409}, +	0x552:   []int32{1410}, +	0x553:   []int32{1411}, +	0x554:   []int32{1412}, +	0x555:   []int32{1413}, +	0x556:   []int32{1414}, +	0x587:   []int32{1381, 1410}, +	0x10a0:  []int32{11520}, +	0x10a1:  []int32{11521}, +	0x10a2:  []int32{11522}, +	0x10a3:  []int32{11523}, +	0x10a4:  []int32{11524}, +	0x10a5:  []int32{11525}, +	0x10a6:  []int32{11526}, +	0x10a7:  []int32{11527}, +	0x10a8:  []int32{11528}, +	0x10a9:  []int32{11529}, +	0x10aa:  []int32{11530}, +	0x10ab:  []int32{11531}, +	0x10ac:  []int32{11532}, +	0x10ad:  []int32{11533}, +	0x10ae:  []int32{11534}, +	0x10af:  []int32{11535}, +	0x10b0:  []int32{11536}, +	0x10b1:  []int32{11537}, +	0x10b2:  []int32{11538}, +	0x10b3:  []int32{11539}, +	0x10b4:  []int32{11540}, +	0x10b5:  []int32{11541}, +	0x10b6:  []int32{11542}, +	0x10b7:  []int32{11543}, +	0x10b8:  []int32{11544}, +	0x10b9:  []int32{11545}, +	0x10ba:  []int32{11546}, +	0x10bb:  []int32{11547}, +	0x10bc:  []int32{11548}, +	0x10bd:  []int32{11549}, +	0x10be:  []int32{11550}, +	0x10bf:  []int32{11551}, +	0x10c0:  []int32{11552}, +	0x10c1:  []int32{11553}, +	0x10c2:  []int32{11554}, +	0x10c3:  []int32{11555}, +	0x10c4:  []int32{11556}, +	0x10c5:  []int32{11557}, +	0x10c7:  []int32{11559}, +	0x10cd:  []int32{11565}, +	0x13f8:  []int32{5104}, +	0x13f9:  []int32{5105}, +	0x13fa:  []int32{5106}, +	0x13fb:  []int32{5107}, +	0x13fc:  []int32{5108}, +	0x13fd:  []int32{5109}, +	0x1c80:  []int32{1074}, +	0x1c81:  []int32{1076}, +	0x1c82:  []int32{1086}, +	0x1c83:  []int32{1089}, +	0x1c84:  []int32{1090}, +	0x1c85:  []int32{1090}, +	0x1c86:  []int32{1098}, +	0x1c87:  []int32{1123}, +	0x1c88:  []int32{42571}, +	0x1c90:  []int32{4304}, +	0x1c91:  []int32{4305}, +	0x1c92:  []int32{4306}, +	0x1c93:  []int32{4307}, +	0x1c94:  []int32{4308}, +	0x1c95:  []int32{4309}, +	0x1c96:  []int32{4310}, +	0x1c97:  []int32{4311}, +	0x1c98:  []int32{4312}, +	0x1c99:  []int32{4313}, +	0x1c9a:  []int32{4314}, +	0x1c9b:  []int32{4315}, +	0x1c9c:  []int32{4316}, +	0x1c9d:  []int32{4317}, +	0x1c9e:  []int32{4318}, +	0x1c9f:  []int32{4319}, +	0x1ca0:  []int32{4320}, +	0x1ca1:  []int32{4321}, +	0x1ca2:  []int32{4322}, +	0x1ca3:  []int32{4323}, +	0x1ca4:  []int32{4324}, +	0x1ca5:  []int32{4325}, +	0x1ca6:  []int32{4326}, +	0x1ca7:  []int32{4327}, +	0x1ca8:  []int32{4328}, +	0x1ca9:  []int32{4329}, +	0x1caa:  []int32{4330}, +	0x1cab:  []int32{4331}, +	0x1cac:  []int32{4332}, +	0x1cad:  []int32{4333}, +	0x1cae:  []int32{4334}, +	0x1caf:  []int32{4335}, +	0x1cb0:  []int32{4336}, +	0x1cb1:  []int32{4337}, +	0x1cb2:  []int32{4338}, +	0x1cb3:  []int32{4339}, +	0x1cb4:  []int32{4340}, +	0x1cb5:  []int32{4341}, +	0x1cb6:  []int32{4342}, +	0x1cb7:  []int32{4343}, +	0x1cb8:  []int32{4344}, +	0x1cb9:  []int32{4345}, +	0x1cba:  []int32{4346}, +	0x1cbd:  []int32{4349}, +	0x1cbe:  []int32{4350}, +	0x1cbf:  []int32{4351}, +	0x1e00:  []int32{7681}, +	0x1e02:  []int32{7683}, +	0x1e04:  []int32{7685}, +	0x1e06:  []int32{7687}, +	0x1e08:  []int32{7689}, +	0x1e0a:  []int32{7691}, +	0x1e0c:  []int32{7693}, +	0x1e0e:  []int32{7695}, +	0x1e10:  []int32{7697}, +	0x1e12:  []int32{7699}, +	0x1e14:  []int32{7701}, +	0x1e16:  []int32{7703}, +	0x1e18:  []int32{7705}, +	0x1e1a:  []int32{7707}, +	0x1e1c:  []int32{7709}, +	0x1e1e:  []int32{7711}, +	0x1e20:  []int32{7713}, +	0x1e22:  []int32{7715}, +	0x1e24:  []int32{7717}, +	0x1e26:  []int32{7719}, +	0x1e28:  []int32{7721}, +	0x1e2a:  []int32{7723}, +	0x1e2c:  []int32{7725}, +	0x1e2e:  []int32{7727}, +	0x1e30:  []int32{7729}, +	0x1e32:  []int32{7731}, +	0x1e34:  []int32{7733}, +	0x1e36:  []int32{7735}, +	0x1e38:  []int32{7737}, +	0x1e3a:  []int32{7739}, +	0x1e3c:  []int32{7741}, +	0x1e3e:  []int32{7743}, +	0x1e40:  []int32{7745}, +	0x1e42:  []int32{7747}, +	0x1e44:  []int32{7749}, +	0x1e46:  []int32{7751}, +	0x1e48:  []int32{7753}, +	0x1e4a:  []int32{7755}, +	0x1e4c:  []int32{7757}, +	0x1e4e:  []int32{7759}, +	0x1e50:  []int32{7761}, +	0x1e52:  []int32{7763}, +	0x1e54:  []int32{7765}, +	0x1e56:  []int32{7767}, +	0x1e58:  []int32{7769}, +	0x1e5a:  []int32{7771}, +	0x1e5c:  []int32{7773}, +	0x1e5e:  []int32{7775}, +	0x1e60:  []int32{7777}, +	0x1e62:  []int32{7779}, +	0x1e64:  []int32{7781}, +	0x1e66:  []int32{7783}, +	0x1e68:  []int32{7785}, +	0x1e6a:  []int32{7787}, +	0x1e6c:  []int32{7789}, +	0x1e6e:  []int32{7791}, +	0x1e70:  []int32{7793}, +	0x1e72:  []int32{7795}, +	0x1e74:  []int32{7797}, +	0x1e76:  []int32{7799}, +	0x1e78:  []int32{7801}, +	0x1e7a:  []int32{7803}, +	0x1e7c:  []int32{7805}, +	0x1e7e:  []int32{7807}, +	0x1e80:  []int32{7809}, +	0x1e82:  []int32{7811}, +	0x1e84:  []int32{7813}, +	0x1e86:  []int32{7815}, +	0x1e88:  []int32{7817}, +	0x1e8a:  []int32{7819}, +	0x1e8c:  []int32{7821}, +	0x1e8e:  []int32{7823}, +	0x1e90:  []int32{7825}, +	0x1e92:  []int32{7827}, +	0x1e94:  []int32{7829}, +	0x1e96:  []int32{104, 817}, +	0x1e97:  []int32{116, 776}, +	0x1e98:  []int32{119, 778}, +	0x1e99:  []int32{121, 778}, +	0x1e9a:  []int32{97, 702}, +	0x1e9b:  []int32{7777}, +	0x1e9e:  []int32{115, 115}, +	0x1ea0:  []int32{7841}, +	0x1ea2:  []int32{7843}, +	0x1ea4:  []int32{7845}, +	0x1ea6:  []int32{7847}, +	0x1ea8:  []int32{7849}, +	0x1eaa:  []int32{7851}, +	0x1eac:  []int32{7853}, +	0x1eae:  []int32{7855}, +	0x1eb0:  []int32{7857}, +	0x1eb2:  []int32{7859}, +	0x1eb4:  []int32{7861}, +	0x1eb6:  []int32{7863}, +	0x1eb8:  []int32{7865}, +	0x1eba:  []int32{7867}, +	0x1ebc:  []int32{7869}, +	0x1ebe:  []int32{7871}, +	0x1ec0:  []int32{7873}, +	0x1ec2:  []int32{7875}, +	0x1ec4:  []int32{7877}, +	0x1ec6:  []int32{7879}, +	0x1ec8:  []int32{7881}, +	0x1eca:  []int32{7883}, +	0x1ecc:  []int32{7885}, +	0x1ece:  []int32{7887}, +	0x1ed0:  []int32{7889}, +	0x1ed2:  []int32{7891}, +	0x1ed4:  []int32{7893}, +	0x1ed6:  []int32{7895}, +	0x1ed8:  []int32{7897}, +	0x1eda:  []int32{7899}, +	0x1edc:  []int32{7901}, +	0x1ede:  []int32{7903}, +	0x1ee0:  []int32{7905}, +	0x1ee2:  []int32{7907}, +	0x1ee4:  []int32{7909}, +	0x1ee6:  []int32{7911}, +	0x1ee8:  []int32{7913}, +	0x1eea:  []int32{7915}, +	0x1eec:  []int32{7917}, +	0x1eee:  []int32{7919}, +	0x1ef0:  []int32{7921}, +	0x1ef2:  []int32{7923}, +	0x1ef4:  []int32{7925}, +	0x1ef6:  []int32{7927}, +	0x1ef8:  []int32{7929}, +	0x1efa:  []int32{7931}, +	0x1efc:  []int32{7933}, +	0x1efe:  []int32{7935}, +	0x1f08:  []int32{7936}, +	0x1f09:  []int32{7937}, +	0x1f0a:  []int32{7938}, +	0x1f0b:  []int32{7939}, +	0x1f0c:  []int32{7940}, +	0x1f0d:  []int32{7941}, +	0x1f0e:  []int32{7942}, +	0x1f0f:  []int32{7943}, +	0x1f18:  []int32{7952}, +	0x1f19:  []int32{7953}, +	0x1f1a:  []int32{7954}, +	0x1f1b:  []int32{7955}, +	0x1f1c:  []int32{7956}, +	0x1f1d:  []int32{7957}, +	0x1f28:  []int32{7968}, +	0x1f29:  []int32{7969}, +	0x1f2a:  []int32{7970}, +	0x1f2b:  []int32{7971}, +	0x1f2c:  []int32{7972}, +	0x1f2d:  []int32{7973}, +	0x1f2e:  []int32{7974}, +	0x1f2f:  []int32{7975}, +	0x1f38:  []int32{7984}, +	0x1f39:  []int32{7985}, +	0x1f3a:  []int32{7986}, +	0x1f3b:  []int32{7987}, +	0x1f3c:  []int32{7988}, +	0x1f3d:  []int32{7989}, +	0x1f3e:  []int32{7990}, +	0x1f3f:  []int32{7991}, +	0x1f48:  []int32{8000}, +	0x1f49:  []int32{8001}, +	0x1f4a:  []int32{8002}, +	0x1f4b:  []int32{8003}, +	0x1f4c:  []int32{8004}, +	0x1f4d:  []int32{8005}, +	0x1f50:  []int32{965, 787}, +	0x1f52:  []int32{965, 787, 768}, +	0x1f54:  []int32{965, 787, 769}, +	0x1f56:  []int32{965, 787, 834}, +	0x1f59:  []int32{8017}, +	0x1f5b:  []int32{8019}, +	0x1f5d:  []int32{8021}, +	0x1f5f:  []int32{8023}, +	0x1f68:  []int32{8032}, +	0x1f69:  []int32{8033}, +	0x1f6a:  []int32{8034}, +	0x1f6b:  []int32{8035}, +	0x1f6c:  []int32{8036}, +	0x1f6d:  []int32{8037}, +	0x1f6e:  []int32{8038}, +	0x1f6f:  []int32{8039}, +	0x1f80:  []int32{7936, 953}, +	0x1f81:  []int32{7937, 953}, +	0x1f82:  []int32{7938, 953}, +	0x1f83:  []int32{7939, 953}, +	0x1f84:  []int32{7940, 953}, +	0x1f85:  []int32{7941, 953}, +	0x1f86:  []int32{7942, 953}, +	0x1f87:  []int32{7943, 953}, +	0x1f88:  []int32{7936, 953}, +	0x1f89:  []int32{7937, 953}, +	0x1f8a:  []int32{7938, 953}, +	0x1f8b:  []int32{7939, 953}, +	0x1f8c:  []int32{7940, 953}, +	0x1f8d:  []int32{7941, 953}, +	0x1f8e:  []int32{7942, 953}, +	0x1f8f:  []int32{7943, 953}, +	0x1f90:  []int32{7968, 953}, +	0x1f91:  []int32{7969, 953}, +	0x1f92:  []int32{7970, 953}, +	0x1f93:  []int32{7971, 953}, +	0x1f94:  []int32{7972, 953}, +	0x1f95:  []int32{7973, 953}, +	0x1f96:  []int32{7974, 953}, +	0x1f97:  []int32{7975, 953}, +	0x1f98:  []int32{7968, 953}, +	0x1f99:  []int32{7969, 953}, +	0x1f9a:  []int32{7970, 953}, +	0x1f9b:  []int32{7971, 953}, +	0x1f9c:  []int32{7972, 953}, +	0x1f9d:  []int32{7973, 953}, +	0x1f9e:  []int32{7974, 953}, +	0x1f9f:  []int32{7975, 953}, +	0x1fa0:  []int32{8032, 953}, +	0x1fa1:  []int32{8033, 953}, +	0x1fa2:  []int32{8034, 953}, +	0x1fa3:  []int32{8035, 953}, +	0x1fa4:  []int32{8036, 953}, +	0x1fa5:  []int32{8037, 953}, +	0x1fa6:  []int32{8038, 953}, +	0x1fa7:  []int32{8039, 953}, +	0x1fa8:  []int32{8032, 953}, +	0x1fa9:  []int32{8033, 953}, +	0x1faa:  []int32{8034, 953}, +	0x1fab:  []int32{8035, 953}, +	0x1fac:  []int32{8036, 953}, +	0x1fad:  []int32{8037, 953}, +	0x1fae:  []int32{8038, 953}, +	0x1faf:  []int32{8039, 953}, +	0x1fb2:  []int32{8048, 953}, +	0x1fb3:  []int32{945, 953}, +	0x1fb4:  []int32{940, 953}, +	0x1fb6:  []int32{945, 834}, +	0x1fb7:  []int32{945, 834, 953}, +	0x1fb8:  []int32{8112}, +	0x1fb9:  []int32{8113}, +	0x1fba:  []int32{8048}, +	0x1fbb:  []int32{8049}, +	0x1fbc:  []int32{945, 953}, +	0x1fbe:  []int32{953}, +	0x1fc2:  []int32{8052, 953}, +	0x1fc3:  []int32{951, 953}, +	0x1fc4:  []int32{942, 953}, +	0x1fc6:  []int32{951, 834}, +	0x1fc7:  []int32{951, 834, 953}, +	0x1fc8:  []int32{8050}, +	0x1fc9:  []int32{8051}, +	0x1fca:  []int32{8052}, +	0x1fcb:  []int32{8053}, +	0x1fcc:  []int32{951, 953}, +	0x1fd2:  []int32{953, 776, 768}, +	0x1fd3:  []int32{953, 776, 769}, +	0x1fd6:  []int32{953, 834}, +	0x1fd7:  []int32{953, 776, 834}, +	0x1fd8:  []int32{8144}, +	0x1fd9:  []int32{8145}, +	0x1fda:  []int32{8054}, +	0x1fdb:  []int32{8055}, +	0x1fe2:  []int32{965, 776, 768}, +	0x1fe3:  []int32{965, 776, 769}, +	0x1fe4:  []int32{961, 787}, +	0x1fe6:  []int32{965, 834}, +	0x1fe7:  []int32{965, 776, 834}, +	0x1fe8:  []int32{8160}, +	0x1fe9:  []int32{8161}, +	0x1fea:  []int32{8058}, +	0x1feb:  []int32{8059}, +	0x1fec:  []int32{8165}, +	0x1ff2:  []int32{8060, 953}, +	0x1ff3:  []int32{969, 953}, +	0x1ff4:  []int32{974, 953}, +	0x1ff6:  []int32{969, 834}, +	0x1ff7:  []int32{969, 834, 953}, +	0x1ff8:  []int32{8056}, +	0x1ff9:  []int32{8057}, +	0x1ffa:  []int32{8060}, +	0x1ffb:  []int32{8061}, +	0x1ffc:  []int32{969, 953}, +	0x2126:  []int32{969}, +	0x212a:  []int32{107}, +	0x212b:  []int32{229}, +	0x2132:  []int32{8526}, +	0x2160:  []int32{8560}, +	0x2161:  []int32{8561}, +	0x2162:  []int32{8562}, +	0x2163:  []int32{8563}, +	0x2164:  []int32{8564}, +	0x2165:  []int32{8565}, +	0x2166:  []int32{8566}, +	0x2167:  []int32{8567}, +	0x2168:  []int32{8568}, +	0x2169:  []int32{8569}, +	0x216a:  []int32{8570}, +	0x216b:  []int32{8571}, +	0x216c:  []int32{8572}, +	0x216d:  []int32{8573}, +	0x216e:  []int32{8574}, +	0x216f:  []int32{8575}, +	0x2183:  []int32{8580}, +	0x24b6:  []int32{9424}, +	0x24b7:  []int32{9425}, +	0x24b8:  []int32{9426}, +	0x24b9:  []int32{9427}, +	0x24ba:  []int32{9428}, +	0x24bb:  []int32{9429}, +	0x24bc:  []int32{9430}, +	0x24bd:  []int32{9431}, +	0x24be:  []int32{9432}, +	0x24bf:  []int32{9433}, +	0x24c0:  []int32{9434}, +	0x24c1:  []int32{9435}, +	0x24c2:  []int32{9436}, +	0x24c3:  []int32{9437}, +	0x24c4:  []int32{9438}, +	0x24c5:  []int32{9439}, +	0x24c6:  []int32{9440}, +	0x24c7:  []int32{9441}, +	0x24c8:  []int32{9442}, +	0x24c9:  []int32{9443}, +	0x24ca:  []int32{9444}, +	0x24cb:  []int32{9445}, +	0x24cc:  []int32{9446}, +	0x24cd:  []int32{9447}, +	0x24ce:  []int32{9448}, +	0x24cf:  []int32{9449}, +	0x2c00:  []int32{11312}, +	0x2c01:  []int32{11313}, +	0x2c02:  []int32{11314}, +	0x2c03:  []int32{11315}, +	0x2c04:  []int32{11316}, +	0x2c05:  []int32{11317}, +	0x2c06:  []int32{11318}, +	0x2c07:  []int32{11319}, +	0x2c08:  []int32{11320}, +	0x2c09:  []int32{11321}, +	0x2c0a:  []int32{11322}, +	0x2c0b:  []int32{11323}, +	0x2c0c:  []int32{11324}, +	0x2c0d:  []int32{11325}, +	0x2c0e:  []int32{11326}, +	0x2c0f:  []int32{11327}, +	0x2c10:  []int32{11328}, +	0x2c11:  []int32{11329}, +	0x2c12:  []int32{11330}, +	0x2c13:  []int32{11331}, +	0x2c14:  []int32{11332}, +	0x2c15:  []int32{11333}, +	0x2c16:  []int32{11334}, +	0x2c17:  []int32{11335}, +	0x2c18:  []int32{11336}, +	0x2c19:  []int32{11337}, +	0x2c1a:  []int32{11338}, +	0x2c1b:  []int32{11339}, +	0x2c1c:  []int32{11340}, +	0x2c1d:  []int32{11341}, +	0x2c1e:  []int32{11342}, +	0x2c1f:  []int32{11343}, +	0x2c20:  []int32{11344}, +	0x2c21:  []int32{11345}, +	0x2c22:  []int32{11346}, +	0x2c23:  []int32{11347}, +	0x2c24:  []int32{11348}, +	0x2c25:  []int32{11349}, +	0x2c26:  []int32{11350}, +	0x2c27:  []int32{11351}, +	0x2c28:  []int32{11352}, +	0x2c29:  []int32{11353}, +	0x2c2a:  []int32{11354}, +	0x2c2b:  []int32{11355}, +	0x2c2c:  []int32{11356}, +	0x2c2d:  []int32{11357}, +	0x2c2e:  []int32{11358}, +	0x2c2f:  []int32{11359}, +	0x2c60:  []int32{11361}, +	0x2c62:  []int32{619}, +	0x2c63:  []int32{7549}, +	0x2c64:  []int32{637}, +	0x2c67:  []int32{11368}, +	0x2c69:  []int32{11370}, +	0x2c6b:  []int32{11372}, +	0x2c6d:  []int32{593}, +	0x2c6e:  []int32{625}, +	0x2c6f:  []int32{592}, +	0x2c70:  []int32{594}, +	0x2c72:  []int32{11379}, +	0x2c75:  []int32{11382}, +	0x2c7e:  []int32{575}, +	0x2c7f:  []int32{576}, +	0x2c80:  []int32{11393}, +	0x2c82:  []int32{11395}, +	0x2c84:  []int32{11397}, +	0x2c86:  []int32{11399}, +	0x2c88:  []int32{11401}, +	0x2c8a:  []int32{11403}, +	0x2c8c:  []int32{11405}, +	0x2c8e:  []int32{11407}, +	0x2c90:  []int32{11409}, +	0x2c92:  []int32{11411}, +	0x2c94:  []int32{11413}, +	0x2c96:  []int32{11415}, +	0x2c98:  []int32{11417}, +	0x2c9a:  []int32{11419}, +	0x2c9c:  []int32{11421}, +	0x2c9e:  []int32{11423}, +	0x2ca0:  []int32{11425}, +	0x2ca2:  []int32{11427}, +	0x2ca4:  []int32{11429}, +	0x2ca6:  []int32{11431}, +	0x2ca8:  []int32{11433}, +	0x2caa:  []int32{11435}, +	0x2cac:  []int32{11437}, +	0x2cae:  []int32{11439}, +	0x2cb0:  []int32{11441}, +	0x2cb2:  []int32{11443}, +	0x2cb4:  []int32{11445}, +	0x2cb6:  []int32{11447}, +	0x2cb8:  []int32{11449}, +	0x2cba:  []int32{11451}, +	0x2cbc:  []int32{11453}, +	0x2cbe:  []int32{11455}, +	0x2cc0:  []int32{11457}, +	0x2cc2:  []int32{11459}, +	0x2cc4:  []int32{11461}, +	0x2cc6:  []int32{11463}, +	0x2cc8:  []int32{11465}, +	0x2cca:  []int32{11467}, +	0x2ccc:  []int32{11469}, +	0x2cce:  []int32{11471}, +	0x2cd0:  []int32{11473}, +	0x2cd2:  []int32{11475}, +	0x2cd4:  []int32{11477}, +	0x2cd6:  []int32{11479}, +	0x2cd8:  []int32{11481}, +	0x2cda:  []int32{11483}, +	0x2cdc:  []int32{11485}, +	0x2cde:  []int32{11487}, +	0x2ce0:  []int32{11489}, +	0x2ce2:  []int32{11491}, +	0x2ceb:  []int32{11500}, +	0x2ced:  []int32{11502}, +	0x2cf2:  []int32{11507}, +	0xa640:  []int32{42561}, +	0xa642:  []int32{42563}, +	0xa644:  []int32{42565}, +	0xa646:  []int32{42567}, +	0xa648:  []int32{42569}, +	0xa64a:  []int32{42571}, +	0xa64c:  []int32{42573}, +	0xa64e:  []int32{42575}, +	0xa650:  []int32{42577}, +	0xa652:  []int32{42579}, +	0xa654:  []int32{42581}, +	0xa656:  []int32{42583}, +	0xa658:  []int32{42585}, +	0xa65a:  []int32{42587}, +	0xa65c:  []int32{42589}, +	0xa65e:  []int32{42591}, +	0xa660:  []int32{42593}, +	0xa662:  []int32{42595}, +	0xa664:  []int32{42597}, +	0xa666:  []int32{42599}, +	0xa668:  []int32{42601}, +	0xa66a:  []int32{42603}, +	0xa66c:  []int32{42605}, +	0xa680:  []int32{42625}, +	0xa682:  []int32{42627}, +	0xa684:  []int32{42629}, +	0xa686:  []int32{42631}, +	0xa688:  []int32{42633}, +	0xa68a:  []int32{42635}, +	0xa68c:  []int32{42637}, +	0xa68e:  []int32{42639}, +	0xa690:  []int32{42641}, +	0xa692:  []int32{42643}, +	0xa694:  []int32{42645}, +	0xa696:  []int32{42647}, +	0xa698:  []int32{42649}, +	0xa69a:  []int32{42651}, +	0xa722:  []int32{42787}, +	0xa724:  []int32{42789}, +	0xa726:  []int32{42791}, +	0xa728:  []int32{42793}, +	0xa72a:  []int32{42795}, +	0xa72c:  []int32{42797}, +	0xa72e:  []int32{42799}, +	0xa732:  []int32{42803}, +	0xa734:  []int32{42805}, +	0xa736:  []int32{42807}, +	0xa738:  []int32{42809}, +	0xa73a:  []int32{42811}, +	0xa73c:  []int32{42813}, +	0xa73e:  []int32{42815}, +	0xa740:  []int32{42817}, +	0xa742:  []int32{42819}, +	0xa744:  []int32{42821}, +	0xa746:  []int32{42823}, +	0xa748:  []int32{42825}, +	0xa74a:  []int32{42827}, +	0xa74c:  []int32{42829}, +	0xa74e:  []int32{42831}, +	0xa750:  []int32{42833}, +	0xa752:  []int32{42835}, +	0xa754:  []int32{42837}, +	0xa756:  []int32{42839}, +	0xa758:  []int32{42841}, +	0xa75a:  []int32{42843}, +	0xa75c:  []int32{42845}, +	0xa75e:  []int32{42847}, +	0xa760:  []int32{42849}, +	0xa762:  []int32{42851}, +	0xa764:  []int32{42853}, +	0xa766:  []int32{42855}, +	0xa768:  []int32{42857}, +	0xa76a:  []int32{42859}, +	0xa76c:  []int32{42861}, +	0xa76e:  []int32{42863}, +	0xa779:  []int32{42874}, +	0xa77b:  []int32{42876}, +	0xa77d:  []int32{7545}, +	0xa77e:  []int32{42879}, +	0xa780:  []int32{42881}, +	0xa782:  []int32{42883}, +	0xa784:  []int32{42885}, +	0xa786:  []int32{42887}, +	0xa78b:  []int32{42892}, +	0xa78d:  []int32{613}, +	0xa790:  []int32{42897}, +	0xa792:  []int32{42899}, +	0xa796:  []int32{42903}, +	0xa798:  []int32{42905}, +	0xa79a:  []int32{42907}, +	0xa79c:  []int32{42909}, +	0xa79e:  []int32{42911}, +	0xa7a0:  []int32{42913}, +	0xa7a2:  []int32{42915}, +	0xa7a4:  []int32{42917}, +	0xa7a6:  []int32{42919}, +	0xa7a8:  []int32{42921}, +	0xa7aa:  []int32{614}, +	0xa7ab:  []int32{604}, +	0xa7ac:  []int32{609}, +	0xa7ad:  []int32{620}, +	0xa7ae:  []int32{618}, +	0xa7b0:  []int32{670}, +	0xa7b1:  []int32{647}, +	0xa7b2:  []int32{669}, +	0xa7b3:  []int32{43859}, +	0xa7b4:  []int32{42933}, +	0xa7b6:  []int32{42935}, +	0xa7b8:  []int32{42937}, +	0xa7ba:  []int32{42939}, +	0xa7bc:  []int32{42941}, +	0xa7be:  []int32{42943}, +	0xa7c0:  []int32{42945}, +	0xa7c2:  []int32{42947}, +	0xa7c4:  []int32{42900}, +	0xa7c5:  []int32{642}, +	0xa7c6:  []int32{7566}, +	0xa7c7:  []int32{42952}, +	0xa7c9:  []int32{42954}, +	0xa7d0:  []int32{42961}, +	0xa7d6:  []int32{42967}, +	0xa7d8:  []int32{42969}, +	0xa7f5:  []int32{42998}, +	0xab70:  []int32{5024}, +	0xab71:  []int32{5025}, +	0xab72:  []int32{5026}, +	0xab73:  []int32{5027}, +	0xab74:  []int32{5028}, +	0xab75:  []int32{5029}, +	0xab76:  []int32{5030}, +	0xab77:  []int32{5031}, +	0xab78:  []int32{5032}, +	0xab79:  []int32{5033}, +	0xab7a:  []int32{5034}, +	0xab7b:  []int32{5035}, +	0xab7c:  []int32{5036}, +	0xab7d:  []int32{5037}, +	0xab7e:  []int32{5038}, +	0xab7f:  []int32{5039}, +	0xab80:  []int32{5040}, +	0xab81:  []int32{5041}, +	0xab82:  []int32{5042}, +	0xab83:  []int32{5043}, +	0xab84:  []int32{5044}, +	0xab85:  []int32{5045}, +	0xab86:  []int32{5046}, +	0xab87:  []int32{5047}, +	0xab88:  []int32{5048}, +	0xab89:  []int32{5049}, +	0xab8a:  []int32{5050}, +	0xab8b:  []int32{5051}, +	0xab8c:  []int32{5052}, +	0xab8d:  []int32{5053}, +	0xab8e:  []int32{5054}, +	0xab8f:  []int32{5055}, +	0xab90:  []int32{5056}, +	0xab91:  []int32{5057}, +	0xab92:  []int32{5058}, +	0xab93:  []int32{5059}, +	0xab94:  []int32{5060}, +	0xab95:  []int32{5061}, +	0xab96:  []int32{5062}, +	0xab97:  []int32{5063}, +	0xab98:  []int32{5064}, +	0xab99:  []int32{5065}, +	0xab9a:  []int32{5066}, +	0xab9b:  []int32{5067}, +	0xab9c:  []int32{5068}, +	0xab9d:  []int32{5069}, +	0xab9e:  []int32{5070}, +	0xab9f:  []int32{5071}, +	0xaba0:  []int32{5072}, +	0xaba1:  []int32{5073}, +	0xaba2:  []int32{5074}, +	0xaba3:  []int32{5075}, +	0xaba4:  []int32{5076}, +	0xaba5:  []int32{5077}, +	0xaba6:  []int32{5078}, +	0xaba7:  []int32{5079}, +	0xaba8:  []int32{5080}, +	0xaba9:  []int32{5081}, +	0xabaa:  []int32{5082}, +	0xabab:  []int32{5083}, +	0xabac:  []int32{5084}, +	0xabad:  []int32{5085}, +	0xabae:  []int32{5086}, +	0xabaf:  []int32{5087}, +	0xabb0:  []int32{5088}, +	0xabb1:  []int32{5089}, +	0xabb2:  []int32{5090}, +	0xabb3:  []int32{5091}, +	0xabb4:  []int32{5092}, +	0xabb5:  []int32{5093}, +	0xabb6:  []int32{5094}, +	0xabb7:  []int32{5095}, +	0xabb8:  []int32{5096}, +	0xabb9:  []int32{5097}, +	0xabba:  []int32{5098}, +	0xabbb:  []int32{5099}, +	0xabbc:  []int32{5100}, +	0xabbd:  []int32{5101}, +	0xabbe:  []int32{5102}, +	0xabbf:  []int32{5103}, +	0xfb00:  []int32{102, 102}, +	0xfb01:  []int32{102, 105}, +	0xfb02:  []int32{102, 108}, +	0xfb03:  []int32{102, 102, 105}, +	0xfb04:  []int32{102, 102, 108}, +	0xfb05:  []int32{115, 116}, +	0xfb06:  []int32{115, 116}, +	0xfb13:  []int32{1396, 1398}, +	0xfb14:  []int32{1396, 1381}, +	0xfb15:  []int32{1396, 1387}, +	0xfb16:  []int32{1406, 1398}, +	0xfb17:  []int32{1396, 1389}, +	0xff21:  []int32{65345}, +	0xff22:  []int32{65346}, +	0xff23:  []int32{65347}, +	0xff24:  []int32{65348}, +	0xff25:  []int32{65349}, +	0xff26:  []int32{65350}, +	0xff27:  []int32{65351}, +	0xff28:  []int32{65352}, +	0xff29:  []int32{65353}, +	0xff2a:  []int32{65354}, +	0xff2b:  []int32{65355}, +	0xff2c:  []int32{65356}, +	0xff2d:  []int32{65357}, +	0xff2e:  []int32{65358}, +	0xff2f:  []int32{65359}, +	0xff30:  []int32{65360}, +	0xff31:  []int32{65361}, +	0xff32:  []int32{65362}, +	0xff33:  []int32{65363}, +	0xff34:  []int32{65364}, +	0xff35:  []int32{65365}, +	0xff36:  []int32{65366}, +	0xff37:  []int32{65367}, +	0xff38:  []int32{65368}, +	0xff39:  []int32{65369}, +	0xff3a:  []int32{65370}, +	0x10400: []int32{66600}, +	0x10401: []int32{66601}, +	0x10402: []int32{66602}, +	0x10403: []int32{66603}, +	0x10404: []int32{66604}, +	0x10405: []int32{66605}, +	0x10406: []int32{66606}, +	0x10407: []int32{66607}, +	0x10408: []int32{66608}, +	0x10409: []int32{66609}, +	0x1040a: []int32{66610}, +	0x1040b: []int32{66611}, +	0x1040c: []int32{66612}, +	0x1040d: []int32{66613}, +	0x1040e: []int32{66614}, +	0x1040f: []int32{66615}, +	0x10410: []int32{66616}, +	0x10411: []int32{66617}, +	0x10412: []int32{66618}, +	0x10413: []int32{66619}, +	0x10414: []int32{66620}, +	0x10415: []int32{66621}, +	0x10416: []int32{66622}, +	0x10417: []int32{66623}, +	0x10418: []int32{66624}, +	0x10419: []int32{66625}, +	0x1041a: []int32{66626}, +	0x1041b: []int32{66627}, +	0x1041c: []int32{66628}, +	0x1041d: []int32{66629}, +	0x1041e: []int32{66630}, +	0x1041f: []int32{66631}, +	0x10420: []int32{66632}, +	0x10421: []int32{66633}, +	0x10422: []int32{66634}, +	0x10423: []int32{66635}, +	0x10424: []int32{66636}, +	0x10425: []int32{66637}, +	0x10426: []int32{66638}, +	0x10427: []int32{66639}, +	0x104b0: []int32{66776}, +	0x104b1: []int32{66777}, +	0x104b2: []int32{66778}, +	0x104b3: []int32{66779}, +	0x104b4: []int32{66780}, +	0x104b5: []int32{66781}, +	0x104b6: []int32{66782}, +	0x104b7: []int32{66783}, +	0x104b8: []int32{66784}, +	0x104b9: []int32{66785}, +	0x104ba: []int32{66786}, +	0x104bb: []int32{66787}, +	0x104bc: []int32{66788}, +	0x104bd: []int32{66789}, +	0x104be: []int32{66790}, +	0x104bf: []int32{66791}, +	0x104c0: []int32{66792}, +	0x104c1: []int32{66793}, +	0x104c2: []int32{66794}, +	0x104c3: []int32{66795}, +	0x104c4: []int32{66796}, +	0x104c5: []int32{66797}, +	0x104c6: []int32{66798}, +	0x104c7: []int32{66799}, +	0x104c8: []int32{66800}, +	0x104c9: []int32{66801}, +	0x104ca: []int32{66802}, +	0x104cb: []int32{66803}, +	0x104cc: []int32{66804}, +	0x104cd: []int32{66805}, +	0x104ce: []int32{66806}, +	0x104cf: []int32{66807}, +	0x104d0: []int32{66808}, +	0x104d1: []int32{66809}, +	0x104d2: []int32{66810}, +	0x104d3: []int32{66811}, +	0x10570: []int32{66967}, +	0x10571: []int32{66968}, +	0x10572: []int32{66969}, +	0x10573: []int32{66970}, +	0x10574: []int32{66971}, +	0x10575: []int32{66972}, +	0x10576: []int32{66973}, +	0x10577: []int32{66974}, +	0x10578: []int32{66975}, +	0x10579: []int32{66976}, +	0x1057a: []int32{66977}, +	0x1057c: []int32{66979}, +	0x1057d: []int32{66980}, +	0x1057e: []int32{66981}, +	0x1057f: []int32{66982}, +	0x10580: []int32{66983}, +	0x10581: []int32{66984}, +	0x10582: []int32{66985}, +	0x10583: []int32{66986}, +	0x10584: []int32{66987}, +	0x10585: []int32{66988}, +	0x10586: []int32{66989}, +	0x10587: []int32{66990}, +	0x10588: []int32{66991}, +	0x10589: []int32{66992}, +	0x1058a: []int32{66993}, +	0x1058c: []int32{66995}, +	0x1058d: []int32{66996}, +	0x1058e: []int32{66997}, +	0x1058f: []int32{66998}, +	0x10590: []int32{66999}, +	0x10591: []int32{67000}, +	0x10592: []int32{67001}, +	0x10594: []int32{67003}, +	0x10595: []int32{67004}, +	0x10c80: []int32{68800}, +	0x10c81: []int32{68801}, +	0x10c82: []int32{68802}, +	0x10c83: []int32{68803}, +	0x10c84: []int32{68804}, +	0x10c85: []int32{68805}, +	0x10c86: []int32{68806}, +	0x10c87: []int32{68807}, +	0x10c88: []int32{68808}, +	0x10c89: []int32{68809}, +	0x10c8a: []int32{68810}, +	0x10c8b: []int32{68811}, +	0x10c8c: []int32{68812}, +	0x10c8d: []int32{68813}, +	0x10c8e: []int32{68814}, +	0x10c8f: []int32{68815}, +	0x10c90: []int32{68816}, +	0x10c91: []int32{68817}, +	0x10c92: []int32{68818}, +	0x10c93: []int32{68819}, +	0x10c94: []int32{68820}, +	0x10c95: []int32{68821}, +	0x10c96: []int32{68822}, +	0x10c97: []int32{68823}, +	0x10c98: []int32{68824}, +	0x10c99: []int32{68825}, +	0x10c9a: []int32{68826}, +	0x10c9b: []int32{68827}, +	0x10c9c: []int32{68828}, +	0x10c9d: []int32{68829}, +	0x10c9e: []int32{68830}, +	0x10c9f: []int32{68831}, +	0x10ca0: []int32{68832}, +	0x10ca1: []int32{68833}, +	0x10ca2: []int32{68834}, +	0x10ca3: []int32{68835}, +	0x10ca4: []int32{68836}, +	0x10ca5: []int32{68837}, +	0x10ca6: []int32{68838}, +	0x10ca7: []int32{68839}, +	0x10ca8: []int32{68840}, +	0x10ca9: []int32{68841}, +	0x10caa: []int32{68842}, +	0x10cab: []int32{68843}, +	0x10cac: []int32{68844}, +	0x10cad: []int32{68845}, +	0x10cae: []int32{68846}, +	0x10caf: []int32{68847}, +	0x10cb0: []int32{68848}, +	0x10cb1: []int32{68849}, +	0x10cb2: []int32{68850}, +	0x118a0: []int32{71872}, +	0x118a1: []int32{71873}, +	0x118a2: []int32{71874}, +	0x118a3: []int32{71875}, +	0x118a4: []int32{71876}, +	0x118a5: []int32{71877}, +	0x118a6: []int32{71878}, +	0x118a7: []int32{71879}, +	0x118a8: []int32{71880}, +	0x118a9: []int32{71881}, +	0x118aa: []int32{71882}, +	0x118ab: []int32{71883}, +	0x118ac: []int32{71884}, +	0x118ad: []int32{71885}, +	0x118ae: []int32{71886}, +	0x118af: []int32{71887}, +	0x118b0: []int32{71888}, +	0x118b1: []int32{71889}, +	0x118b2: []int32{71890}, +	0x118b3: []int32{71891}, +	0x118b4: []int32{71892}, +	0x118b5: []int32{71893}, +	0x118b6: []int32{71894}, +	0x118b7: []int32{71895}, +	0x118b8: []int32{71896}, +	0x118b9: []int32{71897}, +	0x118ba: []int32{71898}, +	0x118bb: []int32{71899}, +	0x118bc: []int32{71900}, +	0x118bd: []int32{71901}, +	0x118be: []int32{71902}, +	0x118bf: []int32{71903}, +	0x16e40: []int32{93792}, +	0x16e41: []int32{93793}, +	0x16e42: []int32{93794}, +	0x16e43: []int32{93795}, +	0x16e44: []int32{93796}, +	0x16e45: []int32{93797}, +	0x16e46: []int32{93798}, +	0x16e47: []int32{93799}, +	0x16e48: []int32{93800}, +	0x16e49: []int32{93801}, +	0x16e4a: []int32{93802}, +	0x16e4b: []int32{93803}, +	0x16e4c: []int32{93804}, +	0x16e4d: []int32{93805}, +	0x16e4e: []int32{93806}, +	0x16e4f: []int32{93807}, +	0x16e50: []int32{93808}, +	0x16e51: []int32{93809}, +	0x16e52: []int32{93810}, +	0x16e53: []int32{93811}, +	0x16e54: []int32{93812}, +	0x16e55: []int32{93813}, +	0x16e56: []int32{93814}, +	0x16e57: []int32{93815}, +	0x16e58: []int32{93816}, +	0x16e59: []int32{93817}, +	0x16e5a: []int32{93818}, +	0x16e5b: []int32{93819}, +	0x16e5c: []int32{93820}, +	0x16e5d: []int32{93821}, +	0x16e5e: []int32{93822}, +	0x16e5f: []int32{93823}, +	0x1e900: []int32{125218}, +	0x1e901: []int32{125219}, +	0x1e902: []int32{125220}, +	0x1e903: []int32{125221}, +	0x1e904: []int32{125222}, +	0x1e905: []int32{125223}, +	0x1e906: []int32{125224}, +	0x1e907: []int32{125225}, +	0x1e908: []int32{125226}, +	0x1e909: []int32{125227}, +	0x1e90a: []int32{125228}, +	0x1e90b: []int32{125229}, +	0x1e90c: []int32{125230}, +	0x1e90d: []int32{125231}, +	0x1e90e: []int32{125232}, +	0x1e90f: []int32{125233}, +	0x1e910: []int32{125234}, +	0x1e911: []int32{125235}, +	0x1e912: []int32{125236}, +	0x1e913: []int32{125237}, +	0x1e914: []int32{125238}, +	0x1e915: []int32{125239}, +	0x1e916: []int32{125240}, +	0x1e917: []int32{125241}, +	0x1e918: []int32{125242}, +	0x1e919: []int32{125243}, +	0x1e91a: []int32{125244}, +	0x1e91b: []int32{125245}, +	0x1e91c: []int32{125246}, +	0x1e91d: []int32{125247}, +	0x1e91e: []int32{125248}, +	0x1e91f: []int32{125249}, +	0x1e920: []int32{125250}, +	0x1e921: []int32{125251},  } diff --git a/vendor/github.com/yuin/goldmark/util/util.go b/vendor/github.com/yuin/goldmark/util/util.go index 88d2538df..1bfc58520 100644 --- a/vendor/github.com/yuin/goldmark/util/util.go +++ b/vendor/github.com/yuin/goldmark/util/util.go @@ -63,12 +63,13 @@ func (b *CopyOnWriteBuffer) AppendString(value string) {  // WriteByte writes the given byte to the buffer.  // WriteByte allocate new buffer and clears it at the first time. -func (b *CopyOnWriteBuffer) WriteByte(c byte) { +func (b *CopyOnWriteBuffer) WriteByte(c byte) error {  	if !b.copied {  		b.buffer = make([]byte, 0, len(b.buffer)+20)  		b.copied = true  	}  	b.buffer = append(b.buffer, c) +	return nil  }  // AppendByte appends given bytes to the buffer. @@ -145,12 +146,12 @@ func TabWidth(currentPos int) int {  // If the line contains tab characters, paddings may be not zero.  // currentPos==0 and width==2:  // -//     position: 0    1 -//               [TAB]aaaa -//     width:    1234 5678 +//	position: 0    1 +//	          [TAB]aaaa +//	width:    1234 5678  //  // width=2 is in the tab character. In this case, IndentPosition returns -// (pos=1, padding=2) +// (pos=1, padding=2).  func IndentPosition(bs []byte, currentPos, width int) (pos, padding int) {  	return IndentPositionPadding(bs, currentPos, 0, width)  } @@ -424,7 +425,7 @@ func DoFullUnicodeCaseFolding(v []byte) []byte {  			if c >= 0x41 && c <= 0x5a {  				// A-Z to a-z  				cob.Write(v[n:i]) -				cob.WriteByte(c + 32) +				_ = cob.WriteByte(c + 32)  				n = i + 1  			}  			continue @@ -521,7 +522,7 @@ func ToLinkReference(v []byte) string {  	return string(ReplaceSpaces(v, ' '))  } -var htmlEscapeTable = [256][]byte{nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, []byte("""), nil, nil, nil, []byte("&"), nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, []byte("<"), nil, []byte(">"), nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil} +var htmlEscapeTable = [256][]byte{nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, []byte("""), nil, nil, nil, []byte("&"), nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, []byte("<"), nil, []byte(">"), nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil} //nolint:golint,lll  // EscapeHTMLByte returns HTML escaped bytes if the given byte should be escaped,  // otherwise nil. @@ -557,7 +558,7 @@ func UnescapePunctuations(source []byte) []byte {  		c := source[i]  		if i < limit-1 && c == '\\' && IsPunct(source[i+1]) {  			cob.Write(source[n:i]) -			cob.WriteByte(source[i+1]) +			_ = cob.WriteByte(source[i+1])  			i += 2  			n = i  			continue @@ -573,9 +574,9 @@ func UnescapePunctuations(source []byte) []byte {  // ResolveNumericReferences resolve numeric references like 'Ӓ" .  func ResolveNumericReferences(source []byte) []byte {  	cob := NewCopyOnWriteBuffer(source) -	buf := make([]byte, 6, 6) +	buf := make([]byte, 6)  	limit := len(source) -	ok := false +	var ok bool  	n := 0  	for i := 0; i < limit; i++ {  		if source[i] == '&' { @@ -625,7 +626,7 @@ func ResolveNumericReferences(source []byte) []byte {  func ResolveEntityNames(source []byte) []byte {  	cob := NewCopyOnWriteBuffer(source)  	limit := len(source) -	ok := false +	var ok bool  	n := 0  	for i := 0; i < limit; i++ {  		if source[i] == '&' { @@ -658,9 +659,9 @@ var htmlSpace = []byte("%20")  // URLEscape escape the given URL.  // If resolveReference is set true: -//   1. unescape punctuations -//   2. resolve numeric references -//   3. resolve entity references +//  1. unescape punctuations +//  2. resolve numeric references +//  3. resolve entity references  //  // URL encoded values (%xx) are kept as is.  func URLEscape(v []byte, resolveReference bool) []byte { @@ -750,7 +751,7 @@ func FindURLIndex(b []byte) int {  	return i  } -var emailDomainRegexp = regexp.MustCompile(`^[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])?)*`) +var emailDomainRegexp = regexp.MustCompile(`^[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])?)*`) //nolint:golint,lll  // FindEmailIndex returns a stop index value if the given bytes seem an email address.  func FindEmailIndex(b []byte) int { @@ -781,18 +782,19 @@ func FindEmailIndex(b []byte) int {  var spaces = []byte(" \t\n\x0b\x0c\x0d") -var spaceTable = [256]int8{0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0} +var spaceTable = [256]int8{0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0} //nolint:golint,lll -var punctTable = [256]int8{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0} +var punctTable = [256]int8{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0} //nolint:golint,lll  // a-zA-Z0-9, ;/?:@&=+$,-_.!~*'()# -var urlEscapeTable = [256]int8{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0} -var utf8lenTable = [256]int8{1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 4, 4, 4, 4, 4, 4, 4, 4, 99, 99, 99, 99, 99, 99, 99, 99} +var urlEscapeTable = [256]int8{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0} //nolint:golint,lll -var urlTable = [256]uint8{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 5, 1, 5, 5, 1, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 1, 1, 0, 1, 0, 1, 1, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 1, 1, 1, 1, 1, 1, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1} +var utf8lenTable = [256]int8{1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 4, 4, 4, 4, 4, 4, 4, 4, 99, 99, 99, 99, 99, 99, 99, 99} //nolint:golint,lll -var emailTable = [256]uint8{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1, 1, 1, 0, 0, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 1, 0, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0} +var urlTable = [256]uint8{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 5, 1, 5, 5, 1, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 1, 1, 0, 1, 0, 1, 1, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 1, 1, 1, 1, 1, 1, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1} //nolint:golint,lll + +var emailTable = [256]uint8{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1, 1, 1, 0, 0, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 1, 0, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0} //nolint:golint,lll  // UTF8Len returns a byte length of the utf-8 character.  func UTF8Len(b byte) int8 { @@ -836,11 +838,18 @@ func IsAlphaNumeric(c byte) bool {  // IsEastAsianWideRune returns trhe if the given rune is an east asian wide character, otherwise false.  func IsEastAsianWideRune(r rune) bool { +	// https://en.wikipedia.org/wiki/CJK_Symbols_and_Punctuation +	var CJKSymbolsAndPunctuation = &unicode.RangeTable{ +		R16: []unicode.Range16{ +			{0x3000, 0x303F, 1}, +		}, +	}  	return unicode.Is(unicode.Hiragana, r) ||  		unicode.Is(unicode.Katakana, r) ||  		unicode.Is(unicode.Han, r) ||  		unicode.Is(unicode.Lm, r) || -		unicode.Is(unicode.Hangul, r) +		unicode.Is(unicode.Hangul, r) || +		unicode.Is(CJKSymbolsAndPunctuation, r)  }  // A BufWriter is a subset of the bufio.Writer . @@ -862,7 +871,7 @@ type PrioritizedValue struct {  	Priority int  } -// PrioritizedSlice is a slice of the PrioritizedValues +// PrioritizedSlice is a slice of the PrioritizedValues.  type PrioritizedSlice []PrioritizedValue  // Sort sorts the PrioritizedSlice in ascending order. @@ -977,7 +986,7 @@ func (s *bytesFilter) Contains(b []byte) bool {  	}  	h := bytesHash(b) % uint64(len(s.slots))  	slot := s.slots[h] -	if slot == nil || len(slot) == 0 { +	if len(slot) == 0 {  		return false  	}  	for _, element := range slot { diff --git a/vendor/github.com/yuin/goldmark/util/util_safe.go b/vendor/github.com/yuin/goldmark/util/util_safe.go index 507a9d029..2f6a3feee 100644 --- a/vendor/github.com/yuin/goldmark/util/util_safe.go +++ b/vendor/github.com/yuin/goldmark/util/util_safe.go @@ -1,3 +1,4 @@ +//go:build appengine || js  // +build appengine js  package util diff --git a/vendor/github.com/yuin/goldmark/util/util_unsafe.go b/vendor/github.com/yuin/goldmark/util/util_unsafe.go index d09881104..840007a2a 100644 --- a/vendor/github.com/yuin/goldmark/util/util_unsafe.go +++ b/vendor/github.com/yuin/goldmark/util/util_unsafe.go @@ -1,3 +1,4 @@ +//go:build !appengine && !js  // +build !appengine,!js  package util diff --git a/vendor/modules.txt b/vendor/modules.txt index 0ce4e52bb..b5de86caf 100644 --- a/vendor/modules.txt +++ b/vendor/modules.txt @@ -736,7 +736,7 @@ github.com/vmihailenco/tagparser/v2/internal/parser  # github.com/wagslane/go-password-validator v0.3.0  ## explicit; go 1.16  github.com/wagslane/go-password-validator -# github.com/yuin/goldmark v1.5.5 +# github.com/yuin/goldmark v1.5.6  ## explicit; go 1.18  github.com/yuin/goldmark  github.com/yuin/goldmark/ast | 
