summaryrefslogtreecommitdiffstats
path: root/vendor/golang.org
diff options
context:
space:
mode:
authorAntoine GIRARD <sapk@users.noreply.github.com>2018-05-20 12:09:00 +0200
committerLunny Xiao <xiaolunwen@gmail.com>2018-05-20 18:09:00 +0800
commitedc78b963361eb27bb013c9d74e095c3954dc8b0 (patch)
treec1b8d598dd885ac940c2252ff4a48ec53c6c13e4 /vendor/golang.org
parent000b2d33a9d4ca1da92956ca4dd6288d95c3e1d5 (diff)
downloadgitea-edc78b963361eb27bb013c9d74e095c3954dc8b0.tar.gz
gitea-edc78b963361eb27bb013c9d74e095c3954dc8b0.zip
Update to last common x/text (#3994)
Diffstat (limited to 'vendor/golang.org')
-rw-r--r--vendor/golang.org/x/text/encoding/charmap/charmap.go84
-rw-r--r--vendor/golang.org/x/text/encoding/charmap/maketables.go524
-rw-r--r--vendor/golang.org/x/text/encoding/charmap/tables.go880
-rw-r--r--vendor/golang.org/x/text/encoding/htmlindex/gen.go167
-rw-r--r--vendor/golang.org/x/text/encoding/htmlindex/tables.go2
-rw-r--r--vendor/golang.org/x/text/encoding/internal/identifier/gen.go137
-rw-r--r--vendor/golang.org/x/text/encoding/internal/identifier/identifier.go2
-rw-r--r--vendor/golang.org/x/text/encoding/internal/identifier/mib.go2
-rw-r--r--vendor/golang.org/x/text/encoding/japanese/eucjp.go72
-rw-r--r--vendor/golang.org/x/text/encoding/japanese/iso2022jp.go59
-rw-r--r--vendor/golang.org/x/text/encoding/japanese/maketables.go161
-rw-r--r--vendor/golang.org/x/text/encoding/japanese/shiftjis.go34
-rw-r--r--vendor/golang.org/x/text/encoding/korean/euckr.go39
-rw-r--r--vendor/golang.org/x/text/encoding/korean/maketables.go143
-rw-r--r--vendor/golang.org/x/text/encoding/simplifiedchinese/gbk.go60
-rw-r--r--vendor/golang.org/x/text/encoding/simplifiedchinese/hzgb2312.go49
-rw-r--r--vendor/golang.org/x/text/encoding/simplifiedchinese/maketables.go161
-rw-r--r--vendor/golang.org/x/text/encoding/traditionalchinese/big5.go25
-rw-r--r--vendor/golang.org/x/text/encoding/traditionalchinese/maketables.go140
-rw-r--r--vendor/golang.org/x/text/language/common.go2
-rw-r--r--vendor/golang.org/x/text/language/gen_common.go20
-rw-r--r--vendor/golang.org/x/text/language/gen_index.go162
-rw-r--r--vendor/golang.org/x/text/language/index.go1510
-rw-r--r--vendor/golang.org/x/text/language/maketables.go1648
-rw-r--r--vendor/golang.org/x/text/language/match.go20
-rw-r--r--vendor/golang.org/x/text/language/tables.go4447
-rw-r--r--vendor/golang.org/x/text/unicode/norm/maketables.go976
-rw-r--r--vendor/golang.org/x/text/unicode/norm/triegen.go117
28 files changed, 4081 insertions, 7562 deletions
diff --git a/vendor/golang.org/x/text/encoding/charmap/charmap.go b/vendor/golang.org/x/text/encoding/charmap/charmap.go
index 6e62a83747..e89ff0734f 100644
--- a/vendor/golang.org/x/text/encoding/charmap/charmap.go
+++ b/vendor/golang.org/x/text/encoding/charmap/charmap.go
@@ -33,32 +33,32 @@ var (
ISO8859_8I encoding.Encoding = &iso8859_8I
iso8859_6E = internal.Encoding{
- ISO8859_6,
- "ISO-8859-6E",
- identifier.ISO88596E,
+ Encoding: ISO8859_6,
+ Name: "ISO-8859-6E",
+ MIB: identifier.ISO88596E,
}
iso8859_6I = internal.Encoding{
- ISO8859_6,
- "ISO-8859-6I",
- identifier.ISO88596I,
+ Encoding: ISO8859_6,
+ Name: "ISO-8859-6I",
+ MIB: identifier.ISO88596I,
}
iso8859_8E = internal.Encoding{
- ISO8859_8,
- "ISO-8859-8E",
- identifier.ISO88598E,
+ Encoding: ISO8859_8,
+ Name: "ISO-8859-8E",
+ MIB: identifier.ISO88598E,
}
iso8859_8I = internal.Encoding{
- ISO8859_8,
- "ISO-8859-8I",
- identifier.ISO88598I,
+ Encoding: ISO8859_8,
+ Name: "ISO-8859-8I",
+ MIB: identifier.ISO88598I,
}
)
// All is a list of all defined encodings in this package.
-var All = listAll
+var All []encoding.Encoding = listAll
// TODO: implement these encodings, in order of importance.
// ASCII, ISO8859_1: Rather common. Close to Windows 1252.
@@ -70,8 +70,8 @@ type utf8Enc struct {
data [3]byte
}
-// charmap describes an 8-bit character set encoding.
-type charmap struct {
+// Charmap is an 8-bit character set encoding.
+type Charmap struct {
// name is the encoding's name.
name string
// mib is the encoding type of this encoder.
@@ -79,7 +79,7 @@ type charmap struct {
// asciiSuperset states whether the encoding is a superset of ASCII.
asciiSuperset bool
// low is the lower bound of the encoded byte for a non-ASCII rune. If
- // charmap.asciiSuperset is true then this will be 0x80, otherwise 0x00.
+ // Charmap.asciiSuperset is true then this will be 0x80, otherwise 0x00.
low uint8
// replacement is the encoded replacement character.
replacement byte
@@ -91,26 +91,30 @@ type charmap struct {
encode [256]uint32
}
-func (m *charmap) NewDecoder() *encoding.Decoder {
+// NewDecoder implements the encoding.Encoding interface.
+func (m *Charmap) NewDecoder() *encoding.Decoder {
return &encoding.Decoder{Transformer: charmapDecoder{charmap: m}}
}
-func (m *charmap) NewEncoder() *encoding.Encoder {
+// NewEncoder implements the encoding.Encoding interface.
+func (m *Charmap) NewEncoder() *encoding.Encoder {
return &encoding.Encoder{Transformer: charmapEncoder{charmap: m}}
}
-func (m *charmap) String() string {
+// String returns the Charmap's name.
+func (m *Charmap) String() string {
return m.name
}
-func (m *charmap) ID() (mib identifier.MIB, other string) {
+// ID implements an internal interface.
+func (m *Charmap) ID() (mib identifier.MIB, other string) {
return m.mib, ""
}
// charmapDecoder implements transform.Transformer by decoding to UTF-8.
type charmapDecoder struct {
transform.NopResetter
- charmap *charmap
+ charmap *Charmap
}
func (m charmapDecoder) Transform(dst, src []byte, atEOF bool) (nDst, nSrc int, err error) {
@@ -142,10 +146,22 @@ func (m charmapDecoder) Transform(dst, src []byte, atEOF bool) (nDst, nSrc int,
return nDst, nSrc, err
}
+// DecodeByte returns the Charmap's rune decoding of the byte b.
+func (m *Charmap) DecodeByte(b byte) rune {
+ switch x := &m.decode[b]; x.len {
+ case 1:
+ return rune(x.data[0])
+ case 2:
+ return rune(x.data[0]&0x1f)<<6 | rune(x.data[1]&0x3f)
+ default:
+ return rune(x.data[0]&0x0f)<<12 | rune(x.data[1]&0x3f)<<6 | rune(x.data[2]&0x3f)
+ }
+}
+
// charmapEncoder implements transform.Transformer by encoding from UTF-8.
type charmapEncoder struct {
transform.NopResetter
- charmap *charmap
+ charmap *Charmap
}
func (m charmapEncoder) Transform(dst, src []byte, atEOF bool) (nDst, nSrc int, err error) {
@@ -207,3 +223,27 @@ loop:
}
return nDst, nSrc, err
}
+
+// EncodeRune returns the Charmap's byte encoding of the rune r. ok is whether
+// r is in the Charmap's repertoire. If not, b is set to the Charmap's
+// replacement byte. This is often the ASCII substitute character '\x1a'.
+func (m *Charmap) EncodeRune(r rune) (b byte, ok bool) {
+ if r < utf8.RuneSelf && m.asciiSuperset {
+ return byte(r), true
+ }
+ for low, high := int(m.low), 0x100; ; {
+ if low >= high {
+ return m.replacement, false
+ }
+ mid := (low + high) / 2
+ got := m.encode[mid]
+ gotRune := rune(got & (1<<24 - 1))
+ if gotRune < r {
+ low = mid + 1
+ } else if gotRune > r {
+ high = mid
+ } else {
+ return byte(got >> 24), true
+ }
+ }
+}
diff --git a/vendor/golang.org/x/text/encoding/charmap/maketables.go b/vendor/golang.org/x/text/encoding/charmap/maketables.go
deleted file mode 100644
index 9672c552db..0000000000
--- a/vendor/golang.org/x/text/encoding/charmap/maketables.go
+++ /dev/null
@@ -1,524 +0,0 @@
-// Copyright 2013 The Go Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style
-// license that can be found in the LICENSE file.
-
-// +build ignore
-
-package main
-
-import (
- "bufio"
- "fmt"
- "log"
- "net/http"
- "sort"
- "strings"
- "unicode/utf8"
-
- "golang.org/x/text/encoding"
- "golang.org/x/text/internal/gen"
-)
-
-const ascii = "\x00\x01\x02\x03\x04\x05\x06\x07\x08\x09\x0a\x0b\x0c\x0d\x0e\x0f" +
- "\x10\x11\x12\x13\x14\x15\x16\x17\x18\x19\x1a\x1b\x1c\x1d\x1e\x1f" +
- ` !"#$%&'()*+,-./0123456789:;<=>?` +
- `@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_` +
- "`abcdefghijklmnopqrstuvwxyz{|}~\u007f"
-
-var encodings = []struct {
- name string
- mib string
- comment string
- varName string
- replacement byte
- mapping string
-}{
- {
- "IBM Code Page 437",
- "PC8CodePage437",
- "",
- "CodePage437",
- encoding.ASCIISub,
- "http://source.icu-project.org/repos/icu/data/trunk/charset/data/ucm/glibc-IBM437-2.1.2.ucm",
- },
- {
- "IBM Code Page 850",
- "PC850Multilingual",
- "",
- "CodePage850",
- encoding.ASCIISub,
- "http://source.icu-project.org/repos/icu/data/trunk/charset/data/ucm/glibc-IBM850-2.1.2.ucm",
- },
- {
- "IBM Code Page 852",
- "PCp852",
- "",
- "CodePage852",
- encoding.ASCIISub,
- "http://source.icu-project.org/repos/icu/data/trunk/charset/data/ucm/glibc-IBM852-2.1.2.ucm",
- },
- {
- "IBM Code Page 855",
- "IBM855",
- "",
- "CodePage855",
- encoding.ASCIISub,
- "http://source.icu-project.org/repos/icu/data/trunk/charset/data/ucm/glibc-IBM855-2.1.2.ucm",
- },
- {
- "Windows Code Page 858", // PC latin1 with Euro
- "IBM00858",
- "",
- "CodePage858",
- encoding.ASCIISub,
- "http://source.icu-project.org/repos/icu/data/trunk/charset/data/ucm/windows-858-2000.ucm",
- },
- {
- "IBM Code Page 860",
- "IBM860",
- "",
- "CodePage860",
- encoding.ASCIISub,
- "http://source.icu-project.org/repos/icu/data/trunk/charset/data/ucm/glibc-IBM860-2.1.2.ucm",
- },
- {
- "IBM Code Page 862",
- "PC862LatinHebrew",
- "",
- "CodePage862",
- encoding.ASCIISub,
- "http://source.icu-project.org/repos/icu/data/trunk/charset/data/ucm/glibc-IBM862-2.1.2.ucm",
- },
- {
- "IBM Code Page 863",
- "IBM863",
- "",
- "CodePage863",
- encoding.ASCIISub,
- "http://source.icu-project.org/repos/icu/data/trunk/charset/data/ucm/glibc-IBM863-2.1.2.ucm",
- },
- {
- "IBM Code Page 865",
- "IBM865",
- "",
- "CodePage865",
- encoding.ASCIISub,
- "http://source.icu-project.org/repos/icu/data/trunk/charset/data/ucm/glibc-IBM865-2.1.2.ucm",
- },
- {
- "IBM Code Page 866",
- "IBM866",
- "",
- "CodePage866",
- encoding.ASCIISub,
- "http://encoding.spec.whatwg.org/index-ibm866.txt",
- },
- {
- "ISO 8859-1",
- "ISOLatin1",
- "",
- "ISO8859_1",
- encoding.ASCIISub,
- "http://source.icu-project.org/repos/icu/data/trunk/charset/data/ucm/iso-8859_1-1998.ucm",
- },
- {
- "ISO 8859-2",
- "ISOLatin2",
- "",
- "ISO8859_2",
- encoding.ASCIISub,
- "http://encoding.spec.whatwg.org/index-iso-8859-2.txt",
- },
- {
- "ISO 8859-3",
- "ISOLatin3",
- "",
- "ISO8859_3",
- encoding.ASCIISub,
- "http://encoding.spec.whatwg.org/index-iso-8859-3.txt",
- },
- {
- "ISO 8859-4",
- "ISOLatin4",
- "",
- "ISO8859_4",
- encoding.ASCIISub,
- "http://encoding.spec.whatwg.org/index-iso-8859-4.txt",
- },
- {
- "ISO 8859-5",
- "ISOLatinCyrillic",
- "",
- "ISO8859_5",
- encoding.ASCIISub,
- "http://encoding.spec.whatwg.org/index-iso-8859-5.txt",
- },
- {
- "ISO 8859-6",
- "ISOLatinArabic",
- "",
- "ISO8859_6,ISO8859_6E,ISO8859_6I",
- encoding.ASCIISub,
- "http://encoding.spec.whatwg.org/index-iso-8859-6.txt",
- },
- {
- "ISO 8859-7",
- "ISOLatinGreek",
- "",
- "ISO8859_7",
- encoding.ASCIISub,
- "http://encoding.spec.whatwg.org/index-iso-8859-7.txt",
- },
- {
- "ISO 8859-8",
- "ISOLatinHebrew",
- "",
- "ISO8859_8,ISO8859_8E,ISO8859_8I",
- encoding.ASCIISub,
- "http://encoding.spec.whatwg.org/index-iso-8859-8.txt",
- },
- {
- "ISO 8859-10",
- "ISOLatin6",
- "",
- "ISO8859_10",
- encoding.ASCIISub,
- "http://encoding.spec.whatwg.org/index-iso-8859-10.txt",
- },
- {
- "ISO 8859-13",
- "ISO885913",
- "",
- "ISO8859_13",
- encoding.ASCIISub,
- "http://encoding.spec.whatwg.org/index-iso-8859-13.txt",
- },
- {
- "ISO 8859-14",
- "ISO885914",
- "",
- "ISO8859_14",
- encoding.ASCIISub,
- "http://encoding.spec.whatwg.org/index-iso-8859-14.txt",
- },
- {
- "ISO 8859-15",
- "ISO885915",
- "",
- "ISO8859_15",
- encoding.ASCIISub,
- "http://encoding.spec.whatwg.org/index-iso-8859-15.txt",
- },
- {
- "ISO 8859-16",
- "ISO885916",
- "",
- "ISO8859_16",
- encoding.ASCIISub,
- "http://encoding.spec.whatwg.org/index-iso-8859-16.txt",
- },
- {
- "KOI8-R",
- "KOI8R",
- "",
- "KOI8R",
- encoding.ASCIISub,
- "http://encoding.spec.whatwg.org/index-koi8-r.txt",
- },
- {
- "KOI8-U",
- "KOI8U",
- "",
- "KOI8U",
- encoding.ASCIISub,
- "http://encoding.spec.whatwg.org/index-koi8-u.txt",
- },
- {
- "Macintosh",
- "Macintosh",
- "",
- "Macintosh",
- encoding.ASCIISub,
- "http://encoding.spec.whatwg.org/index-macintosh.txt",
- },
- {
- "Macintosh Cyrillic",
- "MacintoshCyrillic",
- "",
- "MacintoshCyrillic",
- encoding.ASCIISub,
- "http://encoding.spec.whatwg.org/index-x-mac-cyrillic.txt",
- },
- {
- "Windows 874",
- "Windows874",
- "",
- "Windows874",
- encoding.ASCIISub,
- "http://encoding.spec.whatwg.org/index-windows-874.txt",
- },
- {
- "Windows 1250",
- "Windows1250",
- "",
- "Windows1250",
- encoding.ASCIISub,
- "http://encoding.spec.whatwg.org/index-windows-1250.txt",
- },
- {
- "Windows 1251",
- "Windows1251",
- "",
- "Windows1251",
- encoding.ASCIISub,
- "http://encoding.spec.whatwg.org/index-windows-1251.txt",
- },
- {
- "Windows 1252",
- "Windows1252",
- "",
- "Windows1252",
- encoding.ASCIISub,
- "http://encoding.spec.whatwg.org/index-windows-1252.txt",
- },
- {
- "Windows 1253",
- "Windows1253",
- "",
- "Windows1253",
- encoding.ASCIISub,
- "http://encoding.spec.whatwg.org/index-windows-1253.txt",
- },
- {
- "Windows 1254",
- "Windows1254",
- "",
- "Windows1254",
- encoding.ASCIISub,
- "http://encoding.spec.whatwg.org/index-windows-1254.txt",
- },
- {
- "Windows 1255",
- "Windows1255",
- "",
- "Windows1255",
- encoding.ASCIISub,
- "http://encoding.spec.whatwg.org/index-windows-1255.txt",
- },
- {
- "Windows 1256",
- "Windows1256",
- "",
- "Windows1256",
- encoding.ASCIISub,
- "http://encoding.spec.whatwg.org/index-windows-1256.txt",
- },
- {
- "Windows 1257",
- "Windows1257",
- "",
- "Windows1257",
- encoding.ASCIISub,
- "http://encoding.spec.whatwg.org/index-windows-1257.txt",
- },
- {
- "Windows 1258",
- "Windows1258",
- "",
- "Windows1258",
- encoding.ASCIISub,
- "http://encoding.spec.whatwg.org/index-windows-1258.txt",
- },
- {
- "X-User-Defined",
- "XUserDefined",
- "It is defined at http://encoding.spec.whatwg.org/#x-user-defined",
- "XUserDefined",
- encoding.ASCIISub,
- ascii +
- "\uf780\uf781\uf782\uf783\uf784\uf785\uf786\uf787" +
- "\uf788\uf789\uf78a\uf78b\uf78c\uf78d\uf78e\uf78f" +
- "\uf790\uf791\uf792\uf793\uf794\uf795\uf796\uf797" +
- "\uf798\uf799\uf79a\uf79b\uf79c\uf79d\uf79e\uf79f" +
- "\uf7a0\uf7a1\uf7a2\uf7a3\uf7a4\uf7a5\uf7a6\uf7a7" +
- "\uf7a8\uf7a9\uf7aa\uf7ab\uf7ac\uf7ad\uf7ae\uf7af" +
- "\uf7b0\uf7b1\uf7b2\uf7b3\uf7b4\uf7b5\uf7b6\uf7b7" +
- "\uf7b8\uf7b9\uf7ba\uf7bb\uf7bc\uf7bd\uf7be\uf7bf" +
- "\uf7c0\uf7c1\uf7c2\uf7c3\uf7c4\uf7c5\uf7c6\uf7c7" +
- "\uf7c8\uf7c9\uf7ca\uf7cb\uf7cc\uf7cd\uf7ce\uf7cf" +
- "\uf7d0\uf7d1\uf7d2\uf7d3\uf7d4\uf7d5\uf7d6\uf7d7" +
- "\uf7d8\uf7d9\uf7da\uf7db\uf7dc\uf7dd\uf7de\uf7df" +
- "\uf7e0\uf7e1\uf7e2\uf7e3\uf7e4\uf7e5\uf7e6\uf7e7" +
- "\uf7e8\uf7e9\uf7ea\uf7eb\uf7ec\uf7ed\uf7ee\uf7ef" +
- "\uf7f0\uf7f1\uf7f2\uf7f3\uf7f4\uf7f5\uf7f6\uf7f7" +
- "\uf7f8\uf7f9\uf7fa\uf7fb\uf7fc\uf7fd\uf7fe\uf7ff",
- },
-}
-
-func getWHATWG(url string) string {
- res, err := http.Get(url)
- if err != nil {
- log.Fatalf("%q: Get: %v", url, err)
- }
- defer res.Body.Close()
-
- mapping := make([]rune, 128)
- for i := range mapping {
- mapping[i] = '\ufffd'
- }
-
- scanner := bufio.NewScanner(res.Body)
- for scanner.Scan() {
- s := strings.TrimSpace(scanner.Text())
- if s == "" || s[0] == '#' {
- continue
- }
- x, y := 0, 0
- if _, err := fmt.Sscanf(s, "%d\t0x%x", &x, &y); err != nil {
- log.Fatalf("could not parse %q", s)
- }
- if x < 0 || 128 <= x {
- log.Fatalf("code %d is out of range", x)
- }
- if 0x80 <= y && y < 0xa0 {
- // We diverge from the WHATWG spec by mapping control characters
- // in the range [0x80, 0xa0) to U+FFFD.
- continue
- }
- mapping[x] = rune(y)
- }
- return ascii + string(mapping)
-}
-
-func getUCM(url string) string {
- res, err := http.Get(url)
- if err != nil {
- log.Fatalf("%q: Get: %v", url, err)
- }
- defer res.Body.Close()
-
- mapping := make([]rune, 256)
- for i := range mapping {
- mapping[i] = '\ufffd'
- }
-
- charsFound := 0
- scanner := bufio.NewScanner(res.Body)
- for scanner.Scan() {
- s := strings.TrimSpace(scanner.Text())
- if s == "" || s[0] == '#' {
- continue
- }
- var c byte
- var r rune
- if _, err := fmt.Sscanf(s, `<U%x> \x%x |0`, &r, &c); err != nil {
- continue
- }
- mapping[c] = r
- charsFound++
- }
-
- if charsFound < 200 {
- log.Fatalf("%q: only %d characters found (wrong page format?)", url, charsFound)
- }
-
- return string(mapping)
-}
-
-func main() {
- mibs := map[string]bool{}
- all := []string{}
-
- w := gen.NewCodeWriter()
- defer w.WriteGoFile("tables.go", "charmap")
-
- printf := func(s string, a ...interface{}) { fmt.Fprintf(w, s, a...) }
-
- printf("import (\n")
- printf("\t\"golang.org/x/text/encoding\"\n")
- printf("\t\"golang.org/x/text/encoding/internal/identifier\"\n")
- printf(")\n\n")
- for _, e := range encodings {
- varNames := strings.Split(e.varName, ",")
- all = append(all, varNames...)
- varName := varNames[0]
- switch {
- case strings.HasPrefix(e.mapping, "http://encoding.spec.whatwg.org/"):
- e.mapping = getWHATWG(e.mapping)
- case strings.HasPrefix(e.mapping, "http://source.icu-project.org/repos/icu/data/trunk/charset/data/ucm/"):
- e.mapping = getUCM(e.mapping)
- }
-
- asciiSuperset, low := strings.HasPrefix(e.mapping, ascii), 0x00
- if asciiSuperset {
- low = 0x80
- }
- lvn := 1
- if strings.HasPrefix(varName, "ISO") || strings.HasPrefix(varName, "KOI") {
- lvn = 3
- }
- lowerVarName := strings.ToLower(varName[:lvn]) + varName[lvn:]
- printf("// %s is the %s encoding.\n", varName, e.name)
- if e.comment != "" {
- printf("//\n// %s\n", e.comment)
- }
- printf("var %s encoding.Encoding = &%s\n\nvar %s = charmap{\nname: %q,\n",
- varName, lowerVarName, lowerVarName, e.name)
- if mibs[e.mib] {
- log.Fatalf("MIB type %q declared multiple times.", e.mib)
- }
- printf("mib: identifier.%s,\n", e.mib)
- printf("asciiSuperset: %t,\n", asciiSuperset)
- printf("low: 0x%02x,\n", low)
- printf("replacement: 0x%02x,\n", e.replacement)
-
- printf("decode: [256]utf8Enc{\n")
- i, backMapping := 0, map[rune]byte{}
- for _, c := range e.mapping {
- if _, ok := backMapping[c]; !ok && c != utf8.RuneError {
- backMapping[c] = byte(i)
- }
- var buf [8]byte
- n := utf8.EncodeRune(buf[:], c)
- if n > 3 {
- panic(fmt.Sprintf("rune %q (%U) is too long", c, c))
- }
- printf("{%d,[3]byte{0x%02x,0x%02x,0x%02x}},", n, buf[0], buf[1], buf[2])
- if i%2 == 1 {
- printf("\n")
- }
- i++
- }
- printf("},\n")
-
- printf("encode: [256]uint32{\n")
- encode := make([]uint32, 0, 256)
- for c, i := range backMapping {
- encode = append(encode, uint32(i)<<24|uint32(c))
- }
- sort.Sort(byRune(encode))
- for len(encode) < cap(encode) {
- encode = append(encode, encode[len(encode)-1])
- }
- for i, enc := range encode {
- printf("0x%08x,", enc)
- if i%8 == 7 {
- printf("\n")
- }
- }
- printf("},\n}\n")
-
- // Add an estimate of the size of a single charmap{} struct value, which
- // includes two 256 elem arrays of 4 bytes and some extra fields, which
- // align to 3 uint64s on 64-bit architectures.
- w.Size += 2*4*256 + 3*8
- }
- // TODO: add proper line breaking.
- printf("var listAll = []encoding.Encoding{\n%s,\n}\n\n", strings.Join(all, ",\n"))
-}
-
-type byRune []uint32
-
-func (b byRune) Len() int { return len(b) }
-func (b byRune) Less(i, j int) bool { return b[i]&0xffffff < b[j]&0xffffff }
-func (b byRune) Swap(i, j int) { b[i], b[j] = b[j], b[i] }
diff --git a/vendor/golang.org/x/text/encoding/charmap/tables.go b/vendor/golang.org/x/text/encoding/charmap/tables.go
index 5ae8dbcfa6..cf7281e9e3 100644
--- a/vendor/golang.org/x/text/encoding/charmap/tables.go
+++ b/vendor/golang.org/x/text/encoding/charmap/tables.go
@@ -1,4 +1,4 @@
-// This file was generated by go generate; DO NOT EDIT
+// Code generated by running "go generate" in golang.org/x/text. DO NOT EDIT.
package charmap
@@ -7,10 +7,185 @@ import (
"golang.org/x/text/encoding/internal/identifier"
)
+// CodePage037 is the IBM Code Page 037 encoding.
+var CodePage037 *Charmap = &codePage037
+
+var codePage037 = Charmap{
+ name: "IBM Code Page 037",
+ mib: identifier.IBM037,
+ asciiSuperset: false,
+ low: 0x00,
+ replacement: 0x3f,
+ decode: [256]utf8Enc{
+ {1, [3]byte{0x00, 0x00, 0x00}}, {1, [3]byte{0x01, 0x00, 0x00}},
+ {1, [3]byte{0x02, 0x00, 0x00}}, {1, [3]byte{0x03, 0x00, 0x00}},
+ {2, [3]byte{0xc2, 0x9c, 0x00}}, {1, [3]byte{0x09, 0x00, 0x00}},
+ {2, [3]byte{0xc2, 0x86, 0x00}}, {1, [3]byte{0x7f, 0x00, 0x00}},
+ {2, [3]byte{0xc2, 0x97, 0x00}}, {2, [3]byte{0xc2, 0x8d, 0x00}},
+ {2, [3]byte{0xc2, 0x8e, 0x00}}, {1, [3]byte{0x0b, 0x00, 0x00}},
+ {1, [3]byte{0x0c, 0x00, 0x00}}, {1, [3]byte{0x0d, 0x00, 0x00}},
+ {1, [3]byte{0x0e, 0x00, 0x00}}, {1, [3]byte{0x0f, 0x00, 0x00}},
+ {1, [3]byte{0x10, 0x00, 0x00}}, {1, [3]byte{0x11, 0x00, 0x00}},
+ {1, [3]byte{0x12, 0x00, 0x00}}, {1, [3]byte{0x13, 0x00, 0x00}},
+ {2, [3]byte{0xc2, 0x9d, 0x00}}, {2, [3]byte{0xc2, 0x85, 0x00}},
+ {1, [3]byte{0x08, 0x00, 0x00}}, {2, [3]byte{0xc2, 0x87, 0x00}},
+ {1, [3]byte{0x18, 0x00, 0x00}}, {1, [3]byte{0x19, 0x00, 0x00}},
+ {2, [3]byte{0xc2, 0x92, 0x00}}, {2, [3]byte{0xc2, 0x8f, 0x00}},
+ {1, [3]byte{0x1c, 0x00, 0x00}}, {1, [3]byte{0x1d, 0x00, 0x00}},
+ {1, [3]byte{0x1e, 0x00, 0x00}}, {1, [3]byte{0x1f, 0x00, 0x00}},
+ {2, [3]byte{0xc2, 0x80, 0x00}}, {2, [3]byte{0xc2, 0x81, 0x00}},
+ {2, [3]byte{0xc2, 0x82, 0x00}}, {2, [3]byte{0xc2, 0x83, 0x00}},
+ {2, [3]byte{0xc2, 0x84, 0x00}}, {1, [3]byte{0x0a, 0x00, 0x00}},
+ {1, [3]byte{0x17, 0x00, 0x00}}, {1, [3]byte{0x1b, 0x00, 0x00}},
+ {2, [3]byte{0xc2, 0x88, 0x00}}, {2, [3]byte{0xc2, 0x89, 0x00}},
+ {2, [3]byte{0xc2, 0x8a, 0x00}}, {2, [3]byte{0xc2, 0x8b, 0x00}},
+ {2, [3]byte{0xc2, 0x8c, 0x00}}, {1, [3]byte{0x05, 0x00, 0x00}},
+ {1, [3]byte{0x06, 0x00, 0x00}}, {1, [3]byte{0x07, 0x00, 0x00}},
+ {2, [3]byte{0xc2, 0x90, 0x00}}, {2, [3]byte{0xc2, 0x91, 0x00}},
+ {1, [3]byte{0x16, 0x00, 0x00}}, {2, [3]byte{0xc2, 0x93, 0x00}},
+ {2, [3]byte{0xc2, 0x94, 0x00}}, {2, [3]byte{0xc2, 0x95, 0x00}},
+ {2, [3]byte{0xc2, 0x96, 0x00}}, {1, [3]byte{0x04, 0x00, 0x00}},
+ {2, [3]byte{0xc2, 0x98, 0x00}}, {2, [3]byte{0xc2, 0x99, 0x00}},
+ {2, [3]byte{0xc2, 0x9a, 0x00}}, {2, [3]byte{0xc2, 0x9b, 0x00}},
+ {1, [3]byte{0x14, 0x00, 0x00}}, {1, [3]byte{0x15, 0x00, 0x00}},
+ {2, [3]byte{0xc2, 0x9e, 0x00}}, {1, [3]byte{0x1a, 0x00, 0x00}},
+ {1, [3]byte{0x20, 0x00, 0x00}}, {2, [3]byte{0xc2, 0xa0, 0x00}},
+ {2, [3]byte{0xc3, 0xa2, 0x00}}, {2, [3]byte{0xc3, 0xa4, 0x00}},
+ {2, [3]byte{0xc3, 0xa0, 0x00}}, {2, [3]byte{0xc3, 0xa1, 0x00}},
+ {2, [3]byte{0xc3, 0xa3, 0x00}}, {2, [3]byte{0xc3, 0xa5, 0x00}},
+ {2, [3]byte{0xc3, 0xa7, 0x00}}, {2, [3]byte{0xc3, 0xb1, 0x00}},
+ {2, [3]byte{0xc2, 0xa2, 0x00}}, {1, [3]byte{0x2e, 0x00, 0x00}},
+ {1, [3]byte{0x3c, 0x00, 0x00}}, {1, [3]byte{0x28, 0x00, 0x00}},
+ {1, [3]byte{0x2b, 0x00, 0x00}}, {1, [3]byte{0x7c, 0x00, 0x00}},
+ {1, [3]byte{0x26, 0x00, 0x00}}, {2, [3]byte{0xc3, 0xa9, 0x00}},
+ {2, [3]byte{0xc3, 0xaa, 0x00}}, {2, [3]byte{0xc3, 0xab, 0x00}},
+ {2, [3]byte{0xc3, 0xa8, 0x00}}, {2, [3]byte{0xc3, 0xad, 0x00}},
+ {2, [3]byte{0xc3, 0xae, 0x00}}, {2, [3]byte{0xc3, 0xaf, 0x00}},
+ {2, [3]byte{0xc3, 0xac, 0x00}}, {2, [3]byte{0xc3, 0x9f, 0x00}},
+ {1, [3]byte{0x21, 0x00, 0x00}}, {1, [3]byte{0x24, 0x00, 0x00}},
+ {1, [3]byte{0x2a, 0x00, 0x00}}, {1, [3]byte{0x29, 0x00, 0x00}},
+ {1, [3]byte{0x3b, 0x00, 0x00}}, {2, [3]byte{0xc2, 0xac, 0x00}},
+ {1, [3]byte{0x2d, 0x00, 0x00}}, {1, [3]byte{0x2f, 0x00, 0x00}},
+ {2, [3]byte{0xc3, 0x82, 0x00}}, {2, [3]byte{0xc3, 0x84, 0x00}},
+ {2, [3]byte{0xc3, 0x80, 0x00}}, {2, [3]byte{0xc3, 0x81, 0x00}},
+ {2, [3]byte{0xc3, 0x83, 0x00}}, {2, [3]byte{0xc3, 0x85, 0x00}},
+ {2, [3]byte{0xc3, 0x87, 0x00}}, {2, [3]byte{0xc3, 0x91, 0x00}},
+ {2, [3]byte{0xc2, 0xa6, 0x00}}, {1, [3]byte{0x2c, 0x00, 0x00}},
+ {1, [3]byte{0x25, 0x00, 0x00}}, {1, [3]byte{0x5f, 0x00, 0x00}},
+ {1, [3]byte{0x3e, 0x00, 0x00}}, {1, [3]byte{0x3f, 0x00, 0x00}},
+ {2, [3]byte{0xc3, 0xb8, 0x00}}, {2, [3]byte{0xc3, 0x89, 0x00}},
+ {2, [3]byte{0xc3, 0x8a, 0x00}}, {2, [3]byte{0xc3, 0x8b, 0x00}},
+ {2, [3]byte{0xc3, 0x88, 0x00}}, {2, [3]byte{0xc3, 0x8d, 0x00}},
+ {2, [3]byte{0xc3, 0x8e, 0x00}}, {2, [3]byte{0xc3, 0x8f, 0x00}},
+ {2, [3]byte{0xc3, 0x8c, 0x00}}, {1, [3]byte{0x60, 0x00, 0x00}},
+ {1, [3]byte{0x3a, 0x00, 0x00}}, {1, [3]byte{0x23, 0x00, 0x00}},
+ {1, [3]byte{0x40, 0x00, 0x00}}, {1, [3]byte{0x27, 0x00, 0x00}},
+ {1, [3]byte{0x3d, 0x00, 0x00}}, {1, [3]byte{0x22, 0x00, 0x00}},
+ {2, [3]byte{0xc3, 0x98, 0x00}}, {1, [3]byte{0x61, 0x00, 0x00}},
+ {1, [3]byte{0x62, 0x00, 0x00}}, {1, [3]byte{0x63, 0x00, 0x00}},
+ {1, [3]byte{0x64, 0x00, 0x00}}, {1, [3]byte{0x65, 0x00, 0x00}},
+ {1, [3]byte{0x66, 0x00, 0x00}}, {1, [3]byte{0x67, 0x00, 0x00}},
+ {1, [3]byte{0x68, 0x00, 0x00}}, {1, [3]byte{0x69, 0x00, 0x00}},
+ {2, [3]byte{0xc2, 0xab, 0x00}}, {2, [3]byte{0xc2, 0xbb, 0x00}},
+ {2, [3]byte{0xc3, 0xb0, 0x00}}, {2, [3]byte{0xc3, 0xbd, 0x00}},
+ {2, [3]byte{0xc3, 0xbe, 0x00}}, {2, [3]byte{0xc2, 0xb1, 0x00}},
+ {2, [3]byte{0xc2, 0xb0, 0x00}}, {1, [3]byte{0x6a, 0x00, 0x00}},
+ {1, [3]byte{0x6b, 0x00, 0x00}}, {1, [3]byte{0x6c, 0x00, 0x00}},
+ {1, [3]byte{0x6d, 0x00, 0x00}}, {1, [3]byte{0x6e, 0x00, 0x00}},
+ {1, [3]byte{0x6f, 0x00, 0x00}}, {1, [3]byte{0x70, 0x00, 0x00}},
+ {1, [3]byte{0x71, 0x00, 0x00}}, {1, [3]byte{0x72, 0x00, 0x00}},
+ {2, [3]byte{0xc2, 0xaa, 0x00}}, {2, [3]byte{0xc2, 0xba, 0x00}},
+ {2, [3]byte{0xc3, 0xa6, 0x00}}, {2, [3]byte{0xc2, 0xb8, 0x00}},
+ {2, [3]byte{0xc3, 0x86, 0x00}}, {2, [3]byte{0xc2, 0xa4, 0x00}},
+ {2, [3]byte{0xc2, 0xb5, 0x00}}, {1, [3]byte{0x7e, 0x00, 0x00}},
+ {1, [3]byte{0x73, 0x00, 0x00}}, {1, [3]byte{0x74, 0x00, 0x00}},
+ {1, [3]byte{0x75, 0x00, 0x00}}, {1, [3]byte{0x76, 0x00, 0x00}},
+ {1, [3]byte{0x77, 0x00, 0x00}}, {1, [3]byte{0x78, 0x00, 0x00}},
+ {1, [3]byte{0x79, 0x00, 0x00}}, {1, [3]byte{0x7a, 0x00, 0x00}},
+ {2, [3]byte{0xc2, 0xa1, 0x00}}, {2, [3]byte{0xc2, 0xbf, 0x00}},
+ {2, [3]byte{0xc3, 0x90, 0x00}}, {2, [3]byte{0xc3, 0x9d, 0x00}},
+ {2, [3]byte{0xc3, 0x9e, 0x00}}, {2, [3]byte{0xc2, 0xae, 0x00}},
+ {1, [3]byte{0x5e, 0x00, 0x00}}, {2, [3]byte{0xc2, 0xa3, 0x00}},
+ {2, [3]byte{0xc2, 0xa5, 0x00}}, {2, [3]byte{0xc2, 0xb7, 0x00}},
+ {2, [3]byte{0xc2, 0xa9, 0x00}}, {2, [3]byte{0xc2, 0xa7, 0x00}},
+ {2, [3]byte{0xc2, 0xb6, 0x00}}, {2, [3]byte{0xc2, 0xbc, 0x00}},
+ {2, [3]byte{0xc2, 0xbd, 0x00}}, {2, [3]byte{0xc2, 0xbe, 0x00}},
+ {1, [3]byte{0x5b, 0x00, 0x00}}, {1, [3]byte{0x5d, 0x00, 0x00}},
+ {2, [3]byte{0xc2, 0xaf, 0x00}}, {2, [3]byte{0xc2, 0xa8, 0x00}},
+ {2, [3]byte{0xc2, 0xb4, 0x00}}, {2, [3]byte{0xc3, 0x97, 0x00}},
+ {1, [3]byte{0x7b, 0x00, 0x00}}, {1, [3]byte{0x41, 0x00, 0x00}},
+ {1, [3]byte{0x42, 0x00, 0x00}}, {1, [3]byte{0x43, 0x00, 0x00}},
+ {1, [3]byte{0x44, 0x00, 0x00}}, {1, [3]byte{0x45, 0x00, 0x00}},
+ {1, [3]byte{0x46, 0x00, 0x00}}, {1, [3]byte{0x47, 0x00, 0x00}},
+ {1, [3]byte{0x48, 0x00, 0x00}}, {1, [3]byte{0x49, 0x00, 0x00}},
+ {2, [3]byte{0xc2, 0xad, 0x00}}, {2, [3]byte{0xc3, 0xb4, 0x00}},
+ {2, [3]byte{0xc3, 0xb6, 0x00}}, {2, [3]byte{0xc3, 0xb2, 0x00}},
+ {2, [3]byte{0xc3, 0xb3, 0x00}}, {2, [3]byte{0xc3, 0xb5, 0x00}},
+ {1, [3]byte{0x7d, 0x00, 0x00}}, {1, [3]byte{0x4a, 0x00, 0x00}},
+ {1, [3]byte{0x4b, 0x00, 0x00}}, {1, [3]byte{0x4c, 0x00, 0x00}},
+ {1, [3]byte{0x4d, 0x00, 0x00}}, {1, [3]byte{0x4e, 0x00, 0x00}},
+ {1, [3]byte{0x4f, 0x00, 0x00}}, {1, [3]byte{0x50, 0x00, 0x00}},
+ {1, [3]byte{0x51, 0x00, 0x00}}, {1, [3]byte{0x52, 0x00, 0x00}},
+ {2, [3]byte{0xc2, 0xb9, 0x00}}, {2, [3]byte{0xc3, 0xbb, 0x00}},
+ {2, [3]byte{0xc3, 0xbc, 0x00}}, {2, [3]byte{0xc3, 0xb9, 0x00}},
+ {2, [3]byte{0xc3, 0xba, 0x00}}, {2, [3]byte{0xc3, 0xbf, 0x00}},
+ {1, [3]byte{0x5c, 0x00, 0x00}}, {2, [3]byte{0xc3, 0xb7, 0x00}},
+ {1, [3]byte{0x53, 0x00, 0x00}}, {1, [3]byte{0x54, 0x00, 0x00}},
+ {1, [3]byte{0x55, 0x00, 0x00}}, {1, [3]byte{0x56, 0x00, 0x00}},
+ {1, [3]byte{0x57, 0x00, 0x00}}, {1, [3]byte{0x58, 0x00, 0x00}},
+ {1, [3]byte{0x59, 0x00, 0x00}}, {1, [3]byte{0x5a, 0x00, 0x00}},
+ {2, [3]byte{0xc2, 0xb2, 0x00}}, {2, [3]byte{0xc3, 0x94, 0x00}},
+ {2, [3]byte{0xc3, 0x96, 0x00}}, {2, [3]byte{0xc3, 0x92, 0x00}},
+ {2, [3]byte{0xc3, 0x93, 0x00}}, {2, [3]byte{0xc3, 0x95, 0x00}},
+ {1, [3]byte{0x30, 0x00, 0x00}}, {1, [3]byte{0x31, 0x00, 0x00}},
+ {1, [3]byte{0x32, 0x00, 0x00}}, {1, [3]byte{0x33, 0x00, 0x00}},
+ {1, [3]byte{0x34, 0x00, 0x00}}, {1, [3]byte{0x35, 0x00, 0x00}},
+ {1, [3]byte{0x36, 0x00, 0x00}}, {1, [3]byte{0x37, 0x00, 0x00}},
+ {1, [3]byte{0x38, 0x00, 0x00}}, {1, [3]byte{0x39, 0x00, 0x00}},
+ {2, [3]byte{0xc2, 0xb3, 0x00}}, {2, [3]byte{0xc3, 0x9b, 0x00}},
+ {2, [3]byte{0xc3, 0x9c, 0x00}}, {2, [3]byte{0xc3, 0x99, 0x00}},
+ {2, [3]byte{0xc3, 0x9a, 0x00}}, {2, [3]byte{0xc2, 0x9f, 0x00}},
+ },
+ encode: [256]uint32{
+ 0x00000000, 0x01000001, 0x02000002, 0x03000003, 0x37000004, 0x2d000005, 0x2e000006, 0x2f000007,
+ 0x16000008, 0x05000009, 0x2500000a, 0x0b00000b, 0x0c00000c, 0x0d00000d, 0x0e00000e, 0x0f00000f,
+ 0x10000010, 0x11000011, 0x12000012, 0x13000013, 0x3c000014, 0x3d000015, 0x32000016, 0x26000017,
+ 0x18000018, 0x19000019, 0x3f00001a, 0x2700001b, 0x1c00001c, 0x1d00001d, 0x1e00001e, 0x1f00001f,
+ 0x40000020, 0x5a000021, 0x7f000022, 0x7b000023, 0x5b000024, 0x6c000025, 0x50000026, 0x7d000027,
+ 0x4d000028, 0x5d000029, 0x5c00002a, 0x4e00002b, 0x6b00002c, 0x6000002d, 0x4b00002e, 0x6100002f,
+ 0xf0000030, 0xf1000031, 0xf2000032, 0xf3000033, 0xf4000034, 0xf5000035, 0xf6000036, 0xf7000037,
+ 0xf8000038, 0xf9000039, 0x7a00003a, 0x5e00003b, 0x4c00003c, 0x7e00003d, 0x6e00003e, 0x6f00003f,
+ 0x7c000040, 0xc1000041, 0xc2000042, 0xc3000043, 0xc4000044, 0xc5000045, 0xc6000046, 0xc7000047,
+ 0xc8000048, 0xc9000049, 0xd100004a, 0xd200004b, 0xd300004c, 0xd400004d, 0xd500004e, 0xd600004f,
+ 0xd7000050, 0xd8000051, 0xd9000052, 0xe2000053, 0xe3000054, 0xe4000055, 0xe5000056, 0xe6000057,
+ 0xe7000058, 0xe8000059, 0xe900005a, 0xba00005b, 0xe000005c, 0xbb00005d, 0xb000005e, 0x6d00005f,
+ 0x79000060, 0x81000061, 0x82000062, 0x83000063, 0x84000064, 0x85000065, 0x86000066, 0x87000067,
+ 0x88000068, 0x89000069, 0x9100006a, 0x9200006b, 0x9300006c, 0x9400006d, 0x9500006e, 0x9600006f,
+ 0x97000070, 0x98000071, 0x99000072, 0xa2000073, 0xa3000074, 0xa4000075, 0xa5000076, 0xa6000077,
+ 0xa7000078, 0xa8000079, 0xa900007a, 0xc000007b, 0x4f00007c, 0xd000007d, 0xa100007e, 0x0700007f,
+ 0x20000080, 0x21000081, 0x22000082, 0x23000083, 0x24000084, 0x15000085, 0x06000086, 0x17000087,
+ 0x28000088, 0x29000089, 0x2a00008a, 0x2b00008b, 0x2c00008c, 0x0900008d, 0x0a00008e, 0x1b00008f,
+ 0x30000090, 0x31000091, 0x1a000092, 0x33000093, 0x34000094, 0x35000095, 0x36000096, 0x08000097,
+ 0x38000098, 0x39000099, 0x3a00009a, 0x3b00009b, 0x0400009c, 0x1400009d, 0x3e00009e, 0xff00009f,
+ 0x410000a0, 0xaa0000a1, 0x4a0000a2, 0xb10000a3, 0x9f0000a4, 0xb20000a5, 0x6a0000a6, 0xb50000a7,
+ 0xbd0000a8, 0xb40000a9, 0x9a0000aa, 0x8a0000ab, 0x5f0000ac, 0xca0000ad, 0xaf0000ae, 0xbc0000af,
+ 0x900000b0, 0x8f0000b1, 0xea0000b2, 0xfa0000b3, 0xbe0000b4, 0xa00000b5, 0xb60000b6, 0xb30000b7,
+ 0x9d0000b8, 0xda0000b9, 0x9b0000ba, 0x8b0000bb, 0xb70000bc, 0xb80000bd, 0xb90000be, 0xab0000bf,
+ 0x640000c0, 0x650000c1, 0x620000c2, 0x660000c3, 0x630000c4, 0x670000c5, 0x9e0000c6, 0x680000c7,
+ 0x740000c8, 0x710000c9, 0x720000ca, 0x730000cb, 0x780000cc, 0x750000cd, 0x760000ce, 0x770000cf,
+ 0xac0000d0, 0x690000d1, 0xed0000d2, 0xee0000d3, 0xeb0000d4, 0xef0000d5, 0xec0000d6, 0xbf0000d7,
+ 0x800000d8, 0xfd0000d9, 0xfe0000da, 0xfb0000db, 0xfc0000dc, 0xad0000dd, 0xae0000de, 0x590000df,
+ 0x440000e0, 0x450000e1, 0x420000e2, 0x460000e3, 0x430000e4, 0x470000e5, 0x9c0000e6, 0x480000e7,
+ 0x540000e8, 0x510000e9, 0x520000ea, 0x530000eb, 0x580000ec, 0x550000ed, 0x560000ee, 0x570000ef,
+ 0x8c0000f0, 0x490000f1, 0xcd0000f2, 0xce0000f3, 0xcb0000f4, 0xcf0000f5, 0xcc0000f6, 0xe10000f7,
+ 0x700000f8, 0xdd0000f9, 0xde0000fa, 0xdb0000fb, 0xdc0000fc, 0x8d0000fd, 0x8e0000fe, 0xdf0000ff,
+ },
+}
+
// CodePage437 is the IBM Code Page 437 encoding.
-var CodePage437 encoding.Encoding = &codePage437
+var CodePage437 *Charmap = &codePage437
-var codePage437 = charmap{
+var codePage437 = Charmap{
name: "IBM Code Page 437",
mib: identifier.PC8CodePage437,
asciiSuperset: true,
@@ -183,9 +358,9 @@ var codePage437 = charmap{
}
// CodePage850 is the IBM Code Page 850 encoding.
-var CodePage850 encoding.Encoding = &codePage850
+var CodePage850 *Charmap = &codePage850
-var codePage850 = charmap{
+var codePage850 = Charmap{
name: "IBM Code Page 850",
mib: identifier.PC850Multilingual,
asciiSuperset: true,
@@ -358,9 +533,9 @@ var codePage850 = charmap{
}
// CodePage852 is the IBM Code Page 852 encoding.
-var CodePage852 encoding.Encoding = &codePage852
+var CodePage852 *Charmap = &codePage852
-var codePage852 = charmap{
+var codePage852 = Charmap{
name: "IBM Code Page 852",
mib: identifier.PCp852,
asciiSuperset: true,
@@ -533,9 +708,9 @@ var codePage852 = charmap{
}
// CodePage855 is the IBM Code Page 855 encoding.
-var CodePage855 encoding.Encoding = &codePage855
+var CodePage855 *Charmap = &codePage855
-var codePage855 = charmap{
+var codePage855 = Charmap{
name: "IBM Code Page 855",
mib: identifier.IBM855,
asciiSuperset: true,
@@ -708,9 +883,9 @@ var codePage855 = charmap{
}
// CodePage858 is the Windows Code Page 858 encoding.
-var CodePage858 encoding.Encoding = &codePage858
+var CodePage858 *Charmap = &codePage858
-var codePage858 = charmap{
+var codePage858 = Charmap{
name: "Windows Code Page 858",
mib: identifier.IBM00858,
asciiSuperset: true,
@@ -883,9 +1058,9 @@ var codePage858 = charmap{
}
// CodePage860 is the IBM Code Page 860 encoding.
-var CodePage860 encoding.Encoding = &codePage860
+var CodePage860 *Charmap = &codePage860
-var codePage860 = charmap{
+var codePage860 = Charmap{
name: "IBM Code Page 860",
mib: identifier.IBM860,
asciiSuperset: true,
@@ -1058,9 +1233,9 @@ var codePage860 = charmap{
}
// CodePage862 is the IBM Code Page 862 encoding.
-var CodePage862 encoding.Encoding = &codePage862
+var CodePage862 *Charmap = &codePage862
-var codePage862 = charmap{
+var codePage862 = Charmap{
name: "IBM Code Page 862",
mib: identifier.PC862LatinHebrew,
asciiSuperset: true,
@@ -1233,9 +1408,9 @@ var codePage862 = charmap{
}
// CodePage863 is the IBM Code Page 863 encoding.
-var CodePage863 encoding.Encoding = &codePage863
+var CodePage863 *Charmap = &codePage863
-var codePage863 = charmap{
+var codePage863 = Charmap{
name: "IBM Code Page 863",
mib: identifier.IBM863,
asciiSuperset: true,
@@ -1408,9 +1583,9 @@ var codePage863 = charmap{
}
// CodePage865 is the IBM Code Page 865 encoding.
-var CodePage865 encoding.Encoding = &codePage865
+var CodePage865 *Charmap = &codePage865
-var codePage865 = charmap{
+var codePage865 = Charmap{
name: "IBM Code Page 865",
mib: identifier.IBM865,
asciiSuperset: true,
@@ -1583,9 +1758,9 @@ var codePage865 = charmap{
}
// CodePage866 is the IBM Code Page 866 encoding.
-var CodePage866 encoding.Encoding = &codePage866
+var CodePage866 *Charmap = &codePage866
-var codePage866 = charmap{
+var codePage866 = Charmap{
name: "IBM Code Page 866",
mib: identifier.IBM866,
asciiSuperset: true,
@@ -1757,10 +1932,360 @@ var codePage866 = charmap{
},
}
+// CodePage1047 is the IBM Code Page 1047 encoding.
+var CodePage1047 *Charmap = &codePage1047
+
+var codePage1047 = Charmap{
+ name: "IBM Code Page 1047",
+ mib: identifier.IBM1047,
+ asciiSuperset: false,
+ low: 0x00,
+ replacement: 0x3f,
+ decode: [256]utf8Enc{
+ {1, [3]byte{0x00, 0x00, 0x00}}, {1, [3]byte{0x01, 0x00, 0x00}},
+ {1, [3]byte{0x02, 0x00, 0x00}}, {1, [3]byte{0x03, 0x00, 0x00}},
+ {2, [3]byte{0xc2, 0x9c, 0x00}}, {1, [3]byte{0x09, 0x00, 0x00}},
+ {2, [3]byte{0xc2, 0x86, 0x00}}, {1, [3]byte{0x7f, 0x00, 0x00}},
+ {2, [3]byte{0xc2, 0x97, 0x00}}, {2, [3]byte{0xc2, 0x8d, 0x00}},
+ {2, [3]byte{0xc2, 0x8e, 0x00}}, {1, [3]byte{0x0b, 0x00, 0x00}},
+ {1, [3]byte{0x0c, 0x00, 0x00}}, {1, [3]byte{0x0d, 0x00, 0x00}},
+ {1, [3]byte{0x0e, 0x00, 0x00}}, {1, [3]byte{0x0f, 0x00, 0x00}},
+ {1, [3]byte{0x10, 0x00, 0x00}}, {1, [3]byte{0x11, 0x00, 0x00}},
+ {1, [3]byte{0x12, 0x00, 0x00}}, {1, [3]byte{0x13, 0x00, 0x00}},
+ {2, [3]byte{0xc2, 0x9d, 0x00}}, {2, [3]byte{0xc2, 0x85, 0x00}},
+ {1, [3]byte{0x08, 0x00, 0x00}}, {2, [3]byte{0xc2, 0x87, 0x00}},
+ {1, [3]byte{0x18, 0x00, 0x00}}, {1, [3]byte{0x19, 0x00, 0x00}},
+ {2, [3]byte{0xc2, 0x92, 0x00}}, {2, [3]byte{0xc2, 0x8f, 0x00}},
+ {1, [3]byte{0x1c, 0x00, 0x00}}, {1, [3]byte{0x1d, 0x00, 0x00}},
+ {1, [3]byte{0x1e, 0x00, 0x00}}, {1, [3]byte{0x1f, 0x00, 0x00}},
+ {2, [3]byte{0xc2, 0x80, 0x00}}, {2, [3]byte{0xc2, 0x81, 0x00}},
+ {2, [3]byte{0xc2, 0x82, 0x00}}, {2, [3]byte{0xc2, 0x83, 0x00}},
+ {2, [3]byte{0xc2, 0x84, 0x00}}, {1, [3]byte{0x0a, 0x00, 0x00}},
+ {1, [3]byte{0x17, 0x00, 0x00}}, {1, [3]byte{0x1b, 0x00, 0x00}},
+ {2, [3]byte{0xc2, 0x88, 0x00}}, {2, [3]byte{0xc2, 0x89, 0x00}},
+ {2, [3]byte{0xc2, 0x8a, 0x00}}, {2, [3]byte{0xc2, 0x8b, 0x00}},
+ {2, [3]byte{0xc2, 0x8c, 0x00}}, {1, [3]byte{0x05, 0x00, 0x00}},
+ {1, [3]byte{0x06, 0x00, 0x00}}, {1, [3]byte{0x07, 0x00, 0x00}},
+ {2, [3]byte{0xc2, 0x90, 0x00}}, {2, [3]byte{0xc2, 0x91, 0x00}},
+ {1, [3]byte{0x16, 0x00, 0x00}}, {2, [3]byte{0xc2, 0x93, 0x00}},
+ {2, [3]byte{0xc2, 0x94, 0x00}}, {2, [3]byte{0xc2, 0x95, 0x00}},
+ {2, [3]byte{0xc2, 0x96, 0x00}}, {1, [3]byte{0x04, 0x00, 0x00}},
+ {2, [3]byte{0xc2, 0x98, 0x00}}, {2, [3]byte{0xc2, 0x99, 0x00}},
+ {2, [3]byte{0xc2, 0x9a, 0x00}}, {2, [3]byte{0xc2, 0x9b, 0x00}},
+ {1, [3]byte{0x14, 0x00, 0x00}}, {1, [3]byte{0x15, 0x00, 0x00}},
+ {2, [3]byte{0xc2, 0x9e, 0x00}}, {1, [3]byte{0x1a, 0x00, 0x00}},
+ {1, [3]byte{0x20, 0x00, 0x00}}, {2, [3]byte{0xc2, 0xa0, 0x00}},
+ {2, [3]byte{0xc3, 0xa2, 0x00}}, {2, [3]byte{0xc3, 0xa4, 0x00}},
+ {2, [3]byte{0xc3, 0xa0, 0x00}}, {2, [3]byte{0xc3, 0xa1, 0x00}},
+ {2, [3]byte{0xc3, 0xa3, 0x00}}, {2, [3]byte{0xc3, 0xa5, 0x00}},
+ {2, [3]byte{0xc3, 0xa7, 0x00}}, {2, [3]byte{0xc3, 0xb1, 0x00}},
+ {2, [3]byte{0xc2, 0xa2, 0x00}}, {1, [3]byte{0x2e, 0x00, 0x00}},
+ {1, [3]byte{0x3c, 0x00, 0x00}}, {1, [3]byte{0x28, 0x00, 0x00}},
+ {1, [3]byte{0x2b, 0x00, 0x00}}, {1, [3]byte{0x7c, 0x00, 0x00}},
+ {1, [3]byte{0x26, 0x00, 0x00}}, {2, [3]byte{0xc3, 0xa9, 0x00}},
+ {2, [3]byte{0xc3, 0xaa, 0x00}}, {2, [3]byte{0xc3, 0xab, 0x00}},
+ {2, [3]byte{0xc3, 0xa8, 0x00}}, {2, [3]byte{0xc3, 0xad, 0x00}},
+ {2, [3]byte{0xc3, 0xae, 0x00}}, {2, [3]byte{0xc3, 0xaf, 0x00}},
+ {2, [3]byte{0xc3, 0xac, 0x00}}, {2, [3]byte{0xc3, 0x9f, 0x00}},
+ {1, [3]byte{0x21, 0x00, 0x00}}, {1, [3]byte{0x24, 0x00, 0x00}},
+ {1, [3]byte{0x2a, 0x00, 0x00}}, {1, [3]byte{0x29, 0x00, 0x00}},
+ {1, [3]byte{0x3b, 0x00, 0x00}}, {1, [3]byte{0x5e, 0x00, 0x00}},
+ {1, [3]byte{0x2d, 0x00, 0x00}}, {1, [3]byte{0x2f, 0x00, 0x00}},
+ {2, [3]byte{0xc3, 0x82, 0x00}}, {2, [3]byte{0xc3, 0x84, 0x00}},
+ {2, [3]byte{0xc3, 0x80, 0x00}}, {2, [3]byte{0xc3, 0x81, 0x00}},
+ {2, [3]byte{0xc3, 0x83, 0x00}}, {2, [3]byte{0xc3, 0x85, 0x00}},
+ {2, [3]byte{0xc3, 0x87, 0x00}}, {2, [3]byte{0xc3, 0x91, 0x00}},
+ {2, [3]byte{0xc2, 0xa6, 0x00}}, {1, [3]byte{0x2c, 0x00, 0x00}},
+ {1, [3]byte{0x25, 0x00, 0x00}}, {1, [3]byte{0x5f, 0x00, 0x00}},
+ {1, [3]byte{0x3e, 0x00, 0x00}}, {1, [3]byte{0x3f, 0x00, 0x00}},
+ {2, [3]byte{0xc3, 0xb8, 0x00}}, {2, [3]byte{0xc3, 0x89, 0x00}},
+ {2, [3]byte{0xc3, 0x8a, 0x00}}, {2, [3]byte{0xc3, 0x8b, 0x00}},
+ {2, [3]byte{0xc3, 0x88, 0x00}}, {2, [3]byte{0xc3, 0x8d, 0x00}},
+ {2, [3]byte{0xc3, 0x8e, 0x00}}, {2, [3]byte{0xc3, 0x8f, 0x00}},
+ {2, [3]byte{0xc3, 0x8c, 0x00}}, {1, [3]byte{0x60, 0x00, 0x00}},
+ {1, [3]byte{0x3a, 0x00, 0x00}}, {1, [3]byte{0x23, 0x00, 0x00}},
+ {1, [3]byte{0x40, 0x00, 0x00}}, {1, [3]byte{0x27, 0x00, 0x00}},
+ {1, [3]byte{0x3d, 0x00, 0x00}}, {1, [3]byte{0x22, 0x00, 0x00}},
+ {2, [3]byte{0xc3, 0x98, 0x00}}, {1, [3]byte{0x61, 0x00, 0x00}},
+ {1, [3]byte{0x62, 0x00, 0x00}}, {1, [3]byte{0x63, 0x00, 0x00}},
+ {1, [3]byte{0x64, 0x00, 0x00}}, {1, [3]byte{0x65, 0x00, 0x00}},
+ {1, [3]byte{0x66, 0x00, 0x00}}, {1, [3]byte{0x67, 0x00, 0x00}},
+ {1, [3]byte{0x68, 0x00, 0x00}}, {1, [3]byte{0x69, 0x00, 0x00}},
+ {2, [3]byte{0xc2, 0xab, 0x00}}, {2, [3]byte{0xc2, 0xbb, 0x00}},
+ {2, [3]byte{0xc3, 0xb0, 0x00}}, {2, [3]byte{0xc3, 0xbd, 0x00}},
+ {2, [3]byte{0xc3, 0xbe, 0x00}}, {2, [3]byte{0xc2, 0xb1, 0x00}},
+ {2, [3]byte{0xc2, 0xb0, 0x00}}, {1, [3]byte{0x6a, 0x00, 0x00}},
+ {1, [3]byte{0x6b, 0x00, 0x00}}, {1, [3]byte{0x6c, 0x00, 0x00}},
+ {1, [3]byte{0x6d, 0x00, 0x00}}, {1, [3]byte{0x6e, 0x00, 0x00}},
+ {1, [3]byte{0x6f, 0x00, 0x00}}, {1, [3]byte{0x70, 0x00, 0x00}},
+ {1, [3]byte{0x71, 0x00, 0x00}}, {1, [3]byte{0x72, 0x00, 0x00}},
+ {2, [3]byte{0xc2, 0xaa, 0x00}}, {2, [3]byte{0xc2, 0xba, 0x00}},
+ {2, [3]byte{0xc3, 0xa6, 0x00}}, {2, [3]byte{0xc2, 0xb8, 0x00}},
+ {2, [3]byte{0xc3, 0x86, 0x00}}, {2, [3]byte{0xc2, 0xa4, 0x00}},
+ {2, [3]byte{0xc2, 0xb5, 0x00}}, {1, [3]byte{0x7e, 0x00, 0x00}},
+ {1, [3]byte{0x73, 0x00, 0x00}}, {1, [3]byte{0x74, 0x00, 0x00}},
+ {1, [3]byte{0x75, 0x00, 0x00}}, {1, [3]byte{0x76, 0x00, 0x00}},
+ {1, [3]byte{0x77, 0x00, 0x00}}, {1, [3]byte{0x78, 0x00, 0x00}},
+ {1, [3]byte{0x79, 0x00, 0x00}}, {1, [3]byte{0x7a, 0x00, 0x00}},
+ {2, [3]byte{0xc2, 0xa1, 0x00}}, {2, [3]byte{0xc2, 0xbf, 0x00}},
+ {2, [3]byte{0xc3, 0x90, 0x00}}, {1, [3]byte{0x5b, 0x00, 0x00}},
+ {2, [3]byte{0xc3, 0x9e, 0x00}}, {2, [3]byte{0xc2, 0xae, 0x00}},
+ {2, [3]byte{0xc2, 0xac, 0x00}}, {2, [3]byte{0xc2, 0xa3, 0x00}},
+ {2, [3]byte{0xc2, 0xa5, 0x00}}, {2, [3]byte{0xc2, 0xb7, 0x00}},
+ {2, [3]byte{0xc2, 0xa9, 0x00}}, {2, [3]byte{0xc2, 0xa7, 0x00}},
+ {2, [3]byte{0xc2, 0xb6, 0x00}}, {2, [3]byte{0xc2, 0xbc, 0x00}},
+ {2, [3]byte{0xc2, 0xbd, 0x00}}, {2, [3]byte{0xc2, 0xbe, 0x00}},
+ {2, [3]byte{0xc3, 0x9d, 0x00}}, {2, [3]byte{0xc2, 0xa8, 0x00}},
+ {2, [3]byte{0xc2, 0xaf, 0x00}}, {1, [3]byte{0x5d, 0x00, 0x00}},
+ {2, [3]byte{0xc2, 0xb4, 0x00}}, {2, [3]byte{0xc3, 0x97, 0x00}},
+ {1, [3]byte{0x7b, 0x00, 0x00}}, {1, [3]byte{0x41, 0x00, 0x00}},
+ {1, [3]byte{0x42, 0x00, 0x00}}, {1, [3]byte{0x43, 0x00, 0x00}},
+ {1, [3]byte{0x44, 0x00, 0x00}}, {1, [3]byte{0x45, 0x00, 0x00}},
+ {1, [3]byte{0x46, 0x00, 0x00}}, {1, [3]byte{0x47, 0x00, 0x00}},
+ {1, [3]byte{0x48, 0x00, 0x00}}, {1, [3]byte{0x49, 0x00, 0x00}},
+ {2, [3]byte{0xc2, 0xad, 0x00}}, {2, [3]byte{0xc3, 0xb4, 0x00}},
+ {2, [3]byte{0xc3, 0xb6, 0x00}}, {2, [3]byte{0xc3, 0xb2, 0x00}},
+ {2, [3]byte{0xc3, 0xb3, 0x00}}, {2, [3]byte{0xc3, 0xb5, 0x00}},
+ {1, [3]byte{0x7d, 0x00, 0x00}}, {1, [3]byte{0x4a, 0x00, 0x00}},
+ {1, [3]byte{0x4b, 0x00, 0x00}}, {1, [3]byte{0x4c, 0x00, 0x00}},
+ {1, [3]byte{0x4d, 0x00, 0x00}}, {1, [3]byte{0x4e, 0x00, 0x00}},
+ {1, [3]byte{0x4f, 0x00, 0x00}}, {1, [3]byte{0x50, 0x00, 0x00}},
+ {1, [3]byte{0x51, 0x00, 0x00}}, {1, [3]byte{0x52, 0x00, 0x00}},
+ {2, [3]byte{0xc2, 0xb9, 0x00}}, {2, [3]byte{0xc3, 0xbb, 0x00}},
+ {2, [3]byte{0xc3, 0xbc, 0x00}}, {2, [3]byte{0xc3, 0xb9, 0x00}},
+ {2, [3]byte{0xc3, 0xba, 0x00}}, {2, [3]byte{0xc3, 0xbf, 0x00}},
+ {1, [3]byte{0x5c, 0x00, 0x00}}, {2, [3]byte{0xc3, 0xb7, 0x00}},
+ {1, [3]byte{0x53, 0x00, 0x00}}, {1, [3]byte{0x54, 0x00, 0x00}},
+ {1, [3]byte{0x55, 0x00, 0x00}}, {1, [3]byte{0x56, 0x00, 0x00}},
+ {1, [3]byte{0x57, 0x00, 0x00}}, {1, [3]byte{0x58, 0x00, 0x00}},
+ {1, [3]byte{0x59, 0x00, 0x00}}, {1, [3]byte{0x5a, 0x00, 0x00}},
+ {2, [3]byte{0xc2, 0xb2, 0x00}}, {2, [3]byte{0xc3, 0x94, 0x00}},
+ {2, [3]byte{0xc3, 0x96, 0x00}}, {2, [3]byte{0xc3, 0x92, 0x00}},
+ {2, [3]byte{0xc3, 0x93, 0x00}}, {2, [3]byte{0xc3, 0x95, 0x00}},
+ {1, [3]byte{0x30, 0x00, 0x00}}, {1, [3]byte{0x31, 0x00, 0x00}},
+ {1, [3]byte{0x32, 0x00, 0x00}}, {1, [3]byte{0x33, 0x00, 0x00}},
+ {1, [3]byte{0x34, 0x00, 0x00}}, {1, [3]byte{0x35, 0x00, 0x00}},
+ {1, [3]byte{0x36, 0x00, 0x00}}, {1, [3]byte{0x37, 0x00, 0x00}},
+ {1, [3]byte{0x38, 0x00, 0x00}}, {1, [3]byte{0x39, 0x00, 0x00}},
+ {2, [3]byte{0xc2, 0xb3, 0x00}}, {2, [3]byte{0xc3, 0x9b, 0x00}},
+ {2, [3]byte{0xc3, 0x9c, 0x00}}, {2, [3]byte{0xc3, 0x99, 0x00}},
+ {2, [3]byte{0xc3, 0x9a, 0x00}}, {2, [3]byte{0xc2, 0x9f, 0x00}},
+ },
+ encode: [256]uint32{
+ 0x00000000, 0x01000001, 0x02000002, 0x03000003, 0x37000004, 0x2d000005, 0x2e000006, 0x2f000007,
+ 0x16000008, 0x05000009, 0x2500000a, 0x0b00000b, 0x0c00000c, 0x0d00000d, 0x0e00000e, 0x0f00000f,
+ 0x10000010, 0x11000011, 0x12000012, 0x13000013, 0x3c000014, 0x3d000015, 0x32000016, 0x26000017,
+ 0x18000018, 0x19000019, 0x3f00001a, 0x2700001b, 0x1c00001c, 0x1d00001d, 0x1e00001e, 0x1f00001f,
+ 0x40000020, 0x5a000021, 0x7f000022, 0x7b000023, 0x5b000024, 0x6c000025, 0x50000026, 0x7d000027,
+ 0x4d000028, 0x5d000029, 0x5c00002a, 0x4e00002b, 0x6b00002c, 0x6000002d, 0x4b00002e, 0x6100002f,
+ 0xf0000030, 0xf1000031, 0xf2000032, 0xf3000033, 0xf4000034, 0xf5000035, 0xf6000036, 0xf7000037,
+ 0xf8000038, 0xf9000039, 0x7a00003a, 0x5e00003b, 0x4c00003c, 0x7e00003d, 0x6e00003e, 0x6f00003f,
+ 0x7c000040, 0xc1000041, 0xc2000042, 0xc3000043, 0xc4000044, 0xc5000045, 0xc6000046, 0xc7000047,
+ 0xc8000048, 0xc9000049, 0xd100004a, 0xd200004b, 0xd300004c, 0xd400004d, 0xd500004e, 0xd600004f,
+ 0xd7000050, 0xd8000051, 0xd9000052, 0xe2000053, 0xe3000054, 0xe4000055, 0xe5000056, 0xe6000057,
+ 0xe7000058, 0xe8000059, 0xe900005a, 0xad00005b, 0xe000005c, 0xbd00005d, 0x5f00005e, 0x6d00005f,
+ 0x79000060, 0x81000061, 0x82000062, 0x83000063, 0x84000064, 0x85000065, 0x86000066, 0x87000067,
+ 0x88000068, 0x89000069, 0x9100006a, 0x9200006b, 0x9300006c, 0x9400006d, 0x9500006e, 0x9600006f,
+ 0x97000070, 0x98000071, 0x99000072, 0xa2000073, 0xa3000074, 0xa4000075, 0xa5000076, 0xa6000077,
+ 0xa7000078, 0xa8000079, 0xa900007a, 0xc000007b, 0x4f00007c, 0xd000007d, 0xa100007e, 0x0700007f,
+ 0x20000080, 0x21000081, 0x22000082, 0x23000083, 0x24000084, 0x15000085, 0x06000086, 0x17000087,
+ 0x28000088, 0x29000089, 0x2a00008a, 0x2b00008b, 0x2c00008c, 0x0900008d, 0x0a00008e, 0x1b00008f,
+ 0x30000090, 0x31000091, 0x1a000092, 0x33000093, 0x34000094, 0x35000095, 0x36000096, 0x08000097,
+ 0x38000098, 0x39000099, 0x3a00009a, 0x3b00009b, 0x0400009c, 0x1400009d, 0x3e00009e, 0xff00009f,
+ 0x410000a0, 0xaa0000a1, 0x4a0000a2, 0xb10000a3, 0x9f0000a4, 0xb20000a5, 0x6a0000a6, 0xb50000a7,
+ 0xbb0000a8, 0xb40000a9, 0x9a0000aa, 0x8a0000ab, 0xb00000ac, 0xca0000ad, 0xaf0000ae, 0xbc0000af,
+ 0x900000b0, 0x8f0000b1, 0xea0000b2, 0xfa0000b3, 0xbe0000b4, 0xa00000b5, 0xb60000b6, 0xb30000b7,
+ 0x9d0000b8, 0xda0000b9, 0x9b0000ba, 0x8b0000bb, 0xb70000bc, 0xb80000bd, 0xb90000be, 0xab0000bf,
+ 0x640000c0, 0x650000c1, 0x620000c2, 0x660000c3, 0x630000c4, 0x670000c5, 0x9e0000c6, 0x680000c7,
+ 0x740000c8, 0x710000c9, 0x720000ca, 0x730000cb, 0x780000cc, 0x750000cd, 0x760000ce, 0x770000cf,
+ 0xac0000d0, 0x690000d1, 0xed0000d2, 0xee0000d3, 0xeb0000d4, 0xef0000d5, 0xec0000d6, 0xbf0000d7,
+ 0x800000d8, 0xfd0000d9, 0xfe0000da, 0xfb0000db, 0xfc0000dc, 0xba0000dd, 0xae0000de, 0x590000df,
+ 0x440000e0, 0x450000e1, 0x420000e2, 0x460000e3, 0x430000e4, 0x470000e5, 0x9c0000e6, 0x480000e7,
+ 0x540000e8, 0x510000e9, 0x520000ea, 0x530000eb, 0x580000ec, 0x550000ed, 0x560000ee, 0x570000ef,
+ 0x8c0000f0, 0x490000f1, 0xcd0000f2, 0xce0000f3, 0xcb0000f4, 0xcf0000f5, 0xcc0000f6, 0xe10000f7,
+ 0x700000f8, 0xdd0000f9, 0xde0000fa, 0xdb0000fb, 0xdc0000fc, 0x8d0000fd, 0x8e0000fe, 0xdf0000ff,
+ },
+}
+
+// CodePage1140 is the IBM Code Page 1140 encoding.
+var CodePage1140 *Charmap = &codePage1140
+
+var codePage1140 = Charmap{
+ name: "IBM Code Page 1140",
+ mib: identifier.IBM01140,
+ asciiSuperset: false,
+ low: 0x00,
+ replacement: 0x3f,
+ decode: [256]utf8Enc{
+ {1, [3]byte{0x00, 0x00, 0x00}}, {1, [3]byte{0x01, 0x00, 0x00}},
+ {1, [3]byte{0x02, 0x00, 0x00}}, {1, [3]byte{0x03, 0x00, 0x00}},
+ {2, [3]byte{0xc2, 0x9c, 0x00}}, {1, [3]byte{0x09, 0x00, 0x00}},
+ {2, [3]byte{0xc2, 0x86, 0x00}}, {1, [3]byte{0x7f, 0x00, 0x00}},
+ {2, [3]byte{0xc2, 0x97, 0x00}}, {2, [3]byte{0xc2, 0x8d, 0x00}},
+ {2, [3]byte{0xc2, 0x8e, 0x00}}, {1, [3]byte{0x0b, 0x00, 0x00}},
+ {1, [3]byte{0x0c, 0x00, 0x00}}, {1, [3]byte{0x0d, 0x00, 0x00}},
+ {1, [3]byte{0x0e, 0x00, 0x00}}, {1, [3]byte{0x0f, 0x00, 0x00}},
+ {1, [3]byte{0x10, 0x00, 0x00}}, {1, [3]byte{0x11, 0x00, 0x00}},
+ {1, [3]byte{0x12, 0x00, 0x00}}, {1, [3]byte{0x13, 0x00, 0x00}},
+ {2, [3]byte{0xc2, 0x9d, 0x00}}, {2, [3]byte{0xc2, 0x85, 0x00}},
+ {1, [3]byte{0x08, 0x00, 0x00}}, {2, [3]byte{0xc2, 0x87, 0x00}},
+ {1, [3]byte{0x18, 0x00, 0x00}}, {1, [3]byte{0x19, 0x00, 0x00}},
+ {2, [3]byte{0xc2, 0x92, 0x00}}, {2, [3]byte{0xc2, 0x8f, 0x00}},
+ {1, [3]byte{0x1c, 0x00, 0x00}}, {1, [3]byte{0x1d, 0x00, 0x00}},
+ {1, [3]byte{0x1e, 0x00, 0x00}}, {1, [3]byte{0x1f, 0x00, 0x00}},
+ {2, [3]byte{0xc2, 0x80, 0x00}}, {2, [3]byte{0xc2, 0x81, 0x00}},
+ {2, [3]byte{0xc2, 0x82, 0x00}}, {2, [3]byte{0xc2, 0x83, 0x00}},
+ {2, [3]byte{0xc2, 0x84, 0x00}}, {1, [3]byte{0x0a, 0x00, 0x00}},
+ {1, [3]byte{0x17, 0x00, 0x00}}, {1, [3]byte{0x1b, 0x00, 0x00}},
+ {2, [3]byte{0xc2, 0x88, 0x00}}, {2, [3]byte{0xc2, 0x89, 0x00}},
+ {2, [3]byte{0xc2, 0x8a, 0x00}}, {2, [3]byte{0xc2, 0x8b, 0x00}},
+ {2, [3]byte{0xc2, 0x8c, 0x00}}, {1, [3]byte{0x05, 0x00, 0x00}},
+ {1, [3]byte{0x06, 0x00, 0x00}}, {1, [3]byte{0x07, 0x00, 0x00}},
+ {2, [3]byte{0xc2, 0x90, 0x00}}, {2, [3]byte{0xc2, 0x91, 0x00}},
+ {1, [3]byte{0x16, 0x00, 0x00}}, {2, [3]byte{0xc2, 0x93, 0x00}},
+ {2, [3]byte{0xc2, 0x94, 0x00}}, {2, [3]byte{0xc2, 0x95, 0x00}},
+ {2, [3]byte{0xc2, 0x96, 0x00}}, {1, [3]byte{0x04, 0x00, 0x00}},
+ {2, [3]byte{0xc2, 0x98, 0x00}}, {2, [3]byte{0xc2, 0x99, 0x00}},
+ {2, [3]byte{0xc2, 0x9a, 0x00}}, {2, [3]byte{0xc2, 0x9b, 0x00}},
+ {1, [3]byte{0x14, 0x00, 0x00}}, {1, [3]byte{0x15, 0x00, 0x00}},
+ {2, [3]byte{0xc2, 0x9e, 0x00}}, {1, [3]byte{0x1a, 0x00, 0x00}},
+ {1, [3]byte{0x20, 0x00, 0x00}}, {2, [3]byte{0xc2, 0xa0, 0x00}},
+ {2, [3]byte{0xc3, 0xa2, 0x00}}, {2, [3]byte{0xc3, 0xa4, 0x00}},
+ {2, [3]byte{0xc3, 0xa0, 0x00}}, {2, [3]byte{0xc3, 0xa1, 0x00}},
+ {2, [3]byte{0xc3, 0xa3, 0x00}}, {2, [3]byte{0xc3, 0xa5, 0x00}},
+ {2, [3]byte{0xc3, 0xa7, 0x00}}, {2, [3]byte{0xc3, 0xb1, 0x00}},
+ {2, [3]byte{0xc2, 0xa2, 0x00}}, {1, [3]byte{0x2e, 0x00, 0x00}},
+ {1, [3]byte{0x3c, 0x00, 0x00}}, {1, [3]byte{0x28, 0x00, 0x00}},
+ {1, [3]byte{0x2b, 0x00, 0x00}}, {1, [3]byte{0x7c, 0x00, 0x00}},
+ {1, [3]byte{0x26, 0x00, 0x00}}, {2, [3]byte{0xc3, 0xa9, 0x00}},
+ {2, [3]byte{0xc3, 0xaa, 0x00}}, {2, [3]byte{0xc3, 0xab, 0x00}},
+ {2, [3]byte{0xc3, 0xa8, 0x00}}, {2, [3]byte{0xc3, 0xad, 0x00}},
+ {2, [3]byte{0xc3, 0xae, 0x00}}, {2, [3]byte{0xc3, 0xaf, 0x00}},
+ {2, [3]byte{0xc3, 0xac, 0x00}}, {2, [3]byte{0xc3, 0x9f, 0x00}},
+ {1, [3]byte{0x21, 0x00, 0x00}}, {1, [3]byte{0x24, 0x00, 0x00}},
+ {1, [3]byte{0x2a, 0x00, 0x00}}, {1, [3]byte{0x29, 0x00, 0x00}},
+ {1, [3]byte{0x3b, 0x00, 0x00}}, {2, [3]byte{0xc2, 0xac, 0x00}},
+ {1, [3]byte{0x2d, 0x00, 0x00}}, {1, [3]byte{0x2f, 0x00, 0x00}},
+ {2, [3]byte{0xc3, 0x82, 0x00}}, {2, [3]byte{0xc3, 0x84, 0x00}},
+ {2, [3]byte{0xc3, 0x80, 0x00}}, {2, [3]byte{0xc3, 0x81, 0x00}},
+ {2, [3]byte{0xc3, 0x83, 0x00}}, {2, [3]byte{0xc3, 0x85, 0x00}},
+ {2, [3]byte{0xc3, 0x87, 0x00}}, {2, [3]byte{0xc3, 0x91, 0x00}},
+ {2, [3]byte{0xc2, 0xa6, 0x00}}, {1, [3]byte{0x2c, 0x00, 0x00}},
+ {1, [3]byte{0x25, 0x00, 0x00}}, {1, [3]byte{0x5f, 0x00, 0x00}},
+ {1, [3]byte{0x3e, 0x00, 0x00}}, {1, [3]byte{0x3f, 0x00, 0x00}},
+ {2, [3]byte{0xc3, 0xb8, 0x00}}, {2, [3]byte{0xc3, 0x89, 0x00}},
+ {2, [3]byte{0xc3, 0x8a, 0x00}}, {2, [3]byte{0xc3, 0x8b, 0x00}},
+ {2, [3]byte{0xc3, 0x88, 0x00}}, {2, [3]byte{0xc3, 0x8d, 0x00}},
+ {2, [3]byte{0xc3, 0x8e, 0x00}}, {2, [3]byte{0xc3, 0x8f, 0x00}},
+ {2, [3]byte{0xc3, 0x8c, 0x00}}, {1, [3]byte{0x60, 0x00, 0x00}},
+ {1, [3]byte{0x3a, 0x00, 0x00}}, {1, [3]byte{0x23, 0x00, 0x00}},
+ {1, [3]byte{0x40, 0x00, 0x00}}, {1, [3]byte{0x27, 0x00, 0x00}},
+ {1, [3]byte{0x3d, 0x00, 0x00}}, {1, [3]byte{0x22, 0x00, 0x00}},
+ {2, [3]byte{0xc3, 0x98, 0x00}}, {1, [3]byte{0x61, 0x00, 0x00}},
+ {1, [3]byte{0x62, 0x00, 0x00}}, {1, [3]byte{0x63, 0x00, 0x00}},
+ {1, [3]byte{0x64, 0x00, 0x00}}, {1, [3]byte{0x65, 0x00, 0x00}},
+ {1, [3]byte{0x66, 0x00, 0x00}}, {1, [3]byte{0x67, 0x00, 0x00}},
+ {1, [3]byte{0x68, 0x00, 0x00}}, {1, [3]byte{0x69, 0x00, 0x00}},
+ {2, [3]byte{0xc2, 0xab, 0x00}}, {2, [3]byte{0xc2, 0xbb, 0x00}},
+ {2, [3]byte{0xc3, 0xb0, 0x00}}, {2, [3]byte{0xc3, 0xbd, 0x00}},
+ {2, [3]byte{0xc3, 0xbe, 0x00}}, {2, [3]byte{0xc2, 0xb1, 0x00}},
+ {2, [3]byte{0xc2, 0xb0, 0x00}}, {1, [3]byte{0x6a, 0x00, 0x00}},
+ {1, [3]byte{0x6b, 0x00, 0x00}}, {1, [3]byte{0x6c, 0x00, 0x00}},
+ {1, [3]byte{0x6d, 0x00, 0x00}}, {1, [3]byte{0x6e, 0x00, 0x00}},
+ {1, [3]byte{0x6f, 0x00, 0x00}}, {1, [3]byte{0x70, 0x00, 0x00}},
+ {1, [3]byte{0x71, 0x00, 0x00}}, {1, [3]byte{0x72, 0x00, 0x00}},
+ {2, [3]byte{0xc2, 0xaa, 0x00}}, {2, [3]byte{0xc2, 0xba, 0x00}},
+ {2, [3]byte{0xc3, 0xa6, 0x00}}, {2, [3]byte{0xc2, 0xb8, 0x00}},
+ {2, [3]byte{0xc3, 0x86, 0x00}}, {3, [3]byte{0xe2, 0x82, 0xac}},
+ {2, [3]byte{0xc2, 0xb5, 0x00}}, {1, [3]byte{0x7e, 0x00, 0x00}},
+ {1, [3]byte{0x73, 0x00, 0x00}}, {1, [3]byte{0x74, 0x00, 0x00}},
+ {1, [3]byte{0x75, 0x00, 0x00}}, {1, [3]byte{0x76, 0x00, 0x00}},
+ {1, [3]byte{0x77, 0x00, 0x00}}, {1, [3]byte{0x78, 0x00, 0x00}},
+ {1, [3]byte{0x79, 0x00, 0x00}}, {1, [3]byte{0x7a, 0x00, 0x00}},
+ {2, [3]byte{0xc2, 0xa1, 0x00}}, {2, [3]byte{0xc2, 0xbf, 0x00}},
+ {2, [3]byte{0xc3, 0x90, 0x00}}, {2, [3]byte{0xc3, 0x9d, 0x00}},
+ {2, [3]byte{0xc3, 0x9e, 0x00}}, {2, [3]byte{0xc2, 0xae, 0x00}},
+ {1, [3]byte{0x5e, 0x00, 0x00}}, {2, [3]byte{0xc2, 0xa3, 0x00}},
+ {2, [3]byte{0xc2, 0xa5, 0x00}}, {2, [3]byte{0xc2, 0xb7, 0x00}},
+ {2, [3]byte{0xc2, 0xa9, 0x00}}, {2, [3]byte{0xc2, 0xa7, 0x00}},
+ {2, [3]byte{0xc2, 0xb6, 0x00}}, {2, [3]byte{0xc2, 0xbc, 0x00}},
+ {2, [3]byte{0xc2, 0xbd, 0x00}}, {2, [3]byte{0xc2, 0xbe, 0x00}},
+ {1, [3]byte{0x5b, 0x00, 0x00}}, {1, [3]byte{0x5d, 0x00, 0x00}},
+ {2, [3]byte{0xc2, 0xaf, 0x00}}, {2, [3]byte{0xc2, 0xa8, 0x00}},
+ {2, [3]byte{0xc2, 0xb4, 0x00}}, {2, [3]byte{0xc3, 0x97, 0x00}},
+ {1, [3]byte{0x7b, 0x00, 0x00}}, {1, [3]byte{0x41, 0x00, 0x00}},
+ {1, [3]byte{0x42, 0x00, 0x00}}, {1, [3]byte{0x43, 0x00, 0x00}},
+ {1, [3]byte{0x44, 0x00, 0x00}}, {1, [3]byte{0x45, 0x00, 0x00}},
+ {1, [3]byte{0x46, 0x00, 0x00}}, {1, [3]byte{0x47, 0x00, 0x00}},
+ {1, [3]byte{0x48, 0x00, 0x00}}, {1, [3]byte{0x49, 0x00, 0x00}},
+ {2, [3]byte{0xc2, 0xad, 0x00}}, {2, [3]byte{0xc3, 0xb4, 0x00}},
+ {2, [3]byte{0xc3, 0xb6, 0x00}}, {2, [3]byte{0xc3, 0xb2, 0x00}},
+ {2, [3]byte{0xc3, 0xb3, 0x00}}, {2, [3]byte{0xc3, 0xb5, 0x00}},
+ {1, [3]byte{0x7d, 0x00, 0x00}}, {1, [3]byte{0x4a, 0x00, 0x00}},
+ {1, [3]byte{0x4b, 0x00, 0x00}}, {1, [3]byte{0x4c, 0x00, 0x00}},
+ {1, [3]byte{0x4d, 0x00, 0x00}}, {1, [3]byte{0x4e, 0x00, 0x00}},
+ {1, [3]byte{0x4f, 0x00, 0x00}}, {1, [3]byte{0x50, 0x00, 0x00}},
+ {1, [3]byte{0x51, 0x00, 0x00}}, {1, [3]byte{0x52, 0x00, 0x00}},
+ {2, [3]byte{0xc2, 0xb9, 0x00}}, {2, [3]byte{0xc3, 0xbb, 0x00}},
+ {2, [3]byte{0xc3, 0xbc, 0x00}}, {2, [3]byte{0xc3, 0xb9, 0x00}},
+ {2, [3]byte{0xc3, 0xba, 0x00}}, {2, [3]byte{0xc3, 0xbf, 0x00}},
+ {1, [3]byte{0x5c, 0x00, 0x00}}, {2, [3]byte{0xc3, 0xb7, 0x00}},
+ {1, [3]byte{0x53, 0x00, 0x00}}, {1, [3]byte{0x54, 0x00, 0x00}},
+ {1, [3]byte{0x55, 0x00, 0x00}}, {1, [3]byte{0x56, 0x00, 0x00}},
+ {1, [3]byte{0x57, 0x00, 0x00}}, {1, [3]byte{0x58, 0x00, 0x00}},
+ {1, [3]byte{0x59, 0x00, 0x00}}, {1, [3]byte{0x5a, 0x00, 0x00}},
+ {2, [3]byte{0xc2, 0xb2, 0x00}}, {2, [3]byte{0xc3, 0x94, 0x00}},
+ {2, [3]byte{0xc3, 0x96, 0x00}}, {2, [3]byte{0xc3, 0x92, 0x00}},
+ {2, [3]byte{0xc3, 0x93, 0x00}}, {2, [3]byte{0xc3, 0x95, 0x00}},
+ {1, [3]byte{0x30, 0x00, 0x00}}, {1, [3]byte{0x31, 0x00, 0x00}},
+ {1, [3]byte{0x32, 0x00, 0x00}}, {1, [3]byte{0x33, 0x00, 0x00}},
+ {1, [3]byte{0x34, 0x00, 0x00}}, {1, [3]byte{0x35, 0x00, 0x00}},
+ {1, [3]byte{0x36, 0x00, 0x00}}, {1, [3]byte{0x37, 0x00, 0x00}},
+ {1, [3]byte{0x38, 0x00, 0x00}}, {1, [3]byte{0x39, 0x00, 0x00}},
+ {2, [3]byte{0xc2, 0xb3, 0x00}}, {2, [3]byte{0xc3, 0x9b, 0x00}},
+ {2, [3]byte{0xc3, 0x9c, 0x00}}, {2, [3]byte{0xc3, 0x99, 0x00}},
+ {2, [3]byte{0xc3, 0x9a, 0x00}}, {2, [3]byte{0xc2, 0x9f, 0x00}},
+ },
+ encode: [256]uint32{
+ 0x00000000, 0x01000001, 0x02000002, 0x03000003, 0x37000004, 0x2d000005, 0x2e000006, 0x2f000007,
+ 0x16000008, 0x05000009, 0x2500000a, 0x0b00000b, 0x0c00000c, 0x0d00000d, 0x0e00000e, 0x0f00000f,
+ 0x10000010, 0x11000011, 0x12000012, 0x13000013, 0x3c000014, 0x3d000015, 0x32000016, 0x26000017,
+ 0x18000018, 0x19000019, 0x3f00001a, 0x2700001b, 0x1c00001c, 0x1d00001d, 0x1e00001e, 0x1f00001f,
+ 0x40000020, 0x5a000021, 0x7f000022, 0x7b000023, 0x5b000024, 0x6c000025, 0x50000026, 0x7d000027,
+ 0x4d000028, 0x5d000029, 0x5c00002a, 0x4e00002b, 0x6b00002c, 0x6000002d, 0x4b00002e, 0x6100002f,
+ 0xf0000030, 0xf1000031, 0xf2000032, 0xf3000033, 0xf4000034, 0xf5000035, 0xf6000036, 0xf7000037,
+ 0xf8000038, 0xf9000039, 0x7a00003a, 0x5e00003b, 0x4c00003c, 0x7e00003d, 0x6e00003e, 0x6f00003f,
+ 0x7c000040, 0xc1000041, 0xc2000042, 0xc3000043, 0xc4000044, 0xc5000045, 0xc6000046, 0xc7000047,
+ 0xc8000048, 0xc9000049, 0xd100004a, 0xd200004b, 0xd300004c, 0xd400004d, 0xd500004e, 0xd600004f,
+ 0xd7000050, 0xd8000051, 0xd9000052, 0xe2000053, 0xe3000054, 0xe4000055, 0xe5000056, 0xe6000057,
+ 0xe7000058, 0xe8000059, 0xe900005a, 0xba00005b, 0xe000005c, 0xbb00005d, 0xb000005e, 0x6d00005f,
+ 0x79000060, 0x81000061, 0x82000062, 0x83000063, 0x84000064, 0x85000065, 0x86000066, 0x87000067,
+ 0x88000068, 0x89000069, 0x9100006a, 0x9200006b, 0x9300006c, 0x9400006d, 0x9500006e, 0x9600006f,
+ 0x97000070, 0x98000071, 0x99000072, 0xa2000073, 0xa3000074, 0xa4000075, 0xa5000076, 0xa6000077,
+ 0xa7000078, 0xa8000079, 0xa900007a, 0xc000007b, 0x4f00007c, 0xd000007d, 0xa100007e, 0x0700007f,
+ 0x20000080, 0x21000081, 0x22000082, 0x23000083, 0x24000084, 0x15000085, 0x06000086, 0x17000087,
+ 0x28000088, 0x29000089, 0x2a00008a, 0x2b00008b, 0x2c00008c, 0x0900008d, 0x0a00008e, 0x1b00008f,
+ 0x30000090, 0x31000091, 0x1a000092, 0x33000093, 0x34000094, 0x35000095, 0x36000096, 0x08000097,
+ 0x38000098, 0x39000099, 0x3a00009a, 0x3b00009b, 0x0400009c, 0x1400009d, 0x3e00009e, 0xff00009f,
+ 0x410000a0, 0xaa0000a1, 0x4a0000a2, 0xb10000a3, 0xb20000a5, 0x6a0000a6, 0xb50000a7, 0xbd0000a8,
+ 0xb40000a9, 0x9a0000aa, 0x8a0000ab, 0x5f0000ac, 0xca0000ad, 0xaf0000ae, 0xbc0000af, 0x900000b0,
+ 0x8f0000b1, 0xea0000b2, 0xfa0000b3, 0xbe0000b4, 0xa00000b5, 0xb60000b6, 0xb30000b7, 0x9d0000b8,
+ 0xda0000b9, 0x9b0000ba, 0x8b0000bb, 0xb70000bc, 0xb80000bd, 0xb90000be, 0xab0000bf, 0x640000c0,
+ 0x650000c1, 0x620000c2, 0x660000c3, 0x630000c4, 0x670000c5, 0x9e0000c6, 0x680000c7, 0x740000c8,
+ 0x710000c9, 0x720000ca, 0x730000cb, 0x780000cc, 0x750000cd, 0x760000ce, 0x770000cf, 0xac0000d0,
+ 0x690000d1, 0xed0000d2, 0xee0000d3, 0xeb0000d4, 0xef0000d5, 0xec0000d6, 0xbf0000d7, 0x800000d8,
+ 0xfd0000d9, 0xfe0000da, 0xfb0000db, 0xfc0000dc, 0xad0000dd, 0xae0000de, 0x590000df, 0x440000e0,
+ 0x450000e1, 0x420000e2, 0x460000e3, 0x430000e4, 0x470000e5, 0x9c0000e6, 0x480000e7, 0x540000e8,
+ 0x510000e9, 0x520000ea, 0x530000eb, 0x580000ec, 0x550000ed, 0x560000ee, 0x570000ef, 0x8c0000f0,
+ 0x490000f1, 0xcd0000f2, 0xce0000f3, 0xcb0000f4, 0xcf0000f5, 0xcc0000f6, 0xe10000f7, 0x700000f8,
+ 0xdd0000f9, 0xde0000fa, 0xdb0000fb, 0xdc0000fc, 0x8d0000fd, 0x8e0000fe, 0xdf0000ff, 0x9f0020ac,
+ },
+}
+
// ISO8859_1 is the ISO 8859-1 encoding.
-var ISO8859_1 encoding.Encoding = &iso8859_1
+var ISO8859_1 *Charmap = &iso8859_1
-var iso8859_1 = charmap{
+var iso8859_1 = Charmap{
name: "ISO 8859-1",
mib: identifier.ISOLatin1,
asciiSuperset: true,
@@ -1933,9 +2458,9 @@ var iso8859_1 = charmap{
}
// ISO8859_2 is the ISO 8859-2 encoding.
-var ISO8859_2 encoding.Encoding = &iso8859_2
+var ISO8859_2 *Charmap = &iso8859_2
-var iso8859_2 = charmap{
+var iso8859_2 = Charmap{
name: "ISO 8859-2",
mib: identifier.ISOLatin2,
asciiSuperset: true,
@@ -2108,9 +2633,9 @@ var iso8859_2 = charmap{
}
// ISO8859_3 is the ISO 8859-3 encoding.
-var ISO8859_3 encoding.Encoding = &iso8859_3
+var ISO8859_3 *Charmap = &iso8859_3
-var iso8859_3 = charmap{
+var iso8859_3 = Charmap{
name: "ISO 8859-3",
mib: identifier.ISOLatin3,
asciiSuperset: true,
@@ -2283,9 +2808,9 @@ var iso8859_3 = charmap{
}
// ISO8859_4 is the ISO 8859-4 encoding.
-var ISO8859_4 encoding.Encoding = &iso8859_4
+var ISO8859_4 *Charmap = &iso8859_4
-var iso8859_4 = charmap{
+var iso8859_4 = Charmap{
name: "ISO 8859-4",
mib: identifier.ISOLatin4,
asciiSuperset: true,
@@ -2458,9 +2983,9 @@ var iso8859_4 = charmap{
}
// ISO8859_5 is the ISO 8859-5 encoding.
-var ISO8859_5 encoding.Encoding = &iso8859_5
+var ISO8859_5 *Charmap = &iso8859_5
-var iso8859_5 = charmap{
+var iso8859_5 = Charmap{
name: "ISO 8859-5",
mib: identifier.ISOLatinCyrillic,
asciiSuperset: true,
@@ -2633,9 +3158,9 @@ var iso8859_5 = charmap{
}
// ISO8859_6 is the ISO 8859-6 encoding.
-var ISO8859_6 encoding.Encoding = &iso8859_6
+var ISO8859_6 *Charmap = &iso8859_6
-var iso8859_6 = charmap{
+var iso8859_6 = Charmap{
name: "ISO 8859-6",
mib: identifier.ISOLatinArabic,
asciiSuperset: true,
@@ -2808,9 +3333,9 @@ var iso8859_6 = charmap{
}
// ISO8859_7 is the ISO 8859-7 encoding.
-var ISO8859_7 encoding.Encoding = &iso8859_7
+var ISO8859_7 *Charmap = &iso8859_7
-var iso8859_7 = charmap{
+var iso8859_7 = Charmap{
name: "ISO 8859-7",
mib: identifier.ISOLatinGreek,
asciiSuperset: true,
@@ -2983,9 +3508,9 @@ var iso8859_7 = charmap{
}
// ISO8859_8 is the ISO 8859-8 encoding.
-var ISO8859_8 encoding.Encoding = &iso8859_8
+var ISO8859_8 *Charmap = &iso8859_8
-var iso8859_8 = charmap{
+var iso8859_8 = Charmap{
name: "ISO 8859-8",
mib: identifier.ISOLatinHebrew,
asciiSuperset: true,
@@ -3157,10 +3682,185 @@ var iso8859_8 = charmap{
},
}
+// ISO8859_9 is the ISO 8859-9 encoding.
+var ISO8859_9 *Charmap = &iso8859_9
+
+var iso8859_9 = Charmap{
+ name: "ISO 8859-9",
+ mib: identifier.ISOLatin5,
+ asciiSuperset: true,
+ low: 0x80,
+ replacement: 0x1a,
+ decode: [256]utf8Enc{
+ {1, [3]byte{0x00, 0x00, 0x00}}, {1, [3]byte{0x01, 0x00, 0x00}},
+ {1, [3]byte{0x02, 0x00, 0x00}}, {1, [3]byte{0x03, 0x00, 0x00}},
+ {1, [3]byte{0x04, 0x00, 0x00}}, {1, [3]byte{0x05, 0x00, 0x00}},
+ {1, [3]byte{0x06, 0x00, 0x00}}, {1, [3]byte{0x07, 0x00, 0x00}},
+ {1, [3]byte{0x08, 0x00, 0x00}}, {1, [3]byte{0x09, 0x00, 0x00}},
+ {1, [3]byte{0x0a, 0x00, 0x00}}, {1, [3]byte{0x0b, 0x00, 0x00}},
+ {1, [3]byte{0x0c, 0x00, 0x00}}, {1, [3]byte{0x0d, 0x00, 0x00}},
+ {1, [3]byte{0x0e, 0x00, 0x00}}, {1, [3]byte{0x0f, 0x00, 0x00}},
+ {1, [3]byte{0x10, 0x00, 0x00}}, {1, [3]byte{0x11, 0x00, 0x00}},
+ {1, [3]byte{0x12, 0x00, 0x00}}, {1, [3]byte{0x13, 0x00, 0x00}},
+ {1, [3]byte{0x14, 0x00, 0x00}}, {1, [3]byte{0x15, 0x00, 0x00}},
+ {1, [3]byte{0x16, 0x00, 0x00}}, {1, [3]byte{0x17, 0x00, 0x00}},
+ {1, [3]byte{0x18, 0x00, 0x00}}, {1, [3]byte{0x19, 0x00, 0x00}},
+ {1, [3]byte{0x1a, 0x00, 0x00}}, {1, [3]byte{0x1b, 0x00, 0x00}},
+ {1, [3]byte{0x1c, 0x00, 0x00}}, {1, [3]byte{0x1d, 0x00, 0x00}},
+ {1, [3]byte{0x1e, 0x00, 0x00}}, {1, [3]byte{0x1f, 0x00, 0x00}},
+ {1, [3]byte{0x20, 0x00, 0x00}}, {1, [3]byte{0x21, 0x00, 0x00}},
+ {1, [3]byte{0x22, 0x00, 0x00}}, {1, [3]byte{0x23, 0x00, 0x00}},
+ {1, [3]byte{0x24, 0x00, 0x00}}, {1, [3]byte{0x25, 0x00, 0x00}},
+ {1, [3]byte{0x26, 0x00, 0x00}}, {1, [3]byte{0x27, 0x00, 0x00}},
+ {1, [3]byte{0x28, 0x00, 0x00}}, {1, [3]byte{0x29, 0x00, 0x00}},
+ {1, [3]byte{0x2a, 0x00, 0x00}}, {1, [3]byte{0x2b, 0x00, 0x00}},
+ {1, [3]byte{0x2c, 0x00, 0x00}}, {1, [3]byte{0x2d, 0x00, 0x00}},
+ {1, [3]byte{0x2e, 0x00, 0x00}}, {1, [3]byte{0x2f, 0x00, 0x00}},
+ {1, [3]byte{0x30, 0x00, 0x00}}, {1, [3]byte{0x31, 0x00, 0x00}},
+ {1, [3]byte{0x32, 0x00, 0x00}}, {1, [3]byte{0x33, 0x00, 0x00}},
+ {1, [3]byte{0x34, 0x00, 0x00}}, {1, [3]byte{0x35, 0x00, 0x00}},
+ {1, [3]byte{0x36, 0x00, 0x00}}, {1, [3]byte{0x37, 0x00, 0x00}},
+ {1, [3]byte{0x38, 0x00, 0x00}}, {1, [3]byte{0x39, 0x00, 0x00}},
+ {1, [3]byte{0x3a, 0x00, 0x00}}, {1, [3]byte{0x3b, 0x00, 0x00}},
+ {1, [3]byte{0x3c, 0x00, 0x00}}, {1, [3]byte{0x3d, 0x00, 0x00}},
+ {1, [3]byte{0x3e, 0x00, 0x00}}, {1, [3]byte{0x3f, 0x00, 0x00}},
+ {1, [3]byte{0x40, 0x00, 0x00}}, {1, [3]byte{0x41, 0x00, 0x00}},
+ {1, [3]byte{0x42, 0x00, 0x00}}, {1, [3]byte{0x43, 0x00, 0x00}},
+ {1, [3]byte{0x44, 0x00, 0x00}}, {1, [3]byte{0x45, 0x00, 0x00}},
+ {1, [3]byte{0x46, 0x00, 0x00}}, {1, [3]byte{0x47, 0x00, 0x00}},
+ {1, [3]byte{0x48, 0x00, 0x00}}, {1, [3]byte{0x49, 0x00, 0x00}},
+ {1, [3]byte{0x4a, 0x00, 0x00}}, {1, [3]byte{0x4b, 0x00, 0x00}},
+ {1, [3]byte{0x4c, 0x00, 0x00}}, {1, [3]byte{0x4d, 0x00, 0x00}},
+ {1, [3]byte{0x4e, 0x00, 0x00}}, {1, [3]byte{0x4f, 0x00, 0x00}},
+ {1, [3]byte{0x50, 0x00, 0x00}}, {1, [3]byte{0x51, 0x00, 0x00}},
+ {1, [3]byte{0x52, 0x00, 0x00}}, {1, [3]byte{0x53, 0x00, 0x00}},
+ {1, [3]byte{0x54, 0x00, 0x00}}, {1, [3]byte{0x55, 0x00, 0x00}},
+ {1, [3]byte{0x56, 0x00, 0x00}}, {1, [3]byte{0x57, 0x00, 0x00}},
+ {1, [3]byte{0x58, 0x00, 0x00}}, {1, [3]byte{0x59, 0x00, 0x00}},
+ {1, [3]byte{0x5a, 0x00, 0x00}}, {1, [3]byte{0x5b, 0x00, 0x00}},
+ {1, [3]byte{0x5c, 0x00, 0x00}}, {1, [3]byte{0x5d, 0x00, 0x00}},
+ {1, [3]byte{0x5e, 0x00, 0x00}}, {1, [3]byte{0x5f, 0x00, 0x00}},
+ {1, [3]byte{0x60, 0x00, 0x00}}, {1, [3]byte{0x61, 0x00, 0x00}},
+ {1, [3]byte{0x62, 0x00, 0x00}}, {1, [3]byte{0x63, 0x00, 0x00}},
+ {1, [3]byte{0x64, 0x00, 0x00}}, {1, [3]byte{0x65, 0x00, 0x00}},
+ {1, [3]byte{0x66, 0x00, 0x00}}, {1, [3]byte{0x67, 0x00, 0x00}},
+ {1, [3]byte{0x68, 0x00, 0x00}}, {1, [3]byte{0x69, 0x00, 0x00}},
+ {1, [3]byte{0x6a, 0x00, 0x00}}, {1, [3]byte{0x6b, 0x00, 0x00}},
+ {1, [3]byte{0x6c, 0x00, 0x00}}, {1, [3]byte{0x6d, 0x00, 0x00}},
+ {1, [3]byte{0x6e, 0x00, 0x00}}, {1, [3]byte{0x6f, 0x00, 0x00}},
+ {1, [3]byte{0x70, 0x00, 0x00}}, {1, [3]byte{0x71, 0x00, 0x00}},
+ {1, [3]byte{0x72, 0x00, 0x00}}, {1, [3]byte{0x73, 0x00, 0x00}},
+ {1, [3]byte{0x74, 0x00, 0x00}}, {1, [3]byte{0x75, 0x00, 0x00}},
+ {1, [3]byte{0x76, 0x00, 0x00}}, {1, [3]byte{0x77, 0x00, 0x00}},
+ {1, [3]byte{0x78, 0x00, 0x00}}, {1, [3]byte{0x79, 0x00, 0x00}},
+ {1, [3]byte{0x7a, 0x00, 0x00}}, {1, [3]byte{0x7b, 0x00, 0x00}},
+ {1, [3]byte{0x7c, 0x00, 0x00}}, {1, [3]byte{0x7d, 0x00, 0x00}},
+ {1, [3]byte{0x7e, 0x00, 0x00}}, {1, [3]byte{0x7f, 0x00, 0x00}},
+ {2, [3]byte{0xc2, 0x80, 0x00}}, {2, [3]byte{0xc2, 0x81, 0x00}},
+ {2, [3]byte{0xc2, 0x82, 0x00}}, {2, [3]byte{0xc2, 0x83, 0x00}},
+ {2, [3]byte{0xc2, 0x84, 0x00}}, {2, [3]byte{0xc2, 0x85, 0x00}},
+ {2, [3]byte{0xc2, 0x86, 0x00}}, {2, [3]byte{0xc2, 0x87, 0x00}},
+ {2, [3]byte{0xc2, 0x88, 0x00}}, {2, [3]byte{0xc2, 0x89, 0x00}},
+ {2, [3]byte{0xc2, 0x8a, 0x00}}, {2, [3]byte{0xc2, 0x8b, 0x00}},
+ {2, [3]byte{0xc2, 0x8c, 0x00}}, {2, [3]byte{0xc2, 0x8d, 0x00}},
+ {2, [3]byte{0xc2, 0x8e, 0x00}}, {2, [3]byte{0xc2, 0x8f, 0x00}},
+ {2, [3]byte{0xc2, 0x90, 0x00}}, {2, [3]byte{0xc2, 0x91, 0x00}},
+ {2, [3]byte{0xc2, 0x92, 0x00}}, {2, [3]byte{0xc2, 0x93, 0x00}},
+ {2, [3]byte{0xc2, 0x94, 0x00}}, {2, [3]byte{0xc2, 0x95, 0x00}},
+ {2, [3]byte{0xc2, 0x96, 0x00}}, {2, [3]byte{0xc2, 0x97, 0x00}},
+ {2, [3]byte{0xc2, 0x98, 0x00}}, {2, [3]byte{0xc2, 0x99, 0x00}},
+ {2, [3]byte{0xc2, 0x9a, 0x00}}, {2, [3]byte{0xc2, 0x9b, 0x00}},
+ {2, [3]byte{0xc2, 0x9c, 0x00}}, {2, [3]byte{0xc2, 0x9d, 0x00}},
+ {2, [3]byte{0xc2, 0x9e, 0x00}}, {2, [3]byte{0xc2, 0x9f, 0x00}},
+ {2, [3]byte{0xc2, 0xa0, 0x00}}, {2, [3]byte{0xc2, 0xa1, 0x00}},
+ {2, [3]byte{0xc2, 0xa2, 0x00}}, {2, [3]byte{0xc2, 0xa3, 0x00}},
+ {2, [3]byte{0xc2, 0xa4, 0x00}}, {2, [3]byte{0xc2, 0xa5, 0x00}},
+ {2, [3]byte{0xc2, 0xa6, 0x00}}, {2, [3]byte{0xc2, 0xa7, 0x00}},
+ {2, [3]byte{0xc2, 0xa8, 0x00}}, {2, [3]byte{0xc2, 0xa9, 0x00}},
+ {2, [3]byte{0xc2, 0xaa, 0x00}}, {2, [3]byte{0xc2, 0xab, 0x00}},
+ {2, [3]byte{0xc2, 0xac, 0x00}}, {2, [3]byte{0xc2, 0xad, 0x00}},
+ {2, [3]byte{0xc2, 0xae, 0x00}}, {2, [3]byte{0xc2, 0xaf, 0x00}},
+ {2, [3]byte{0xc2, 0xb0, 0x00}}, {2, [3]byte{0xc2, 0xb1, 0x00}},
+ {2, [3]byte{0xc2, 0xb2, 0x00}}, {2, [3]byte{0xc2, 0xb3, 0x00}},
+ {2, [3]byte{0xc2, 0xb4, 0x00}}, {2, [3]byte{0xc2, 0xb5, 0x00}},
+ {2, [3]byte{0xc2, 0xb6, 0x00}}, {2, [3]byte{0xc2, 0xb7, 0x00}},
+ {2, [3]byte{0xc2, 0xb8, 0x00}}, {2, [3]byte{0xc2, 0xb9, 0x00}},
+ {2, [3]byte{0xc2, 0xba, 0x00}}, {2, [3]byte{0xc2, 0xbb, 0x00}},
+ {2, [3]byte{0xc2, 0xbc, 0x00}}, {2, [3]byte{0xc2, 0xbd, 0x00}},
+ {2, [3]byte{0xc2, 0xbe, 0x00}}, {2, [3]byte{0xc2, 0xbf, 0x00}},
+ {2, [3]byte{0xc3, 0x80, 0x00}}, {2, [3]byte{0xc3, 0x81, 0x00}},
+ {2, [3]byte{0xc3, 0x82, 0x00}}, {2, [3]byte{0xc3, 0x83, 0x00}},
+ {2, [3]byte{0xc3, 0x84, 0x00}}, {2, [3]byte{0xc3, 0x85, 0x00}},
+ {2, [3]byte{0xc3, 0x86, 0x00}}, {2, [3]byte{0xc3, 0x87, 0x00}},
+ {2, [3]byte{0xc3, 0x88, 0x00}}, {2, [3]byte{0xc3, 0x89, 0x00}},
+ {2, [3]byte{0xc3, 0x8a, 0x00}}, {2, [3]byte{0xc3, 0x8b, 0x00}},
+ {2, [3]byte{0xc3, 0x8c, 0x00}}, {2, [3]byte{0xc3, 0x8d, 0x00}},
+ {2, [3]byte{0xc3, 0x8e, 0x00}}, {2, [3]byte{0xc3, 0x8f, 0x00}},
+ {2, [3]byte{0xc4, 0x9e, 0x00}}, {2, [3]byte{0xc3, 0x91, 0x00}},
+ {2, [3]byte{0xc3, 0x92, 0x00}}, {2, [3]byte{0xc3, 0x93, 0x00}},
+ {2, [3]byte{0xc3, 0x94, 0x00}}, {2, [3]byte{0xc3, 0x95, 0x00}},
+ {2, [3]byte{0xc3, 0x96, 0x00}}, {2, [3]byte{0xc3, 0x97, 0x00}},
+ {2, [3]byte{0xc3, 0x98, 0x00}}, {2, [3]byte{0xc3, 0x99, 0x00}},
+ {2, [3]byte{0xc3, 0x9a, 0x00}}, {2, [3]byte{0xc3, 0x9b, 0x00}},
+ {2, [3]byte{0xc3, 0x9c, 0x00}}, {2, [3]byte{0xc4, 0xb0, 0x00}},
+ {2, [3]byte{0xc5, 0x9e, 0x00}}, {2, [3]byte{0xc3, 0x9f, 0x00}},
+ {2, [3]byte{0xc3, 0xa0, 0x00}}, {2, [3]byte{0xc3, 0xa1, 0x00}},
+ {2, [3]byte{0xc3, 0xa2, 0x00}}, {2, [3]byte{0xc3, 0xa3, 0x00}},
+ {2, [3]byte{0xc3, 0xa4, 0x00}}, {2, [3]byte{0xc3, 0xa5, 0x00}},
+ {2, [3]byte{0xc3, 0xa6, 0x00}}, {2, [3]byte{0xc3, 0xa7, 0x00}},
+ {2, [3]byte{0xc3, 0xa8, 0x00}}, {2, [3]byte{0xc3, 0xa9, 0x00}},
+ {2, [3]byte{0xc3, 0xaa, 0x00}}, {2, [3]byte{0xc3, 0xab, 0x00}},
+ {2, [3]byte{0xc3, 0xac, 0x00}}, {2, [3]byte{0xc3, 0xad, 0x00}},
+ {2, [3]byte{0xc3, 0xae, 0x00}}, {2, [3]byte{0xc3, 0xaf, 0x00}},
+ {2, [3]byte{0xc4, 0x9f, 0x00}}, {2, [3]byte{0xc3, 0xb1, 0x00}},
+ {2, [3]byte{0xc3, 0xb2, 0x00}}, {2, [3]byte{0xc3, 0xb3, 0x00}},
+ {2, [3]byte{0xc3, 0xb4, 0x00}}, {2, [3]byte{0xc3, 0xb5, 0x00}},
+ {2, [3]byte{0xc3, 0xb6, 0x00}}, {2, [3]byte{0xc3, 0xb7, 0x00}},
+ {2, [3]byte{0xc3, 0xb8, 0x00}}, {2, [3]byte{0xc3, 0xb9, 0x00}},
+ {2, [3]byte{0xc3, 0xba, 0x00}}, {2, [3]byte{0xc3, 0xbb, 0x00}},
+ {2, [3]byte{0xc3, 0xbc, 0x00}}, {2, [3]byte{0xc4, 0xb1, 0x00}},
+ {2, [3]byte{0xc5, 0x9f, 0x00}}, {2, [3]byte{0xc3, 0xbf, 0x00}},
+ },
+ encode: [256]uint32{
+ 0x00000000, 0x01000001, 0x02000002, 0x03000003, 0x04000004, 0x05000005, 0x06000006, 0x07000007,
+ 0x08000008, 0x09000009, 0x0a00000a, 0x0b00000b, 0x0c00000c, 0x0d00000d, 0x0e00000e, 0x0f00000f,
+ 0x10000010, 0x11000011, 0x12000012, 0x13000013, 0x14000014, 0x15000015, 0x16000016, 0x17000017,
+ 0x18000018, 0x19000019, 0x1a00001a, 0x1b00001b, 0x1c00001c, 0x1d00001d, 0x1e00001e, 0x1f00001f,
+ 0x20000020, 0x21000021, 0x22000022, 0x23000023, 0x24000024, 0x25000025, 0x26000026, 0x27000027,
+ 0x28000028, 0x29000029, 0x2a00002a, 0x2b00002b, 0x2c00002c, 0x2d00002d, 0x2e00002e, 0x2f00002f,
+ 0x30000030, 0x31000031, 0x32000032, 0x33000033, 0x34000034, 0x35000035, 0x36000036, 0x37000037,
+ 0x38000038, 0x39000039, 0x3a00003a, 0x3b00003b, 0x3c00003c, 0x3d00003d, 0x3e00003e, 0x3f00003f,
+ 0x40000040, 0x41000041, 0x42000042, 0x43000043, 0x44000044, 0x45000045, 0x46000046, 0x47000047,
+ 0x48000048, 0x49000049, 0x4a00004a, 0x4b00004b, 0x4c00004c, 0x4d00004d, 0x4e00004e, 0x4f00004f,
+ 0x50000050, 0x51000051, 0x52000052, 0x53000053, 0x54000054, 0x55000055, 0x56000056, 0x57000057,
+ 0x58000058, 0x59000059, 0x5a00005a, 0x5b00005b, 0x5c00005c, 0x5d00005d, 0x5e00005e, 0x5f00005f,
+ 0x60000060, 0x61000061, 0x62000062, 0x63000063, 0x64000064, 0x65000065, 0x66000066, 0x67000067,
+ 0x68000068, 0x69000069, 0x6a00006a, 0x6b00006b, 0x6c00006c, 0x6d00006d, 0x6e00006e, 0x6f00006f,
+ 0x70000070, 0x71000071, 0x72000072, 0x73000073, 0x74000074, 0x75000075, 0x76000076, 0x77000077,
+ 0x78000078, 0x79000079, 0x7a00007a, 0x7b00007b, 0x7c00007c, 0x7d00007d, 0x7e00007e, 0x7f00007f,
+ 0x80000080, 0x81000081, 0x82000082, 0x83000083, 0x84000084, 0x85000085, 0x86000086, 0x87000087,
+ 0x88000088, 0x89000089, 0x8a00008a, 0x8b00008b, 0x8c00008c, 0x8d00008d, 0x8e00008e, 0x8f00008f,
+ 0x90000090, 0x91000091, 0x92000092, 0x93000093, 0x94000094, 0x95000095, 0x96000096, 0x97000097,
+ 0x98000098, 0x99000099, 0x9a00009a, 0x9b00009b, 0x9c00009c, 0x9d00009d, 0x9e00009e, 0x9f00009f,
+ 0xa00000a0, 0xa10000a1, 0xa20000a2, 0xa30000a3, 0xa40000a4, 0xa50000a5, 0xa60000a6, 0xa70000a7,
+ 0xa80000a8, 0xa90000a9, 0xaa0000aa, 0xab0000ab, 0xac0000ac, 0xad0000ad, 0xae0000ae, 0xaf0000af,
+ 0xb00000b0, 0xb10000b1, 0xb20000b2, 0xb30000b3, 0xb40000b4, 0xb50000b5, 0xb60000b6, 0xb70000b7,
+ 0xb80000b8, 0xb90000b9, 0xba0000ba, 0xbb0000bb, 0xbc0000bc, 0xbd0000bd, 0xbe0000be, 0xbf0000bf,
+ 0xc00000c0, 0xc10000c1, 0xc20000c2, 0xc30000c3, 0xc40000c4, 0xc50000c5, 0xc60000c6, 0xc70000c7,
+ 0xc80000c8, 0xc90000c9, 0xca0000ca, 0xcb0000cb, 0xcc0000cc, 0xcd0000cd, 0xce0000ce, 0xcf0000cf,
+ 0xd10000d1, 0xd20000d2, 0xd30000d3, 0xd40000d4, 0xd50000d5, 0xd60000d6, 0xd70000d7, 0xd80000d8,
+ 0xd90000d9, 0xda0000da, 0xdb0000db, 0xdc0000dc, 0xdf0000df, 0xe00000e0, 0xe10000e1, 0xe20000e2,
+ 0xe30000e3, 0xe40000e4, 0xe50000e5, 0xe60000e6, 0xe70000e7, 0xe80000e8, 0xe90000e9, 0xea0000ea,
+ 0xeb0000eb, 0xec0000ec, 0xed0000ed, 0xee0000ee, 0xef0000ef, 0xf10000f1, 0xf20000f2, 0xf30000f3,
+ 0xf40000f4, 0xf50000f5, 0xf60000f6, 0xf70000f7, 0xf80000f8, 0xf90000f9, 0xfa0000fa, 0xfb0000fb,
+ 0xfc0000fc, 0xff0000ff, 0xd000011e, 0xf000011f, 0xdd000130, 0xfd000131, 0xde00015e, 0xfe00015f,
+ },
+}
+
// ISO8859_10 is the ISO 8859-10 encoding.
-var ISO8859_10 encoding.Encoding = &iso8859_10
+var ISO8859_10 *Charmap = &iso8859_10
-var iso8859_10 = charmap{
+var iso8859_10 = Charmap{
name: "ISO 8859-10",
mib: identifier.ISOLatin6,
asciiSuperset: true,
@@ -3333,9 +4033,9 @@ var iso8859_10 = charmap{
}
// ISO8859_13 is the ISO 8859-13 encoding.
-var ISO8859_13 encoding.Encoding = &iso8859_13
+var ISO8859_13 *Charmap = &iso8859_13
-var iso8859_13 = charmap{
+var iso8859_13 = Charmap{
name: "ISO 8859-13",
mib: identifier.ISO885913,
asciiSuperset: true,
@@ -3508,9 +4208,9 @@ var iso8859_13 = charmap{
}
// ISO8859_14 is the ISO 8859-14 encoding.
-var ISO8859_14 encoding.Encoding = &iso8859_14
+var ISO8859_14 *Charmap = &iso8859_14
-var iso8859_14 = charmap{
+var iso8859_14 = Charmap{
name: "ISO 8859-14",
mib: identifier.ISO885914,
asciiSuperset: true,
@@ -3683,9 +4383,9 @@ var iso8859_14 = charmap{
}
// ISO8859_15 is the ISO 8859-15 encoding.
-var ISO8859_15 encoding.Encoding = &iso8859_15
+var ISO8859_15 *Charmap = &iso8859_15
-var iso8859_15 = charmap{
+var iso8859_15 = Charmap{
name: "ISO 8859-15",
mib: identifier.ISO885915,
asciiSuperset: true,
@@ -3858,9 +4558,9 @@ var iso8859_15 = charmap{
}
// ISO8859_16 is the ISO 8859-16 encoding.
-var ISO8859_16 encoding.Encoding = &iso8859_16
+var ISO8859_16 *Charmap = &iso8859_16
-var iso8859_16 = charmap{
+var iso8859_16 = Charmap{
name: "ISO 8859-16",
mib: identifier.ISO885916,
asciiSuperset: true,
@@ -4033,9 +4733,9 @@ var iso8859_16 = charmap{
}
// KOI8R is the KOI8-R encoding.
-var KOI8R encoding.Encoding = &koi8R
+var KOI8R *Charmap = &koi8R
-var koi8R = charmap{
+var koi8R = Charmap{
name: "KOI8-R",
mib: identifier.KOI8R,
asciiSuperset: true,
@@ -4208,9 +4908,9 @@ var koi8R = charmap{
}
// KOI8U is the KOI8-U encoding.
-var KOI8U encoding.Encoding = &koi8U
+var KOI8U *Charmap = &koi8U
-var koi8U = charmap{
+var koi8U = Charmap{
name: "KOI8-U",
mib: identifier.KOI8U,
asciiSuperset: true,
@@ -4383,9 +5083,9 @@ var koi8U = charmap{
}
// Macintosh is the Macintosh encoding.
-var Macintosh encoding.Encoding = &macintosh
+var Macintosh *Charmap = &macintosh
-var macintosh = charmap{
+var macintosh = Charmap{
name: "Macintosh",
mib: identifier.Macintosh,
asciiSuperset: true,
@@ -4558,9 +5258,9 @@ var macintosh = charmap{
}
// MacintoshCyrillic is the Macintosh Cyrillic encoding.
-var MacintoshCyrillic encoding.Encoding = &macintoshCyrillic
+var MacintoshCyrillic *Charmap = &macintoshCyrillic
-var macintoshCyrillic = charmap{
+var macintoshCyrillic = Charmap{
name: "Macintosh Cyrillic",
mib: identifier.MacintoshCyrillic,
asciiSuperset: true,
@@ -4733,9 +5433,9 @@ var macintoshCyrillic = charmap{
}
// Windows874 is the Windows 874 encoding.
-var Windows874 encoding.Encoding = &windows874
+var Windows874 *Charmap = &windows874
-var windows874 = charmap{
+var windows874 = Charmap{
name: "Windows 874",
mib: identifier.Windows874,
asciiSuperset: true,
@@ -4908,9 +5608,9 @@ var windows874 = charmap{
}
// Windows1250 is the Windows 1250 encoding.
-var Windows1250 encoding.Encoding = &windows1250
+var Windows1250 *Charmap = &windows1250
-var windows1250 = charmap{
+var windows1250 = Charmap{
name: "Windows 1250",
mib: identifier.Windows1250,
asciiSuperset: true,
@@ -5083,9 +5783,9 @@ var windows1250 = charmap{
}
// Windows1251 is the Windows 1251 encoding.
-var Windows1251 encoding.Encoding = &windows1251
+var Windows1251 *Charmap = &windows1251
-var windows1251 = charmap{
+var windows1251 = Charmap{
name: "Windows 1251",
mib: identifier.Windows1251,
asciiSuperset: true,
@@ -5258,9 +5958,9 @@ var windows1251 = charmap{
}
// Windows1252 is the Windows 1252 encoding.
-var Windows1252 encoding.Encoding = &windows1252
+var Windows1252 *Charmap = &windows1252
-var windows1252 = charmap{
+var windows1252 = Charmap{
name: "Windows 1252",
mib: identifier.Windows1252,
asciiSuperset: true,
@@ -5433,9 +6133,9 @@ var windows1252 = charmap{
}
// Windows1253 is the Windows 1253 encoding.
-var Windows1253 encoding.Encoding = &windows1253
+var Windows1253 *Charmap = &windows1253
-var windows1253 = charmap{
+var windows1253 = Charmap{
name: "Windows 1253",
mib: identifier.Windows1253,
asciiSuperset: true,
@@ -5608,9 +6308,9 @@ var windows1253 = charmap{
}
// Windows1254 is the Windows 1254 encoding.
-var Windows1254 encoding.Encoding = &windows1254
+var Windows1254 *Charmap = &windows1254
-var windows1254 = charmap{
+var windows1254 = Charmap{
name: "Windows 1254",
mib: identifier.Windows1254,
asciiSuperset: true,
@@ -5783,9 +6483,9 @@ var windows1254 = charmap{
}
// Windows1255 is the Windows 1255 encoding.
-var Windows1255 encoding.Encoding = &windows1255
+var Windows1255 *Charmap = &windows1255
-var windows1255 = charmap{
+var windows1255 = Charmap{
name: "Windows 1255",
mib: identifier.Windows1255,
asciiSuperset: true,
@@ -5893,7 +6593,7 @@ var windows1255 = charmap{
{2, [3]byte{0xd6, 0xb4, 0x00}}, {2, [3]byte{0xd6, 0xb5, 0x00}},
{2, [3]byte{0xd6, 0xb6, 0x00}}, {2, [3]byte{0xd6, 0xb7, 0x00}},
{2, [3]byte{0xd6, 0xb8, 0x00}}, {2, [3]byte{0xd6, 0xb9, 0x00}},
- {3, [3]byte{0xef, 0xbf, 0xbd}}, {2, [3]byte{0xd6, 0xbb, 0x00}},
+ {2, [3]byte{0xd6, 0xba, 0x00}}, {2, [3]byte{0xd6, 0xbb, 0x00}},
{2, [3]byte{0xd6, 0xbc, 0x00}}, {2, [3]byte{0xd6, 0xbd, 0x00}},
{2, [3]byte{0xd6, 0xbe, 0x00}}, {2, [3]byte{0xd6, 0xbf, 0x00}},
{2, [3]byte{0xd7, 0x80, 0x00}}, {2, [3]byte{0xd7, 0x81, 0x00}},
@@ -5943,24 +6643,24 @@ var windows1255 = charmap{
0xb20000b2, 0xb30000b3, 0xb40000b4, 0xb50000b5, 0xb60000b6, 0xb70000b7, 0xb80000b8, 0xb90000b9,
0xbb0000bb, 0xbc0000bc, 0xbd0000bd, 0xbe0000be, 0xbf0000bf, 0xaa0000d7, 0xba0000f7, 0x83000192,
0x880002c6, 0x980002dc, 0xc00005b0, 0xc10005b1, 0xc20005b2, 0xc30005b3, 0xc40005b4, 0xc50005b5,
- 0xc60005b6, 0xc70005b7, 0xc80005b8, 0xc90005b9, 0xcb0005bb, 0xcc0005bc, 0xcd0005bd, 0xce0005be,
- 0xcf0005bf, 0xd00005c0, 0xd10005c1, 0xd20005c2, 0xd30005c3, 0xe00005d0, 0xe10005d1, 0xe20005d2,
- 0xe30005d3, 0xe40005d4, 0xe50005d5, 0xe60005d6, 0xe70005d7, 0xe80005d8, 0xe90005d9, 0xea0005da,
- 0xeb0005db, 0xec0005dc, 0xed0005dd, 0xee0005de, 0xef0005df, 0xf00005e0, 0xf10005e1, 0xf20005e2,
- 0xf30005e3, 0xf40005e4, 0xf50005e5, 0xf60005e6, 0xf70005e7, 0xf80005e8, 0xf90005e9, 0xfa0005ea,
- 0xd40005f0, 0xd50005f1, 0xd60005f2, 0xd70005f3, 0xd80005f4, 0xfd00200e, 0xfe00200f, 0x96002013,
- 0x97002014, 0x91002018, 0x92002019, 0x8200201a, 0x9300201c, 0x9400201d, 0x8400201e, 0x86002020,
- 0x87002021, 0x95002022, 0x85002026, 0x89002030, 0x8b002039, 0x9b00203a, 0xa40020aa, 0x800020ac,
- 0x99002122, 0x99002122, 0x99002122, 0x99002122, 0x99002122, 0x99002122, 0x99002122, 0x99002122,
+ 0xc60005b6, 0xc70005b7, 0xc80005b8, 0xc90005b9, 0xca0005ba, 0xcb0005bb, 0xcc0005bc, 0xcd0005bd,
+ 0xce0005be, 0xcf0005bf, 0xd00005c0, 0xd10005c1, 0xd20005c2, 0xd30005c3, 0xe00005d0, 0xe10005d1,
+ 0xe20005d2, 0xe30005d3, 0xe40005d4, 0xe50005d5, 0xe60005d6, 0xe70005d7, 0xe80005d8, 0xe90005d9,
+ 0xea0005da, 0xeb0005db, 0xec0005dc, 0xed0005dd, 0xee0005de, 0xef0005df, 0xf00005e0, 0xf10005e1,
+ 0xf20005e2, 0xf30005e3, 0xf40005e4, 0xf50005e5, 0xf60005e6, 0xf70005e7, 0xf80005e8, 0xf90005e9,
+ 0xfa0005ea, 0xd40005f0, 0xd50005f1, 0xd60005f2, 0xd70005f3, 0xd80005f4, 0xfd00200e, 0xfe00200f,
+ 0x96002013, 0x97002014, 0x91002018, 0x92002019, 0x8200201a, 0x9300201c, 0x9400201d, 0x8400201e,
+ 0x86002020, 0x87002021, 0x95002022, 0x85002026, 0x89002030, 0x8b002039, 0x9b00203a, 0xa40020aa,
+ 0x800020ac, 0x99002122, 0x99002122, 0x99002122, 0x99002122, 0x99002122, 0x99002122, 0x99002122,
0x99002122, 0x99002122, 0x99002122, 0x99002122, 0x99002122, 0x99002122, 0x99002122, 0x99002122,
0x99002122, 0x99002122, 0x99002122, 0x99002122, 0x99002122, 0x99002122, 0x99002122, 0x99002122,
},
}
// Windows1256 is the Windows 1256 encoding.
-var Windows1256 encoding.Encoding = &windows1256
+var Windows1256 *Charmap = &windows1256
-var windows1256 = charmap{
+var windows1256 = Charmap{
name: "Windows 1256",
mib: identifier.Windows1256,
asciiSuperset: true,
@@ -6133,9 +6833,9 @@ var windows1256 = charmap{
}
// Windows1257 is the Windows 1257 encoding.
-var Windows1257 encoding.Encoding = &windows1257
+var Windows1257 *Charmap = &windows1257
-var windows1257 = charmap{
+var windows1257 = Charmap{
name: "Windows 1257",
mib: identifier.Windows1257,
asciiSuperset: true,
@@ -6308,9 +7008,9 @@ var windows1257 = charmap{
}
// Windows1258 is the Windows 1258 encoding.
-var Windows1258 encoding.Encoding = &windows1258
+var Windows1258 *Charmap = &windows1258
-var windows1258 = charmap{
+var windows1258 = Charmap{
name: "Windows 1258",
mib: identifier.Windows1258,
asciiSuperset: true,
@@ -6485,9 +7185,9 @@ var windows1258 = charmap{
// XUserDefined is the X-User-Defined encoding.
//
// It is defined at http://encoding.spec.whatwg.org/#x-user-defined
-var XUserDefined encoding.Encoding = &xUserDefined
+var XUserDefined *Charmap = &xUserDefined
-var xUserDefined = charmap{
+var xUserDefined = Charmap{
name: "X-User-Defined",
mib: identifier.XUserDefined,
asciiSuperset: true,
@@ -6659,6 +7359,7 @@ var xUserDefined = charmap{
},
}
var listAll = []encoding.Encoding{
+ CodePage037,
CodePage437,
CodePage850,
CodePage852,
@@ -6669,6 +7370,8 @@ var listAll = []encoding.Encoding{
CodePage863,
CodePage865,
CodePage866,
+ CodePage1047,
+ CodePage1140,
ISO8859_1,
ISO8859_2,
ISO8859_3,
@@ -6681,6 +7384,7 @@ var listAll = []encoding.Encoding{
ISO8859_8,
ISO8859_8E,
ISO8859_8I,
+ ISO8859_9,
ISO8859_10,
ISO8859_13,
ISO8859_14,
@@ -6703,4 +7407,4 @@ var listAll = []encoding.Encoding{
XUserDefined,
}
-// Total table size 78736 bytes (76KiB); checksum: 811C9DC5
+// Total table size 87024 bytes (84KiB); checksum: 811C9DC5
diff --git a/vendor/golang.org/x/text/encoding/htmlindex/gen.go b/vendor/golang.org/x/text/encoding/htmlindex/gen.go
deleted file mode 100644
index d10e5e09f7..0000000000
--- a/vendor/golang.org/x/text/encoding/htmlindex/gen.go
+++ /dev/null
@@ -1,167 +0,0 @@
-// Copyright 2015 The Go Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style
-// license that can be found in the LICENSE file.
-
-// +build ignore
-
-package main
-
-import (
- "bytes"
- "encoding/json"
- "fmt"
- "log"
- "strings"
-
- "golang.org/x/text/internal/gen"
-)
-
-type group struct {
- Encodings []struct {
- Labels []string
- Name string
- }
-}
-
-func main() {
- gen.Init()
-
- r := gen.Open("http://www.w3.org/TR", "w3", "encoding/indexes/encodings.json")
- var groups []group
- if err := json.NewDecoder(r).Decode(&groups); err != nil {
- log.Fatalf("Error reading encodings.json: %v", err)
- }
-
- w := &bytes.Buffer{}
- fmt.Fprintln(w, "type htmlEncoding byte")
- fmt.Fprintln(w, "const (")
- for i, g := range groups {
- for _, e := range g.Encodings {
- name := consts[e.Name]
- if name == "" {
- log.Fatalf("No const defined for %s.", e.Name)
- }
- if i == 0 {
- fmt.Fprintf(w, "%s htmlEncoding = iota\n", name)
- } else {
- fmt.Fprintf(w, "%s\n", name)
- }
- }
- }
- fmt.Fprintln(w, "numEncodings")
- fmt.Fprint(w, ")\n\n")
-
- fmt.Fprintln(w, "var canonical = [numEncodings]string{")
- for _, g := range groups {
- for _, e := range g.Encodings {
- fmt.Fprintf(w, "%q,\n", e.Name)
- }
- }
- fmt.Fprint(w, "}\n\n")
-
- fmt.Fprintln(w, "var nameMap = map[string]htmlEncoding{")
- for _, g := range groups {
- for _, e := range g.Encodings {
- for _, l := range e.Labels {
- fmt.Fprintf(w, "%q: %s,\n", l, consts[e.Name])
- }
- }
- }
- fmt.Fprint(w, "}\n\n")
-
- var tags []string
- fmt.Fprintln(w, "var localeMap = []htmlEncoding{")
- for _, loc := range locales {
- tags = append(tags, loc.tag)
- fmt.Fprintf(w, "%s, // %s \n", consts[loc.name], loc.tag)
- }
- fmt.Fprint(w, "}\n\n")
-
- fmt.Fprintf(w, "const locales = %q\n", strings.Join(tags, " "))
-
- gen.WriteGoFile("tables.go", "htmlindex", w.Bytes())
-}
-
-// consts maps canonical encoding name to internal constant.
-var consts = map[string]string{
- "utf-8": "utf8",
- "ibm866": "ibm866",
- "iso-8859-2": "iso8859_2",
- "iso-8859-3": "iso8859_3",
- "iso-8859-4": "iso8859_4",
- "iso-8859-5": "iso8859_5",
- "iso-8859-6": "iso8859_6",
- "iso-8859-7": "iso8859_7",
- "iso-8859-8": "iso8859_8",
- "iso-8859-8-i": "iso8859_8I",
- "iso-8859-10": "iso8859_10",
- "iso-8859-13": "iso8859_13",
- "iso-8859-14": "iso8859_14",
- "iso-8859-15": "iso8859_15",
- "iso-8859-16": "iso8859_16",
- "koi8-r": "koi8r",
- "koi8-u": "koi8u",
- "macintosh": "macintosh",
- "windows-874": "windows874",
- "windows-1250": "windows1250",
- "windows-1251": "windows1251",
- "windows-1252": "windows1252",
- "windows-1253": "windows1253",
- "windows-1254": "windows1254",
- "windows-1255": "windows1255",
- "windows-1256": "windows1256",
- "windows-1257": "windows1257",
- "windows-1258": "windows1258",
- "x-mac-cyrillic": "macintoshCyrillic",
- "gbk": "gbk",
- "gb18030": "gb18030",
- // "hz-gb-2312": "hzgb2312", // Was removed from WhatWG
- "big5": "big5",
- "euc-jp": "eucjp",
- "iso-2022-jp": "iso2022jp",
- "shift_jis": "shiftJIS",
- "euc-kr": "euckr",
- "replacement": "replacement",
- "utf-16be": "utf16be",
- "utf-16le": "utf16le",
- "x-user-defined": "xUserDefined",
-}
-
-// locales is taken from
-// https://html.spec.whatwg.org/multipage/syntax.html#encoding-sniffing-algorithm.
-var locales = []struct{ tag, name string }{
- {"und", "windows-1252"}, // The default value.
- {"ar", "windows-1256"},
- {"ba", "windows-1251"},
- {"be", "windows-1251"},
- {"bg", "windows-1251"},
- {"cs", "windows-1250"},
- {"el", "iso-8859-7"},
- {"et", "windows-1257"},
- {"fa", "windows-1256"},
- {"he", "windows-1255"},
- {"hr", "windows-1250"},
- {"hu", "iso-8859-2"},
- {"ja", "shift_jis"},
- {"kk", "windows-1251"},
- {"ko", "euc-kr"},
- {"ku", "windows-1254"},
- {"ky", "windows-1251"},
- {"lt", "windows-1257"},
- {"lv", "windows-1257"},
- {"mk", "windows-1251"},
- {"pl", "iso-8859-2"},
- {"ru", "windows-1251"},
- {"sah", "windows-1251"},
- {"sk", "windows-1250"},
- {"sl", "iso-8859-2"},
- {"sr", "windows-1251"},
- {"tg", "windows-1251"},
- {"th", "windows-874"},
- {"tr", "windows-1254"},
- {"tt", "windows-1251"},
- {"uk", "windows-1251"},
- {"vi", "windows-1258"},
- {"zh-hans", "gb18030"},
- {"zh-hant", "big5"},
-}
diff --git a/vendor/golang.org/x/text/encoding/htmlindex/tables.go b/vendor/golang.org/x/text/encoding/htmlindex/tables.go
index 78950d3c3d..cbf4ba9236 100644
--- a/vendor/golang.org/x/text/encoding/htmlindex/tables.go
+++ b/vendor/golang.org/x/text/encoding/htmlindex/tables.go
@@ -1,4 +1,4 @@
-// This file was generated by go generate; DO NOT EDIT
+// Code generated by running "go generate" in golang.org/x/text. DO NOT EDIT.
package htmlindex
diff --git a/vendor/golang.org/x/text/encoding/internal/identifier/gen.go b/vendor/golang.org/x/text/encoding/internal/identifier/gen.go
deleted file mode 100644
index 0c8eba7e52..0000000000
--- a/vendor/golang.org/x/text/encoding/internal/identifier/gen.go
+++ /dev/null
@@ -1,137 +0,0 @@
-// Copyright 2015 The Go Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style
-// license that can be found in the LICENSE file.
-
-// +build ignore
-
-package main
-
-import (
- "bytes"
- "encoding/xml"
- "fmt"
- "io"
- "log"
- "strings"
-
- "golang.org/x/text/internal/gen"
-)
-
-type registry struct {
- XMLName xml.Name `xml:"registry"`
- Updated string `xml:"updated"`
- Registry []struct {
- ID string `xml:"id,attr"`
- Record []struct {
- Name string `xml:"name"`
- Xref []struct {
- Type string `xml:"type,attr"`
- Data string `xml:"data,attr"`
- } `xml:"xref"`
- Desc struct {
- Data string `xml:",innerxml"`
- // Any []struct {
- // Data string `xml:",chardata"`
- // } `xml:",any"`
- // Data string `xml:",chardata"`
- } `xml:"description,"`
- MIB string `xml:"value"`
- Alias []string `xml:"alias"`
- MIME string `xml:"preferred_alias"`
- } `xml:"record"`
- } `xml:"registry"`
-}
-
-func main() {
- r := gen.OpenIANAFile("assignments/character-sets/character-sets.xml")
- reg := &registry{}
- if err := xml.NewDecoder(r).Decode(&reg); err != nil && err != io.EOF {
- log.Fatalf("Error decoding charset registry: %v", err)
- }
- if len(reg.Registry) == 0 || reg.Registry[0].ID != "character-sets-1" {
- log.Fatalf("Unexpected ID %s", reg.Registry[0].ID)
- }
-
- w := &bytes.Buffer{}
- fmt.Fprintf(w, "const (\n")
- for _, rec := range reg.Registry[0].Record {
- constName := ""
- for _, a := range rec.Alias {
- if strings.HasPrefix(a, "cs") && strings.IndexByte(a, '-') == -1 {
- // Some of the constant definitions have comments in them. Strip those.
- constName = strings.Title(strings.SplitN(a[2:], "\n", 2)[0])
- }
- }
- if constName == "" {
- switch rec.MIB {
- case "2085":
- constName = "HZGB2312" // Not listed as alias for some reason.
- default:
- log.Fatalf("No cs alias defined for %s.", rec.MIB)
- }
- }
- if rec.MIME != "" {
- rec.MIME = fmt.Sprintf(" (MIME: %s)", rec.MIME)
- }
- fmt.Fprintf(w, "// %s is the MIB identifier with IANA name %s%s.\n//\n", constName, rec.Name, rec.MIME)
- if len(rec.Desc.Data) > 0 {
- fmt.Fprint(w, "// ")
- d := xml.NewDecoder(strings.NewReader(rec.Desc.Data))
- inElem := true
- attr := ""
- for {
- t, err := d.Token()
- if err != nil {
- if err != io.EOF {
- log.Fatal(err)
- }
- break
- }
- switch x := t.(type) {
- case xml.CharData:
- attr = "" // Don't need attribute info.
- a := bytes.Split([]byte(x), []byte("\n"))
- for i, b := range a {
- if b = bytes.TrimSpace(b); len(b) != 0 {
- if !inElem && i > 0 {
- fmt.Fprint(w, "\n// ")
- }
- inElem = false
- fmt.Fprintf(w, "%s ", string(b))
- }
- }
- case xml.StartElement:
- if x.Name.Local == "xref" {
- inElem = true
- use := false
- for _, a := range x.Attr {
- if a.Name.Local == "type" {
- use = use || a.Value != "person"
- }
- if a.Name.Local == "data" && use {
- attr = a.Value + " "
- }
- }
- }
- case xml.EndElement:
- inElem = false
- fmt.Fprint(w, attr)
- }
- }
- fmt.Fprint(w, "\n")
- }
- for _, x := range rec.Xref {
- switch x.Type {
- case "rfc":
- fmt.Fprintf(w, "// Reference: %s\n", strings.ToUpper(x.Data))
- case "uri":
- fmt.Fprintf(w, "// Reference: %s\n", x.Data)
- }
- }
- fmt.Fprintf(w, "%s MIB = %s\n", constName, rec.MIB)
- fmt.Fprintln(w)
- }
- fmt.Fprintln(w, ")")
-
- gen.WriteGoFile("mib.go", "identifier", w.Bytes())
-}
diff --git a/vendor/golang.org/x/text/encoding/internal/identifier/identifier.go b/vendor/golang.org/x/text/encoding/internal/identifier/identifier.go
index 2a2da0ef25..7351b4ef8a 100644
--- a/vendor/golang.org/x/text/encoding/internal/identifier/identifier.go
+++ b/vendor/golang.org/x/text/encoding/internal/identifier/identifier.go
@@ -36,8 +36,8 @@ package identifier
// - http://www.ietf.org/rfc/rfc2978.txt
// - http://www.unicode.org/reports/tr22/
// - http://www.w3.org/TR/encoding/
-// - http://www.w3.org/TR/encoding/indexes/encodings.json
// - https://encoding.spec.whatwg.org/
+// - https://encoding.spec.whatwg.org/encodings.json
// - https://tools.ietf.org/html/rfc6657#section-5
// Interface can be implemented by Encodings to define the CCS or CES for which
diff --git a/vendor/golang.org/x/text/encoding/internal/identifier/mib.go b/vendor/golang.org/x/text/encoding/internal/identifier/mib.go
index 915abfa297..768842b0a5 100644
--- a/vendor/golang.org/x/text/encoding/internal/identifier/mib.go
+++ b/vendor/golang.org/x/text/encoding/internal/identifier/mib.go
@@ -1,4 +1,4 @@
-// This file was generated by go generate; DO NOT EDIT
+// Code generated by running "go generate" in golang.org/x/text. DO NOT EDIT.
package identifier
diff --git a/vendor/golang.org/x/text/encoding/japanese/eucjp.go b/vendor/golang.org/x/text/encoding/japanese/eucjp.go
index 40f9b05f38..79313fa589 100644
--- a/vendor/golang.org/x/text/encoding/japanese/eucjp.go
+++ b/vendor/golang.org/x/text/encoding/japanese/eucjp.go
@@ -5,7 +5,6 @@
package japanese
import (
- "errors"
"unicode/utf8"
"golang.org/x/text/encoding"
@@ -23,10 +22,9 @@ var eucJP = internal.Encoding{
identifier.EUCPkdFmtJapanese,
}
-var errInvalidEUCJP = errors.New("japanese: invalid EUC-JP encoding")
-
type eucJPDecoder struct{ transform.NopResetter }
+// See https://encoding.spec.whatwg.org/#euc-jp-decoder.
func (eucJPDecoder) Transform(dst, src []byte, atEOF bool) (nDst, nSrc int, err error) {
r, size := rune(0), 0
loop:
@@ -37,60 +35,79 @@ loop:
case c0 == 0x8e:
if nSrc+1 >= len(src) {
- err = transform.ErrShortSrc
- break loop
+ if !atEOF {
+ err = transform.ErrShortSrc
+ break loop
+ }
+ r, size = utf8.RuneError, 1
+ break
}
c1 := src[nSrc+1]
- if c1 < 0xa1 || 0xdf < c1 {
- err = errInvalidEUCJP
- break loop
+ switch {
+ case c1 < 0xa1:
+ r, size = utf8.RuneError, 1
+ case c1 > 0xdf:
+ r, size = utf8.RuneError, 2
+ if c1 == 0xff {
+ size = 1
+ }
+ default:
+ r, size = rune(c1)+(0xff61-0xa1), 2
}
- r, size = rune(c1)+(0xff61-0xa1), 2
-
case c0 == 0x8f:
if nSrc+2 >= len(src) {
- err = transform.ErrShortSrc
- break loop
+ if !atEOF {
+ err = transform.ErrShortSrc
+ break loop
+ }
+ r, size = utf8.RuneError, 1
+ if p := nSrc + 1; p < len(src) && 0xa1 <= src[p] && src[p] < 0xfe {
+ size = 2
+ }
+ break
}
c1 := src[nSrc+1]
if c1 < 0xa1 || 0xfe < c1 {
- err = errInvalidEUCJP
- break loop
+ r, size = utf8.RuneError, 1
+ break
}
c2 := src[nSrc+2]
if c2 < 0xa1 || 0xfe < c2 {
- err = errInvalidEUCJP
- break loop
+ r, size = utf8.RuneError, 2
+ break
}
- r, size = '\ufffd', 3
+ r, size = utf8.RuneError, 3
if i := int(c1-0xa1)*94 + int(c2-0xa1); i < len(jis0212Decode) {
r = rune(jis0212Decode[i])
if r == 0 {
- r = '\ufffd'
+ r = utf8.RuneError
}
}
case 0xa1 <= c0 && c0 <= 0xfe:
if nSrc+1 >= len(src) {
- err = transform.ErrShortSrc
- break loop
+ if !atEOF {
+ err = transform.ErrShortSrc
+ break loop
+ }
+ r, size = utf8.RuneError, 1
+ break
}
c1 := src[nSrc+1]
if c1 < 0xa1 || 0xfe < c1 {
- err = errInvalidEUCJP
- break loop
+ r, size = utf8.RuneError, 1
+ break
}
- r, size = '\ufffd', 2
+ r, size = utf8.RuneError, 2
if i := int(c0-0xa1)*94 + int(c1-0xa1); i < len(jis0208Decode) {
r = rune(jis0208Decode[i])
if r == 0 {
- r = '\ufffd'
+ r = utf8.RuneError
}
}
default:
- err = errInvalidEUCJP
- break loop
+ r, size = utf8.RuneError, 1
}
if nDst+utf8.RuneLen(r) > len(dst) {
@@ -99,9 +116,6 @@ loop:
}
nDst += utf8.EncodeRune(dst[nDst:], r)
}
- if atEOF && err == transform.ErrShortSrc {
- err = errInvalidEUCJP
- }
return nDst, nSrc, err
}
diff --git a/vendor/golang.org/x/text/encoding/japanese/iso2022jp.go b/vendor/golang.org/x/text/encoding/japanese/iso2022jp.go
index b63e7d5d8f..613226df5e 100644
--- a/vendor/golang.org/x/text/encoding/japanese/iso2022jp.go
+++ b/vendor/golang.org/x/text/encoding/japanese/iso2022jp.go
@@ -5,7 +5,6 @@
package japanese
import (
- "errors"
"unicode/utf8"
"golang.org/x/text/encoding"
@@ -31,8 +30,6 @@ func iso2022JPNewEncoder() transform.Transformer {
return new(iso2022JPEncoder)
}
-var errInvalidISO2022JP = errors.New("japanese: invalid ISO-2022-JP encoding")
-
const (
asciiState = iota
katakanaState
@@ -50,45 +47,51 @@ func (d *iso2022JPDecoder) Reset() {
func (d *iso2022JPDecoder) Transform(dst, src []byte, atEOF bool) (nDst, nSrc int, err error) {
r, size := rune(0), 0
-loop:
for ; nSrc < len(src); nSrc += size {
c0 := src[nSrc]
if c0 >= utf8.RuneSelf {
- err = errInvalidISO2022JP
- break loop
+ r, size = '\ufffd', 1
+ goto write
}
if c0 == asciiEsc {
if nSrc+2 >= len(src) {
- err = transform.ErrShortSrc
- break loop
+ if !atEOF {
+ return nDst, nSrc, transform.ErrShortSrc
+ }
+ // TODO: is it correct to only skip 1??
+ r, size = '\ufffd', 1
+ goto write
}
size = 3
c1 := src[nSrc+1]
c2 := src[nSrc+2]
switch {
- case c1 == '$' && (c2 == '@' || c2 == 'B'):
+ case c1 == '$' && (c2 == '@' || c2 == 'B'): // 0x24 {0x40, 0x42}
*d = jis0208State
continue
- case c1 == '$' && c2 == '(':
+ case c1 == '$' && c2 == '(': // 0x24 0x28
if nSrc+3 >= len(src) {
- err = transform.ErrShortSrc
- break loop
+ if !atEOF {
+ return nDst, nSrc, transform.ErrShortSrc
+ }
+ r, size = '\ufffd', 1
+ goto write
}
size = 4
- if src[nSrc]+3 == 'D' {
+ if src[nSrc+3] == 'D' {
*d = jis0212State
continue
}
- case c1 == '(' && (c2 == 'B' || c2 == 'J'):
+ case c1 == '(' && (c2 == 'B' || c2 == 'J'): // 0x28 {0x42, 0x4A}
*d = asciiState
continue
- case c1 == '(' && c2 == 'I':
+ case c1 == '(' && c2 == 'I': // 0x28 0x49
*d = katakanaState
continue
}
- err = errInvalidISO2022JP
- break loop
+ r, size = '\ufffd', 1
+ goto write
}
switch *d {
@@ -97,8 +100,8 @@ loop:
case katakanaState:
if c0 < 0x21 || 0x60 <= c0 {
- err = errInvalidISO2022JP
- break loop
+ r, size = '\ufffd', 1
+ goto write
}
r, size = rune(c0)+(0xff61-0x21), 1
@@ -106,11 +109,14 @@ loop:
if c0 == 0x0a {
*d = asciiState
r, size = rune(c0), 1
- break
+ goto write
}
if nSrc+1 >= len(src) {
- err = transform.ErrShortSrc
- break loop
+ if !atEOF {
+ return nDst, nSrc, transform.ErrShortSrc
+ }
+ r, size = '\ufffd', 1
+ goto write
}
size = 2
c1 := src[nSrc+1]
@@ -121,22 +127,19 @@ loop:
r = rune(jis0212Decode[i])
} else {
r = '\ufffd'
- break
+ goto write
}
if r == 0 {
r = '\ufffd'
}
}
+ write:
if nDst+utf8.RuneLen(r) > len(dst) {
- err = transform.ErrShortDst
- break loop
+ return nDst, nSrc, transform.ErrShortDst
}
nDst += utf8.EncodeRune(dst[nDst:], r)
}
- if atEOF && err == transform.ErrShortSrc {
- err = errInvalidISO2022JP
- }
return nDst, nSrc, err
}
diff --git a/vendor/golang.org/x/text/encoding/japanese/maketables.go b/vendor/golang.org/x/text/encoding/japanese/maketables.go
deleted file mode 100644
index d6c10deb07..0000000000
--- a/vendor/golang.org/x/text/encoding/japanese/maketables.go
+++ /dev/null
@@ -1,161 +0,0 @@
-// Copyright 2013 The Go Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style
-// license that can be found in the LICENSE file.
-
-// +build ignore
-
-package main
-
-// This program generates tables.go:
-// go run maketables.go | gofmt > tables.go
-
-// TODO: Emoji extensions?
-// http://www.unicode.org/faq/emoji_dingbats.html
-// http://www.unicode.org/Public/UNIDATA/EmojiSources.txt
-
-import (
- "bufio"
- "fmt"
- "log"
- "net/http"
- "sort"
- "strings"
-)
-
-type entry struct {
- jisCode, table int
-}
-
-func main() {
- fmt.Printf("// generated by go run maketables.go; DO NOT EDIT\n\n")
- fmt.Printf("// Package japanese provides Japanese encodings such as EUC-JP and Shift JIS.\n")
- fmt.Printf(`package japanese // import "golang.org/x/text/encoding/japanese"` + "\n\n")
-
- reverse := [65536]entry{}
- for i := range reverse {
- reverse[i].table = -1
- }
-
- tables := []struct {
- url string
- name string
- }{
- {"http://encoding.spec.whatwg.org/index-jis0208.txt", "0208"},
- {"http://encoding.spec.whatwg.org/index-jis0212.txt", "0212"},
- }
- for i, table := range tables {
- res, err := http.Get(table.url)
- if err != nil {
- log.Fatalf("%q: Get: %v", table.url, err)
- }
- defer res.Body.Close()
-
- mapping := [65536]uint16{}
-
- scanner := bufio.NewScanner(res.Body)
- for scanner.Scan() {
- s := strings.TrimSpace(scanner.Text())
- if s == "" || s[0] == '#' {
- continue
- }
- x, y := 0, uint16(0)
- if _, err := fmt.Sscanf(s, "%d 0x%x", &x, &y); err != nil {
- log.Fatalf("%q: could not parse %q", table.url, s)
- }
- if x < 0 || 120*94 <= x {
- log.Fatalf("%q: JIS code %d is out of range", table.url, x)
- }
- mapping[x] = y
- if reverse[y].table == -1 {
- reverse[y] = entry{jisCode: x, table: i}
- }
- }
- if err := scanner.Err(); err != nil {
- log.Fatalf("%q: scanner error: %v", table.url, err)
- }
-
- fmt.Printf("// jis%sDecode is the decoding table from JIS %s code to Unicode.\n// It is defined at %s\n",
- table.name, table.name, table.url)
- fmt.Printf("var jis%sDecode = [...]uint16{\n", table.name)
- for i, m := range mapping {
- if m != 0 {
- fmt.Printf("\t%d: 0x%04X,\n", i, m)
- }
- }
- fmt.Printf("}\n\n")
- }
-
- // Any run of at least separation continuous zero entries in the reverse map will
- // be a separate encode table.
- const separation = 1024
-
- intervals := []interval(nil)
- low, high := -1, -1
- for i, v := range reverse {
- if v.table == -1 {
- continue
- }
- if low < 0 {
- low = i
- } else if i-high >= separation {
- if high >= 0 {
- intervals = append(intervals, interval{low, high})
- }
- low = i
- }
- high = i + 1
- }
- if high >= 0 {
- intervals = append(intervals, interval{low, high})
- }
- sort.Sort(byDecreasingLength(intervals))
-
- fmt.Printf("const (\n")
- fmt.Printf("\tjis0208 = 1\n")
- fmt.Printf("\tjis0212 = 2\n")
- fmt.Printf("\tcodeMask = 0x7f\n")
- fmt.Printf("\tcodeShift = 7\n")
- fmt.Printf("\ttableShift = 14\n")
- fmt.Printf(")\n\n")
-
- fmt.Printf("const numEncodeTables = %d\n\n", len(intervals))
- fmt.Printf("// encodeX are the encoding tables from Unicode to JIS code,\n")
- fmt.Printf("// sorted by decreasing length.\n")
- for i, v := range intervals {
- fmt.Printf("// encode%d: %5d entries for runes in [%5d, %5d).\n", i, v.len(), v.low, v.high)
- }
- fmt.Printf("//\n")
- fmt.Printf("// The high two bits of the value record whether the JIS code comes from the\n")
- fmt.Printf("// JIS0208 table (high bits == 1) or the JIS0212 table (high bits == 2).\n")
- fmt.Printf("// The low 14 bits are two 7-bit unsigned integers j1 and j2 that form the\n")
- fmt.Printf("// JIS code (94*j1 + j2) within that table.\n")
- fmt.Printf("\n")
-
- for i, v := range intervals {
- fmt.Printf("const encode%dLow, encode%dHigh = %d, %d\n\n", i, i, v.low, v.high)
- fmt.Printf("var encode%d = [...]uint16{\n", i)
- for j := v.low; j < v.high; j++ {
- x := reverse[j]
- if x.table == -1 {
- continue
- }
- fmt.Printf("\t%d - %d: jis%s<<14 | 0x%02X<<7 | 0x%02X,\n",
- j, v.low, tables[x.table].name, x.jisCode/94, x.jisCode%94)
- }
- fmt.Printf("}\n\n")
- }
-}
-
-// interval is a half-open interval [low, high).
-type interval struct {
- low, high int
-}
-
-func (i interval) len() int { return i.high - i.low }
-
-// byDecreasingLength sorts intervals by decreasing length.
-type byDecreasingLength []interval
-
-func (b byDecreasingLength) Len() int { return len(b) }
-func (b byDecreasingLength) Less(i, j int) bool { return b[i].len() > b[j].len() }
-func (b byDecreasingLength) Swap(i, j int) { b[i], b[j] = b[j], b[i] }
diff --git a/vendor/golang.org/x/text/encoding/japanese/shiftjis.go b/vendor/golang.org/x/text/encoding/japanese/shiftjis.go
index 099aecc31c..16fd8a6e3e 100644
--- a/vendor/golang.org/x/text/encoding/japanese/shiftjis.go
+++ b/vendor/golang.org/x/text/encoding/japanese/shiftjis.go
@@ -5,7 +5,6 @@
package japanese
import (
- "errors"
"unicode/utf8"
"golang.org/x/text/encoding"
@@ -24,8 +23,6 @@ var shiftJIS = internal.Encoding{
identifier.ShiftJIS,
}
-var errInvalidShiftJIS = errors.New("japanese: invalid Shift JIS encoding")
-
type shiftJISDecoder struct{ transform.NopResetter }
func (shiftJISDecoder) Transform(dst, src []byte, atEOF bool) (nDst, nSrc int, err error) {
@@ -48,28 +45,32 @@ loop:
c0 = 2*c0 - 0x21
if nSrc+1 >= len(src) {
- err = transform.ErrShortSrc
- break loop
+ if !atEOF {
+ err = transform.ErrShortSrc
+ break loop
+ }
+ r, size = '\ufffd', 1
+ goto write
}
c1 := src[nSrc+1]
switch {
case c1 < 0x40:
- err = errInvalidShiftJIS
- break loop
+ r, size = '\ufffd', 1 // c1 is ASCII so output on next round
+ goto write
case c1 < 0x7f:
c0--
c1 -= 0x40
case c1 == 0x7f:
- err = errInvalidShiftJIS
- break loop
+ r, size = '\ufffd', 1 // c1 is ASCII so output on next round
+ goto write
case c1 < 0x9f:
c0--
c1 -= 0x41
case c1 < 0xfd:
c1 -= 0x9f
default:
- err = errInvalidShiftJIS
- break loop
+ r, size = '\ufffd', 2
+ goto write
}
r, size = '\ufffd', 2
if i := int(c0)*94 + int(c1); i < len(jis0208Decode) {
@@ -79,20 +80,19 @@ loop:
}
}
+ case c0 == 0x80:
+ r, size = 0x80, 1
+
default:
- err = errInvalidShiftJIS
- break loop
+ r, size = '\ufffd', 1
}
-
+ write:
if nDst+utf8.RuneLen(r) > len(dst) {
err = transform.ErrShortDst
break loop
}
nDst += utf8.EncodeRune(dst[nDst:], r)
}
- if atEOF && err == transform.ErrShortSrc {
- err = errInvalidShiftJIS
- }
return nDst, nSrc, err
}
diff --git a/vendor/golang.org/x/text/encoding/korean/euckr.go b/vendor/golang.org/x/text/encoding/korean/euckr.go
index a4b9ff178b..034337f5df 100644
--- a/vendor/golang.org/x/text/encoding/korean/euckr.go
+++ b/vendor/golang.org/x/text/encoding/korean/euckr.go
@@ -5,7 +5,6 @@
package korean
import (
- "errors"
"unicode/utf8"
"golang.org/x/text/encoding"
@@ -26,8 +25,6 @@ var eucKR = internal.Encoding{
identifier.EUCKR,
}
-var errInvalidEUCKR = errors.New("korean: invalid EUC-KR encoding")
-
type eucKRDecoder struct{ transform.NopResetter }
func (eucKRDecoder) Transform(dst, src []byte, atEOF bool) (nDst, nSrc int, err error) {
@@ -40,10 +37,15 @@ loop:
case 0x81 <= c0 && c0 < 0xff:
if nSrc+1 >= len(src) {
- err = transform.ErrShortSrc
- break loop
+ if !atEOF {
+ err = transform.ErrShortSrc
+ break loop
+ }
+ r, size = utf8.RuneError, 1
+ break
}
c1 := src[nSrc+1]
+ size = 2
if c0 < 0xc7 {
r = 178 * rune(c0-0x81)
switch {
@@ -54,39 +56,36 @@ loop:
case 0x81 <= c1 && c1 < 0xff:
r += rune(c1) - (0x81 - 2*26)
default:
- err = errInvalidEUCKR
- break loop
+ goto decError
}
} else if 0xa1 <= c1 && c1 < 0xff {
r = 178*(0xc7-0x81) + rune(c0-0xc7)*94 + rune(c1-0xa1)
} else {
- err = errInvalidEUCKR
- break loop
+ goto decError
}
if int(r) < len(decode) {
r = rune(decode[r])
- if r == 0 {
- r = '\ufffd'
+ if r != 0 {
+ break
}
- } else {
- r = '\ufffd'
}
- size = 2
+ decError:
+ r = utf8.RuneError
+ if c1 < utf8.RuneSelf {
+ size = 1
+ }
default:
- err = errInvalidEUCKR
- break loop
+ r, size = utf8.RuneError, 1
+ break
}
if nDst+utf8.RuneLen(r) > len(dst) {
err = transform.ErrShortDst
- break loop
+ break
}
nDst += utf8.EncodeRune(dst[nDst:], r)
}
- if atEOF && err == transform.ErrShortSrc {
- err = errInvalidEUCKR
- }
return nDst, nSrc, err
}
diff --git a/vendor/golang.org/x/text/encoding/korean/maketables.go b/vendor/golang.org/x/text/encoding/korean/maketables.go
deleted file mode 100644
index c84034fb67..0000000000
--- a/vendor/golang.org/x/text/encoding/korean/maketables.go
+++ /dev/null
@@ -1,143 +0,0 @@
-// Copyright 2013 The Go Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style
-// license that can be found in the LICENSE file.
-
-// +build ignore
-
-package main
-
-// This program generates tables.go:
-// go run maketables.go | gofmt > tables.go
-
-import (
- "bufio"
- "fmt"
- "log"
- "net/http"
- "sort"
- "strings"
-)
-
-func main() {
- fmt.Printf("// generated by go run maketables.go; DO NOT EDIT\n\n")
- fmt.Printf("// Package korean provides Korean encodings such as EUC-KR.\n")
- fmt.Printf(`package korean // import "golang.org/x/text/encoding/korean"` + "\n\n")
-
- res, err := http.Get("http://encoding.spec.whatwg.org/index-euc-kr.txt")
- if err != nil {
- log.Fatalf("Get: %v", err)
- }
- defer res.Body.Close()
-
- mapping := [65536]uint16{}
- reverse := [65536]uint16{}
-
- scanner := bufio.NewScanner(res.Body)
- for scanner.Scan() {
- s := strings.TrimSpace(scanner.Text())
- if s == "" || s[0] == '#' {
- continue
- }
- x, y := uint16(0), uint16(0)
- if _, err := fmt.Sscanf(s, "%d 0x%x", &x, &y); err != nil {
- log.Fatalf("could not parse %q", s)
- }
- if x < 0 || 178*(0xc7-0x81)+(0xfe-0xc7)*94+(0xff-0xa1) <= x {
- log.Fatalf("EUC-KR code %d is out of range", x)
- }
- mapping[x] = y
- if reverse[y] == 0 {
- c0, c1 := uint16(0), uint16(0)
- if x < 178*(0xc7-0x81) {
- c0 = uint16(x/178) + 0x81
- c1 = uint16(x % 178)
- switch {
- case c1 < 1*26:
- c1 += 0x41
- case c1 < 2*26:
- c1 += 0x47
- default:
- c1 += 0x4d
- }
- } else {
- x -= 178 * (0xc7 - 0x81)
- c0 = uint16(x/94) + 0xc7
- c1 = uint16(x%94) + 0xa1
- }
- reverse[y] = c0<<8 | c1
- }
- }
- if err := scanner.Err(); err != nil {
- log.Fatalf("scanner error: %v", err)
- }
-
- fmt.Printf("// decode is the decoding table from EUC-KR code to Unicode.\n")
- fmt.Printf("// It is defined at http://encoding.spec.whatwg.org/index-euc-kr.txt\n")
- fmt.Printf("var decode = [...]uint16{\n")
- for i, v := range mapping {
- if v != 0 {
- fmt.Printf("\t%d: 0x%04X,\n", i, v)
- }
- }
- fmt.Printf("}\n\n")
-
- // Any run of at least separation continuous zero entries in the reverse map will
- // be a separate encode table.
- const separation = 1024
-
- intervals := []interval(nil)
- low, high := -1, -1
- for i, v := range reverse {
- if v == 0 {
- continue
- }
- if low < 0 {
- low = i
- } else if i-high >= separation {
- if high >= 0 {
- intervals = append(intervals, interval{low, high})
- }
- low = i
- }
- high = i + 1
- }
- if high >= 0 {
- intervals = append(intervals, interval{low, high})
- }
- sort.Sort(byDecreasingLength(intervals))
-
- fmt.Printf("const numEncodeTables = %d\n\n", len(intervals))
- fmt.Printf("// encodeX are the encoding tables from Unicode to EUC-KR code,\n")
- fmt.Printf("// sorted by decreasing length.\n")
- for i, v := range intervals {
- fmt.Printf("// encode%d: %5d entries for runes in [%5d, %5d).\n", i, v.len(), v.low, v.high)
- }
- fmt.Printf("\n")
-
- for i, v := range intervals {
- fmt.Printf("const encode%dLow, encode%dHigh = %d, %d\n\n", i, i, v.low, v.high)
- fmt.Printf("var encode%d = [...]uint16{\n", i)
- for j := v.low; j < v.high; j++ {
- x := reverse[j]
- if x == 0 {
- continue
- }
- fmt.Printf("\t%d-%d: 0x%04X,\n", j, v.low, x)
- }
- fmt.Printf("}\n\n")
- }
-}
-
-// interval is a half-open interval [low, high).
-type interval struct {
- low, high int
-}
-
-func (i interval) len() int { return i.high - i.low }
-
-// byDecreasingLength sorts intervals by decreasing length.
-type byDecreasingLength []interval
-
-func (b byDecreasingLength) Len() int { return len(b) }
-func (b byDecreasingLength) Less(i, j int) bool { return b[i].len() > b[j].len() }
-func (b byDecreasingLength) Swap(i, j int) { b[i], b[j] = b[j], b[i] }
diff --git a/vendor/golang.org/x/text/encoding/simplifiedchinese/gbk.go b/vendor/golang.org/x/text/encoding/simplifiedchinese/gbk.go
index e0b15bbcc1..b89c45b03d 100644
--- a/vendor/golang.org/x/text/encoding/simplifiedchinese/gbk.go
+++ b/vendor/golang.org/x/text/encoding/simplifiedchinese/gbk.go
@@ -5,7 +5,6 @@
package simplifiedchinese
import (
- "errors"
"unicode/utf8"
"golang.org/x/text/encoding"
@@ -40,11 +39,6 @@ var gbk18030 = internal.Encoding{
identifier.GB18030,
}
-var (
- errInvalidGB18030 = errors.New("simplifiedchinese: invalid GB18030 encoding")
- errInvalidGBK = errors.New("simplifiedchinese: invalid GBK encoding")
-)
-
type gbkDecoder struct {
transform.NopResetter
gb18030 bool
@@ -66,8 +60,12 @@ loop:
case c0 < 0xff:
if nSrc+1 >= len(src) {
- err = transform.ErrShortSrc
- break loop
+ if !atEOF {
+ err = transform.ErrShortSrc
+ break loop
+ }
+ r, size = utf8.RuneError, 1
+ goto write
}
c1 := src[nSrc+1]
switch {
@@ -77,18 +75,24 @@ loop:
c1 -= 0x41
case d.gb18030 && 0x30 <= c1 && c1 < 0x40:
if nSrc+3 >= len(src) {
- err = transform.ErrShortSrc
- break loop
+ if !atEOF {
+ err = transform.ErrShortSrc
+ break loop
+ }
+ // The second byte here is always ASCII, so we can set size
+ // to 1 in all cases.
+ r, size = utf8.RuneError, 1
+ goto write
}
c2 := src[nSrc+2]
if c2 < 0x81 || 0xff <= c2 {
- err = errInvalidGB18030
- break loop
+ r, size = utf8.RuneError, 1
+ goto write
}
c3 := src[nSrc+3]
if c3 < 0x30 || 0x3a <= c3 {
- err = errInvalidGB18030
- break loop
+ r, size = utf8.RuneError, 1
+ goto write
}
size = 4
r = ((rune(c0-0x81)*10+rune(c1-0x30))*126+rune(c2-0x81))*10 + rune(c3-0x30)
@@ -109,17 +113,13 @@ loop:
r -= 189000
if 0 <= r && r < 0x100000 {
r += 0x10000
- goto write
- }
- err = errInvalidGB18030
- break loop
- default:
- if d.gb18030 {
- err = errInvalidGB18030
} else {
- err = errInvalidGBK
+ r, size = utf8.RuneError, 1
}
- break loop
+ goto write
+ default:
+ r, size = utf8.RuneError, 1
+ goto write
}
r, size = '\ufffd', 2
if i := int(c0-0x81)*190 + int(c1); i < len(decode) {
@@ -130,12 +130,7 @@ loop:
}
default:
- if d.gb18030 {
- err = errInvalidGB18030
- } else {
- err = errInvalidGBK
- }
- break loop
+ r, size = utf8.RuneError, 1
}
write:
@@ -145,13 +140,6 @@ loop:
}
nDst += utf8.EncodeRune(dst[nDst:], r)
}
- if atEOF && err == transform.ErrShortSrc {
- if d.gb18030 {
- err = errInvalidGB18030
- } else {
- err = errInvalidGBK
- }
- }
return nDst, nSrc, err
}
diff --git a/vendor/golang.org/x/text/encoding/simplifiedchinese/hzgb2312.go b/vendor/golang.org/x/text/encoding/simplifiedchinese/hzgb2312.go
index 85de6b1e64..eb3157f0b2 100644
--- a/vendor/golang.org/x/text/encoding/simplifiedchinese/hzgb2312.go
+++ b/vendor/golang.org/x/text/encoding/simplifiedchinese/hzgb2312.go
@@ -5,7 +5,6 @@
package simplifiedchinese
import (
- "errors"
"unicode/utf8"
"golang.org/x/text/encoding"
@@ -31,8 +30,6 @@ func hzGB2312NewEncoder() transform.Transformer {
return new(hzGB2312Encoder)
}
-var errInvalidHZGB2312 = errors.New("simplifiedchinese: invalid HZ-GB2312 encoding")
-
const (
asciiState = iota
gbState
@@ -50,14 +47,18 @@ loop:
for ; nSrc < len(src); nSrc += size {
c0 := src[nSrc]
if c0 >= utf8.RuneSelf {
- err = errInvalidHZGB2312
- break loop
+ r, size = utf8.RuneError, 1
+ goto write
}
if c0 == '~' {
if nSrc+1 >= len(src) {
- err = transform.ErrShortSrc
- break loop
+ if !atEOF {
+ err = transform.ErrShortSrc
+ break loop
+ }
+ r = utf8.RuneError
+ goto write
}
size = 2
switch src[nSrc+1] {
@@ -78,8 +79,8 @@ loop:
case '\n':
continue
default:
- err = errInvalidHZGB2312
- break loop
+ r = utf8.RuneError
+ goto write
}
}
@@ -87,33 +88,37 @@ loop:
r, size = rune(c0), 1
} else {
if nSrc+1 >= len(src) {
- err = transform.ErrShortSrc
- break loop
+ if !atEOF {
+ err = transform.ErrShortSrc
+ break loop
+ }
+ r, size = utf8.RuneError, 1
+ goto write
}
+ size = 2
c1 := src[nSrc+1]
if c0 < 0x21 || 0x7e <= c0 || c1 < 0x21 || 0x7f <= c1 {
- err = errInvalidHZGB2312
- break loop
- }
-
- r, size = '\ufffd', 2
- if i := int(c0-0x01)*190 + int(c1+0x3f); i < len(decode) {
+ // error
+ } else if i := int(c0-0x01)*190 + int(c1+0x3f); i < len(decode) {
r = rune(decode[i])
- if r == 0 {
- r = '\ufffd'
+ if r != 0 {
+ goto write
}
}
+ if c1 > utf8.RuneSelf {
+ // Be consistent and always treat non-ASCII as a single error.
+ size = 1
+ }
+ r = utf8.RuneError
}
+ write:
if nDst+utf8.RuneLen(r) > len(dst) {
err = transform.ErrShortDst
break loop
}
nDst += utf8.EncodeRune(dst[nDst:], r)
}
- if atEOF && err == transform.ErrShortSrc {
- err = errInvalidHZGB2312
- }
return nDst, nSrc, err
}
diff --git a/vendor/golang.org/x/text/encoding/simplifiedchinese/maketables.go b/vendor/golang.org/x/text/encoding/simplifiedchinese/maketables.go
deleted file mode 100644
index 55016c7862..0000000000
--- a/vendor/golang.org/x/text/encoding/simplifiedchinese/maketables.go
+++ /dev/null
@@ -1,161 +0,0 @@
-// Copyright 2013 The Go Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style
-// license that can be found in the LICENSE file.
-
-// +build ignore
-
-package main
-
-// This program generates tables.go:
-// go run maketables.go | gofmt > tables.go
-
-import (
- "bufio"
- "fmt"
- "log"
- "net/http"
- "sort"
- "strings"
-)
-
-func main() {
- fmt.Printf("// generated by go run maketables.go; DO NOT EDIT\n\n")
- fmt.Printf("// Package simplifiedchinese provides Simplified Chinese encodings such as GBK.\n")
- fmt.Printf(`package simplifiedchinese // import "golang.org/x/text/encoding/simplifiedchinese"` + "\n\n")
-
- printGB18030()
- printGBK()
-}
-
-func printGB18030() {
- res, err := http.Get("http://encoding.spec.whatwg.org/index-gb18030.txt")
- if err != nil {
- log.Fatalf("Get: %v", err)
- }
- defer res.Body.Close()
-
- fmt.Printf("// gb18030 is the table from http://encoding.spec.whatwg.org/index-gb18030.txt\n")
- fmt.Printf("var gb18030 = [...][2]uint16{\n")
- scanner := bufio.NewScanner(res.Body)
- for scanner.Scan() {
- s := strings.TrimSpace(scanner.Text())
- if s == "" || s[0] == '#' {
- continue
- }
- x, y := uint32(0), uint32(0)
- if _, err := fmt.Sscanf(s, "%d 0x%x", &x, &y); err != nil {
- log.Fatalf("could not parse %q", s)
- }
- if x < 0x10000 && y < 0x10000 {
- fmt.Printf("\t{0x%04x, 0x%04x},\n", x, y)
- }
- }
- fmt.Printf("}\n\n")
-}
-
-func printGBK() {
- res, err := http.Get("http://encoding.spec.whatwg.org/index-gbk.txt")
- if err != nil {
- log.Fatalf("Get: %v", err)
- }
- defer res.Body.Close()
-
- mapping := [65536]uint16{}
- reverse := [65536]uint16{}
-
- scanner := bufio.NewScanner(res.Body)
- for scanner.Scan() {
- s := strings.TrimSpace(scanner.Text())
- if s == "" || s[0] == '#' {
- continue
- }
- x, y := uint16(0), uint16(0)
- if _, err := fmt.Sscanf(s, "%d 0x%x", &x, &y); err != nil {
- log.Fatalf("could not parse %q", s)
- }
- if x < 0 || 126*190 <= x {
- log.Fatalf("GBK code %d is out of range", x)
- }
- mapping[x] = y
- if reverse[y] == 0 {
- c0, c1 := x/190, x%190
- if c1 >= 0x3f {
- c1++
- }
- reverse[y] = (0x81+c0)<<8 | (0x40 + c1)
- }
- }
- if err := scanner.Err(); err != nil {
- log.Fatalf("scanner error: %v", err)
- }
-
- fmt.Printf("// decode is the decoding table from GBK code to Unicode.\n")
- fmt.Printf("// It is defined at http://encoding.spec.whatwg.org/index-gbk.txt\n")
- fmt.Printf("var decode = [...]uint16{\n")
- for i, v := range mapping {
- if v != 0 {
- fmt.Printf("\t%d: 0x%04X,\n", i, v)
- }
- }
- fmt.Printf("}\n\n")
-
- // Any run of at least separation continuous zero entries in the reverse map will
- // be a separate encode table.
- const separation = 1024
-
- intervals := []interval(nil)
- low, high := -1, -1
- for i, v := range reverse {
- if v == 0 {
- continue
- }
- if low < 0 {
- low = i
- } else if i-high >= separation {
- if high >= 0 {
- intervals = append(intervals, interval{low, high})
- }
- low = i
- }
- high = i + 1
- }
- if high >= 0 {
- intervals = append(intervals, interval{low, high})
- }
- sort.Sort(byDecreasingLength(intervals))
-
- fmt.Printf("const numEncodeTables = %d\n\n", len(intervals))
- fmt.Printf("// encodeX are the encoding tables from Unicode to GBK code,\n")
- fmt.Printf("// sorted by decreasing length.\n")
- for i, v := range intervals {
- fmt.Printf("// encode%d: %5d entries for runes in [%5d, %5d).\n", i, v.len(), v.low, v.high)
- }
- fmt.Printf("\n")
-
- for i, v := range intervals {
- fmt.Printf("const encode%dLow, encode%dHigh = %d, %d\n\n", i, i, v.low, v.high)
- fmt.Printf("var encode%d = [...]uint16{\n", i)
- for j := v.low; j < v.high; j++ {
- x := reverse[j]
- if x == 0 {
- continue
- }
- fmt.Printf("\t%d-%d: 0x%04X,\n", j, v.low, x)
- }
- fmt.Printf("}\n\n")
- }
-}
-
-// interval is a half-open interval [low, high).
-type interval struct {
- low, high int
-}
-
-func (i interval) len() int { return i.high - i.low }
-
-// byDecreasingLength sorts intervals by decreasing length.
-type byDecreasingLength []interval
-
-func (b byDecreasingLength) Len() int { return len(b) }
-func (b byDecreasingLength) Less(i, j int) bool { return b[i].len() > b[j].len() }
-func (b byDecreasingLength) Swap(i, j int) { b[i], b[j] = b[j], b[i] }
diff --git a/vendor/golang.org/x/text/encoding/traditionalchinese/big5.go b/vendor/golang.org/x/text/encoding/traditionalchinese/big5.go
index 275821f5db..1fcddde082 100644
--- a/vendor/golang.org/x/text/encoding/traditionalchinese/big5.go
+++ b/vendor/golang.org/x/text/encoding/traditionalchinese/big5.go
@@ -5,7 +5,6 @@
package traditionalchinese
import (
- "errors"
"unicode/utf8"
"golang.org/x/text/encoding"
@@ -26,8 +25,6 @@ var big5 = internal.Encoding{
identifier.Big5,
}
-var errInvalidBig5 = errors.New("traditionalchinese: invalid Big5 encoding")
-
type big5Decoder struct{ transform.NopResetter }
func (big5Decoder) Transform(dst, src []byte, atEOF bool) (nDst, nSrc int, err error) {
@@ -40,8 +37,12 @@ loop:
case 0x81 <= c0 && c0 < 0xff:
if nSrc+1 >= len(src) {
- err = transform.ErrShortSrc
- break loop
+ if !atEOF {
+ err = transform.ErrShortSrc
+ break loop
+ }
+ r, size = utf8.RuneError, 1
+ goto write
}
c1 := src[nSrc+1]
switch {
@@ -49,9 +50,12 @@ loop:
c1 -= 0x40
case 0xa1 <= c1 && c1 < 0xff:
c1 -= 0x62
+ case c1 < 0x40:
+ r, size = utf8.RuneError, 1
+ goto write
default:
- err = errInvalidBig5
- break loop
+ r, size = utf8.RuneError, 2
+ goto write
}
r, size = '\ufffd', 2
if i := int(c0-0x81)*157 + int(c1); i < len(decode) {
@@ -80,10 +84,10 @@ loop:
}
default:
- err = errInvalidBig5
- break loop
+ r, size = utf8.RuneError, 1
}
+ write:
if nDst+utf8.RuneLen(r) > len(dst) {
err = transform.ErrShortDst
break loop
@@ -99,9 +103,6 @@ loop:
nDst += copy(dst[nDst:], s)
continue loop
}
- if atEOF && err == transform.ErrShortSrc {
- err = errInvalidBig5
- }
return nDst, nSrc, err
}
diff --git a/vendor/golang.org/x/text/encoding/traditionalchinese/maketables.go b/vendor/golang.org/x/text/encoding/traditionalchinese/maketables.go
deleted file mode 100644
index cf7fdb31a5..0000000000
--- a/vendor/golang.org/x/text/encoding/traditionalchinese/maketables.go
+++ /dev/null
@@ -1,140 +0,0 @@
-// Copyright 2013 The Go Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style
-// license that can be found in the LICENSE file.
-
-// +build ignore
-
-package main
-
-// This program generates tables.go:
-// go run maketables.go | gofmt > tables.go
-
-import (
- "bufio"
- "fmt"
- "log"
- "net/http"
- "sort"
- "strings"
-)
-
-func main() {
- fmt.Printf("// generated by go run maketables.go; DO NOT EDIT\n\n")
- fmt.Printf("// Package traditionalchinese provides Traditional Chinese encodings such as Big5.\n")
- fmt.Printf(`package traditionalchinese // import "golang.org/x/text/encoding/traditionalchinese"` + "\n\n")
-
- res, err := http.Get("http://encoding.spec.whatwg.org/index-big5.txt")
- if err != nil {
- log.Fatalf("Get: %v", err)
- }
- defer res.Body.Close()
-
- mapping := [65536]uint32{}
- reverse := [65536 * 4]uint16{}
-
- scanner := bufio.NewScanner(res.Body)
- for scanner.Scan() {
- s := strings.TrimSpace(scanner.Text())
- if s == "" || s[0] == '#' {
- continue
- }
- x, y := uint16(0), uint32(0)
- if _, err := fmt.Sscanf(s, "%d 0x%x", &x, &y); err != nil {
- log.Fatalf("could not parse %q", s)
- }
- if x < 0 || 126*157 <= x {
- log.Fatalf("Big5 code %d is out of range", x)
- }
- mapping[x] = y
-
- // The WHATWG spec http://encoding.spec.whatwg.org/#indexes says that
- // "The index pointer for code point in index is the first pointer
- // corresponding to code point in index", which would normally mean
- // that the code below should be guarded by "if reverse[y] == 0", but
- // last instead of first seems to match the behavior of
- // "iconv -f UTF-8 -t BIG5". For example, U+8005 者 occurs twice in
- // http://encoding.spec.whatwg.org/index-big5.txt, as index 2148
- // (encoded as "\x8e\xcd") and index 6543 (encoded as "\xaa\xcc")
- // and "echo 者 | iconv -f UTF-8 -t BIG5 | xxd" gives "\xaa\xcc".
- c0, c1 := x/157, x%157
- if c1 < 0x3f {
- c1 += 0x40
- } else {
- c1 += 0x62
- }
- reverse[y] = (0x81+c0)<<8 | c1
- }
- if err := scanner.Err(); err != nil {
- log.Fatalf("scanner error: %v", err)
- }
-
- fmt.Printf("// decode is the decoding table from Big5 code to Unicode.\n")
- fmt.Printf("// It is defined at http://encoding.spec.whatwg.org/index-big5.txt\n")
- fmt.Printf("var decode = [...]uint32{\n")
- for i, v := range mapping {
- if v != 0 {
- fmt.Printf("\t%d: 0x%08X,\n", i, v)
- }
- }
- fmt.Printf("}\n\n")
-
- // Any run of at least separation continuous zero entries in the reverse map will
- // be a separate encode table.
- const separation = 1024
-
- intervals := []interval(nil)
- low, high := -1, -1
- for i, v := range reverse {
- if v == 0 {
- continue
- }
- if low < 0 {
- low = i
- } else if i-high >= separation {
- if high >= 0 {
- intervals = append(intervals, interval{low, high})
- }
- low = i
- }
- high = i + 1
- }
- if high >= 0 {
- intervals = append(intervals, interval{low, high})
- }
- sort.Sort(byDecreasingLength(intervals))
-
- fmt.Printf("const numEncodeTables = %d\n\n", len(intervals))
- fmt.Printf("// encodeX are the encoding tables from Unicode to Big5 code,\n")
- fmt.Printf("// sorted by decreasing length.\n")
- for i, v := range intervals {
- fmt.Printf("// encode%d: %5d entries for runes in [%6d, %6d).\n", i, v.len(), v.low, v.high)
- }
- fmt.Printf("\n")
-
- for i, v := range intervals {
- fmt.Printf("const encode%dLow, encode%dHigh = %d, %d\n\n", i, i, v.low, v.high)
- fmt.Printf("var encode%d = [...]uint16{\n", i)
- for j := v.low; j < v.high; j++ {
- x := reverse[j]
- if x == 0 {
- continue
- }
- fmt.Printf("\t%d-%d: 0x%04X,\n", j, v.low, x)
- }
- fmt.Printf("}\n\n")
- }
-}
-
-// interval is a half-open interval [low, high).
-type interval struct {
- low, high int
-}
-
-func (i interval) len() int { return i.high - i.low }
-
-// byDecreasingLength sorts intervals by decreasing length.
-type byDecreasingLength []interval
-
-func (b byDecreasingLength) Len() int { return len(b) }
-func (b byDecreasingLength) Less(i, j int) bool { return b[i].len() > b[j].len() }
-func (b byDecreasingLength) Swap(i, j int) { b[i], b[j] = b[j], b[i] }
diff --git a/vendor/golang.org/x/text/language/common.go b/vendor/golang.org/x/text/language/common.go
index a255bb0a50..9d86e18554 100644
--- a/vendor/golang.org/x/text/language/common.go
+++ b/vendor/golang.org/x/text/language/common.go
@@ -1,4 +1,4 @@
-// This file was generated by go generate; DO NOT EDIT
+// Code generated by running "go generate" in golang.org/x/text. DO NOT EDIT.
package language
diff --git a/vendor/golang.org/x/text/language/gen_common.go b/vendor/golang.org/x/text/language/gen_common.go
deleted file mode 100644
index 83ce180133..0000000000
--- a/vendor/golang.org/x/text/language/gen_common.go
+++ /dev/null
@@ -1,20 +0,0 @@
-// Copyright 2014 The Go Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style
-// license that can be found in the LICENSE file.
-
-// +build ignore
-
-package main
-
-// This file contains code common to the maketables.go and the package code.
-
-// langAliasType is the type of an alias in langAliasMap.
-type langAliasType int8
-
-const (
- langDeprecated langAliasType = iota
- langMacro
- langLegacy
-
- langAliasTypeUnknown langAliasType = -1
-)
diff --git a/vendor/golang.org/x/text/language/gen_index.go b/vendor/golang.org/x/text/language/gen_index.go
deleted file mode 100644
index eef555cd3a..0000000000
--- a/vendor/golang.org/x/text/language/gen_index.go
+++ /dev/null
@@ -1,162 +0,0 @@
-// Copyright 2015 The Go Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style
-// license that can be found in the LICENSE file.
-
-// +build ignore
-
-package main
-
-// This file generates derivative tables based on the language package itself.
-
-import (
- "bytes"
- "flag"
- "fmt"
- "io/ioutil"
- "log"
- "reflect"
- "sort"
- "strings"
-
- "golang.org/x/text/internal/gen"
- "golang.org/x/text/language"
- "golang.org/x/text/unicode/cldr"
-)
-
-var (
- test = flag.Bool("test", false,
- "test existing tables; can be used to compare web data with package data.")
-
- draft = flag.String("draft",
- "contributed",
- `Minimal draft requirements (approved, contributed, provisional, unconfirmed).`)
-)
-
-func main() {
- gen.Init()
-
- // Read the CLDR zip file.
- r := gen.OpenCLDRCoreZip()
- defer r.Close()
-
- d := &cldr.Decoder{}
- data, err := d.DecodeZip(r)
- if err != nil {
- log.Fatalf("DecodeZip: %v", err)
- }
-
- w := gen.NewCodeWriter()
- defer func() {
- buf := &bytes.Buffer{}
-
- if _, err = w.WriteGo(buf, "language"); err != nil {
- log.Fatalf("Error formatting file index.go: %v", err)
- }
-
- // Since we're generating a table for our own package we need to rewrite
- // doing the equivalent of go fmt -r 'language.b -> b'. Using
- // bytes.Replace will do.
- out := bytes.Replace(buf.Bytes(), []byte("language."), nil, -1)
- if err := ioutil.WriteFile("index.go", out, 0600); err != nil {
- log.Fatalf("Could not create file index.go: %v", err)
- }
- }()
-
- m := map[language.Tag]bool{}
- for _, lang := range data.Locales() {
- // We include all locales unconditionally to be consistent with en_US.
- // We want en_US, even though it has no data associated with it.
-
- // TODO: put any of the languages for which no data exists at the end
- // of the index. This allows all components based on ICU to use that
- // as the cutoff point.
- // if x := data.RawLDML(lang); false ||
- // x.LocaleDisplayNames != nil ||
- // x.Characters != nil ||
- // x.Delimiters != nil ||
- // x.Measurement != nil ||
- // x.Dates != nil ||
- // x.Numbers != nil ||
- // x.Units != nil ||
- // x.ListPatterns != nil ||
- // x.Collations != nil ||
- // x.Segmentations != nil ||
- // x.Rbnf != nil ||
- // x.Annotations != nil ||
- // x.Metadata != nil {
-
- // TODO: support POSIX natively, albeit non-standard.
- tag := language.Make(strings.Replace(lang, "_POSIX", "-u-va-posix", 1))
- m[tag] = true
- // }
- }
- // Include locales for plural rules, which uses a different structure.
- for _, plurals := range data.Supplemental().Plurals {
- for _, rules := range plurals.PluralRules {
- for _, lang := range strings.Split(rules.Locales, " ") {
- m[language.Make(lang)] = true
- }
- }
- }
-
- var core, special []language.Tag
-
- for t := range m {
- if x := t.Extensions(); len(x) != 0 && fmt.Sprint(x) != "[u-va-posix]" {
- log.Fatalf("Unexpected extension %v in %v", x, t)
- }
- if len(t.Variants()) == 0 && len(t.Extensions()) == 0 {
- core = append(core, t)
- } else {
- special = append(special, t)
- }
- }
-
- w.WriteComment(`
- NumCompactTags is the number of common tags. The maximum tag is
- NumCompactTags-1.`)
- w.WriteConst("NumCompactTags", len(core)+len(special))
-
- sort.Sort(byAlpha(special))
- w.WriteVar("specialTags", special)
-
- // TODO: order by frequency?
- sort.Sort(byAlpha(core))
-
- // Size computations are just an estimate.
- w.Size += int(reflect.TypeOf(map[uint32]uint16{}).Size())
- w.Size += len(core) * 6 // size of uint32 and uint16
-
- fmt.Fprintln(w)
- fmt.Fprintln(w, "var coreTags = map[uint32]uint16{")
- fmt.Fprintln(w, "0x0: 0, // und")
- i := len(special) + 1 // Und and special tags already written.
- for _, t := range core {
- if t == language.Und {
- continue
- }
- fmt.Fprint(w.Hash, t, i)
- b, s, r := t.Raw()
- fmt.Fprintf(w, "0x%s%s%s: %d, // %s\n",
- getIndex(b, 3), // 3 is enough as it is guaranteed to be a compact number
- getIndex(s, 2),
- getIndex(r, 3),
- i, t)
- i++
- }
- fmt.Fprintln(w, "}")
-}
-
-// getIndex prints the subtag type and extracts its index of size nibble.
-// If the index is less than n nibbles, the result is prefixed with 0s.
-func getIndex(x interface{}, n int) string {
- s := fmt.Sprintf("%#v", x) // s is of form Type{typeID: 0x00}
- s = s[strings.Index(s, "0x")+2 : len(s)-1]
- return strings.Repeat("0", n-len(s)) + s
-}
-
-type byAlpha []language.Tag
-
-func (a byAlpha) Len() int { return len(a) }
-func (a byAlpha) Swap(i, j int) { a[i], a[j] = a[j], a[i] }
-func (a byAlpha) Less(i, j int) bool { return a[i].String() < a[j].String() }
diff --git a/vendor/golang.org/x/text/language/index.go b/vendor/golang.org/x/text/language/index.go
index 50c7521868..973db9fd54 100644
--- a/vendor/golang.org/x/text/language/index.go
+++ b/vendor/golang.org/x/text/language/index.go
@@ -1,767 +1,769 @@
-// This file was generated by go generate; DO NOT EDIT
+// Code generated by running "go generate" in golang.org/x/text. DO NOT EDIT.
package language
// NumCompactTags is the number of common tags. The maximum tag is
// NumCompactTags-1.
-const NumCompactTags = 752
+const NumCompactTags = 754
var specialTags = []Tag{ // 2 elements
- 0: {lang: 0xd5, region: 0x6d, script: 0x0, pVariant: 0x5, pExt: 0xe, str: "ca-ES-valencia"},
- 1: {lang: 0x134, region: 0x134, script: 0x0, pVariant: 0x5, pExt: 0x5, str: "en-US-u-va-posix"},
+ 0: {lang: 0xd7, region: 0x6d, script: 0x0, pVariant: 0x5, pExt: 0xe, str: "ca-ES-valencia"},
+ 1: {lang: 0x138, region: 0x134, script: 0x0, pVariant: 0x5, pExt: 0x5, str: "en-US-u-va-posix"},
} // Size: 72 bytes
var coreTags = map[uint32]uint16{
0x0: 0, // und
- 0x01500000: 3, // af
- 0x015000d1: 4, // af-NA
- 0x01500160: 5, // af-ZA
- 0x01b00000: 6, // agq
- 0x01b00051: 7, // agq-CM
- 0x02000000: 8, // ak
- 0x0200007f: 9, // ak-GH
- 0x02600000: 10, // am
- 0x0260006e: 11, // am-ET
- 0x03900000: 12, // ar
- 0x03900001: 13, // ar-001
- 0x03900022: 14, // ar-AE
- 0x03900038: 15, // ar-BH
- 0x03900061: 16, // ar-DJ
- 0x03900066: 17, // ar-DZ
- 0x0390006a: 18, // ar-EG
- 0x0390006b: 19, // ar-EH
- 0x0390006c: 20, // ar-ER
- 0x03900096: 21, // ar-IL
- 0x0390009a: 22, // ar-IQ
- 0x039000a0: 23, // ar-JO
- 0x039000a7: 24, // ar-KM
- 0x039000ab: 25, // ar-KW
- 0x039000af: 26, // ar-LB
- 0x039000b8: 27, // ar-LY
- 0x039000b9: 28, // ar-MA
- 0x039000c8: 29, // ar-MR
- 0x039000e0: 30, // ar-OM
- 0x039000ec: 31, // ar-PS
- 0x039000f2: 32, // ar-QA
- 0x03900107: 33, // ar-SA
- 0x0390010a: 34, // ar-SD
- 0x03900114: 35, // ar-SO
- 0x03900116: 36, // ar-SS
- 0x0390011b: 37, // ar-SY
- 0x0390011f: 38, // ar-TD
- 0x03900127: 39, // ar-TN
- 0x0390015d: 40, // ar-YE
- 0x03f00000: 41, // ars
- 0x04200000: 42, // as
- 0x04200098: 43, // as-IN
- 0x04300000: 44, // asa
- 0x0430012e: 45, // asa-TZ
- 0x04700000: 46, // ast
- 0x0470006d: 47, // ast-ES
- 0x05700000: 48, // az
- 0x0571e000: 49, // az-Cyrl
- 0x0571e031: 50, // az-Cyrl-AZ
- 0x05752000: 51, // az-Latn
- 0x05752031: 52, // az-Latn-AZ
- 0x05d00000: 53, // bas
- 0x05d00051: 54, // bas-CM
- 0x07000000: 55, // be
- 0x07000046: 56, // be-BY
- 0x07400000: 57, // bem
- 0x07400161: 58, // bem-ZM
- 0x07800000: 59, // bez
- 0x0780012e: 60, // bez-TZ
- 0x07d00000: 61, // bg
- 0x07d00037: 62, // bg-BG
- 0x08100000: 63, // bh
- 0x09e00000: 64, // bm
- 0x09e000c2: 65, // bm-ML
- 0x0a300000: 66, // bn
- 0x0a300034: 67, // bn-BD
- 0x0a300098: 68, // bn-IN
- 0x0a700000: 69, // bo
- 0x0a700052: 70, // bo-CN
- 0x0a700098: 71, // bo-IN
- 0x0b000000: 72, // br
- 0x0b000077: 73, // br-FR
- 0x0b300000: 74, // brx
- 0x0b300098: 75, // brx-IN
- 0x0b500000: 76, // bs
- 0x0b51e000: 77, // bs-Cyrl
- 0x0b51e032: 78, // bs-Cyrl-BA
- 0x0b552000: 79, // bs-Latn
- 0x0b552032: 80, // bs-Latn-BA
- 0x0d500000: 81, // ca
- 0x0d500021: 82, // ca-AD
- 0x0d50006d: 83, // ca-ES
- 0x0d500077: 84, // ca-FR
- 0x0d50009d: 85, // ca-IT
- 0x0da00000: 86, // ce
- 0x0da00105: 87, // ce-RU
- 0x0dd00000: 88, // cgg
- 0x0dd00130: 89, // cgg-UG
- 0x0e300000: 90, // chr
- 0x0e300134: 91, // chr-US
- 0x0e700000: 92, // ckb
- 0x0e70009a: 93, // ckb-IQ
- 0x0e70009b: 94, // ckb-IR
- 0x0f600000: 95, // cs
- 0x0f60005d: 96, // cs-CZ
- 0x0fa00000: 97, // cu
- 0x0fa00105: 98, // cu-RU
- 0x0fc00000: 99, // cy
- 0x0fc0007a: 100, // cy-GB
- 0x0fd00000: 101, // da
- 0x0fd00062: 102, // da-DK
- 0x0fd00081: 103, // da-GL
- 0x10400000: 104, // dav
- 0x104000a3: 105, // dav-KE
- 0x10900000: 106, // de
- 0x1090002d: 107, // de-AT
- 0x10900035: 108, // de-BE
- 0x1090004d: 109, // de-CH
- 0x1090005f: 110, // de-DE
- 0x1090009d: 111, // de-IT
- 0x109000b1: 112, // de-LI
- 0x109000b6: 113, // de-LU
- 0x11300000: 114, // dje
- 0x113000d3: 115, // dje-NE
- 0x11b00000: 116, // dsb
- 0x11b0005f: 117, // dsb-DE
- 0x12000000: 118, // dua
- 0x12000051: 119, // dua-CM
- 0x12400000: 120, // dv
- 0x12700000: 121, // dyo
- 0x12700113: 122, // dyo-SN
- 0x12900000: 123, // dz
- 0x12900042: 124, // dz-BT
- 0x12b00000: 125, // ebu
- 0x12b000a3: 126, // ebu-KE
- 0x12c00000: 127, // ee
- 0x12c0007f: 128, // ee-GH
- 0x12c00121: 129, // ee-TG
- 0x13100000: 130, // el
- 0x1310005c: 131, // el-CY
- 0x13100086: 132, // el-GR
- 0x13400000: 133, // en
- 0x13400001: 134, // en-001
- 0x1340001a: 135, // en-150
- 0x13400024: 136, // en-AG
- 0x13400025: 137, // en-AI
- 0x1340002c: 138, // en-AS
- 0x1340002d: 139, // en-AT
- 0x1340002e: 140, // en-AU
- 0x13400033: 141, // en-BB
- 0x13400035: 142, // en-BE
- 0x13400039: 143, // en-BI
- 0x1340003c: 144, // en-BM
- 0x13400041: 145, // en-BS
- 0x13400045: 146, // en-BW
- 0x13400047: 147, // en-BZ
- 0x13400048: 148, // en-CA
- 0x13400049: 149, // en-CC
- 0x1340004d: 150, // en-CH
- 0x1340004f: 151, // en-CK
- 0x13400051: 152, // en-CM
- 0x1340005b: 153, // en-CX
- 0x1340005c: 154, // en-CY
- 0x1340005f: 155, // en-DE
- 0x13400060: 156, // en-DG
- 0x13400062: 157, // en-DK
- 0x13400063: 158, // en-DM
- 0x1340006c: 159, // en-ER
- 0x13400071: 160, // en-FI
- 0x13400072: 161, // en-FJ
- 0x13400073: 162, // en-FK
- 0x13400074: 163, // en-FM
- 0x1340007a: 164, // en-GB
- 0x1340007b: 165, // en-GD
- 0x1340007e: 166, // en-GG
- 0x1340007f: 167, // en-GH
- 0x13400080: 168, // en-GI
- 0x13400082: 169, // en-GM
- 0x13400089: 170, // en-GU
- 0x1340008b: 171, // en-GY
- 0x1340008c: 172, // en-HK
- 0x13400095: 173, // en-IE
- 0x13400096: 174, // en-IL
- 0x13400097: 175, // en-IM
- 0x13400098: 176, // en-IN
- 0x13400099: 177, // en-IO
- 0x1340009e: 178, // en-JE
- 0x1340009f: 179, // en-JM
- 0x134000a3: 180, // en-KE
- 0x134000a6: 181, // en-KI
- 0x134000a8: 182, // en-KN
- 0x134000ac: 183, // en-KY
- 0x134000b0: 184, // en-LC
- 0x134000b3: 185, // en-LR
- 0x134000b4: 186, // en-LS
- 0x134000be: 187, // en-MG
- 0x134000bf: 188, // en-MH
- 0x134000c5: 189, // en-MO
- 0x134000c6: 190, // en-MP
- 0x134000c9: 191, // en-MS
- 0x134000ca: 192, // en-MT
- 0x134000cb: 193, // en-MU
- 0x134000cd: 194, // en-MW
- 0x134000cf: 195, // en-MY
- 0x134000d1: 196, // en-NA
- 0x134000d4: 197, // en-NF
- 0x134000d5: 198, // en-NG
- 0x134000d8: 199, // en-NL
- 0x134000dc: 200, // en-NR
- 0x134000de: 201, // en-NU
- 0x134000df: 202, // en-NZ
- 0x134000e5: 203, // en-PG
- 0x134000e6: 204, // en-PH
- 0x134000e7: 205, // en-PK
- 0x134000ea: 206, // en-PN
- 0x134000eb: 207, // en-PR
- 0x134000ef: 208, // en-PW
- 0x13400106: 209, // en-RW
- 0x13400108: 210, // en-SB
- 0x13400109: 211, // en-SC
- 0x1340010a: 212, // en-SD
- 0x1340010b: 213, // en-SE
- 0x1340010c: 214, // en-SG
- 0x1340010d: 215, // en-SH
- 0x1340010e: 216, // en-SI
- 0x13400111: 217, // en-SL
- 0x13400116: 218, // en-SS
- 0x1340011a: 219, // en-SX
- 0x1340011c: 220, // en-SZ
- 0x1340011e: 221, // en-TC
- 0x13400124: 222, // en-TK
- 0x13400128: 223, // en-TO
- 0x1340012b: 224, // en-TT
- 0x1340012c: 225, // en-TV
- 0x1340012e: 226, // en-TZ
- 0x13400130: 227, // en-UG
- 0x13400132: 228, // en-UM
- 0x13400134: 229, // en-US
- 0x13400138: 230, // en-VC
- 0x1340013b: 231, // en-VG
- 0x1340013c: 232, // en-VI
- 0x1340013e: 233, // en-VU
- 0x13400141: 234, // en-WS
- 0x13400160: 235, // en-ZA
- 0x13400161: 236, // en-ZM
- 0x13400163: 237, // en-ZW
- 0x13700000: 238, // eo
- 0x13700001: 239, // eo-001
- 0x13900000: 240, // es
- 0x1390001e: 241, // es-419
- 0x1390002b: 242, // es-AR
- 0x1390003e: 243, // es-BO
- 0x13900040: 244, // es-BR
- 0x13900050: 245, // es-CL
- 0x13900053: 246, // es-CO
- 0x13900055: 247, // es-CR
- 0x13900058: 248, // es-CU
- 0x13900064: 249, // es-DO
- 0x13900067: 250, // es-EA
- 0x13900068: 251, // es-EC
- 0x1390006d: 252, // es-ES
- 0x13900085: 253, // es-GQ
- 0x13900088: 254, // es-GT
- 0x1390008e: 255, // es-HN
- 0x13900093: 256, // es-IC
- 0x139000ce: 257, // es-MX
- 0x139000d7: 258, // es-NI
- 0x139000e1: 259, // es-PA
- 0x139000e3: 260, // es-PE
- 0x139000e6: 261, // es-PH
- 0x139000eb: 262, // es-PR
- 0x139000f0: 263, // es-PY
- 0x13900119: 264, // es-SV
- 0x13900134: 265, // es-US
- 0x13900135: 266, // es-UY
- 0x1390013a: 267, // es-VE
- 0x13b00000: 268, // et
- 0x13b00069: 269, // et-EE
- 0x14000000: 270, // eu
- 0x1400006d: 271, // eu-ES
- 0x14100000: 272, // ewo
- 0x14100051: 273, // ewo-CM
- 0x14300000: 274, // fa
- 0x14300023: 275, // fa-AF
- 0x1430009b: 276, // fa-IR
- 0x14900000: 277, // ff
- 0x14900051: 278, // ff-CM
- 0x14900083: 279, // ff-GN
- 0x149000c8: 280, // ff-MR
- 0x14900113: 281, // ff-SN
- 0x14c00000: 282, // fi
- 0x14c00071: 283, // fi-FI
- 0x14e00000: 284, // fil
- 0x14e000e6: 285, // fil-PH
- 0x15300000: 286, // fo
- 0x15300062: 287, // fo-DK
- 0x15300075: 288, // fo-FO
- 0x15900000: 289, // fr
- 0x15900035: 290, // fr-BE
- 0x15900036: 291, // fr-BF
- 0x15900039: 292, // fr-BI
- 0x1590003a: 293, // fr-BJ
- 0x1590003b: 294, // fr-BL
- 0x15900048: 295, // fr-CA
- 0x1590004a: 296, // fr-CD
- 0x1590004b: 297, // fr-CF
- 0x1590004c: 298, // fr-CG
- 0x1590004d: 299, // fr-CH
- 0x1590004e: 300, // fr-CI
- 0x15900051: 301, // fr-CM
- 0x15900061: 302, // fr-DJ
- 0x15900066: 303, // fr-DZ
- 0x15900077: 304, // fr-FR
- 0x15900079: 305, // fr-GA
- 0x1590007d: 306, // fr-GF
- 0x15900083: 307, // fr-GN
- 0x15900084: 308, // fr-GP
- 0x15900085: 309, // fr-GQ
- 0x15900090: 310, // fr-HT
- 0x159000a7: 311, // fr-KM
- 0x159000b6: 312, // fr-LU
- 0x159000b9: 313, // fr-MA
- 0x159000ba: 314, // fr-MC
- 0x159000bd: 315, // fr-MF
- 0x159000be: 316, // fr-MG
- 0x159000c2: 317, // fr-ML
- 0x159000c7: 318, // fr-MQ
- 0x159000c8: 319, // fr-MR
- 0x159000cb: 320, // fr-MU
- 0x159000d2: 321, // fr-NC
- 0x159000d3: 322, // fr-NE
- 0x159000e4: 323, // fr-PF
- 0x159000e9: 324, // fr-PM
- 0x15900101: 325, // fr-RE
- 0x15900106: 326, // fr-RW
- 0x15900109: 327, // fr-SC
- 0x15900113: 328, // fr-SN
- 0x1590011b: 329, // fr-SY
- 0x1590011f: 330, // fr-TD
- 0x15900121: 331, // fr-TG
- 0x15900127: 332, // fr-TN
- 0x1590013e: 333, // fr-VU
- 0x1590013f: 334, // fr-WF
- 0x1590015e: 335, // fr-YT
- 0x16400000: 336, // fur
- 0x1640009d: 337, // fur-IT
- 0x16800000: 338, // fy
- 0x168000d8: 339, // fy-NL
- 0x16900000: 340, // ga
- 0x16900095: 341, // ga-IE
- 0x17800000: 342, // gd
- 0x1780007a: 343, // gd-GB
- 0x18a00000: 344, // gl
- 0x18a0006d: 345, // gl-ES
- 0x19c00000: 346, // gsw
- 0x19c0004d: 347, // gsw-CH
- 0x19c00077: 348, // gsw-FR
- 0x19c000b1: 349, // gsw-LI
- 0x19d00000: 350, // gu
- 0x19d00098: 351, // gu-IN
- 0x1a200000: 352, // guw
- 0x1a400000: 353, // guz
- 0x1a4000a3: 354, // guz-KE
- 0x1a500000: 355, // gv
- 0x1a500097: 356, // gv-IM
- 0x1ad00000: 357, // ha
- 0x1ad0007f: 358, // ha-GH
- 0x1ad000d3: 359, // ha-NE
- 0x1ad000d5: 360, // ha-NG
- 0x1b100000: 361, // haw
- 0x1b100134: 362, // haw-US
- 0x1b500000: 363, // he
- 0x1b500096: 364, // he-IL
- 0x1b700000: 365, // hi
- 0x1b700098: 366, // hi-IN
- 0x1ca00000: 367, // hr
- 0x1ca00032: 368, // hr-BA
- 0x1ca0008f: 369, // hr-HR
- 0x1cb00000: 370, // hsb
- 0x1cb0005f: 371, // hsb-DE
- 0x1ce00000: 372, // hu
- 0x1ce00091: 373, // hu-HU
- 0x1d000000: 374, // hy
- 0x1d000027: 375, // hy-AM
- 0x1da00000: 376, // id
- 0x1da00094: 377, // id-ID
- 0x1df00000: 378, // ig
- 0x1df000d5: 379, // ig-NG
- 0x1e200000: 380, // ii
- 0x1e200052: 381, // ii-CN
- 0x1f000000: 382, // is
- 0x1f00009c: 383, // is-IS
- 0x1f100000: 384, // it
- 0x1f10004d: 385, // it-CH
- 0x1f10009d: 386, // it-IT
- 0x1f100112: 387, // it-SM
- 0x1f200000: 388, // iu
- 0x1f800000: 389, // ja
- 0x1f8000a1: 390, // ja-JP
- 0x1fb00000: 391, // jbo
- 0x1ff00000: 392, // jgo
- 0x1ff00051: 393, // jgo-CM
- 0x20200000: 394, // jmc
- 0x2020012e: 395, // jmc-TZ
- 0x20600000: 396, // jv
- 0x20800000: 397, // ka
- 0x2080007c: 398, // ka-GE
- 0x20a00000: 399, // kab
- 0x20a00066: 400, // kab-DZ
- 0x20e00000: 401, // kaj
- 0x20f00000: 402, // kam
- 0x20f000a3: 403, // kam-KE
- 0x21700000: 404, // kcg
- 0x21b00000: 405, // kde
- 0x21b0012e: 406, // kde-TZ
- 0x21f00000: 407, // kea
- 0x21f00059: 408, // kea-CV
- 0x22c00000: 409, // khq
- 0x22c000c2: 410, // khq-ML
- 0x23100000: 411, // ki
- 0x231000a3: 412, // ki-KE
- 0x23a00000: 413, // kk
- 0x23a000ad: 414, // kk-KZ
- 0x23c00000: 415, // kkj
- 0x23c00051: 416, // kkj-CM
- 0x23d00000: 417, // kl
- 0x23d00081: 418, // kl-GL
- 0x23e00000: 419, // kln
- 0x23e000a3: 420, // kln-KE
- 0x24200000: 421, // km
- 0x242000a5: 422, // km-KH
- 0x24900000: 423, // kn
- 0x24900098: 424, // kn-IN
- 0x24b00000: 425, // ko
- 0x24b000a9: 426, // ko-KP
- 0x24b000aa: 427, // ko-KR
- 0x24d00000: 428, // kok
- 0x24d00098: 429, // kok-IN
- 0x26100000: 430, // ks
- 0x26100098: 431, // ks-IN
- 0x26200000: 432, // ksb
- 0x2620012e: 433, // ksb-TZ
- 0x26400000: 434, // ksf
- 0x26400051: 435, // ksf-CM
- 0x26500000: 436, // ksh
- 0x2650005f: 437, // ksh-DE
- 0x26b00000: 438, // ku
- 0x27800000: 439, // kw
- 0x2780007a: 440, // kw-GB
- 0x28100000: 441, // ky
- 0x281000a4: 442, // ky-KG
- 0x28800000: 443, // lag
- 0x2880012e: 444, // lag-TZ
- 0x28c00000: 445, // lb
- 0x28c000b6: 446, // lb-LU
- 0x29a00000: 447, // lg
- 0x29a00130: 448, // lg-UG
- 0x2a600000: 449, // lkt
- 0x2a600134: 450, // lkt-US
- 0x2ac00000: 451, // ln
- 0x2ac00029: 452, // ln-AO
- 0x2ac0004a: 453, // ln-CD
- 0x2ac0004b: 454, // ln-CF
- 0x2ac0004c: 455, // ln-CG
- 0x2af00000: 456, // lo
- 0x2af000ae: 457, // lo-LA
- 0x2b600000: 458, // lrc
- 0x2b60009a: 459, // lrc-IQ
- 0x2b60009b: 460, // lrc-IR
- 0x2b700000: 461, // lt
- 0x2b7000b5: 462, // lt-LT
- 0x2b900000: 463, // lu
- 0x2b90004a: 464, // lu-CD
- 0x2bb00000: 465, // luo
- 0x2bb000a3: 466, // luo-KE
- 0x2bc00000: 467, // luy
- 0x2bc000a3: 468, // luy-KE
- 0x2be00000: 469, // lv
- 0x2be000b7: 470, // lv-LV
- 0x2c800000: 471, // mas
- 0x2c8000a3: 472, // mas-KE
- 0x2c80012e: 473, // mas-TZ
- 0x2e000000: 474, // mer
- 0x2e0000a3: 475, // mer-KE
- 0x2e400000: 476, // mfe
- 0x2e4000cb: 477, // mfe-MU
- 0x2e800000: 478, // mg
- 0x2e8000be: 479, // mg-MG
- 0x2e900000: 480, // mgh
- 0x2e9000d0: 481, // mgh-MZ
- 0x2eb00000: 482, // mgo
- 0x2eb00051: 483, // mgo-CM
- 0x2f600000: 484, // mk
- 0x2f6000c1: 485, // mk-MK
- 0x2fb00000: 486, // ml
- 0x2fb00098: 487, // ml-IN
- 0x30200000: 488, // mn
- 0x302000c4: 489, // mn-MN
- 0x31200000: 490, // mr
- 0x31200098: 491, // mr-IN
- 0x31600000: 492, // ms
- 0x3160003d: 493, // ms-BN
- 0x316000cf: 494, // ms-MY
- 0x3160010c: 495, // ms-SG
- 0x31700000: 496, // mt
- 0x317000ca: 497, // mt-MT
- 0x31c00000: 498, // mua
- 0x31c00051: 499, // mua-CM
- 0x32800000: 500, // my
- 0x328000c3: 501, // my-MM
- 0x33100000: 502, // mzn
- 0x3310009b: 503, // mzn-IR
- 0x33800000: 504, // nah
- 0x33c00000: 505, // naq
- 0x33c000d1: 506, // naq-NA
- 0x33e00000: 507, // nb
- 0x33e000d9: 508, // nb-NO
- 0x33e0010f: 509, // nb-SJ
- 0x34500000: 510, // nd
- 0x34500163: 511, // nd-ZW
- 0x34700000: 512, // nds
- 0x3470005f: 513, // nds-DE
- 0x347000d8: 514, // nds-NL
- 0x34800000: 515, // ne
- 0x34800098: 516, // ne-IN
- 0x348000da: 517, // ne-NP
- 0x35e00000: 518, // nl
- 0x35e0002f: 519, // nl-AW
- 0x35e00035: 520, // nl-BE
- 0x35e0003f: 521, // nl-BQ
- 0x35e0005a: 522, // nl-CW
- 0x35e000d8: 523, // nl-NL
- 0x35e00115: 524, // nl-SR
- 0x35e0011a: 525, // nl-SX
- 0x35f00000: 526, // nmg
- 0x35f00051: 527, // nmg-CM
- 0x36100000: 528, // nn
- 0x361000d9: 529, // nn-NO
- 0x36300000: 530, // nnh
- 0x36300051: 531, // nnh-CM
- 0x36600000: 532, // no
- 0x36c00000: 533, // nqo
- 0x36d00000: 534, // nr
- 0x37100000: 535, // nso
- 0x37700000: 536, // nus
- 0x37700116: 537, // nus-SS
- 0x37e00000: 538, // ny
- 0x38000000: 539, // nyn
- 0x38000130: 540, // nyn-UG
- 0x38700000: 541, // om
- 0x3870006e: 542, // om-ET
- 0x387000a3: 543, // om-KE
- 0x38c00000: 544, // or
- 0x38c00098: 545, // or-IN
- 0x38f00000: 546, // os
- 0x38f0007c: 547, // os-GE
- 0x38f00105: 548, // os-RU
- 0x39400000: 549, // pa
- 0x39405000: 550, // pa-Arab
- 0x394050e7: 551, // pa-Arab-PK
- 0x3942f000: 552, // pa-Guru
- 0x3942f098: 553, // pa-Guru-IN
- 0x39800000: 554, // pap
- 0x3aa00000: 555, // pl
- 0x3aa000e8: 556, // pl-PL
- 0x3b400000: 557, // prg
- 0x3b400001: 558, // prg-001
- 0x3b500000: 559, // ps
- 0x3b500023: 560, // ps-AF
- 0x3b700000: 561, // pt
- 0x3b700029: 562, // pt-AO
- 0x3b700040: 563, // pt-BR
- 0x3b70004d: 564, // pt-CH
- 0x3b700059: 565, // pt-CV
- 0x3b700085: 566, // pt-GQ
- 0x3b70008a: 567, // pt-GW
- 0x3b7000b6: 568, // pt-LU
- 0x3b7000c5: 569, // pt-MO
- 0x3b7000d0: 570, // pt-MZ
- 0x3b7000ed: 571, // pt-PT
- 0x3b700117: 572, // pt-ST
- 0x3b700125: 573, // pt-TL
- 0x3bb00000: 574, // qu
- 0x3bb0003e: 575, // qu-BO
- 0x3bb00068: 576, // qu-EC
- 0x3bb000e3: 577, // qu-PE
- 0x3cb00000: 578, // rm
- 0x3cb0004d: 579, // rm-CH
- 0x3d000000: 580, // rn
- 0x3d000039: 581, // rn-BI
- 0x3d300000: 582, // ro
- 0x3d3000bb: 583, // ro-MD
- 0x3d300103: 584, // ro-RO
- 0x3d500000: 585, // rof
- 0x3d50012e: 586, // rof-TZ
- 0x3d900000: 587, // ru
- 0x3d900046: 588, // ru-BY
- 0x3d9000a4: 589, // ru-KG
- 0x3d9000ad: 590, // ru-KZ
- 0x3d9000bb: 591, // ru-MD
- 0x3d900105: 592, // ru-RU
- 0x3d90012f: 593, // ru-UA
- 0x3dc00000: 594, // rw
- 0x3dc00106: 595, // rw-RW
- 0x3dd00000: 596, // rwk
- 0x3dd0012e: 597, // rwk-TZ
- 0x3e200000: 598, // sah
- 0x3e200105: 599, // sah-RU
- 0x3e300000: 600, // saq
- 0x3e3000a3: 601, // saq-KE
- 0x3e900000: 602, // sbp
- 0x3e90012e: 603, // sbp-TZ
- 0x3f200000: 604, // sdh
- 0x3f300000: 605, // se
- 0x3f300071: 606, // se-FI
- 0x3f3000d9: 607, // se-NO
- 0x3f30010b: 608, // se-SE
- 0x3f500000: 609, // seh
- 0x3f5000d0: 610, // seh-MZ
- 0x3f700000: 611, // ses
- 0x3f7000c2: 612, // ses-ML
- 0x3f800000: 613, // sg
- 0x3f80004b: 614, // sg-CF
- 0x3fe00000: 615, // shi
- 0x3fe52000: 616, // shi-Latn
- 0x3fe520b9: 617, // shi-Latn-MA
- 0x3fed2000: 618, // shi-Tfng
- 0x3fed20b9: 619, // shi-Tfng-MA
- 0x40200000: 620, // si
- 0x402000b2: 621, // si-LK
- 0x40800000: 622, // sk
- 0x40800110: 623, // sk-SK
- 0x40c00000: 624, // sl
- 0x40c0010e: 625, // sl-SI
- 0x41200000: 626, // sma
- 0x41300000: 627, // smi
- 0x41400000: 628, // smj
- 0x41500000: 629, // smn
- 0x41500071: 630, // smn-FI
- 0x41800000: 631, // sms
- 0x41900000: 632, // sn
- 0x41900163: 633, // sn-ZW
- 0x41f00000: 634, // so
- 0x41f00061: 635, // so-DJ
- 0x41f0006e: 636, // so-ET
- 0x41f000a3: 637, // so-KE
- 0x41f00114: 638, // so-SO
- 0x42700000: 639, // sq
- 0x42700026: 640, // sq-AL
- 0x427000c1: 641, // sq-MK
- 0x4270014c: 642, // sq-XK
- 0x42800000: 643, // sr
- 0x4281e000: 644, // sr-Cyrl
- 0x4281e032: 645, // sr-Cyrl-BA
- 0x4281e0bc: 646, // sr-Cyrl-ME
- 0x4281e104: 647, // sr-Cyrl-RS
- 0x4281e14c: 648, // sr-Cyrl-XK
- 0x42852000: 649, // sr-Latn
- 0x42852032: 650, // sr-Latn-BA
- 0x428520bc: 651, // sr-Latn-ME
- 0x42852104: 652, // sr-Latn-RS
- 0x4285214c: 653, // sr-Latn-XK
- 0x42d00000: 654, // ss
- 0x43000000: 655, // ssy
- 0x43100000: 656, // st
- 0x43a00000: 657, // sv
- 0x43a00030: 658, // sv-AX
- 0x43a00071: 659, // sv-FI
- 0x43a0010b: 660, // sv-SE
- 0x43b00000: 661, // sw
- 0x43b0004a: 662, // sw-CD
- 0x43b000a3: 663, // sw-KE
- 0x43b0012e: 664, // sw-TZ
- 0x43b00130: 665, // sw-UG
- 0x44400000: 666, // syr
- 0x44600000: 667, // ta
- 0x44600098: 668, // ta-IN
- 0x446000b2: 669, // ta-LK
- 0x446000cf: 670, // ta-MY
- 0x4460010c: 671, // ta-SG
- 0x45700000: 672, // te
- 0x45700098: 673, // te-IN
- 0x45a00000: 674, // teo
- 0x45a000a3: 675, // teo-KE
- 0x45a00130: 676, // teo-UG
- 0x46100000: 677, // th
- 0x46100122: 678, // th-TH
- 0x46500000: 679, // ti
- 0x4650006c: 680, // ti-ER
- 0x4650006e: 681, // ti-ET
- 0x46700000: 682, // tig
- 0x46c00000: 683, // tk
- 0x46c00126: 684, // tk-TM
- 0x47600000: 685, // tn
- 0x47800000: 686, // to
- 0x47800128: 687, // to-TO
- 0x48000000: 688, // tr
- 0x4800005c: 689, // tr-CY
- 0x4800012a: 690, // tr-TR
- 0x48400000: 691, // ts
- 0x49a00000: 692, // twq
- 0x49a000d3: 693, // twq-NE
- 0x49f00000: 694, // tzm
- 0x49f000b9: 695, // tzm-MA
- 0x4a200000: 696, // ug
- 0x4a200052: 697, // ug-CN
- 0x4a400000: 698, // uk
- 0x4a40012f: 699, // uk-UA
- 0x4aa00000: 700, // ur
- 0x4aa00098: 701, // ur-IN
- 0x4aa000e7: 702, // ur-PK
- 0x4b200000: 703, // uz
- 0x4b205000: 704, // uz-Arab
- 0x4b205023: 705, // uz-Arab-AF
- 0x4b21e000: 706, // uz-Cyrl
- 0x4b21e136: 707, // uz-Cyrl-UZ
- 0x4b252000: 708, // uz-Latn
- 0x4b252136: 709, // uz-Latn-UZ
- 0x4b400000: 710, // vai
- 0x4b452000: 711, // vai-Latn
- 0x4b4520b3: 712, // vai-Latn-LR
- 0x4b4d9000: 713, // vai-Vaii
- 0x4b4d90b3: 714, // vai-Vaii-LR
- 0x4b600000: 715, // ve
- 0x4b900000: 716, // vi
- 0x4b90013d: 717, // vi-VN
- 0x4bf00000: 718, // vo
- 0x4bf00001: 719, // vo-001
- 0x4c200000: 720, // vun
- 0x4c20012e: 721, // vun-TZ
- 0x4c400000: 722, // wa
- 0x4c500000: 723, // wae
- 0x4c50004d: 724, // wae-CH
- 0x4db00000: 725, // wo
- 0x4e800000: 726, // xh
- 0x4f100000: 727, // xog
- 0x4f100130: 728, // xog-UG
- 0x4ff00000: 729, // yav
- 0x4ff00051: 730, // yav-CM
- 0x50800000: 731, // yi
- 0x50800001: 732, // yi-001
- 0x50e00000: 733, // yo
- 0x50e0003a: 734, // yo-BJ
- 0x50e000d5: 735, // yo-NG
- 0x51500000: 736, // yue
- 0x5150008c: 737, // yue-HK
- 0x51e00000: 738, // zgh
- 0x51e000b9: 739, // zgh-MA
- 0x51f00000: 740, // zh
- 0x51f34000: 741, // zh-Hans
- 0x51f34052: 742, // zh-Hans-CN
- 0x51f3408c: 743, // zh-Hans-HK
- 0x51f340c5: 744, // zh-Hans-MO
- 0x51f3410c: 745, // zh-Hans-SG
- 0x51f35000: 746, // zh-Hant
- 0x51f3508c: 747, // zh-Hant-HK
- 0x51f350c5: 748, // zh-Hant-MO
- 0x51f3512d: 749, // zh-Hant-TW
- 0x52400000: 750, // zu
- 0x52400160: 751, // zu-ZA
+ 0x01600000: 3, // af
+ 0x016000d1: 4, // af-NA
+ 0x01600160: 5, // af-ZA
+ 0x01c00000: 6, // agq
+ 0x01c00051: 7, // agq-CM
+ 0x02100000: 8, // ak
+ 0x0210007f: 9, // ak-GH
+ 0x02700000: 10, // am
+ 0x0270006e: 11, // am-ET
+ 0x03a00000: 12, // ar
+ 0x03a00001: 13, // ar-001
+ 0x03a00022: 14, // ar-AE
+ 0x03a00038: 15, // ar-BH
+ 0x03a00061: 16, // ar-DJ
+ 0x03a00066: 17, // ar-DZ
+ 0x03a0006a: 18, // ar-EG
+ 0x03a0006b: 19, // ar-EH
+ 0x03a0006c: 20, // ar-ER
+ 0x03a00096: 21, // ar-IL
+ 0x03a0009a: 22, // ar-IQ
+ 0x03a000a0: 23, // ar-JO
+ 0x03a000a7: 24, // ar-KM
+ 0x03a000ab: 25, // ar-KW
+ 0x03a000af: 26, // ar-LB
+ 0x03a000b8: 27, // ar-LY
+ 0x03a000b9: 28, // ar-MA
+ 0x03a000c8: 29, // ar-MR
+ 0x03a000e0: 30, // ar-OM
+ 0x03a000ec: 31, // ar-PS
+ 0x03a000f2: 32, // ar-QA
+ 0x03a00107: 33, // ar-SA
+ 0x03a0010a: 34, // ar-SD
+ 0x03a00114: 35, // ar-SO
+ 0x03a00116: 36, // ar-SS
+ 0x03a0011b: 37, // ar-SY
+ 0x03a0011f: 38, // ar-TD
+ 0x03a00127: 39, // ar-TN
+ 0x03a0015d: 40, // ar-YE
+ 0x04000000: 41, // ars
+ 0x04300000: 42, // as
+ 0x04300098: 43, // as-IN
+ 0x04400000: 44, // asa
+ 0x0440012e: 45, // asa-TZ
+ 0x04800000: 46, // ast
+ 0x0480006d: 47, // ast-ES
+ 0x05800000: 48, // az
+ 0x0581e000: 49, // az-Cyrl
+ 0x0581e031: 50, // az-Cyrl-AZ
+ 0x05852000: 51, // az-Latn
+ 0x05852031: 52, // az-Latn-AZ
+ 0x05e00000: 53, // bas
+ 0x05e00051: 54, // bas-CM
+ 0x07100000: 55, // be
+ 0x07100046: 56, // be-BY
+ 0x07500000: 57, // bem
+ 0x07500161: 58, // bem-ZM
+ 0x07900000: 59, // bez
+ 0x0790012e: 60, // bez-TZ
+ 0x07e00000: 61, // bg
+ 0x07e00037: 62, // bg-BG
+ 0x08200000: 63, // bh
+ 0x0a000000: 64, // bm
+ 0x0a0000c2: 65, // bm-ML
+ 0x0a500000: 66, // bn
+ 0x0a500034: 67, // bn-BD
+ 0x0a500098: 68, // bn-IN
+ 0x0a900000: 69, // bo
+ 0x0a900052: 70, // bo-CN
+ 0x0a900098: 71, // bo-IN
+ 0x0b200000: 72, // br
+ 0x0b200077: 73, // br-FR
+ 0x0b500000: 74, // brx
+ 0x0b500098: 75, // brx-IN
+ 0x0b700000: 76, // bs
+ 0x0b71e000: 77, // bs-Cyrl
+ 0x0b71e032: 78, // bs-Cyrl-BA
+ 0x0b752000: 79, // bs-Latn
+ 0x0b752032: 80, // bs-Latn-BA
+ 0x0d700000: 81, // ca
+ 0x0d700021: 82, // ca-AD
+ 0x0d70006d: 83, // ca-ES
+ 0x0d700077: 84, // ca-FR
+ 0x0d70009d: 85, // ca-IT
+ 0x0dc00000: 86, // ce
+ 0x0dc00105: 87, // ce-RU
+ 0x0df00000: 88, // cgg
+ 0x0df00130: 89, // cgg-UG
+ 0x0e500000: 90, // chr
+ 0x0e500134: 91, // chr-US
+ 0x0e900000: 92, // ckb
+ 0x0e90009a: 93, // ckb-IQ
+ 0x0e90009b: 94, // ckb-IR
+ 0x0f900000: 95, // cs
+ 0x0f90005d: 96, // cs-CZ
+ 0x0fd00000: 97, // cu
+ 0x0fd00105: 98, // cu-RU
+ 0x0ff00000: 99, // cy
+ 0x0ff0007a: 100, // cy-GB
+ 0x10000000: 101, // da
+ 0x10000062: 102, // da-DK
+ 0x10000081: 103, // da-GL
+ 0x10700000: 104, // dav
+ 0x107000a3: 105, // dav-KE
+ 0x10c00000: 106, // de
+ 0x10c0002d: 107, // de-AT
+ 0x10c00035: 108, // de-BE
+ 0x10c0004d: 109, // de-CH
+ 0x10c0005f: 110, // de-DE
+ 0x10c0009d: 111, // de-IT
+ 0x10c000b1: 112, // de-LI
+ 0x10c000b6: 113, // de-LU
+ 0x11600000: 114, // dje
+ 0x116000d3: 115, // dje-NE
+ 0x11e00000: 116, // dsb
+ 0x11e0005f: 117, // dsb-DE
+ 0x12300000: 118, // dua
+ 0x12300051: 119, // dua-CM
+ 0x12700000: 120, // dv
+ 0x12a00000: 121, // dyo
+ 0x12a00113: 122, // dyo-SN
+ 0x12c00000: 123, // dz
+ 0x12c00042: 124, // dz-BT
+ 0x12e00000: 125, // ebu
+ 0x12e000a3: 126, // ebu-KE
+ 0x12f00000: 127, // ee
+ 0x12f0007f: 128, // ee-GH
+ 0x12f00121: 129, // ee-TG
+ 0x13500000: 130, // el
+ 0x1350005c: 131, // el-CY
+ 0x13500086: 132, // el-GR
+ 0x13800000: 133, // en
+ 0x13800001: 134, // en-001
+ 0x1380001a: 135, // en-150
+ 0x13800024: 136, // en-AG
+ 0x13800025: 137, // en-AI
+ 0x1380002c: 138, // en-AS
+ 0x1380002d: 139, // en-AT
+ 0x1380002e: 140, // en-AU
+ 0x13800033: 141, // en-BB
+ 0x13800035: 142, // en-BE
+ 0x13800039: 143, // en-BI
+ 0x1380003c: 144, // en-BM
+ 0x13800041: 145, // en-BS
+ 0x13800045: 146, // en-BW
+ 0x13800047: 147, // en-BZ
+ 0x13800048: 148, // en-CA
+ 0x13800049: 149, // en-CC
+ 0x1380004d: 150, // en-CH
+ 0x1380004f: 151, // en-CK
+ 0x13800051: 152, // en-CM
+ 0x1380005b: 153, // en-CX
+ 0x1380005c: 154, // en-CY
+ 0x1380005f: 155, // en-DE
+ 0x13800060: 156, // en-DG
+ 0x13800062: 157, // en-DK
+ 0x13800063: 158, // en-DM
+ 0x1380006c: 159, // en-ER
+ 0x13800071: 160, // en-FI
+ 0x13800072: 161, // en-FJ
+ 0x13800073: 162, // en-FK
+ 0x13800074: 163, // en-FM
+ 0x1380007a: 164, // en-GB
+ 0x1380007b: 165, // en-GD
+ 0x1380007e: 166, // en-GG
+ 0x1380007f: 167, // en-GH
+ 0x13800080: 168, // en-GI
+ 0x13800082: 169, // en-GM
+ 0x13800089: 170, // en-GU
+ 0x1380008b: 171, // en-GY
+ 0x1380008c: 172, // en-HK
+ 0x13800095: 173, // en-IE
+ 0x13800096: 174, // en-IL
+ 0x13800097: 175, // en-IM
+ 0x13800098: 176, // en-IN
+ 0x13800099: 177, // en-IO
+ 0x1380009e: 178, // en-JE
+ 0x1380009f: 179, // en-JM
+ 0x138000a3: 180, // en-KE
+ 0x138000a6: 181, // en-KI
+ 0x138000a8: 182, // en-KN
+ 0x138000ac: 183, // en-KY
+ 0x138000b0: 184, // en-LC
+ 0x138000b3: 185, // en-LR
+ 0x138000b4: 186, // en-LS
+ 0x138000be: 187, // en-MG
+ 0x138000bf: 188, // en-MH
+ 0x138000c5: 189, // en-MO
+ 0x138000c6: 190, // en-MP
+ 0x138000c9: 191, // en-MS
+ 0x138000ca: 192, // en-MT
+ 0x138000cb: 193, // en-MU
+ 0x138000cd: 194, // en-MW
+ 0x138000cf: 195, // en-MY
+ 0x138000d1: 196, // en-NA
+ 0x138000d4: 197, // en-NF
+ 0x138000d5: 198, // en-NG
+ 0x138000d8: 199, // en-NL
+ 0x138000dc: 200, // en-NR
+ 0x138000de: 201, // en-NU
+ 0x138000df: 202, // en-NZ
+ 0x138000e5: 203, // en-PG
+ 0x138000e6: 204, // en-PH
+ 0x138000e7: 205, // en-PK
+ 0x138000ea: 206, // en-PN
+ 0x138000eb: 207, // en-PR
+ 0x138000ef: 208, // en-PW
+ 0x13800106: 209, // en-RW
+ 0x13800108: 210, // en-SB
+ 0x13800109: 211, // en-SC
+ 0x1380010a: 212, // en-SD
+ 0x1380010b: 213, // en-SE
+ 0x1380010c: 214, // en-SG
+ 0x1380010d: 215, // en-SH
+ 0x1380010e: 216, // en-SI
+ 0x13800111: 217, // en-SL
+ 0x13800116: 218, // en-SS
+ 0x1380011a: 219, // en-SX
+ 0x1380011c: 220, // en-SZ
+ 0x1380011e: 221, // en-TC
+ 0x13800124: 222, // en-TK
+ 0x13800128: 223, // en-TO
+ 0x1380012b: 224, // en-TT
+ 0x1380012c: 225, // en-TV
+ 0x1380012e: 226, // en-TZ
+ 0x13800130: 227, // en-UG
+ 0x13800132: 228, // en-UM
+ 0x13800134: 229, // en-US
+ 0x13800138: 230, // en-VC
+ 0x1380013b: 231, // en-VG
+ 0x1380013c: 232, // en-VI
+ 0x1380013e: 233, // en-VU
+ 0x13800141: 234, // en-WS
+ 0x13800160: 235, // en-ZA
+ 0x13800161: 236, // en-ZM
+ 0x13800163: 237, // en-ZW
+ 0x13b00000: 238, // eo
+ 0x13b00001: 239, // eo-001
+ 0x13d00000: 240, // es
+ 0x13d0001e: 241, // es-419
+ 0x13d0002b: 242, // es-AR
+ 0x13d0003e: 243, // es-BO
+ 0x13d00040: 244, // es-BR
+ 0x13d00047: 245, // es-BZ
+ 0x13d00050: 246, // es-CL
+ 0x13d00053: 247, // es-CO
+ 0x13d00055: 248, // es-CR
+ 0x13d00058: 249, // es-CU
+ 0x13d00064: 250, // es-DO
+ 0x13d00067: 251, // es-EA
+ 0x13d00068: 252, // es-EC
+ 0x13d0006d: 253, // es-ES
+ 0x13d00085: 254, // es-GQ
+ 0x13d00088: 255, // es-GT
+ 0x13d0008e: 256, // es-HN
+ 0x13d00093: 257, // es-IC
+ 0x13d000ce: 258, // es-MX
+ 0x13d000d7: 259, // es-NI
+ 0x13d000e1: 260, // es-PA
+ 0x13d000e3: 261, // es-PE
+ 0x13d000e6: 262, // es-PH
+ 0x13d000eb: 263, // es-PR
+ 0x13d000f0: 264, // es-PY
+ 0x13d00119: 265, // es-SV
+ 0x13d00134: 266, // es-US
+ 0x13d00135: 267, // es-UY
+ 0x13d0013a: 268, // es-VE
+ 0x13f00000: 269, // et
+ 0x13f00069: 270, // et-EE
+ 0x14400000: 271, // eu
+ 0x1440006d: 272, // eu-ES
+ 0x14500000: 273, // ewo
+ 0x14500051: 274, // ewo-CM
+ 0x14700000: 275, // fa
+ 0x14700023: 276, // fa-AF
+ 0x1470009b: 277, // fa-IR
+ 0x14d00000: 278, // ff
+ 0x14d00051: 279, // ff-CM
+ 0x14d00083: 280, // ff-GN
+ 0x14d000c8: 281, // ff-MR
+ 0x14d00113: 282, // ff-SN
+ 0x15000000: 283, // fi
+ 0x15000071: 284, // fi-FI
+ 0x15200000: 285, // fil
+ 0x152000e6: 286, // fil-PH
+ 0x15700000: 287, // fo
+ 0x15700062: 288, // fo-DK
+ 0x15700075: 289, // fo-FO
+ 0x15d00000: 290, // fr
+ 0x15d00035: 291, // fr-BE
+ 0x15d00036: 292, // fr-BF
+ 0x15d00039: 293, // fr-BI
+ 0x15d0003a: 294, // fr-BJ
+ 0x15d0003b: 295, // fr-BL
+ 0x15d00048: 296, // fr-CA
+ 0x15d0004a: 297, // fr-CD
+ 0x15d0004b: 298, // fr-CF
+ 0x15d0004c: 299, // fr-CG
+ 0x15d0004d: 300, // fr-CH
+ 0x15d0004e: 301, // fr-CI
+ 0x15d00051: 302, // fr-CM
+ 0x15d00061: 303, // fr-DJ
+ 0x15d00066: 304, // fr-DZ
+ 0x15d00077: 305, // fr-FR
+ 0x15d00079: 306, // fr-GA
+ 0x15d0007d: 307, // fr-GF
+ 0x15d00083: 308, // fr-GN
+ 0x15d00084: 309, // fr-GP
+ 0x15d00085: 310, // fr-GQ
+ 0x15d00090: 311, // fr-HT
+ 0x15d000a7: 312, // fr-KM
+ 0x15d000b6: 313, // fr-LU
+ 0x15d000b9: 314, // fr-MA
+ 0x15d000ba: 315, // fr-MC
+ 0x15d000bd: 316, // fr-MF
+ 0x15d000be: 317, // fr-MG
+ 0x15d000c2: 318, // fr-ML
+ 0x15d000c7: 319, // fr-MQ
+ 0x15d000c8: 320, // fr-MR
+ 0x15d000cb: 321, // fr-MU
+ 0x15d000d2: 322, // fr-NC
+ 0x15d000d3: 323, // fr-NE
+ 0x15d000e4: 324, // fr-PF
+ 0x15d000e9: 325, // fr-PM
+ 0x15d00101: 326, // fr-RE
+ 0x15d00106: 327, // fr-RW
+ 0x15d00109: 328, // fr-SC
+ 0x15d00113: 329, // fr-SN
+ 0x15d0011b: 330, // fr-SY
+ 0x15d0011f: 331, // fr-TD
+ 0x15d00121: 332, // fr-TG
+ 0x15d00127: 333, // fr-TN
+ 0x15d0013e: 334, // fr-VU
+ 0x15d0013f: 335, // fr-WF
+ 0x15d0015e: 336, // fr-YT
+ 0x16800000: 337, // fur
+ 0x1680009d: 338, // fur-IT
+ 0x16c00000: 339, // fy
+ 0x16c000d8: 340, // fy-NL
+ 0x16d00000: 341, // ga
+ 0x16d00095: 342, // ga-IE
+ 0x17c00000: 343, // gd
+ 0x17c0007a: 344, // gd-GB
+ 0x18e00000: 345, // gl
+ 0x18e0006d: 346, // gl-ES
+ 0x1a100000: 347, // gsw
+ 0x1a10004d: 348, // gsw-CH
+ 0x1a100077: 349, // gsw-FR
+ 0x1a1000b1: 350, // gsw-LI
+ 0x1a200000: 351, // gu
+ 0x1a200098: 352, // gu-IN
+ 0x1a700000: 353, // guw
+ 0x1a900000: 354, // guz
+ 0x1a9000a3: 355, // guz-KE
+ 0x1aa00000: 356, // gv
+ 0x1aa00097: 357, // gv-IM
+ 0x1b200000: 358, // ha
+ 0x1b20007f: 359, // ha-GH
+ 0x1b2000d3: 360, // ha-NE
+ 0x1b2000d5: 361, // ha-NG
+ 0x1b600000: 362, // haw
+ 0x1b600134: 363, // haw-US
+ 0x1ba00000: 364, // he
+ 0x1ba00096: 365, // he-IL
+ 0x1bc00000: 366, // hi
+ 0x1bc00098: 367, // hi-IN
+ 0x1cf00000: 368, // hr
+ 0x1cf00032: 369, // hr-BA
+ 0x1cf0008f: 370, // hr-HR
+ 0x1d000000: 371, // hsb
+ 0x1d00005f: 372, // hsb-DE
+ 0x1d300000: 373, // hu
+ 0x1d300091: 374, // hu-HU
+ 0x1d500000: 375, // hy
+ 0x1d500027: 376, // hy-AM
+ 0x1df00000: 377, // id
+ 0x1df00094: 378, // id-ID
+ 0x1e500000: 379, // ig
+ 0x1e5000d5: 380, // ig-NG
+ 0x1e800000: 381, // ii
+ 0x1e800052: 382, // ii-CN
+ 0x1f600000: 383, // is
+ 0x1f60009c: 384, // is-IS
+ 0x1f700000: 385, // it
+ 0x1f70004d: 386, // it-CH
+ 0x1f70009d: 387, // it-IT
+ 0x1f700112: 388, // it-SM
+ 0x1f700137: 389, // it-VA
+ 0x1f800000: 390, // iu
+ 0x1fe00000: 391, // ja
+ 0x1fe000a1: 392, // ja-JP
+ 0x20100000: 393, // jbo
+ 0x20500000: 394, // jgo
+ 0x20500051: 395, // jgo-CM
+ 0x20800000: 396, // jmc
+ 0x2080012e: 397, // jmc-TZ
+ 0x20c00000: 398, // jv
+ 0x20e00000: 399, // ka
+ 0x20e0007c: 400, // ka-GE
+ 0x21000000: 401, // kab
+ 0x21000066: 402, // kab-DZ
+ 0x21400000: 403, // kaj
+ 0x21500000: 404, // kam
+ 0x215000a3: 405, // kam-KE
+ 0x21d00000: 406, // kcg
+ 0x22100000: 407, // kde
+ 0x2210012e: 408, // kde-TZ
+ 0x22500000: 409, // kea
+ 0x22500059: 410, // kea-CV
+ 0x23200000: 411, // khq
+ 0x232000c2: 412, // khq-ML
+ 0x23700000: 413, // ki
+ 0x237000a3: 414, // ki-KE
+ 0x24000000: 415, // kk
+ 0x240000ad: 416, // kk-KZ
+ 0x24200000: 417, // kkj
+ 0x24200051: 418, // kkj-CM
+ 0x24300000: 419, // kl
+ 0x24300081: 420, // kl-GL
+ 0x24400000: 421, // kln
+ 0x244000a3: 422, // kln-KE
+ 0x24800000: 423, // km
+ 0x248000a5: 424, // km-KH
+ 0x24f00000: 425, // kn
+ 0x24f00098: 426, // kn-IN
+ 0x25200000: 427, // ko
+ 0x252000a9: 428, // ko-KP
+ 0x252000aa: 429, // ko-KR
+ 0x25400000: 430, // kok
+ 0x25400098: 431, // kok-IN
+ 0x26800000: 432, // ks
+ 0x26800098: 433, // ks-IN
+ 0x26900000: 434, // ksb
+ 0x2690012e: 435, // ksb-TZ
+ 0x26b00000: 436, // ksf
+ 0x26b00051: 437, // ksf-CM
+ 0x26c00000: 438, // ksh
+ 0x26c0005f: 439, // ksh-DE
+ 0x27200000: 440, // ku
+ 0x27f00000: 441, // kw
+ 0x27f0007a: 442, // kw-GB
+ 0x28800000: 443, // ky
+ 0x288000a4: 444, // ky-KG
+ 0x28f00000: 445, // lag
+ 0x28f0012e: 446, // lag-TZ
+ 0x29300000: 447, // lb
+ 0x293000b6: 448, // lb-LU
+ 0x2a100000: 449, // lg
+ 0x2a100130: 450, // lg-UG
+ 0x2ad00000: 451, // lkt
+ 0x2ad00134: 452, // lkt-US
+ 0x2b300000: 453, // ln
+ 0x2b300029: 454, // ln-AO
+ 0x2b30004a: 455, // ln-CD
+ 0x2b30004b: 456, // ln-CF
+ 0x2b30004c: 457, // ln-CG
+ 0x2b600000: 458, // lo
+ 0x2b6000ae: 459, // lo-LA
+ 0x2bd00000: 460, // lrc
+ 0x2bd0009a: 461, // lrc-IQ
+ 0x2bd0009b: 462, // lrc-IR
+ 0x2be00000: 463, // lt
+ 0x2be000b5: 464, // lt-LT
+ 0x2c000000: 465, // lu
+ 0x2c00004a: 466, // lu-CD
+ 0x2c200000: 467, // luo
+ 0x2c2000a3: 468, // luo-KE
+ 0x2c300000: 469, // luy
+ 0x2c3000a3: 470, // luy-KE
+ 0x2c500000: 471, // lv
+ 0x2c5000b7: 472, // lv-LV
+ 0x2cf00000: 473, // mas
+ 0x2cf000a3: 474, // mas-KE
+ 0x2cf0012e: 475, // mas-TZ
+ 0x2e700000: 476, // mer
+ 0x2e7000a3: 477, // mer-KE
+ 0x2eb00000: 478, // mfe
+ 0x2eb000cb: 479, // mfe-MU
+ 0x2ef00000: 480, // mg
+ 0x2ef000be: 481, // mg-MG
+ 0x2f000000: 482, // mgh
+ 0x2f0000d0: 483, // mgh-MZ
+ 0x2f200000: 484, // mgo
+ 0x2f200051: 485, // mgo-CM
+ 0x2fd00000: 486, // mk
+ 0x2fd000c1: 487, // mk-MK
+ 0x30200000: 488, // ml
+ 0x30200098: 489, // ml-IN
+ 0x30900000: 490, // mn
+ 0x309000c4: 491, // mn-MN
+ 0x31900000: 492, // mr
+ 0x31900098: 493, // mr-IN
+ 0x31d00000: 494, // ms
+ 0x31d0003d: 495, // ms-BN
+ 0x31d000cf: 496, // ms-MY
+ 0x31d0010c: 497, // ms-SG
+ 0x31e00000: 498, // mt
+ 0x31e000ca: 499, // mt-MT
+ 0x32300000: 500, // mua
+ 0x32300051: 501, // mua-CM
+ 0x32f00000: 502, // my
+ 0x32f000c3: 503, // my-MM
+ 0x33800000: 504, // mzn
+ 0x3380009b: 505, // mzn-IR
+ 0x33f00000: 506, // nah
+ 0x34300000: 507, // naq
+ 0x343000d1: 508, // naq-NA
+ 0x34500000: 509, // nb
+ 0x345000d9: 510, // nb-NO
+ 0x3450010f: 511, // nb-SJ
+ 0x34c00000: 512, // nd
+ 0x34c00163: 513, // nd-ZW
+ 0x34e00000: 514, // nds
+ 0x34e0005f: 515, // nds-DE
+ 0x34e000d8: 516, // nds-NL
+ 0x34f00000: 517, // ne
+ 0x34f00098: 518, // ne-IN
+ 0x34f000da: 519, // ne-NP
+ 0x36500000: 520, // nl
+ 0x3650002f: 521, // nl-AW
+ 0x36500035: 522, // nl-BE
+ 0x3650003f: 523, // nl-BQ
+ 0x3650005a: 524, // nl-CW
+ 0x365000d8: 525, // nl-NL
+ 0x36500115: 526, // nl-SR
+ 0x3650011a: 527, // nl-SX
+ 0x36600000: 528, // nmg
+ 0x36600051: 529, // nmg-CM
+ 0x36800000: 530, // nn
+ 0x368000d9: 531, // nn-NO
+ 0x36a00000: 532, // nnh
+ 0x36a00051: 533, // nnh-CM
+ 0x36d00000: 534, // no
+ 0x37300000: 535, // nqo
+ 0x37400000: 536, // nr
+ 0x37800000: 537, // nso
+ 0x37e00000: 538, // nus
+ 0x37e00116: 539, // nus-SS
+ 0x38500000: 540, // ny
+ 0x38700000: 541, // nyn
+ 0x38700130: 542, // nyn-UG
+ 0x38e00000: 543, // om
+ 0x38e0006e: 544, // om-ET
+ 0x38e000a3: 545, // om-KE
+ 0x39300000: 546, // or
+ 0x39300098: 547, // or-IN
+ 0x39600000: 548, // os
+ 0x3960007c: 549, // os-GE
+ 0x39600105: 550, // os-RU
+ 0x39b00000: 551, // pa
+ 0x39b05000: 552, // pa-Arab
+ 0x39b050e7: 553, // pa-Arab-PK
+ 0x39b2f000: 554, // pa-Guru
+ 0x39b2f098: 555, // pa-Guru-IN
+ 0x39f00000: 556, // pap
+ 0x3b100000: 557, // pl
+ 0x3b1000e8: 558, // pl-PL
+ 0x3bb00000: 559, // prg
+ 0x3bb00001: 560, // prg-001
+ 0x3bc00000: 561, // ps
+ 0x3bc00023: 562, // ps-AF
+ 0x3be00000: 563, // pt
+ 0x3be00029: 564, // pt-AO
+ 0x3be00040: 565, // pt-BR
+ 0x3be0004d: 566, // pt-CH
+ 0x3be00059: 567, // pt-CV
+ 0x3be00085: 568, // pt-GQ
+ 0x3be0008a: 569, // pt-GW
+ 0x3be000b6: 570, // pt-LU
+ 0x3be000c5: 571, // pt-MO
+ 0x3be000d0: 572, // pt-MZ
+ 0x3be000ed: 573, // pt-PT
+ 0x3be00117: 574, // pt-ST
+ 0x3be00125: 575, // pt-TL
+ 0x3c200000: 576, // qu
+ 0x3c20003e: 577, // qu-BO
+ 0x3c200068: 578, // qu-EC
+ 0x3c2000e3: 579, // qu-PE
+ 0x3d200000: 580, // rm
+ 0x3d20004d: 581, // rm-CH
+ 0x3d700000: 582, // rn
+ 0x3d700039: 583, // rn-BI
+ 0x3da00000: 584, // ro
+ 0x3da000bb: 585, // ro-MD
+ 0x3da00103: 586, // ro-RO
+ 0x3dc00000: 587, // rof
+ 0x3dc0012e: 588, // rof-TZ
+ 0x3e000000: 589, // ru
+ 0x3e000046: 590, // ru-BY
+ 0x3e0000a4: 591, // ru-KG
+ 0x3e0000ad: 592, // ru-KZ
+ 0x3e0000bb: 593, // ru-MD
+ 0x3e000105: 594, // ru-RU
+ 0x3e00012f: 595, // ru-UA
+ 0x3e300000: 596, // rw
+ 0x3e300106: 597, // rw-RW
+ 0x3e400000: 598, // rwk
+ 0x3e40012e: 599, // rwk-TZ
+ 0x3e900000: 600, // sah
+ 0x3e900105: 601, // sah-RU
+ 0x3ea00000: 602, // saq
+ 0x3ea000a3: 603, // saq-KE
+ 0x3f100000: 604, // sbp
+ 0x3f10012e: 605, // sbp-TZ
+ 0x3fa00000: 606, // sdh
+ 0x3fb00000: 607, // se
+ 0x3fb00071: 608, // se-FI
+ 0x3fb000d9: 609, // se-NO
+ 0x3fb0010b: 610, // se-SE
+ 0x3fd00000: 611, // seh
+ 0x3fd000d0: 612, // seh-MZ
+ 0x3ff00000: 613, // ses
+ 0x3ff000c2: 614, // ses-ML
+ 0x40000000: 615, // sg
+ 0x4000004b: 616, // sg-CF
+ 0x40600000: 617, // shi
+ 0x40652000: 618, // shi-Latn
+ 0x406520b9: 619, // shi-Latn-MA
+ 0x406d2000: 620, // shi-Tfng
+ 0x406d20b9: 621, // shi-Tfng-MA
+ 0x40a00000: 622, // si
+ 0x40a000b2: 623, // si-LK
+ 0x41000000: 624, // sk
+ 0x41000110: 625, // sk-SK
+ 0x41400000: 626, // sl
+ 0x4140010e: 627, // sl-SI
+ 0x41a00000: 628, // sma
+ 0x41b00000: 629, // smi
+ 0x41c00000: 630, // smj
+ 0x41d00000: 631, // smn
+ 0x41d00071: 632, // smn-FI
+ 0x42000000: 633, // sms
+ 0x42100000: 634, // sn
+ 0x42100163: 635, // sn-ZW
+ 0x42700000: 636, // so
+ 0x42700061: 637, // so-DJ
+ 0x4270006e: 638, // so-ET
+ 0x427000a3: 639, // so-KE
+ 0x42700114: 640, // so-SO
+ 0x42f00000: 641, // sq
+ 0x42f00026: 642, // sq-AL
+ 0x42f000c1: 643, // sq-MK
+ 0x42f0014c: 644, // sq-XK
+ 0x43000000: 645, // sr
+ 0x4301e000: 646, // sr-Cyrl
+ 0x4301e032: 647, // sr-Cyrl-BA
+ 0x4301e0bc: 648, // sr-Cyrl-ME
+ 0x4301e104: 649, // sr-Cyrl-RS
+ 0x4301e14c: 650, // sr-Cyrl-XK
+ 0x43052000: 651, // sr-Latn
+ 0x43052032: 652, // sr-Latn-BA
+ 0x430520bc: 653, // sr-Latn-ME
+ 0x43052104: 654, // sr-Latn-RS
+ 0x4305214c: 655, // sr-Latn-XK
+ 0x43500000: 656, // ss
+ 0x43800000: 657, // ssy
+ 0x43900000: 658, // st
+ 0x44200000: 659, // sv
+ 0x44200030: 660, // sv-AX
+ 0x44200071: 661, // sv-FI
+ 0x4420010b: 662, // sv-SE
+ 0x44300000: 663, // sw
+ 0x4430004a: 664, // sw-CD
+ 0x443000a3: 665, // sw-KE
+ 0x4430012e: 666, // sw-TZ
+ 0x44300130: 667, // sw-UG
+ 0x44c00000: 668, // syr
+ 0x44e00000: 669, // ta
+ 0x44e00098: 670, // ta-IN
+ 0x44e000b2: 671, // ta-LK
+ 0x44e000cf: 672, // ta-MY
+ 0x44e0010c: 673, // ta-SG
+ 0x45f00000: 674, // te
+ 0x45f00098: 675, // te-IN
+ 0x46200000: 676, // teo
+ 0x462000a3: 677, // teo-KE
+ 0x46200130: 678, // teo-UG
+ 0x46900000: 679, // th
+ 0x46900122: 680, // th-TH
+ 0x46d00000: 681, // ti
+ 0x46d0006c: 682, // ti-ER
+ 0x46d0006e: 683, // ti-ET
+ 0x46f00000: 684, // tig
+ 0x47400000: 685, // tk
+ 0x47400126: 686, // tk-TM
+ 0x47e00000: 687, // tn
+ 0x48000000: 688, // to
+ 0x48000128: 689, // to-TO
+ 0x48800000: 690, // tr
+ 0x4880005c: 691, // tr-CY
+ 0x4880012a: 692, // tr-TR
+ 0x48c00000: 693, // ts
+ 0x4a200000: 694, // twq
+ 0x4a2000d3: 695, // twq-NE
+ 0x4a700000: 696, // tzm
+ 0x4a7000b9: 697, // tzm-MA
+ 0x4aa00000: 698, // ug
+ 0x4aa00052: 699, // ug-CN
+ 0x4ac00000: 700, // uk
+ 0x4ac0012f: 701, // uk-UA
+ 0x4b200000: 702, // ur
+ 0x4b200098: 703, // ur-IN
+ 0x4b2000e7: 704, // ur-PK
+ 0x4ba00000: 705, // uz
+ 0x4ba05000: 706, // uz-Arab
+ 0x4ba05023: 707, // uz-Arab-AF
+ 0x4ba1e000: 708, // uz-Cyrl
+ 0x4ba1e136: 709, // uz-Cyrl-UZ
+ 0x4ba52000: 710, // uz-Latn
+ 0x4ba52136: 711, // uz-Latn-UZ
+ 0x4bc00000: 712, // vai
+ 0x4bc52000: 713, // vai-Latn
+ 0x4bc520b3: 714, // vai-Latn-LR
+ 0x4bcd9000: 715, // vai-Vaii
+ 0x4bcd90b3: 716, // vai-Vaii-LR
+ 0x4be00000: 717, // ve
+ 0x4c100000: 718, // vi
+ 0x4c10013d: 719, // vi-VN
+ 0x4c700000: 720, // vo
+ 0x4c700001: 721, // vo-001
+ 0x4ca00000: 722, // vun
+ 0x4ca0012e: 723, // vun-TZ
+ 0x4cc00000: 724, // wa
+ 0x4cd00000: 725, // wae
+ 0x4cd0004d: 726, // wae-CH
+ 0x4e300000: 727, // wo
+ 0x4f000000: 728, // xh
+ 0x4f900000: 729, // xog
+ 0x4f900130: 730, // xog-UG
+ 0x50700000: 731, // yav
+ 0x50700051: 732, // yav-CM
+ 0x51000000: 733, // yi
+ 0x51000001: 734, // yi-001
+ 0x51600000: 735, // yo
+ 0x5160003a: 736, // yo-BJ
+ 0x516000d5: 737, // yo-NG
+ 0x51d00000: 738, // yue
+ 0x51d0008c: 739, // yue-HK
+ 0x52600000: 740, // zgh
+ 0x526000b9: 741, // zgh-MA
+ 0x52700000: 742, // zh
+ 0x52734000: 743, // zh-Hans
+ 0x52734052: 744, // zh-Hans-CN
+ 0x5273408c: 745, // zh-Hans-HK
+ 0x527340c5: 746, // zh-Hans-MO
+ 0x5273410c: 747, // zh-Hans-SG
+ 0x52735000: 748, // zh-Hant
+ 0x5273508c: 749, // zh-Hant-HK
+ 0x527350c5: 750, // zh-Hant-MO
+ 0x5273512d: 751, // zh-Hant-TW
+ 0x52c00000: 752, // zu
+ 0x52c00160: 753, // zu-ZA
}
-// Total table size 4580 bytes (4KiB); checksum: A7F72A2A
+// Total table size 4592 bytes (4KiB); checksum: C25F8AFF
diff --git a/vendor/golang.org/x/text/language/maketables.go b/vendor/golang.org/x/text/language/maketables.go
deleted file mode 100644
index 107f99254d..0000000000
--- a/vendor/golang.org/x/text/language/maketables.go
+++ /dev/null
@@ -1,1648 +0,0 @@
-// Copyright 2013 The Go Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style
-// license that can be found in the LICENSE file.
-
-// +build ignore
-
-// Language tag table generator.
-// Data read from the web.
-
-package main
-
-import (
- "bufio"
- "flag"
- "fmt"
- "io"
- "io/ioutil"
- "log"
- "math"
- "reflect"
- "regexp"
- "sort"
- "strconv"
- "strings"
-
- "golang.org/x/text/internal/gen"
- "golang.org/x/text/internal/tag"
- "golang.org/x/text/unicode/cldr"
-)
-
-var (
- test = flag.Bool("test",
- false,
- "test existing tables; can be used to compare web data with package data.")
- outputFile = flag.String("output",
- "tables.go",
- "output file for generated tables")
-)
-
-var comment = []string{
- `
-lang holds an alphabetically sorted list of ISO-639 language identifiers.
-All entries are 4 bytes. The index of the identifier (divided by 4) is the language tag.
-For 2-byte language identifiers, the two successive bytes have the following meaning:
- - if the first letter of the 2- and 3-letter ISO codes are the same:
- the second and third letter of the 3-letter ISO code.
- - otherwise: a 0 and a by 2 bits right-shifted index into altLangISO3.
-For 3-byte language identifiers the 4th byte is 0.`,
- `
-langNoIndex is a bit vector of all 3-letter language codes that are not used as an index
-in lookup tables. The language ids for these language codes are derived directly
-from the letters and are not consecutive.`,
- `
-altLangISO3 holds an alphabetically sorted list of 3-letter language code alternatives
-to 2-letter language codes that cannot be derived using the method described above.
-Each 3-letter code is followed by its 1-byte langID.`,
- `
-altLangIndex is used to convert indexes in altLangISO3 to langIDs.`,
- `
-langAliasMap maps langIDs to their suggested replacements.`,
- `
-script is an alphabetically sorted list of ISO 15924 codes. The index
-of the script in the string, divided by 4, is the internal scriptID.`,
- `
-isoRegionOffset needs to be added to the index of regionISO to obtain the regionID
-for 2-letter ISO codes. (The first isoRegionOffset regionIDs are reserved for
-the UN.M49 codes used for groups.)`,
- `
-regionISO holds a list of alphabetically sorted 2-letter ISO region codes.
-Each 2-letter codes is followed by two bytes with the following meaning:
- - [A-Z}{2}: the first letter of the 2-letter code plus these two
- letters form the 3-letter ISO code.
- - 0, n: index into altRegionISO3.`,
- `
-regionTypes defines the status of a region for various standards.`,
- `
-m49 maps regionIDs to UN.M49 codes. The first isoRegionOffset entries are
-codes indicating collections of regions.`,
- `
-m49Index gives indexes into fromM49 based on the three most significant bits
-of a 10-bit UN.M49 code. To search an UN.M49 code in fromM49, search in
- fromM49[m49Index[msb39(code)]:m49Index[msb3(code)+1]]
-for an entry where the first 7 bits match the 7 lsb of the UN.M49 code.
-The region code is stored in the 9 lsb of the indexed value.`,
- `
-fromM49 contains entries to map UN.M49 codes to regions. See m49Index for details.`,
- `
-altRegionISO3 holds a list of 3-letter region codes that cannot be
-mapped to 2-letter codes using the default algorithm. This is a short list.`,
- `
-altRegionIDs holds a list of regionIDs the positions of which match those
-of the 3-letter ISO codes in altRegionISO3.`,
- `
-variantNumSpecialized is the number of specialized variants in variants.`,
- `
-suppressScript is an index from langID to the dominant script for that language,
-if it exists. If a script is given, it should be suppressed from the language tag.`,
- `
-likelyLang is a lookup table, indexed by langID, for the most likely
-scripts and regions given incomplete information. If more entries exist for a
-given language, region and script are the index and size respectively
-of the list in likelyLangList.`,
- `
-likelyLangList holds lists info associated with likelyLang.`,
- `
-likelyRegion is a lookup table, indexed by regionID, for the most likely
-languages and scripts given incomplete information. If more entries exist
-for a given regionID, lang and script are the index and size respectively
-of the list in likelyRegionList.
-TODO: exclude containers and user-definable regions from the list.`,
- `
-likelyRegionList holds lists info associated with likelyRegion.`,
- `
-likelyScript is a lookup table, indexed by scriptID, for the most likely
-languages and regions given a script.`,
- `
-matchLang holds pairs of langIDs of base languages that are typically
-mutually intelligible. Each pair is associated with a confidence and
-whether the intelligibility goes one or both ways.`,
- `
-matchScript holds pairs of scriptIDs where readers of one script
-can typically also read the other. Each is associated with a confidence.`,
- `
-nRegionGroups is the number of region groups.`,
- `
-regionInclusion maps region identifiers to sets of regions in regionInclusionBits,
-where each set holds all groupings that are directly connected in a region
-containment graph.`,
- `
-regionInclusionBits is an array of bit vectors where every vector represents
-a set of region groupings. These sets are used to compute the distance
-between two regions for the purpose of language matching.`,
- `
-regionInclusionNext marks, for each entry in regionInclusionBits, the set of
-all groups that are reachable from the groups set in the respective entry.`,
-}
-
-// TODO: consider changing some of these structures to tries. This can reduce
-// memory, but may increase the need for memory allocations. This could be
-// mitigated if we can piggyback on language tags for common cases.
-
-func failOnError(e error) {
- if e != nil {
- log.Panic(e)
- }
-}
-
-type setType int
-
-const (
- Indexed setType = 1 + iota // all elements must be of same size
- Linear
-)
-
-type stringSet struct {
- s []string
- sorted, frozen bool
-
- // We often need to update values after the creation of an index is completed.
- // We include a convenience map for keeping track of this.
- update map[string]string
- typ setType // used for checking.
-}
-
-func (ss *stringSet) clone() stringSet {
- c := *ss
- c.s = append([]string(nil), c.s...)
- return c
-}
-
-func (ss *stringSet) setType(t setType) {
- if ss.typ != t && ss.typ != 0 {
- log.Panicf("type %d cannot be assigned as it was already %d", t, ss.typ)
- }
-}
-
-// parse parses a whitespace-separated string and initializes ss with its
-// components.
-func (ss *stringSet) parse(s string) {
- scan := bufio.NewScanner(strings.NewReader(s))
- scan.Split(bufio.ScanWords)
- for scan.Scan() {
- ss.add(scan.Text())
- }
-}
-
-func (ss *stringSet) assertChangeable() {
- if ss.frozen {
- log.Panic("attempt to modify a frozen stringSet")
- }
-}
-
-func (ss *stringSet) add(s string) {
- ss.assertChangeable()
- ss.s = append(ss.s, s)
- ss.sorted = ss.frozen
-}
-
-func (ss *stringSet) freeze() {
- ss.compact()
- ss.frozen = true
-}
-
-func (ss *stringSet) compact() {
- if ss.sorted {
- return
- }
- a := ss.s
- sort.Strings(a)
- k := 0
- for i := 1; i < len(a); i++ {
- if a[k] != a[i] {
- a[k+1] = a[i]
- k++
- }
- }
- ss.s = a[:k+1]
- ss.sorted = ss.frozen
-}
-
-type funcSorter struct {
- fn func(a, b string) bool
- sort.StringSlice
-}
-
-func (s funcSorter) Less(i, j int) bool {
- return s.fn(s.StringSlice[i], s.StringSlice[j])
-}
-
-func (ss *stringSet) sortFunc(f func(a, b string) bool) {
- ss.compact()
- sort.Sort(funcSorter{f, sort.StringSlice(ss.s)})
-}
-
-func (ss *stringSet) remove(s string) {
- ss.assertChangeable()
- if i, ok := ss.find(s); ok {
- copy(ss.s[i:], ss.s[i+1:])
- ss.s = ss.s[:len(ss.s)-1]
- }
-}
-
-func (ss *stringSet) replace(ol, nu string) {
- ss.s[ss.index(ol)] = nu
- ss.sorted = ss.frozen
-}
-
-func (ss *stringSet) index(s string) int {
- ss.setType(Indexed)
- i, ok := ss.find(s)
- if !ok {
- if i < len(ss.s) {
- log.Panicf("find: item %q is not in list. Closest match is %q.", s, ss.s[i])
- }
- log.Panicf("find: item %q is not in list", s)
-
- }
- return i
-}
-
-func (ss *stringSet) find(s string) (int, bool) {
- ss.compact()
- i := sort.SearchStrings(ss.s, s)
- return i, i != len(ss.s) && ss.s[i] == s
-}
-
-func (ss *stringSet) slice() []string {
- ss.compact()
- return ss.s
-}
-
-func (ss *stringSet) updateLater(v, key string) {
- if ss.update == nil {
- ss.update = map[string]string{}
- }
- ss.update[v] = key
-}
-
-// join joins the string and ensures that all entries are of the same length.
-func (ss *stringSet) join() string {
- ss.setType(Indexed)
- n := len(ss.s[0])
- for _, s := range ss.s {
- if len(s) != n {
- log.Panicf("join: not all entries are of the same length: %q", s)
- }
- }
- ss.s = append(ss.s, strings.Repeat("\xff", n))
- return strings.Join(ss.s, "")
-}
-
-// ianaEntry holds information for an entry in the IANA Language Subtag Repository.
-// All types use the same entry.
-// See http://tools.ietf.org/html/bcp47#section-5.1 for a description of the various
-// fields.
-type ianaEntry struct {
- typ string
- description []string
- scope string
- added string
- preferred string
- deprecated string
- suppressScript string
- macro string
- prefix []string
-}
-
-type builder struct {
- w *gen.CodeWriter
- hw io.Writer // MultiWriter for w and w.Hash
- data *cldr.CLDR
- supp *cldr.SupplementalData
-
- // indices
- locale stringSet // common locales
- lang stringSet // canonical language ids (2 or 3 letter ISO codes) with data
- langNoIndex stringSet // 3-letter ISO codes with no associated data
- script stringSet // 4-letter ISO codes
- region stringSet // 2-letter ISO or 3-digit UN M49 codes
- variant stringSet // 4-8-alphanumeric variant code.
-
- // Region codes that are groups with their corresponding group IDs.
- groups map[int]index
-
- // langInfo
- registry map[string]*ianaEntry
-}
-
-type index uint
-
-func newBuilder(w *gen.CodeWriter) *builder {
- r := gen.OpenCLDRCoreZip()
- defer r.Close()
- d := &cldr.Decoder{}
- data, err := d.DecodeZip(r)
- failOnError(err)
- b := builder{
- w: w,
- hw: io.MultiWriter(w, w.Hash),
- data: data,
- supp: data.Supplemental(),
- }
- b.parseRegistry()
- return &b
-}
-
-func (b *builder) parseRegistry() {
- r := gen.OpenIANAFile("assignments/language-subtag-registry")
- defer r.Close()
- b.registry = make(map[string]*ianaEntry)
-
- scan := bufio.NewScanner(r)
- scan.Split(bufio.ScanWords)
- var record *ianaEntry
- for more := scan.Scan(); more; {
- key := scan.Text()
- more = scan.Scan()
- value := scan.Text()
- switch key {
- case "Type:":
- record = &ianaEntry{typ: value}
- case "Subtag:", "Tag:":
- if s := strings.SplitN(value, "..", 2); len(s) > 1 {
- for a := s[0]; a <= s[1]; a = inc(a) {
- b.addToRegistry(a, record)
- }
- } else {
- b.addToRegistry(value, record)
- }
- case "Suppress-Script:":
- record.suppressScript = value
- case "Added:":
- record.added = value
- case "Deprecated:":
- record.deprecated = value
- case "Macrolanguage:":
- record.macro = value
- case "Preferred-Value:":
- record.preferred = value
- case "Prefix:":
- record.prefix = append(record.prefix, value)
- case "Scope:":
- record.scope = value
- case "Description:":
- buf := []byte(value)
- for more = scan.Scan(); more; more = scan.Scan() {
- b := scan.Bytes()
- if b[0] == '%' || b[len(b)-1] == ':' {
- break
- }
- buf = append(buf, ' ')
- buf = append(buf, b...)
- }
- record.description = append(record.description, string(buf))
- continue
- default:
- continue
- }
- more = scan.Scan()
- }
- if scan.Err() != nil {
- log.Panic(scan.Err())
- }
-}
-
-func (b *builder) addToRegistry(key string, entry *ianaEntry) {
- if info, ok := b.registry[key]; ok {
- if info.typ != "language" || entry.typ != "extlang" {
- log.Fatalf("parseRegistry: tag %q already exists", key)
- }
- } else {
- b.registry[key] = entry
- }
-}
-
-var commentIndex = make(map[string]string)
-
-func init() {
- for _, s := range comment {
- key := strings.TrimSpace(strings.SplitN(s, " ", 2)[0])
- commentIndex[key] = s
- }
-}
-
-func (b *builder) comment(name string) {
- if s := commentIndex[name]; len(s) > 0 {
- b.w.WriteComment(s)
- } else {
- fmt.Fprintln(b.w)
- }
-}
-
-func (b *builder) pf(f string, x ...interface{}) {
- fmt.Fprintf(b.hw, f, x...)
- fmt.Fprint(b.hw, "\n")
-}
-
-func (b *builder) p(x ...interface{}) {
- fmt.Fprintln(b.hw, x...)
-}
-
-func (b *builder) addSize(s int) {
- b.w.Size += s
- b.pf("// Size: %d bytes", s)
-}
-
-func (b *builder) writeConst(name string, x interface{}) {
- b.comment(name)
- b.w.WriteConst(name, x)
-}
-
-// writeConsts computes f(v) for all v in values and writes the results
-// as constants named _v to a single constant block.
-func (b *builder) writeConsts(f func(string) int, values ...string) {
- b.pf("const (")
- for _, v := range values {
- b.pf("\t_%s = %v", v, f(v))
- }
- b.pf(")")
-}
-
-// writeType writes the type of the given value, which must be a struct.
-func (b *builder) writeType(value interface{}) {
- b.comment(reflect.TypeOf(value).Name())
- b.w.WriteType(value)
-}
-
-func (b *builder) writeSlice(name string, ss interface{}) {
- b.writeSliceAddSize(name, 0, ss)
-}
-
-func (b *builder) writeSliceAddSize(name string, extraSize int, ss interface{}) {
- b.comment(name)
- b.w.Size += extraSize
- v := reflect.ValueOf(ss)
- t := v.Type().Elem()
- b.pf("// Size: %d bytes, %d elements", v.Len()*int(t.Size())+extraSize, v.Len())
-
- fmt.Fprintf(b.w, "var %s = ", name)
- b.w.WriteArray(ss)
- b.p()
-}
-
-type fromTo struct {
- from, to uint16
-}
-
-func (b *builder) writeSortedMap(name string, ss *stringSet, index func(s string) uint16) {
- ss.sortFunc(func(a, b string) bool {
- return index(a) < index(b)
- })
- m := []fromTo{}
- for _, s := range ss.s {
- m = append(m, fromTo{index(s), index(ss.update[s])})
- }
- b.writeSlice(name, m)
-}
-
-const base = 'z' - 'a' + 1
-
-func strToInt(s string) uint {
- v := uint(0)
- for i := 0; i < len(s); i++ {
- v *= base
- v += uint(s[i] - 'a')
- }
- return v
-}
-
-// converts the given integer to the original ASCII string passed to strToInt.
-// len(s) must match the number of characters obtained.
-func intToStr(v uint, s []byte) {
- for i := len(s) - 1; i >= 0; i-- {
- s[i] = byte(v%base) + 'a'
- v /= base
- }
-}
-
-func (b *builder) writeBitVector(name string, ss []string) {
- vec := make([]uint8, int(math.Ceil(math.Pow(base, float64(len(ss[0])))/8)))
- for _, s := range ss {
- v := strToInt(s)
- vec[v/8] |= 1 << (v % 8)
- }
- b.writeSlice(name, vec)
-}
-
-// TODO: convert this type into a list or two-stage trie.
-func (b *builder) writeMapFunc(name string, m map[string]string, f func(string) uint16) {
- b.comment(name)
- v := reflect.ValueOf(m)
- sz := v.Len() * (2 + int(v.Type().Key().Size()))
- for _, k := range m {
- sz += len(k)
- }
- b.addSize(sz)
- keys := []string{}
- b.pf(`var %s = map[string]uint16{`, name)
- for k := range m {
- keys = append(keys, k)
- }
- sort.Strings(keys)
- for _, k := range keys {
- b.pf("\t%q: %v,", k, f(m[k]))
- }
- b.p("}")
-}
-
-func (b *builder) writeMap(name string, m interface{}) {
- b.comment(name)
- v := reflect.ValueOf(m)
- sz := v.Len() * (2 + int(v.Type().Key().Size()) + int(v.Type().Elem().Size()))
- b.addSize(sz)
- f := strings.FieldsFunc(fmt.Sprintf("%#v", m), func(r rune) bool {
- return strings.IndexRune("{}, ", r) != -1
- })
- sort.Strings(f[1:])
- b.pf(`var %s = %s{`, name, f[0])
- for _, kv := range f[1:] {
- b.pf("\t%s,", kv)
- }
- b.p("}")
-}
-
-func (b *builder) langIndex(s string) uint16 {
- if s == "und" {
- return 0
- }
- if i, ok := b.lang.find(s); ok {
- return uint16(i)
- }
- return uint16(strToInt(s)) + uint16(len(b.lang.s))
-}
-
-// inc advances the string to its lexicographical successor.
-func inc(s string) string {
- const maxTagLength = 4
- var buf [maxTagLength]byte
- intToStr(strToInt(strings.ToLower(s))+1, buf[:len(s)])
- for i := 0; i < len(s); i++ {
- if s[i] <= 'Z' {
- buf[i] -= 'a' - 'A'
- }
- }
- return string(buf[:len(s)])
-}
-
-func (b *builder) parseIndices() {
- meta := b.supp.Metadata
-
- for k, v := range b.registry {
- var ss *stringSet
- switch v.typ {
- case "language":
- if len(k) == 2 || v.suppressScript != "" || v.scope == "special" {
- b.lang.add(k)
- continue
- } else {
- ss = &b.langNoIndex
- }
- case "region":
- ss = &b.region
- case "script":
- ss = &b.script
- case "variant":
- ss = &b.variant
- default:
- continue
- }
- ss.add(k)
- }
- // Include any language for which there is data.
- for _, lang := range b.data.Locales() {
- if x := b.data.RawLDML(lang); false ||
- x.LocaleDisplayNames != nil ||
- x.Characters != nil ||
- x.Delimiters != nil ||
- x.Measurement != nil ||
- x.Dates != nil ||
- x.Numbers != nil ||
- x.Units != nil ||
- x.ListPatterns != nil ||
- x.Collations != nil ||
- x.Segmentations != nil ||
- x.Rbnf != nil ||
- x.Annotations != nil ||
- x.Metadata != nil {
-
- from := strings.Split(lang, "_")
- if lang := from[0]; lang != "root" {
- b.lang.add(lang)
- }
- }
- }
- // Include locales for plural rules, which uses a different structure.
- for _, plurals := range b.data.Supplemental().Plurals {
- for _, rules := range plurals.PluralRules {
- for _, lang := range strings.Split(rules.Locales, " ") {
- if lang = strings.Split(lang, "_")[0]; lang != "root" {
- b.lang.add(lang)
- }
- }
- }
- }
- // Include languages in likely subtags.
- for _, m := range b.supp.LikelySubtags.LikelySubtag {
- from := strings.Split(m.From, "_")
- b.lang.add(from[0])
- }
- // Include ISO-639 alpha-3 bibliographic entries.
- for _, a := range meta.Alias.LanguageAlias {
- if a.Reason == "bibliographic" {
- b.langNoIndex.add(a.Type)
- }
- }
- // Include regions in territoryAlias (not all are in the IANA registry!)
- for _, reg := range b.supp.Metadata.Alias.TerritoryAlias {
- if len(reg.Type) == 2 {
- b.region.add(reg.Type)
- }
- }
-
- for _, s := range b.lang.s {
- if len(s) == 3 {
- b.langNoIndex.remove(s)
- }
- }
- b.writeConst("numLanguages", len(b.lang.slice())+len(b.langNoIndex.slice()))
- b.writeConst("numScripts", len(b.script.slice()))
- b.writeConst("numRegions", len(b.region.slice()))
-
- // Add dummy codes at the start of each list to represent "unspecified".
- b.lang.add("---")
- b.script.add("----")
- b.region.add("---")
-
- // common locales
- b.locale.parse(meta.DefaultContent.Locales)
-}
-
-// TODO: region inclusion data will probably not be use used in future matchers.
-
-func (b *builder) computeRegionGroups() {
- b.groups = make(map[int]index)
-
- // Create group indices.
- for i := 1; b.region.s[i][0] < 'A'; i++ { // Base M49 indices on regionID.
- b.groups[i] = index(len(b.groups))
- }
- for _, g := range b.supp.TerritoryContainment.Group {
- // Skip UN and EURO zone as they are flattening the containment
- // relationship.
- if g.Type == "EZ" || g.Type == "UN" {
- continue
- }
- group := b.region.index(g.Type)
- if _, ok := b.groups[group]; !ok {
- b.groups[group] = index(len(b.groups))
- }
- }
- if len(b.groups) > 32 {
- log.Fatalf("only 32 groups supported, found %d", len(b.groups))
- }
- b.writeConst("nRegionGroups", len(b.groups))
-}
-
-var langConsts = []string{
- "af", "am", "ar", "az", "bg", "bn", "ca", "cs", "da", "de", "el", "en", "es",
- "et", "fa", "fi", "fil", "fr", "gu", "he", "hi", "hr", "hu", "hy", "id", "is",
- "it", "ja", "ka", "kk", "km", "kn", "ko", "ky", "lo", "lt", "lv", "mk", "ml",
- "mn", "mo", "mr", "ms", "mul", "my", "nb", "ne", "nl", "no", "pa", "pl", "pt",
- "ro", "ru", "sh", "si", "sk", "sl", "sq", "sr", "sv", "sw", "ta", "te", "th",
- "tl", "tn", "tr", "uk", "ur", "uz", "vi", "zh", "zu",
-
- // constants for grandfathered tags (if not already defined)
- "jbo", "ami", "bnn", "hak", "tlh", "lb", "nv", "pwn", "tao", "tay", "tsu",
- "nn", "sfb", "vgt", "sgg", "cmn", "nan", "hsn",
-}
-
-// writeLanguage generates all tables needed for language canonicalization.
-func (b *builder) writeLanguage() {
- meta := b.supp.Metadata
-
- b.writeConst("nonCanonicalUnd", b.lang.index("und"))
- b.writeConsts(func(s string) int { return int(b.langIndex(s)) }, langConsts...)
- b.writeConst("langPrivateStart", b.langIndex("qaa"))
- b.writeConst("langPrivateEnd", b.langIndex("qtz"))
-
- // Get language codes that need to be mapped (overlong 3-letter codes,
- // deprecated 2-letter codes, legacy and grandfathered tags.)
- langAliasMap := stringSet{}
- aliasTypeMap := map[string]langAliasType{}
-
- // altLangISO3 get the alternative ISO3 names that need to be mapped.
- altLangISO3 := stringSet{}
- // Add dummy start to avoid the use of index 0.
- altLangISO3.add("---")
- altLangISO3.updateLater("---", "aa")
-
- lang := b.lang.clone()
- for _, a := range meta.Alias.LanguageAlias {
- if a.Replacement == "" {
- a.Replacement = "und"
- }
- // TODO: support mapping to tags
- repl := strings.SplitN(a.Replacement, "_", 2)[0]
- if a.Reason == "overlong" {
- if len(a.Replacement) == 2 && len(a.Type) == 3 {
- lang.updateLater(a.Replacement, a.Type)
- }
- } else if len(a.Type) <= 3 {
- switch a.Reason {
- case "macrolanguage":
- aliasTypeMap[a.Type] = langMacro
- case "deprecated":
- // handled elsewhere
- continue
- case "bibliographic", "legacy":
- if a.Type == "no" {
- continue
- }
- aliasTypeMap[a.Type] = langLegacy
- default:
- log.Fatalf("new %s alias: %s", a.Reason, a.Type)
- }
- langAliasMap.add(a.Type)
- langAliasMap.updateLater(a.Type, repl)
- }
- }
- // Manually add the mapping of "nb" (Norwegian) to its macro language.
- // This can be removed if CLDR adopts this change.
- langAliasMap.add("nb")
- langAliasMap.updateLater("nb", "no")
- aliasTypeMap["nb"] = langMacro
-
- for k, v := range b.registry {
- // Also add deprecated values for 3-letter ISO codes, which CLDR omits.
- if v.typ == "language" && v.deprecated != "" && v.preferred != "" {
- langAliasMap.add(k)
- langAliasMap.updateLater(k, v.preferred)
- aliasTypeMap[k] = langDeprecated
- }
- }
- // Fix CLDR mappings.
- lang.updateLater("tl", "tgl")
- lang.updateLater("sh", "hbs")
- lang.updateLater("mo", "mol")
- lang.updateLater("no", "nor")
- lang.updateLater("tw", "twi")
- lang.updateLater("nb", "nob")
- lang.updateLater("ak", "aka")
- lang.updateLater("bh", "bih")
-
- // Ensure that each 2-letter code is matched with a 3-letter code.
- for _, v := range lang.s[1:] {
- s, ok := lang.update[v]
- if !ok {
- if s, ok = lang.update[langAliasMap.update[v]]; !ok {
- continue
- }
- lang.update[v] = s
- }
- if v[0] != s[0] {
- altLangISO3.add(s)
- altLangISO3.updateLater(s, v)
- }
- }
-
- // Complete canonialized language tags.
- lang.freeze()
- for i, v := range lang.s {
- // We can avoid these manual entries by using the IANI registry directly.
- // Seems easier to update the list manually, as changes are rare.
- // The panic in this loop will trigger if we miss an entry.
- add := ""
- if s, ok := lang.update[v]; ok {
- if s[0] == v[0] {
- add = s[1:]
- } else {
- add = string([]byte{0, byte(altLangISO3.index(s))})
- }
- } else if len(v) == 3 {
- add = "\x00"
- } else {
- log.Panicf("no data for long form of %q", v)
- }
- lang.s[i] += add
- }
- b.writeConst("lang", tag.Index(lang.join()))
-
- b.writeConst("langNoIndexOffset", len(b.lang.s))
-
- // space of all valid 3-letter language identifiers.
- b.writeBitVector("langNoIndex", b.langNoIndex.slice())
-
- altLangIndex := []uint16{}
- for i, s := range altLangISO3.slice() {
- altLangISO3.s[i] += string([]byte{byte(len(altLangIndex))})
- if i > 0 {
- idx := b.lang.index(altLangISO3.update[s])
- altLangIndex = append(altLangIndex, uint16(idx))
- }
- }
- b.writeConst("altLangISO3", tag.Index(altLangISO3.join()))
- b.writeSlice("altLangIndex", altLangIndex)
-
- b.writeSortedMap("langAliasMap", &langAliasMap, b.langIndex)
- types := make([]langAliasType, len(langAliasMap.s))
- for i, s := range langAliasMap.s {
- types[i] = aliasTypeMap[s]
- }
- b.writeSlice("langAliasTypes", types)
-}
-
-var scriptConsts = []string{
- "Latn", "Hani", "Hans", "Hant", "Qaaa", "Qaai", "Qabx", "Zinh", "Zyyy",
- "Zzzz",
-}
-
-func (b *builder) writeScript() {
- b.writeConsts(b.script.index, scriptConsts...)
- b.writeConst("script", tag.Index(b.script.join()))
-
- supp := make([]uint8, len(b.lang.slice()))
- for i, v := range b.lang.slice()[1:] {
- if sc := b.registry[v].suppressScript; sc != "" {
- supp[i+1] = uint8(b.script.index(sc))
- }
- }
- b.writeSlice("suppressScript", supp)
-
- // There is only one deprecated script in CLDR. This value is hard-coded.
- // We check here if the code must be updated.
- for _, a := range b.supp.Metadata.Alias.ScriptAlias {
- if a.Type != "Qaai" {
- log.Panicf("unexpected deprecated stript %q", a.Type)
- }
- }
-}
-
-func parseM49(s string) int16 {
- if len(s) == 0 {
- return 0
- }
- v, err := strconv.ParseUint(s, 10, 10)
- failOnError(err)
- return int16(v)
-}
-
-var regionConsts = []string{
- "001", "419", "BR", "CA", "ES", "GB", "MD", "PT", "UK", "US",
- "ZZ", "XA", "XC", "XK", // Unofficial tag for Kosovo.
-}
-
-func (b *builder) writeRegion() {
- b.writeConsts(b.region.index, regionConsts...)
-
- isoOffset := b.region.index("AA")
- m49map := make([]int16, len(b.region.slice()))
- fromM49map := make(map[int16]int)
- altRegionISO3 := ""
- altRegionIDs := []uint16{}
-
- b.writeConst("isoRegionOffset", isoOffset)
-
- // 2-letter region lookup and mapping to numeric codes.
- regionISO := b.region.clone()
- regionISO.s = regionISO.s[isoOffset:]
- regionISO.sorted = false
-
- regionTypes := make([]byte, len(b.region.s))
-
- // Is the region valid BCP 47?
- for s, e := range b.registry {
- if len(s) == 2 && s == strings.ToUpper(s) {
- i := b.region.index(s)
- for _, d := range e.description {
- if strings.Contains(d, "Private use") {
- regionTypes[i] = iso3166UserAssgined
- }
- }
- regionTypes[i] |= bcp47Region
- }
- }
-
- // Is the region a valid ccTLD?
- r := gen.OpenIANAFile("domains/root/db")
- defer r.Close()
-
- buf, err := ioutil.ReadAll(r)
- failOnError(err)
- re := regexp.MustCompile(`"/domains/root/db/([a-z]{2}).html"`)
- for _, m := range re.FindAllSubmatch(buf, -1) {
- i := b.region.index(strings.ToUpper(string(m[1])))
- regionTypes[i] |= ccTLD
- }
-
- b.writeSlice("regionTypes", regionTypes)
-
- iso3Set := make(map[string]int)
- update := func(iso2, iso3 string) {
- i := regionISO.index(iso2)
- if j, ok := iso3Set[iso3]; !ok && iso3[0] == iso2[0] {
- regionISO.s[i] += iso3[1:]
- iso3Set[iso3] = -1
- } else {
- if ok && j >= 0 {
- regionISO.s[i] += string([]byte{0, byte(j)})
- } else {
- iso3Set[iso3] = len(altRegionISO3)
- regionISO.s[i] += string([]byte{0, byte(len(altRegionISO3))})
- altRegionISO3 += iso3
- altRegionIDs = append(altRegionIDs, uint16(isoOffset+i))
- }
- }
- }
- for _, tc := range b.supp.CodeMappings.TerritoryCodes {
- i := regionISO.index(tc.Type) + isoOffset
- if d := m49map[i]; d != 0 {
- log.Panicf("%s found as a duplicate UN.M49 code of %03d", tc.Numeric, d)
- }
- m49 := parseM49(tc.Numeric)
- m49map[i] = m49
- if r := fromM49map[m49]; r == 0 {
- fromM49map[m49] = i
- } else if r != i {
- dep := b.registry[regionISO.s[r-isoOffset]].deprecated
- if t := b.registry[tc.Type]; t != nil && dep != "" && (t.deprecated == "" || t.deprecated > dep) {
- fromM49map[m49] = i
- }
- }
- }
- for _, ta := range b.supp.Metadata.Alias.TerritoryAlias {
- if len(ta.Type) == 3 && ta.Type[0] <= '9' && len(ta.Replacement) == 2 {
- from := parseM49(ta.Type)
- if r := fromM49map[from]; r == 0 {
- fromM49map[from] = regionISO.index(ta.Replacement) + isoOffset
- }
- }
- }
- for _, tc := range b.supp.CodeMappings.TerritoryCodes {
- if len(tc.Alpha3) == 3 {
- update(tc.Type, tc.Alpha3)
- }
- }
- // This entries are not included in territoryCodes. Mostly 3-letter variants
- // of deleted codes and an entry for QU.
- for _, m := range []struct{ iso2, iso3 string }{
- {"CT", "CTE"},
- {"DY", "DHY"},
- {"HV", "HVO"},
- {"JT", "JTN"},
- {"MI", "MID"},
- {"NH", "NHB"},
- {"NQ", "ATN"},
- {"PC", "PCI"},
- {"PU", "PUS"},
- {"PZ", "PCZ"},
- {"RH", "RHO"},
- {"VD", "VDR"},
- {"WK", "WAK"},
- // These three-letter codes are used for others as well.
- {"FQ", "ATF"},
- } {
- update(m.iso2, m.iso3)
- }
- for i, s := range regionISO.s {
- if len(s) != 4 {
- regionISO.s[i] = s + " "
- }
- }
- b.writeConst("regionISO", tag.Index(regionISO.join()))
- b.writeConst("altRegionISO3", altRegionISO3)
- b.writeSlice("altRegionIDs", altRegionIDs)
-
- // Create list of deprecated regions.
- // TODO: consider inserting SF -> FI. Not included by CLDR, but is the only
- // Transitionally-reserved mapping not included.
- regionOldMap := stringSet{}
- // Include regions in territoryAlias (not all are in the IANA registry!)
- for _, reg := range b.supp.Metadata.Alias.TerritoryAlias {
- if len(reg.Type) == 2 && reg.Reason == "deprecated" && len(reg.Replacement) == 2 {
- regionOldMap.add(reg.Type)
- regionOldMap.updateLater(reg.Type, reg.Replacement)
- i, _ := regionISO.find(reg.Type)
- j, _ := regionISO.find(reg.Replacement)
- if k := m49map[i+isoOffset]; k == 0 {
- m49map[i+isoOffset] = m49map[j+isoOffset]
- }
- }
- }
- b.writeSortedMap("regionOldMap", &regionOldMap, func(s string) uint16 {
- return uint16(b.region.index(s))
- })
- // 3-digit region lookup, groupings.
- for i := 1; i < isoOffset; i++ {
- m := parseM49(b.region.s[i])
- m49map[i] = m
- fromM49map[m] = i
- }
- b.writeSlice("m49", m49map)
-
- const (
- searchBits = 7
- regionBits = 9
- )
- if len(m49map) >= 1<<regionBits {
- log.Fatalf("Maximum number of regions exceeded: %d > %d", len(m49map), 1<<regionBits)
- }
- m49Index := [9]int16{}
- fromM49 := []uint16{}
- m49 := []int{}
- for k, _ := range fromM49map {
- m49 = append(m49, int(k))
- }
- sort.Ints(m49)
- for _, k := range m49[1:] {
- val := (k & (1<<searchBits - 1)) << regionBits
- fromM49 = append(fromM49, uint16(val|fromM49map[int16(k)]))
- m49Index[1:][k>>searchBits] = int16(len(fromM49))
- }
- b.writeSlice("m49Index", m49Index)
- b.writeSlice("fromM49", fromM49)
-}
-
-const (
- // TODO: put these lists in regionTypes as user data? Could be used for
- // various optimizations and refinements and could be exposed in the API.
- iso3166Except = "AC CP DG EA EU FX IC SU TA UK"
- iso3166Trans = "AN BU CS NT TP YU ZR" // SF is not in our set of Regions.
- // DY and RH are actually not deleted, but indeterminately reserved.
- iso3166DelCLDR = "CT DD DY FQ HV JT MI NH NQ PC PU PZ RH VD WK YD"
-)
-
-const (
- iso3166UserAssgined = 1 << iota
- ccTLD
- bcp47Region
-)
-
-func find(list []string, s string) int {
- for i, t := range list {
- if t == s {
- return i
- }
- }
- return -1
-}
-
-// writeVariants generates per-variant information and creates a map from variant
-// name to index value. We assign index values such that sorting multiple
-// variants by index value will result in the correct order.
-// There are two types of variants: specialized and general. Specialized variants
-// are only applicable to certain language or language-script pairs. Generalized
-// variants apply to any language. Generalized variants always sort after
-// specialized variants. We will therefore always assign a higher index value
-// to a generalized variant than any other variant. Generalized variants are
-// sorted alphabetically among themselves.
-// Specialized variants may also sort after other specialized variants. Such
-// variants will be ordered after any of the variants they may follow.
-// We assume that if a variant x is followed by a variant y, then for any prefix
-// p of x, p-x is a prefix of y. This allows us to order tags based on the
-// maximum of the length of any of its prefixes.
-// TODO: it is possible to define a set of Prefix values on variants such that
-// a total order cannot be defined to the point that this algorithm breaks.
-// In other words, we cannot guarantee the same order of variants for the
-// future using the same algorithm or for non-compliant combinations of
-// variants. For this reason, consider using simple alphabetic sorting
-// of variants and ignore Prefix restrictions altogether.
-func (b *builder) writeVariant() {
- generalized := stringSet{}
- specialized := stringSet{}
- specializedExtend := stringSet{}
- // Collate the variants by type and check assumptions.
- for _, v := range b.variant.slice() {
- e := b.registry[v]
- if len(e.prefix) == 0 {
- generalized.add(v)
- continue
- }
- c := strings.Split(e.prefix[0], "-")
- hasScriptOrRegion := false
- if len(c) > 1 {
- _, hasScriptOrRegion = b.script.find(c[1])
- if !hasScriptOrRegion {
- _, hasScriptOrRegion = b.region.find(c[1])
-
- }
- }
- if len(c) == 1 || len(c) == 2 && hasScriptOrRegion {
- // Variant is preceded by a language.
- specialized.add(v)
- continue
- }
- // Variant is preceded by another variant.
- specializedExtend.add(v)
- prefix := c[0] + "-"
- if hasScriptOrRegion {
- prefix += c[1]
- }
- for _, p := range e.prefix {
- // Verify that the prefix minus the last element is a prefix of the
- // predecessor element.
- i := strings.LastIndex(p, "-")
- pred := b.registry[p[i+1:]]
- if find(pred.prefix, p[:i]) < 0 {
- log.Fatalf("prefix %q for variant %q not consistent with predecessor spec", p, v)
- }
- // The sorting used below does not work in the general case. It works
- // if we assume that variants that may be followed by others only have
- // prefixes of the same length. Verify this.
- count := strings.Count(p[:i], "-")
- for _, q := range pred.prefix {
- if c := strings.Count(q, "-"); c != count {
- log.Fatalf("variant %q preceding %q has a prefix %q of size %d; want %d", p[i+1:], v, q, c, count)
- }
- }
- if !strings.HasPrefix(p, prefix) {
- log.Fatalf("prefix %q of variant %q should start with %q", p, v, prefix)
- }
- }
- }
-
- // Sort extended variants.
- a := specializedExtend.s
- less := func(v, w string) bool {
- // Sort by the maximum number of elements.
- maxCount := func(s string) (max int) {
- for _, p := range b.registry[s].prefix {
- if c := strings.Count(p, "-"); c > max {
- max = c
- }
- }
- return
- }
- if cv, cw := maxCount(v), maxCount(w); cv != cw {
- return cv < cw
- }
- // Sort by name as tie breaker.
- return v < w
- }
- sort.Sort(funcSorter{less, sort.StringSlice(a)})
- specializedExtend.frozen = true
-
- // Create index from variant name to index.
- variantIndex := make(map[string]uint8)
- add := func(s []string) {
- for _, v := range s {
- variantIndex[v] = uint8(len(variantIndex))
- }
- }
- add(specialized.slice())
- add(specializedExtend.s)
- numSpecialized := len(variantIndex)
- add(generalized.slice())
- if n := len(variantIndex); n > 255 {
- log.Fatalf("maximum number of variants exceeded: was %d; want <= 255", n)
- }
- b.writeMap("variantIndex", variantIndex)
- b.writeConst("variantNumSpecialized", numSpecialized)
-}
-
-func (b *builder) writeLanguageInfo() {
-}
-
-// writeLikelyData writes tables that are used both for finding parent relations and for
-// language matching. Each entry contains additional bits to indicate the status of the
-// data to know when it cannot be used for parent relations.
-func (b *builder) writeLikelyData() {
- const (
- isList = 1 << iota
- scriptInFrom
- regionInFrom
- )
- type ( // generated types
- likelyScriptRegion struct {
- region uint16
- script uint8
- flags uint8
- }
- likelyLangScript struct {
- lang uint16
- script uint8
- flags uint8
- }
- likelyLangRegion struct {
- lang uint16
- region uint16
- }
- // likelyTag is used for getting likely tags for group regions, where
- // the likely region might be a region contained in the group.
- likelyTag struct {
- lang uint16
- region uint16
- script uint8
- }
- )
- var ( // generated variables
- likelyRegionGroup = make([]likelyTag, len(b.groups))
- likelyLang = make([]likelyScriptRegion, len(b.lang.s))
- likelyRegion = make([]likelyLangScript, len(b.region.s))
- likelyScript = make([]likelyLangRegion, len(b.script.s))
- likelyLangList = []likelyScriptRegion{}
- likelyRegionList = []likelyLangScript{}
- )
- type fromTo struct {
- from, to []string
- }
- langToOther := map[int][]fromTo{}
- regionToOther := map[int][]fromTo{}
- for _, m := range b.supp.LikelySubtags.LikelySubtag {
- from := strings.Split(m.From, "_")
- to := strings.Split(m.To, "_")
- if len(to) != 3 {
- log.Fatalf("invalid number of subtags in %q: found %d, want 3", m.To, len(to))
- }
- if len(from) > 3 {
- log.Fatalf("invalid number of subtags: found %d, want 1-3", len(from))
- }
- if from[0] != to[0] && from[0] != "und" {
- log.Fatalf("unexpected language change in expansion: %s -> %s", from, to)
- }
- if len(from) == 3 {
- if from[2] != to[2] {
- log.Fatalf("unexpected region change in expansion: %s -> %s", from, to)
- }
- if from[0] != "und" {
- log.Fatalf("unexpected fully specified from tag: %s -> %s", from, to)
- }
- }
- if len(from) == 1 || from[0] != "und" {
- id := 0
- if from[0] != "und" {
- id = b.lang.index(from[0])
- }
- langToOther[id] = append(langToOther[id], fromTo{from, to})
- } else if len(from) == 2 && len(from[1]) == 4 {
- sid := b.script.index(from[1])
- likelyScript[sid].lang = uint16(b.langIndex(to[0]))
- likelyScript[sid].region = uint16(b.region.index(to[2]))
- } else {
- r := b.region.index(from[len(from)-1])
- if id, ok := b.groups[r]; ok {
- if from[0] != "und" {
- log.Fatalf("region changed unexpectedly: %s -> %s", from, to)
- }
- likelyRegionGroup[id].lang = uint16(b.langIndex(to[0]))
- likelyRegionGroup[id].script = uint8(b.script.index(to[1]))
- likelyRegionGroup[id].region = uint16(b.region.index(to[2]))
- } else {
- regionToOther[r] = append(regionToOther[r], fromTo{from, to})
- }
- }
- }
- b.writeType(likelyLangRegion{})
- b.writeSlice("likelyScript", likelyScript)
-
- for id := range b.lang.s {
- list := langToOther[id]
- if len(list) == 1 {
- likelyLang[id].region = uint16(b.region.index(list[0].to[2]))
- likelyLang[id].script = uint8(b.script.index(list[0].to[1]))
- } else if len(list) > 1 {
- likelyLang[id].flags = isList
- likelyLang[id].region = uint16(len(likelyLangList))
- likelyLang[id].script = uint8(len(list))
- for _, x := range list {
- flags := uint8(0)
- if len(x.from) > 1 {
- if x.from[1] == x.to[2] {
- flags = regionInFrom
- } else {
- flags = scriptInFrom
- }
- }
- likelyLangList = append(likelyLangList, likelyScriptRegion{
- region: uint16(b.region.index(x.to[2])),
- script: uint8(b.script.index(x.to[1])),
- flags: flags,
- })
- }
- }
- }
- // TODO: merge suppressScript data with this table.
- b.writeType(likelyScriptRegion{})
- b.writeSlice("likelyLang", likelyLang)
- b.writeSlice("likelyLangList", likelyLangList)
-
- for id := range b.region.s {
- list := regionToOther[id]
- if len(list) == 1 {
- likelyRegion[id].lang = uint16(b.langIndex(list[0].to[0]))
- likelyRegion[id].script = uint8(b.script.index(list[0].to[1]))
- if len(list[0].from) > 2 {
- likelyRegion[id].flags = scriptInFrom
- }
- } else if len(list) > 1 {
- likelyRegion[id].flags = isList
- likelyRegion[id].lang = uint16(len(likelyRegionList))
- likelyRegion[id].script = uint8(len(list))
- for i, x := range list {
- if len(x.from) == 2 && i != 0 || i > 0 && len(x.from) != 3 {
- log.Fatalf("unspecified script must be first in list: %v at %d", x.from, i)
- }
- x := likelyLangScript{
- lang: uint16(b.langIndex(x.to[0])),
- script: uint8(b.script.index(x.to[1])),
- }
- if len(list[0].from) > 2 {
- x.flags = scriptInFrom
- }
- likelyRegionList = append(likelyRegionList, x)
- }
- }
- }
- b.writeType(likelyLangScript{})
- b.writeSlice("likelyRegion", likelyRegion)
- b.writeSlice("likelyRegionList", likelyRegionList)
-
- b.writeType(likelyTag{})
- b.writeSlice("likelyRegionGroup", likelyRegionGroup)
-}
-
-type mutualIntelligibility struct {
- want, have uint16
- conf uint8
- oneway bool
-}
-
-type scriptIntelligibility struct {
- lang uint16 // langID or 0 if *
- want, have uint8
- conf uint8
-}
-
-type sortByConf []mutualIntelligibility
-
-func (l sortByConf) Less(a, b int) bool {
- return l[a].conf > l[b].conf
-}
-
-func (l sortByConf) Swap(a, b int) {
- l[a], l[b] = l[b], l[a]
-}
-
-func (l sortByConf) Len() int {
- return len(l)
-}
-
-// toConf converts a percentage value [0, 100] to a confidence class.
-func toConf(pct uint8) uint8 {
- switch {
- case pct == 100:
- return 3 // Exact
- case pct >= 90:
- return 2 // High
- case pct > 50:
- return 1 // Low
- default:
- return 0 // No
- }
-}
-
-// writeMatchData writes tables with languages and scripts for which there is
-// mutual intelligibility. The data is based on CLDR's languageMatching data.
-// Note that we use a different algorithm than the one defined by CLDR and that
-// we slightly modify the data. For example, we convert scores to confidence levels.
-// We also drop all region-related data as we use a different algorithm to
-// determine region equivalence.
-func (b *builder) writeMatchData() {
- b.writeType(mutualIntelligibility{})
- b.writeType(scriptIntelligibility{})
- lm := b.supp.LanguageMatching.LanguageMatches
- cldr.MakeSlice(&lm).SelectAnyOf("type", "written")
-
- matchLang := []mutualIntelligibility{}
- matchScript := []scriptIntelligibility{}
- // Convert the languageMatch entries in lists keyed by desired language.
- for _, m := range lm[0].LanguageMatch {
- // Different versions of CLDR use different separators.
- desired := strings.Replace(m.Desired, "-", "_", -1)
- supported := strings.Replace(m.Supported, "-", "_", -1)
- d := strings.Split(desired, "_")
- s := strings.Split(supported, "_")
- if len(d) != len(s) || len(d) > 2 {
- // Skip all entries with regions and work around CLDR bug.
- continue
- }
- pct, _ := strconv.ParseInt(m.Percent, 10, 8)
- if len(d) == 2 && d[0] == s[0] && len(d[1]) == 4 {
- // language-script pair.
- lang := uint16(0)
- if d[0] != "*" {
- lang = uint16(b.langIndex(d[0]))
- }
- matchScript = append(matchScript, scriptIntelligibility{
- lang: lang,
- want: uint8(b.script.index(d[1])),
- have: uint8(b.script.index(s[1])),
- conf: toConf(uint8(pct)),
- })
- if m.Oneway != "true" {
- matchScript = append(matchScript, scriptIntelligibility{
- lang: lang,
- want: uint8(b.script.index(s[1])),
- have: uint8(b.script.index(d[1])),
- conf: toConf(uint8(pct)),
- })
- }
- } else if len(d) == 1 && d[0] != "*" {
- if pct == 100 {
- // nb == no is already handled by macro mapping. Check there
- // really is only this case.
- if d[0] != "no" || s[0] != "nb" {
- log.Fatalf("unhandled equivalence %s == %s", s[0], d[0])
- }
- continue
- }
- matchLang = append(matchLang, mutualIntelligibility{
- want: uint16(b.langIndex(d[0])),
- have: uint16(b.langIndex(s[0])),
- conf: uint8(pct),
- oneway: m.Oneway == "true",
- })
- } else {
- // TODO: Handle other mappings.
- a := []string{"*;*", "*_*;*_*", "es_MX;es_419"}
- s := strings.Join([]string{desired, supported}, ";")
- if i := sort.SearchStrings(a, s); i == len(a) || a[i] != s {
- log.Printf("%q not handled", s)
- }
- }
- }
- sort.Stable(sortByConf(matchLang))
- // collapse percentage into confidence classes
- for i, m := range matchLang {
- matchLang[i].conf = toConf(m.conf)
- }
- b.writeSlice("matchLang", matchLang)
- b.writeSlice("matchScript", matchScript)
-}
-
-func (b *builder) writeRegionInclusionData() {
- var (
- // mm holds for each group the set of groups with a distance of 1.
- mm = make(map[int][]index)
-
- // containment holds for each group the transitive closure of
- // containment of other groups.
- containment = make(map[index][]index)
- )
- for _, g := range b.supp.TerritoryContainment.Group {
- // Skip UN and EURO zone as they are flattening the containment
- // relationship.
- if g.Type == "EZ" || g.Type == "UN" {
- continue
- }
- group := b.region.index(g.Type)
- groupIdx := b.groups[group]
- for _, mem := range strings.Split(g.Contains, " ") {
- r := b.region.index(mem)
- mm[r] = append(mm[r], groupIdx)
- if g, ok := b.groups[r]; ok {
- mm[group] = append(mm[group], g)
- containment[groupIdx] = append(containment[groupIdx], g)
- }
- }
- }
-
- regionContainment := make([]uint32, len(b.groups))
- for _, g := range b.groups {
- l := containment[g]
-
- // Compute the transitive closure of containment.
- for i := 0; i < len(l); i++ {
- l = append(l, containment[l[i]]...)
- }
-
- // Compute the bitmask.
- regionContainment[g] = 1 << g
- for _, v := range l {
- regionContainment[g] |= 1 << v
- }
- // log.Printf("%d: %X", g, regionContainment[g])
- }
- b.writeSlice("regionContainment", regionContainment)
-
- regionInclusion := make([]uint8, len(b.region.s))
- bvs := make(map[uint32]index)
- // Make the first bitvector positions correspond with the groups.
- for r, i := range b.groups {
- bv := uint32(1 << i)
- for _, g := range mm[r] {
- bv |= 1 << g
- }
- bvs[bv] = i
- regionInclusion[r] = uint8(bvs[bv])
- }
- for r := 1; r < len(b.region.s); r++ {
- if _, ok := b.groups[r]; !ok {
- bv := uint32(0)
- for _, g := range mm[r] {
- bv |= 1 << g
- }
- if bv == 0 {
- // Pick the world for unspecified regions.
- bv = 1 << b.groups[b.region.index("001")]
- }
- if _, ok := bvs[bv]; !ok {
- bvs[bv] = index(len(bvs))
- }
- regionInclusion[r] = uint8(bvs[bv])
- }
- }
- b.writeSlice("regionInclusion", regionInclusion)
- regionInclusionBits := make([]uint32, len(bvs))
- for k, v := range bvs {
- regionInclusionBits[v] = uint32(k)
- }
- // Add bit vectors for increasingly large distances until a fixed point is reached.
- regionInclusionNext := []uint8{}
- for i := 0; i < len(regionInclusionBits); i++ {
- bits := regionInclusionBits[i]
- next := bits
- for i := uint(0); i < uint(len(b.groups)); i++ {
- if bits&(1<<i) != 0 {
- next |= regionInclusionBits[i]
- }
- }
- if _, ok := bvs[next]; !ok {
- bvs[next] = index(len(bvs))
- regionInclusionBits = append(regionInclusionBits, next)
- }
- regionInclusionNext = append(regionInclusionNext, uint8(bvs[next]))
- }
- b.writeSlice("regionInclusionBits", regionInclusionBits)
- b.writeSlice("regionInclusionNext", regionInclusionNext)
-}
-
-type parentRel struct {
- lang uint16
- script uint8
- maxScript uint8
- toRegion uint16
- fromRegion []uint16
-}
-
-func (b *builder) writeParents() {
- b.writeType(parentRel{})
-
- parents := []parentRel{}
-
- // Construct parent overrides.
- n := 0
- for _, p := range b.data.Supplemental().ParentLocales.ParentLocale {
- // Skipping non-standard scripts to root is implemented using addTags.
- if p.Parent == "root" {
- continue
- }
-
- sub := strings.Split(p.Parent, "_")
- parent := parentRel{lang: b.langIndex(sub[0])}
- if len(sub) == 2 {
- // TODO: check that all undefined scripts are indeed Latn in these
- // cases.
- parent.maxScript = uint8(b.script.index("Latn"))
- parent.toRegion = uint16(b.region.index(sub[1]))
- } else {
- parent.script = uint8(b.script.index(sub[1]))
- parent.maxScript = parent.script
- parent.toRegion = uint16(b.region.index(sub[2]))
- }
- for _, c := range strings.Split(p.Locales, " ") {
- region := b.region.index(c[strings.LastIndex(c, "_")+1:])
- parent.fromRegion = append(parent.fromRegion, uint16(region))
- }
- parents = append(parents, parent)
- n += len(parent.fromRegion)
- }
- b.writeSliceAddSize("parents", n*2, parents)
-}
-
-func main() {
- gen.Init()
-
- gen.Repackage("gen_common.go", "common.go", "language")
-
- w := gen.NewCodeWriter()
- defer w.WriteGoFile("tables.go", "language")
-
- fmt.Fprintln(w, `import "golang.org/x/text/internal/tag"`)
-
- b := newBuilder(w)
- gen.WriteCLDRVersion(w)
-
- b.parseIndices()
- b.writeType(fromTo{})
- b.writeLanguage()
- b.writeScript()
- b.writeRegion()
- b.writeVariant()
- // TODO: b.writeLocale()
- b.computeRegionGroups()
- b.writeLikelyData()
- b.writeMatchData()
- b.writeRegionInclusionData()
- b.writeParents()
-}
diff --git a/vendor/golang.org/x/text/language/match.go b/vendor/golang.org/x/text/language/match.go
index 8ad9505339..bb4fff24dd 100644
--- a/vendor/golang.org/x/text/language/match.go
+++ b/vendor/golang.org/x/text/language/match.go
@@ -440,8 +440,10 @@ func makeHaveTag(tag Tag, index int) (haveTag, langID) {
// script to map to another and we rely on this to keep the code simple.
func altScript(l langID, s scriptID) scriptID {
for _, alt := range matchScript {
- if (alt.lang == 0 || langID(alt.lang) == l) && scriptID(alt.have) == s {
- return scriptID(alt.want)
+ // TODO: also match cases where language is not the same.
+ if (langID(alt.wantLang) == l || langID(alt.haveLang) == l) &&
+ scriptID(alt.haveScript) == s {
+ return scriptID(alt.wantScript)
}
}
return 0
@@ -486,6 +488,16 @@ func (m *matcher) header(l langID) *matchHeader {
return h
}
+func toConf(d uint8) Confidence {
+ if d <= 10 {
+ return High
+ }
+ if d < 30 {
+ return Low
+ }
+ return No
+}
+
// newMatcher builds an index for the given supported tags and returns it as
// a matcher. It also expands the index by considering various equivalence classes
// for a given tag.
@@ -537,9 +549,9 @@ func newMatcher(supported []Tag) *matcher {
// Add entries for languages with mutual intelligibility as defined by CLDR's
// languageMatch data.
for _, ml := range matchLang {
- update(ml.want, ml.have, Confidence(ml.conf), false)
+ update(ml.want, ml.have, toConf(ml.distance), false)
if !ml.oneway {
- update(ml.have, ml.want, Confidence(ml.conf), false)
+ update(ml.have, ml.want, toConf(ml.distance), false)
}
}
diff --git a/vendor/golang.org/x/text/language/tables.go b/vendor/golang.org/x/text/language/tables.go
index 1a92e582b9..a108554a41 100644
--- a/vendor/golang.org/x/text/language/tables.go
+++ b/vendor/golang.org/x/text/language/tables.go
@@ -1,11 +1,11 @@
-// This file was generated by go generate; DO NOT EDIT
+// Code generated by running "go generate" in golang.org/x/text. DO NOT EDIT.
package language
import "golang.org/x/text/internal/tag"
// CLDRVersion is the CLDR version from which the tables in this package are derived.
-const CLDRVersion = "30"
+const CLDRVersion = "31"
const numLanguages = 8654
@@ -18,105 +18,105 @@ type fromTo struct {
to uint16
}
-const nonCanonicalUnd = 1191
+const nonCanonicalUnd = 1199
const (
- _af = 21
- _am = 38
- _ar = 57
- _az = 87
- _bg = 125
- _bn = 163
- _ca = 213
- _cs = 246
- _da = 253
- _de = 265
- _el = 305
- _en = 308
- _es = 313
- _et = 315
- _fa = 323
- _fi = 332
- _fil = 334
- _fr = 345
- _gu = 413
- _he = 437
- _hi = 439
- _hr = 458
- _hu = 462
- _hy = 464
- _id = 474
- _is = 496
- _it = 497
- _ja = 504
- _ka = 520
- _kk = 570
- _km = 578
- _kn = 585
- _ko = 587
- _ky = 641
- _lo = 687
- _lt = 695
- _lv = 702
- _mk = 758
- _ml = 763
- _mn = 770
- _mo = 775
- _mr = 786
- _ms = 790
- _mul = 797
- _my = 808
- _nb = 830
- _ne = 840
- _nl = 862
- _no = 870
- _pa = 916
- _pl = 938
- _pt = 951
- _ro = 979
- _ru = 985
- _sh = 1021
- _si = 1026
- _sk = 1032
- _sl = 1036
- _sq = 1063
- _sr = 1064
- _sv = 1082
- _sw = 1083
- _ta = 1094
- _te = 1111
- _th = 1121
- _tl = 1136
- _tn = 1142
- _tr = 1152
- _uk = 1188
- _ur = 1194
- _uz = 1202
- _vi = 1209
- _zh = 1311
- _zu = 1316
- _jbo = 507
- _ami = 1639
- _bnn = 2346
- _hak = 431
- _tlh = 14456
- _lb = 652
- _nv = 890
- _pwn = 12044
- _tao = 14177
- _tay = 14187
- _tsu = 14651
- _nn = 865
- _sfb = 13618
- _vgt = 15690
- _sgg = 13649
- _cmn = 2996
- _nan = 826
- _hsn = 460
+ _af = 22
+ _am = 39
+ _ar = 58
+ _az = 88
+ _bg = 126
+ _bn = 165
+ _ca = 215
+ _cs = 249
+ _da = 256
+ _de = 268
+ _el = 309
+ _en = 312
+ _es = 317
+ _et = 319
+ _fa = 327
+ _fi = 336
+ _fil = 338
+ _fr = 349
+ _gu = 418
+ _he = 442
+ _hi = 444
+ _hr = 463
+ _hu = 467
+ _hy = 469
+ _id = 479
+ _is = 502
+ _it = 503
+ _ja = 510
+ _ka = 526
+ _kk = 576
+ _km = 584
+ _kn = 591
+ _ko = 594
+ _ky = 648
+ _lo = 694
+ _lt = 702
+ _lv = 709
+ _mk = 765
+ _ml = 770
+ _mn = 777
+ _mo = 782
+ _mr = 793
+ _ms = 797
+ _mul = 804
+ _my = 815
+ _nb = 837
+ _ne = 847
+ _nl = 869
+ _no = 877
+ _pa = 923
+ _pl = 945
+ _pt = 958
+ _ro = 986
+ _ru = 992
+ _sh = 1029
+ _si = 1034
+ _sk = 1040
+ _sl = 1044
+ _sq = 1071
+ _sr = 1072
+ _sv = 1090
+ _sw = 1091
+ _ta = 1102
+ _te = 1119
+ _th = 1129
+ _tl = 1144
+ _tn = 1150
+ _tr = 1160
+ _uk = 1196
+ _ur = 1202
+ _uz = 1210
+ _vi = 1217
+ _zh = 1319
+ _zu = 1324
+ _jbo = 513
+ _ami = 1647
+ _bnn = 2354
+ _hak = 436
+ _tlh = 14464
+ _lb = 659
+ _nv = 897
+ _pwn = 12052
+ _tao = 14185
+ _tay = 14195
+ _tsu = 14659
+ _nn = 872
+ _sfb = 13626
+ _vgt = 15698
+ _sgg = 13657
+ _cmn = 3004
+ _nan = 833
+ _hsn = 465
)
-const langPrivateStart = 0x2f67
+const langPrivateStart = 0x2f6f
-const langPrivateEnd = 0x316e
+const langPrivateEnd = 0x3176
// lang holds an alphabetically sorted list of ISO-639 language identifiers.
// All entries are 4 bytes. The index of the identifier (divided by 4) is the language tag.
@@ -125,132 +125,133 @@ const langPrivateEnd = 0x316e
// the second and third letter of the 3-letter ISO code.
// - otherwise: a 0 and a by 2 bits right-shifted index into altLangISO3.
// For 3-byte language identifiers the 4th byte is 0.
-var lang tag.Index = "" + // Size: 5280 bytes
- "---\x00aaaraai\x00aak\x00aau\x00abbkabi\x00abr\x00abt\x00aby\x00acd\x00a" +
- "ce\x00ach\x00ada\x00ade\x00adj\x00ady\x00adz\x00aeveaeb\x00aey\x00affrag" +
- "c\x00agd\x00agg\x00agm\x00ago\x00agq\x00aha\x00ahl\x00aho\x00ajg\x00akka" +
- "akk\x00ala\x00ali\x00aln\x00alt\x00ammhamm\x00amn\x00amo\x00amp\x00anrga" +
- "nc\x00ank\x00ann\x00any\x00aoj\x00aom\x00aoz\x00apc\x00apd\x00ape\x00apr" +
- "\x00aps\x00apz\x00arraarc\x00arh\x00arn\x00aro\x00arq\x00ars\x00ary\x00a" +
- "rz\x00assmasa\x00ase\x00asg\x00aso\x00ast\x00ata\x00atg\x00atj\x00auy" +
- "\x00avvaavl\x00avn\x00avt\x00avu\x00awa\x00awb\x00awo\x00awx\x00ayymayb" +
- "\x00azzebaakbal\x00ban\x00bap\x00bar\x00bas\x00bav\x00bax\x00bba\x00bbb" +
- "\x00bbc\x00bbd\x00bbj\x00bbp\x00bbr\x00bcf\x00bch\x00bci\x00bcm\x00bcn" +
- "\x00bco\x00bcq\x00bcu\x00bdd\x00beelbef\x00beh\x00bej\x00bem\x00bet\x00b" +
- "ew\x00bex\x00bez\x00bfd\x00bfq\x00bft\x00bfy\x00bgulbgc\x00bgn\x00bgx" +
- "\x00bhihbhb\x00bhg\x00bhi\x00bhk\x00bhl\x00bho\x00bhy\x00biisbib\x00big" +
- "\x00bik\x00bim\x00bin\x00bio\x00biq\x00bjh\x00bji\x00bjj\x00bjn\x00bjo" +
- "\x00bjr\x00bjz\x00bkc\x00bkm\x00bkq\x00bku\x00bkv\x00blt\x00bmambmh\x00b" +
- "mk\x00bmq\x00bmu\x00bnenbng\x00bnm\x00bnp\x00boodboj\x00bom\x00bon\x00bp" +
- "y\x00bqc\x00bqi\x00bqp\x00bqv\x00brrebra\x00brh\x00brx\x00brz\x00bsosbsj" +
- "\x00bsq\x00bss\x00bst\x00bto\x00btt\x00btv\x00bua\x00buc\x00bud\x00bug" +
- "\x00buk\x00bum\x00buo\x00bus\x00buu\x00bvb\x00bwd\x00bwr\x00bxh\x00bye" +
- "\x00byn\x00byr\x00bys\x00byv\x00byx\x00bza\x00bze\x00bzf\x00bzh\x00bzw" +
- "\x00caatcan\x00cbj\x00cch\x00ccp\x00ceheceb\x00cfa\x00cgg\x00chhachk\x00" +
- "chm\x00cho\x00chp\x00chr\x00cja\x00cjm\x00cjv\x00ckb\x00ckl\x00cko\x00ck" +
- "y\x00cla\x00cme\x00cooscop\x00cps\x00crrecrj\x00crk\x00crl\x00crm\x00crs" +
- "\x00csescsb\x00csw\x00ctd\x00cuhucvhvcyymdaandad\x00daf\x00dag\x00dah" +
- "\x00dak\x00dar\x00dav\x00dbd\x00dbq\x00dcc\x00ddn\x00deeuded\x00den\x00d" +
- "ga\x00dgh\x00dgi\x00dgl\x00dgr\x00dgz\x00dia\x00dje\x00dnj\x00dob\x00doi" +
- "\x00dop\x00dow\x00dri\x00drs\x00dsb\x00dtm\x00dtp\x00dts\x00dty\x00dua" +
- "\x00duc\x00dud\x00dug\x00dvivdva\x00dww\x00dyo\x00dyu\x00dzzodzg\x00ebu" +
- "\x00eeweefi\x00egl\x00egy\x00eky\x00elllema\x00emi\x00enngenn\x00enq\x00" +
- "eopoeri\x00es\x00\x05esu\x00etstetr\x00ett\x00etu\x00etx\x00euusewo\x00e" +
- "xt\x00faasfaa\x00fab\x00fag\x00fai\x00fan\x00ffulffi\x00ffm\x00fiinfia" +
- "\x00fil\x00fit\x00fjijflr\x00fmp\x00foaofod\x00fon\x00for\x00fpe\x00fqs" +
- "\x00frrafrc\x00frp\x00frr\x00frs\x00fub\x00fud\x00fue\x00fuf\x00fuh\x00f" +
- "uq\x00fur\x00fuv\x00fuy\x00fvr\x00fyrygalegaa\x00gaf\x00gag\x00gah\x00ga" +
- "j\x00gam\x00gan\x00gaw\x00gay\x00gbf\x00gbm\x00gby\x00gbz\x00gcr\x00gdla" +
- "gde\x00gdn\x00gdr\x00geb\x00gej\x00gel\x00gez\x00gfk\x00ggn\x00ghs\x00gi" +
- "l\x00gim\x00gjk\x00gjn\x00gju\x00gkn\x00gkp\x00gllgglk\x00gmm\x00gmv\x00" +
- "gnrngnd\x00gng\x00god\x00gof\x00goi\x00gom\x00gon\x00gor\x00gos\x00got" +
- "\x00grc\x00grt\x00grw\x00gsw\x00guujgub\x00guc\x00gud\x00gur\x00guw\x00g" +
- "ux\x00guz\x00gvlvgvf\x00gvr\x00gvs\x00gwc\x00gwi\x00gwt\x00gyi\x00haauha" +
- "g\x00hak\x00ham\x00haw\x00haz\x00hbb\x00hdy\x00heebhhy\x00hiinhia\x00hif" +
- "\x00hig\x00hih\x00hil\x00hla\x00hlu\x00hmd\x00hmt\x00hnd\x00hne\x00hnj" +
- "\x00hnn\x00hno\x00homohoc\x00hoj\x00hot\x00hrrvhsb\x00hsn\x00htathuunhui" +
- "\x00hyyehzerianaian\x00iar\x00iba\x00ibb\x00iby\x00ica\x00ich\x00idndidd" +
- "\x00idi\x00idu\x00ieleigboigb\x00ige\x00iiiiijj\x00ikpkikk\x00ikt\x00ikw" +
- "\x00ikx\x00ilo\x00imo\x00inndinh\x00iodoiou\x00iri\x00isslittaiukuiw\x00" +
- "\x03iwm\x00iws\x00izh\x00izi\x00japnjab\x00jam\x00jbo\x00jbu\x00jen\x00j" +
- "gk\x00jgo\x00ji\x00\x06jib\x00jmc\x00jml\x00jra\x00jut\x00jvavjwavkaatka" +
- "a\x00kab\x00kac\x00kad\x00kai\x00kaj\x00kam\x00kao\x00kbd\x00kbm\x00kbp" +
- "\x00kbq\x00kbx\x00kby\x00kcg\x00kck\x00kcl\x00kct\x00kde\x00kdh\x00kdl" +
- "\x00kdt\x00kea\x00ken\x00kez\x00kfo\x00kfr\x00kfy\x00kgonkge\x00kgf\x00k" +
- "gp\x00kha\x00khb\x00khn\x00khq\x00khs\x00kht\x00khw\x00khz\x00kiikkij" +
- "\x00kiu\x00kiw\x00kjuakjd\x00kjg\x00kjs\x00kjy\x00kkazkkc\x00kkj\x00klal" +
- "kln\x00klq\x00klt\x00klx\x00kmhmkmb\x00kmh\x00kmo\x00kms\x00kmu\x00kmw" +
- "\x00knanknp\x00koorkoi\x00kok\x00kol\x00kos\x00koz\x00kpe\x00kpf\x00kpo" +
- "\x00kpr\x00kpx\x00kqb\x00kqf\x00kqs\x00kqy\x00kraukrc\x00kri\x00krj\x00k" +
- "rl\x00krs\x00kru\x00ksasksb\x00ksd\x00ksf\x00ksh\x00ksj\x00ksr\x00ktb" +
- "\x00ktm\x00kto\x00kuurkub\x00kud\x00kue\x00kuj\x00kum\x00kun\x00kup\x00k" +
- "us\x00kvomkvg\x00kvr\x00kvx\x00kw\x00\x01kwj\x00kwo\x00kxa\x00kxc\x00kxm" +
- "\x00kxp\x00kxw\x00kxz\x00kyirkye\x00kyx\x00kzr\x00laatlab\x00lad\x00lag" +
- "\x00lah\x00laj\x00las\x00lbtzlbe\x00lbu\x00lbw\x00lcm\x00lcp\x00ldb\x00l" +
- "ed\x00lee\x00lem\x00lep\x00leq\x00leu\x00lez\x00lguglgg\x00liimlia\x00li" +
- "d\x00lif\x00lig\x00lih\x00lij\x00lis\x00ljp\x00lki\x00lkt\x00lle\x00lln" +
- "\x00lmn\x00lmo\x00lmp\x00lninlns\x00lnu\x00loaoloj\x00lok\x00lol\x00lor" +
- "\x00los\x00loz\x00lrc\x00ltitltg\x00luublua\x00luo\x00luy\x00luz\x00lvav" +
- "lwl\x00lzh\x00lzz\x00mad\x00maf\x00mag\x00mai\x00mak\x00man\x00mas\x00ma" +
- "w\x00maz\x00mbh\x00mbo\x00mbq\x00mbu\x00mbw\x00mci\x00mcp\x00mcq\x00mcr" +
- "\x00mcu\x00mda\x00mde\x00mdf\x00mdh\x00mdj\x00mdr\x00mdx\x00med\x00mee" +
- "\x00mek\x00men\x00mer\x00met\x00meu\x00mfa\x00mfe\x00mfn\x00mfo\x00mfq" +
- "\x00mglgmgh\x00mgl\x00mgo\x00mgp\x00mgy\x00mhahmhi\x00mhl\x00mirimif\x00" +
- "min\x00mis\x00miw\x00mkkdmki\x00mkl\x00mkp\x00mkw\x00mlalmle\x00mlp\x00m" +
- "ls\x00mmo\x00mmu\x00mmx\x00mnonmna\x00mnf\x00mni\x00mnw\x00moolmoa\x00mo" +
- "e\x00moh\x00mos\x00mox\x00mpp\x00mps\x00mpt\x00mpx\x00mql\x00mrarmrd\x00" +
- "mrj\x00mro\x00mssamtltmtc\x00mtf\x00mti\x00mtr\x00mua\x00mul\x00mur\x00m" +
- "us\x00mva\x00mvn\x00mvy\x00mwk\x00mwr\x00mwv\x00mxc\x00mxm\x00myyamyk" +
- "\x00mym\x00myv\x00myw\x00myx\x00myz\x00mzk\x00mzm\x00mzn\x00mzp\x00mzw" +
- "\x00mzz\x00naaunac\x00naf\x00nah\x00nak\x00nan\x00nap\x00naq\x00nas\x00n" +
- "bobnca\x00nce\x00ncf\x00nch\x00nco\x00ncu\x00nddendc\x00nds\x00neepneb" +
- "\x00new\x00nex\x00nfr\x00ngdonga\x00ngb\x00ngl\x00nhb\x00nhe\x00nhw\x00n" +
- "if\x00nii\x00nij\x00nin\x00niu\x00niy\x00niz\x00njo\x00nkg\x00nko\x00nll" +
- "dnmg\x00nmz\x00nnnonnf\x00nnh\x00nnk\x00nnm\x00noornod\x00noe\x00non\x00" +
- "nop\x00nou\x00nqo\x00nrblnrb\x00nsk\x00nsn\x00nso\x00nss\x00ntm\x00ntr" +
- "\x00nui\x00nup\x00nus\x00nuv\x00nux\x00nvavnwb\x00nxq\x00nxr\x00nyyanym" +
- "\x00nyn\x00nzi\x00occiogc\x00ojjiokr\x00okv\x00omrmong\x00onn\x00ons\x00" +
- "opm\x00orrioro\x00oru\x00osssosa\x00ota\x00otk\x00ozm\x00paanpag\x00pal" +
- "\x00pam\x00pap\x00pau\x00pbi\x00pcd\x00pcm\x00pdc\x00pdt\x00ped\x00peo" +
- "\x00pex\x00pfl\x00phl\x00phn\x00pilipil\x00pip\x00pka\x00pko\x00plolpla" +
- "\x00pms\x00png\x00pnn\x00pnt\x00pon\x00ppo\x00pra\x00prd\x00prg\x00psusp" +
- "ss\x00ptorptp\x00puu\x00pwa\x00quuequc\x00qug\x00rai\x00raj\x00rao\x00rc" +
- "f\x00rej\x00rel\x00res\x00rgn\x00rhg\x00ria\x00rif\x00rjs\x00rkt\x00rmoh" +
- "rmf\x00rmo\x00rmt\x00rmu\x00rnunrna\x00rng\x00roonrob\x00rof\x00roo\x00r" +
- "ro\x00rtm\x00ruusrue\x00rug\x00rw\x00\x04rwk\x00rwo\x00ryu\x00saansaf" +
- "\x00sah\x00saq\x00sas\x00sat\x00saz\x00sba\x00sbe\x00sbp\x00scrdsck\x00s" +
- "cl\x00scn\x00sco\x00scs\x00sdndsdc\x00sdh\x00semesef\x00seh\x00sei\x00se" +
- "s\x00sgagsga\x00sgs\x00sgw\x00sgz\x00sh\x00\x02shi\x00shk\x00shn\x00shu" +
- "\x00siinsid\x00sig\x00sil\x00sim\x00sjr\x00sklkskc\x00skr\x00sks\x00sllv" +
- "sld\x00sli\x00sll\x00sly\x00smmosma\x00smi\x00smj\x00smn\x00smp\x00smq" +
- "\x00sms\x00snnasnc\x00snk\x00snp\x00snx\x00sny\x00soomsok\x00soq\x00sou" +
- "\x00soy\x00spd\x00spl\x00sps\x00sqqisrrpsrb\x00srn\x00srr\x00srx\x00sssw" +
- "ssd\x00ssg\x00ssy\x00stotstk\x00stq\x00suunsua\x00sue\x00suk\x00sur\x00s" +
- "us\x00svweswwaswb\x00swc\x00swg\x00swp\x00swv\x00sxn\x00sxw\x00syl\x00sy" +
- "r\x00szl\x00taamtaj\x00tal\x00tan\x00taq\x00tbc\x00tbd\x00tbf\x00tbg\x00" +
- "tbo\x00tbw\x00tbz\x00tci\x00tcy\x00tdd\x00tdg\x00tdh\x00teelted\x00tem" +
- "\x00teo\x00tet\x00tfi\x00tggktgc\x00tgo\x00tgu\x00thhathl\x00thq\x00thr" +
- "\x00tiirtif\x00tig\x00tik\x00tim\x00tio\x00tiv\x00tkuktkl\x00tkr\x00tkt" +
- "\x00tlgltlf\x00tlx\x00tly\x00tmh\x00tmy\x00tnsntnh\x00toontof\x00tog\x00" +
- "toq\x00tpi\x00tpm\x00tpz\x00tqo\x00trurtru\x00trv\x00trw\x00tssotsd\x00t" +
- "sf\x00tsg\x00tsj\x00tsw\x00ttatttd\x00tte\x00ttj\x00ttr\x00tts\x00ttt" +
- "\x00tuh\x00tul\x00tum\x00tuq\x00tvd\x00tvl\x00tvu\x00twwitwh\x00twq\x00t" +
- "xg\x00tyahtya\x00tyv\x00tzm\x00ubu\x00udm\x00ugiguga\x00ukkruli\x00umb" +
- "\x00und\x00unr\x00unx\x00urrduri\x00urt\x00urw\x00usa\x00utr\x00uvh\x00u" +
- "vl\x00uzzbvag\x00vai\x00van\x00veenvec\x00vep\x00viievic\x00viv\x00vls" +
- "\x00vmf\x00vmw\x00voolvot\x00vro\x00vun\x00vut\x00walnwae\x00waj\x00wal" +
- "\x00wan\x00war\x00wbp\x00wbq\x00wbr\x00wci\x00wer\x00wgi\x00whg\x00wib" +
- "\x00wiu\x00wiv\x00wja\x00wji\x00wls\x00wmo\x00wnc\x00wni\x00wnu\x00woolw" +
- "ob\x00wos\x00wrs\x00wsk\x00wtm\x00wuu\x00wuv\x00wwa\x00xav\x00xbi\x00xcr" +
- "\x00xes\x00xhhoxla\x00xlc\x00xld\x00xmf\x00xmn\x00xmr\x00xna\x00xnr\x00x" +
- "og\x00xon\x00xpr\x00xrb\x00xsa\x00xsi\x00xsm\x00xsr\x00xwe\x00yam\x00yao" +
- "\x00yap\x00yas\x00yat\x00yav\x00yay\x00yaz\x00yba\x00ybb\x00yby\x00yer" +
- "\x00ygr\x00ygw\x00yiidyko\x00yle\x00ylg\x00yll\x00yml\x00yooryon\x00yrb" +
- "\x00yre\x00yrl\x00yss\x00yua\x00yue\x00yuj\x00yut\x00yuw\x00zahazag\x00z" +
- "bl\x00zdj\x00zea\x00zgh\x00zhhozia\x00zlm\x00zmi\x00zne\x00zuulzxx\x00zz" +
- "a\x00\xff\xff\xff\xff"
+const lang tag.Index = "" + // Size: 5312 bytes
+ "---\x00aaaraai\x00aak\x00aau\x00abbkabi\x00abq\x00abr\x00abt\x00aby\x00a" +
+ "cd\x00ace\x00ach\x00ada\x00ade\x00adj\x00ady\x00adz\x00aeveaeb\x00aey" +
+ "\x00affragc\x00agd\x00agg\x00agm\x00ago\x00agq\x00aha\x00ahl\x00aho\x00a" +
+ "jg\x00akkaakk\x00ala\x00ali\x00aln\x00alt\x00ammhamm\x00amn\x00amo\x00am" +
+ "p\x00anrganc\x00ank\x00ann\x00any\x00aoj\x00aom\x00aoz\x00apc\x00apd\x00" +
+ "ape\x00apr\x00aps\x00apz\x00arraarc\x00arh\x00arn\x00aro\x00arq\x00ars" +
+ "\x00ary\x00arz\x00assmasa\x00ase\x00asg\x00aso\x00ast\x00ata\x00atg\x00a" +
+ "tj\x00auy\x00avvaavl\x00avn\x00avt\x00avu\x00awa\x00awb\x00awo\x00awx" +
+ "\x00ayymayb\x00azzebaakbal\x00ban\x00bap\x00bar\x00bas\x00bav\x00bax\x00" +
+ "bba\x00bbb\x00bbc\x00bbd\x00bbj\x00bbp\x00bbr\x00bcf\x00bch\x00bci\x00bc" +
+ "m\x00bcn\x00bco\x00bcq\x00bcu\x00bdd\x00beelbef\x00beh\x00bej\x00bem\x00" +
+ "bet\x00bew\x00bex\x00bez\x00bfd\x00bfq\x00bft\x00bfy\x00bgulbgc\x00bgn" +
+ "\x00bgx\x00bhihbhb\x00bhg\x00bhi\x00bhk\x00bhl\x00bho\x00bhy\x00biisbib" +
+ "\x00big\x00bik\x00bim\x00bin\x00bio\x00biq\x00bjh\x00bji\x00bjj\x00bjn" +
+ "\x00bjo\x00bjr\x00bjt\x00bjz\x00bkc\x00bkm\x00bkq\x00bku\x00bkv\x00blt" +
+ "\x00bmambmh\x00bmk\x00bmq\x00bmu\x00bnenbng\x00bnm\x00bnp\x00boodboj\x00" +
+ "bom\x00bon\x00bpy\x00bqc\x00bqi\x00bqp\x00bqv\x00brrebra\x00brh\x00brx" +
+ "\x00brz\x00bsosbsj\x00bsq\x00bss\x00bst\x00bto\x00btt\x00btv\x00bua\x00b" +
+ "uc\x00bud\x00bug\x00buk\x00bum\x00buo\x00bus\x00buu\x00bvb\x00bwd\x00bwr" +
+ "\x00bxh\x00bye\x00byn\x00byr\x00bys\x00byv\x00byx\x00bza\x00bze\x00bzf" +
+ "\x00bzh\x00bzw\x00caatcan\x00cbj\x00cch\x00ccp\x00ceheceb\x00cfa\x00cgg" +
+ "\x00chhachk\x00chm\x00cho\x00chp\x00chr\x00cja\x00cjm\x00cjv\x00ckb\x00c" +
+ "kl\x00cko\x00cky\x00cla\x00cme\x00cooscop\x00cps\x00crrecrh\x00crj\x00cr" +
+ "k\x00crl\x00crm\x00crs\x00csescsb\x00csw\x00ctd\x00cuhucvhvcyymdaandad" +
+ "\x00daf\x00dag\x00dah\x00dak\x00dar\x00dav\x00dbd\x00dbq\x00dcc\x00ddn" +
+ "\x00deeuded\x00den\x00dga\x00dgh\x00dgi\x00dgl\x00dgr\x00dgz\x00dia\x00d" +
+ "je\x00dnj\x00dob\x00doi\x00dop\x00dow\x00dri\x00drs\x00dsb\x00dtm\x00dtp" +
+ "\x00dts\x00dty\x00dua\x00duc\x00dud\x00dug\x00dvivdva\x00dww\x00dyo\x00d" +
+ "yu\x00dzzodzg\x00ebu\x00eeweefi\x00egl\x00egy\x00eka\x00eky\x00elllema" +
+ "\x00emi\x00enngenn\x00enq\x00eopoeri\x00es\x00\x05esu\x00etstetr\x00ett" +
+ "\x00etu\x00etx\x00euusewo\x00ext\x00faasfaa\x00fab\x00fag\x00fai\x00fan" +
+ "\x00ffulffi\x00ffm\x00fiinfia\x00fil\x00fit\x00fjijflr\x00fmp\x00foaofod" +
+ "\x00fon\x00for\x00fpe\x00fqs\x00frrafrc\x00frp\x00frr\x00frs\x00fub\x00f" +
+ "ud\x00fue\x00fuf\x00fuh\x00fuq\x00fur\x00fuv\x00fuy\x00fvr\x00fyrygalega" +
+ "a\x00gaf\x00gag\x00gah\x00gaj\x00gam\x00gan\x00gaw\x00gay\x00gbf\x00gbm" +
+ "\x00gby\x00gbz\x00gcr\x00gdlagde\x00gdn\x00gdr\x00geb\x00gej\x00gel\x00g" +
+ "ez\x00gfk\x00ggn\x00ghs\x00gil\x00gim\x00gjk\x00gjn\x00gju\x00gkn\x00gkp" +
+ "\x00gllgglk\x00gmm\x00gmv\x00gnrngnd\x00gng\x00god\x00gof\x00goi\x00gom" +
+ "\x00gon\x00gor\x00gos\x00got\x00grb\x00grc\x00grt\x00grw\x00gsw\x00guujg" +
+ "ub\x00guc\x00gud\x00gur\x00guw\x00gux\x00guz\x00gvlvgvf\x00gvr\x00gvs" +
+ "\x00gwc\x00gwi\x00gwt\x00gyi\x00haauhag\x00hak\x00ham\x00haw\x00haz\x00h" +
+ "bb\x00hdy\x00heebhhy\x00hiinhia\x00hif\x00hig\x00hih\x00hil\x00hla\x00hl" +
+ "u\x00hmd\x00hmt\x00hnd\x00hne\x00hnj\x00hnn\x00hno\x00homohoc\x00hoj\x00" +
+ "hot\x00hrrvhsb\x00hsn\x00htathuunhui\x00hyyehzerianaian\x00iar\x00iba" +
+ "\x00ibb\x00iby\x00ica\x00ich\x00idndidd\x00idi\x00idu\x00ieleife\x00igbo" +
+ "igb\x00ige\x00iiiiijj\x00ikpkikk\x00ikt\x00ikw\x00ikx\x00ilo\x00imo\x00i" +
+ "nndinh\x00iodoiou\x00iri\x00isslittaiukuiw\x00\x03iwm\x00iws\x00izh\x00i" +
+ "zi\x00japnjab\x00jam\x00jbo\x00jbu\x00jen\x00jgk\x00jgo\x00ji\x00\x06jib" +
+ "\x00jmc\x00jml\x00jra\x00jut\x00jvavjwavkaatkaa\x00kab\x00kac\x00kad\x00" +
+ "kai\x00kaj\x00kam\x00kao\x00kbd\x00kbm\x00kbp\x00kbq\x00kbx\x00kby\x00kc" +
+ "g\x00kck\x00kcl\x00kct\x00kde\x00kdh\x00kdl\x00kdt\x00kea\x00ken\x00kez" +
+ "\x00kfo\x00kfr\x00kfy\x00kgonkge\x00kgf\x00kgp\x00kha\x00khb\x00khn\x00k" +
+ "hq\x00khs\x00kht\x00khw\x00khz\x00kiikkij\x00kiu\x00kiw\x00kjuakjd\x00kj" +
+ "g\x00kjs\x00kjy\x00kkazkkc\x00kkj\x00klalkln\x00klq\x00klt\x00klx\x00kmh" +
+ "mkmb\x00kmh\x00kmo\x00kms\x00kmu\x00kmw\x00knanknf\x00knp\x00koorkoi\x00" +
+ "kok\x00kol\x00kos\x00koz\x00kpe\x00kpf\x00kpo\x00kpr\x00kpx\x00kqb\x00kq" +
+ "f\x00kqs\x00kqy\x00kraukrc\x00kri\x00krj\x00krl\x00krs\x00kru\x00ksasksb" +
+ "\x00ksd\x00ksf\x00ksh\x00ksj\x00ksr\x00ktb\x00ktm\x00kto\x00kuurkub\x00k" +
+ "ud\x00kue\x00kuj\x00kum\x00kun\x00kup\x00kus\x00kvomkvg\x00kvr\x00kvx" +
+ "\x00kw\x00\x01kwj\x00kwo\x00kxa\x00kxc\x00kxm\x00kxp\x00kxw\x00kxz\x00ky" +
+ "irkye\x00kyx\x00kzr\x00laatlab\x00lad\x00lag\x00lah\x00laj\x00las\x00lbt" +
+ "zlbe\x00lbu\x00lbw\x00lcm\x00lcp\x00ldb\x00led\x00lee\x00lem\x00lep\x00l" +
+ "eq\x00leu\x00lez\x00lguglgg\x00liimlia\x00lid\x00lif\x00lig\x00lih\x00li" +
+ "j\x00lis\x00ljp\x00lki\x00lkt\x00lle\x00lln\x00lmn\x00lmo\x00lmp\x00lnin" +
+ "lns\x00lnu\x00loaoloj\x00lok\x00lol\x00lor\x00los\x00loz\x00lrc\x00ltitl" +
+ "tg\x00luublua\x00luo\x00luy\x00luz\x00lvavlwl\x00lzh\x00lzz\x00mad\x00ma" +
+ "f\x00mag\x00mai\x00mak\x00man\x00mas\x00maw\x00maz\x00mbh\x00mbo\x00mbq" +
+ "\x00mbu\x00mbw\x00mci\x00mcp\x00mcq\x00mcr\x00mcu\x00mda\x00mde\x00mdf" +
+ "\x00mdh\x00mdj\x00mdr\x00mdx\x00med\x00mee\x00mek\x00men\x00mer\x00met" +
+ "\x00meu\x00mfa\x00mfe\x00mfn\x00mfo\x00mfq\x00mglgmgh\x00mgl\x00mgo\x00m" +
+ "gp\x00mgy\x00mhahmhi\x00mhl\x00mirimif\x00min\x00mis\x00miw\x00mkkdmki" +
+ "\x00mkl\x00mkp\x00mkw\x00mlalmle\x00mlp\x00mls\x00mmo\x00mmu\x00mmx\x00m" +
+ "nonmna\x00mnf\x00mni\x00mnw\x00moolmoa\x00moe\x00moh\x00mos\x00mox\x00mp" +
+ "p\x00mps\x00mpt\x00mpx\x00mql\x00mrarmrd\x00mrj\x00mro\x00mssamtltmtc" +
+ "\x00mtf\x00mti\x00mtr\x00mua\x00mul\x00mur\x00mus\x00mva\x00mvn\x00mvy" +
+ "\x00mwk\x00mwr\x00mwv\x00mxc\x00mxm\x00myyamyk\x00mym\x00myv\x00myw\x00m" +
+ "yx\x00myz\x00mzk\x00mzm\x00mzn\x00mzp\x00mzw\x00mzz\x00naaunac\x00naf" +
+ "\x00nah\x00nak\x00nan\x00nap\x00naq\x00nas\x00nbobnca\x00nce\x00ncf\x00n" +
+ "ch\x00nco\x00ncu\x00nddendc\x00nds\x00neepneb\x00new\x00nex\x00nfr\x00ng" +
+ "donga\x00ngb\x00ngl\x00nhb\x00nhe\x00nhw\x00nif\x00nii\x00nij\x00nin\x00" +
+ "niu\x00niy\x00niz\x00njo\x00nkg\x00nko\x00nlldnmg\x00nmz\x00nnnonnf\x00n" +
+ "nh\x00nnk\x00nnm\x00noornod\x00noe\x00non\x00nop\x00nou\x00nqo\x00nrblnr" +
+ "b\x00nsk\x00nsn\x00nso\x00nss\x00ntm\x00ntr\x00nui\x00nup\x00nus\x00nuv" +
+ "\x00nux\x00nvavnwb\x00nxq\x00nxr\x00nyyanym\x00nyn\x00nzi\x00occiogc\x00" +
+ "ojjiokr\x00okv\x00omrmong\x00onn\x00ons\x00opm\x00orrioro\x00oru\x00osss" +
+ "osa\x00ota\x00otk\x00ozm\x00paanpag\x00pal\x00pam\x00pap\x00pau\x00pbi" +
+ "\x00pcd\x00pcm\x00pdc\x00pdt\x00ped\x00peo\x00pex\x00pfl\x00phl\x00phn" +
+ "\x00pilipil\x00pip\x00pka\x00pko\x00plolpla\x00pms\x00png\x00pnn\x00pnt" +
+ "\x00pon\x00ppo\x00pra\x00prd\x00prg\x00psuspss\x00ptorptp\x00puu\x00pwa" +
+ "\x00quuequc\x00qug\x00rai\x00raj\x00rao\x00rcf\x00rej\x00rel\x00res\x00r" +
+ "gn\x00rhg\x00ria\x00rif\x00rjs\x00rkt\x00rmohrmf\x00rmo\x00rmt\x00rmu" +
+ "\x00rnunrna\x00rng\x00roonrob\x00rof\x00roo\x00rro\x00rtm\x00ruusrue\x00" +
+ "rug\x00rw\x00\x04rwk\x00rwo\x00ryu\x00saansaf\x00sah\x00saq\x00sas\x00sa" +
+ "t\x00sav\x00saz\x00sba\x00sbe\x00sbp\x00scrdsck\x00scl\x00scn\x00sco\x00" +
+ "scs\x00sdndsdc\x00sdh\x00semesef\x00seh\x00sei\x00ses\x00sgagsga\x00sgs" +
+ "\x00sgw\x00sgz\x00sh\x00\x02shi\x00shk\x00shn\x00shu\x00siinsid\x00sig" +
+ "\x00sil\x00sim\x00sjr\x00sklkskc\x00skr\x00sks\x00sllvsld\x00sli\x00sll" +
+ "\x00sly\x00smmosma\x00smi\x00smj\x00smn\x00smp\x00smq\x00sms\x00snnasnc" +
+ "\x00snk\x00snp\x00snx\x00sny\x00soomsok\x00soq\x00sou\x00soy\x00spd\x00s" +
+ "pl\x00sps\x00sqqisrrpsrb\x00srn\x00srr\x00srx\x00ssswssd\x00ssg\x00ssy" +
+ "\x00stotstk\x00stq\x00suunsua\x00sue\x00suk\x00sur\x00sus\x00svweswwaswb" +
+ "\x00swc\x00swg\x00swp\x00swv\x00sxn\x00sxw\x00syl\x00syr\x00szl\x00taamt" +
+ "aj\x00tal\x00tan\x00taq\x00tbc\x00tbd\x00tbf\x00tbg\x00tbo\x00tbw\x00tbz" +
+ "\x00tci\x00tcy\x00tdd\x00tdg\x00tdh\x00teelted\x00tem\x00teo\x00tet\x00t" +
+ "fi\x00tggktgc\x00tgo\x00tgu\x00thhathl\x00thq\x00thr\x00tiirtif\x00tig" +
+ "\x00tik\x00tim\x00tio\x00tiv\x00tkuktkl\x00tkr\x00tkt\x00tlgltlf\x00tlx" +
+ "\x00tly\x00tmh\x00tmy\x00tnsntnh\x00toontof\x00tog\x00toq\x00tpi\x00tpm" +
+ "\x00tpz\x00tqo\x00trurtru\x00trv\x00trw\x00tssotsd\x00tsf\x00tsg\x00tsj" +
+ "\x00tsw\x00ttatttd\x00tte\x00ttj\x00ttr\x00tts\x00ttt\x00tuh\x00tul\x00t" +
+ "um\x00tuq\x00tvd\x00tvl\x00tvu\x00twwitwh\x00twq\x00txg\x00tyahtya\x00ty" +
+ "v\x00tzm\x00ubu\x00udm\x00ugiguga\x00ukkruli\x00umb\x00und\x00unr\x00unx" +
+ "\x00urrduri\x00urt\x00urw\x00usa\x00utr\x00uvh\x00uvl\x00uzzbvag\x00vai" +
+ "\x00van\x00veenvec\x00vep\x00viievic\x00viv\x00vls\x00vmf\x00vmw\x00vool" +
+ "vot\x00vro\x00vun\x00vut\x00walnwae\x00waj\x00wal\x00wan\x00war\x00wbp" +
+ "\x00wbq\x00wbr\x00wci\x00wer\x00wgi\x00whg\x00wib\x00wiu\x00wiv\x00wja" +
+ "\x00wji\x00wls\x00wmo\x00wnc\x00wni\x00wnu\x00woolwob\x00wos\x00wrs\x00w" +
+ "sk\x00wtm\x00wuu\x00wuv\x00wwa\x00xav\x00xbi\x00xcr\x00xes\x00xhhoxla" +
+ "\x00xlc\x00xld\x00xmf\x00xmn\x00xmr\x00xna\x00xnr\x00xog\x00xon\x00xpr" +
+ "\x00xrb\x00xsa\x00xsi\x00xsm\x00xsr\x00xwe\x00yam\x00yao\x00yap\x00yas" +
+ "\x00yat\x00yav\x00yay\x00yaz\x00yba\x00ybb\x00yby\x00yer\x00ygr\x00ygw" +
+ "\x00yiidyko\x00yle\x00ylg\x00yll\x00yml\x00yooryon\x00yrb\x00yre\x00yrl" +
+ "\x00yss\x00yua\x00yue\x00yuj\x00yut\x00yuw\x00zahazag\x00zbl\x00zdj\x00z" +
+ "ea\x00zgh\x00zhhozia\x00zlm\x00zmi\x00zne\x00zuulzxx\x00zza\x00\xff\xff" +
+ "\xff\xff"
-const langNoIndexOffset = 1319
+const langNoIndexOffset = 1327
// langNoIndex is a bit vector of all 3-letter language codes that are not used as an index
// in lookup tables. The language ids for these language codes are derived directly
@@ -258,7 +259,7 @@ const langNoIndexOffset = 1319
// Size: 2197 bytes, 2197 elements
var langNoIndex = [2197]uint8{
// Entry 0 - 3F
- 0xff, 0xf8, 0xed, 0xfe, 0xeb, 0xd7, 0x3b, 0xd2,
+ 0xff, 0xf8, 0xed, 0xfe, 0xeb, 0xd3, 0x3b, 0xd2,
0xfb, 0xbf, 0x7a, 0xfa, 0x37, 0x1d, 0x3c, 0x57,
0x6e, 0x97, 0x73, 0x38, 0xfb, 0xea, 0xbf, 0x70,
0xad, 0x03, 0xff, 0xff, 0xcf, 0x05, 0x84, 0x62,
@@ -273,7 +274,7 @@ var langNoIndex = [2197]uint8{
0x7c, 0x5f, 0xff, 0x5f, 0x8e, 0x6e, 0xdf, 0xff,
0xff, 0xff, 0x55, 0x7c, 0xd3, 0xfd, 0xbf, 0xb5,
0x7b, 0xdf, 0x7f, 0xf7, 0xca, 0xfe, 0xdb, 0xa3,
- 0xa8, 0xff, 0x1f, 0x67, 0x7f, 0xeb, 0xef, 0xce,
+ 0xa8, 0xff, 0x1f, 0x67, 0x7d, 0xeb, 0xef, 0xce,
0xff, 0xff, 0x9f, 0xff, 0xb7, 0xef, 0xfe, 0xcf,
// Entry 80 - BF
0xdb, 0xff, 0xf3, 0xcd, 0xfb, 0x2f, 0xff, 0xff,
@@ -289,7 +290,7 @@ var langNoIndex = [2197]uint8{
0x1b, 0x14, 0x08, 0xf2, 0x2b, 0xe7, 0x17, 0x56,
0x45, 0x7d, 0x0e, 0x1c, 0x37, 0x71, 0xf3, 0xef,
0x97, 0xff, 0x5d, 0x38, 0x64, 0x08, 0x00, 0x10,
- 0xbc, 0x87, 0xaf, 0xdf, 0xff, 0xf7, 0x73, 0x35,
+ 0xbc, 0x85, 0xaf, 0xdf, 0xff, 0xf7, 0x73, 0x35,
0x3e, 0x87, 0xc7, 0xdf, 0xff, 0x00, 0x81, 0x00,
0xb0, 0x05, 0x80, 0x00, 0x00, 0x00, 0x00, 0x03,
0x40, 0x00, 0x40, 0x92, 0x21, 0x50, 0xb1, 0x5d,
@@ -309,7 +310,7 @@ var langNoIndex = [2197]uint8{
0x00, 0x00, 0x60, 0x10, 0x00, 0x00, 0x00, 0x10,
0x00, 0x00, 0x44, 0x00, 0x00, 0x10, 0x00, 0x04,
0x08, 0x00, 0x00, 0x04, 0x00, 0x80, 0x28, 0x04,
- 0x00, 0x00, 0x50, 0xd5, 0x2d, 0x00, 0x64, 0x35,
+ 0x00, 0x00, 0x40, 0xd5, 0x2d, 0x00, 0x64, 0x35,
0x24, 0x52, 0xf4, 0xd4, 0xbd, 0x62, 0xc9, 0x03,
// Entry 180 - 1BF
0x00, 0x80, 0x00, 0x40, 0x00, 0x00, 0x00, 0x00,
@@ -336,7 +337,7 @@ var langNoIndex = [2197]uint8{
0x03, 0x44, 0x08, 0x10, 0x01, 0x04, 0x01, 0xe3,
0x92, 0x54, 0xdb, 0x28, 0xd1, 0x5f, 0xf6, 0x6d,
0x79, 0xed, 0x1c, 0x7d, 0x04, 0x08, 0x00, 0x01,
- 0x21, 0x12, 0x6c, 0x5f, 0xdd, 0x0e, 0x85, 0x4f,
+ 0x21, 0x12, 0x64, 0x5f, 0xdd, 0x0e, 0x85, 0x4f,
0x40, 0x40, 0x00, 0x04, 0xf1, 0xfd, 0x3d, 0x54,
// Entry 240 - 27F
0xe8, 0x03, 0xb4, 0x27, 0x23, 0x0d, 0x00, 0x00,
@@ -354,7 +355,7 @@ var langNoIndex = [2197]uint8{
0x40, 0x00, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00,
0x08, 0x00, 0x00, 0x00, 0x00, 0x81, 0x00, 0x60,
0xe5, 0x48, 0x00, 0x81, 0x20, 0xc0, 0x05, 0x80,
- 0x03, 0x00, 0x00, 0x00, 0xcc, 0x50, 0x40, 0x04,
+ 0x03, 0x00, 0x00, 0x00, 0x8c, 0x50, 0x40, 0x04,
0x84, 0x47, 0x84, 0x40, 0x20, 0x10, 0x00, 0x20,
// Entry 2C0 - 2FF
0x02, 0x50, 0x80, 0x11, 0x00, 0x91, 0x6c, 0xe2,
@@ -381,7 +382,7 @@ var langNoIndex = [2197]uint8{
0xfd, 0xfc, 0xfe, 0xdf, 0xff, 0xfd, 0xff, 0xf6,
0xfb, 0xfc, 0xf7, 0x1f, 0xff, 0xb3, 0x6c, 0xff,
0xd9, 0xad, 0xdf, 0xfe, 0xef, 0xba, 0xdf, 0xff,
- 0xff, 0xff, 0xb7, 0xdd, 0x7d, 0xbf, 0xab, 0xff,
+ 0xff, 0xff, 0xb7, 0xdd, 0x7d, 0xbf, 0xab, 0x7f,
0xfd, 0xfd, 0xdf, 0x2f, 0x9c, 0xdf, 0xf3, 0x6f,
// Entry 380 - 3BF
0xdf, 0xdd, 0xff, 0xfb, 0xee, 0xd2, 0xab, 0x5f,
@@ -471,7 +472,7 @@ var langNoIndex = [2197]uint8{
0x19, 0x00, 0x10, 0x02, 0x10, 0x61, 0x5a, 0x9d,
0x31, 0x00, 0x00, 0x00, 0x01, 0x10, 0x02, 0x20,
0x00, 0x00, 0x01, 0x00, 0x42, 0x00, 0x20, 0x00,
- 0x00, 0x1f, 0xdf, 0xf2, 0xb9, 0xff, 0xfd, 0x3f,
+ 0x00, 0x1f, 0xdf, 0xd2, 0xb9, 0xff, 0xfd, 0x3f,
0x1f, 0x18, 0xcf, 0x9c, 0xbf, 0xaf, 0x5f, 0xfe,
// Entry 600 - 63F
0x7b, 0x4b, 0x40, 0x10, 0xe1, 0xfd, 0xaf, 0xd9,
@@ -572,178 +573,178 @@ var langNoIndex = [2197]uint8{
// altLangISO3 holds an alphabetically sorted list of 3-letter language code alternatives
// to 2-letter language codes that cannot be derived using the method described above.
// Each 3-letter code is followed by its 1-byte langID.
-var altLangISO3 tag.Index = "---\x00cor\x00hbs\x01heb\x02kin\x03spa\x04yid\x05\xff\xff\xff\xff"
+const altLangISO3 tag.Index = "---\x00cor\x00hbs\x01heb\x02kin\x03spa\x04yid\x05\xff\xff\xff\xff"
// altLangIndex is used to convert indexes in altLangISO3 to langIDs.
// Size: 12 bytes, 6 elements
var altLangIndex = [6]uint16{
- 0x0278, 0x03fd, 0x01f3, 0x03dc, 0x0139, 0x0200,
+ 0x027f, 0x0405, 0x01f9, 0x03e3, 0x013d, 0x0206,
}
// langAliasMap maps langIDs to their suggested replacements.
// Size: 644 bytes, 161 elements
var langAliasMap = [161]fromTo{
- 0: {from: 0x81, to: 0x87},
- 1: {from: 0x181, to: 0x1a7},
- 2: {from: 0x1eb, to: 0x1da},
- 3: {from: 0x1f3, to: 0x1b5},
- 4: {from: 0x200, to: 0x508},
- 5: {from: 0x207, to: 0x206},
- 6: {from: 0x307, to: 0x3d3},
- 7: {from: 0x33e, to: 0x366},
- 8: {from: 0x3fd, to: 0x428},
- 9: {from: 0x470, to: 0x14e},
- 10: {from: 0x486, to: 0x447},
- 11: {from: 0x498, to: 0x20},
- 12: {from: 0x533, to: 0x539},
- 13: {from: 0x584, to: 0x129},
- 14: {from: 0x625, to: 0x1ea6},
- 15: {from: 0x646, to: 0x427},
- 16: {from: 0x657, to: 0x427},
- 17: {from: 0x6e2, to: 0x39},
- 18: {from: 0x6ed, to: 0x1d0},
- 19: {from: 0x733, to: 0x2196},
- 20: {from: 0x7a8, to: 0x55},
- 21: {from: 0x7ae, to: 0x2990},
- 22: {from: 0x7ba, to: 0x57},
- 23: {from: 0x7db, to: 0x140},
- 24: {from: 0x801, to: 0x59},
- 25: {from: 0x80a, to: 0x8c},
- 26: {from: 0x873, to: 0x805},
- 27: {from: 0x8b8, to: 0xed8},
- 28: {from: 0x9e4, to: 0x328},
- 29: {from: 0xa2b, to: 0x2bc},
- 30: {from: 0xa32, to: 0xbd},
- 31: {from: 0xab3, to: 0x3317},
- 32: {from: 0xb2d, to: 0x51f},
- 33: {from: 0xb6a, to: 0x264f},
- 34: {from: 0xb73, to: 0xbb8},
- 35: {from: 0xb90, to: 0x444},
- 36: {from: 0xbb1, to: 0x421e},
- 37: {from: 0xbb4, to: 0x51f},
- 38: {from: 0xbf3, to: 0x2d9c},
- 39: {from: 0xc23, to: 0x3176},
- 40: {from: 0xcae, to: 0xf0},
- 41: {from: 0xcfd, to: 0xf6},
- 42: {from: 0xdbd, to: 0x116},
- 43: {from: 0xdcc, to: 0x324},
- 44: {from: 0xded, to: 0xdf0},
- 45: {from: 0xdf3, to: 0x526},
- 46: {from: 0xed4, to: 0x204f},
- 47: {from: 0xee3, to: 0x2e8f},
- 48: {from: 0xf2e, to: 0x35e},
- 49: {from: 0x10c5, to: 0x13b},
- 50: {from: 0x10f9, to: 0x2c7},
- 51: {from: 0x1195, to: 0x1e4},
- 52: {from: 0x126e, to: 0x20},
- 53: {from: 0x1419, to: 0x159},
- 54: {from: 0x1465, to: 0x149},
- 55: {from: 0x1514, to: 0xd90},
- 56: {from: 0x1518, to: 0x387},
- 57: {from: 0x1527, to: 0x16ba},
- 58: {from: 0x1575, to: 0x208},
- 59: {from: 0x1578, to: 0x109},
- 60: {from: 0x1598, to: 0x3ca4},
- 61: {from: 0x165f, to: 0x195},
- 62: {from: 0x16bd, to: 0x131},
- 63: {from: 0x16f5, to: 0x29ed},
- 64: {from: 0x170d, to: 0x18e},
- 65: {from: 0x171c, to: 0xf34},
- 66: {from: 0x176f, to: 0x1519},
- 67: {from: 0x17fe, to: 0x17ab},
- 68: {from: 0x180b, to: 0x18e8},
- 69: {from: 0x187f, to: 0x42c},
- 70: {from: 0x196e, to: 0x1cf6},
- 71: {from: 0x1a69, to: 0x2ba5},
- 72: {from: 0x1a7f, to: 0x1f0},
- 73: {from: 0x1b4f, to: 0x1f2},
- 74: {from: 0x1b7b, to: 0x150a},
- 75: {from: 0x202d, to: 0x37a6},
- 76: {from: 0x2032, to: 0x20d2},
- 77: {from: 0x204f, to: 0x302},
- 78: {from: 0x20d8, to: 0x26b},
- 79: {from: 0x20e3, to: 0x25a},
- 80: {from: 0x20e7, to: 0x225},
- 81: {from: 0x20ee, to: 0x24d},
- 82: {from: 0x2104, to: 0x21e0},
- 83: {from: 0x212a, to: 0x274},
- 84: {from: 0x218e, to: 0x11d},
- 85: {from: 0x21c3, to: 0x1556},
- 86: {from: 0x21db, to: 0x4fa},
- 87: {from: 0x21e9, to: 0x495},
- 88: {from: 0x2222, to: 0x11d},
- 89: {from: 0x222c, to: 0x11d},
- 90: {from: 0x2257, to: 0x91f},
- 91: {from: 0x230b, to: 0x321b},
- 92: {from: 0x2377, to: 0x335a},
- 93: {from: 0x2467, to: 0x2be},
- 94: {from: 0x24d9, to: 0x2f6},
- 95: {from: 0x24e5, to: 0x2f1},
- 96: {from: 0x24ef, to: 0x316},
- 97: {from: 0x2545, to: 0xb50},
- 98: {from: 0x259e, to: 0xe0},
- 99: {from: 0x2633, to: 0x2c7},
- 100: {from: 0x26be, to: 0x26a9},
- 101: {from: 0x26ee, to: 0x3bf},
- 102: {from: 0x271c, to: 0x3ca4},
- 103: {from: 0x275a, to: 0x26a9},
- 104: {from: 0x277e, to: 0x434d},
- 105: {from: 0x28e4, to: 0x282c},
- 106: {from: 0x2909, to: 0x348},
- 107: {from: 0x297b, to: 0x2d9c},
- 108: {from: 0x2b0f, to: 0x384},
- 109: {from: 0x2bf1, to: 0x38c},
- 110: {from: 0x2c34, to: 0x3ca4},
- 111: {from: 0x2cf1, to: 0x3b5},
- 112: {from: 0x2d08, to: 0x58c},
- 113: {from: 0x2d3c, to: 0x143},
- 114: {from: 0x2d3d, to: 0x143},
- 115: {from: 0x2df4, to: 0x2e8},
- 116: {from: 0x2dfd, to: 0x19c1},
- 117: {from: 0x2e0f, to: 0x2d8a},
- 118: {from: 0x2e16, to: 0x289},
- 119: {from: 0x2e49, to: 0x7c},
- 120: {from: 0x2e5a, to: 0x2277},
- 121: {from: 0x2e95, to: 0x2e90},
- 122: {from: 0x2ee4, to: 0x2ecc},
- 123: {from: 0x3188, to: 0x3bb},
- 124: {from: 0x335b, to: 0x3383},
- 125: {from: 0x341f, to: 0x3d3},
- 126: {from: 0x34e3, to: 0x18c5},
- 127: {from: 0x35db, to: 0x408},
- 128: {from: 0x364d, to: 0x23e},
- 129: {from: 0x366b, to: 0x3ea},
- 130: {from: 0x36f2, to: 0x43b},
- 131: {from: 0x37b5, to: 0x11d},
- 132: {from: 0x380b, to: 0x38e7},
- 133: {from: 0x3820, to: 0x2c90},
- 134: {from: 0x3824, to: 0xa7},
- 135: {from: 0x3827, to: 0x321d},
- 136: {from: 0x3861, to: 0x399b},
- 137: {from: 0x3887, to: 0x3fb5},
- 138: {from: 0x389a, to: 0x39cc},
- 139: {from: 0x38a9, to: 0x1f99},
- 140: {from: 0x38aa, to: 0x2e8f},
- 141: {from: 0x3951, to: 0x474},
- 142: {from: 0x3b43, to: 0xd86},
- 143: {from: 0x3b6d, to: 0x132},
- 144: {from: 0x3c8e, to: 0x4b2},
- 145: {from: 0x3fb2, to: 0xfc},
- 146: {from: 0x41fd, to: 0xa86},
- 147: {from: 0x42b3, to: 0x568},
- 148: {from: 0x42ee, to: 0x3f55},
- 149: {from: 0x436d, to: 0x251},
- 150: {from: 0x43c0, to: 0x36c0},
- 151: {from: 0x43c2, to: 0x10b},
- 152: {from: 0x44a4, to: 0x3317},
- 153: {from: 0x44d8, to: 0x508},
- 154: {from: 0x45bf, to: 0x23fe},
- 155: {from: 0x45d2, to: 0x26d1},
- 156: {from: 0x4605, to: 0x48a3},
- 157: {from: 0x46a3, to: 0x4695},
- 158: {from: 0x4733, to: 0x473a},
- 159: {from: 0x490b, to: 0x316},
- 160: {from: 0x499c, to: 0x519},
+ 0: {from: 0x82, to: 0x88},
+ 1: {from: 0x185, to: 0x1ac},
+ 2: {from: 0x1f1, to: 0x1df},
+ 3: {from: 0x1f9, to: 0x1ba},
+ 4: {from: 0x206, to: 0x510},
+ 5: {from: 0x20d, to: 0x20c},
+ 6: {from: 0x30e, to: 0x3da},
+ 7: {from: 0x345, to: 0x36d},
+ 8: {from: 0x405, to: 0x430},
+ 9: {from: 0x478, to: 0x152},
+ 10: {from: 0x48e, to: 0x44f},
+ 11: {from: 0x4a0, to: 0x21},
+ 12: {from: 0x53b, to: 0x541},
+ 13: {from: 0x58c, to: 0x12c},
+ 14: {from: 0x62d, to: 0x1eae},
+ 15: {from: 0x64e, to: 0x42f},
+ 16: {from: 0x65f, to: 0x42f},
+ 17: {from: 0x6ea, to: 0x3a},
+ 18: {from: 0x6f5, to: 0x1d5},
+ 19: {from: 0x73b, to: 0x219e},
+ 20: {from: 0x7b0, to: 0x56},
+ 21: {from: 0x7b6, to: 0x2998},
+ 22: {from: 0x7c2, to: 0x58},
+ 23: {from: 0x7e3, to: 0x144},
+ 24: {from: 0x809, to: 0x5a},
+ 25: {from: 0x812, to: 0x8d},
+ 26: {from: 0x87b, to: 0x80d},
+ 27: {from: 0x8c0, to: 0xee0},
+ 28: {from: 0x9ec, to: 0x32f},
+ 29: {from: 0xa33, to: 0x2c3},
+ 30: {from: 0xa3a, to: 0xbf},
+ 31: {from: 0xabb, to: 0x331f},
+ 32: {from: 0xb35, to: 0x527},
+ 33: {from: 0xb72, to: 0x2657},
+ 34: {from: 0xb7b, to: 0xbc0},
+ 35: {from: 0xb98, to: 0x44c},
+ 36: {from: 0xbb9, to: 0x4226},
+ 37: {from: 0xbbc, to: 0x527},
+ 38: {from: 0xbfb, to: 0x2da4},
+ 39: {from: 0xc2b, to: 0x317e},
+ 40: {from: 0xcb6, to: 0xf2},
+ 41: {from: 0xd05, to: 0xf9},
+ 42: {from: 0xdc5, to: 0x119},
+ 43: {from: 0xdd4, to: 0x32b},
+ 44: {from: 0xdf5, to: 0xdf8},
+ 45: {from: 0xdfb, to: 0x52e},
+ 46: {from: 0xedc, to: 0x2057},
+ 47: {from: 0xeeb, to: 0x2e97},
+ 48: {from: 0xf36, to: 0x365},
+ 49: {from: 0x10cd, to: 0x13f},
+ 50: {from: 0x1101, to: 0x2ce},
+ 51: {from: 0x119d, to: 0x1ea},
+ 52: {from: 0x1276, to: 0x21},
+ 53: {from: 0x1421, to: 0x15d},
+ 54: {from: 0x146d, to: 0x14d},
+ 55: {from: 0x151c, to: 0xd98},
+ 56: {from: 0x1520, to: 0x38e},
+ 57: {from: 0x152f, to: 0x19d},
+ 58: {from: 0x157d, to: 0x20e},
+ 59: {from: 0x1580, to: 0x10c},
+ 60: {from: 0x15a0, to: 0x3cac},
+ 61: {from: 0x1667, to: 0x199},
+ 62: {from: 0x16c5, to: 0x135},
+ 63: {from: 0x16fd, to: 0x29f5},
+ 64: {from: 0x1715, to: 0x192},
+ 65: {from: 0x1724, to: 0xf3c},
+ 66: {from: 0x1777, to: 0x1521},
+ 67: {from: 0x1806, to: 0x17b3},
+ 68: {from: 0x1813, to: 0x18f0},
+ 69: {from: 0x1887, to: 0x434},
+ 70: {from: 0x1976, to: 0x1cfe},
+ 71: {from: 0x1a71, to: 0x2bad},
+ 72: {from: 0x1a87, to: 0x1f6},
+ 73: {from: 0x1b57, to: 0x1f8},
+ 74: {from: 0x1b83, to: 0x1512},
+ 75: {from: 0x2035, to: 0x37ae},
+ 76: {from: 0x203a, to: 0x20da},
+ 77: {from: 0x2057, to: 0x309},
+ 78: {from: 0x20e0, to: 0x272},
+ 79: {from: 0x20eb, to: 0x261},
+ 80: {from: 0x20ef, to: 0x22b},
+ 81: {from: 0x20f6, to: 0x254},
+ 82: {from: 0x210c, to: 0x21e8},
+ 83: {from: 0x2132, to: 0x27b},
+ 84: {from: 0x2196, to: 0x120},
+ 85: {from: 0x21cb, to: 0x155e},
+ 86: {from: 0x21e3, to: 0x502},
+ 87: {from: 0x21f1, to: 0x49d},
+ 88: {from: 0x222a, to: 0x120},
+ 89: {from: 0x2234, to: 0x120},
+ 90: {from: 0x225f, to: 0x927},
+ 91: {from: 0x2313, to: 0x3223},
+ 92: {from: 0x237f, to: 0x3362},
+ 93: {from: 0x246f, to: 0x2c5},
+ 94: {from: 0x24e1, to: 0x2fd},
+ 95: {from: 0x24ed, to: 0x2f8},
+ 96: {from: 0x24f7, to: 0x31d},
+ 97: {from: 0x254d, to: 0xb58},
+ 98: {from: 0x25a6, to: 0xe2},
+ 99: {from: 0x263b, to: 0x2ce},
+ 100: {from: 0x26c6, to: 0x26b1},
+ 101: {from: 0x26f6, to: 0x3c6},
+ 102: {from: 0x2724, to: 0x3cac},
+ 103: {from: 0x2762, to: 0x26b1},
+ 104: {from: 0x2786, to: 0x4355},
+ 105: {from: 0x28ec, to: 0x2834},
+ 106: {from: 0x2911, to: 0x34f},
+ 107: {from: 0x2983, to: 0x2da4},
+ 108: {from: 0x2b17, to: 0x38b},
+ 109: {from: 0x2bf9, to: 0x393},
+ 110: {from: 0x2c3c, to: 0x3cac},
+ 111: {from: 0x2cf9, to: 0x3bc},
+ 112: {from: 0x2d10, to: 0x594},
+ 113: {from: 0x2d44, to: 0x147},
+ 114: {from: 0x2d45, to: 0x147},
+ 115: {from: 0x2dfc, to: 0x2ef},
+ 116: {from: 0x2e05, to: 0x19c9},
+ 117: {from: 0x2e17, to: 0x2d92},
+ 118: {from: 0x2e1e, to: 0x290},
+ 119: {from: 0x2e51, to: 0x7d},
+ 120: {from: 0x2e62, to: 0x227f},
+ 121: {from: 0x2e9d, to: 0x2e98},
+ 122: {from: 0x2eec, to: 0x2ed4},
+ 123: {from: 0x3190, to: 0x3c2},
+ 124: {from: 0x3363, to: 0x338b},
+ 125: {from: 0x3427, to: 0x3da},
+ 126: {from: 0x34eb, to: 0x18cd},
+ 127: {from: 0x35e3, to: 0x410},
+ 128: {from: 0x3655, to: 0x244},
+ 129: {from: 0x3673, to: 0x3f2},
+ 130: {from: 0x36fa, to: 0x443},
+ 131: {from: 0x37bd, to: 0x120},
+ 132: {from: 0x3813, to: 0x38ef},
+ 133: {from: 0x3828, to: 0x2c98},
+ 134: {from: 0x382c, to: 0xa9},
+ 135: {from: 0x382f, to: 0x3225},
+ 136: {from: 0x3869, to: 0x39a3},
+ 137: {from: 0x388f, to: 0x3fbd},
+ 138: {from: 0x38a2, to: 0x39d4},
+ 139: {from: 0x38b1, to: 0x1fa1},
+ 140: {from: 0x38b2, to: 0x2e97},
+ 141: {from: 0x3959, to: 0x47c},
+ 142: {from: 0x3b4b, to: 0xd8e},
+ 143: {from: 0x3b75, to: 0x136},
+ 144: {from: 0x3c96, to: 0x4ba},
+ 145: {from: 0x3fba, to: 0xff},
+ 146: {from: 0x4205, to: 0xa8e},
+ 147: {from: 0x42bb, to: 0x570},
+ 148: {from: 0x42f6, to: 0x3f5d},
+ 149: {from: 0x4375, to: 0x258},
+ 150: {from: 0x43c8, to: 0x36c8},
+ 151: {from: 0x43ca, to: 0x10e},
+ 152: {from: 0x44ac, to: 0x331f},
+ 153: {from: 0x44e0, to: 0x510},
+ 154: {from: 0x45c7, to: 0x2406},
+ 155: {from: 0x45da, to: 0x26d9},
+ 156: {from: 0x460d, to: 0x48ab},
+ 157: {from: 0x46ab, to: 0x469d},
+ 158: {from: 0x473b, to: 0x4742},
+ 159: {from: 0x4913, to: 0x31d},
+ 160: {from: 0x49a4, to: 0x521},
}
// Size: 161 bytes, 161 elements
@@ -779,7 +780,7 @@ const (
// script is an alphabetically sorted list of ISO 15924 codes. The index
// of the script in the string, divided by 4, is the internal scriptID.
-var script tag.Index = "" + // Size: 928 bytes
+const script tag.Index = "" + // Size: 928 bytes
"----AdlmAfakAghbAhomArabAranArmiArmnAvstBaliBamuBassBatkBengBhksBlisBopo" +
"BrahBraiBugiBuhdCakmCansCariChamCherCirtCoptCprtCyrlCyrsDevaDsrtDuplEgyd" +
"EgyhEgypElbaEthiGeokGeorGlagGothGranGrekGujrGuruHanbHangHaniHanoHansHant" +
@@ -797,153 +798,154 @@ var script tag.Index = "" + // Size: 928 bytes
// suppressScript is an index from langID to the dominant script for that language,
// if it exists. If a script is given, it should be suppressed from the language tag.
-// Size: 1319 bytes, 1319 elements
-var suppressScript = [1319]uint8{
+// Size: 1327 bytes, 1327 elements
+var suppressScript = [1327]uint8{
// Entry 0 - 3F
0x00, 0x00, 0x00, 0x00, 0x00, 0x1e, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x52, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x52, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x27, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x27,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x05, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x00, 0x00,
// Entry 40 - 7F
- 0x00, 0x00, 0x0e, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x0e, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x52, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x52, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x1e, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x1e, 0x00, 0x00,
+ 0x00, 0x1e, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1e, 0x00,
// Entry 80 - BF
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x0e, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x0e, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x52, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x52,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
// Entry C0 - FF
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x52, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x52, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x52,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x52, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x52, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x52, 0x52, 0x00, 0x00,
- // Entry 100 - 13F
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x52, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x52, 0x00, 0x00, 0x00, 0x00, 0x00, 0x52,
+ // Entry 100 - 13F
+ 0x52, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x52, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x52, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0xd4, 0x00, 0x00, 0x00,
- 0x00, 0xd6, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x2d, 0x00, 0x00, 0x52, 0x00, 0x00, 0x52,
- 0x00, 0x52, 0x00, 0x52, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x52, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xd4,
+ 0x00, 0x00, 0x00, 0x00, 0xd6, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x2d, 0x00, 0x00,
+ 0x52, 0x00, 0x00, 0x52, 0x00, 0x52, 0x00, 0x52,
// Entry 140 - 17F
- 0x52, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x52, 0x00, 0x00, 0x00,
- 0x52, 0x00, 0x00, 0x52, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x52, 0x00, 0x00, 0x52, 0x52, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x52, 0x00, 0x00, 0x05,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x52, 0x00, 0x00, 0x00, 0x52, 0x00, 0x00, 0x52,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x52, 0x00, 0x00,
0x52, 0x52, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x52, 0x52, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
// Entry 180 - 1BF
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x52, 0x00, 0x00, 0x00, 0x52, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x52, 0x2e, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x52, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x52, 0x00,
+ 0x00, 0x00, 0x52, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x37, 0x00, 0x20,
+ 0x00, 0x52, 0x2e, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x52, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x37, 0x00, 0x20, 0x00, 0x00, 0x00,
// Entry 1C0 - 1FF
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x52, 0x52, 0x00, 0x52, 0x52, 0x00,
- 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x52, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x52,
+ 0x52, 0x00, 0x52, 0x52, 0x00, 0x08, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x52,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x52, 0x00, 0x00, 0x00, 0x00,
- 0x52, 0x52, 0x00, 0x37, 0x00, 0x00, 0x00, 0x00,
- 0x41, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x52, 0x00, 0x00, 0x00, 0x00, 0x52, 0x52,
+ 0x00, 0x37, 0x00, 0x00, 0x00, 0x00, 0x41, 0x00,
// Entry 200 - 23F
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x29, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x29, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x1e, 0x00, 0x00, 0x52, 0x00, 0x00,
- // Entry 240 - 27F
- 0x00, 0x00, 0x46, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x4a, 0x00, 0x4b, 0x00, 0x20, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ // Entry 240 - 27F
+ 0x1e, 0x00, 0x00, 0x52, 0x00, 0x00, 0x00, 0x00,
+ 0x46, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x4a,
+ 0x00, 0x00, 0x4b, 0x00, 0x20, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
// Entry 280 - 2BF
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x52, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x52, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x52, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x52, 0x00, 0x00, 0x4f,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x52,
+ 0x00, 0x00, 0x00, 0x52, 0x00, 0x00, 0x4f, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x52, 0x00,
// Entry 2C0 - 2FF
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x52, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x52, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x52,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x52, 0x00, 0x00, 0x00, 0x00, 0x00, 0x52, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1e, 0x00,
- 0x00, 0x00, 0x00, 0x64, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x52, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x1e, 0x00, 0x00,
// Entry 300 - 33F
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x52,
+ 0x00, 0x00, 0x64, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x52, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x52, 0x52,
+ 0x00, 0x20, 0x00, 0x00, 0x00, 0x52, 0x52, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x6b,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x6b, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x52, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x52, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x52, 0x00, 0x00, 0x00,
// Entry 340 - 37F
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x52, 0x00, 0x52,
- 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x52, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x52, 0x00, 0x52, 0x20,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x52, 0x00, 0x00, 0x00, 0x00, 0x00, 0x52, 0x00,
- 0x00, 0x52, 0x00, 0x00, 0x00, 0x00, 0x52, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x70, 0x52, 0x00, 0x00,
- 0x00, 0x52, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x52, 0x00,
- // Entry 380 - 3BF
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x52,
- 0x00, 0x00, 0x00, 0x00, 0x75, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x2f, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x52, 0x00, 0x00,
+ 0x52, 0x00, 0x00, 0x00, 0x00, 0x52, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x70, 0x52, 0x00, 0x00, 0x00,
+ 0x52, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ // Entry 380 - 3BF
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x52, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x52, 0x00,
+ 0x00, 0x00, 0x00, 0x75, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x2f, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x52, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x05, 0x00, 0x52,
- 0x00, 0x00, 0x00, 0x52, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x52, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x05, 0x00, 0x52, 0x00,
// Entry 3C0 - 3FF
+ 0x00, 0x00, 0x52, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x52, 0x00, 0x00, 0x00, 0x00,
- 0x52, 0x00, 0x00, 0x52, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x1e, 0x00, 0x00, 0x52, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x52, 0x00, 0x00, 0x00, 0x00, 0x52,
+ 0x00, 0x00, 0x52, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x1e, 0x00, 0x00, 0x52, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x52, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
// Entry 400 - 43F
+ 0x52, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0xc1, 0x00, 0x00, 0x00, 0x00, 0x00,
0x52, 0x00, 0x00, 0x00, 0x52, 0x00, 0x00, 0x00,
0x00, 0x52, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
@@ -951,8 +953,8 @@ var suppressScript = [1319]uint8{
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x52,
0x00, 0x00, 0x00, 0x00, 0x00, 0x52, 0x00, 0x00,
0x00, 0x52, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x52, 0x52, 0x00, 0x00, 0x00, 0x00,
// Entry 440 - 47F
+ 0x00, 0x00, 0x52, 0x52, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xcd, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xd0,
@@ -960,17 +962,17 @@ var suppressScript = [1319]uint8{
0x00, 0xd5, 0x00, 0x00, 0x00, 0x27, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x52, 0x00, 0x00,
0x52, 0x00, 0x00, 0x00, 0x52, 0x00, 0x52, 0x00,
- 0x52, 0x00, 0x00, 0x00, 0x52, 0x00, 0x00, 0x00,
// Entry 480 - 4BF
0x52, 0x00, 0x00, 0x00, 0x52, 0x00, 0x00, 0x00,
+ 0x52, 0x00, 0x00, 0x00, 0x52, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x52, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x1e, 0x00, 0x00, 0x00,
0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x52, 0x00,
- 0x00, 0x52, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
// Entry 4C0 - 4FF
+ 0x00, 0x52, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
@@ -978,9 +980,9 @@ var suppressScript = [1319]uint8{
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x52, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
// Entry 500 - 53F
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x37, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00,
@@ -1070,7 +1072,7 @@ var regionTypes = [357]uint8{
// - [A-Z}{2}: the first letter of the 2-letter code plus these two
// letters form the 3-letter ISO code.
// - 0, n: index into altRegionISO3.
-var regionISO tag.Index = "" + // Size: 1308 bytes
+const regionISO tag.Index = "" + // Size: 1308 bytes
"AAAAACSCADNDAEREAFFGAGTGAIIAALLBAMRMANNTAOGOAQTAARRGASSMATUTAUUSAWBWAXLA" +
"AZZEBAIHBBRBBDGDBEELBFFABGGRBHHRBIDIBJENBLLMBMMUBNRNBOOLBQESBRRABSHSBTTN" +
"BUURBVVTBWWABYLRBZLZCAANCCCKCDODCFAFCGOGCHHECIIVCKOKCLHLCMMRCNHNCOOLCPPT" +
@@ -1094,7 +1096,7 @@ var regionISO tag.Index = "" + // Size: 1308 bytes
// altRegionISO3 holds a list of 3-letter region codes that cannot be
// mapped to 2-letter codes using the default algorithm. This is a short list.
-var altRegionISO3 string = "SCGQUUSGSCOMPRKCYMSPMSRBATFMYTATN"
+const altRegionISO3 string = "SCGQUUSGSCOMPRKCYMSPMSRBATFMYTATN"
// altRegionIDs holds a list of regionIDs the positions of which match those
// of the 3-letter ISO codes in altRegionISO3.
@@ -1345,145 +1347,145 @@ type likelyLangRegion struct {
// languages and regions given a script.
// Size: 928 bytes, 232 elements
var likelyScript = [232]likelyLangRegion{
- 1: {lang: 0x149, region: 0x83},
- 3: {lang: 0x299, region: 0x105},
- 4: {lang: 0x1e, region: 0x98},
- 5: {lang: 0x39, region: 0x6a},
- 7: {lang: 0x3a, region: 0x9b},
- 8: {lang: 0x1d0, region: 0x27},
- 9: {lang: 0x12, region: 0x9b},
- 10: {lang: 0x5a, region: 0x94},
- 11: {lang: 0x5f, region: 0x51},
- 12: {lang: 0xb7, region: 0xb3},
- 13: {lang: 0x62, region: 0x94},
- 14: {lang: 0xa3, region: 0x34},
- 15: {lang: 0x3e0, region: 0x98},
- 17: {lang: 0x51f, region: 0x12d},
- 18: {lang: 0x3a8, region: 0x98},
- 19: {lang: 0x159, region: 0x77},
- 20: {lang: 0xc0, region: 0x94},
- 21: {lang: 0x9b, region: 0xe6},
- 22: {lang: 0xd9, region: 0x34},
- 23: {lang: 0xf0, region: 0x48},
- 24: {lang: 0x4e6, region: 0x12a},
- 25: {lang: 0xe5, region: 0x13d},
- 26: {lang: 0xe3, region: 0x134},
- 28: {lang: 0xee, region: 0x6a},
- 29: {lang: 0x199, region: 0x5c},
- 30: {lang: 0x3d9, region: 0x105},
- 32: {lang: 0x1b7, region: 0x98},
- 34: {lang: 0x159, region: 0x77},
- 37: {lang: 0x12f, region: 0x6a},
- 38: {lang: 0x427, region: 0x26},
- 39: {lang: 0x26, region: 0x6e},
- 41: {lang: 0x208, region: 0x7c},
- 42: {lang: 0xfa, region: 0x37},
- 43: {lang: 0x198, region: 0x12f},
- 44: {lang: 0x3e0, region: 0x98},
- 45: {lang: 0x131, region: 0x86},
- 46: {lang: 0x19d, region: 0x98},
- 47: {lang: 0x394, region: 0x98},
- 48: {lang: 0x51f, region: 0x12d},
- 49: {lang: 0x24b, region: 0xaa},
- 50: {lang: 0x51f, region: 0x52},
- 51: {lang: 0x1c4, region: 0xe6},
- 52: {lang: 0x51f, region: 0x52},
- 53: {lang: 0x51f, region: 0x12d},
- 54: {lang: 0x2f4, region: 0x9a},
- 55: {lang: 0x1b5, region: 0x96},
- 56: {lang: 0x1f8, region: 0xa1},
- 57: {lang: 0x1be, region: 0x12a},
- 58: {lang: 0x1c3, region: 0xae},
- 60: {lang: 0x1ce, region: 0x91},
- 62: {lang: 0x13d, region: 0x9d},
- 63: {lang: 0x24b, region: 0xaa},
- 64: {lang: 0x206, region: 0x94},
- 65: {lang: 0x1f8, region: 0xa1},
- 67: {lang: 0x130, region: 0xc3},
- 68: {lang: 0x1f8, region: 0xa1},
- 69: {lang: 0x3b2, region: 0xe7},
- 70: {lang: 0x242, region: 0xa5},
- 71: {lang: 0x3f0, region: 0x98},
- 74: {lang: 0x249, region: 0x98},
- 75: {lang: 0x24b, region: 0xaa},
- 77: {lang: 0x87, region: 0x98},
- 78: {lang: 0x367, region: 0x122},
- 79: {lang: 0x2af, region: 0xae},
- 84: {lang: 0x296, region: 0x98},
- 85: {lang: 0x29f, region: 0x98},
- 86: {lang: 0x286, region: 0x86},
- 87: {lang: 0x199, region: 0x86},
- 88: {lang: 0x2a3, region: 0x52},
- 90: {lang: 0x4ea, region: 0x12a},
- 91: {lang: 0x4eb, region: 0x12a},
- 92: {lang: 0x1b7, region: 0x98},
- 93: {lang: 0x32e, region: 0x9b},
- 94: {lang: 0x4ed, region: 0x52},
- 95: {lang: 0xa7, region: 0x52},
- 97: {lang: 0x2df, region: 0x111},
- 98: {lang: 0x4ee, region: 0x10a},
- 99: {lang: 0x4ee, region: 0x10a},
- 100: {lang: 0x2fb, region: 0x98},
- 101: {lang: 0x312, region: 0x98},
- 102: {lang: 0x302, region: 0x52},
- 104: {lang: 0x315, region: 0x34},
- 105: {lang: 0x305, region: 0x98},
- 106: {lang: 0x40a, region: 0xe7},
- 107: {lang: 0x328, region: 0xc3},
- 108: {lang: 0x4ef, region: 0x107},
- 109: {lang: 0x3a, region: 0xa0},
- 110: {lang: 0x34a, region: 0xda},
- 112: {lang: 0x2c7, region: 0x83},
- 114: {lang: 0x3f9, region: 0x95},
- 115: {lang: 0x3e5, region: 0x98},
- 116: {lang: 0x392, region: 0xc4},
- 117: {lang: 0x38c, region: 0x98},
- 118: {lang: 0x390, region: 0x134},
- 119: {lang: 0x41f, region: 0x114},
- 120: {lang: 0x3a, region: 0x11b},
- 121: {lang: 0xf9, region: 0xc3},
- 122: {lang: 0x274, region: 0x105},
- 123: {lang: 0x2c0, region: 0x52},
- 124: {lang: 0x396, region: 0x9b},
- 125: {lang: 0x396, region: 0x52},
- 127: {lang: 0x3a4, region: 0xaf},
- 129: {lang: 0x1bf, region: 0x52},
- 130: {lang: 0x4f3, region: 0x9b},
- 181: {lang: 0x3c2, region: 0x94},
- 183: {lang: 0x369, region: 0x10b},
- 184: {lang: 0x416, region: 0x96},
- 186: {lang: 0x4f5, region: 0x15d},
- 187: {lang: 0x3e6, region: 0x98},
- 188: {lang: 0x44, region: 0x134},
- 189: {lang: 0x134, region: 0x7a},
- 190: {lang: 0x3e0, region: 0x98},
- 191: {lang: 0x3e0, region: 0x98},
- 192: {lang: 0x3f0, region: 0x98},
- 193: {lang: 0x402, region: 0xb2},
- 194: {lang: 0x429, region: 0x98},
- 195: {lang: 0x434, region: 0x94},
- 196: {lang: 0x443, region: 0x34},
- 197: {lang: 0x444, region: 0x9a},
- 201: {lang: 0x450, region: 0xe6},
- 202: {lang: 0x116, region: 0x98},
- 203: {lang: 0x454, region: 0x52},
- 204: {lang: 0x22a, region: 0x52},
- 205: {lang: 0x446, region: 0x98},
- 206: {lang: 0x49b, region: 0x52},
- 207: {lang: 0x9d, region: 0x13d},
- 208: {lang: 0x457, region: 0x98},
- 210: {lang: 0x51e, region: 0xb9},
- 211: {lang: 0x14e, region: 0xe6},
- 212: {lang: 0x124, region: 0xcc},
- 213: {lang: 0x461, region: 0x122},
- 214: {lang: 0xa7, region: 0x52},
- 215: {lang: 0x2c5, region: 0x98},
- 216: {lang: 0x4a3, region: 0x11b},
- 217: {lang: 0x4b4, region: 0xb3},
- 219: {lang: 0x1c7, region: 0x98},
- 221: {lang: 0x3a0, region: 0x9b},
- 222: {lang: 0x21, region: 0x9a},
- 223: {lang: 0x1e2, region: 0x52},
+ 1: {lang: 0x14d, region: 0x83},
+ 3: {lang: 0x2a0, region: 0x105},
+ 4: {lang: 0x1f, region: 0x98},
+ 5: {lang: 0x3a, region: 0x6a},
+ 7: {lang: 0x3b, region: 0x9b},
+ 8: {lang: 0x1d5, region: 0x27},
+ 9: {lang: 0x13, region: 0x9b},
+ 10: {lang: 0x5b, region: 0x94},
+ 11: {lang: 0x60, region: 0x51},
+ 12: {lang: 0xb9, region: 0xb3},
+ 13: {lang: 0x63, region: 0x94},
+ 14: {lang: 0xa5, region: 0x34},
+ 15: {lang: 0x3e7, region: 0x98},
+ 17: {lang: 0x527, region: 0x12d},
+ 18: {lang: 0x3af, region: 0x98},
+ 19: {lang: 0x15d, region: 0x77},
+ 20: {lang: 0xc2, region: 0x94},
+ 21: {lang: 0x9d, region: 0xe6},
+ 22: {lang: 0xdb, region: 0x34},
+ 23: {lang: 0xf2, region: 0x48},
+ 24: {lang: 0x4ee, region: 0x12a},
+ 25: {lang: 0xe7, region: 0x13d},
+ 26: {lang: 0xe5, region: 0x134},
+ 28: {lang: 0xf0, region: 0x6a},
+ 29: {lang: 0x19e, region: 0x5c},
+ 30: {lang: 0x3e0, region: 0x105},
+ 32: {lang: 0x1bc, region: 0x98},
+ 34: {lang: 0x15d, region: 0x77},
+ 37: {lang: 0x132, region: 0x6a},
+ 38: {lang: 0x42f, region: 0x26},
+ 39: {lang: 0x27, region: 0x6e},
+ 41: {lang: 0x20e, region: 0x7c},
+ 42: {lang: 0xfd, region: 0x37},
+ 43: {lang: 0x19c, region: 0x12f},
+ 44: {lang: 0x3e7, region: 0x98},
+ 45: {lang: 0x135, region: 0x86},
+ 46: {lang: 0x1a2, region: 0x98},
+ 47: {lang: 0x39b, region: 0x98},
+ 48: {lang: 0x527, region: 0x12d},
+ 49: {lang: 0x252, region: 0xaa},
+ 50: {lang: 0x527, region: 0x52},
+ 51: {lang: 0x1c9, region: 0xe6},
+ 52: {lang: 0x527, region: 0x52},
+ 53: {lang: 0x527, region: 0x12d},
+ 54: {lang: 0x2fb, region: 0x9a},
+ 55: {lang: 0x1ba, region: 0x96},
+ 56: {lang: 0x1fe, region: 0xa1},
+ 57: {lang: 0x1c3, region: 0x12a},
+ 58: {lang: 0x1c8, region: 0xae},
+ 60: {lang: 0x1d3, region: 0x91},
+ 62: {lang: 0x141, region: 0x9d},
+ 63: {lang: 0x252, region: 0xaa},
+ 64: {lang: 0x20c, region: 0x94},
+ 65: {lang: 0x1fe, region: 0xa1},
+ 67: {lang: 0x134, region: 0xc3},
+ 68: {lang: 0x1fe, region: 0xa1},
+ 69: {lang: 0x3b9, region: 0xe7},
+ 70: {lang: 0x248, region: 0xa5},
+ 71: {lang: 0x3f8, region: 0x98},
+ 74: {lang: 0x24f, region: 0x98},
+ 75: {lang: 0x252, region: 0xaa},
+ 77: {lang: 0x88, region: 0x98},
+ 78: {lang: 0x36e, region: 0x122},
+ 79: {lang: 0x2b6, region: 0xae},
+ 84: {lang: 0x29d, region: 0x98},
+ 85: {lang: 0x2a6, region: 0x98},
+ 86: {lang: 0x28d, region: 0x86},
+ 87: {lang: 0x19e, region: 0x86},
+ 88: {lang: 0x2aa, region: 0x52},
+ 90: {lang: 0x4f2, region: 0x12a},
+ 91: {lang: 0x4f3, region: 0x12a},
+ 92: {lang: 0x1bc, region: 0x98},
+ 93: {lang: 0x335, region: 0x9b},
+ 94: {lang: 0x4f5, region: 0x52},
+ 95: {lang: 0xa9, region: 0x52},
+ 97: {lang: 0x2e6, region: 0x111},
+ 98: {lang: 0x4f6, region: 0x10a},
+ 99: {lang: 0x4f6, region: 0x10a},
+ 100: {lang: 0x302, region: 0x98},
+ 101: {lang: 0x319, region: 0x98},
+ 102: {lang: 0x309, region: 0x52},
+ 104: {lang: 0x31c, region: 0x34},
+ 105: {lang: 0x30c, region: 0x98},
+ 106: {lang: 0x412, region: 0xe7},
+ 107: {lang: 0x32f, region: 0xc3},
+ 108: {lang: 0x4f7, region: 0x107},
+ 109: {lang: 0x3b, region: 0xa0},
+ 110: {lang: 0x351, region: 0xda},
+ 112: {lang: 0x2ce, region: 0x83},
+ 114: {lang: 0x401, region: 0x95},
+ 115: {lang: 0x3ec, region: 0x98},
+ 116: {lang: 0x399, region: 0xc4},
+ 117: {lang: 0x393, region: 0x98},
+ 118: {lang: 0x397, region: 0x134},
+ 119: {lang: 0x427, region: 0x114},
+ 120: {lang: 0x3b, region: 0x11b},
+ 121: {lang: 0xfc, region: 0xc3},
+ 122: {lang: 0x27b, region: 0x105},
+ 123: {lang: 0x2c7, region: 0x52},
+ 124: {lang: 0x39d, region: 0x9b},
+ 125: {lang: 0x39d, region: 0x52},
+ 127: {lang: 0x3ab, region: 0xaf},
+ 129: {lang: 0x1c4, region: 0x52},
+ 130: {lang: 0x4fb, region: 0x9b},
+ 181: {lang: 0x3c9, region: 0x94},
+ 183: {lang: 0x370, region: 0x10b},
+ 184: {lang: 0x41e, region: 0x96},
+ 186: {lang: 0x4fd, region: 0x15d},
+ 187: {lang: 0x3ee, region: 0x98},
+ 188: {lang: 0x45, region: 0x134},
+ 189: {lang: 0x138, region: 0x7a},
+ 190: {lang: 0x3e7, region: 0x98},
+ 191: {lang: 0x3e7, region: 0x98},
+ 192: {lang: 0x3f8, region: 0x98},
+ 193: {lang: 0x40a, region: 0xb2},
+ 194: {lang: 0x431, region: 0x98},
+ 195: {lang: 0x43c, region: 0x94},
+ 196: {lang: 0x44b, region: 0x34},
+ 197: {lang: 0x44c, region: 0x9a},
+ 201: {lang: 0x458, region: 0xe6},
+ 202: {lang: 0x119, region: 0x98},
+ 203: {lang: 0x45c, region: 0x52},
+ 204: {lang: 0x230, region: 0x52},
+ 205: {lang: 0x44e, region: 0x98},
+ 206: {lang: 0x4a3, region: 0x52},
+ 207: {lang: 0x9f, region: 0x13d},
+ 208: {lang: 0x45f, region: 0x98},
+ 210: {lang: 0x526, region: 0xb9},
+ 211: {lang: 0x152, region: 0xe6},
+ 212: {lang: 0x127, region: 0xcc},
+ 213: {lang: 0x469, region: 0x122},
+ 214: {lang: 0xa9, region: 0x52},
+ 215: {lang: 0x2cc, region: 0x98},
+ 216: {lang: 0x4ab, region: 0x11b},
+ 217: {lang: 0x4bc, region: 0xb3},
+ 219: {lang: 0x1cc, region: 0x98},
+ 221: {lang: 0x3a7, region: 0x9b},
+ 222: {lang: 0x22, region: 0x9a},
+ 223: {lang: 0x1e8, region: 0x52},
}
type likelyScriptRegion struct {
@@ -1496,8 +1498,8 @@ type likelyScriptRegion struct {
// scripts and regions given incomplete information. If more entries exist for a
// given language, region and script are the index and size respectively
// of the list in likelyLangList.
-// Size: 5276 bytes, 1319 elements
-var likelyLang = [1319]likelyScriptRegion{
+// Size: 5308 bytes, 1327 elements
+var likelyLang = [1327]likelyScriptRegion{
0: {region: 0x134, script: 0x52, flags: 0x0},
1: {region: 0x6e, script: 0x52, flags: 0x0},
2: {region: 0x164, script: 0x52, flags: 0x0},
@@ -1505,1305 +1507,1313 @@ var likelyLang = [1319]likelyScriptRegion{
4: {region: 0x164, script: 0x52, flags: 0x0},
5: {region: 0x7c, script: 0x1e, flags: 0x0},
6: {region: 0x164, script: 0x52, flags: 0x0},
- 7: {region: 0x7f, script: 0x52, flags: 0x0},
- 8: {region: 0x164, script: 0x52, flags: 0x0},
+ 7: {region: 0x164, script: 0x1e, flags: 0x0},
+ 8: {region: 0x7f, script: 0x52, flags: 0x0},
9: {region: 0x164, script: 0x52, flags: 0x0},
10: {region: 0x164, script: 0x52, flags: 0x0},
- 11: {region: 0x94, script: 0x52, flags: 0x0},
- 12: {region: 0x130, script: 0x52, flags: 0x0},
- 13: {region: 0x7f, script: 0x52, flags: 0x0},
- 14: {region: 0x164, script: 0x52, flags: 0x0},
+ 11: {region: 0x164, script: 0x52, flags: 0x0},
+ 12: {region: 0x94, script: 0x52, flags: 0x0},
+ 13: {region: 0x130, script: 0x52, flags: 0x0},
+ 14: {region: 0x7f, script: 0x52, flags: 0x0},
15: {region: 0x164, script: 0x52, flags: 0x0},
- 16: {region: 0x105, script: 0x1e, flags: 0x0},
- 17: {region: 0x164, script: 0x52, flags: 0x0},
- 18: {region: 0x9b, script: 0x9, flags: 0x0},
- 19: {region: 0x127, script: 0x5, flags: 0x0},
- 20: {region: 0x164, script: 0x52, flags: 0x0},
- 21: {region: 0x160, script: 0x52, flags: 0x0},
- 22: {region: 0x164, script: 0x52, flags: 0x0},
+ 16: {region: 0x164, script: 0x52, flags: 0x0},
+ 17: {region: 0x105, script: 0x1e, flags: 0x0},
+ 18: {region: 0x164, script: 0x52, flags: 0x0},
+ 19: {region: 0x9b, script: 0x9, flags: 0x0},
+ 20: {region: 0x127, script: 0x5, flags: 0x0},
+ 21: {region: 0x164, script: 0x52, flags: 0x0},
+ 22: {region: 0x160, script: 0x52, flags: 0x0},
23: {region: 0x164, script: 0x52, flags: 0x0},
24: {region: 0x164, script: 0x52, flags: 0x0},
25: {region: 0x164, script: 0x52, flags: 0x0},
26: {region: 0x164, script: 0x52, flags: 0x0},
- 27: {region: 0x51, script: 0x52, flags: 0x0},
- 28: {region: 0x164, script: 0x52, flags: 0x0},
+ 27: {region: 0x164, script: 0x52, flags: 0x0},
+ 28: {region: 0x51, script: 0x52, flags: 0x0},
29: {region: 0x164, script: 0x52, flags: 0x0},
- 30: {region: 0x98, script: 0x4, flags: 0x0},
- 31: {region: 0x164, script: 0x52, flags: 0x0},
- 32: {region: 0x7f, script: 0x52, flags: 0x0},
- 33: {region: 0x9a, script: 0xde, flags: 0x0},
- 34: {region: 0x164, script: 0x52, flags: 0x0},
+ 30: {region: 0x164, script: 0x52, flags: 0x0},
+ 31: {region: 0x98, script: 0x4, flags: 0x0},
+ 32: {region: 0x164, script: 0x52, flags: 0x0},
+ 33: {region: 0x7f, script: 0x52, flags: 0x0},
+ 34: {region: 0x9a, script: 0xde, flags: 0x0},
35: {region: 0x164, script: 0x52, flags: 0x0},
- 36: {region: 0x14c, script: 0x52, flags: 0x0},
- 37: {region: 0x105, script: 0x1e, flags: 0x0},
- 38: {region: 0x6e, script: 0x27, flags: 0x0},
- 39: {region: 0x164, script: 0x52, flags: 0x0},
+ 36: {region: 0x164, script: 0x52, flags: 0x0},
+ 37: {region: 0x14c, script: 0x52, flags: 0x0},
+ 38: {region: 0x105, script: 0x1e, flags: 0x0},
+ 39: {region: 0x6e, script: 0x27, flags: 0x0},
40: {region: 0x164, script: 0x52, flags: 0x0},
- 41: {region: 0xd5, script: 0x52, flags: 0x0},
- 42: {region: 0x164, script: 0x52, flags: 0x0},
- 44: {region: 0x164, script: 0x52, flags: 0x0},
+ 41: {region: 0x164, script: 0x52, flags: 0x0},
+ 42: {region: 0xd5, script: 0x52, flags: 0x0},
+ 43: {region: 0x164, script: 0x52, flags: 0x0},
45: {region: 0x164, script: 0x52, flags: 0x0},
46: {region: 0x164, script: 0x52, flags: 0x0},
47: {region: 0x164, script: 0x52, flags: 0x0},
48: {region: 0x164, script: 0x52, flags: 0x0},
49: {region: 0x164, script: 0x52, flags: 0x0},
- 50: {region: 0x94, script: 0x52, flags: 0x0},
- 51: {region: 0x164, script: 0x5, flags: 0x0},
- 52: {region: 0x121, script: 0x5, flags: 0x0},
- 53: {region: 0x164, script: 0x52, flags: 0x0},
+ 50: {region: 0x164, script: 0x52, flags: 0x0},
+ 51: {region: 0x94, script: 0x52, flags: 0x0},
+ 52: {region: 0x164, script: 0x5, flags: 0x0},
+ 53: {region: 0x121, script: 0x5, flags: 0x0},
54: {region: 0x164, script: 0x52, flags: 0x0},
55: {region: 0x164, script: 0x52, flags: 0x0},
56: {region: 0x164, script: 0x52, flags: 0x0},
- 57: {region: 0x6a, script: 0x5, flags: 0x0},
- 58: {region: 0x0, script: 0x3, flags: 0x1},
- 59: {region: 0x164, script: 0x52, flags: 0x0},
- 60: {region: 0x50, script: 0x52, flags: 0x0},
- 61: {region: 0x3e, script: 0x52, flags: 0x0},
- 62: {region: 0x66, script: 0x5, flags: 0x0},
- 64: {region: 0xb9, script: 0x5, flags: 0x0},
- 65: {region: 0x6a, script: 0x5, flags: 0x0},
- 66: {region: 0x98, script: 0xe, flags: 0x0},
- 67: {region: 0x12e, script: 0x52, flags: 0x0},
- 68: {region: 0x134, script: 0xbc, flags: 0x0},
- 69: {region: 0x164, script: 0x52, flags: 0x0},
+ 57: {region: 0x164, script: 0x52, flags: 0x0},
+ 58: {region: 0x6a, script: 0x5, flags: 0x0},
+ 59: {region: 0x0, script: 0x3, flags: 0x1},
+ 60: {region: 0x164, script: 0x52, flags: 0x0},
+ 61: {region: 0x50, script: 0x52, flags: 0x0},
+ 62: {region: 0x3e, script: 0x52, flags: 0x0},
+ 63: {region: 0x66, script: 0x5, flags: 0x0},
+ 65: {region: 0xb9, script: 0x5, flags: 0x0},
+ 66: {region: 0x6a, script: 0x5, flags: 0x0},
+ 67: {region: 0x98, script: 0xe, flags: 0x0},
+ 68: {region: 0x12e, script: 0x52, flags: 0x0},
+ 69: {region: 0x134, script: 0xbc, flags: 0x0},
70: {region: 0x164, script: 0x52, flags: 0x0},
- 71: {region: 0x6d, script: 0x52, flags: 0x0},
- 72: {region: 0x164, script: 0x52, flags: 0x0},
+ 71: {region: 0x164, script: 0x52, flags: 0x0},
+ 72: {region: 0x6d, script: 0x52, flags: 0x0},
73: {region: 0x164, script: 0x52, flags: 0x0},
- 74: {region: 0x48, script: 0x52, flags: 0x0},
- 75: {region: 0x164, script: 0x52, flags: 0x0},
- 76: {region: 0x105, script: 0x1e, flags: 0x0},
- 77: {region: 0x164, script: 0x5, flags: 0x0},
- 78: {region: 0x164, script: 0x52, flags: 0x0},
+ 74: {region: 0x164, script: 0x52, flags: 0x0},
+ 75: {region: 0x48, script: 0x52, flags: 0x0},
+ 76: {region: 0x164, script: 0x52, flags: 0x0},
+ 77: {region: 0x105, script: 0x1e, flags: 0x0},
+ 78: {region: 0x164, script: 0x5, flags: 0x0},
79: {region: 0x164, script: 0x52, flags: 0x0},
80: {region: 0x164, script: 0x52, flags: 0x0},
- 81: {region: 0x98, script: 0x20, flags: 0x0},
- 82: {region: 0x164, script: 0x52, flags: 0x0},
+ 81: {region: 0x164, script: 0x52, flags: 0x0},
+ 82: {region: 0x98, script: 0x20, flags: 0x0},
83: {region: 0x164, script: 0x52, flags: 0x0},
84: {region: 0x164, script: 0x52, flags: 0x0},
- 85: {region: 0x3e, script: 0x52, flags: 0x0},
- 86: {region: 0x164, script: 0x52, flags: 0x0},
- 87: {region: 0x3, script: 0x5, flags: 0x1},
- 88: {region: 0x105, script: 0x1e, flags: 0x0},
- 89: {region: 0xe7, script: 0x5, flags: 0x0},
- 90: {region: 0x94, script: 0x52, flags: 0x0},
- 91: {region: 0xda, script: 0x20, flags: 0x0},
- 92: {region: 0x2d, script: 0x52, flags: 0x0},
- 93: {region: 0x51, script: 0x52, flags: 0x0},
- 94: {region: 0x164, script: 0x52, flags: 0x0},
- 95: {region: 0x51, script: 0xb, flags: 0x0},
- 96: {region: 0x164, script: 0x52, flags: 0x0},
+ 85: {region: 0x164, script: 0x52, flags: 0x0},
+ 86: {region: 0x3e, script: 0x52, flags: 0x0},
+ 87: {region: 0x164, script: 0x52, flags: 0x0},
+ 88: {region: 0x3, script: 0x5, flags: 0x1},
+ 89: {region: 0x105, script: 0x1e, flags: 0x0},
+ 90: {region: 0xe7, script: 0x5, flags: 0x0},
+ 91: {region: 0x94, script: 0x52, flags: 0x0},
+ 92: {region: 0xda, script: 0x20, flags: 0x0},
+ 93: {region: 0x2d, script: 0x52, flags: 0x0},
+ 94: {region: 0x51, script: 0x52, flags: 0x0},
+ 95: {region: 0x164, script: 0x52, flags: 0x0},
+ 96: {region: 0x51, script: 0xb, flags: 0x0},
97: {region: 0x164, script: 0x52, flags: 0x0},
- 98: {region: 0x94, script: 0x52, flags: 0x0},
- 99: {region: 0x164, script: 0x52, flags: 0x0},
- 100: {region: 0x51, script: 0x52, flags: 0x0},
- 101: {region: 0x164, script: 0x52, flags: 0x0},
+ 98: {region: 0x164, script: 0x52, flags: 0x0},
+ 99: {region: 0x94, script: 0x52, flags: 0x0},
+ 100: {region: 0x164, script: 0x52, flags: 0x0},
+ 101: {region: 0x51, script: 0x52, flags: 0x0},
102: {region: 0x164, script: 0x52, flags: 0x0},
103: {region: 0x164, script: 0x52, flags: 0x0},
104: {region: 0x164, script: 0x52, flags: 0x0},
- 105: {region: 0x4e, script: 0x52, flags: 0x0},
- 106: {region: 0x164, script: 0x52, flags: 0x0},
+ 105: {region: 0x164, script: 0x52, flags: 0x0},
+ 106: {region: 0x4e, script: 0x52, flags: 0x0},
107: {region: 0x164, script: 0x52, flags: 0x0},
108: {region: 0x164, script: 0x52, flags: 0x0},
- 109: {region: 0x164, script: 0x27, flags: 0x0},
- 110: {region: 0x164, script: 0x52, flags: 0x0},
+ 109: {region: 0x164, script: 0x52, flags: 0x0},
+ 110: {region: 0x164, script: 0x27, flags: 0x0},
111: {region: 0x164, script: 0x52, flags: 0x0},
- 112: {region: 0x46, script: 0x1e, flags: 0x0},
- 113: {region: 0x164, script: 0x52, flags: 0x0},
+ 112: {region: 0x164, script: 0x52, flags: 0x0},
+ 113: {region: 0x46, script: 0x1e, flags: 0x0},
114: {region: 0x164, script: 0x52, flags: 0x0},
- 115: {region: 0x10a, script: 0x5, flags: 0x0},
- 116: {region: 0x161, script: 0x52, flags: 0x0},
- 117: {region: 0x164, script: 0x52, flags: 0x0},
- 118: {region: 0x94, script: 0x52, flags: 0x0},
- 119: {region: 0x164, script: 0x52, flags: 0x0},
- 120: {region: 0x12e, script: 0x52, flags: 0x0},
- 121: {region: 0x51, script: 0x52, flags: 0x0},
- 122: {region: 0x98, script: 0xcd, flags: 0x0},
- 123: {region: 0xe7, script: 0x5, flags: 0x0},
- 124: {region: 0x98, script: 0x20, flags: 0x0},
- 125: {region: 0x37, script: 0x1e, flags: 0x0},
- 126: {region: 0x98, script: 0x20, flags: 0x0},
- 127: {region: 0xe7, script: 0x5, flags: 0x0},
- 128: {region: 0x12a, script: 0x2d, flags: 0x0},
- 130: {region: 0x98, script: 0x20, flags: 0x0},
- 131: {region: 0x164, script: 0x52, flags: 0x0},
- 132: {region: 0x98, script: 0x20, flags: 0x0},
- 133: {region: 0xe6, script: 0x52, flags: 0x0},
- 134: {region: 0x164, script: 0x52, flags: 0x0},
- 135: {region: 0x98, script: 0x20, flags: 0x0},
- 136: {region: 0x164, script: 0x52, flags: 0x0},
- 137: {region: 0x13e, script: 0x52, flags: 0x0},
- 138: {region: 0x164, script: 0x52, flags: 0x0},
+ 115: {region: 0x164, script: 0x52, flags: 0x0},
+ 116: {region: 0x10a, script: 0x5, flags: 0x0},
+ 117: {region: 0x161, script: 0x52, flags: 0x0},
+ 118: {region: 0x164, script: 0x52, flags: 0x0},
+ 119: {region: 0x94, script: 0x52, flags: 0x0},
+ 120: {region: 0x164, script: 0x52, flags: 0x0},
+ 121: {region: 0x12e, script: 0x52, flags: 0x0},
+ 122: {region: 0x51, script: 0x52, flags: 0x0},
+ 123: {region: 0x98, script: 0xcd, flags: 0x0},
+ 124: {region: 0xe7, script: 0x5, flags: 0x0},
+ 125: {region: 0x98, script: 0x20, flags: 0x0},
+ 126: {region: 0x37, script: 0x1e, flags: 0x0},
+ 127: {region: 0x98, script: 0x20, flags: 0x0},
+ 128: {region: 0xe7, script: 0x5, flags: 0x0},
+ 129: {region: 0x12a, script: 0x2d, flags: 0x0},
+ 131: {region: 0x98, script: 0x20, flags: 0x0},
+ 132: {region: 0x164, script: 0x52, flags: 0x0},
+ 133: {region: 0x98, script: 0x20, flags: 0x0},
+ 134: {region: 0xe6, script: 0x52, flags: 0x0},
+ 135: {region: 0x164, script: 0x52, flags: 0x0},
+ 136: {region: 0x98, script: 0x20, flags: 0x0},
+ 137: {region: 0x164, script: 0x52, flags: 0x0},
+ 138: {region: 0x13e, script: 0x52, flags: 0x0},
139: {region: 0x164, script: 0x52, flags: 0x0},
- 140: {region: 0xe6, script: 0x52, flags: 0x0},
- 141: {region: 0x164, script: 0x52, flags: 0x0},
- 142: {region: 0xd5, script: 0x52, flags: 0x0},
- 143: {region: 0x164, script: 0x52, flags: 0x0},
+ 140: {region: 0x164, script: 0x52, flags: 0x0},
+ 141: {region: 0xe6, script: 0x52, flags: 0x0},
+ 142: {region: 0x164, script: 0x52, flags: 0x0},
+ 143: {region: 0xd5, script: 0x52, flags: 0x0},
144: {region: 0x164, script: 0x52, flags: 0x0},
145: {region: 0x164, script: 0x52, flags: 0x0},
- 146: {region: 0x164, script: 0x27, flags: 0x0},
- 147: {region: 0x98, script: 0x20, flags: 0x0},
- 148: {region: 0x94, script: 0x52, flags: 0x0},
- 149: {region: 0x164, script: 0x52, flags: 0x0},
+ 146: {region: 0x164, script: 0x52, flags: 0x0},
+ 147: {region: 0x164, script: 0x27, flags: 0x0},
+ 148: {region: 0x98, script: 0x20, flags: 0x0},
+ 149: {region: 0x94, script: 0x52, flags: 0x0},
150: {region: 0x164, script: 0x52, flags: 0x0},
151: {region: 0x164, script: 0x52, flags: 0x0},
- 152: {region: 0x164, script: 0x52, flags: 0x0},
- 153: {region: 0x51, script: 0x52, flags: 0x0},
+ 152: {region: 0x113, script: 0x52, flags: 0x0},
+ 153: {region: 0x164, script: 0x52, flags: 0x0},
154: {region: 0x164, script: 0x52, flags: 0x0},
- 155: {region: 0xe6, script: 0x52, flags: 0x0},
+ 155: {region: 0x51, script: 0x52, flags: 0x0},
156: {region: 0x164, script: 0x52, flags: 0x0},
- 157: {region: 0x13d, script: 0xcf, flags: 0x0},
- 158: {region: 0xc2, script: 0x52, flags: 0x0},
- 159: {region: 0x164, script: 0x52, flags: 0x0},
- 160: {region: 0x164, script: 0x52, flags: 0x0},
- 161: {region: 0xc2, script: 0x52, flags: 0x0},
+ 157: {region: 0xe6, script: 0x52, flags: 0x0},
+ 158: {region: 0x164, script: 0x52, flags: 0x0},
+ 159: {region: 0x13d, script: 0xcf, flags: 0x0},
+ 160: {region: 0xc2, script: 0x52, flags: 0x0},
+ 161: {region: 0x164, script: 0x52, flags: 0x0},
162: {region: 0x164, script: 0x52, flags: 0x0},
- 163: {region: 0x34, script: 0xe, flags: 0x0},
+ 163: {region: 0xc2, script: 0x52, flags: 0x0},
164: {region: 0x164, script: 0x52, flags: 0x0},
- 165: {region: 0x164, script: 0x52, flags: 0x0},
+ 165: {region: 0x34, script: 0xe, flags: 0x0},
166: {region: 0x164, script: 0x52, flags: 0x0},
- 167: {region: 0x52, script: 0xd6, flags: 0x0},
+ 167: {region: 0x164, script: 0x52, flags: 0x0},
168: {region: 0x164, script: 0x52, flags: 0x0},
- 169: {region: 0x164, script: 0x52, flags: 0x0},
+ 169: {region: 0x52, script: 0xd6, flags: 0x0},
170: {region: 0x164, script: 0x52, flags: 0x0},
- 171: {region: 0x98, script: 0xe, flags: 0x0},
+ 171: {region: 0x164, script: 0x52, flags: 0x0},
172: {region: 0x164, script: 0x52, flags: 0x0},
- 173: {region: 0x9b, script: 0x5, flags: 0x0},
+ 173: {region: 0x98, script: 0xe, flags: 0x0},
174: {region: 0x164, script: 0x52, flags: 0x0},
- 175: {region: 0x4e, script: 0x52, flags: 0x0},
- 176: {region: 0x77, script: 0x52, flags: 0x0},
- 177: {region: 0x98, script: 0x20, flags: 0x0},
- 178: {region: 0xe7, script: 0x5, flags: 0x0},
+ 175: {region: 0x9b, script: 0x5, flags: 0x0},
+ 176: {region: 0x164, script: 0x52, flags: 0x0},
+ 177: {region: 0x4e, script: 0x52, flags: 0x0},
+ 178: {region: 0x77, script: 0x52, flags: 0x0},
179: {region: 0x98, script: 0x20, flags: 0x0},
- 180: {region: 0x164, script: 0x52, flags: 0x0},
- 181: {region: 0x32, script: 0x52, flags: 0x0},
+ 180: {region: 0xe7, script: 0x5, flags: 0x0},
+ 181: {region: 0x98, script: 0x20, flags: 0x0},
182: {region: 0x164, script: 0x52, flags: 0x0},
- 183: {region: 0xb3, script: 0xc, flags: 0x0},
- 184: {region: 0x51, script: 0x52, flags: 0x0},
- 185: {region: 0x164, script: 0x27, flags: 0x0},
- 186: {region: 0xe6, script: 0x52, flags: 0x0},
- 187: {region: 0x164, script: 0x52, flags: 0x0},
- 188: {region: 0xe7, script: 0x20, flags: 0x0},
- 189: {region: 0x105, script: 0x1e, flags: 0x0},
- 190: {region: 0x15e, script: 0x52, flags: 0x0},
- 191: {region: 0x164, script: 0x52, flags: 0x0},
- 192: {region: 0x94, script: 0x52, flags: 0x0},
+ 183: {region: 0x32, script: 0x52, flags: 0x0},
+ 184: {region: 0x164, script: 0x52, flags: 0x0},
+ 185: {region: 0xb3, script: 0xc, flags: 0x0},
+ 186: {region: 0x51, script: 0x52, flags: 0x0},
+ 187: {region: 0x164, script: 0x27, flags: 0x0},
+ 188: {region: 0xe6, script: 0x52, flags: 0x0},
+ 189: {region: 0x164, script: 0x52, flags: 0x0},
+ 190: {region: 0xe7, script: 0x20, flags: 0x0},
+ 191: {region: 0x105, script: 0x1e, flags: 0x0},
+ 192: {region: 0x15e, script: 0x52, flags: 0x0},
193: {region: 0x164, script: 0x52, flags: 0x0},
- 194: {region: 0x51, script: 0x52, flags: 0x0},
+ 194: {region: 0x94, script: 0x52, flags: 0x0},
195: {region: 0x164, script: 0x52, flags: 0x0},
- 196: {region: 0x164, script: 0x52, flags: 0x0},
+ 196: {region: 0x51, script: 0x52, flags: 0x0},
197: {region: 0x164, script: 0x52, flags: 0x0},
- 198: {region: 0x85, script: 0x52, flags: 0x0},
+ 198: {region: 0x164, script: 0x52, flags: 0x0},
199: {region: 0x164, script: 0x52, flags: 0x0},
- 200: {region: 0x164, script: 0x52, flags: 0x0},
+ 200: {region: 0x85, script: 0x52, flags: 0x0},
201: {region: 0x164, script: 0x52, flags: 0x0},
202: {region: 0x164, script: 0x52, flags: 0x0},
- 203: {region: 0x6c, script: 0x27, flags: 0x0},
+ 203: {region: 0x164, script: 0x52, flags: 0x0},
204: {region: 0x164, script: 0x52, flags: 0x0},
- 205: {region: 0x164, script: 0x52, flags: 0x0},
- 206: {region: 0x51, script: 0x52, flags: 0x0},
+ 205: {region: 0x6c, script: 0x27, flags: 0x0},
+ 206: {region: 0x164, script: 0x52, flags: 0x0},
207: {region: 0x164, script: 0x52, flags: 0x0},
- 208: {region: 0x164, script: 0x52, flags: 0x0},
- 209: {region: 0xc2, script: 0x52, flags: 0x0},
+ 208: {region: 0x51, script: 0x52, flags: 0x0},
+ 209: {region: 0x164, script: 0x52, flags: 0x0},
210: {region: 0x164, script: 0x52, flags: 0x0},
- 211: {region: 0x164, script: 0x52, flags: 0x0},
+ 211: {region: 0xc2, script: 0x52, flags: 0x0},
212: {region: 0x164, script: 0x52, flags: 0x0},
- 213: {region: 0x6d, script: 0x52, flags: 0x0},
+ 213: {region: 0x164, script: 0x52, flags: 0x0},
214: {region: 0x164, script: 0x52, flags: 0x0},
- 215: {region: 0x164, script: 0x52, flags: 0x0},
- 216: {region: 0xd5, script: 0x52, flags: 0x0},
- 217: {region: 0x8, script: 0x2, flags: 0x1},
- 218: {region: 0x105, script: 0x1e, flags: 0x0},
- 219: {region: 0xe6, script: 0x52, flags: 0x0},
- 220: {region: 0x164, script: 0x52, flags: 0x0},
- 221: {region: 0x130, script: 0x52, flags: 0x0},
- 222: {region: 0x89, script: 0x52, flags: 0x0},
- 223: {region: 0x74, script: 0x52, flags: 0x0},
- 224: {region: 0x105, script: 0x1e, flags: 0x0},
- 225: {region: 0x134, script: 0x52, flags: 0x0},
- 226: {region: 0x48, script: 0x52, flags: 0x0},
- 227: {region: 0x134, script: 0x1a, flags: 0x0},
- 228: {region: 0xa5, script: 0x5, flags: 0x0},
- 229: {region: 0x13d, script: 0x19, flags: 0x0},
- 230: {region: 0x164, script: 0x52, flags: 0x0},
- 231: {region: 0x9a, script: 0x5, flags: 0x0},
+ 215: {region: 0x6d, script: 0x52, flags: 0x0},
+ 216: {region: 0x164, script: 0x52, flags: 0x0},
+ 217: {region: 0x164, script: 0x52, flags: 0x0},
+ 218: {region: 0xd5, script: 0x52, flags: 0x0},
+ 219: {region: 0x34, script: 0x16, flags: 0x0},
+ 220: {region: 0x105, script: 0x1e, flags: 0x0},
+ 221: {region: 0xe6, script: 0x52, flags: 0x0},
+ 222: {region: 0x164, script: 0x52, flags: 0x0},
+ 223: {region: 0x130, script: 0x52, flags: 0x0},
+ 224: {region: 0x89, script: 0x52, flags: 0x0},
+ 225: {region: 0x74, script: 0x52, flags: 0x0},
+ 226: {region: 0x105, script: 0x1e, flags: 0x0},
+ 227: {region: 0x134, script: 0x52, flags: 0x0},
+ 228: {region: 0x48, script: 0x52, flags: 0x0},
+ 229: {region: 0x134, script: 0x1a, flags: 0x0},
+ 230: {region: 0xa5, script: 0x5, flags: 0x0},
+ 231: {region: 0x13d, script: 0x19, flags: 0x0},
232: {region: 0x164, script: 0x52, flags: 0x0},
- 233: {region: 0x164, script: 0x52, flags: 0x0},
+ 233: {region: 0x9a, script: 0x5, flags: 0x0},
234: {region: 0x164, script: 0x52, flags: 0x0},
235: {region: 0x164, script: 0x52, flags: 0x0},
236: {region: 0x164, script: 0x52, flags: 0x0},
- 237: {region: 0x77, script: 0x52, flags: 0x0},
- 238: {region: 0x6a, script: 0x1c, flags: 0x0},
- 239: {region: 0xe6, script: 0x52, flags: 0x0},
- 240: {region: 0x48, script: 0x17, flags: 0x0},
- 241: {region: 0x48, script: 0x17, flags: 0x0},
+ 237: {region: 0x164, script: 0x52, flags: 0x0},
+ 238: {region: 0x164, script: 0x52, flags: 0x0},
+ 239: {region: 0x77, script: 0x52, flags: 0x0},
+ 240: {region: 0x6a, script: 0x1c, flags: 0x0},
+ 241: {region: 0xe6, script: 0x52, flags: 0x0},
242: {region: 0x48, script: 0x17, flags: 0x0},
- 243: {region: 0x48, script: 0x17, flags: 0x0},
+ 243: {region: 0x12f, script: 0x1e, flags: 0x0},
244: {region: 0x48, script: 0x17, flags: 0x0},
- 245: {region: 0x109, script: 0x52, flags: 0x0},
- 246: {region: 0x5d, script: 0x52, flags: 0x0},
- 247: {region: 0xe8, script: 0x52, flags: 0x0},
- 248: {region: 0x48, script: 0x17, flags: 0x0},
- 249: {region: 0xc3, script: 0x79, flags: 0x0},
- 250: {region: 0xa, script: 0x2, flags: 0x1},
- 251: {region: 0x105, script: 0x1e, flags: 0x0},
- 252: {region: 0x7a, script: 0x52, flags: 0x0},
- 253: {region: 0x62, script: 0x52, flags: 0x0},
- 254: {region: 0x164, script: 0x52, flags: 0x0},
- 255: {region: 0x164, script: 0x52, flags: 0x0},
- 256: {region: 0x164, script: 0x52, flags: 0x0},
+ 245: {region: 0x48, script: 0x17, flags: 0x0},
+ 246: {region: 0x48, script: 0x17, flags: 0x0},
+ 247: {region: 0x48, script: 0x17, flags: 0x0},
+ 248: {region: 0x109, script: 0x52, flags: 0x0},
+ 249: {region: 0x5d, script: 0x52, flags: 0x0},
+ 250: {region: 0xe8, script: 0x52, flags: 0x0},
+ 251: {region: 0x48, script: 0x17, flags: 0x0},
+ 252: {region: 0xc3, script: 0x79, flags: 0x0},
+ 253: {region: 0x8, script: 0x2, flags: 0x1},
+ 254: {region: 0x105, script: 0x1e, flags: 0x0},
+ 255: {region: 0x7a, script: 0x52, flags: 0x0},
+ 256: {region: 0x62, script: 0x52, flags: 0x0},
257: {region: 0x164, script: 0x52, flags: 0x0},
- 258: {region: 0x134, script: 0x52, flags: 0x0},
- 259: {region: 0x105, script: 0x1e, flags: 0x0},
- 260: {region: 0xa3, script: 0x52, flags: 0x0},
- 261: {region: 0x164, script: 0x52, flags: 0x0},
- 262: {region: 0x164, script: 0x52, flags: 0x0},
- 263: {region: 0x98, script: 0x5, flags: 0x0},
+ 258: {region: 0x164, script: 0x52, flags: 0x0},
+ 259: {region: 0x164, script: 0x52, flags: 0x0},
+ 260: {region: 0x164, script: 0x52, flags: 0x0},
+ 261: {region: 0x134, script: 0x52, flags: 0x0},
+ 262: {region: 0x105, script: 0x1e, flags: 0x0},
+ 263: {region: 0xa3, script: 0x52, flags: 0x0},
264: {region: 0x164, script: 0x52, flags: 0x0},
- 265: {region: 0x5f, script: 0x52, flags: 0x0},
- 266: {region: 0x164, script: 0x52, flags: 0x0},
- 267: {region: 0x48, script: 0x52, flags: 0x0},
- 268: {region: 0x164, script: 0x52, flags: 0x0},
+ 265: {region: 0x164, script: 0x52, flags: 0x0},
+ 266: {region: 0x98, script: 0x5, flags: 0x0},
+ 267: {region: 0x164, script: 0x52, flags: 0x0},
+ 268: {region: 0x5f, script: 0x52, flags: 0x0},
269: {region: 0x164, script: 0x52, flags: 0x0},
- 270: {region: 0x164, script: 0x52, flags: 0x0},
- 271: {region: 0x164, script: 0x5, flags: 0x0},
- 272: {region: 0x48, script: 0x52, flags: 0x0},
+ 270: {region: 0x48, script: 0x52, flags: 0x0},
+ 271: {region: 0x164, script: 0x52, flags: 0x0},
+ 272: {region: 0x164, script: 0x52, flags: 0x0},
273: {region: 0x164, script: 0x52, flags: 0x0},
- 274: {region: 0x164, script: 0x52, flags: 0x0},
- 275: {region: 0xd3, script: 0x52, flags: 0x0},
- 276: {region: 0x4e, script: 0x52, flags: 0x0},
+ 274: {region: 0x164, script: 0x5, flags: 0x0},
+ 275: {region: 0x48, script: 0x52, flags: 0x0},
+ 276: {region: 0x164, script: 0x52, flags: 0x0},
277: {region: 0x164, script: 0x52, flags: 0x0},
- 278: {region: 0x98, script: 0x5, flags: 0x0},
- 279: {region: 0x164, script: 0x52, flags: 0x0},
+ 278: {region: 0xd3, script: 0x52, flags: 0x0},
+ 279: {region: 0x4e, script: 0x52, flags: 0x0},
280: {region: 0x164, script: 0x52, flags: 0x0},
- 281: {region: 0x164, script: 0x52, flags: 0x0},
- 282: {region: 0x164, script: 0x27, flags: 0x0},
- 283: {region: 0x5f, script: 0x52, flags: 0x0},
- 284: {region: 0xc2, script: 0x52, flags: 0x0},
- 285: {region: 0xcf, script: 0x52, flags: 0x0},
- 286: {region: 0x164, script: 0x52, flags: 0x0},
- 287: {region: 0xda, script: 0x20, flags: 0x0},
- 288: {region: 0x51, script: 0x52, flags: 0x0},
+ 281: {region: 0x98, script: 0x5, flags: 0x0},
+ 282: {region: 0x164, script: 0x52, flags: 0x0},
+ 283: {region: 0x164, script: 0x52, flags: 0x0},
+ 284: {region: 0x164, script: 0x52, flags: 0x0},
+ 285: {region: 0x164, script: 0x27, flags: 0x0},
+ 286: {region: 0x5f, script: 0x52, flags: 0x0},
+ 287: {region: 0xc2, script: 0x52, flags: 0x0},
+ 288: {region: 0xcf, script: 0x52, flags: 0x0},
289: {region: 0x164, script: 0x52, flags: 0x0},
- 290: {region: 0x164, script: 0x52, flags: 0x0},
- 291: {region: 0x164, script: 0x52, flags: 0x0},
- 292: {region: 0xcc, script: 0xd4, flags: 0x0},
+ 290: {region: 0xda, script: 0x20, flags: 0x0},
+ 291: {region: 0x51, script: 0x52, flags: 0x0},
+ 292: {region: 0x164, script: 0x52, flags: 0x0},
293: {region: 0x164, script: 0x52, flags: 0x0},
294: {region: 0x164, script: 0x52, flags: 0x0},
- 295: {region: 0x113, script: 0x52, flags: 0x0},
- 296: {region: 0x36, script: 0x52, flags: 0x0},
- 297: {region: 0x42, script: 0xd6, flags: 0x0},
- 298: {region: 0x164, script: 0x52, flags: 0x0},
- 299: {region: 0xa3, script: 0x52, flags: 0x0},
- 300: {region: 0x7f, script: 0x52, flags: 0x0},
- 301: {region: 0xd5, script: 0x52, flags: 0x0},
- 302: {region: 0x9d, script: 0x52, flags: 0x0},
- 303: {region: 0x6a, script: 0x25, flags: 0x0},
- 304: {region: 0xc3, script: 0x43, flags: 0x0},
- 305: {region: 0x86, script: 0x2d, flags: 0x0},
- 306: {region: 0x164, script: 0x52, flags: 0x0},
+ 295: {region: 0xcc, script: 0xd4, flags: 0x0},
+ 296: {region: 0x164, script: 0x52, flags: 0x0},
+ 297: {region: 0x164, script: 0x52, flags: 0x0},
+ 298: {region: 0x113, script: 0x52, flags: 0x0},
+ 299: {region: 0x36, script: 0x52, flags: 0x0},
+ 300: {region: 0x42, script: 0xd6, flags: 0x0},
+ 301: {region: 0x164, script: 0x52, flags: 0x0},
+ 302: {region: 0xa3, script: 0x52, flags: 0x0},
+ 303: {region: 0x7f, script: 0x52, flags: 0x0},
+ 304: {region: 0xd5, script: 0x52, flags: 0x0},
+ 305: {region: 0x9d, script: 0x52, flags: 0x0},
+ 306: {region: 0x6a, script: 0x25, flags: 0x0},
307: {region: 0x164, script: 0x52, flags: 0x0},
- 308: {region: 0xc, script: 0x2, flags: 0x1},
- 309: {region: 0x164, script: 0x52, flags: 0x0},
+ 308: {region: 0xc3, script: 0x43, flags: 0x0},
+ 309: {region: 0x86, script: 0x2d, flags: 0x0},
310: {region: 0x164, script: 0x52, flags: 0x0},
- 311: {region: 0x1, script: 0x52, flags: 0x0},
- 312: {region: 0x164, script: 0x52, flags: 0x0},
- 313: {region: 0x6d, script: 0x52, flags: 0x0},
- 314: {region: 0x134, script: 0x52, flags: 0x0},
- 315: {region: 0x69, script: 0x52, flags: 0x0},
+ 311: {region: 0x164, script: 0x52, flags: 0x0},
+ 312: {region: 0xa, script: 0x2, flags: 0x1},
+ 313: {region: 0x164, script: 0x52, flags: 0x0},
+ 314: {region: 0x164, script: 0x52, flags: 0x0},
+ 315: {region: 0x1, script: 0x52, flags: 0x0},
316: {region: 0x164, script: 0x52, flags: 0x0},
- 317: {region: 0x9d, script: 0x3e, flags: 0x0},
- 318: {region: 0x164, script: 0x52, flags: 0x0},
- 319: {region: 0x164, script: 0x52, flags: 0x0},
- 320: {region: 0x6d, script: 0x52, flags: 0x0},
- 321: {region: 0x51, script: 0x52, flags: 0x0},
- 322: {region: 0x6d, script: 0x52, flags: 0x0},
- 323: {region: 0x9b, script: 0x5, flags: 0x0},
- 324: {region: 0x164, script: 0x52, flags: 0x0},
- 325: {region: 0x164, script: 0x52, flags: 0x0},
- 326: {region: 0x164, script: 0x52, flags: 0x0},
- 327: {region: 0x164, script: 0x52, flags: 0x0},
- 328: {region: 0x85, script: 0x52, flags: 0x0},
- 329: {region: 0xe, script: 0x2, flags: 0x1},
+ 317: {region: 0x6d, script: 0x52, flags: 0x0},
+ 318: {region: 0x134, script: 0x52, flags: 0x0},
+ 319: {region: 0x69, script: 0x52, flags: 0x0},
+ 320: {region: 0x164, script: 0x52, flags: 0x0},
+ 321: {region: 0x9d, script: 0x3e, flags: 0x0},
+ 322: {region: 0x164, script: 0x52, flags: 0x0},
+ 323: {region: 0x164, script: 0x52, flags: 0x0},
+ 324: {region: 0x6d, script: 0x52, flags: 0x0},
+ 325: {region: 0x51, script: 0x52, flags: 0x0},
+ 326: {region: 0x6d, script: 0x52, flags: 0x0},
+ 327: {region: 0x9b, script: 0x5, flags: 0x0},
+ 328: {region: 0x164, script: 0x52, flags: 0x0},
+ 329: {region: 0x164, script: 0x52, flags: 0x0},
330: {region: 0x164, script: 0x52, flags: 0x0},
- 331: {region: 0xc2, script: 0x52, flags: 0x0},
- 332: {region: 0x71, script: 0x52, flags: 0x0},
- 333: {region: 0x10a, script: 0x5, flags: 0x0},
- 334: {region: 0xe6, script: 0x52, flags: 0x0},
- 335: {region: 0x10b, script: 0x52, flags: 0x0},
- 336: {region: 0x72, script: 0x52, flags: 0x0},
- 337: {region: 0x164, script: 0x52, flags: 0x0},
- 338: {region: 0x164, script: 0x52, flags: 0x0},
- 339: {region: 0x75, script: 0x52, flags: 0x0},
- 340: {region: 0x164, script: 0x52, flags: 0x0},
- 341: {region: 0x3a, script: 0x52, flags: 0x0},
+ 331: {region: 0x164, script: 0x52, flags: 0x0},
+ 332: {region: 0x85, script: 0x52, flags: 0x0},
+ 333: {region: 0xc, script: 0x2, flags: 0x1},
+ 334: {region: 0x164, script: 0x52, flags: 0x0},
+ 335: {region: 0xc2, script: 0x52, flags: 0x0},
+ 336: {region: 0x71, script: 0x52, flags: 0x0},
+ 337: {region: 0x10a, script: 0x5, flags: 0x0},
+ 338: {region: 0xe6, script: 0x52, flags: 0x0},
+ 339: {region: 0x10b, script: 0x52, flags: 0x0},
+ 340: {region: 0x72, script: 0x52, flags: 0x0},
+ 341: {region: 0x164, script: 0x52, flags: 0x0},
342: {region: 0x164, script: 0x52, flags: 0x0},
- 343: {region: 0x164, script: 0x52, flags: 0x0},
+ 343: {region: 0x75, script: 0x52, flags: 0x0},
344: {region: 0x164, script: 0x52, flags: 0x0},
- 345: {region: 0x77, script: 0x52, flags: 0x0},
- 346: {region: 0x134, script: 0x52, flags: 0x0},
- 347: {region: 0x77, script: 0x52, flags: 0x0},
- 348: {region: 0x5f, script: 0x52, flags: 0x0},
- 349: {region: 0x5f, script: 0x52, flags: 0x0},
- 350: {region: 0x51, script: 0x5, flags: 0x0},
- 351: {region: 0x13f, script: 0x52, flags: 0x0},
- 352: {region: 0x164, script: 0x52, flags: 0x0},
- 353: {region: 0x83, script: 0x52, flags: 0x0},
- 354: {region: 0x164, script: 0x52, flags: 0x0},
- 355: {region: 0xd3, script: 0x52, flags: 0x0},
- 356: {region: 0x9d, script: 0x52, flags: 0x0},
- 357: {region: 0xd5, script: 0x52, flags: 0x0},
+ 345: {region: 0x3a, script: 0x52, flags: 0x0},
+ 346: {region: 0x164, script: 0x52, flags: 0x0},
+ 347: {region: 0x164, script: 0x52, flags: 0x0},
+ 348: {region: 0x164, script: 0x52, flags: 0x0},
+ 349: {region: 0x77, script: 0x52, flags: 0x0},
+ 350: {region: 0x134, script: 0x52, flags: 0x0},
+ 351: {region: 0x77, script: 0x52, flags: 0x0},
+ 352: {region: 0x5f, script: 0x52, flags: 0x0},
+ 353: {region: 0x5f, script: 0x52, flags: 0x0},
+ 354: {region: 0x51, script: 0x5, flags: 0x0},
+ 355: {region: 0x13f, script: 0x52, flags: 0x0},
+ 356: {region: 0x164, script: 0x52, flags: 0x0},
+ 357: {region: 0x83, script: 0x52, flags: 0x0},
358: {region: 0x164, script: 0x52, flags: 0x0},
- 359: {region: 0x10a, script: 0x52, flags: 0x0},
- 360: {region: 0xd8, script: 0x52, flags: 0x0},
- 361: {region: 0x95, script: 0x52, flags: 0x0},
- 362: {region: 0x7f, script: 0x52, flags: 0x0},
- 363: {region: 0x164, script: 0x52, flags: 0x0},
- 364: {region: 0xbb, script: 0x52, flags: 0x0},
- 365: {region: 0x164, script: 0x52, flags: 0x0},
- 366: {region: 0x164, script: 0x52, flags: 0x0},
+ 359: {region: 0xd3, script: 0x52, flags: 0x0},
+ 360: {region: 0x9d, script: 0x52, flags: 0x0},
+ 361: {region: 0xd5, script: 0x52, flags: 0x0},
+ 362: {region: 0x164, script: 0x52, flags: 0x0},
+ 363: {region: 0x10a, script: 0x52, flags: 0x0},
+ 364: {region: 0xd8, script: 0x52, flags: 0x0},
+ 365: {region: 0x95, script: 0x52, flags: 0x0},
+ 366: {region: 0x7f, script: 0x52, flags: 0x0},
367: {region: 0x164, script: 0x52, flags: 0x0},
- 368: {region: 0x52, script: 0x34, flags: 0x0},
+ 368: {region: 0xbb, script: 0x52, flags: 0x0},
369: {region: 0x164, script: 0x52, flags: 0x0},
- 370: {region: 0x94, script: 0x52, flags: 0x0},
+ 370: {region: 0x164, script: 0x52, flags: 0x0},
371: {region: 0x164, script: 0x52, flags: 0x0},
- 372: {region: 0x98, script: 0x20, flags: 0x0},
+ 372: {region: 0x52, script: 0x34, flags: 0x0},
373: {region: 0x164, script: 0x52, flags: 0x0},
- 374: {region: 0x9b, script: 0x5, flags: 0x0},
- 375: {region: 0x7d, script: 0x52, flags: 0x0},
- 376: {region: 0x7a, script: 0x52, flags: 0x0},
+ 374: {region: 0x94, script: 0x52, flags: 0x0},
+ 375: {region: 0x164, script: 0x52, flags: 0x0},
+ 376: {region: 0x98, script: 0x20, flags: 0x0},
377: {region: 0x164, script: 0x52, flags: 0x0},
- 378: {region: 0x164, script: 0x52, flags: 0x0},
- 379: {region: 0x164, script: 0x52, flags: 0x0},
- 380: {region: 0x164, script: 0x52, flags: 0x0},
+ 378: {region: 0x9b, script: 0x5, flags: 0x0},
+ 379: {region: 0x7d, script: 0x52, flags: 0x0},
+ 380: {region: 0x7a, script: 0x52, flags: 0x0},
381: {region: 0x164, script: 0x52, flags: 0x0},
382: {region: 0x164, script: 0x52, flags: 0x0},
- 383: {region: 0x6e, script: 0x27, flags: 0x0},
+ 383: {region: 0x164, script: 0x52, flags: 0x0},
384: {region: 0x164, script: 0x52, flags: 0x0},
- 385: {region: 0xda, script: 0x20, flags: 0x0},
+ 385: {region: 0x164, script: 0x52, flags: 0x0},
386: {region: 0x164, script: 0x52, flags: 0x0},
- 387: {region: 0xa6, script: 0x52, flags: 0x0},
+ 387: {region: 0x6e, script: 0x27, flags: 0x0},
388: {region: 0x164, script: 0x52, flags: 0x0},
- 389: {region: 0xe7, script: 0x5, flags: 0x0},
+ 389: {region: 0xda, script: 0x20, flags: 0x0},
390: {region: 0x164, script: 0x52, flags: 0x0},
- 391: {region: 0xe7, script: 0x5, flags: 0x0},
+ 391: {region: 0xa6, script: 0x52, flags: 0x0},
392: {region: 0x164, script: 0x52, flags: 0x0},
- 393: {region: 0x164, script: 0x52, flags: 0x0},
- 394: {region: 0x6d, script: 0x52, flags: 0x0},
- 395: {region: 0x9b, script: 0x5, flags: 0x0},
+ 393: {region: 0xe7, script: 0x5, flags: 0x0},
+ 394: {region: 0x164, script: 0x52, flags: 0x0},
+ 395: {region: 0xe7, script: 0x5, flags: 0x0},
396: {region: 0x164, script: 0x52, flags: 0x0},
- 397: {region: 0x164, script: 0x27, flags: 0x0},
- 398: {region: 0xf0, script: 0x52, flags: 0x0},
- 399: {region: 0x164, script: 0x52, flags: 0x0},
+ 397: {region: 0x164, script: 0x52, flags: 0x0},
+ 398: {region: 0x6d, script: 0x52, flags: 0x0},
+ 399: {region: 0x9b, script: 0x5, flags: 0x0},
400: {region: 0x164, script: 0x52, flags: 0x0},
- 401: {region: 0x164, script: 0x52, flags: 0x0},
- 402: {region: 0x164, script: 0x27, flags: 0x0},
+ 401: {region: 0x164, script: 0x27, flags: 0x0},
+ 402: {region: 0xf0, script: 0x52, flags: 0x0},
403: {region: 0x164, script: 0x52, flags: 0x0},
- 404: {region: 0x98, script: 0x20, flags: 0x0},
- 405: {region: 0x98, script: 0xd0, flags: 0x0},
- 406: {region: 0x94, script: 0x52, flags: 0x0},
- 407: {region: 0xd8, script: 0x52, flags: 0x0},
- 408: {region: 0x12f, script: 0x2b, flags: 0x0},
- 409: {region: 0x10, script: 0x2, flags: 0x1},
- 410: {region: 0x98, script: 0xe, flags: 0x0},
- 411: {region: 0x164, script: 0x52, flags: 0x0},
- 412: {region: 0x4d, script: 0x52, flags: 0x0},
- 413: {region: 0x98, script: 0x2e, flags: 0x0},
- 414: {region: 0x40, script: 0x52, flags: 0x0},
- 415: {region: 0x53, script: 0x52, flags: 0x0},
+ 404: {region: 0x164, script: 0x52, flags: 0x0},
+ 405: {region: 0x164, script: 0x52, flags: 0x0},
+ 406: {region: 0x164, script: 0x27, flags: 0x0},
+ 407: {region: 0x164, script: 0x52, flags: 0x0},
+ 408: {region: 0x98, script: 0x20, flags: 0x0},
+ 409: {region: 0x98, script: 0xd0, flags: 0x0},
+ 410: {region: 0x94, script: 0x52, flags: 0x0},
+ 411: {region: 0xd8, script: 0x52, flags: 0x0},
+ 412: {region: 0x12f, script: 0x2b, flags: 0x0},
+ 413: {region: 0x164, script: 0x52, flags: 0x0},
+ 414: {region: 0xe, script: 0x2, flags: 0x1},
+ 415: {region: 0x98, script: 0xe, flags: 0x0},
416: {region: 0x164, script: 0x52, flags: 0x0},
- 417: {region: 0x7f, script: 0x52, flags: 0x0},
- 418: {region: 0x164, script: 0x52, flags: 0x0},
- 419: {region: 0x164, script: 0x52, flags: 0x0},
- 420: {region: 0xa3, script: 0x52, flags: 0x0},
- 421: {region: 0x97, script: 0x52, flags: 0x0},
- 422: {region: 0x164, script: 0x52, flags: 0x0},
- 423: {region: 0xda, script: 0x20, flags: 0x0},
+ 417: {region: 0x4d, script: 0x52, flags: 0x0},
+ 418: {region: 0x98, script: 0x2e, flags: 0x0},
+ 419: {region: 0x40, script: 0x52, flags: 0x0},
+ 420: {region: 0x53, script: 0x52, flags: 0x0},
+ 421: {region: 0x164, script: 0x52, flags: 0x0},
+ 422: {region: 0x7f, script: 0x52, flags: 0x0},
+ 423: {region: 0x164, script: 0x52, flags: 0x0},
424: {region: 0x164, script: 0x52, flags: 0x0},
- 425: {region: 0x164, script: 0x5, flags: 0x0},
- 426: {region: 0x48, script: 0x52, flags: 0x0},
- 427: {region: 0x164, script: 0x5, flags: 0x0},
- 428: {region: 0x164, script: 0x52, flags: 0x0},
- 429: {region: 0x12, script: 0x3, flags: 0x1},
- 430: {region: 0x164, script: 0x52, flags: 0x0},
- 431: {region: 0x52, script: 0x34, flags: 0x0},
- 432: {region: 0x164, script: 0x52, flags: 0x0},
- 433: {region: 0x134, script: 0x52, flags: 0x0},
- 434: {region: 0x23, script: 0x5, flags: 0x0},
+ 425: {region: 0xa3, script: 0x52, flags: 0x0},
+ 426: {region: 0x97, script: 0x52, flags: 0x0},
+ 427: {region: 0x164, script: 0x52, flags: 0x0},
+ 428: {region: 0xda, script: 0x20, flags: 0x0},
+ 429: {region: 0x164, script: 0x52, flags: 0x0},
+ 430: {region: 0x164, script: 0x5, flags: 0x0},
+ 431: {region: 0x48, script: 0x52, flags: 0x0},
+ 432: {region: 0x164, script: 0x5, flags: 0x0},
+ 433: {region: 0x164, script: 0x52, flags: 0x0},
+ 434: {region: 0x10, script: 0x3, flags: 0x1},
435: {region: 0x164, script: 0x52, flags: 0x0},
- 436: {region: 0x164, script: 0x27, flags: 0x0},
- 437: {region: 0x96, script: 0x37, flags: 0x0},
- 438: {region: 0x164, script: 0x52, flags: 0x0},
- 439: {region: 0x98, script: 0x20, flags: 0x0},
+ 436: {region: 0x52, script: 0x34, flags: 0x0},
+ 437: {region: 0x164, script: 0x52, flags: 0x0},
+ 438: {region: 0x134, script: 0x52, flags: 0x0},
+ 439: {region: 0x23, script: 0x5, flags: 0x0},
440: {region: 0x164, script: 0x52, flags: 0x0},
- 441: {region: 0x72, script: 0x52, flags: 0x0},
- 442: {region: 0x164, script: 0x52, flags: 0x0},
+ 441: {region: 0x164, script: 0x27, flags: 0x0},
+ 442: {region: 0x96, script: 0x37, flags: 0x0},
443: {region: 0x164, script: 0x52, flags: 0x0},
- 444: {region: 0xe6, script: 0x52, flags: 0x0},
+ 444: {region: 0x98, script: 0x20, flags: 0x0},
445: {region: 0x164, script: 0x52, flags: 0x0},
- 446: {region: 0x12a, script: 0x39, flags: 0x0},
- 447: {region: 0x52, script: 0x81, flags: 0x0},
+ 446: {region: 0x72, script: 0x52, flags: 0x0},
+ 447: {region: 0x164, script: 0x52, flags: 0x0},
448: {region: 0x164, script: 0x52, flags: 0x0},
- 449: {region: 0xe7, script: 0x5, flags: 0x0},
- 450: {region: 0x98, script: 0x20, flags: 0x0},
- 451: {region: 0xae, script: 0x3a, flags: 0x0},
- 452: {region: 0xe6, script: 0x52, flags: 0x0},
- 453: {region: 0xe7, script: 0x5, flags: 0x0},
- 454: {region: 0xe5, script: 0x52, flags: 0x0},
+ 449: {region: 0xe6, script: 0x52, flags: 0x0},
+ 450: {region: 0x164, script: 0x52, flags: 0x0},
+ 451: {region: 0x12a, script: 0x39, flags: 0x0},
+ 452: {region: 0x52, script: 0x81, flags: 0x0},
+ 453: {region: 0x164, script: 0x52, flags: 0x0},
+ 454: {region: 0xe7, script: 0x5, flags: 0x0},
455: {region: 0x98, script: 0x20, flags: 0x0},
- 456: {region: 0x98, script: 0x20, flags: 0x0},
- 457: {region: 0x164, script: 0x52, flags: 0x0},
- 458: {region: 0x8f, script: 0x52, flags: 0x0},
- 459: {region: 0x5f, script: 0x52, flags: 0x0},
- 460: {region: 0x52, script: 0x34, flags: 0x0},
- 461: {region: 0x90, script: 0x52, flags: 0x0},
- 462: {region: 0x91, script: 0x52, flags: 0x0},
- 463: {region: 0x164, script: 0x52, flags: 0x0},
- 464: {region: 0x27, script: 0x8, flags: 0x0},
- 465: {region: 0xd1, script: 0x52, flags: 0x0},
- 466: {region: 0x77, script: 0x52, flags: 0x0},
- 467: {region: 0x164, script: 0x52, flags: 0x0},
+ 456: {region: 0xae, script: 0x3a, flags: 0x0},
+ 457: {region: 0xe6, script: 0x52, flags: 0x0},
+ 458: {region: 0xe7, script: 0x5, flags: 0x0},
+ 459: {region: 0xe5, script: 0x52, flags: 0x0},
+ 460: {region: 0x98, script: 0x20, flags: 0x0},
+ 461: {region: 0x98, script: 0x20, flags: 0x0},
+ 462: {region: 0x164, script: 0x52, flags: 0x0},
+ 463: {region: 0x8f, script: 0x52, flags: 0x0},
+ 464: {region: 0x5f, script: 0x52, flags: 0x0},
+ 465: {region: 0x52, script: 0x34, flags: 0x0},
+ 466: {region: 0x90, script: 0x52, flags: 0x0},
+ 467: {region: 0x91, script: 0x52, flags: 0x0},
468: {region: 0x164, script: 0x52, flags: 0x0},
- 469: {region: 0xcf, script: 0x52, flags: 0x0},
- 470: {region: 0xd5, script: 0x52, flags: 0x0},
- 471: {region: 0x164, script: 0x52, flags: 0x0},
+ 469: {region: 0x27, script: 0x8, flags: 0x0},
+ 470: {region: 0xd1, script: 0x52, flags: 0x0},
+ 471: {region: 0x77, script: 0x52, flags: 0x0},
472: {region: 0x164, script: 0x52, flags: 0x0},
473: {region: 0x164, script: 0x52, flags: 0x0},
- 474: {region: 0x94, script: 0x52, flags: 0x0},
- 475: {region: 0x164, script: 0x52, flags: 0x0},
+ 474: {region: 0xcf, script: 0x52, flags: 0x0},
+ 475: {region: 0xd5, script: 0x52, flags: 0x0},
476: {region: 0x164, script: 0x52, flags: 0x0},
477: {region: 0x164, script: 0x52, flags: 0x0},
- 479: {region: 0xd5, script: 0x52, flags: 0x0},
+ 478: {region: 0x164, script: 0x52, flags: 0x0},
+ 479: {region: 0x94, script: 0x52, flags: 0x0},
480: {region: 0x164, script: 0x52, flags: 0x0},
481: {region: 0x164, script: 0x52, flags: 0x0},
- 482: {region: 0x52, script: 0xdf, flags: 0x0},
- 483: {region: 0x164, script: 0x52, flags: 0x0},
- 484: {region: 0x134, script: 0x52, flags: 0x0},
- 485: {region: 0x164, script: 0x52, flags: 0x0},
- 486: {region: 0x48, script: 0x52, flags: 0x0},
+ 482: {region: 0x164, script: 0x52, flags: 0x0},
+ 484: {region: 0x121, script: 0x52, flags: 0x0},
+ 485: {region: 0xd5, script: 0x52, flags: 0x0},
+ 486: {region: 0x164, script: 0x52, flags: 0x0},
487: {region: 0x164, script: 0x52, flags: 0x0},
- 488: {region: 0x164, script: 0x52, flags: 0x0},
- 489: {region: 0xe6, script: 0x52, flags: 0x0},
- 490: {region: 0x164, script: 0x52, flags: 0x0},
- 491: {region: 0x94, script: 0x52, flags: 0x0},
- 492: {region: 0x105, script: 0x1e, flags: 0x0},
+ 488: {region: 0x52, script: 0xdf, flags: 0x0},
+ 489: {region: 0x164, script: 0x52, flags: 0x0},
+ 490: {region: 0x134, script: 0x52, flags: 0x0},
+ 491: {region: 0x164, script: 0x52, flags: 0x0},
+ 492: {region: 0x48, script: 0x52, flags: 0x0},
+ 493: {region: 0x164, script: 0x52, flags: 0x0},
494: {region: 0x164, script: 0x52, flags: 0x0},
- 495: {region: 0x164, script: 0x52, flags: 0x0},
- 496: {region: 0x9c, script: 0x52, flags: 0x0},
- 497: {region: 0x9d, script: 0x52, flags: 0x0},
- 498: {region: 0x48, script: 0x17, flags: 0x0},
- 499: {region: 0x96, script: 0x37, flags: 0x0},
+ 495: {region: 0xe6, script: 0x52, flags: 0x0},
+ 496: {region: 0x164, script: 0x52, flags: 0x0},
+ 497: {region: 0x94, script: 0x52, flags: 0x0},
+ 498: {region: 0x105, script: 0x1e, flags: 0x0},
500: {region: 0x164, script: 0x52, flags: 0x0},
501: {region: 0x164, script: 0x52, flags: 0x0},
- 502: {region: 0x105, script: 0x52, flags: 0x0},
- 503: {region: 0x164, script: 0x52, flags: 0x0},
- 504: {region: 0xa1, script: 0x41, flags: 0x0},
- 505: {region: 0x164, script: 0x52, flags: 0x0},
- 506: {region: 0x9f, script: 0x52, flags: 0x0},
- 508: {region: 0x164, script: 0x52, flags: 0x0},
+ 502: {region: 0x9c, script: 0x52, flags: 0x0},
+ 503: {region: 0x9d, script: 0x52, flags: 0x0},
+ 504: {region: 0x48, script: 0x17, flags: 0x0},
+ 505: {region: 0x96, script: 0x37, flags: 0x0},
+ 506: {region: 0x164, script: 0x52, flags: 0x0},
+ 507: {region: 0x164, script: 0x52, flags: 0x0},
+ 508: {region: 0x105, script: 0x52, flags: 0x0},
509: {region: 0x164, script: 0x52, flags: 0x0},
- 510: {region: 0x164, script: 0x52, flags: 0x0},
- 511: {region: 0x51, script: 0x52, flags: 0x0},
- 512: {region: 0x12f, script: 0x37, flags: 0x0},
- 513: {region: 0x164, script: 0x52, flags: 0x0},
- 514: {region: 0x12e, script: 0x52, flags: 0x0},
- 515: {region: 0xda, script: 0x20, flags: 0x0},
+ 510: {region: 0xa1, script: 0x41, flags: 0x0},
+ 511: {region: 0x164, script: 0x52, flags: 0x0},
+ 512: {region: 0x9f, script: 0x52, flags: 0x0},
+ 514: {region: 0x164, script: 0x52, flags: 0x0},
+ 515: {region: 0x164, script: 0x52, flags: 0x0},
516: {region: 0x164, script: 0x52, flags: 0x0},
- 517: {region: 0x62, script: 0x52, flags: 0x0},
- 518: {region: 0x94, script: 0x52, flags: 0x0},
- 519: {region: 0x94, script: 0x52, flags: 0x0},
- 520: {region: 0x7c, script: 0x29, flags: 0x0},
- 521: {region: 0x136, script: 0x1e, flags: 0x0},
- 522: {region: 0x66, script: 0x52, flags: 0x0},
- 523: {region: 0xc3, script: 0x52, flags: 0x0},
- 524: {region: 0x164, script: 0x52, flags: 0x0},
- 525: {region: 0x164, script: 0x52, flags: 0x0},
- 526: {region: 0xd5, script: 0x52, flags: 0x0},
- 527: {region: 0xa3, script: 0x52, flags: 0x0},
- 528: {region: 0xc2, script: 0x52, flags: 0x0},
- 529: {region: 0x105, script: 0x1e, flags: 0x0},
+ 517: {region: 0x51, script: 0x52, flags: 0x0},
+ 518: {region: 0x12f, script: 0x37, flags: 0x0},
+ 519: {region: 0x164, script: 0x52, flags: 0x0},
+ 520: {region: 0x12e, script: 0x52, flags: 0x0},
+ 521: {region: 0xda, script: 0x20, flags: 0x0},
+ 522: {region: 0x164, script: 0x52, flags: 0x0},
+ 523: {region: 0x62, script: 0x52, flags: 0x0},
+ 524: {region: 0x94, script: 0x52, flags: 0x0},
+ 525: {region: 0x94, script: 0x52, flags: 0x0},
+ 526: {region: 0x7c, script: 0x29, flags: 0x0},
+ 527: {region: 0x136, script: 0x1e, flags: 0x0},
+ 528: {region: 0x66, script: 0x52, flags: 0x0},
+ 529: {region: 0xc3, script: 0x52, flags: 0x0},
530: {region: 0x164, script: 0x52, flags: 0x0},
531: {region: 0x164, script: 0x52, flags: 0x0},
- 532: {region: 0x164, script: 0x52, flags: 0x0},
- 533: {region: 0x164, script: 0x52, flags: 0x0},
- 534: {region: 0xd3, script: 0x5, flags: 0x0},
- 535: {region: 0xd5, script: 0x52, flags: 0x0},
- 536: {region: 0x163, script: 0x52, flags: 0x0},
+ 532: {region: 0xd5, script: 0x52, flags: 0x0},
+ 533: {region: 0xa3, script: 0x52, flags: 0x0},
+ 534: {region: 0xc2, script: 0x52, flags: 0x0},
+ 535: {region: 0x105, script: 0x1e, flags: 0x0},
+ 536: {region: 0x164, script: 0x52, flags: 0x0},
537: {region: 0x164, script: 0x52, flags: 0x0},
538: {region: 0x164, script: 0x52, flags: 0x0},
- 539: {region: 0x12e, script: 0x52, flags: 0x0},
- 540: {region: 0x121, script: 0x5, flags: 0x0},
- 541: {region: 0x164, script: 0x52, flags: 0x0},
- 542: {region: 0x122, script: 0xd5, flags: 0x0},
- 543: {region: 0x59, script: 0x52, flags: 0x0},
- 544: {region: 0x51, script: 0x52, flags: 0x0},
- 545: {region: 0x164, script: 0x52, flags: 0x0},
- 546: {region: 0x4e, script: 0x52, flags: 0x0},
- 547: {region: 0x98, script: 0x20, flags: 0x0},
- 548: {region: 0x98, script: 0x20, flags: 0x0},
- 549: {region: 0x4a, script: 0x52, flags: 0x0},
- 550: {region: 0x94, script: 0x52, flags: 0x0},
+ 539: {region: 0x164, script: 0x52, flags: 0x0},
+ 540: {region: 0xd3, script: 0x5, flags: 0x0},
+ 541: {region: 0xd5, script: 0x52, flags: 0x0},
+ 542: {region: 0x163, script: 0x52, flags: 0x0},
+ 543: {region: 0x164, script: 0x52, flags: 0x0},
+ 544: {region: 0x164, script: 0x52, flags: 0x0},
+ 545: {region: 0x12e, script: 0x52, flags: 0x0},
+ 546: {region: 0x121, script: 0x5, flags: 0x0},
+ 547: {region: 0x164, script: 0x52, flags: 0x0},
+ 548: {region: 0x122, script: 0xd5, flags: 0x0},
+ 549: {region: 0x59, script: 0x52, flags: 0x0},
+ 550: {region: 0x51, script: 0x52, flags: 0x0},
551: {region: 0x164, script: 0x52, flags: 0x0},
- 552: {region: 0x40, script: 0x52, flags: 0x0},
- 553: {region: 0x98, script: 0x52, flags: 0x0},
- 554: {region: 0x52, script: 0xcc, flags: 0x0},
- 555: {region: 0x98, script: 0x20, flags: 0x0},
- 556: {region: 0xc2, script: 0x52, flags: 0x0},
+ 552: {region: 0x4e, script: 0x52, flags: 0x0},
+ 553: {region: 0x98, script: 0x20, flags: 0x0},
+ 554: {region: 0x98, script: 0x20, flags: 0x0},
+ 555: {region: 0x4a, script: 0x52, flags: 0x0},
+ 556: {region: 0x94, script: 0x52, flags: 0x0},
557: {region: 0x164, script: 0x52, flags: 0x0},
- 558: {region: 0x98, script: 0x6b, flags: 0x0},
- 559: {region: 0xe7, script: 0x5, flags: 0x0},
- 560: {region: 0x164, script: 0x52, flags: 0x0},
- 561: {region: 0xa3, script: 0x52, flags: 0x0},
- 562: {region: 0x164, script: 0x52, flags: 0x0},
- 563: {region: 0x12a, script: 0x52, flags: 0x0},
- 564: {region: 0x164, script: 0x52, flags: 0x0},
- 565: {region: 0xd1, script: 0x52, flags: 0x0},
+ 558: {region: 0x40, script: 0x52, flags: 0x0},
+ 559: {region: 0x98, script: 0x52, flags: 0x0},
+ 560: {region: 0x52, script: 0xcc, flags: 0x0},
+ 561: {region: 0x98, script: 0x20, flags: 0x0},
+ 562: {region: 0xc2, script: 0x52, flags: 0x0},
+ 563: {region: 0x164, script: 0x52, flags: 0x0},
+ 564: {region: 0x98, script: 0x6b, flags: 0x0},
+ 565: {region: 0xe7, script: 0x5, flags: 0x0},
566: {region: 0x164, script: 0x52, flags: 0x0},
- 567: {region: 0xae, script: 0x4f, flags: 0x0},
+ 567: {region: 0xa3, script: 0x52, flags: 0x0},
568: {region: 0x164, script: 0x52, flags: 0x0},
- 569: {region: 0x164, script: 0x52, flags: 0x0},
- 570: {region: 0x15, script: 0x6, flags: 0x1},
- 571: {region: 0x164, script: 0x52, flags: 0x0},
- 572: {region: 0x51, script: 0x52, flags: 0x0},
- 573: {region: 0x81, script: 0x52, flags: 0x0},
- 574: {region: 0xa3, script: 0x52, flags: 0x0},
+ 569: {region: 0x12a, script: 0x52, flags: 0x0},
+ 570: {region: 0x164, script: 0x52, flags: 0x0},
+ 571: {region: 0xd1, script: 0x52, flags: 0x0},
+ 572: {region: 0x164, script: 0x52, flags: 0x0},
+ 573: {region: 0xae, script: 0x4f, flags: 0x0},
+ 574: {region: 0x164, script: 0x52, flags: 0x0},
575: {region: 0x164, script: 0x52, flags: 0x0},
- 576: {region: 0x164, script: 0x52, flags: 0x0},
+ 576: {region: 0x13, script: 0x6, flags: 0x1},
577: {region: 0x164, script: 0x52, flags: 0x0},
- 578: {region: 0xa5, script: 0x46, flags: 0x0},
- 579: {region: 0x29, script: 0x52, flags: 0x0},
- 580: {region: 0x164, script: 0x52, flags: 0x0},
+ 578: {region: 0x51, script: 0x52, flags: 0x0},
+ 579: {region: 0x81, script: 0x52, flags: 0x0},
+ 580: {region: 0xa3, script: 0x52, flags: 0x0},
581: {region: 0x164, script: 0x52, flags: 0x0},
582: {region: 0x164, script: 0x52, flags: 0x0},
583: {region: 0x164, script: 0x52, flags: 0x0},
- 584: {region: 0x164, script: 0x52, flags: 0x0},
- 585: {region: 0x98, script: 0x4a, flags: 0x0},
+ 584: {region: 0xa5, script: 0x46, flags: 0x0},
+ 585: {region: 0x29, script: 0x52, flags: 0x0},
586: {region: 0x164, script: 0x52, flags: 0x0},
- 587: {region: 0xaa, script: 0x4b, flags: 0x0},
- 588: {region: 0x105, script: 0x1e, flags: 0x0},
- 589: {region: 0x98, script: 0x20, flags: 0x0},
+ 587: {region: 0x164, script: 0x52, flags: 0x0},
+ 588: {region: 0x164, script: 0x52, flags: 0x0},
+ 589: {region: 0x164, script: 0x52, flags: 0x0},
590: {region: 0x164, script: 0x52, flags: 0x0},
- 591: {region: 0x74, script: 0x52, flags: 0x0},
- 592: {region: 0x164, script: 0x52, flags: 0x0},
- 593: {region: 0xb3, script: 0x52, flags: 0x0},
- 594: {region: 0x164, script: 0x52, flags: 0x0},
- 595: {region: 0x164, script: 0x52, flags: 0x0},
- 596: {region: 0x164, script: 0x52, flags: 0x0},
+ 591: {region: 0x98, script: 0x4a, flags: 0x0},
+ 592: {region: 0x113, script: 0x52, flags: 0x0},
+ 593: {region: 0x164, script: 0x52, flags: 0x0},
+ 594: {region: 0xaa, script: 0x4b, flags: 0x0},
+ 595: {region: 0x105, script: 0x1e, flags: 0x0},
+ 596: {region: 0x98, script: 0x20, flags: 0x0},
597: {region: 0x164, script: 0x52, flags: 0x0},
- 598: {region: 0x164, script: 0x52, flags: 0x0},
+ 598: {region: 0x74, script: 0x52, flags: 0x0},
599: {region: 0x164, script: 0x52, flags: 0x0},
- 600: {region: 0x164, script: 0x52, flags: 0x0},
- 601: {region: 0x164, script: 0x27, flags: 0x0},
- 603: {region: 0x105, script: 0x1e, flags: 0x0},
- 604: {region: 0x111, script: 0x52, flags: 0x0},
- 605: {region: 0xe6, script: 0x52, flags: 0x0},
- 606: {region: 0x105, script: 0x52, flags: 0x0},
+ 600: {region: 0xb3, script: 0x52, flags: 0x0},
+ 601: {region: 0x164, script: 0x52, flags: 0x0},
+ 602: {region: 0x164, script: 0x52, flags: 0x0},
+ 603: {region: 0x164, script: 0x52, flags: 0x0},
+ 604: {region: 0x164, script: 0x52, flags: 0x0},
+ 605: {region: 0x164, script: 0x52, flags: 0x0},
+ 606: {region: 0x164, script: 0x52, flags: 0x0},
607: {region: 0x164, script: 0x52, flags: 0x0},
- 608: {region: 0x98, script: 0x20, flags: 0x0},
- 609: {region: 0x98, script: 0x5, flags: 0x0},
- 610: {region: 0x12e, script: 0x52, flags: 0x0},
- 611: {region: 0x164, script: 0x52, flags: 0x0},
- 612: {region: 0x51, script: 0x52, flags: 0x0},
- 613: {region: 0x5f, script: 0x52, flags: 0x0},
+ 608: {region: 0x164, script: 0x27, flags: 0x0},
+ 610: {region: 0x105, script: 0x1e, flags: 0x0},
+ 611: {region: 0x111, script: 0x52, flags: 0x0},
+ 612: {region: 0xe6, script: 0x52, flags: 0x0},
+ 613: {region: 0x105, script: 0x52, flags: 0x0},
614: {region: 0x164, script: 0x52, flags: 0x0},
- 615: {region: 0x164, script: 0x52, flags: 0x0},
- 616: {region: 0x164, script: 0x27, flags: 0x0},
- 617: {region: 0x164, script: 0x52, flags: 0x0},
+ 615: {region: 0x98, script: 0x20, flags: 0x0},
+ 616: {region: 0x98, script: 0x5, flags: 0x0},
+ 617: {region: 0x12e, script: 0x52, flags: 0x0},
618: {region: 0x164, script: 0x52, flags: 0x0},
- 619: {region: 0x1b, script: 0x3, flags: 0x1},
- 620: {region: 0x164, script: 0x52, flags: 0x0},
+ 619: {region: 0x51, script: 0x52, flags: 0x0},
+ 620: {region: 0x5f, script: 0x52, flags: 0x0},
621: {region: 0x164, script: 0x52, flags: 0x0},
622: {region: 0x164, script: 0x52, flags: 0x0},
- 623: {region: 0x164, script: 0x52, flags: 0x0},
- 624: {region: 0x105, script: 0x1e, flags: 0x0},
+ 623: {region: 0x164, script: 0x27, flags: 0x0},
+ 624: {region: 0x164, script: 0x52, flags: 0x0},
625: {region: 0x164, script: 0x52, flags: 0x0},
- 626: {region: 0x164, script: 0x52, flags: 0x0},
+ 626: {region: 0x19, script: 0x3, flags: 0x1},
627: {region: 0x164, script: 0x52, flags: 0x0},
- 628: {region: 0x105, script: 0x1e, flags: 0x0},
+ 628: {region: 0x164, script: 0x52, flags: 0x0},
629: {region: 0x164, script: 0x52, flags: 0x0},
- 630: {region: 0x94, script: 0x52, flags: 0x0},
- 631: {region: 0xe7, script: 0x5, flags: 0x0},
- 632: {region: 0x7a, script: 0x52, flags: 0x0},
+ 630: {region: 0x164, script: 0x52, flags: 0x0},
+ 631: {region: 0x105, script: 0x1e, flags: 0x0},
+ 632: {region: 0x164, script: 0x52, flags: 0x0},
633: {region: 0x164, script: 0x52, flags: 0x0},
634: {region: 0x164, script: 0x52, flags: 0x0},
- 635: {region: 0x164, script: 0x52, flags: 0x0},
- 636: {region: 0x164, script: 0x27, flags: 0x0},
- 637: {region: 0x122, script: 0xd5, flags: 0x0},
+ 635: {region: 0x105, script: 0x1e, flags: 0x0},
+ 636: {region: 0x164, script: 0x52, flags: 0x0},
+ 637: {region: 0x94, script: 0x52, flags: 0x0},
638: {region: 0xe7, script: 0x5, flags: 0x0},
- 639: {region: 0x164, script: 0x52, flags: 0x0},
+ 639: {region: 0x7a, script: 0x52, flags: 0x0},
640: {region: 0x164, script: 0x52, flags: 0x0},
- 641: {region: 0x1e, script: 0x5, flags: 0x1},
+ 641: {region: 0x164, script: 0x52, flags: 0x0},
642: {region: 0x164, script: 0x52, flags: 0x0},
- 643: {region: 0x164, script: 0x52, flags: 0x0},
- 644: {region: 0x164, script: 0x52, flags: 0x0},
- 645: {region: 0x137, script: 0x52, flags: 0x0},
- 646: {region: 0x86, script: 0x56, flags: 0x0},
- 647: {region: 0x96, script: 0x37, flags: 0x0},
- 648: {region: 0x12e, script: 0x52, flags: 0x0},
- 649: {region: 0xe7, script: 0x5, flags: 0x0},
- 650: {region: 0x130, script: 0x52, flags: 0x0},
+ 643: {region: 0x164, script: 0x27, flags: 0x0},
+ 644: {region: 0x122, script: 0xd5, flags: 0x0},
+ 645: {region: 0xe7, script: 0x5, flags: 0x0},
+ 646: {region: 0x164, script: 0x52, flags: 0x0},
+ 647: {region: 0x164, script: 0x52, flags: 0x0},
+ 648: {region: 0x1c, script: 0x5, flags: 0x1},
+ 649: {region: 0x164, script: 0x52, flags: 0x0},
+ 650: {region: 0x164, script: 0x52, flags: 0x0},
651: {region: 0x164, script: 0x52, flags: 0x0},
- 652: {region: 0xb6, script: 0x52, flags: 0x0},
- 653: {region: 0x105, script: 0x1e, flags: 0x0},
- 654: {region: 0x164, script: 0x52, flags: 0x0},
- 655: {region: 0x94, script: 0x52, flags: 0x0},
- 656: {region: 0x164, script: 0x52, flags: 0x0},
- 657: {region: 0x52, script: 0xd5, flags: 0x0},
+ 652: {region: 0x137, script: 0x52, flags: 0x0},
+ 653: {region: 0x86, script: 0x56, flags: 0x0},
+ 654: {region: 0x96, script: 0x37, flags: 0x0},
+ 655: {region: 0x12e, script: 0x52, flags: 0x0},
+ 656: {region: 0xe7, script: 0x5, flags: 0x0},
+ 657: {region: 0x130, script: 0x52, flags: 0x0},
658: {region: 0x164, script: 0x52, flags: 0x0},
- 659: {region: 0x164, script: 0x52, flags: 0x0},
- 660: {region: 0x164, script: 0x52, flags: 0x0},
+ 659: {region: 0xb6, script: 0x52, flags: 0x0},
+ 660: {region: 0x105, script: 0x1e, flags: 0x0},
661: {region: 0x164, script: 0x52, flags: 0x0},
- 662: {region: 0x98, script: 0x54, flags: 0x0},
+ 662: {region: 0x94, script: 0x52, flags: 0x0},
663: {region: 0x164, script: 0x52, flags: 0x0},
- 664: {region: 0x164, script: 0x52, flags: 0x0},
- 665: {region: 0x105, script: 0x1e, flags: 0x0},
- 666: {region: 0x130, script: 0x52, flags: 0x0},
+ 664: {region: 0x52, script: 0xd5, flags: 0x0},
+ 665: {region: 0x164, script: 0x52, flags: 0x0},
+ 666: {region: 0x164, script: 0x52, flags: 0x0},
667: {region: 0x164, script: 0x52, flags: 0x0},
- 668: {region: 0xd8, script: 0x52, flags: 0x0},
- 669: {region: 0x164, script: 0x52, flags: 0x0},
+ 668: {region: 0x164, script: 0x52, flags: 0x0},
+ 669: {region: 0x98, script: 0x54, flags: 0x0},
670: {region: 0x164, script: 0x52, flags: 0x0},
- 671: {region: 0x23, script: 0x2, flags: 0x1},
- 672: {region: 0x164, script: 0x52, flags: 0x0},
- 673: {region: 0x164, script: 0x52, flags: 0x0},
- 674: {region: 0x9d, script: 0x52, flags: 0x0},
- 675: {region: 0x52, script: 0x58, flags: 0x0},
- 676: {region: 0x94, script: 0x52, flags: 0x0},
- 677: {region: 0x9b, script: 0x5, flags: 0x0},
- 678: {region: 0x134, script: 0x52, flags: 0x0},
+ 671: {region: 0x164, script: 0x52, flags: 0x0},
+ 672: {region: 0x105, script: 0x1e, flags: 0x0},
+ 673: {region: 0x130, script: 0x52, flags: 0x0},
+ 674: {region: 0x164, script: 0x52, flags: 0x0},
+ 675: {region: 0xd8, script: 0x52, flags: 0x0},
+ 676: {region: 0x164, script: 0x52, flags: 0x0},
+ 677: {region: 0x164, script: 0x52, flags: 0x0},
+ 678: {region: 0x21, script: 0x2, flags: 0x1},
679: {region: 0x164, script: 0x52, flags: 0x0},
680: {region: 0x164, script: 0x52, flags: 0x0},
- 681: {region: 0x98, script: 0xd0, flags: 0x0},
- 682: {region: 0x9d, script: 0x52, flags: 0x0},
- 683: {region: 0x164, script: 0x52, flags: 0x0},
- 684: {region: 0x4a, script: 0x52, flags: 0x0},
- 685: {region: 0x164, script: 0x52, flags: 0x0},
+ 681: {region: 0x9d, script: 0x52, flags: 0x0},
+ 682: {region: 0x52, script: 0x58, flags: 0x0},
+ 683: {region: 0x94, script: 0x52, flags: 0x0},
+ 684: {region: 0x9b, script: 0x5, flags: 0x0},
+ 685: {region: 0x134, script: 0x52, flags: 0x0},
686: {region: 0x164, script: 0x52, flags: 0x0},
- 687: {region: 0xae, script: 0x4f, flags: 0x0},
- 688: {region: 0x164, script: 0x52, flags: 0x0},
- 689: {region: 0x164, script: 0x52, flags: 0x0},
- 690: {region: 0x4a, script: 0x52, flags: 0x0},
- 691: {region: 0x164, script: 0x52, flags: 0x0},
+ 687: {region: 0x164, script: 0x52, flags: 0x0},
+ 688: {region: 0x98, script: 0xd0, flags: 0x0},
+ 689: {region: 0x9d, script: 0x52, flags: 0x0},
+ 690: {region: 0x164, script: 0x52, flags: 0x0},
+ 691: {region: 0x4a, script: 0x52, flags: 0x0},
692: {region: 0x164, script: 0x52, flags: 0x0},
- 693: {region: 0x161, script: 0x52, flags: 0x0},
- 694: {region: 0x9b, script: 0x5, flags: 0x0},
- 695: {region: 0xb5, script: 0x52, flags: 0x0},
- 696: {region: 0xb7, script: 0x52, flags: 0x0},
+ 693: {region: 0x164, script: 0x52, flags: 0x0},
+ 694: {region: 0xae, script: 0x4f, flags: 0x0},
+ 695: {region: 0x164, script: 0x52, flags: 0x0},
+ 696: {region: 0x164, script: 0x52, flags: 0x0},
697: {region: 0x4a, script: 0x52, flags: 0x0},
- 698: {region: 0x4a, script: 0x52, flags: 0x0},
- 699: {region: 0xa3, script: 0x52, flags: 0x0},
- 700: {region: 0xa3, script: 0x52, flags: 0x0},
+ 698: {region: 0x164, script: 0x52, flags: 0x0},
+ 699: {region: 0x164, script: 0x52, flags: 0x0},
+ 700: {region: 0x161, script: 0x52, flags: 0x0},
701: {region: 0x9b, script: 0x5, flags: 0x0},
- 702: {region: 0xb7, script: 0x52, flags: 0x0},
- 703: {region: 0x122, script: 0xd5, flags: 0x0},
- 704: {region: 0x52, script: 0x34, flags: 0x0},
- 705: {region: 0x12a, script: 0x52, flags: 0x0},
- 706: {region: 0x94, script: 0x52, flags: 0x0},
- 707: {region: 0x51, script: 0x52, flags: 0x0},
- 708: {region: 0x98, script: 0x20, flags: 0x0},
- 709: {region: 0x98, script: 0x20, flags: 0x0},
- 710: {region: 0x94, script: 0x52, flags: 0x0},
- 711: {region: 0x25, script: 0x3, flags: 0x1},
- 712: {region: 0xa3, script: 0x52, flags: 0x0},
- 713: {region: 0x164, script: 0x52, flags: 0x0},
- 714: {region: 0xce, script: 0x52, flags: 0x0},
- 715: {region: 0x164, script: 0x52, flags: 0x0},
- 716: {region: 0x164, script: 0x52, flags: 0x0},
- 717: {region: 0x164, script: 0x52, flags: 0x0},
- 718: {region: 0x164, script: 0x52, flags: 0x0},
- 719: {region: 0x164, script: 0x52, flags: 0x0},
+ 702: {region: 0xb5, script: 0x52, flags: 0x0},
+ 703: {region: 0xb7, script: 0x52, flags: 0x0},
+ 704: {region: 0x4a, script: 0x52, flags: 0x0},
+ 705: {region: 0x4a, script: 0x52, flags: 0x0},
+ 706: {region: 0xa3, script: 0x52, flags: 0x0},
+ 707: {region: 0xa3, script: 0x52, flags: 0x0},
+ 708: {region: 0x9b, script: 0x5, flags: 0x0},
+ 709: {region: 0xb7, script: 0x52, flags: 0x0},
+ 710: {region: 0x122, script: 0xd5, flags: 0x0},
+ 711: {region: 0x52, script: 0x34, flags: 0x0},
+ 712: {region: 0x12a, script: 0x52, flags: 0x0},
+ 713: {region: 0x94, script: 0x52, flags: 0x0},
+ 714: {region: 0x51, script: 0x52, flags: 0x0},
+ 715: {region: 0x98, script: 0x20, flags: 0x0},
+ 716: {region: 0x98, script: 0x20, flags: 0x0},
+ 717: {region: 0x94, script: 0x52, flags: 0x0},
+ 718: {region: 0x23, script: 0x3, flags: 0x1},
+ 719: {region: 0xa3, script: 0x52, flags: 0x0},
720: {region: 0x164, script: 0x52, flags: 0x0},
- 721: {region: 0x164, script: 0x52, flags: 0x0},
+ 721: {region: 0xce, script: 0x52, flags: 0x0},
722: {region: 0x164, script: 0x52, flags: 0x0},
723: {region: 0x164, script: 0x52, flags: 0x0},
724: {region: 0x164, script: 0x52, flags: 0x0},
725: {region: 0x164, script: 0x52, flags: 0x0},
- 726: {region: 0x164, script: 0x5, flags: 0x0},
- 727: {region: 0x105, script: 0x1e, flags: 0x0},
- 728: {region: 0xe6, script: 0x52, flags: 0x0},
+ 726: {region: 0x164, script: 0x52, flags: 0x0},
+ 727: {region: 0x164, script: 0x52, flags: 0x0},
+ 728: {region: 0x164, script: 0x52, flags: 0x0},
729: {region: 0x164, script: 0x52, flags: 0x0},
- 730: {region: 0x94, script: 0x52, flags: 0x0},
- 731: {region: 0x164, script: 0x27, flags: 0x0},
+ 730: {region: 0x164, script: 0x52, flags: 0x0},
+ 731: {region: 0x164, script: 0x52, flags: 0x0},
732: {region: 0x164, script: 0x52, flags: 0x0},
- 733: {region: 0x164, script: 0x52, flags: 0x0},
- 734: {region: 0x164, script: 0x52, flags: 0x0},
- 735: {region: 0x111, script: 0x52, flags: 0x0},
- 736: {region: 0xa3, script: 0x52, flags: 0x0},
- 737: {region: 0x164, script: 0x52, flags: 0x0},
- 738: {region: 0x164, script: 0x52, flags: 0x0},
- 739: {region: 0x122, script: 0x5, flags: 0x0},
- 740: {region: 0xcb, script: 0x52, flags: 0x0},
+ 733: {region: 0x164, script: 0x5, flags: 0x0},
+ 734: {region: 0x105, script: 0x1e, flags: 0x0},
+ 735: {region: 0xe6, script: 0x52, flags: 0x0},
+ 736: {region: 0x164, script: 0x52, flags: 0x0},
+ 737: {region: 0x94, script: 0x52, flags: 0x0},
+ 738: {region: 0x164, script: 0x27, flags: 0x0},
+ 739: {region: 0x164, script: 0x52, flags: 0x0},
+ 740: {region: 0x164, script: 0x52, flags: 0x0},
741: {region: 0x164, script: 0x52, flags: 0x0},
- 742: {region: 0x164, script: 0x52, flags: 0x0},
- 743: {region: 0x164, script: 0x52, flags: 0x0},
- 744: {region: 0xbe, script: 0x52, flags: 0x0},
- 745: {region: 0xd0, script: 0x52, flags: 0x0},
- 746: {region: 0x164, script: 0x52, flags: 0x0},
- 747: {region: 0x51, script: 0x52, flags: 0x0},
- 748: {region: 0xda, script: 0x20, flags: 0x0},
- 749: {region: 0x12e, script: 0x52, flags: 0x0},
- 750: {region: 0xbf, script: 0x52, flags: 0x0},
- 751: {region: 0x164, script: 0x52, flags: 0x0},
- 752: {region: 0x164, script: 0x52, flags: 0x0},
- 753: {region: 0xdf, script: 0x52, flags: 0x0},
- 754: {region: 0x164, script: 0x52, flags: 0x0},
- 755: {region: 0x94, script: 0x52, flags: 0x0},
- 756: {region: 0x9a, script: 0x36, flags: 0x0},
- 757: {region: 0x164, script: 0x52, flags: 0x0},
- 758: {region: 0xc1, script: 0x1e, flags: 0x0},
- 759: {region: 0x164, script: 0x5, flags: 0x0},
- 760: {region: 0x164, script: 0x52, flags: 0x0},
+ 742: {region: 0x111, script: 0x52, flags: 0x0},
+ 743: {region: 0xa3, script: 0x52, flags: 0x0},
+ 744: {region: 0x164, script: 0x52, flags: 0x0},
+ 745: {region: 0x164, script: 0x52, flags: 0x0},
+ 746: {region: 0x122, script: 0x5, flags: 0x0},
+ 747: {region: 0xcb, script: 0x52, flags: 0x0},
+ 748: {region: 0x164, script: 0x52, flags: 0x0},
+ 749: {region: 0x164, script: 0x52, flags: 0x0},
+ 750: {region: 0x164, script: 0x52, flags: 0x0},
+ 751: {region: 0xbe, script: 0x52, flags: 0x0},
+ 752: {region: 0xd0, script: 0x52, flags: 0x0},
+ 753: {region: 0x164, script: 0x52, flags: 0x0},
+ 754: {region: 0x51, script: 0x52, flags: 0x0},
+ 755: {region: 0xda, script: 0x20, flags: 0x0},
+ 756: {region: 0x12e, script: 0x52, flags: 0x0},
+ 757: {region: 0xbf, script: 0x52, flags: 0x0},
+ 758: {region: 0x164, script: 0x52, flags: 0x0},
+ 759: {region: 0x164, script: 0x52, flags: 0x0},
+ 760: {region: 0xdf, script: 0x52, flags: 0x0},
761: {region: 0x164, script: 0x52, flags: 0x0},
- 762: {region: 0x164, script: 0x52, flags: 0x0},
- 763: {region: 0x98, script: 0x64, flags: 0x0},
+ 762: {region: 0x94, script: 0x52, flags: 0x0},
+ 763: {region: 0x9a, script: 0x36, flags: 0x0},
764: {region: 0x164, script: 0x52, flags: 0x0},
- 765: {region: 0x164, script: 0x52, flags: 0x0},
- 766: {region: 0x10a, script: 0x52, flags: 0x0},
+ 765: {region: 0xc1, script: 0x1e, flags: 0x0},
+ 766: {region: 0x164, script: 0x5, flags: 0x0},
767: {region: 0x164, script: 0x52, flags: 0x0},
768: {region: 0x164, script: 0x52, flags: 0x0},
769: {region: 0x164, script: 0x52, flags: 0x0},
- 770: {region: 0x28, script: 0x3, flags: 0x1},
+ 770: {region: 0x98, script: 0x64, flags: 0x0},
771: {region: 0x164, script: 0x52, flags: 0x0},
772: {region: 0x164, script: 0x52, flags: 0x0},
- 773: {region: 0x98, script: 0xe, flags: 0x0},
- 774: {region: 0xc3, script: 0x6b, flags: 0x0},
+ 773: {region: 0x10a, script: 0x52, flags: 0x0},
+ 774: {region: 0x164, script: 0x52, flags: 0x0},
+ 775: {region: 0x164, script: 0x52, flags: 0x0},
776: {region: 0x164, script: 0x52, flags: 0x0},
- 777: {region: 0x48, script: 0x52, flags: 0x0},
- 778: {region: 0x48, script: 0x52, flags: 0x0},
- 779: {region: 0x36, script: 0x52, flags: 0x0},
- 780: {region: 0x164, script: 0x52, flags: 0x0},
- 781: {region: 0x164, script: 0x52, flags: 0x0},
- 782: {region: 0x164, script: 0x52, flags: 0x0},
+ 777: {region: 0x26, script: 0x3, flags: 0x1},
+ 778: {region: 0x164, script: 0x52, flags: 0x0},
+ 779: {region: 0x164, script: 0x52, flags: 0x0},
+ 780: {region: 0x98, script: 0xe, flags: 0x0},
+ 781: {region: 0xc3, script: 0x6b, flags: 0x0},
783: {region: 0x164, script: 0x52, flags: 0x0},
- 784: {region: 0x164, script: 0x52, flags: 0x0},
- 785: {region: 0x164, script: 0x52, flags: 0x0},
- 786: {region: 0x98, script: 0x20, flags: 0x0},
- 787: {region: 0xda, script: 0x20, flags: 0x0},
- 788: {region: 0x105, script: 0x1e, flags: 0x0},
- 789: {region: 0x34, script: 0x68, flags: 0x0},
- 790: {region: 0x2b, script: 0x3, flags: 0x1},
- 791: {region: 0xca, script: 0x52, flags: 0x0},
+ 784: {region: 0x48, script: 0x52, flags: 0x0},
+ 785: {region: 0x48, script: 0x52, flags: 0x0},
+ 786: {region: 0x36, script: 0x52, flags: 0x0},
+ 787: {region: 0x164, script: 0x52, flags: 0x0},
+ 788: {region: 0x164, script: 0x52, flags: 0x0},
+ 789: {region: 0x164, script: 0x52, flags: 0x0},
+ 790: {region: 0x164, script: 0x52, flags: 0x0},
+ 791: {region: 0x164, script: 0x52, flags: 0x0},
792: {region: 0x164, script: 0x52, flags: 0x0},
- 793: {region: 0x164, script: 0x52, flags: 0x0},
- 794: {region: 0x164, script: 0x52, flags: 0x0},
- 795: {region: 0x98, script: 0x20, flags: 0x0},
- 796: {region: 0x51, script: 0x52, flags: 0x0},
- 798: {region: 0x164, script: 0x52, flags: 0x0},
- 799: {region: 0x134, script: 0x52, flags: 0x0},
+ 793: {region: 0x98, script: 0x20, flags: 0x0},
+ 794: {region: 0xda, script: 0x20, flags: 0x0},
+ 795: {region: 0x105, script: 0x1e, flags: 0x0},
+ 796: {region: 0x34, script: 0x68, flags: 0x0},
+ 797: {region: 0x29, script: 0x3, flags: 0x1},
+ 798: {region: 0xca, script: 0x52, flags: 0x0},
+ 799: {region: 0x164, script: 0x52, flags: 0x0},
800: {region: 0x164, script: 0x52, flags: 0x0},
801: {region: 0x164, script: 0x52, flags: 0x0},
- 802: {region: 0xe7, script: 0x5, flags: 0x0},
- 803: {region: 0xc2, script: 0x52, flags: 0x0},
- 804: {region: 0x98, script: 0x20, flags: 0x0},
- 805: {region: 0x94, script: 0x52, flags: 0x0},
- 806: {region: 0x163, script: 0x52, flags: 0x0},
+ 802: {region: 0x98, script: 0x20, flags: 0x0},
+ 803: {region: 0x51, script: 0x52, flags: 0x0},
+ 805: {region: 0x164, script: 0x52, flags: 0x0},
+ 806: {region: 0x134, script: 0x52, flags: 0x0},
807: {region: 0x164, script: 0x52, flags: 0x0},
- 808: {region: 0xc3, script: 0x6b, flags: 0x0},
- 809: {region: 0x164, script: 0x52, flags: 0x0},
- 810: {region: 0x164, script: 0x27, flags: 0x0},
- 811: {region: 0x105, script: 0x1e, flags: 0x0},
- 812: {region: 0x164, script: 0x52, flags: 0x0},
- 813: {region: 0x130, script: 0x52, flags: 0x0},
- 814: {region: 0x9b, script: 0x5d, flags: 0x0},
- 815: {region: 0x164, script: 0x52, flags: 0x0},
+ 808: {region: 0x164, script: 0x52, flags: 0x0},
+ 809: {region: 0xe7, script: 0x5, flags: 0x0},
+ 810: {region: 0xc2, script: 0x52, flags: 0x0},
+ 811: {region: 0x98, script: 0x20, flags: 0x0},
+ 812: {region: 0x94, script: 0x52, flags: 0x0},
+ 813: {region: 0x163, script: 0x52, flags: 0x0},
+ 814: {region: 0x164, script: 0x52, flags: 0x0},
+ 815: {region: 0xc3, script: 0x6b, flags: 0x0},
816: {region: 0x164, script: 0x52, flags: 0x0},
- 817: {region: 0x9b, script: 0x5, flags: 0x0},
- 818: {region: 0x164, script: 0x52, flags: 0x0},
+ 817: {region: 0x164, script: 0x27, flags: 0x0},
+ 818: {region: 0x105, script: 0x1e, flags: 0x0},
819: {region: 0x164, script: 0x52, flags: 0x0},
- 820: {region: 0x164, script: 0x52, flags: 0x0},
- 821: {region: 0xdc, script: 0x52, flags: 0x0},
+ 820: {region: 0x130, script: 0x52, flags: 0x0},
+ 821: {region: 0x9b, script: 0x5d, flags: 0x0},
822: {region: 0x164, script: 0x52, flags: 0x0},
823: {region: 0x164, script: 0x52, flags: 0x0},
+ 824: {region: 0x9b, script: 0x5, flags: 0x0},
825: {region: 0x164, script: 0x52, flags: 0x0},
- 826: {region: 0x52, script: 0x34, flags: 0x0},
- 827: {region: 0x9d, script: 0x52, flags: 0x0},
- 828: {region: 0xd1, script: 0x52, flags: 0x0},
+ 826: {region: 0x164, script: 0x52, flags: 0x0},
+ 827: {region: 0x164, script: 0x52, flags: 0x0},
+ 828: {region: 0xdc, script: 0x52, flags: 0x0},
829: {region: 0x164, script: 0x52, flags: 0x0},
- 830: {region: 0xd9, script: 0x52, flags: 0x0},
- 831: {region: 0x164, script: 0x52, flags: 0x0},
+ 830: {region: 0x164, script: 0x52, flags: 0x0},
832: {region: 0x164, script: 0x52, flags: 0x0},
- 833: {region: 0x164, script: 0x52, flags: 0x0},
- 834: {region: 0xce, script: 0x52, flags: 0x0},
- 835: {region: 0x164, script: 0x52, flags: 0x0},
+ 833: {region: 0x52, script: 0x34, flags: 0x0},
+ 834: {region: 0x9d, script: 0x52, flags: 0x0},
+ 835: {region: 0xd1, script: 0x52, flags: 0x0},
836: {region: 0x164, script: 0x52, flags: 0x0},
- 837: {region: 0x163, script: 0x52, flags: 0x0},
- 838: {region: 0xd0, script: 0x52, flags: 0x0},
- 839: {region: 0x5f, script: 0x52, flags: 0x0},
- 840: {region: 0xda, script: 0x20, flags: 0x0},
- 841: {region: 0x164, script: 0x52, flags: 0x0},
- 842: {region: 0xda, script: 0x20, flags: 0x0},
+ 837: {region: 0xd9, script: 0x52, flags: 0x0},
+ 838: {region: 0x164, script: 0x52, flags: 0x0},
+ 839: {region: 0x164, script: 0x52, flags: 0x0},
+ 840: {region: 0x164, script: 0x52, flags: 0x0},
+ 841: {region: 0xce, script: 0x52, flags: 0x0},
+ 842: {region: 0x164, script: 0x52, flags: 0x0},
843: {region: 0x164, script: 0x52, flags: 0x0},
- 844: {region: 0x164, script: 0x52, flags: 0x0},
- 845: {region: 0xd1, script: 0x52, flags: 0x0},
- 846: {region: 0x164, script: 0x52, flags: 0x0},
- 847: {region: 0x164, script: 0x52, flags: 0x0},
- 848: {region: 0xd0, script: 0x52, flags: 0x0},
- 849: {region: 0x164, script: 0x52, flags: 0x0},
- 850: {region: 0xce, script: 0x52, flags: 0x0},
- 851: {region: 0xce, script: 0x52, flags: 0x0},
- 852: {region: 0x164, script: 0x52, flags: 0x0},
+ 844: {region: 0x163, script: 0x52, flags: 0x0},
+ 845: {region: 0xd0, script: 0x52, flags: 0x0},
+ 846: {region: 0x5f, script: 0x52, flags: 0x0},
+ 847: {region: 0xda, script: 0x20, flags: 0x0},
+ 848: {region: 0x164, script: 0x52, flags: 0x0},
+ 849: {region: 0xda, script: 0x20, flags: 0x0},
+ 850: {region: 0x164, script: 0x52, flags: 0x0},
+ 851: {region: 0x164, script: 0x52, flags: 0x0},
+ 852: {region: 0xd1, script: 0x52, flags: 0x0},
853: {region: 0x164, script: 0x52, flags: 0x0},
- 854: {region: 0x94, script: 0x52, flags: 0x0},
- 855: {region: 0x164, script: 0x52, flags: 0x0},
- 856: {region: 0xde, script: 0x52, flags: 0x0},
- 857: {region: 0x164, script: 0x52, flags: 0x0},
- 858: {region: 0x164, script: 0x52, flags: 0x0},
- 859: {region: 0x98, script: 0x52, flags: 0x0},
+ 854: {region: 0x164, script: 0x52, flags: 0x0},
+ 855: {region: 0xd0, script: 0x52, flags: 0x0},
+ 856: {region: 0x164, script: 0x52, flags: 0x0},
+ 857: {region: 0xce, script: 0x52, flags: 0x0},
+ 858: {region: 0xce, script: 0x52, flags: 0x0},
+ 859: {region: 0x164, script: 0x52, flags: 0x0},
860: {region: 0x164, script: 0x52, flags: 0x0},
- 861: {region: 0x164, script: 0x52, flags: 0x0},
- 862: {region: 0xd8, script: 0x52, flags: 0x0},
- 863: {region: 0x51, script: 0x52, flags: 0x0},
+ 861: {region: 0x94, script: 0x52, flags: 0x0},
+ 862: {region: 0x164, script: 0x52, flags: 0x0},
+ 863: {region: 0xde, script: 0x52, flags: 0x0},
864: {region: 0x164, script: 0x52, flags: 0x0},
- 865: {region: 0xd9, script: 0x52, flags: 0x0},
- 866: {region: 0x164, script: 0x52, flags: 0x0},
- 867: {region: 0x51, script: 0x52, flags: 0x0},
+ 865: {region: 0x164, script: 0x52, flags: 0x0},
+ 866: {region: 0x98, script: 0x52, flags: 0x0},
+ 867: {region: 0x164, script: 0x52, flags: 0x0},
868: {region: 0x164, script: 0x52, flags: 0x0},
- 869: {region: 0x164, script: 0x52, flags: 0x0},
- 870: {region: 0xd9, script: 0x52, flags: 0x0},
- 871: {region: 0x122, script: 0x4e, flags: 0x0},
- 872: {region: 0x98, script: 0x20, flags: 0x0},
- 873: {region: 0x10b, script: 0xb7, flags: 0x0},
- 874: {region: 0x164, script: 0x52, flags: 0x0},
+ 869: {region: 0xd8, script: 0x52, flags: 0x0},
+ 870: {region: 0x51, script: 0x52, flags: 0x0},
+ 871: {region: 0x164, script: 0x52, flags: 0x0},
+ 872: {region: 0xd9, script: 0x52, flags: 0x0},
+ 873: {region: 0x164, script: 0x52, flags: 0x0},
+ 874: {region: 0x51, script: 0x52, flags: 0x0},
875: {region: 0x164, script: 0x52, flags: 0x0},
- 876: {region: 0x83, script: 0x70, flags: 0x0},
- 877: {region: 0x160, script: 0x52, flags: 0x0},
- 878: {region: 0x164, script: 0x52, flags: 0x0},
- 879: {region: 0x48, script: 0x17, flags: 0x0},
- 880: {region: 0x164, script: 0x52, flags: 0x0},
- 881: {region: 0x160, script: 0x52, flags: 0x0},
+ 876: {region: 0x164, script: 0x52, flags: 0x0},
+ 877: {region: 0xd9, script: 0x52, flags: 0x0},
+ 878: {region: 0x122, script: 0x4e, flags: 0x0},
+ 879: {region: 0x98, script: 0x20, flags: 0x0},
+ 880: {region: 0x10b, script: 0xb7, flags: 0x0},
+ 881: {region: 0x164, script: 0x52, flags: 0x0},
882: {region: 0x164, script: 0x52, flags: 0x0},
- 883: {region: 0x164, script: 0x52, flags: 0x0},
- 884: {region: 0x164, script: 0x52, flags: 0x0},
+ 883: {region: 0x83, script: 0x70, flags: 0x0},
+ 884: {region: 0x160, script: 0x52, flags: 0x0},
885: {region: 0x164, script: 0x52, flags: 0x0},
- 886: {region: 0x164, script: 0x52, flags: 0x0},
- 887: {region: 0x116, script: 0x52, flags: 0x0},
- 888: {region: 0x164, script: 0x52, flags: 0x0},
+ 886: {region: 0x48, script: 0x17, flags: 0x0},
+ 887: {region: 0x164, script: 0x52, flags: 0x0},
+ 888: {region: 0x160, script: 0x52, flags: 0x0},
889: {region: 0x164, script: 0x52, flags: 0x0},
- 890: {region: 0x134, script: 0x52, flags: 0x0},
+ 890: {region: 0x164, script: 0x52, flags: 0x0},
891: {region: 0x164, script: 0x52, flags: 0x0},
- 892: {region: 0x52, script: 0x52, flags: 0x0},
+ 892: {region: 0x164, script: 0x52, flags: 0x0},
893: {region: 0x164, script: 0x52, flags: 0x0},
- 894: {region: 0xcd, script: 0x52, flags: 0x0},
- 895: {region: 0x12e, script: 0x52, flags: 0x0},
- 896: {region: 0x130, script: 0x52, flags: 0x0},
- 897: {region: 0x7f, script: 0x52, flags: 0x0},
- 898: {region: 0x77, script: 0x52, flags: 0x0},
- 899: {region: 0x164, script: 0x52, flags: 0x0},
- 901: {region: 0x164, script: 0x52, flags: 0x0},
- 902: {region: 0x164, script: 0x52, flags: 0x0},
- 903: {region: 0x6e, script: 0x52, flags: 0x0},
- 904: {region: 0x164, script: 0x52, flags: 0x0},
- 905: {region: 0x164, script: 0x52, flags: 0x0},
+ 894: {region: 0x116, script: 0x52, flags: 0x0},
+ 895: {region: 0x164, script: 0x52, flags: 0x0},
+ 896: {region: 0x164, script: 0x52, flags: 0x0},
+ 897: {region: 0x134, script: 0x52, flags: 0x0},
+ 898: {region: 0x164, script: 0x52, flags: 0x0},
+ 899: {region: 0x52, script: 0x52, flags: 0x0},
+ 900: {region: 0x164, script: 0x52, flags: 0x0},
+ 901: {region: 0xcd, script: 0x52, flags: 0x0},
+ 902: {region: 0x12e, script: 0x52, flags: 0x0},
+ 903: {region: 0x130, script: 0x52, flags: 0x0},
+ 904: {region: 0x7f, script: 0x52, flags: 0x0},
+ 905: {region: 0x77, script: 0x52, flags: 0x0},
906: {region: 0x164, script: 0x52, flags: 0x0},
- 907: {region: 0x164, script: 0x52, flags: 0x0},
- 908: {region: 0x98, script: 0x75, flags: 0x0},
+ 908: {region: 0x164, script: 0x52, flags: 0x0},
909: {region: 0x164, script: 0x52, flags: 0x0},
- 910: {region: 0x164, script: 0x5, flags: 0x0},
- 911: {region: 0x7c, script: 0x1e, flags: 0x0},
- 912: {region: 0x134, script: 0x76, flags: 0x0},
- 913: {region: 0x164, script: 0x5, flags: 0x0},
- 914: {region: 0xc4, script: 0x74, flags: 0x0},
- 915: {region: 0x164, script: 0x52, flags: 0x0},
- 916: {region: 0x2e, script: 0x3, flags: 0x1},
- 917: {region: 0xe6, script: 0x52, flags: 0x0},
- 918: {region: 0x31, script: 0x2, flags: 0x1},
- 919: {region: 0xe6, script: 0x52, flags: 0x0},
- 920: {region: 0x2f, script: 0x52, flags: 0x0},
- 921: {region: 0xef, script: 0x52, flags: 0x0},
+ 910: {region: 0x6e, script: 0x52, flags: 0x0},
+ 911: {region: 0x164, script: 0x52, flags: 0x0},
+ 912: {region: 0x164, script: 0x52, flags: 0x0},
+ 913: {region: 0x164, script: 0x52, flags: 0x0},
+ 914: {region: 0x164, script: 0x52, flags: 0x0},
+ 915: {region: 0x98, script: 0x75, flags: 0x0},
+ 916: {region: 0x164, script: 0x52, flags: 0x0},
+ 917: {region: 0x164, script: 0x5, flags: 0x0},
+ 918: {region: 0x7c, script: 0x1e, flags: 0x0},
+ 919: {region: 0x134, script: 0x76, flags: 0x0},
+ 920: {region: 0x164, script: 0x5, flags: 0x0},
+ 921: {region: 0xc4, script: 0x74, flags: 0x0},
922: {region: 0x164, script: 0x52, flags: 0x0},
- 923: {region: 0x77, script: 0x52, flags: 0x0},
- 924: {region: 0xd5, script: 0x52, flags: 0x0},
- 925: {region: 0x134, script: 0x52, flags: 0x0},
- 926: {region: 0x48, script: 0x52, flags: 0x0},
- 927: {region: 0x164, script: 0x52, flags: 0x0},
- 928: {region: 0x9b, script: 0xdd, flags: 0x0},
+ 923: {region: 0x2c, script: 0x3, flags: 0x1},
+ 924: {region: 0xe6, script: 0x52, flags: 0x0},
+ 925: {region: 0x2f, script: 0x2, flags: 0x1},
+ 926: {region: 0xe6, script: 0x52, flags: 0x0},
+ 927: {region: 0x2f, script: 0x52, flags: 0x0},
+ 928: {region: 0xef, script: 0x52, flags: 0x0},
929: {region: 0x164, script: 0x52, flags: 0x0},
- 930: {region: 0x5f, script: 0x52, flags: 0x0},
- 931: {region: 0x164, script: 0x5, flags: 0x0},
- 932: {region: 0xaf, script: 0x7f, flags: 0x0},
+ 930: {region: 0x77, script: 0x52, flags: 0x0},
+ 931: {region: 0xd5, script: 0x52, flags: 0x0},
+ 932: {region: 0x134, script: 0x52, flags: 0x0},
+ 933: {region: 0x48, script: 0x52, flags: 0x0},
934: {region: 0x164, script: 0x52, flags: 0x0},
- 935: {region: 0x164, script: 0x52, flags: 0x0},
- 936: {region: 0x98, script: 0x12, flags: 0x0},
- 937: {region: 0xa3, script: 0x52, flags: 0x0},
- 938: {region: 0xe8, script: 0x52, flags: 0x0},
- 939: {region: 0x164, script: 0x52, flags: 0x0},
- 940: {region: 0x9d, script: 0x52, flags: 0x0},
+ 935: {region: 0x9b, script: 0xdd, flags: 0x0},
+ 936: {region: 0x164, script: 0x52, flags: 0x0},
+ 937: {region: 0x5f, script: 0x52, flags: 0x0},
+ 938: {region: 0x164, script: 0x5, flags: 0x0},
+ 939: {region: 0xaf, script: 0x7f, flags: 0x0},
941: {region: 0x164, script: 0x52, flags: 0x0},
942: {region: 0x164, script: 0x52, flags: 0x0},
- 943: {region: 0x86, script: 0x2d, flags: 0x0},
- 944: {region: 0x74, script: 0x52, flags: 0x0},
- 945: {region: 0x164, script: 0x52, flags: 0x0},
- 946: {region: 0xe7, script: 0x45, flags: 0x0},
- 947: {region: 0x9b, script: 0x5, flags: 0x0},
- 948: {region: 0x1, script: 0x52, flags: 0x0},
- 949: {region: 0x23, script: 0x5, flags: 0x0},
- 950: {region: 0x164, script: 0x52, flags: 0x0},
- 951: {region: 0x40, script: 0x52, flags: 0x0},
+ 943: {region: 0x98, script: 0x12, flags: 0x0},
+ 944: {region: 0xa3, script: 0x52, flags: 0x0},
+ 945: {region: 0xe8, script: 0x52, flags: 0x0},
+ 946: {region: 0x164, script: 0x52, flags: 0x0},
+ 947: {region: 0x9d, script: 0x52, flags: 0x0},
+ 948: {region: 0x164, script: 0x52, flags: 0x0},
+ 949: {region: 0x164, script: 0x52, flags: 0x0},
+ 950: {region: 0x86, script: 0x2d, flags: 0x0},
+ 951: {region: 0x74, script: 0x52, flags: 0x0},
952: {region: 0x164, script: 0x52, flags: 0x0},
- 953: {region: 0x79, script: 0x52, flags: 0x0},
- 954: {region: 0x164, script: 0x52, flags: 0x0},
- 955: {region: 0xe3, script: 0x52, flags: 0x0},
- 956: {region: 0x88, script: 0x52, flags: 0x0},
- 957: {region: 0x68, script: 0x52, flags: 0x0},
- 958: {region: 0x164, script: 0x52, flags: 0x0},
- 959: {region: 0x98, script: 0x20, flags: 0x0},
- 960: {region: 0x164, script: 0x52, flags: 0x0},
- 961: {region: 0x101, script: 0x52, flags: 0x0},
- 962: {region: 0x94, script: 0x52, flags: 0x0},
- 963: {region: 0x164, script: 0x52, flags: 0x0},
- 964: {region: 0x164, script: 0x52, flags: 0x0},
- 965: {region: 0x9d, script: 0x52, flags: 0x0},
- 966: {region: 0x164, script: 0x5, flags: 0x0},
- 967: {region: 0x98, script: 0x52, flags: 0x0},
- 968: {region: 0x33, script: 0x2, flags: 0x1},
- 969: {region: 0xda, script: 0x20, flags: 0x0},
- 970: {region: 0x34, script: 0xe, flags: 0x0},
- 971: {region: 0x4d, script: 0x52, flags: 0x0},
- 972: {region: 0x71, script: 0x52, flags: 0x0},
- 973: {region: 0x4d, script: 0x52, flags: 0x0},
- 974: {region: 0x9b, script: 0x5, flags: 0x0},
- 975: {region: 0x10b, script: 0x52, flags: 0x0},
- 976: {region: 0x39, script: 0x52, flags: 0x0},
- 977: {region: 0x164, script: 0x52, flags: 0x0},
- 978: {region: 0xd0, script: 0x52, flags: 0x0},
- 979: {region: 0x103, script: 0x52, flags: 0x0},
- 980: {region: 0x94, script: 0x52, flags: 0x0},
- 981: {region: 0x12e, script: 0x52, flags: 0x0},
- 982: {region: 0x164, script: 0x52, flags: 0x0},
- 983: {region: 0x164, script: 0x52, flags: 0x0},
- 984: {region: 0x72, script: 0x52, flags: 0x0},
- 985: {region: 0x105, script: 0x1e, flags: 0x0},
- 986: {region: 0x12f, script: 0x1e, flags: 0x0},
- 987: {region: 0x108, script: 0x52, flags: 0x0},
- 988: {region: 0x106, script: 0x52, flags: 0x0},
- 989: {region: 0x12e, script: 0x52, flags: 0x0},
+ 953: {region: 0xe7, script: 0x45, flags: 0x0},
+ 954: {region: 0x9b, script: 0x5, flags: 0x0},
+ 955: {region: 0x1, script: 0x52, flags: 0x0},
+ 956: {region: 0x23, script: 0x5, flags: 0x0},
+ 957: {region: 0x164, script: 0x52, flags: 0x0},
+ 958: {region: 0x40, script: 0x52, flags: 0x0},
+ 959: {region: 0x164, script: 0x52, flags: 0x0},
+ 960: {region: 0x79, script: 0x52, flags: 0x0},
+ 961: {region: 0x164, script: 0x52, flags: 0x0},
+ 962: {region: 0xe3, script: 0x52, flags: 0x0},
+ 963: {region: 0x88, script: 0x52, flags: 0x0},
+ 964: {region: 0x68, script: 0x52, flags: 0x0},
+ 965: {region: 0x164, script: 0x52, flags: 0x0},
+ 966: {region: 0x98, script: 0x20, flags: 0x0},
+ 967: {region: 0x164, script: 0x52, flags: 0x0},
+ 968: {region: 0x101, script: 0x52, flags: 0x0},
+ 969: {region: 0x94, script: 0x52, flags: 0x0},
+ 970: {region: 0x164, script: 0x52, flags: 0x0},
+ 971: {region: 0x164, script: 0x52, flags: 0x0},
+ 972: {region: 0x9d, script: 0x52, flags: 0x0},
+ 973: {region: 0x164, script: 0x5, flags: 0x0},
+ 974: {region: 0x98, script: 0x52, flags: 0x0},
+ 975: {region: 0x31, script: 0x2, flags: 0x1},
+ 976: {region: 0xda, script: 0x20, flags: 0x0},
+ 977: {region: 0x34, script: 0xe, flags: 0x0},
+ 978: {region: 0x4d, script: 0x52, flags: 0x0},
+ 979: {region: 0x71, script: 0x52, flags: 0x0},
+ 980: {region: 0x4d, script: 0x52, flags: 0x0},
+ 981: {region: 0x9b, script: 0x5, flags: 0x0},
+ 982: {region: 0x10b, script: 0x52, flags: 0x0},
+ 983: {region: 0x39, script: 0x52, flags: 0x0},
+ 984: {region: 0x164, script: 0x52, flags: 0x0},
+ 985: {region: 0xd0, script: 0x52, flags: 0x0},
+ 986: {region: 0x103, script: 0x52, flags: 0x0},
+ 987: {region: 0x94, script: 0x52, flags: 0x0},
+ 988: {region: 0x12e, script: 0x52, flags: 0x0},
+ 989: {region: 0x164, script: 0x52, flags: 0x0},
990: {region: 0x164, script: 0x52, flags: 0x0},
- 991: {region: 0xa1, script: 0x44, flags: 0x0},
- 992: {region: 0x98, script: 0x20, flags: 0x0},
- 993: {region: 0x7f, script: 0x52, flags: 0x0},
- 994: {region: 0x105, script: 0x1e, flags: 0x0},
- 995: {region: 0xa3, script: 0x52, flags: 0x0},
- 996: {region: 0x94, script: 0x52, flags: 0x0},
- 997: {region: 0x98, script: 0x52, flags: 0x0},
- 998: {region: 0x98, script: 0xbb, flags: 0x0},
- 999: {region: 0x164, script: 0x52, flags: 0x0},
- 1000: {region: 0x164, script: 0x52, flags: 0x0},
- 1001: {region: 0x12e, script: 0x52, flags: 0x0},
- 1002: {region: 0x9d, script: 0x52, flags: 0x0},
- 1003: {region: 0x98, script: 0x20, flags: 0x0},
- 1004: {region: 0x164, script: 0x5, flags: 0x0},
- 1005: {region: 0x9d, script: 0x52, flags: 0x0},
- 1006: {region: 0x7a, script: 0x52, flags: 0x0},
- 1007: {region: 0x48, script: 0x52, flags: 0x0},
- 1008: {region: 0x35, script: 0x4, flags: 0x1},
- 1009: {region: 0x9d, script: 0x52, flags: 0x0},
- 1010: {region: 0x9b, script: 0x5, flags: 0x0},
- 1011: {region: 0xd9, script: 0x52, flags: 0x0},
- 1012: {region: 0x4e, script: 0x52, flags: 0x0},
- 1013: {region: 0xd0, script: 0x52, flags: 0x0},
- 1014: {region: 0xce, script: 0x52, flags: 0x0},
- 1015: {region: 0xc2, script: 0x52, flags: 0x0},
- 1016: {region: 0x4b, script: 0x52, flags: 0x0},
- 1017: {region: 0x95, script: 0x72, flags: 0x0},
- 1018: {region: 0xb5, script: 0x52, flags: 0x0},
- 1019: {region: 0x164, script: 0x27, flags: 0x0},
- 1020: {region: 0x164, script: 0x52, flags: 0x0},
- 1022: {region: 0xb9, script: 0xd2, flags: 0x0},
- 1023: {region: 0x164, script: 0x52, flags: 0x0},
- 1024: {region: 0xc3, script: 0x6b, flags: 0x0},
- 1025: {region: 0x164, script: 0x5, flags: 0x0},
- 1026: {region: 0xb2, script: 0xc1, flags: 0x0},
- 1027: {region: 0x6e, script: 0x52, flags: 0x0},
+ 991: {region: 0x72, script: 0x52, flags: 0x0},
+ 992: {region: 0x105, script: 0x1e, flags: 0x0},
+ 993: {region: 0x12f, script: 0x1e, flags: 0x0},
+ 994: {region: 0x108, script: 0x52, flags: 0x0},
+ 995: {region: 0x106, script: 0x52, flags: 0x0},
+ 996: {region: 0x12e, script: 0x52, flags: 0x0},
+ 997: {region: 0x164, script: 0x52, flags: 0x0},
+ 998: {region: 0xa1, script: 0x44, flags: 0x0},
+ 999: {region: 0x98, script: 0x20, flags: 0x0},
+ 1000: {region: 0x7f, script: 0x52, flags: 0x0},
+ 1001: {region: 0x105, script: 0x1e, flags: 0x0},
+ 1002: {region: 0xa3, script: 0x52, flags: 0x0},
+ 1003: {region: 0x94, script: 0x52, flags: 0x0},
+ 1004: {region: 0x98, script: 0x52, flags: 0x0},
+ 1005: {region: 0x113, script: 0x52, flags: 0x0},
+ 1006: {region: 0x98, script: 0xbb, flags: 0x0},
+ 1007: {region: 0x164, script: 0x52, flags: 0x0},
+ 1008: {region: 0x164, script: 0x52, flags: 0x0},
+ 1009: {region: 0x12e, script: 0x52, flags: 0x0},
+ 1010: {region: 0x9d, script: 0x52, flags: 0x0},
+ 1011: {region: 0x98, script: 0x20, flags: 0x0},
+ 1012: {region: 0x164, script: 0x5, flags: 0x0},
+ 1013: {region: 0x9d, script: 0x52, flags: 0x0},
+ 1014: {region: 0x7a, script: 0x52, flags: 0x0},
+ 1015: {region: 0x48, script: 0x52, flags: 0x0},
+ 1016: {region: 0x33, script: 0x4, flags: 0x1},
+ 1017: {region: 0x9d, script: 0x52, flags: 0x0},
+ 1018: {region: 0x9b, script: 0x5, flags: 0x0},
+ 1019: {region: 0xd9, script: 0x52, flags: 0x0},
+ 1020: {region: 0x4e, script: 0x52, flags: 0x0},
+ 1021: {region: 0xd0, script: 0x52, flags: 0x0},
+ 1022: {region: 0xce, script: 0x52, flags: 0x0},
+ 1023: {region: 0xc2, script: 0x52, flags: 0x0},
+ 1024: {region: 0x4b, script: 0x52, flags: 0x0},
+ 1025: {region: 0x95, script: 0x72, flags: 0x0},
+ 1026: {region: 0xb5, script: 0x52, flags: 0x0},
+ 1027: {region: 0x164, script: 0x27, flags: 0x0},
1028: {region: 0x164, script: 0x52, flags: 0x0},
- 1029: {region: 0x164, script: 0x52, flags: 0x0},
- 1030: {region: 0x164, script: 0x52, flags: 0x0},
+ 1030: {region: 0xb9, script: 0xd2, flags: 0x0},
1031: {region: 0x164, script: 0x52, flags: 0x0},
- 1032: {region: 0x110, script: 0x52, flags: 0x0},
- 1033: {region: 0x164, script: 0x52, flags: 0x0},
- 1034: {region: 0xe7, script: 0x5, flags: 0x0},
- 1035: {region: 0x164, script: 0x52, flags: 0x0},
- 1036: {region: 0x10e, script: 0x52, flags: 0x0},
+ 1032: {region: 0xc3, script: 0x6b, flags: 0x0},
+ 1033: {region: 0x164, script: 0x5, flags: 0x0},
+ 1034: {region: 0xb2, script: 0xc1, flags: 0x0},
+ 1035: {region: 0x6e, script: 0x52, flags: 0x0},
+ 1036: {region: 0x164, script: 0x52, flags: 0x0},
1037: {region: 0x164, script: 0x52, flags: 0x0},
- 1038: {region: 0xe8, script: 0x52, flags: 0x0},
+ 1038: {region: 0x164, script: 0x52, flags: 0x0},
1039: {region: 0x164, script: 0x52, flags: 0x0},
- 1040: {region: 0x94, script: 0x52, flags: 0x0},
- 1041: {region: 0x141, script: 0x52, flags: 0x0},
- 1042: {region: 0x10b, script: 0x52, flags: 0x0},
- 1044: {region: 0x10b, script: 0x52, flags: 0x0},
- 1045: {region: 0x71, script: 0x52, flags: 0x0},
- 1046: {region: 0x96, script: 0xb8, flags: 0x0},
+ 1040: {region: 0x110, script: 0x52, flags: 0x0},
+ 1041: {region: 0x164, script: 0x52, flags: 0x0},
+ 1042: {region: 0xe7, script: 0x5, flags: 0x0},
+ 1043: {region: 0x164, script: 0x52, flags: 0x0},
+ 1044: {region: 0x10e, script: 0x52, flags: 0x0},
+ 1045: {region: 0x164, script: 0x52, flags: 0x0},
+ 1046: {region: 0xe8, script: 0x52, flags: 0x0},
1047: {region: 0x164, script: 0x52, flags: 0x0},
- 1048: {region: 0x71, script: 0x52, flags: 0x0},
- 1049: {region: 0x163, script: 0x52, flags: 0x0},
- 1050: {region: 0x164, script: 0x52, flags: 0x0},
- 1051: {region: 0xc2, script: 0x52, flags: 0x0},
- 1052: {region: 0x164, script: 0x52, flags: 0x0},
- 1053: {region: 0x164, script: 0x52, flags: 0x0},
- 1054: {region: 0x164, script: 0x52, flags: 0x0},
- 1055: {region: 0x114, script: 0x52, flags: 0x0},
- 1056: {region: 0x164, script: 0x52, flags: 0x0},
- 1057: {region: 0x164, script: 0x52, flags: 0x0},
- 1058: {region: 0x122, script: 0xd5, flags: 0x0},
- 1059: {region: 0x164, script: 0x52, flags: 0x0},
+ 1048: {region: 0x94, script: 0x52, flags: 0x0},
+ 1049: {region: 0x141, script: 0x52, flags: 0x0},
+ 1050: {region: 0x10b, script: 0x52, flags: 0x0},
+ 1052: {region: 0x10b, script: 0x52, flags: 0x0},
+ 1053: {region: 0x71, script: 0x52, flags: 0x0},
+ 1054: {region: 0x96, script: 0xb8, flags: 0x0},
+ 1055: {region: 0x164, script: 0x52, flags: 0x0},
+ 1056: {region: 0x71, script: 0x52, flags: 0x0},
+ 1057: {region: 0x163, script: 0x52, flags: 0x0},
+ 1058: {region: 0x164, script: 0x52, flags: 0x0},
+ 1059: {region: 0xc2, script: 0x52, flags: 0x0},
1060: {region: 0x164, script: 0x52, flags: 0x0},
1061: {region: 0x164, script: 0x52, flags: 0x0},
1062: {region: 0x164, script: 0x52, flags: 0x0},
- 1063: {region: 0x26, script: 0x52, flags: 0x0},
- 1064: {region: 0x39, script: 0x5, flags: 0x1},
- 1065: {region: 0x98, script: 0xc2, flags: 0x0},
- 1066: {region: 0x115, script: 0x52, flags: 0x0},
- 1067: {region: 0x113, script: 0x52, flags: 0x0},
- 1068: {region: 0x98, script: 0x20, flags: 0x0},
- 1069: {region: 0x160, script: 0x52, flags: 0x0},
+ 1063: {region: 0x114, script: 0x52, flags: 0x0},
+ 1064: {region: 0x164, script: 0x52, flags: 0x0},
+ 1065: {region: 0x164, script: 0x52, flags: 0x0},
+ 1066: {region: 0x122, script: 0xd5, flags: 0x0},
+ 1067: {region: 0x164, script: 0x52, flags: 0x0},
+ 1068: {region: 0x164, script: 0x52, flags: 0x0},
+ 1069: {region: 0x164, script: 0x52, flags: 0x0},
1070: {region: 0x164, script: 0x52, flags: 0x0},
- 1071: {region: 0x164, script: 0x52, flags: 0x0},
- 1072: {region: 0x6c, script: 0x52, flags: 0x0},
- 1073: {region: 0x160, script: 0x52, flags: 0x0},
- 1074: {region: 0x164, script: 0x52, flags: 0x0},
- 1075: {region: 0x5f, script: 0x52, flags: 0x0},
- 1076: {region: 0x94, script: 0x52, flags: 0x0},
- 1077: {region: 0x164, script: 0x52, flags: 0x0},
+ 1071: {region: 0x26, script: 0x52, flags: 0x0},
+ 1072: {region: 0x37, script: 0x5, flags: 0x1},
+ 1073: {region: 0x98, script: 0xc2, flags: 0x0},
+ 1074: {region: 0x115, script: 0x52, flags: 0x0},
+ 1075: {region: 0x113, script: 0x52, flags: 0x0},
+ 1076: {region: 0x98, script: 0x20, flags: 0x0},
+ 1077: {region: 0x160, script: 0x52, flags: 0x0},
1078: {region: 0x164, script: 0x52, flags: 0x0},
- 1079: {region: 0x12e, script: 0x52, flags: 0x0},
- 1080: {region: 0x164, script: 0x52, flags: 0x0},
- 1081: {region: 0x83, script: 0x52, flags: 0x0},
- 1082: {region: 0x10b, script: 0x52, flags: 0x0},
- 1083: {region: 0x12e, script: 0x52, flags: 0x0},
- 1084: {region: 0x15e, script: 0x5, flags: 0x0},
- 1085: {region: 0x4a, script: 0x52, flags: 0x0},
- 1086: {region: 0x5f, script: 0x52, flags: 0x0},
- 1087: {region: 0x164, script: 0x52, flags: 0x0},
- 1088: {region: 0x98, script: 0x20, flags: 0x0},
- 1089: {region: 0x94, script: 0x52, flags: 0x0},
- 1090: {region: 0x164, script: 0x52, flags: 0x0},
- 1091: {region: 0x34, script: 0xe, flags: 0x0},
- 1092: {region: 0x9a, script: 0xc5, flags: 0x0},
- 1093: {region: 0xe8, script: 0x52, flags: 0x0},
- 1094: {region: 0x98, script: 0xcd, flags: 0x0},
- 1095: {region: 0xda, script: 0x20, flags: 0x0},
- 1096: {region: 0x164, script: 0x52, flags: 0x0},
- 1097: {region: 0x164, script: 0x52, flags: 0x0},
+ 1079: {region: 0x164, script: 0x52, flags: 0x0},
+ 1080: {region: 0x6c, script: 0x52, flags: 0x0},
+ 1081: {region: 0x160, script: 0x52, flags: 0x0},
+ 1082: {region: 0x164, script: 0x52, flags: 0x0},
+ 1083: {region: 0x5f, script: 0x52, flags: 0x0},
+ 1084: {region: 0x94, script: 0x52, flags: 0x0},
+ 1085: {region: 0x164, script: 0x52, flags: 0x0},
+ 1086: {region: 0x164, script: 0x52, flags: 0x0},
+ 1087: {region: 0x12e, script: 0x52, flags: 0x0},
+ 1088: {region: 0x164, script: 0x52, flags: 0x0},
+ 1089: {region: 0x83, script: 0x52, flags: 0x0},
+ 1090: {region: 0x10b, script: 0x52, flags: 0x0},
+ 1091: {region: 0x12e, script: 0x52, flags: 0x0},
+ 1092: {region: 0x15e, script: 0x5, flags: 0x0},
+ 1093: {region: 0x4a, script: 0x52, flags: 0x0},
+ 1094: {region: 0x5f, script: 0x52, flags: 0x0},
+ 1095: {region: 0x164, script: 0x52, flags: 0x0},
+ 1096: {region: 0x98, script: 0x20, flags: 0x0},
+ 1097: {region: 0x94, script: 0x52, flags: 0x0},
1098: {region: 0x164, script: 0x52, flags: 0x0},
- 1099: {region: 0x164, script: 0x52, flags: 0x0},
- 1100: {region: 0x164, script: 0x52, flags: 0x0},
- 1101: {region: 0x164, script: 0x52, flags: 0x0},
- 1102: {region: 0x164, script: 0x52, flags: 0x0},
- 1103: {region: 0x164, script: 0x52, flags: 0x0},
- 1104: {region: 0xe6, script: 0x52, flags: 0x0},
+ 1099: {region: 0x34, script: 0xe, flags: 0x0},
+ 1100: {region: 0x9a, script: 0xc5, flags: 0x0},
+ 1101: {region: 0xe8, script: 0x52, flags: 0x0},
+ 1102: {region: 0x98, script: 0xcd, flags: 0x0},
+ 1103: {region: 0xda, script: 0x20, flags: 0x0},
+ 1104: {region: 0x164, script: 0x52, flags: 0x0},
1105: {region: 0x164, script: 0x52, flags: 0x0},
1106: {region: 0x164, script: 0x52, flags: 0x0},
- 1107: {region: 0x98, script: 0x4a, flags: 0x0},
- 1108: {region: 0x52, script: 0xcb, flags: 0x0},
- 1109: {region: 0xda, script: 0x20, flags: 0x0},
- 1110: {region: 0xda, script: 0x20, flags: 0x0},
- 1111: {region: 0x98, script: 0xd0, flags: 0x0},
- 1112: {region: 0x164, script: 0x52, flags: 0x0},
- 1113: {region: 0x111, script: 0x52, flags: 0x0},
- 1114: {region: 0x130, script: 0x52, flags: 0x0},
- 1115: {region: 0x125, script: 0x52, flags: 0x0},
- 1116: {region: 0x164, script: 0x52, flags: 0x0},
- 1117: {region: 0x3e, script: 0x3, flags: 0x1},
- 1118: {region: 0x164, script: 0x52, flags: 0x0},
- 1119: {region: 0x164, script: 0x52, flags: 0x0},
+ 1107: {region: 0x164, script: 0x52, flags: 0x0},
+ 1108: {region: 0x164, script: 0x52, flags: 0x0},
+ 1109: {region: 0x164, script: 0x52, flags: 0x0},
+ 1110: {region: 0x164, script: 0x52, flags: 0x0},
+ 1111: {region: 0x164, script: 0x52, flags: 0x0},
+ 1112: {region: 0xe6, script: 0x52, flags: 0x0},
+ 1113: {region: 0x164, script: 0x52, flags: 0x0},
+ 1114: {region: 0x164, script: 0x52, flags: 0x0},
+ 1115: {region: 0x98, script: 0x4a, flags: 0x0},
+ 1116: {region: 0x52, script: 0xcb, flags: 0x0},
+ 1117: {region: 0xda, script: 0x20, flags: 0x0},
+ 1118: {region: 0xda, script: 0x20, flags: 0x0},
+ 1119: {region: 0x98, script: 0xd0, flags: 0x0},
1120: {region: 0x164, script: 0x52, flags: 0x0},
- 1121: {region: 0x122, script: 0xd5, flags: 0x0},
- 1122: {region: 0xda, script: 0x20, flags: 0x0},
- 1123: {region: 0xda, script: 0x20, flags: 0x0},
- 1124: {region: 0xda, script: 0x20, flags: 0x0},
- 1125: {region: 0x6e, script: 0x27, flags: 0x0},
+ 1121: {region: 0x111, script: 0x52, flags: 0x0},
+ 1122: {region: 0x130, script: 0x52, flags: 0x0},
+ 1123: {region: 0x125, script: 0x52, flags: 0x0},
+ 1124: {region: 0x164, script: 0x52, flags: 0x0},
+ 1125: {region: 0x3c, script: 0x3, flags: 0x1},
1126: {region: 0x164, script: 0x52, flags: 0x0},
- 1127: {region: 0x6c, script: 0x27, flags: 0x0},
+ 1127: {region: 0x164, script: 0x52, flags: 0x0},
1128: {region: 0x164, script: 0x52, flags: 0x0},
- 1129: {region: 0x164, script: 0x52, flags: 0x0},
- 1130: {region: 0x164, script: 0x52, flags: 0x0},
- 1131: {region: 0xd5, script: 0x52, flags: 0x0},
- 1132: {region: 0x126, script: 0x52, flags: 0x0},
- 1133: {region: 0x124, script: 0x52, flags: 0x0},
- 1134: {region: 0x31, script: 0x52, flags: 0x0},
- 1135: {region: 0xda, script: 0x20, flags: 0x0},
- 1136: {region: 0xe6, script: 0x52, flags: 0x0},
+ 1129: {region: 0x122, script: 0xd5, flags: 0x0},
+ 1130: {region: 0xda, script: 0x20, flags: 0x0},
+ 1131: {region: 0xda, script: 0x20, flags: 0x0},
+ 1132: {region: 0xda, script: 0x20, flags: 0x0},
+ 1133: {region: 0x6e, script: 0x27, flags: 0x0},
+ 1134: {region: 0x164, script: 0x52, flags: 0x0},
+ 1135: {region: 0x6c, script: 0x27, flags: 0x0},
+ 1136: {region: 0x164, script: 0x52, flags: 0x0},
1137: {region: 0x164, script: 0x52, flags: 0x0},
1138: {region: 0x164, script: 0x52, flags: 0x0},
- 1139: {region: 0x31, script: 0x52, flags: 0x0},
- 1140: {region: 0xd3, script: 0x52, flags: 0x0},
- 1141: {region: 0x164, script: 0x52, flags: 0x0},
- 1142: {region: 0x160, script: 0x52, flags: 0x0},
- 1143: {region: 0x164, script: 0x52, flags: 0x0},
- 1144: {region: 0x128, script: 0x52, flags: 0x0},
+ 1139: {region: 0xd5, script: 0x52, flags: 0x0},
+ 1140: {region: 0x126, script: 0x52, flags: 0x0},
+ 1141: {region: 0x124, script: 0x52, flags: 0x0},
+ 1142: {region: 0x31, script: 0x52, flags: 0x0},
+ 1143: {region: 0xda, script: 0x20, flags: 0x0},
+ 1144: {region: 0xe6, script: 0x52, flags: 0x0},
1145: {region: 0x164, script: 0x52, flags: 0x0},
- 1146: {region: 0xcd, script: 0x52, flags: 0x0},
- 1147: {region: 0x164, script: 0x52, flags: 0x0},
- 1148: {region: 0xe5, script: 0x52, flags: 0x0},
+ 1146: {region: 0x164, script: 0x52, flags: 0x0},
+ 1147: {region: 0x31, script: 0x52, flags: 0x0},
+ 1148: {region: 0xd3, script: 0x52, flags: 0x0},
1149: {region: 0x164, script: 0x52, flags: 0x0},
- 1150: {region: 0x164, script: 0x52, flags: 0x0},
+ 1150: {region: 0x160, script: 0x52, flags: 0x0},
1151: {region: 0x164, script: 0x52, flags: 0x0},
- 1152: {region: 0x12a, script: 0x52, flags: 0x0},
- 1153: {region: 0x12a, script: 0x52, flags: 0x0},
- 1154: {region: 0x12d, script: 0x52, flags: 0x0},
- 1155: {region: 0x164, script: 0x5, flags: 0x0},
- 1156: {region: 0x160, script: 0x52, flags: 0x0},
- 1157: {region: 0x86, script: 0x2d, flags: 0x0},
- 1158: {region: 0xda, script: 0x20, flags: 0x0},
- 1159: {region: 0xe6, script: 0x52, flags: 0x0},
- 1160: {region: 0x42, script: 0xd6, flags: 0x0},
- 1161: {region: 0x164, script: 0x52, flags: 0x0},
- 1162: {region: 0x105, script: 0x1e, flags: 0x0},
- 1163: {region: 0x164, script: 0x52, flags: 0x0},
- 1164: {region: 0x164, script: 0x52, flags: 0x0},
- 1165: {region: 0x130, script: 0x52, flags: 0x0},
- 1166: {region: 0x164, script: 0x52, flags: 0x0},
- 1167: {region: 0x122, script: 0xd5, flags: 0x0},
- 1168: {region: 0x31, script: 0x52, flags: 0x0},
+ 1152: {region: 0x128, script: 0x52, flags: 0x0},
+ 1153: {region: 0x164, script: 0x52, flags: 0x0},
+ 1154: {region: 0xcd, script: 0x52, flags: 0x0},
+ 1155: {region: 0x164, script: 0x52, flags: 0x0},
+ 1156: {region: 0xe5, script: 0x52, flags: 0x0},
+ 1157: {region: 0x164, script: 0x52, flags: 0x0},
+ 1158: {region: 0x164, script: 0x52, flags: 0x0},
+ 1159: {region: 0x164, script: 0x52, flags: 0x0},
+ 1160: {region: 0x12a, script: 0x52, flags: 0x0},
+ 1161: {region: 0x12a, script: 0x52, flags: 0x0},
+ 1162: {region: 0x12d, script: 0x52, flags: 0x0},
+ 1163: {region: 0x164, script: 0x5, flags: 0x0},
+ 1164: {region: 0x160, script: 0x52, flags: 0x0},
+ 1165: {region: 0x86, script: 0x2d, flags: 0x0},
+ 1166: {region: 0xda, script: 0x20, flags: 0x0},
+ 1167: {region: 0xe6, script: 0x52, flags: 0x0},
+ 1168: {region: 0x42, script: 0xd6, flags: 0x0},
1169: {region: 0x164, script: 0x52, flags: 0x0},
- 1170: {region: 0x164, script: 0x52, flags: 0x0},
- 1171: {region: 0xcd, script: 0x52, flags: 0x0},
+ 1170: {region: 0x105, script: 0x1e, flags: 0x0},
+ 1171: {region: 0x164, script: 0x52, flags: 0x0},
1172: {region: 0x164, script: 0x52, flags: 0x0},
- 1173: {region: 0x164, script: 0x52, flags: 0x0},
- 1174: {region: 0x12c, script: 0x52, flags: 0x0},
- 1175: {region: 0x164, script: 0x52, flags: 0x0},
+ 1173: {region: 0x130, script: 0x52, flags: 0x0},
+ 1174: {region: 0x164, script: 0x52, flags: 0x0},
+ 1175: {region: 0x122, script: 0xd5, flags: 0x0},
+ 1176: {region: 0x31, script: 0x52, flags: 0x0},
1177: {region: 0x164, script: 0x52, flags: 0x0},
- 1178: {region: 0xd3, script: 0x52, flags: 0x0},
- 1179: {region: 0x52, script: 0xce, flags: 0x0},
- 1180: {region: 0xe4, script: 0x52, flags: 0x0},
+ 1178: {region: 0x164, script: 0x52, flags: 0x0},
+ 1179: {region: 0xcd, script: 0x52, flags: 0x0},
+ 1180: {region: 0x164, script: 0x52, flags: 0x0},
1181: {region: 0x164, script: 0x52, flags: 0x0},
- 1182: {region: 0x105, script: 0x1e, flags: 0x0},
- 1183: {region: 0xb9, script: 0x52, flags: 0x0},
- 1184: {region: 0x164, script: 0x52, flags: 0x0},
- 1185: {region: 0x105, script: 0x1e, flags: 0x0},
- 1186: {region: 0x41, script: 0x4, flags: 0x1},
- 1187: {region: 0x11b, script: 0xd8, flags: 0x0},
- 1188: {region: 0x12f, script: 0x1e, flags: 0x0},
- 1189: {region: 0x74, script: 0x52, flags: 0x0},
- 1190: {region: 0x29, script: 0x52, flags: 0x0},
- 1192: {region: 0x45, script: 0x3, flags: 0x1},
- 1193: {region: 0x98, script: 0xe, flags: 0x0},
- 1194: {region: 0xe7, script: 0x5, flags: 0x0},
- 1195: {region: 0x164, script: 0x52, flags: 0x0},
- 1196: {region: 0x164, script: 0x52, flags: 0x0},
- 1197: {region: 0x164, script: 0x52, flags: 0x0},
- 1198: {region: 0x164, script: 0x52, flags: 0x0},
- 1199: {region: 0x164, script: 0x52, flags: 0x0},
- 1200: {region: 0x164, script: 0x52, flags: 0x0},
- 1201: {region: 0x164, script: 0x52, flags: 0x0},
- 1202: {region: 0x48, script: 0x4, flags: 0x1},
+ 1182: {region: 0x12c, script: 0x52, flags: 0x0},
+ 1183: {region: 0x164, script: 0x52, flags: 0x0},
+ 1185: {region: 0x164, script: 0x52, flags: 0x0},
+ 1186: {region: 0xd3, script: 0x52, flags: 0x0},
+ 1187: {region: 0x52, script: 0xce, flags: 0x0},
+ 1188: {region: 0xe4, script: 0x52, flags: 0x0},
+ 1189: {region: 0x164, script: 0x52, flags: 0x0},
+ 1190: {region: 0x105, script: 0x1e, flags: 0x0},
+ 1191: {region: 0xb9, script: 0x52, flags: 0x0},
+ 1192: {region: 0x164, script: 0x52, flags: 0x0},
+ 1193: {region: 0x105, script: 0x1e, flags: 0x0},
+ 1194: {region: 0x3f, script: 0x4, flags: 0x1},
+ 1195: {region: 0x11b, script: 0xd8, flags: 0x0},
+ 1196: {region: 0x12f, script: 0x1e, flags: 0x0},
+ 1197: {region: 0x74, script: 0x52, flags: 0x0},
+ 1198: {region: 0x29, script: 0x52, flags: 0x0},
+ 1200: {region: 0x43, script: 0x3, flags: 0x1},
+ 1201: {region: 0x98, script: 0xe, flags: 0x0},
+ 1202: {region: 0xe7, script: 0x5, flags: 0x0},
1203: {region: 0x164, script: 0x52, flags: 0x0},
- 1204: {region: 0xb3, script: 0xd9, flags: 0x0},
+ 1204: {region: 0x164, script: 0x52, flags: 0x0},
1205: {region: 0x164, script: 0x52, flags: 0x0},
- 1206: {region: 0x160, script: 0x52, flags: 0x0},
- 1207: {region: 0x9d, script: 0x52, flags: 0x0},
- 1208: {region: 0x105, script: 0x52, flags: 0x0},
- 1209: {region: 0x13d, script: 0x52, flags: 0x0},
- 1210: {region: 0x11a, script: 0x52, flags: 0x0},
+ 1206: {region: 0x164, script: 0x52, flags: 0x0},
+ 1207: {region: 0x164, script: 0x52, flags: 0x0},
+ 1208: {region: 0x164, script: 0x52, flags: 0x0},
+ 1209: {region: 0x164, script: 0x52, flags: 0x0},
+ 1210: {region: 0x46, script: 0x4, flags: 0x1},
1211: {region: 0x164, script: 0x52, flags: 0x0},
- 1212: {region: 0x35, script: 0x52, flags: 0x0},
- 1213: {region: 0x5f, script: 0x52, flags: 0x0},
- 1214: {region: 0xd0, script: 0x52, flags: 0x0},
- 1215: {region: 0x1, script: 0x52, flags: 0x0},
+ 1212: {region: 0xb3, script: 0xd9, flags: 0x0},
+ 1213: {region: 0x164, script: 0x52, flags: 0x0},
+ 1214: {region: 0x160, script: 0x52, flags: 0x0},
+ 1215: {region: 0x9d, script: 0x52, flags: 0x0},
1216: {region: 0x105, script: 0x52, flags: 0x0},
- 1217: {region: 0x69, script: 0x52, flags: 0x0},
- 1218: {region: 0x12e, script: 0x52, flags: 0x0},
+ 1217: {region: 0x13d, script: 0x52, flags: 0x0},
+ 1218: {region: 0x11a, script: 0x52, flags: 0x0},
1219: {region: 0x164, script: 0x52, flags: 0x0},
1220: {region: 0x35, script: 0x52, flags: 0x0},
- 1221: {region: 0x4d, script: 0x52, flags: 0x0},
- 1222: {region: 0x164, script: 0x52, flags: 0x0},
- 1223: {region: 0x6e, script: 0x27, flags: 0x0},
- 1224: {region: 0x164, script: 0x52, flags: 0x0},
- 1225: {region: 0xe6, script: 0x52, flags: 0x0},
- 1226: {region: 0x2e, script: 0x52, flags: 0x0},
- 1227: {region: 0x98, script: 0xd0, flags: 0x0},
- 1228: {region: 0x98, script: 0x20, flags: 0x0},
- 1229: {region: 0x164, script: 0x52, flags: 0x0},
+ 1221: {region: 0x5f, script: 0x52, flags: 0x0},
+ 1222: {region: 0xd0, script: 0x52, flags: 0x0},
+ 1223: {region: 0x1, script: 0x52, flags: 0x0},
+ 1224: {region: 0x105, script: 0x52, flags: 0x0},
+ 1225: {region: 0x69, script: 0x52, flags: 0x0},
+ 1226: {region: 0x12e, script: 0x52, flags: 0x0},
+ 1227: {region: 0x164, script: 0x52, flags: 0x0},
+ 1228: {region: 0x35, script: 0x52, flags: 0x0},
+ 1229: {region: 0x4d, script: 0x52, flags: 0x0},
1230: {region: 0x164, script: 0x52, flags: 0x0},
- 1231: {region: 0x164, script: 0x52, flags: 0x0},
+ 1231: {region: 0x6e, script: 0x27, flags: 0x0},
1232: {region: 0x164, script: 0x52, flags: 0x0},
- 1233: {region: 0x164, script: 0x52, flags: 0x0},
- 1234: {region: 0x164, script: 0x52, flags: 0x0},
- 1235: {region: 0x164, script: 0x52, flags: 0x0},
- 1236: {region: 0x164, script: 0x52, flags: 0x0},
+ 1233: {region: 0xe6, script: 0x52, flags: 0x0},
+ 1234: {region: 0x2e, script: 0x52, flags: 0x0},
+ 1235: {region: 0x98, script: 0xd0, flags: 0x0},
+ 1236: {region: 0x98, script: 0x20, flags: 0x0},
1237: {region: 0x164, script: 0x52, flags: 0x0},
- 1238: {region: 0x13f, script: 0x52, flags: 0x0},
+ 1238: {region: 0x164, script: 0x52, flags: 0x0},
1239: {region: 0x164, script: 0x52, flags: 0x0},
1240: {region: 0x164, script: 0x52, flags: 0x0},
- 1241: {region: 0xa7, script: 0x5, flags: 0x0},
+ 1241: {region: 0x164, script: 0x52, flags: 0x0},
1242: {region: 0x164, script: 0x52, flags: 0x0},
- 1243: {region: 0x113, script: 0x52, flags: 0x0},
+ 1243: {region: 0x164, script: 0x52, flags: 0x0},
1244: {region: 0x164, script: 0x52, flags: 0x0},
1245: {region: 0x164, script: 0x52, flags: 0x0},
- 1246: {region: 0x164, script: 0x52, flags: 0x0},
+ 1246: {region: 0x13f, script: 0x52, flags: 0x0},
1247: {region: 0x164, script: 0x52, flags: 0x0},
- 1248: {region: 0x98, script: 0x20, flags: 0x0},
- 1249: {region: 0x52, script: 0x34, flags: 0x0},
+ 1248: {region: 0x164, script: 0x52, flags: 0x0},
+ 1249: {region: 0xa7, script: 0x5, flags: 0x0},
1250: {region: 0x164, script: 0x52, flags: 0x0},
- 1251: {region: 0x164, script: 0x52, flags: 0x0},
- 1252: {region: 0x40, script: 0x52, flags: 0x0},
+ 1251: {region: 0x113, script: 0x52, flags: 0x0},
+ 1252: {region: 0x164, script: 0x52, flags: 0x0},
1253: {region: 0x164, script: 0x52, flags: 0x0},
- 1254: {region: 0x12a, script: 0x18, flags: 0x0},
+ 1254: {region: 0x164, script: 0x52, flags: 0x0},
1255: {region: 0x164, script: 0x52, flags: 0x0},
- 1256: {region: 0x160, script: 0x52, flags: 0x0},
- 1257: {region: 0x164, script: 0x52, flags: 0x0},
- 1258: {region: 0x12a, script: 0x5a, flags: 0x0},
- 1259: {region: 0x12a, script: 0x5b, flags: 0x0},
- 1260: {region: 0x7c, script: 0x29, flags: 0x0},
- 1261: {region: 0x52, script: 0x5e, flags: 0x0},
- 1262: {region: 0x10a, script: 0x62, flags: 0x0},
- 1263: {region: 0x107, script: 0x6c, flags: 0x0},
- 1264: {region: 0x98, script: 0x20, flags: 0x0},
- 1265: {region: 0x130, script: 0x52, flags: 0x0},
- 1266: {region: 0x164, script: 0x52, flags: 0x0},
- 1267: {region: 0x9b, script: 0x82, flags: 0x0},
- 1268: {region: 0x164, script: 0x52, flags: 0x0},
- 1269: {region: 0x15d, script: 0xba, flags: 0x0},
- 1270: {region: 0x164, script: 0x52, flags: 0x0},
- 1271: {region: 0x164, script: 0x52, flags: 0x0},
- 1272: {region: 0xda, script: 0x20, flags: 0x0},
- 1273: {region: 0x164, script: 0x52, flags: 0x0},
+ 1256: {region: 0x98, script: 0x20, flags: 0x0},
+ 1257: {region: 0x52, script: 0x34, flags: 0x0},
+ 1258: {region: 0x164, script: 0x52, flags: 0x0},
+ 1259: {region: 0x164, script: 0x52, flags: 0x0},
+ 1260: {region: 0x40, script: 0x52, flags: 0x0},
+ 1261: {region: 0x164, script: 0x52, flags: 0x0},
+ 1262: {region: 0x12a, script: 0x18, flags: 0x0},
+ 1263: {region: 0x164, script: 0x52, flags: 0x0},
+ 1264: {region: 0x160, script: 0x52, flags: 0x0},
+ 1265: {region: 0x164, script: 0x52, flags: 0x0},
+ 1266: {region: 0x12a, script: 0x5a, flags: 0x0},
+ 1267: {region: 0x12a, script: 0x5b, flags: 0x0},
+ 1268: {region: 0x7c, script: 0x29, flags: 0x0},
+ 1269: {region: 0x52, script: 0x5e, flags: 0x0},
+ 1270: {region: 0x10a, script: 0x62, flags: 0x0},
+ 1271: {region: 0x107, script: 0x6c, flags: 0x0},
+ 1272: {region: 0x98, script: 0x20, flags: 0x0},
+ 1273: {region: 0x130, script: 0x52, flags: 0x0},
1274: {region: 0x164, script: 0x52, flags: 0x0},
- 1275: {region: 0xd0, script: 0x52, flags: 0x0},
- 1276: {region: 0x74, script: 0x52, flags: 0x0},
- 1277: {region: 0x164, script: 0x52, flags: 0x0},
+ 1275: {region: 0x9b, script: 0x82, flags: 0x0},
+ 1276: {region: 0x164, script: 0x52, flags: 0x0},
+ 1277: {region: 0x15d, script: 0xba, flags: 0x0},
1278: {region: 0x164, script: 0x52, flags: 0x0},
- 1279: {region: 0x51, script: 0x52, flags: 0x0},
- 1280: {region: 0x164, script: 0x52, flags: 0x0},
+ 1279: {region: 0x164, script: 0x52, flags: 0x0},
+ 1280: {region: 0xda, script: 0x20, flags: 0x0},
1281: {region: 0x164, script: 0x52, flags: 0x0},
1282: {region: 0x164, script: 0x52, flags: 0x0},
- 1283: {region: 0x51, script: 0x52, flags: 0x0},
- 1284: {region: 0x164, script: 0x52, flags: 0x0},
+ 1283: {region: 0xd0, script: 0x52, flags: 0x0},
+ 1284: {region: 0x74, script: 0x52, flags: 0x0},
1285: {region: 0x164, script: 0x52, flags: 0x0},
1286: {region: 0x164, script: 0x52, flags: 0x0},
- 1287: {region: 0x164, script: 0x52, flags: 0x0},
- 1288: {region: 0x1, script: 0x37, flags: 0x0},
+ 1287: {region: 0x51, script: 0x52, flags: 0x0},
+ 1288: {region: 0x164, script: 0x52, flags: 0x0},
1289: {region: 0x164, script: 0x52, flags: 0x0},
1290: {region: 0x164, script: 0x52, flags: 0x0},
- 1291: {region: 0x164, script: 0x52, flags: 0x0},
+ 1291: {region: 0x51, script: 0x52, flags: 0x0},
1292: {region: 0x164, script: 0x52, flags: 0x0},
1293: {region: 0x164, script: 0x52, flags: 0x0},
- 1294: {region: 0xd5, script: 0x52, flags: 0x0},
+ 1294: {region: 0x164, script: 0x52, flags: 0x0},
1295: {region: 0x164, script: 0x52, flags: 0x0},
- 1296: {region: 0x164, script: 0x52, flags: 0x0},
+ 1296: {region: 0x1, script: 0x37, flags: 0x0},
1297: {region: 0x164, script: 0x52, flags: 0x0},
- 1298: {region: 0x40, script: 0x52, flags: 0x0},
+ 1298: {region: 0x164, script: 0x52, flags: 0x0},
1299: {region: 0x164, script: 0x52, flags: 0x0},
- 1300: {region: 0xce, script: 0x52, flags: 0x0},
- 1301: {region: 0x4c, script: 0x3, flags: 0x1},
- 1302: {region: 0x164, script: 0x52, flags: 0x0},
+ 1300: {region: 0x164, script: 0x52, flags: 0x0},
+ 1301: {region: 0x164, script: 0x52, flags: 0x0},
+ 1302: {region: 0xd5, script: 0x52, flags: 0x0},
1303: {region: 0x164, script: 0x52, flags: 0x0},
1304: {region: 0x164, script: 0x52, flags: 0x0},
- 1305: {region: 0x52, script: 0x52, flags: 0x0},
- 1306: {region: 0x10a, script: 0x52, flags: 0x0},
- 1308: {region: 0xa7, script: 0x5, flags: 0x0},
- 1309: {region: 0xd8, script: 0x52, flags: 0x0},
- 1310: {region: 0xb9, script: 0xd2, flags: 0x0},
- 1311: {region: 0x4f, script: 0x14, flags: 0x1},
+ 1305: {region: 0x164, script: 0x52, flags: 0x0},
+ 1306: {region: 0x40, script: 0x52, flags: 0x0},
+ 1307: {region: 0x164, script: 0x52, flags: 0x0},
+ 1308: {region: 0xce, script: 0x52, flags: 0x0},
+ 1309: {region: 0x4a, script: 0x3, flags: 0x1},
+ 1310: {region: 0x164, script: 0x52, flags: 0x0},
+ 1311: {region: 0x164, script: 0x52, flags: 0x0},
1312: {region: 0x164, script: 0x52, flags: 0x0},
- 1313: {region: 0x121, script: 0x52, flags: 0x0},
- 1314: {region: 0xcf, script: 0x52, flags: 0x0},
- 1315: {region: 0x164, script: 0x52, flags: 0x0},
- 1316: {region: 0x160, script: 0x52, flags: 0x0},
- 1318: {region: 0x12a, script: 0x52, flags: 0x0},
+ 1313: {region: 0x52, script: 0x52, flags: 0x0},
+ 1314: {region: 0x10a, script: 0x52, flags: 0x0},
+ 1316: {region: 0xa7, script: 0x5, flags: 0x0},
+ 1317: {region: 0xd8, script: 0x52, flags: 0x0},
+ 1318: {region: 0xb9, script: 0xd2, flags: 0x0},
+ 1319: {region: 0x4d, script: 0x14, flags: 0x1},
+ 1320: {region: 0x164, script: 0x52, flags: 0x0},
+ 1321: {region: 0x121, script: 0x52, flags: 0x0},
+ 1322: {region: 0xcf, script: 0x52, flags: 0x0},
+ 1323: {region: 0x164, script: 0x52, flags: 0x0},
+ 1324: {region: 0x160, script: 0x52, flags: 0x0},
+ 1326: {region: 0x12a, script: 0x52, flags: 0x0},
}
// likelyLangList holds lists info associated with likelyLang.
-// Size: 396 bytes, 99 elements
-var likelyLangList = [99]likelyScriptRegion{
+// Size: 388 bytes, 97 elements
+var likelyLangList = [97]likelyScriptRegion{
0: {region: 0x9b, script: 0x7, flags: 0x0},
1: {region: 0xa0, script: 0x6d, flags: 0x2},
2: {region: 0x11b, script: 0x78, flags: 0x2},
@@ -2812,97 +2822,95 @@ var likelyLangList = [99]likelyScriptRegion{
5: {region: 0x9b, script: 0x5, flags: 0x4},
6: {region: 0x105, script: 0x1e, flags: 0x4},
7: {region: 0x9b, script: 0x5, flags: 0x2},
- 8: {region: 0x98, script: 0xe, flags: 0x0},
- 9: {region: 0x34, script: 0x16, flags: 0x2},
- 10: {region: 0x105, script: 0x1e, flags: 0x0},
- 11: {region: 0x37, script: 0x2a, flags: 0x2},
- 12: {region: 0x134, script: 0x52, flags: 0x0},
- 13: {region: 0x7a, script: 0xbd, flags: 0x2},
- 14: {region: 0x113, script: 0x52, flags: 0x0},
- 15: {region: 0x83, script: 0x1, flags: 0x2},
- 16: {region: 0x5c, script: 0x1d, flags: 0x0},
- 17: {region: 0x86, script: 0x57, flags: 0x2},
- 18: {region: 0xd5, script: 0x52, flags: 0x0},
- 19: {region: 0x51, script: 0x5, flags: 0x4},
- 20: {region: 0x10a, script: 0x5, flags: 0x4},
- 21: {region: 0xad, script: 0x1e, flags: 0x0},
- 22: {region: 0x23, script: 0x5, flags: 0x4},
- 23: {region: 0x52, script: 0x5, flags: 0x4},
- 24: {region: 0x9b, script: 0x5, flags: 0x4},
- 25: {region: 0xc4, script: 0x5, flags: 0x4},
- 26: {region: 0x52, script: 0x5, flags: 0x2},
- 27: {region: 0x12a, script: 0x52, flags: 0x0},
- 28: {region: 0xaf, script: 0x5, flags: 0x4},
- 29: {region: 0x9a, script: 0x5, flags: 0x2},
- 30: {region: 0xa4, script: 0x1e, flags: 0x0},
- 31: {region: 0x52, script: 0x5, flags: 0x4},
- 32: {region: 0x12a, script: 0x52, flags: 0x4},
- 33: {region: 0x52, script: 0x5, flags: 0x2},
- 34: {region: 0x12a, script: 0x52, flags: 0x2},
- 35: {region: 0xda, script: 0x20, flags: 0x0},
- 36: {region: 0x98, script: 0x55, flags: 0x2},
- 37: {region: 0x82, script: 0x52, flags: 0x0},
- 38: {region: 0x83, script: 0x70, flags: 0x4},
- 39: {region: 0x83, script: 0x70, flags: 0x2},
- 40: {region: 0xc4, script: 0x1e, flags: 0x0},
- 41: {region: 0x52, script: 0x66, flags: 0x4},
- 42: {region: 0x52, script: 0x66, flags: 0x2},
- 43: {region: 0xcf, script: 0x52, flags: 0x0},
- 44: {region: 0x49, script: 0x5, flags: 0x4},
- 45: {region: 0x94, script: 0x5, flags: 0x4},
- 46: {region: 0x98, script: 0x2f, flags: 0x0},
- 47: {region: 0xe7, script: 0x5, flags: 0x4},
- 48: {region: 0xe7, script: 0x5, flags: 0x2},
- 49: {region: 0x9b, script: 0x7c, flags: 0x0},
- 50: {region: 0x52, script: 0x7d, flags: 0x2},
- 51: {region: 0xb9, script: 0xd2, flags: 0x0},
- 52: {region: 0xd8, script: 0x52, flags: 0x4},
- 53: {region: 0xe7, script: 0x5, flags: 0x0},
- 54: {region: 0x98, script: 0x20, flags: 0x2},
- 55: {region: 0x98, script: 0x47, flags: 0x2},
- 56: {region: 0x98, script: 0xc0, flags: 0x2},
- 57: {region: 0x104, script: 0x1e, flags: 0x0},
- 58: {region: 0xbc, script: 0x52, flags: 0x4},
- 59: {region: 0x103, script: 0x52, flags: 0x4},
- 60: {region: 0x105, script: 0x52, flags: 0x4},
- 61: {region: 0x12a, script: 0x52, flags: 0x4},
- 62: {region: 0x123, script: 0x1e, flags: 0x0},
- 63: {region: 0xe7, script: 0x5, flags: 0x4},
- 64: {region: 0xe7, script: 0x5, flags: 0x2},
- 65: {region: 0x52, script: 0x5, flags: 0x0},
- 66: {region: 0xad, script: 0x1e, flags: 0x4},
- 67: {region: 0xc4, script: 0x1e, flags: 0x4},
- 68: {region: 0xad, script: 0x1e, flags: 0x2},
- 69: {region: 0x98, script: 0xe, flags: 0x0},
- 70: {region: 0xda, script: 0x20, flags: 0x4},
- 71: {region: 0xda, script: 0x20, flags: 0x2},
- 72: {region: 0x136, script: 0x52, flags: 0x0},
- 73: {region: 0x23, script: 0x5, flags: 0x4},
- 74: {region: 0x52, script: 0x1e, flags: 0x4},
- 75: {region: 0x23, script: 0x5, flags: 0x2},
- 76: {region: 0x8c, script: 0x35, flags: 0x0},
- 77: {region: 0x52, script: 0x34, flags: 0x4},
- 78: {region: 0x52, script: 0x34, flags: 0x2},
- 79: {region: 0x52, script: 0x34, flags: 0x0},
- 80: {region: 0x2e, script: 0x35, flags: 0x4},
- 81: {region: 0x3d, script: 0x35, flags: 0x4},
- 82: {region: 0x7a, script: 0x35, flags: 0x4},
- 83: {region: 0x7d, script: 0x35, flags: 0x4},
- 84: {region: 0x8c, script: 0x35, flags: 0x4},
- 85: {region: 0x94, script: 0x35, flags: 0x4},
- 86: {region: 0xc5, script: 0x35, flags: 0x4},
- 87: {region: 0xcf, script: 0x35, flags: 0x4},
- 88: {region: 0xe1, script: 0x35, flags: 0x4},
- 89: {region: 0xe4, script: 0x35, flags: 0x4},
- 90: {region: 0xe6, script: 0x35, flags: 0x4},
- 91: {region: 0x115, script: 0x35, flags: 0x4},
- 92: {region: 0x122, script: 0x35, flags: 0x4},
- 93: {region: 0x12d, script: 0x35, flags: 0x4},
- 94: {region: 0x134, script: 0x35, flags: 0x4},
- 95: {region: 0x13d, script: 0x35, flags: 0x4},
- 96: {region: 0x12d, script: 0x11, flags: 0x2},
- 97: {region: 0x12d, script: 0x30, flags: 0x2},
- 98: {region: 0x12d, script: 0x35, flags: 0x2},
+ 8: {region: 0x105, script: 0x1e, flags: 0x0},
+ 9: {region: 0x37, script: 0x2a, flags: 0x2},
+ 10: {region: 0x134, script: 0x52, flags: 0x0},
+ 11: {region: 0x7a, script: 0xbd, flags: 0x2},
+ 12: {region: 0x113, script: 0x52, flags: 0x0},
+ 13: {region: 0x83, script: 0x1, flags: 0x2},
+ 14: {region: 0x5c, script: 0x1d, flags: 0x0},
+ 15: {region: 0x86, script: 0x57, flags: 0x2},
+ 16: {region: 0xd5, script: 0x52, flags: 0x0},
+ 17: {region: 0x51, script: 0x5, flags: 0x4},
+ 18: {region: 0x10a, script: 0x5, flags: 0x4},
+ 19: {region: 0xad, script: 0x1e, flags: 0x0},
+ 20: {region: 0x23, script: 0x5, flags: 0x4},
+ 21: {region: 0x52, script: 0x5, flags: 0x4},
+ 22: {region: 0x9b, script: 0x5, flags: 0x4},
+ 23: {region: 0xc4, script: 0x5, flags: 0x4},
+ 24: {region: 0x52, script: 0x5, flags: 0x2},
+ 25: {region: 0x12a, script: 0x52, flags: 0x0},
+ 26: {region: 0xaf, script: 0x5, flags: 0x4},
+ 27: {region: 0x9a, script: 0x5, flags: 0x2},
+ 28: {region: 0xa4, script: 0x1e, flags: 0x0},
+ 29: {region: 0x52, script: 0x5, flags: 0x4},
+ 30: {region: 0x12a, script: 0x52, flags: 0x4},
+ 31: {region: 0x52, script: 0x5, flags: 0x2},
+ 32: {region: 0x12a, script: 0x52, flags: 0x2},
+ 33: {region: 0xda, script: 0x20, flags: 0x0},
+ 34: {region: 0x98, script: 0x55, flags: 0x2},
+ 35: {region: 0x82, script: 0x52, flags: 0x0},
+ 36: {region: 0x83, script: 0x70, flags: 0x4},
+ 37: {region: 0x83, script: 0x70, flags: 0x2},
+ 38: {region: 0xc4, script: 0x1e, flags: 0x0},
+ 39: {region: 0x52, script: 0x66, flags: 0x4},
+ 40: {region: 0x52, script: 0x66, flags: 0x2},
+ 41: {region: 0xcf, script: 0x52, flags: 0x0},
+ 42: {region: 0x49, script: 0x5, flags: 0x4},
+ 43: {region: 0x94, script: 0x5, flags: 0x4},
+ 44: {region: 0x98, script: 0x2f, flags: 0x0},
+ 45: {region: 0xe7, script: 0x5, flags: 0x4},
+ 46: {region: 0xe7, script: 0x5, flags: 0x2},
+ 47: {region: 0x9b, script: 0x7c, flags: 0x0},
+ 48: {region: 0x52, script: 0x7d, flags: 0x2},
+ 49: {region: 0xb9, script: 0xd2, flags: 0x0},
+ 50: {region: 0xd8, script: 0x52, flags: 0x4},
+ 51: {region: 0xe7, script: 0x5, flags: 0x0},
+ 52: {region: 0x98, script: 0x20, flags: 0x2},
+ 53: {region: 0x98, script: 0x47, flags: 0x2},
+ 54: {region: 0x98, script: 0xc0, flags: 0x2},
+ 55: {region: 0x104, script: 0x1e, flags: 0x0},
+ 56: {region: 0xbc, script: 0x52, flags: 0x4},
+ 57: {region: 0x103, script: 0x52, flags: 0x4},
+ 58: {region: 0x105, script: 0x52, flags: 0x4},
+ 59: {region: 0x12a, script: 0x52, flags: 0x4},
+ 60: {region: 0x123, script: 0x1e, flags: 0x0},
+ 61: {region: 0xe7, script: 0x5, flags: 0x4},
+ 62: {region: 0xe7, script: 0x5, flags: 0x2},
+ 63: {region: 0x52, script: 0x5, flags: 0x0},
+ 64: {region: 0xad, script: 0x1e, flags: 0x4},
+ 65: {region: 0xc4, script: 0x1e, flags: 0x4},
+ 66: {region: 0xad, script: 0x1e, flags: 0x2},
+ 67: {region: 0x98, script: 0xe, flags: 0x0},
+ 68: {region: 0xda, script: 0x20, flags: 0x4},
+ 69: {region: 0xda, script: 0x20, flags: 0x2},
+ 70: {region: 0x136, script: 0x52, flags: 0x0},
+ 71: {region: 0x23, script: 0x5, flags: 0x4},
+ 72: {region: 0x52, script: 0x1e, flags: 0x4},
+ 73: {region: 0x23, script: 0x5, flags: 0x2},
+ 74: {region: 0x8c, script: 0x35, flags: 0x0},
+ 75: {region: 0x52, script: 0x34, flags: 0x4},
+ 76: {region: 0x52, script: 0x34, flags: 0x2},
+ 77: {region: 0x52, script: 0x34, flags: 0x0},
+ 78: {region: 0x2e, script: 0x35, flags: 0x4},
+ 79: {region: 0x3d, script: 0x35, flags: 0x4},
+ 80: {region: 0x7a, script: 0x35, flags: 0x4},
+ 81: {region: 0x7d, script: 0x35, flags: 0x4},
+ 82: {region: 0x8c, script: 0x35, flags: 0x4},
+ 83: {region: 0x94, script: 0x35, flags: 0x4},
+ 84: {region: 0xc5, script: 0x35, flags: 0x4},
+ 85: {region: 0xcf, script: 0x35, flags: 0x4},
+ 86: {region: 0xe1, script: 0x35, flags: 0x4},
+ 87: {region: 0xe4, script: 0x35, flags: 0x4},
+ 88: {region: 0xe6, script: 0x35, flags: 0x4},
+ 89: {region: 0x115, script: 0x35, flags: 0x4},
+ 90: {region: 0x122, script: 0x35, flags: 0x4},
+ 91: {region: 0x12d, script: 0x35, flags: 0x4},
+ 92: {region: 0x134, script: 0x35, flags: 0x4},
+ 93: {region: 0x13d, script: 0x35, flags: 0x4},
+ 94: {region: 0x12d, script: 0x11, flags: 0x2},
+ 95: {region: 0x12d, script: 0x30, flags: 0x2},
+ 96: {region: 0x12d, script: 0x35, flags: 0x2},
}
type likelyLangScript struct {
@@ -2918,308 +2926,306 @@ type likelyLangScript struct {
// TODO: exclude containers and user-definable regions from the list.
// Size: 1428 bytes, 357 elements
var likelyRegion = [357]likelyLangScript{
- 33: {lang: 0xd5, script: 0x52, flags: 0x0},
- 34: {lang: 0x39, script: 0x5, flags: 0x0},
+ 33: {lang: 0xd7, script: 0x52, flags: 0x0},
+ 34: {lang: 0x3a, script: 0x5, flags: 0x0},
35: {lang: 0x0, script: 0x2, flags: 0x1},
38: {lang: 0x2, script: 0x2, flags: 0x1},
39: {lang: 0x4, script: 0x2, flags: 0x1},
- 41: {lang: 0x3b7, script: 0x52, flags: 0x0},
+ 41: {lang: 0x3be, script: 0x52, flags: 0x0},
42: {lang: 0x0, script: 0x52, flags: 0x0},
- 43: {lang: 0x139, script: 0x52, flags: 0x0},
- 44: {lang: 0x411, script: 0x52, flags: 0x0},
- 45: {lang: 0x109, script: 0x52, flags: 0x0},
- 47: {lang: 0x35e, script: 0x52, flags: 0x0},
- 48: {lang: 0x43a, script: 0x52, flags: 0x0},
- 49: {lang: 0x57, script: 0x52, flags: 0x0},
+ 43: {lang: 0x13d, script: 0x52, flags: 0x0},
+ 44: {lang: 0x419, script: 0x52, flags: 0x0},
+ 45: {lang: 0x10c, script: 0x52, flags: 0x0},
+ 47: {lang: 0x365, script: 0x52, flags: 0x0},
+ 48: {lang: 0x442, script: 0x52, flags: 0x0},
+ 49: {lang: 0x58, script: 0x52, flags: 0x0},
50: {lang: 0x6, script: 0x2, flags: 0x1},
- 52: {lang: 0xa3, script: 0xe, flags: 0x0},
- 53: {lang: 0x35e, script: 0x52, flags: 0x0},
- 54: {lang: 0x159, script: 0x52, flags: 0x0},
- 55: {lang: 0x7d, script: 0x1e, flags: 0x0},
- 56: {lang: 0x39, script: 0x5, flags: 0x0},
- 57: {lang: 0x3d0, script: 0x52, flags: 0x0},
- 58: {lang: 0x159, script: 0x52, flags: 0x0},
- 59: {lang: 0x159, script: 0x52, flags: 0x0},
- 61: {lang: 0x316, script: 0x52, flags: 0x0},
- 62: {lang: 0x139, script: 0x52, flags: 0x0},
- 63: {lang: 0x398, script: 0x52, flags: 0x0},
- 64: {lang: 0x3b7, script: 0x52, flags: 0x0},
+ 52: {lang: 0xa5, script: 0xe, flags: 0x0},
+ 53: {lang: 0x365, script: 0x52, flags: 0x0},
+ 54: {lang: 0x15d, script: 0x52, flags: 0x0},
+ 55: {lang: 0x7e, script: 0x1e, flags: 0x0},
+ 56: {lang: 0x3a, script: 0x5, flags: 0x0},
+ 57: {lang: 0x3d7, script: 0x52, flags: 0x0},
+ 58: {lang: 0x15d, script: 0x52, flags: 0x0},
+ 59: {lang: 0x15d, script: 0x52, flags: 0x0},
+ 61: {lang: 0x31d, script: 0x52, flags: 0x0},
+ 62: {lang: 0x13d, script: 0x52, flags: 0x0},
+ 63: {lang: 0x39f, script: 0x52, flags: 0x0},
+ 64: {lang: 0x3be, script: 0x52, flags: 0x0},
66: {lang: 0x8, script: 0x2, flags: 0x1},
68: {lang: 0x0, script: 0x52, flags: 0x0},
- 70: {lang: 0x70, script: 0x1e, flags: 0x0},
- 72: {lang: 0x508, script: 0x37, flags: 0x2},
- 73: {lang: 0x316, script: 0x5, flags: 0x2},
- 74: {lang: 0x43b, script: 0x52, flags: 0x0},
- 75: {lang: 0x159, script: 0x52, flags: 0x0},
- 76: {lang: 0x159, script: 0x52, flags: 0x0},
- 77: {lang: 0x109, script: 0x52, flags: 0x0},
- 78: {lang: 0x159, script: 0x52, flags: 0x0},
- 80: {lang: 0x139, script: 0x52, flags: 0x0},
- 81: {lang: 0x159, script: 0x52, flags: 0x0},
+ 70: {lang: 0x71, script: 0x1e, flags: 0x0},
+ 72: {lang: 0x510, script: 0x37, flags: 0x2},
+ 73: {lang: 0x31d, script: 0x5, flags: 0x2},
+ 74: {lang: 0x443, script: 0x52, flags: 0x0},
+ 75: {lang: 0x15d, script: 0x52, flags: 0x0},
+ 76: {lang: 0x15d, script: 0x52, flags: 0x0},
+ 77: {lang: 0x10c, script: 0x52, flags: 0x0},
+ 78: {lang: 0x15d, script: 0x52, flags: 0x0},
+ 80: {lang: 0x13d, script: 0x52, flags: 0x0},
+ 81: {lang: 0x15d, script: 0x52, flags: 0x0},
82: {lang: 0xa, script: 0x5, flags: 0x1},
- 83: {lang: 0x139, script: 0x52, flags: 0x0},
+ 83: {lang: 0x13d, script: 0x52, flags: 0x0},
84: {lang: 0x0, script: 0x52, flags: 0x0},
- 85: {lang: 0x139, script: 0x52, flags: 0x0},
- 88: {lang: 0x139, script: 0x52, flags: 0x0},
- 89: {lang: 0x3b7, script: 0x52, flags: 0x0},
- 90: {lang: 0x398, script: 0x52, flags: 0x0},
+ 85: {lang: 0x13d, script: 0x52, flags: 0x0},
+ 88: {lang: 0x13d, script: 0x52, flags: 0x0},
+ 89: {lang: 0x3be, script: 0x52, flags: 0x0},
+ 90: {lang: 0x39f, script: 0x52, flags: 0x0},
92: {lang: 0xf, script: 0x2, flags: 0x1},
- 93: {lang: 0xf6, script: 0x52, flags: 0x0},
- 95: {lang: 0x109, script: 0x52, flags: 0x0},
+ 93: {lang: 0xf9, script: 0x52, flags: 0x0},
+ 95: {lang: 0x10c, script: 0x52, flags: 0x0},
97: {lang: 0x1, script: 0x52, flags: 0x0},
- 98: {lang: 0xfd, script: 0x52, flags: 0x0},
- 100: {lang: 0x139, script: 0x52, flags: 0x0},
+ 98: {lang: 0x100, script: 0x52, flags: 0x0},
+ 100: {lang: 0x13d, script: 0x52, flags: 0x0},
102: {lang: 0x11, script: 0x2, flags: 0x1},
- 103: {lang: 0x139, script: 0x52, flags: 0x0},
- 104: {lang: 0x139, script: 0x52, flags: 0x0},
- 105: {lang: 0x13b, script: 0x52, flags: 0x0},
- 106: {lang: 0x39, script: 0x5, flags: 0x0},
- 107: {lang: 0x39, script: 0x5, flags: 0x0},
- 108: {lang: 0x465, script: 0x27, flags: 0x0},
- 109: {lang: 0x139, script: 0x52, flags: 0x0},
+ 103: {lang: 0x13d, script: 0x52, flags: 0x0},
+ 104: {lang: 0x13d, script: 0x52, flags: 0x0},
+ 105: {lang: 0x13f, script: 0x52, flags: 0x0},
+ 106: {lang: 0x3a, script: 0x5, flags: 0x0},
+ 107: {lang: 0x3a, script: 0x5, flags: 0x0},
+ 108: {lang: 0x46d, script: 0x27, flags: 0x0},
+ 109: {lang: 0x13d, script: 0x52, flags: 0x0},
110: {lang: 0x13, script: 0x2, flags: 0x1},
- 112: {lang: 0x109, script: 0x52, flags: 0x0},
- 113: {lang: 0x14c, script: 0x52, flags: 0x0},
- 114: {lang: 0x1b9, script: 0x20, flags: 0x2},
- 117: {lang: 0x153, script: 0x52, flags: 0x0},
- 119: {lang: 0x159, script: 0x52, flags: 0x0},
- 121: {lang: 0x159, script: 0x52, flags: 0x0},
+ 112: {lang: 0x10c, script: 0x52, flags: 0x0},
+ 113: {lang: 0x150, script: 0x52, flags: 0x0},
+ 114: {lang: 0x1be, script: 0x20, flags: 0x2},
+ 117: {lang: 0x157, script: 0x52, flags: 0x0},
+ 119: {lang: 0x15d, script: 0x52, flags: 0x0},
+ 121: {lang: 0x15d, script: 0x52, flags: 0x0},
122: {lang: 0x15, script: 0x2, flags: 0x1},
124: {lang: 0x17, script: 0x3, flags: 0x1},
- 125: {lang: 0x159, script: 0x52, flags: 0x0},
- 127: {lang: 0x20, script: 0x52, flags: 0x0},
- 129: {lang: 0x23d, script: 0x52, flags: 0x0},
- 131: {lang: 0x159, script: 0x52, flags: 0x0},
- 132: {lang: 0x159, script: 0x52, flags: 0x0},
- 133: {lang: 0x139, script: 0x52, flags: 0x0},
+ 125: {lang: 0x15d, script: 0x52, flags: 0x0},
+ 127: {lang: 0x21, script: 0x52, flags: 0x0},
+ 129: {lang: 0x243, script: 0x52, flags: 0x0},
+ 131: {lang: 0x15d, script: 0x52, flags: 0x0},
+ 132: {lang: 0x15d, script: 0x52, flags: 0x0},
+ 133: {lang: 0x13d, script: 0x52, flags: 0x0},
134: {lang: 0x1a, script: 0x2, flags: 0x1},
135: {lang: 0x0, script: 0x52, flags: 0x0},
- 136: {lang: 0x139, script: 0x52, flags: 0x0},
- 138: {lang: 0x3b7, script: 0x52, flags: 0x0},
- 140: {lang: 0x51f, script: 0x35, flags: 0x0},
+ 136: {lang: 0x13d, script: 0x52, flags: 0x0},
+ 138: {lang: 0x3be, script: 0x52, flags: 0x0},
+ 140: {lang: 0x527, script: 0x35, flags: 0x0},
141: {lang: 0x0, script: 0x52, flags: 0x0},
- 142: {lang: 0x139, script: 0x52, flags: 0x0},
- 143: {lang: 0x1ca, script: 0x52, flags: 0x0},
- 144: {lang: 0x1cd, script: 0x52, flags: 0x0},
- 145: {lang: 0x1ce, script: 0x52, flags: 0x0},
- 147: {lang: 0x139, script: 0x52, flags: 0x0},
+ 142: {lang: 0x13d, script: 0x52, flags: 0x0},
+ 143: {lang: 0x1cf, script: 0x52, flags: 0x0},
+ 144: {lang: 0x1d2, script: 0x52, flags: 0x0},
+ 145: {lang: 0x1d3, script: 0x52, flags: 0x0},
+ 147: {lang: 0x13d, script: 0x52, flags: 0x0},
148: {lang: 0x1c, script: 0x2, flags: 0x1},
- 150: {lang: 0x1b5, script: 0x37, flags: 0x0},
+ 150: {lang: 0x1ba, script: 0x37, flags: 0x0},
152: {lang: 0x1e, script: 0x3, flags: 0x1},
- 154: {lang: 0x39, script: 0x5, flags: 0x0},
+ 154: {lang: 0x3a, script: 0x5, flags: 0x0},
155: {lang: 0x21, script: 0x2, flags: 0x1},
- 156: {lang: 0x1f0, script: 0x52, flags: 0x0},
- 157: {lang: 0x1f1, script: 0x52, flags: 0x0},
- 160: {lang: 0x39, script: 0x5, flags: 0x0},
- 161: {lang: 0x1f8, script: 0x41, flags: 0x0},
- 163: {lang: 0x43b, script: 0x52, flags: 0x0},
- 164: {lang: 0x281, script: 0x1e, flags: 0x0},
+ 156: {lang: 0x1f6, script: 0x52, flags: 0x0},
+ 157: {lang: 0x1f7, script: 0x52, flags: 0x0},
+ 160: {lang: 0x3a, script: 0x5, flags: 0x0},
+ 161: {lang: 0x1fe, script: 0x41, flags: 0x0},
+ 163: {lang: 0x443, script: 0x52, flags: 0x0},
+ 164: {lang: 0x288, script: 0x1e, flags: 0x0},
165: {lang: 0x23, script: 0x3, flags: 0x1},
167: {lang: 0x26, script: 0x2, flags: 0x1},
- 169: {lang: 0x24b, script: 0x4b, flags: 0x0},
- 170: {lang: 0x24b, script: 0x4b, flags: 0x0},
- 171: {lang: 0x39, script: 0x5, flags: 0x0},
- 173: {lang: 0x3d9, script: 0x1e, flags: 0x0},
+ 169: {lang: 0x252, script: 0x4b, flags: 0x0},
+ 170: {lang: 0x252, script: 0x4b, flags: 0x0},
+ 171: {lang: 0x3a, script: 0x5, flags: 0x0},
+ 173: {lang: 0x3e0, script: 0x1e, flags: 0x0},
174: {lang: 0x28, script: 0x2, flags: 0x1},
- 175: {lang: 0x39, script: 0x5, flags: 0x0},
- 177: {lang: 0x109, script: 0x52, flags: 0x0},
- 178: {lang: 0x402, script: 0xc1, flags: 0x0},
- 180: {lang: 0x431, script: 0x52, flags: 0x0},
- 181: {lang: 0x2b7, script: 0x52, flags: 0x0},
- 182: {lang: 0x159, script: 0x52, flags: 0x0},
- 183: {lang: 0x2be, script: 0x52, flags: 0x0},
- 184: {lang: 0x39, script: 0x5, flags: 0x0},
+ 175: {lang: 0x3a, script: 0x5, flags: 0x0},
+ 177: {lang: 0x10c, script: 0x52, flags: 0x0},
+ 178: {lang: 0x40a, script: 0xc1, flags: 0x0},
+ 180: {lang: 0x439, script: 0x52, flags: 0x0},
+ 181: {lang: 0x2be, script: 0x52, flags: 0x0},
+ 182: {lang: 0x15d, script: 0x52, flags: 0x0},
+ 183: {lang: 0x2c5, script: 0x52, flags: 0x0},
+ 184: {lang: 0x3a, script: 0x5, flags: 0x0},
185: {lang: 0x2a, script: 0x2, flags: 0x1},
- 186: {lang: 0x159, script: 0x52, flags: 0x0},
+ 186: {lang: 0x15d, script: 0x52, flags: 0x0},
187: {lang: 0x2c, script: 0x2, flags: 0x1},
- 188: {lang: 0x428, script: 0x52, flags: 0x0},
- 189: {lang: 0x159, script: 0x52, flags: 0x0},
- 190: {lang: 0x2e8, script: 0x52, flags: 0x0},
+ 188: {lang: 0x430, script: 0x52, flags: 0x0},
+ 189: {lang: 0x15d, script: 0x52, flags: 0x0},
+ 190: {lang: 0x2ef, script: 0x52, flags: 0x0},
193: {lang: 0x2e, script: 0x2, flags: 0x1},
- 194: {lang: 0x9e, script: 0x52, flags: 0x0},
+ 194: {lang: 0xa0, script: 0x52, flags: 0x0},
195: {lang: 0x30, script: 0x2, flags: 0x1},
196: {lang: 0x32, script: 0x2, flags: 0x1},
197: {lang: 0x34, script: 0x2, flags: 0x1},
- 199: {lang: 0x159, script: 0x52, flags: 0x0},
+ 199: {lang: 0x15d, script: 0x52, flags: 0x0},
200: {lang: 0x36, script: 0x2, flags: 0x1},
- 202: {lang: 0x317, script: 0x52, flags: 0x0},
+ 202: {lang: 0x31e, script: 0x52, flags: 0x0},
203: {lang: 0x38, script: 0x3, flags: 0x1},
- 204: {lang: 0x124, script: 0xd4, flags: 0x0},
- 206: {lang: 0x139, script: 0x52, flags: 0x0},
- 207: {lang: 0x316, script: 0x52, flags: 0x0},
- 208: {lang: 0x3b7, script: 0x52, flags: 0x0},
- 209: {lang: 0x15, script: 0x52, flags: 0x0},
- 210: {lang: 0x159, script: 0x52, flags: 0x0},
- 211: {lang: 0x1ad, script: 0x52, flags: 0x0},
- 213: {lang: 0x1ad, script: 0x5, flags: 0x2},
- 215: {lang: 0x139, script: 0x52, flags: 0x0},
- 216: {lang: 0x35e, script: 0x52, flags: 0x0},
- 217: {lang: 0x33e, script: 0x52, flags: 0x0},
- 218: {lang: 0x348, script: 0x20, flags: 0x0},
- 224: {lang: 0x39, script: 0x5, flags: 0x0},
- 225: {lang: 0x139, script: 0x52, flags: 0x0},
- 227: {lang: 0x139, script: 0x52, flags: 0x0},
- 228: {lang: 0x159, script: 0x52, flags: 0x0},
- 229: {lang: 0x47c, script: 0x52, flags: 0x0},
- 230: {lang: 0x14e, script: 0x52, flags: 0x0},
+ 204: {lang: 0x127, script: 0xd4, flags: 0x0},
+ 206: {lang: 0x13d, script: 0x52, flags: 0x0},
+ 207: {lang: 0x31d, script: 0x52, flags: 0x0},
+ 208: {lang: 0x3be, script: 0x52, flags: 0x0},
+ 209: {lang: 0x16, script: 0x52, flags: 0x0},
+ 210: {lang: 0x15d, script: 0x52, flags: 0x0},
+ 211: {lang: 0x1b2, script: 0x52, flags: 0x0},
+ 213: {lang: 0x1b2, script: 0x5, flags: 0x2},
+ 215: {lang: 0x13d, script: 0x52, flags: 0x0},
+ 216: {lang: 0x365, script: 0x52, flags: 0x0},
+ 217: {lang: 0x345, script: 0x52, flags: 0x0},
+ 218: {lang: 0x34f, script: 0x20, flags: 0x0},
+ 224: {lang: 0x3a, script: 0x5, flags: 0x0},
+ 225: {lang: 0x13d, script: 0x52, flags: 0x0},
+ 227: {lang: 0x13d, script: 0x52, flags: 0x0},
+ 228: {lang: 0x15d, script: 0x52, flags: 0x0},
+ 229: {lang: 0x484, script: 0x52, flags: 0x0},
+ 230: {lang: 0x152, script: 0x52, flags: 0x0},
231: {lang: 0x3b, script: 0x3, flags: 0x1},
- 232: {lang: 0x3e, script: 0x2, flags: 0x1},
- 233: {lang: 0x159, script: 0x52, flags: 0x0},
- 235: {lang: 0x139, script: 0x52, flags: 0x0},
- 236: {lang: 0x39, script: 0x5, flags: 0x0},
- 237: {lang: 0x3b7, script: 0x52, flags: 0x0},
- 239: {lang: 0x399, script: 0x52, flags: 0x0},
- 240: {lang: 0x18e, script: 0x52, flags: 0x0},
- 242: {lang: 0x39, script: 0x5, flags: 0x0},
- 257: {lang: 0x159, script: 0x52, flags: 0x0},
- 259: {lang: 0x40, script: 0x2, flags: 0x1},
- 260: {lang: 0x428, script: 0x1e, flags: 0x0},
- 261: {lang: 0x42, script: 0x2, flags: 0x1},
- 262: {lang: 0x3dc, script: 0x52, flags: 0x0},
- 263: {lang: 0x39, script: 0x5, flags: 0x0},
- 265: {lang: 0x159, script: 0x52, flags: 0x0},
- 266: {lang: 0x39, script: 0x5, flags: 0x0},
- 267: {lang: 0x44, script: 0x2, flags: 0x1},
- 270: {lang: 0x40c, script: 0x52, flags: 0x0},
- 271: {lang: 0x33e, script: 0x52, flags: 0x0},
- 272: {lang: 0x46, script: 0x2, flags: 0x1},
- 274: {lang: 0x1f1, script: 0x52, flags: 0x0},
- 275: {lang: 0x159, script: 0x52, flags: 0x0},
- 276: {lang: 0x41f, script: 0x52, flags: 0x0},
- 277: {lang: 0x35e, script: 0x52, flags: 0x0},
- 279: {lang: 0x3b7, script: 0x52, flags: 0x0},
- 281: {lang: 0x139, script: 0x52, flags: 0x0},
- 283: {lang: 0x48, script: 0x2, flags: 0x1},
- 287: {lang: 0x159, script: 0x52, flags: 0x0},
- 288: {lang: 0x159, script: 0x52, flags: 0x0},
- 289: {lang: 0x4a, script: 0x2, flags: 0x1},
- 290: {lang: 0x4c, script: 0x3, flags: 0x1},
- 291: {lang: 0x4f, script: 0x2, flags: 0x1},
- 292: {lang: 0x46d, script: 0x52, flags: 0x0},
- 293: {lang: 0x3b7, script: 0x52, flags: 0x0},
- 294: {lang: 0x46c, script: 0x52, flags: 0x0},
- 295: {lang: 0x51, script: 0x2, flags: 0x1},
- 296: {lang: 0x478, script: 0x52, flags: 0x0},
- 298: {lang: 0x53, script: 0x4, flags: 0x1},
- 300: {lang: 0x496, script: 0x52, flags: 0x0},
- 301: {lang: 0x57, script: 0x2, flags: 0x1},
- 302: {lang: 0x43b, script: 0x52, flags: 0x0},
- 303: {lang: 0x59, script: 0x3, flags: 0x1},
- 304: {lang: 0x43b, script: 0x52, flags: 0x0},
- 308: {lang: 0x508, script: 0x37, flags: 0x2},
- 309: {lang: 0x139, script: 0x52, flags: 0x0},
- 310: {lang: 0x4b2, script: 0x52, flags: 0x0},
- 311: {lang: 0x1f1, script: 0x52, flags: 0x0},
- 314: {lang: 0x139, script: 0x52, flags: 0x0},
- 317: {lang: 0x4b9, script: 0x52, flags: 0x0},
- 318: {lang: 0x89, script: 0x52, flags: 0x0},
- 319: {lang: 0x159, script: 0x52, flags: 0x0},
- 321: {lang: 0x411, script: 0x52, flags: 0x0},
- 332: {lang: 0x5c, script: 0x2, flags: 0x1},
- 349: {lang: 0x39, script: 0x5, flags: 0x0},
- 350: {lang: 0x5e, script: 0x2, flags: 0x1},
- 355: {lang: 0x419, script: 0x52, flags: 0x0},
+ 232: {lang: 0x3b1, script: 0x52, flags: 0x0},
+ 233: {lang: 0x15d, script: 0x52, flags: 0x0},
+ 235: {lang: 0x13d, script: 0x52, flags: 0x0},
+ 236: {lang: 0x3a, script: 0x5, flags: 0x0},
+ 237: {lang: 0x3be, script: 0x52, flags: 0x0},
+ 239: {lang: 0x3a0, script: 0x52, flags: 0x0},
+ 240: {lang: 0x192, script: 0x52, flags: 0x0},
+ 242: {lang: 0x3a, script: 0x5, flags: 0x0},
+ 257: {lang: 0x15d, script: 0x52, flags: 0x0},
+ 259: {lang: 0x3e, script: 0x2, flags: 0x1},
+ 260: {lang: 0x430, script: 0x1e, flags: 0x0},
+ 261: {lang: 0x40, script: 0x2, flags: 0x1},
+ 262: {lang: 0x3e3, script: 0x52, flags: 0x0},
+ 263: {lang: 0x3a, script: 0x5, flags: 0x0},
+ 265: {lang: 0x15d, script: 0x52, flags: 0x0},
+ 266: {lang: 0x3a, script: 0x5, flags: 0x0},
+ 267: {lang: 0x42, script: 0x2, flags: 0x1},
+ 270: {lang: 0x414, script: 0x52, flags: 0x0},
+ 271: {lang: 0x345, script: 0x52, flags: 0x0},
+ 272: {lang: 0x44, script: 0x2, flags: 0x1},
+ 274: {lang: 0x1f7, script: 0x52, flags: 0x0},
+ 275: {lang: 0x15d, script: 0x52, flags: 0x0},
+ 276: {lang: 0x427, script: 0x52, flags: 0x0},
+ 277: {lang: 0x365, script: 0x52, flags: 0x0},
+ 279: {lang: 0x3be, script: 0x52, flags: 0x0},
+ 281: {lang: 0x13d, script: 0x52, flags: 0x0},
+ 283: {lang: 0x46, script: 0x2, flags: 0x1},
+ 287: {lang: 0x15d, script: 0x52, flags: 0x0},
+ 288: {lang: 0x15d, script: 0x52, flags: 0x0},
+ 289: {lang: 0x48, script: 0x2, flags: 0x1},
+ 290: {lang: 0x4a, script: 0x3, flags: 0x1},
+ 291: {lang: 0x4d, script: 0x2, flags: 0x1},
+ 292: {lang: 0x475, script: 0x52, flags: 0x0},
+ 293: {lang: 0x3be, script: 0x52, flags: 0x0},
+ 294: {lang: 0x474, script: 0x52, flags: 0x0},
+ 295: {lang: 0x4f, script: 0x2, flags: 0x1},
+ 296: {lang: 0x480, script: 0x52, flags: 0x0},
+ 298: {lang: 0x51, script: 0x4, flags: 0x1},
+ 300: {lang: 0x49e, script: 0x52, flags: 0x0},
+ 301: {lang: 0x55, script: 0x2, flags: 0x1},
+ 302: {lang: 0x443, script: 0x52, flags: 0x0},
+ 303: {lang: 0x57, script: 0x3, flags: 0x1},
+ 304: {lang: 0x443, script: 0x52, flags: 0x0},
+ 308: {lang: 0x510, script: 0x37, flags: 0x2},
+ 309: {lang: 0x13d, script: 0x52, flags: 0x0},
+ 310: {lang: 0x4ba, script: 0x52, flags: 0x0},
+ 311: {lang: 0x1f7, script: 0x52, flags: 0x0},
+ 314: {lang: 0x13d, script: 0x52, flags: 0x0},
+ 317: {lang: 0x4c1, script: 0x52, flags: 0x0},
+ 318: {lang: 0x8a, script: 0x52, flags: 0x0},
+ 319: {lang: 0x15d, script: 0x52, flags: 0x0},
+ 321: {lang: 0x419, script: 0x52, flags: 0x0},
+ 332: {lang: 0x5a, script: 0x2, flags: 0x1},
+ 349: {lang: 0x3a, script: 0x5, flags: 0x0},
+ 350: {lang: 0x5c, script: 0x2, flags: 0x1},
+ 355: {lang: 0x421, script: 0x52, flags: 0x0},
}
// likelyRegionList holds lists info associated with likelyRegion.
-// Size: 384 bytes, 96 elements
-var likelyRegionList = [96]likelyLangScript{
- 0: {lang: 0x143, script: 0x5, flags: 0x0},
- 1: {lang: 0x46c, script: 0x52, flags: 0x0},
- 2: {lang: 0x427, script: 0x52, flags: 0x0},
- 3: {lang: 0x2f6, script: 0x1e, flags: 0x0},
- 4: {lang: 0x1d0, script: 0x8, flags: 0x0},
- 5: {lang: 0x26b, script: 0x52, flags: 0x0},
- 6: {lang: 0xb5, script: 0x52, flags: 0x0},
- 7: {lang: 0x428, script: 0x1e, flags: 0x0},
- 8: {lang: 0x129, script: 0xd6, flags: 0x0},
- 9: {lang: 0x348, script: 0x20, flags: 0x0},
- 10: {lang: 0x51f, script: 0x34, flags: 0x0},
- 11: {lang: 0x4a2, script: 0x5, flags: 0x0},
- 12: {lang: 0x515, script: 0x35, flags: 0x0},
- 13: {lang: 0x519, script: 0x52, flags: 0x0},
- 14: {lang: 0x291, script: 0xd5, flags: 0x0},
- 15: {lang: 0x131, script: 0x2d, flags: 0x0},
- 16: {lang: 0x480, script: 0x52, flags: 0x0},
- 17: {lang: 0x39, script: 0x5, flags: 0x0},
- 18: {lang: 0x159, script: 0x52, flags: 0x0},
- 19: {lang: 0x26, script: 0x27, flags: 0x0},
- 20: {lang: 0x134, script: 0x52, flags: 0x0},
- 21: {lang: 0x261, script: 0x5, flags: 0x2},
- 22: {lang: 0x508, script: 0x37, flags: 0x2},
- 23: {lang: 0x208, script: 0x29, flags: 0x0},
+// Size: 376 bytes, 94 elements
+var likelyRegionList = [94]likelyLangScript{
+ 0: {lang: 0x147, script: 0x5, flags: 0x0},
+ 1: {lang: 0x474, script: 0x52, flags: 0x0},
+ 2: {lang: 0x42f, script: 0x52, flags: 0x0},
+ 3: {lang: 0x2fd, script: 0x1e, flags: 0x0},
+ 4: {lang: 0x1d5, script: 0x8, flags: 0x0},
+ 5: {lang: 0x272, script: 0x52, flags: 0x0},
+ 6: {lang: 0xb7, script: 0x52, flags: 0x0},
+ 7: {lang: 0x430, script: 0x1e, flags: 0x0},
+ 8: {lang: 0x12c, script: 0xd6, flags: 0x0},
+ 9: {lang: 0x34f, script: 0x20, flags: 0x0},
+ 10: {lang: 0x527, script: 0x34, flags: 0x0},
+ 11: {lang: 0x4aa, script: 0x5, flags: 0x0},
+ 12: {lang: 0x51d, script: 0x35, flags: 0x0},
+ 13: {lang: 0x521, script: 0x52, flags: 0x0},
+ 14: {lang: 0x298, script: 0xd5, flags: 0x0},
+ 15: {lang: 0x135, script: 0x2d, flags: 0x0},
+ 16: {lang: 0x488, script: 0x52, flags: 0x0},
+ 17: {lang: 0x3a, script: 0x5, flags: 0x0},
+ 18: {lang: 0x15d, script: 0x52, flags: 0x0},
+ 19: {lang: 0x27, script: 0x27, flags: 0x0},
+ 20: {lang: 0x138, script: 0x52, flags: 0x0},
+ 21: {lang: 0x268, script: 0x5, flags: 0x2},
+ 22: {lang: 0x510, script: 0x37, flags: 0x2},
+ 23: {lang: 0x20e, script: 0x29, flags: 0x0},
24: {lang: 0x5, script: 0x1e, flags: 0x0},
- 25: {lang: 0x26b, script: 0x52, flags: 0x0},
- 26: {lang: 0x131, script: 0x2d, flags: 0x0},
- 27: {lang: 0x2f6, script: 0x1e, flags: 0x0},
- 28: {lang: 0x1da, script: 0x52, flags: 0x0},
- 29: {lang: 0x316, script: 0x5, flags: 0x0},
- 30: {lang: 0x1b7, script: 0x20, flags: 0x0},
- 31: {lang: 0x4aa, script: 0x5, flags: 0x0},
- 32: {lang: 0x22e, script: 0x6b, flags: 0x0},
- 33: {lang: 0x143, script: 0x5, flags: 0x0},
- 34: {lang: 0x46c, script: 0x52, flags: 0x0},
- 35: {lang: 0x242, script: 0x46, flags: 0x0},
- 36: {lang: 0xe4, script: 0x5, flags: 0x0},
- 37: {lang: 0x21e, script: 0xd5, flags: 0x0},
- 38: {lang: 0x39, script: 0x5, flags: 0x0},
- 39: {lang: 0x159, script: 0x52, flags: 0x0},
- 40: {lang: 0x2af, script: 0x4f, flags: 0x0},
- 41: {lang: 0x21e, script: 0xd5, flags: 0x0},
- 42: {lang: 0x39, script: 0x5, flags: 0x0},
- 43: {lang: 0x159, script: 0x52, flags: 0x0},
- 44: {lang: 0x3d3, script: 0x52, flags: 0x0},
- 45: {lang: 0x4a4, script: 0x1e, flags: 0x0},
- 46: {lang: 0x2f6, script: 0x1e, flags: 0x0},
- 47: {lang: 0x427, script: 0x52, flags: 0x0},
- 48: {lang: 0x328, script: 0x6b, flags: 0x0},
- 49: {lang: 0x20b, script: 0x52, flags: 0x0},
- 50: {lang: 0x302, script: 0x1e, flags: 0x0},
- 51: {lang: 0x23a, script: 0x5, flags: 0x0},
- 52: {lang: 0x51f, script: 0x35, flags: 0x0},
- 53: {lang: 0x3b7, script: 0x52, flags: 0x0},
- 54: {lang: 0x39, script: 0x5, flags: 0x0},
- 55: {lang: 0x159, script: 0x52, flags: 0x0},
- 56: {lang: 0x2e4, script: 0x52, flags: 0x0},
- 57: {lang: 0x4aa, script: 0x5, flags: 0x0},
- 58: {lang: 0x87, script: 0x20, flags: 0x0},
- 59: {lang: 0x4aa, script: 0x5, flags: 0x0},
- 60: {lang: 0x4aa, script: 0x5, flags: 0x0},
- 61: {lang: 0xbc, script: 0x20, flags: 0x0},
- 62: {lang: 0x3aa, script: 0x52, flags: 0x0},
- 63: {lang: 0x70, script: 0x1e, flags: 0x0},
- 64: {lang: 0x3d3, script: 0x52, flags: 0x0},
- 65: {lang: 0x7d, script: 0x1e, flags: 0x0},
- 66: {lang: 0x3d9, script: 0x1e, flags: 0x0},
- 67: {lang: 0x25e, script: 0x52, flags: 0x0},
- 68: {lang: 0x43a, script: 0x52, flags: 0x0},
- 69: {lang: 0x508, script: 0x37, flags: 0x0},
- 70: {lang: 0x408, script: 0x52, flags: 0x0},
- 71: {lang: 0x4a4, script: 0x1e, flags: 0x0},
- 72: {lang: 0x39, script: 0x5, flags: 0x0},
- 73: {lang: 0x159, script: 0x52, flags: 0x0},
- 74: {lang: 0x159, script: 0x52, flags: 0x0},
- 75: {lang: 0x34, script: 0x5, flags: 0x0},
- 76: {lang: 0x461, script: 0xd5, flags: 0x0},
- 77: {lang: 0x2e3, script: 0x5, flags: 0x0},
- 78: {lang: 0x306, script: 0x6b, flags: 0x0},
- 79: {lang: 0x45d, script: 0x1e, flags: 0x0},
- 80: {lang: 0x143, script: 0x5, flags: 0x0},
- 81: {lang: 0x39, script: 0x5, flags: 0x0},
- 82: {lang: 0x159, script: 0x52, flags: 0x0},
- 83: {lang: 0x480, script: 0x52, flags: 0x0},
- 84: {lang: 0x57, script: 0x5, flags: 0x0},
- 85: {lang: 0x211, script: 0x1e, flags: 0x0},
- 86: {lang: 0x80, script: 0x2d, flags: 0x0},
- 87: {lang: 0x51f, script: 0x35, flags: 0x0},
- 88: {lang: 0x482, script: 0x52, flags: 0x0},
- 89: {lang: 0x4a4, script: 0x1e, flags: 0x0},
- 90: {lang: 0x508, script: 0x37, flags: 0x0},
- 91: {lang: 0x3aa, script: 0x52, flags: 0x0},
- 92: {lang: 0x427, script: 0x52, flags: 0x0},
- 93: {lang: 0x428, script: 0x1e, flags: 0x0},
- 94: {lang: 0x159, script: 0x52, flags: 0x0},
- 95: {lang: 0x43c, script: 0x5, flags: 0x0},
+ 25: {lang: 0x272, script: 0x52, flags: 0x0},
+ 26: {lang: 0x135, script: 0x2d, flags: 0x0},
+ 27: {lang: 0x2fd, script: 0x1e, flags: 0x0},
+ 28: {lang: 0x1df, script: 0x52, flags: 0x0},
+ 29: {lang: 0x31d, script: 0x5, flags: 0x0},
+ 30: {lang: 0x1bc, script: 0x20, flags: 0x0},
+ 31: {lang: 0x4b2, script: 0x5, flags: 0x0},
+ 32: {lang: 0x234, script: 0x6b, flags: 0x0},
+ 33: {lang: 0x147, script: 0x5, flags: 0x0},
+ 34: {lang: 0x474, script: 0x52, flags: 0x0},
+ 35: {lang: 0x248, script: 0x46, flags: 0x0},
+ 36: {lang: 0xe6, script: 0x5, flags: 0x0},
+ 37: {lang: 0x224, script: 0xd5, flags: 0x0},
+ 38: {lang: 0x3a, script: 0x5, flags: 0x0},
+ 39: {lang: 0x15d, script: 0x52, flags: 0x0},
+ 40: {lang: 0x2b6, script: 0x4f, flags: 0x0},
+ 41: {lang: 0x224, script: 0xd5, flags: 0x0},
+ 42: {lang: 0x3a, script: 0x5, flags: 0x0},
+ 43: {lang: 0x15d, script: 0x52, flags: 0x0},
+ 44: {lang: 0x3da, script: 0x52, flags: 0x0},
+ 45: {lang: 0x4ac, script: 0x1e, flags: 0x0},
+ 46: {lang: 0x2fd, script: 0x1e, flags: 0x0},
+ 47: {lang: 0x42f, script: 0x52, flags: 0x0},
+ 48: {lang: 0x32f, script: 0x6b, flags: 0x0},
+ 49: {lang: 0x211, script: 0x52, flags: 0x0},
+ 50: {lang: 0x309, script: 0x1e, flags: 0x0},
+ 51: {lang: 0x240, script: 0x5, flags: 0x0},
+ 52: {lang: 0x527, script: 0x35, flags: 0x0},
+ 53: {lang: 0x3be, script: 0x52, flags: 0x0},
+ 54: {lang: 0x3a, script: 0x5, flags: 0x0},
+ 55: {lang: 0x15d, script: 0x52, flags: 0x0},
+ 56: {lang: 0x2eb, script: 0x52, flags: 0x0},
+ 57: {lang: 0x4b2, script: 0x5, flags: 0x0},
+ 58: {lang: 0x88, script: 0x20, flags: 0x0},
+ 59: {lang: 0x4b2, script: 0x5, flags: 0x0},
+ 60: {lang: 0x4b2, script: 0x5, flags: 0x0},
+ 61: {lang: 0xbe, script: 0x20, flags: 0x0},
+ 62: {lang: 0x3da, script: 0x52, flags: 0x0},
+ 63: {lang: 0x7e, script: 0x1e, flags: 0x0},
+ 64: {lang: 0x3e0, script: 0x1e, flags: 0x0},
+ 65: {lang: 0x265, script: 0x52, flags: 0x0},
+ 66: {lang: 0x442, script: 0x52, flags: 0x0},
+ 67: {lang: 0x510, script: 0x37, flags: 0x0},
+ 68: {lang: 0x410, script: 0x52, flags: 0x0},
+ 69: {lang: 0x4ac, script: 0x1e, flags: 0x0},
+ 70: {lang: 0x3a, script: 0x5, flags: 0x0},
+ 71: {lang: 0x15d, script: 0x52, flags: 0x0},
+ 72: {lang: 0x15d, script: 0x52, flags: 0x0},
+ 73: {lang: 0x35, script: 0x5, flags: 0x0},
+ 74: {lang: 0x469, script: 0xd5, flags: 0x0},
+ 75: {lang: 0x2ea, script: 0x5, flags: 0x0},
+ 76: {lang: 0x30d, script: 0x6b, flags: 0x0},
+ 77: {lang: 0x465, script: 0x1e, flags: 0x0},
+ 78: {lang: 0x147, script: 0x5, flags: 0x0},
+ 79: {lang: 0x3a, script: 0x5, flags: 0x0},
+ 80: {lang: 0x15d, script: 0x52, flags: 0x0},
+ 81: {lang: 0x488, script: 0x52, flags: 0x0},
+ 82: {lang: 0x58, script: 0x5, flags: 0x0},
+ 83: {lang: 0x217, script: 0x1e, flags: 0x0},
+ 84: {lang: 0x81, script: 0x2d, flags: 0x0},
+ 85: {lang: 0x527, script: 0x35, flags: 0x0},
+ 86: {lang: 0x48a, script: 0x52, flags: 0x0},
+ 87: {lang: 0x4ac, script: 0x1e, flags: 0x0},
+ 88: {lang: 0x510, script: 0x37, flags: 0x0},
+ 89: {lang: 0x3b1, script: 0x52, flags: 0x0},
+ 90: {lang: 0x42f, script: 0x52, flags: 0x0},
+ 91: {lang: 0x430, script: 0x1e, flags: 0x0},
+ 92: {lang: 0x15d, script: 0x52, flags: 0x0},
+ 93: {lang: 0x444, script: 0x5, flags: 0x0},
}
type likelyTag struct {
@@ -3230,186 +3236,287 @@ type likelyTag struct {
// Size: 192 bytes, 32 elements
var likelyRegionGroup = [32]likelyTag{
- 1: {lang: 0x134, region: 0xd5, script: 0x52},
- 2: {lang: 0x134, region: 0x134, script: 0x52},
- 3: {lang: 0x3b7, region: 0x40, script: 0x52},
- 4: {lang: 0x134, region: 0x2e, script: 0x52},
- 5: {lang: 0x134, region: 0xd5, script: 0x52},
- 6: {lang: 0x139, region: 0xce, script: 0x52},
- 7: {lang: 0x43b, region: 0x12e, script: 0x52},
- 8: {lang: 0x39, region: 0x6a, script: 0x5},
- 9: {lang: 0x43b, region: 0x4a, script: 0x52},
- 10: {lang: 0x134, region: 0x160, script: 0x52},
- 11: {lang: 0x134, region: 0x134, script: 0x52},
- 12: {lang: 0x134, region: 0x134, script: 0x52},
- 13: {lang: 0x139, region: 0x58, script: 0x52},
- 14: {lang: 0x51f, region: 0x52, script: 0x34},
- 15: {lang: 0x1b7, region: 0x98, script: 0x20},
- 16: {lang: 0x1da, region: 0x94, script: 0x52},
- 17: {lang: 0x1f1, region: 0x9d, script: 0x52},
- 18: {lang: 0x134, region: 0x2e, script: 0x52},
- 19: {lang: 0x134, region: 0xe5, script: 0x52},
- 20: {lang: 0x134, region: 0x89, script: 0x52},
- 21: {lang: 0x411, region: 0x141, script: 0x52},
- 22: {lang: 0x51f, region: 0x52, script: 0x34},
- 23: {lang: 0x4b2, region: 0x136, script: 0x52},
- 24: {lang: 0x39, region: 0x107, script: 0x5},
- 25: {lang: 0x3d9, region: 0x105, script: 0x1e},
- 26: {lang: 0x3d9, region: 0x105, script: 0x1e},
- 27: {lang: 0x134, region: 0x7a, script: 0x52},
- 28: {lang: 0x109, region: 0x5f, script: 0x52},
- 29: {lang: 0x139, region: 0x1e, script: 0x52},
- 30: {lang: 0x134, region: 0x99, script: 0x52},
- 31: {lang: 0x134, region: 0x7a, script: 0x52},
+ 1: {lang: 0x138, region: 0xd5, script: 0x52},
+ 2: {lang: 0x138, region: 0x134, script: 0x52},
+ 3: {lang: 0x3be, region: 0x40, script: 0x52},
+ 4: {lang: 0x138, region: 0x2e, script: 0x52},
+ 5: {lang: 0x138, region: 0xd5, script: 0x52},
+ 6: {lang: 0x13d, region: 0xce, script: 0x52},
+ 7: {lang: 0x443, region: 0x12e, script: 0x52},
+ 8: {lang: 0x3a, region: 0x6a, script: 0x5},
+ 9: {lang: 0x443, region: 0x4a, script: 0x52},
+ 10: {lang: 0x138, region: 0x160, script: 0x52},
+ 11: {lang: 0x138, region: 0x134, script: 0x52},
+ 12: {lang: 0x138, region: 0x134, script: 0x52},
+ 13: {lang: 0x13d, region: 0x58, script: 0x52},
+ 14: {lang: 0x527, region: 0x52, script: 0x34},
+ 15: {lang: 0x1bc, region: 0x98, script: 0x20},
+ 16: {lang: 0x1df, region: 0x94, script: 0x52},
+ 17: {lang: 0x1f7, region: 0x9d, script: 0x52},
+ 18: {lang: 0x138, region: 0x2e, script: 0x52},
+ 19: {lang: 0x138, region: 0xe5, script: 0x52},
+ 20: {lang: 0x138, region: 0x89, script: 0x52},
+ 21: {lang: 0x419, region: 0x141, script: 0x52},
+ 22: {lang: 0x527, region: 0x52, script: 0x34},
+ 23: {lang: 0x4ba, region: 0x136, script: 0x52},
+ 24: {lang: 0x3a, region: 0x107, script: 0x5},
+ 25: {lang: 0x3e0, region: 0x105, script: 0x1e},
+ 26: {lang: 0x3e0, region: 0x105, script: 0x1e},
+ 27: {lang: 0x138, region: 0x7a, script: 0x52},
+ 28: {lang: 0x10c, region: 0x5f, script: 0x52},
+ 29: {lang: 0x13d, region: 0x1e, script: 0x52},
+ 30: {lang: 0x138, region: 0x99, script: 0x52},
+ 31: {lang: 0x138, region: 0x7a, script: 0x52},
+}
+
+// Size: 357 bytes, 357 elements
+var regionToGroups = [357]uint8{
+ // Entry 0 - 3F
+ 0x00, 0x00, 0x00, 0x04, 0x04, 0x00, 0x00, 0x04,
+ 0x00, 0x00, 0x00, 0x00, 0x04, 0x04, 0x04, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x04, 0x04, 0x00, 0x00,
+ 0x04, 0x00, 0x00, 0x04, 0x01, 0x00, 0x00, 0x04,
+ 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x04, 0x04, 0x00, 0x04, 0x04,
+ // Entry 40 - 7F
+ 0x04, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04,
+ 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x04, 0x00, 0x00, 0x04, 0x00, 0x04, 0x00, 0x00,
+ 0x04, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x04, 0x04, 0x00, 0x08, 0x00,
+ 0x04, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x04, 0x00, 0x04, 0x00, 0x00,
+ // Entry 80 - BF
+ 0x00, 0x04, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00,
+ 0x04, 0x01, 0x00, 0x04, 0x02, 0x00, 0x04, 0x00,
+ 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x04, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00,
+ 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x08, 0x08, 0x00, 0x00, 0x00, 0x04, 0x00, 0x01,
+ // Entry C0 - FF
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x01, 0x04,
+ 0x08, 0x04, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x04, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x04, 0x00, 0x05, 0x00, 0x00, 0x00, 0x00,
+ 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ // Entry 100 - 13F
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00,
+ 0x00, 0x04, 0x04, 0x00, 0x00, 0x00, 0x04, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08,
+ 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x01, 0x00, 0x05, 0x04, 0x00, 0x00,
+ 0x04, 0x00, 0x04, 0x04, 0x05, 0x00, 0x00, 0x00,
+ // Entry 140 - 17F
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00,
}
type mutualIntelligibility struct {
- want uint16
- have uint16
- conf uint8
- oneway bool
+ want uint16
+ have uint16
+ distance uint8
+ oneway bool
}
type scriptIntelligibility struct {
- lang uint16
- want uint8
- have uint8
- conf uint8
+ wantLang uint16
+ haveLang uint16
+ wantScript uint8
+ haveScript uint8
+ distance uint8
+}
+
+type regionIntelligibility struct {
+ lang uint16
+ script uint8
+ group uint8
+ distance uint8
}
// matchLang holds pairs of langIDs of base languages that are typically
// mutually intelligible. Each pair is associated with a confidence and
// whether the intelligibility goes one or both ways.
-// Size: 708 bytes, 118 elements
-var matchLang = [118]mutualIntelligibility{
- 0: {want: 0x366, have: 0x33e, conf: 0x2, oneway: false},
- 1: {want: 0x26b, have: 0xe7, conf: 0x2, oneway: false},
- 2: {want: 0x1ca, have: 0xb5, conf: 0x2, oneway: false},
- 3: {want: 0x3fd, have: 0xb5, conf: 0x2, oneway: false},
- 4: {want: 0x428, have: 0xb5, conf: 0x2, oneway: false},
- 5: {want: 0x3fd, have: 0x1ca, conf: 0x2, oneway: false},
- 6: {want: 0x428, have: 0x1ca, conf: 0x2, oneway: false},
- 7: {want: 0x3fd, have: 0x428, conf: 0x2, oneway: false},
- 8: {want: 0x430, have: 0x1, conf: 0x2, oneway: false},
- 9: {want: 0x19c, have: 0x109, conf: 0x2, oneway: true},
- 10: {want: 0x28c, have: 0x109, conf: 0x2, oneway: true},
- 11: {want: 0xfd, have: 0x366, conf: 0x2, oneway: false},
- 12: {want: 0xfd, have: 0x33e, conf: 0x2, oneway: false},
- 13: {want: 0xe7, have: 0x26b, conf: 0x2, oneway: false},
- 14: {want: 0x5, have: 0x3d9, conf: 0x2, oneway: true},
- 15: {want: 0xc, have: 0x134, conf: 0x2, oneway: true},
- 16: {want: 0x15, have: 0x35e, conf: 0x2, oneway: true},
- 17: {want: 0x20, have: 0x134, conf: 0x2, oneway: true},
- 18: {want: 0x55, have: 0x139, conf: 0x2, oneway: true},
- 19: {want: 0x57, have: 0x3d9, conf: 0x2, oneway: true},
- 20: {want: 0x70, have: 0x3d9, conf: 0x2, oneway: true},
- 21: {want: 0x74, have: 0x134, conf: 0x2, oneway: true},
- 22: {want: 0x81, have: 0x1b7, conf: 0x2, oneway: true},
- 23: {want: 0xa3, have: 0x134, conf: 0x2, oneway: true},
- 24: {want: 0xb0, have: 0x159, conf: 0x2, oneway: true},
- 25: {want: 0xdb, have: 0x14e, conf: 0x2, oneway: true},
- 26: {want: 0xe3, have: 0x134, conf: 0x2, oneway: true},
- 27: {want: 0xe7, have: 0x39, conf: 0x2, oneway: true},
- 28: {want: 0xed, have: 0x159, conf: 0x2, oneway: true},
- 29: {want: 0xf5, have: 0x159, conf: 0x2, oneway: true},
- 30: {want: 0xfc, have: 0x134, conf: 0x2, oneway: true},
- 31: {want: 0x12c, have: 0x134, conf: 0x2, oneway: true},
- 32: {want: 0x137, have: 0x134, conf: 0x2, oneway: true},
- 33: {want: 0x13b, have: 0x14c, conf: 0x2, oneway: true},
- 34: {want: 0x140, have: 0x139, conf: 0x2, oneway: true},
- 35: {want: 0x153, have: 0xfd, conf: 0x2, oneway: true},
- 36: {want: 0x168, have: 0x35e, conf: 0x2, oneway: true},
- 37: {want: 0x169, have: 0x134, conf: 0x2, oneway: true},
- 38: {want: 0x16a, have: 0x134, conf: 0x2, oneway: true},
- 39: {want: 0x178, have: 0x134, conf: 0x2, oneway: true},
- 40: {want: 0x18a, have: 0x139, conf: 0x2, oneway: true},
- 41: {want: 0x18e, have: 0x139, conf: 0x2, oneway: true},
- 42: {want: 0x19d, have: 0x1b7, conf: 0x2, oneway: true},
- 43: {want: 0x1ad, have: 0x134, conf: 0x2, oneway: true},
- 44: {want: 0x1b1, have: 0x134, conf: 0x2, oneway: true},
- 45: {want: 0x1cd, have: 0x159, conf: 0x2, oneway: true},
- 46: {want: 0x1d0, have: 0x3d9, conf: 0x2, oneway: true},
- 47: {want: 0x1d2, have: 0x134, conf: 0x2, oneway: true},
- 48: {want: 0x1df, have: 0x134, conf: 0x2, oneway: true},
- 49: {want: 0x1f0, have: 0x134, conf: 0x2, oneway: true},
- 50: {want: 0x206, have: 0x1da, conf: 0x2, oneway: true},
- 51: {want: 0x208, have: 0x134, conf: 0x2, oneway: true},
- 52: {want: 0x225, have: 0x159, conf: 0x2, oneway: true},
- 53: {want: 0x23a, have: 0x3d9, conf: 0x2, oneway: true},
- 54: {want: 0x242, have: 0x134, conf: 0x2, oneway: true},
- 55: {want: 0x249, have: 0x134, conf: 0x2, oneway: true},
- 56: {want: 0x25c, have: 0x134, conf: 0x2, oneway: true},
- 57: {want: 0x26b, have: 0x480, conf: 0x2, oneway: true},
- 58: {want: 0x281, have: 0x3d9, conf: 0x2, oneway: true},
- 59: {want: 0x285, have: 0x1f1, conf: 0x2, oneway: true},
- 60: {want: 0x29a, have: 0x134, conf: 0x2, oneway: true},
- 61: {want: 0x2ac, have: 0x159, conf: 0x2, oneway: true},
- 62: {want: 0x2af, have: 0x134, conf: 0x2, oneway: true},
- 63: {want: 0x2b5, have: 0x134, conf: 0x2, oneway: true},
- 64: {want: 0x2ba, have: 0x159, conf: 0x2, oneway: true},
- 65: {want: 0x2e4, have: 0x134, conf: 0x2, oneway: true},
- 66: {want: 0x2e8, have: 0x159, conf: 0x2, oneway: true},
- 67: {want: 0x2f1, have: 0x134, conf: 0x2, oneway: true},
- 68: {want: 0x2f6, have: 0x7d, conf: 0x2, oneway: true},
- 69: {want: 0x2fb, have: 0x134, conf: 0x2, oneway: true},
- 70: {want: 0x302, have: 0x3d9, conf: 0x2, oneway: true},
- 71: {want: 0x312, have: 0x1b7, conf: 0x2, oneway: true},
- 72: {want: 0x316, have: 0x1da, conf: 0x2, oneway: true},
- 73: {want: 0x317, have: 0x134, conf: 0x2, oneway: true},
- 74: {want: 0x328, have: 0x134, conf: 0x2, oneway: true},
- 75: {want: 0x348, have: 0x134, conf: 0x2, oneway: true},
- 76: {want: 0x361, have: 0x33e, conf: 0x2, oneway: false},
- 77: {want: 0x361, have: 0x366, conf: 0x2, oneway: true},
- 78: {want: 0x371, have: 0x134, conf: 0x2, oneway: true},
- 79: {want: 0x37e, have: 0x134, conf: 0x2, oneway: true},
- 80: {want: 0x380, have: 0x134, conf: 0x2, oneway: true},
- 81: {want: 0x382, have: 0x159, conf: 0x2, oneway: true},
- 82: {want: 0x387, have: 0x134, conf: 0x2, oneway: true},
- 83: {want: 0x38c, have: 0x134, conf: 0x2, oneway: true},
- 84: {want: 0x394, have: 0x134, conf: 0x2, oneway: true},
- 85: {want: 0x39c, have: 0x134, conf: 0x2, oneway: true},
- 86: {want: 0x3b5, have: 0x134, conf: 0x2, oneway: true},
- 87: {want: 0x3bb, have: 0x139, conf: 0x2, oneway: true},
- 88: {want: 0x3cb, have: 0x109, conf: 0x2, oneway: true},
- 89: {want: 0x3d0, have: 0x134, conf: 0x2, oneway: true},
- 90: {want: 0x3dc, have: 0x159, conf: 0x2, oneway: true},
- 91: {want: 0x3e0, have: 0x1b7, conf: 0x2, oneway: true},
- 92: {want: 0x3f0, have: 0x134, conf: 0x2, oneway: true},
- 93: {want: 0x402, have: 0x134, conf: 0x2, oneway: true},
- 94: {want: 0x419, have: 0x134, conf: 0x2, oneway: true},
- 95: {want: 0x41f, have: 0x134, conf: 0x2, oneway: true},
- 96: {want: 0x427, have: 0x134, conf: 0x2, oneway: true},
- 97: {want: 0x431, have: 0x134, conf: 0x2, oneway: true},
- 98: {want: 0x434, have: 0x1da, conf: 0x2, oneway: true},
- 99: {want: 0x43b, have: 0x134, conf: 0x2, oneway: true},
- 100: {want: 0x446, have: 0x134, conf: 0x2, oneway: true},
- 101: {want: 0x457, have: 0x134, conf: 0x2, oneway: true},
- 102: {want: 0x45d, have: 0x3d9, conf: 0x2, oneway: true},
- 103: {want: 0x465, have: 0x134, conf: 0x2, oneway: true},
- 104: {want: 0x46c, have: 0x3d9, conf: 0x2, oneway: true},
- 105: {want: 0x3878, have: 0x134, conf: 0x2, oneway: true},
- 106: {want: 0x476, have: 0x134, conf: 0x2, oneway: true},
- 107: {want: 0x478, have: 0x134, conf: 0x2, oneway: true},
- 108: {want: 0x48a, have: 0x3d9, conf: 0x2, oneway: true},
- 109: {want: 0x493, have: 0x134, conf: 0x2, oneway: true},
- 110: {want: 0x4a2, have: 0x51f, conf: 0x2, oneway: true},
- 111: {want: 0x4aa, have: 0x134, conf: 0x2, oneway: true},
- 112: {want: 0x4b2, have: 0x3d9, conf: 0x2, oneway: true},
- 113: {want: 0x4db, have: 0x159, conf: 0x2, oneway: true},
- 114: {want: 0x4e8, have: 0x134, conf: 0x2, oneway: true},
- 115: {want: 0x508, have: 0x134, conf: 0x2, oneway: true},
- 116: {want: 0x50e, have: 0x134, conf: 0x2, oneway: true},
- 117: {want: 0x524, have: 0x134, conf: 0x2, oneway: true},
+// Size: 690 bytes, 115 elements
+var matchLang = [115]mutualIntelligibility{
+ 0: {want: 0x1cf, have: 0xb7, distance: 0x4, oneway: false},
+ 1: {want: 0x405, have: 0xb7, distance: 0x4, oneway: false},
+ 2: {want: 0x405, have: 0x1cf, distance: 0x4, oneway: false},
+ 3: {want: 0x405, have: 0x430, distance: 0x4, oneway: false},
+ 4: {want: 0x438, have: 0x1, distance: 0x4, oneway: false},
+ 5: {want: 0x1a1, have: 0x10c, distance: 0x4, oneway: true},
+ 6: {want: 0x293, have: 0x10c, distance: 0x4, oneway: true},
+ 7: {want: 0x430, have: 0x1cf, distance: 0x5, oneway: false},
+ 8: {want: 0x430, have: 0xb7, distance: 0x5, oneway: false},
+ 9: {want: 0x100, have: 0x36d, distance: 0x8, oneway: false},
+ 10: {want: 0x100, have: 0x345, distance: 0x8, oneway: false},
+ 11: {want: 0x5, have: 0x3e0, distance: 0xa, oneway: true},
+ 12: {want: 0xd, have: 0x138, distance: 0xa, oneway: true},
+ 13: {want: 0x16, have: 0x365, distance: 0xa, oneway: true},
+ 14: {want: 0x21, have: 0x138, distance: 0xa, oneway: true},
+ 15: {want: 0x56, have: 0x13d, distance: 0xa, oneway: true},
+ 16: {want: 0x58, have: 0x3e0, distance: 0xa, oneway: true},
+ 17: {want: 0x71, have: 0x3e0, distance: 0xa, oneway: true},
+ 18: {want: 0x75, have: 0x138, distance: 0xa, oneway: true},
+ 19: {want: 0x82, have: 0x1bc, distance: 0xa, oneway: true},
+ 20: {want: 0xa5, have: 0x138, distance: 0xa, oneway: true},
+ 21: {want: 0xb2, have: 0x15d, distance: 0xa, oneway: true},
+ 22: {want: 0xdd, have: 0x152, distance: 0xa, oneway: true},
+ 23: {want: 0xe5, have: 0x138, distance: 0xa, oneway: true},
+ 24: {want: 0xe9, have: 0x3a, distance: 0xa, oneway: true},
+ 25: {want: 0xef, have: 0x15d, distance: 0xa, oneway: true},
+ 26: {want: 0xf8, have: 0x15d, distance: 0xa, oneway: true},
+ 27: {want: 0xff, have: 0x138, distance: 0xa, oneway: true},
+ 28: {want: 0x12f, have: 0x138, distance: 0xa, oneway: true},
+ 29: {want: 0x13b, have: 0x138, distance: 0xa, oneway: true},
+ 30: {want: 0x13f, have: 0x150, distance: 0xa, oneway: true},
+ 31: {want: 0x144, have: 0x13d, distance: 0xa, oneway: true},
+ 32: {want: 0x157, have: 0x100, distance: 0xa, oneway: true},
+ 33: {want: 0x16c, have: 0x365, distance: 0xa, oneway: true},
+ 34: {want: 0x16d, have: 0x138, distance: 0xa, oneway: true},
+ 35: {want: 0x16e, have: 0x138, distance: 0xa, oneway: true},
+ 36: {want: 0x17c, have: 0x138, distance: 0xa, oneway: true},
+ 37: {want: 0x18e, have: 0x13d, distance: 0xa, oneway: true},
+ 38: {want: 0x192, have: 0x13d, distance: 0xa, oneway: true},
+ 39: {want: 0x1a2, have: 0x1bc, distance: 0xa, oneway: true},
+ 40: {want: 0x1b2, have: 0x138, distance: 0xa, oneway: true},
+ 41: {want: 0x1b6, have: 0x138, distance: 0xa, oneway: true},
+ 42: {want: 0x1d2, have: 0x15d, distance: 0xa, oneway: true},
+ 43: {want: 0x1d5, have: 0x3e0, distance: 0xa, oneway: true},
+ 44: {want: 0x1d7, have: 0x138, distance: 0xa, oneway: true},
+ 45: {want: 0x1e5, have: 0x138, distance: 0xa, oneway: true},
+ 46: {want: 0x1f6, have: 0x138, distance: 0xa, oneway: true},
+ 47: {want: 0x20c, have: 0x1df, distance: 0xa, oneway: true},
+ 48: {want: 0x20e, have: 0x138, distance: 0xa, oneway: true},
+ 49: {want: 0x22b, have: 0x15d, distance: 0xa, oneway: true},
+ 50: {want: 0x240, have: 0x3e0, distance: 0xa, oneway: true},
+ 51: {want: 0x248, have: 0x138, distance: 0xa, oneway: true},
+ 52: {want: 0x24f, have: 0x138, distance: 0xa, oneway: true},
+ 53: {want: 0x263, have: 0x138, distance: 0xa, oneway: true},
+ 54: {want: 0x272, have: 0x488, distance: 0xa, oneway: true},
+ 55: {want: 0x288, have: 0x3e0, distance: 0xa, oneway: true},
+ 56: {want: 0x28c, have: 0x1f7, distance: 0xa, oneway: true},
+ 57: {want: 0x2a1, have: 0x138, distance: 0xa, oneway: true},
+ 58: {want: 0x2b3, have: 0x15d, distance: 0xa, oneway: true},
+ 59: {want: 0x2b6, have: 0x138, distance: 0xa, oneway: true},
+ 60: {want: 0x2bc, have: 0x138, distance: 0xa, oneway: true},
+ 61: {want: 0x2c1, have: 0x15d, distance: 0xa, oneway: true},
+ 62: {want: 0x2eb, have: 0x138, distance: 0xa, oneway: true},
+ 63: {want: 0x2ef, have: 0x15d, distance: 0xa, oneway: true},
+ 64: {want: 0x2f8, have: 0x138, distance: 0xa, oneway: true},
+ 65: {want: 0x2fd, have: 0x7e, distance: 0xa, oneway: true},
+ 66: {want: 0x302, have: 0x138, distance: 0xa, oneway: true},
+ 67: {want: 0x309, have: 0x3e0, distance: 0xa, oneway: true},
+ 68: {want: 0x319, have: 0x1bc, distance: 0xa, oneway: true},
+ 69: {want: 0x31d, have: 0x1df, distance: 0xa, oneway: true},
+ 70: {want: 0x31e, have: 0x138, distance: 0xa, oneway: true},
+ 71: {want: 0x32f, have: 0x138, distance: 0xa, oneway: true},
+ 72: {want: 0x34f, have: 0x138, distance: 0xa, oneway: true},
+ 73: {want: 0x368, have: 0x345, distance: 0xa, oneway: false},
+ 74: {want: 0x368, have: 0x36d, distance: 0xa, oneway: true},
+ 75: {want: 0x378, have: 0x138, distance: 0xa, oneway: true},
+ 76: {want: 0x385, have: 0x138, distance: 0xa, oneway: true},
+ 77: {want: 0x387, have: 0x138, distance: 0xa, oneway: true},
+ 78: {want: 0x389, have: 0x15d, distance: 0xa, oneway: true},
+ 79: {want: 0x38e, have: 0x138, distance: 0xa, oneway: true},
+ 80: {want: 0x393, have: 0x138, distance: 0xa, oneway: true},
+ 81: {want: 0x39b, have: 0x138, distance: 0xa, oneway: true},
+ 82: {want: 0x3a3, have: 0x138, distance: 0xa, oneway: true},
+ 83: {want: 0x3bc, have: 0x138, distance: 0xa, oneway: true},
+ 84: {want: 0x3c2, have: 0x13d, distance: 0xa, oneway: true},
+ 85: {want: 0x3d2, have: 0x10c, distance: 0xa, oneway: true},
+ 86: {want: 0x3d7, have: 0x138, distance: 0xa, oneway: true},
+ 87: {want: 0x3e3, have: 0x15d, distance: 0xa, oneway: true},
+ 88: {want: 0x3e7, have: 0x1bc, distance: 0xa, oneway: true},
+ 89: {want: 0x3f8, have: 0x138, distance: 0xa, oneway: true},
+ 90: {want: 0x40a, have: 0x138, distance: 0xa, oneway: true},
+ 91: {want: 0x421, have: 0x138, distance: 0xa, oneway: true},
+ 92: {want: 0x427, have: 0x138, distance: 0xa, oneway: true},
+ 93: {want: 0x42f, have: 0x138, distance: 0xa, oneway: true},
+ 94: {want: 0x439, have: 0x138, distance: 0xa, oneway: true},
+ 95: {want: 0x43c, have: 0x1df, distance: 0xa, oneway: true},
+ 96: {want: 0x443, have: 0x138, distance: 0xa, oneway: true},
+ 97: {want: 0x44e, have: 0x138, distance: 0xa, oneway: true},
+ 98: {want: 0x45f, have: 0x138, distance: 0xa, oneway: true},
+ 99: {want: 0x465, have: 0x3e0, distance: 0xa, oneway: true},
+ 100: {want: 0x46d, have: 0x138, distance: 0xa, oneway: true},
+ 101: {want: 0x474, have: 0x3e0, distance: 0xa, oneway: true},
+ 102: {want: 0x3880, have: 0x138, distance: 0xa, oneway: true},
+ 103: {want: 0x47e, have: 0x138, distance: 0xa, oneway: true},
+ 104: {want: 0x480, have: 0x138, distance: 0xa, oneway: true},
+ 105: {want: 0x492, have: 0x3e0, distance: 0xa, oneway: true},
+ 106: {want: 0x49b, have: 0x138, distance: 0xa, oneway: true},
+ 107: {want: 0x4aa, have: 0x527, distance: 0xa, oneway: true},
+ 108: {want: 0x4b2, have: 0x138, distance: 0xa, oneway: true},
+ 109: {want: 0x4ba, have: 0x3e0, distance: 0xa, oneway: true},
+ 110: {want: 0x4e3, have: 0x15d, distance: 0xa, oneway: true},
+ 111: {want: 0x4f0, have: 0x138, distance: 0xa, oneway: true},
+ 112: {want: 0x510, have: 0x138, distance: 0xa, oneway: true},
+ 113: {want: 0x516, have: 0x138, distance: 0xa, oneway: true},
+ 114: {want: 0x52c, have: 0x138, distance: 0xa, oneway: true},
}
// matchScript holds pairs of scriptIDs where readers of one script
// can typically also read the other. Each is associated with a confidence.
-// Size: 24 bytes, 4 elements
-var matchScript = [4]scriptIntelligibility{
- 0: {lang: 0x428, want: 0x52, have: 0x1e, conf: 0x2},
- 1: {lang: 0x428, want: 0x1e, have: 0x52, conf: 0x2},
- 2: {lang: 0x0, want: 0x34, have: 0x35, conf: 0x1},
- 3: {lang: 0x0, want: 0x35, have: 0x34, conf: 0x1},
+// Size: 208 bytes, 26 elements
+var matchScript = [26]scriptIntelligibility{
+ 0: {wantLang: 0x430, haveLang: 0x430, wantScript: 0x52, haveScript: 0x1e, distance: 0x5},
+ 1: {wantLang: 0x430, haveLang: 0x430, wantScript: 0x1e, haveScript: 0x52, distance: 0x5},
+ 2: {wantLang: 0x58, haveLang: 0x3e0, wantScript: 0x52, haveScript: 0x1e, distance: 0xa},
+ 3: {wantLang: 0xa5, haveLang: 0x138, wantScript: 0xe, haveScript: 0x52, distance: 0xa},
+ 4: {wantLang: 0x1d5, haveLang: 0x3e0, wantScript: 0x8, haveScript: 0x1e, distance: 0xa},
+ 5: {wantLang: 0x20e, haveLang: 0x138, wantScript: 0x29, haveScript: 0x52, distance: 0xa},
+ 6: {wantLang: 0x248, haveLang: 0x138, wantScript: 0x46, haveScript: 0x52, distance: 0xa},
+ 7: {wantLang: 0x24f, haveLang: 0x138, wantScript: 0x4a, haveScript: 0x52, distance: 0xa},
+ 8: {wantLang: 0x2b6, haveLang: 0x138, wantScript: 0x4f, haveScript: 0x52, distance: 0xa},
+ 9: {wantLang: 0x302, haveLang: 0x138, wantScript: 0x64, haveScript: 0x52, distance: 0xa},
+ 10: {wantLang: 0x32f, haveLang: 0x138, wantScript: 0x6b, haveScript: 0x52, distance: 0xa},
+ 11: {wantLang: 0x34f, haveLang: 0x138, wantScript: 0x20, haveScript: 0x52, distance: 0xa},
+ 12: {wantLang: 0x393, haveLang: 0x138, wantScript: 0x75, haveScript: 0x52, distance: 0xa},
+ 13: {wantLang: 0x39b, haveLang: 0x138, wantScript: 0x2f, haveScript: 0x52, distance: 0xa},
+ 14: {wantLang: 0x3bc, haveLang: 0x138, wantScript: 0x5, haveScript: 0x52, distance: 0xa},
+ 15: {wantLang: 0x3f8, haveLang: 0x138, wantScript: 0x5, haveScript: 0x52, distance: 0xa},
+ 16: {wantLang: 0x40a, haveLang: 0x138, wantScript: 0xc1, haveScript: 0x52, distance: 0xa},
+ 17: {wantLang: 0x44e, haveLang: 0x138, wantScript: 0xcd, haveScript: 0x52, distance: 0xa},
+ 18: {wantLang: 0x45f, haveLang: 0x138, wantScript: 0xd0, haveScript: 0x52, distance: 0xa},
+ 19: {wantLang: 0x46d, haveLang: 0x138, wantScript: 0x27, haveScript: 0x52, distance: 0xa},
+ 20: {wantLang: 0x474, haveLang: 0x3e0, wantScript: 0x52, haveScript: 0x1e, distance: 0xa},
+ 21: {wantLang: 0x4b2, haveLang: 0x138, wantScript: 0x5, haveScript: 0x52, distance: 0xa},
+ 22: {wantLang: 0x4ba, haveLang: 0x3e0, wantScript: 0x52, haveScript: 0x1e, distance: 0xa},
+ 23: {wantLang: 0x510, haveLang: 0x138, wantScript: 0x37, haveScript: 0x52, distance: 0xa},
+ 24: {wantLang: 0x527, haveLang: 0x527, wantScript: 0x34, haveScript: 0x35, distance: 0xf},
+ 25: {wantLang: 0x527, haveLang: 0x527, wantScript: 0x35, haveScript: 0x34, distance: 0x13},
+}
+
+// Size: 90 bytes, 15 elements
+var matchRegion = [15]regionIntelligibility{
+ 0: {lang: 0x3a, script: 0x0, group: 0x4, distance: 0x4},
+ 1: {lang: 0x3a, script: 0x0, group: 0x84, distance: 0x4},
+ 2: {lang: 0x138, script: 0x0, group: 0x1, distance: 0x4},
+ 3: {lang: 0x138, script: 0x0, group: 0x81, distance: 0x4},
+ 4: {lang: 0x13d, script: 0x0, group: 0x3, distance: 0x4},
+ 5: {lang: 0x13d, script: 0x0, group: 0x83, distance: 0x4},
+ 6: {lang: 0x3be, script: 0x0, group: 0x3, distance: 0x4},
+ 7: {lang: 0x3be, script: 0x0, group: 0x83, distance: 0x4},
+ 8: {lang: 0x527, script: 0x35, group: 0x2, distance: 0x4},
+ 9: {lang: 0x527, script: 0x35, group: 0x82, distance: 0x4},
+ 10: {lang: 0x3a, script: 0x0, group: 0x80, distance: 0x5},
+ 11: {lang: 0x138, script: 0x0, group: 0x80, distance: 0x5},
+ 12: {lang: 0x13d, script: 0x0, group: 0x80, distance: 0x5},
+ 13: {lang: 0x3be, script: 0x0, group: 0x80, distance: 0x5},
+ 14: {lang: 0x527, script: 0x35, group: 0x80, distance: 0x5},
}
// Size: 128 bytes, 32 elements
@@ -3535,13 +3642,13 @@ type parentRel struct {
fromRegion []uint16
}
-// Size: 412 bytes, 5 elements
+// Size: 414 bytes, 5 elements
var parents = [5]parentRel{
- 0: {lang: 0x134, script: 0x0, maxScript: 0x52, toRegion: 0x1, fromRegion: []uint16{0x1a, 0x24, 0x25, 0x2e, 0x33, 0x35, 0x3c, 0x41, 0x45, 0x47, 0x48, 0x49, 0x4f, 0x51, 0x5b, 0x5c, 0x60, 0x63, 0x6c, 0x72, 0x73, 0x74, 0x7a, 0x7b, 0x7e, 0x7f, 0x80, 0x82, 0x8b, 0x8c, 0x95, 0x96, 0x97, 0x98, 0x99, 0x9e, 0x9f, 0xa3, 0xa6, 0xa8, 0xac, 0xb0, 0xb3, 0xb4, 0xbe, 0xc5, 0xc9, 0xca, 0xcb, 0xcd, 0xcf, 0xd1, 0xd4, 0xd5, 0xdc, 0xde, 0xdf, 0xe5, 0xe6, 0xe7, 0xea, 0xef, 0x106, 0x108, 0x109, 0x10a, 0x10c, 0x10d, 0x111, 0x116, 0x11a, 0x11c, 0x11e, 0x124, 0x128, 0x12b, 0x12c, 0x12e, 0x130, 0x138, 0x13b, 0x13e, 0x141, 0x160, 0x161, 0x163}},
- 1: {lang: 0x134, script: 0x0, maxScript: 0x52, toRegion: 0x1a, fromRegion: []uint16{0x2d, 0x4d, 0x5f, 0x62, 0x71, 0xd8, 0x10b, 0x10e}},
- 2: {lang: 0x139, script: 0x0, maxScript: 0x52, toRegion: 0x1e, fromRegion: []uint16{0x2b, 0x3e, 0x40, 0x50, 0x53, 0x55, 0x58, 0x64, 0x68, 0x88, 0x8e, 0xce, 0xd7, 0xe1, 0xe3, 0xeb, 0xf0, 0x119, 0x134, 0x135, 0x13a}},
- 3: {lang: 0x3b7, script: 0x0, maxScript: 0x52, toRegion: 0xed, fromRegion: []uint16{0x29, 0x4d, 0x59, 0x85, 0x8a, 0xb6, 0xc5, 0xd0, 0x117, 0x125}},
- 4: {lang: 0x51f, script: 0x35, maxScript: 0x35, toRegion: 0x8c, fromRegion: []uint16{0xc5}},
+ 0: {lang: 0x138, script: 0x0, maxScript: 0x52, toRegion: 0x1, fromRegion: []uint16{0x1a, 0x24, 0x25, 0x2e, 0x33, 0x35, 0x3c, 0x41, 0x45, 0x47, 0x48, 0x49, 0x4f, 0x51, 0x5b, 0x5c, 0x60, 0x63, 0x6c, 0x72, 0x73, 0x74, 0x7a, 0x7b, 0x7e, 0x7f, 0x80, 0x82, 0x8b, 0x8c, 0x95, 0x96, 0x97, 0x98, 0x99, 0x9e, 0x9f, 0xa3, 0xa6, 0xa8, 0xac, 0xb0, 0xb3, 0xb4, 0xbe, 0xc5, 0xc9, 0xca, 0xcb, 0xcd, 0xcf, 0xd1, 0xd4, 0xd5, 0xdc, 0xde, 0xdf, 0xe5, 0xe6, 0xe7, 0xea, 0xef, 0x106, 0x108, 0x109, 0x10a, 0x10c, 0x10d, 0x111, 0x116, 0x11a, 0x11c, 0x11e, 0x124, 0x128, 0x12b, 0x12c, 0x12e, 0x130, 0x138, 0x13b, 0x13e, 0x141, 0x160, 0x161, 0x163}},
+ 1: {lang: 0x138, script: 0x0, maxScript: 0x52, toRegion: 0x1a, fromRegion: []uint16{0x2d, 0x4d, 0x5f, 0x62, 0x71, 0xd8, 0x10b, 0x10e}},
+ 2: {lang: 0x13d, script: 0x0, maxScript: 0x52, toRegion: 0x1e, fromRegion: []uint16{0x2b, 0x3e, 0x40, 0x47, 0x50, 0x53, 0x55, 0x58, 0x64, 0x68, 0x88, 0x8e, 0xce, 0xd7, 0xe1, 0xe3, 0xeb, 0xf0, 0x119, 0x134, 0x135, 0x13a}},
+ 3: {lang: 0x3be, script: 0x0, maxScript: 0x52, toRegion: 0xed, fromRegion: []uint16{0x29, 0x4d, 0x59, 0x85, 0x8a, 0xb6, 0xc5, 0xd0, 0x117, 0x125}},
+ 4: {lang: 0x527, script: 0x35, maxScript: 0x35, toRegion: 0x8c, fromRegion: []uint16{0xc5}},
}
-// Total table size 25825 bytes (25KiB); checksum: 4E97CC5E
+// Total table size 26496 bytes (25KiB); checksum: 6E24B15A
diff --git a/vendor/golang.org/x/text/unicode/norm/maketables.go b/vendor/golang.org/x/text/unicode/norm/maketables.go
deleted file mode 100644
index 8d418160ca..0000000000
--- a/vendor/golang.org/x/text/unicode/norm/maketables.go
+++ /dev/null
@@ -1,976 +0,0 @@
-// Copyright 2011 The Go Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style
-// license that can be found in the LICENSE file.
-
-// +build ignore
-
-// Normalization table generator.
-// Data read from the web.
-// See forminfo.go for a description of the trie values associated with each rune.
-
-package main
-
-import (
- "bytes"
- "flag"
- "fmt"
- "io"
- "log"
- "sort"
- "strconv"
- "strings"
-
- "golang.org/x/text/internal/gen"
- "golang.org/x/text/internal/triegen"
- "golang.org/x/text/internal/ucd"
-)
-
-func main() {
- gen.Init()
- loadUnicodeData()
- compactCCC()
- loadCompositionExclusions()
- completeCharFields(FCanonical)
- completeCharFields(FCompatibility)
- computeNonStarterCounts()
- verifyComputed()
- printChars()
- testDerived()
- printTestdata()
- makeTables()
-}
-
-var (
- tablelist = flag.String("tables",
- "all",
- "comma-separated list of which tables to generate; "+
- "can be 'decomp', 'recomp', 'info' and 'all'")
- test = flag.Bool("test",
- false,
- "test existing tables against DerivedNormalizationProps and generate test data for regression testing")
- verbose = flag.Bool("verbose",
- false,
- "write data to stdout as it is parsed")
-)
-
-const MaxChar = 0x10FFFF // anything above this shouldn't exist
-
-// Quick Check properties of runes allow us to quickly
-// determine whether a rune may occur in a normal form.
-// For a given normal form, a rune may be guaranteed to occur
-// verbatim (QC=Yes), may or may not combine with another
-// rune (QC=Maybe), or may not occur (QC=No).
-type QCResult int
-
-const (
- QCUnknown QCResult = iota
- QCYes
- QCNo
- QCMaybe
-)
-
-func (r QCResult) String() string {
- switch r {
- case QCYes:
- return "Yes"
- case QCNo:
- return "No"
- case QCMaybe:
- return "Maybe"
- }
- return "***UNKNOWN***"
-}
-
-const (
- FCanonical = iota // NFC or NFD
- FCompatibility // NFKC or NFKD
- FNumberOfFormTypes
-)
-
-const (
- MComposed = iota // NFC or NFKC
- MDecomposed // NFD or NFKD
- MNumberOfModes
-)
-
-// This contains only the properties we're interested in.
-type Char struct {
- name string
- codePoint rune // if zero, this index is not a valid code point.
- ccc uint8 // canonical combining class
- origCCC uint8
- excludeInComp bool // from CompositionExclusions.txt
- compatDecomp bool // it has a compatibility expansion
-
- nTrailingNonStarters uint8
- nLeadingNonStarters uint8 // must be equal to trailing if non-zero
-
- forms [FNumberOfFormTypes]FormInfo // For FCanonical and FCompatibility
-
- state State
-}
-
-var chars = make([]Char, MaxChar+1)
-var cccMap = make(map[uint8]uint8)
-
-func (c Char) String() string {
- buf := new(bytes.Buffer)
-
- fmt.Fprintf(buf, "%U [%s]:\n", c.codePoint, c.name)
- fmt.Fprintf(buf, " ccc: %v\n", c.ccc)
- fmt.Fprintf(buf, " excludeInComp: %v\n", c.excludeInComp)
- fmt.Fprintf(buf, " compatDecomp: %v\n", c.compatDecomp)
- fmt.Fprintf(buf, " state: %v\n", c.state)
- fmt.Fprintf(buf, " NFC:\n")
- fmt.Fprint(buf, c.forms[FCanonical])
- fmt.Fprintf(buf, " NFKC:\n")
- fmt.Fprint(buf, c.forms[FCompatibility])
-
- return buf.String()
-}
-
-// In UnicodeData.txt, some ranges are marked like this:
-// 3400;<CJK Ideograph Extension A, First>;Lo;0;L;;;;;N;;;;;
-// 4DB5;<CJK Ideograph Extension A, Last>;Lo;0;L;;;;;N;;;;;
-// parseCharacter keeps a state variable indicating the weirdness.
-type State int
-
-const (
- SNormal State = iota // known to be zero for the type
- SFirst
- SLast
- SMissing
-)
-
-var lastChar = rune('\u0000')
-
-func (c Char) isValid() bool {
- return c.codePoint != 0 && c.state != SMissing
-}
-
-type FormInfo struct {
- quickCheck [MNumberOfModes]QCResult // index: MComposed or MDecomposed
- verified [MNumberOfModes]bool // index: MComposed or MDecomposed
-
- combinesForward bool // May combine with rune on the right
- combinesBackward bool // May combine with rune on the left
- isOneWay bool // Never appears in result
- inDecomp bool // Some decompositions result in this char.
- decomp Decomposition
- expandedDecomp Decomposition
-}
-
-func (f FormInfo) String() string {
- buf := bytes.NewBuffer(make([]byte, 0))
-
- fmt.Fprintf(buf, " quickCheck[C]: %v\n", f.quickCheck[MComposed])
- fmt.Fprintf(buf, " quickCheck[D]: %v\n", f.quickCheck[MDecomposed])
- fmt.Fprintf(buf, " cmbForward: %v\n", f.combinesForward)
- fmt.Fprintf(buf, " cmbBackward: %v\n", f.combinesBackward)
- fmt.Fprintf(buf, " isOneWay: %v\n", f.isOneWay)
- fmt.Fprintf(buf, " inDecomp: %v\n", f.inDecomp)
- fmt.Fprintf(buf, " decomposition: %X\n", f.decomp)
- fmt.Fprintf(buf, " expandedDecomp: %X\n", f.expandedDecomp)
-
- return buf.String()
-}
-
-type Decomposition []rune
-
-func parseDecomposition(s string, skipfirst bool) (a []rune, err error) {
- decomp := strings.Split(s, " ")
- if len(decomp) > 0 && skipfirst {
- decomp = decomp[1:]
- }
- for _, d := range decomp {
- point, err := strconv.ParseUint(d, 16, 64)
- if err != nil {
- return a, err
- }
- a = append(a, rune(point))
- }
- return a, nil
-}
-
-func loadUnicodeData() {
- f := gen.OpenUCDFile("UnicodeData.txt")
- defer f.Close()
- p := ucd.New(f)
- for p.Next() {
- r := p.Rune(ucd.CodePoint)
- char := &chars[r]
-
- char.ccc = uint8(p.Uint(ucd.CanonicalCombiningClass))
- decmap := p.String(ucd.DecompMapping)
-
- exp, err := parseDecomposition(decmap, false)
- isCompat := false
- if err != nil {
- if len(decmap) > 0 {
- exp, err = parseDecomposition(decmap, true)
- if err != nil {
- log.Fatalf(`%U: bad decomp |%v|: "%s"`, r, decmap, err)
- }
- isCompat = true
- }
- }
-
- char.name = p.String(ucd.Name)
- char.codePoint = r
- char.forms[FCompatibility].decomp = exp
- if !isCompat {
- char.forms[FCanonical].decomp = exp
- } else {
- char.compatDecomp = true
- }
- if len(decmap) > 0 {
- char.forms[FCompatibility].decomp = exp
- }
- }
- if err := p.Err(); err != nil {
- log.Fatal(err)
- }
-}
-
-// compactCCC converts the sparse set of CCC values to a continguous one,
-// reducing the number of bits needed from 8 to 6.
-func compactCCC() {
- m := make(map[uint8]uint8)
- for i := range chars {
- c := &chars[i]
- m[c.ccc] = 0
- }
- cccs := []int{}
- for v, _ := range m {
- cccs = append(cccs, int(v))
- }
- sort.Ints(cccs)
- for i, c := range cccs {
- cccMap[uint8(i)] = uint8(c)
- m[uint8(c)] = uint8(i)
- }
- for i := range chars {
- c := &chars[i]
- c.origCCC = c.ccc
- c.ccc = m[c.ccc]
- }
- if len(m) >= 1<<6 {
- log.Fatalf("too many difference CCC values: %d >= 64", len(m))
- }
-}
-
-// CompositionExclusions.txt has form:
-// 0958 # ...
-// See http://unicode.org/reports/tr44/ for full explanation
-func loadCompositionExclusions() {
- f := gen.OpenUCDFile("CompositionExclusions.txt")
- defer f.Close()
- p := ucd.New(f)
- for p.Next() {
- c := &chars[p.Rune(0)]
- if c.excludeInComp {
- log.Fatalf("%U: Duplicate entry in exclusions.", c.codePoint)
- }
- c.excludeInComp = true
- }
- if e := p.Err(); e != nil {
- log.Fatal(e)
- }
-}
-
-// hasCompatDecomp returns true if any of the recursive
-// decompositions contains a compatibility expansion.
-// In this case, the character may not occur in NFK*.
-func hasCompatDecomp(r rune) bool {
- c := &chars[r]
- if c.compatDecomp {
- return true
- }
- for _, d := range c.forms[FCompatibility].decomp {
- if hasCompatDecomp(d) {
- return true
- }
- }
- return false
-}
-
-// Hangul related constants.
-const (
- HangulBase = 0xAC00
- HangulEnd = 0xD7A4 // hangulBase + Jamo combinations (19 * 21 * 28)
-
- JamoLBase = 0x1100
- JamoLEnd = 0x1113
- JamoVBase = 0x1161
- JamoVEnd = 0x1176
- JamoTBase = 0x11A8
- JamoTEnd = 0x11C3
-
- JamoLVTCount = 19 * 21 * 28
- JamoTCount = 28
-)
-
-func isHangul(r rune) bool {
- return HangulBase <= r && r < HangulEnd
-}
-
-func isHangulWithoutJamoT(r rune) bool {
- if !isHangul(r) {
- return false
- }
- r -= HangulBase
- return r < JamoLVTCount && r%JamoTCount == 0
-}
-
-func ccc(r rune) uint8 {
- return chars[r].ccc
-}
-
-// Insert a rune in a buffer, ordered by Canonical Combining Class.
-func insertOrdered(b Decomposition, r rune) Decomposition {
- n := len(b)
- b = append(b, 0)
- cc := ccc(r)
- if cc > 0 {
- // Use bubble sort.
- for ; n > 0; n-- {
- if ccc(b[n-1]) <= cc {
- break
- }
- b[n] = b[n-1]
- }
- }
- b[n] = r
- return b
-}
-
-// Recursively decompose.
-func decomposeRecursive(form int, r rune, d Decomposition) Decomposition {
- dcomp := chars[r].forms[form].decomp
- if len(dcomp) == 0 {
- return insertOrdered(d, r)
- }
- for _, c := range dcomp {
- d = decomposeRecursive(form, c, d)
- }
- return d
-}
-
-func completeCharFields(form int) {
- // Phase 0: pre-expand decomposition.
- for i := range chars {
- f := &chars[i].forms[form]
- if len(f.decomp) == 0 {
- continue
- }
- exp := make(Decomposition, 0)
- for _, c := range f.decomp {
- exp = decomposeRecursive(form, c, exp)
- }
- f.expandedDecomp = exp
- }
-
- // Phase 1: composition exclusion, mark decomposition.
- for i := range chars {
- c := &chars[i]
- f := &c.forms[form]
-
- // Marks script-specific exclusions and version restricted.
- f.isOneWay = c.excludeInComp
-
- // Singletons
- f.isOneWay = f.isOneWay || len(f.decomp) == 1
-
- // Non-starter decompositions
- if len(f.decomp) > 1 {
- chk := c.ccc != 0 || chars[f.decomp[0]].ccc != 0
- f.isOneWay = f.isOneWay || chk
- }
-
- // Runes that decompose into more than two runes.
- f.isOneWay = f.isOneWay || len(f.decomp) > 2
-
- if form == FCompatibility {
- f.isOneWay = f.isOneWay || hasCompatDecomp(c.codePoint)
- }
-
- for _, r := range f.decomp {
- chars[r].forms[form].inDecomp = true
- }
- }
-
- // Phase 2: forward and backward combining.
- for i := range chars {
- c := &chars[i]
- f := &c.forms[form]
-
- if !f.isOneWay && len(f.decomp) == 2 {
- f0 := &chars[f.decomp[0]].forms[form]
- f1 := &chars[f.decomp[1]].forms[form]
- if !f0.isOneWay {
- f0.combinesForward = true
- }
- if !f1.isOneWay {
- f1.combinesBackward = true
- }
- }
- if isHangulWithoutJamoT(rune(i)) {
- f.combinesForward = true
- }
- }
-
- // Phase 3: quick check values.
- for i := range chars {
- c := &chars[i]
- f := &c.forms[form]
-
- switch {
- case len(f.decomp) > 0:
- f.quickCheck[MDecomposed] = QCNo
- case isHangul(rune(i)):
- f.quickCheck[MDecomposed] = QCNo
- default:
- f.quickCheck[MDecomposed] = QCYes
- }
- switch {
- case f.isOneWay:
- f.quickCheck[MComposed] = QCNo
- case (i & 0xffff00) == JamoLBase:
- f.quickCheck[MComposed] = QCYes
- if JamoLBase <= i && i < JamoLEnd {
- f.combinesForward = true
- }
- if JamoVBase <= i && i < JamoVEnd {
- f.quickCheck[MComposed] = QCMaybe
- f.combinesBackward = true
- f.combinesForward = true
- }
- if JamoTBase <= i && i < JamoTEnd {
- f.quickCheck[MComposed] = QCMaybe
- f.combinesBackward = true
- }
- case !f.combinesBackward:
- f.quickCheck[MComposed] = QCYes
- default:
- f.quickCheck[MComposed] = QCMaybe
- }
- }
-}
-
-func computeNonStarterCounts() {
- // Phase 4: leading and trailing non-starter count
- for i := range chars {
- c := &chars[i]
-
- runes := []rune{rune(i)}
- // We always use FCompatibility so that the CGJ insertion points do not
- // change for repeated normalizations with different forms.
- if exp := c.forms[FCompatibility].expandedDecomp; len(exp) > 0 {
- runes = exp
- }
- // We consider runes that combine backwards to be non-starters for the
- // purpose of Stream-Safe Text Processing.
- for _, r := range runes {
- if cr := &chars[r]; cr.ccc == 0 && !cr.forms[FCompatibility].combinesBackward {
- break
- }
- c.nLeadingNonStarters++
- }
- for i := len(runes) - 1; i >= 0; i-- {
- if cr := &chars[runes[i]]; cr.ccc == 0 && !cr.forms[FCompatibility].combinesBackward {
- break
- }
- c.nTrailingNonStarters++
- }
- if c.nTrailingNonStarters > 3 {
- log.Fatalf("%U: Decomposition with more than 3 (%d) trailing modifiers (%U)", i, c.nTrailingNonStarters, runes)
- }
-
- if isHangul(rune(i)) {
- c.nTrailingNonStarters = 2
- if isHangulWithoutJamoT(rune(i)) {
- c.nTrailingNonStarters = 1
- }
- }
-
- if l, t := c.nLeadingNonStarters, c.nTrailingNonStarters; l > 0 && l != t {
- log.Fatalf("%U: number of leading and trailing non-starters should be equal (%d vs %d)", i, l, t)
- }
- if t := c.nTrailingNonStarters; t > 3 {
- log.Fatalf("%U: number of trailing non-starters is %d > 3", t)
- }
- }
-}
-
-func printBytes(w io.Writer, b []byte, name string) {
- fmt.Fprintf(w, "// %s: %d bytes\n", name, len(b))
- fmt.Fprintf(w, "var %s = [...]byte {", name)
- for i, c := range b {
- switch {
- case i%64 == 0:
- fmt.Fprintf(w, "\n// Bytes %x - %x\n", i, i+63)
- case i%8 == 0:
- fmt.Fprintf(w, "\n")
- }
- fmt.Fprintf(w, "0x%.2X, ", c)
- }
- fmt.Fprint(w, "\n}\n\n")
-}
-
-// See forminfo.go for format.
-func makeEntry(f *FormInfo, c *Char) uint16 {
- e := uint16(0)
- if r := c.codePoint; HangulBase <= r && r < HangulEnd {
- e |= 0x40
- }
- if f.combinesForward {
- e |= 0x20
- }
- if f.quickCheck[MDecomposed] == QCNo {
- e |= 0x4
- }
- switch f.quickCheck[MComposed] {
- case QCYes:
- case QCNo:
- e |= 0x10
- case QCMaybe:
- e |= 0x18
- default:
- log.Fatalf("Illegal quickcheck value %v.", f.quickCheck[MComposed])
- }
- e |= uint16(c.nTrailingNonStarters)
- return e
-}
-
-// decompSet keeps track of unique decompositions, grouped by whether
-// the decomposition is followed by a trailing and/or leading CCC.
-type decompSet [7]map[string]bool
-
-const (
- normalDecomp = iota
- firstMulti
- firstCCC
- endMulti
- firstLeadingCCC
- firstCCCZeroExcept
- firstStarterWithNLead
- lastDecomp
-)
-
-var cname = []string{"firstMulti", "firstCCC", "endMulti", "firstLeadingCCC", "firstCCCZeroExcept", "firstStarterWithNLead", "lastDecomp"}
-
-func makeDecompSet() decompSet {
- m := decompSet{}
- for i := range m {
- m[i] = make(map[string]bool)
- }
- return m
-}
-func (m *decompSet) insert(key int, s string) {
- m[key][s] = true
-}
-
-func printCharInfoTables(w io.Writer) int {
- mkstr := func(r rune, f *FormInfo) (int, string) {
- d := f.expandedDecomp
- s := string([]rune(d))
- if max := 1 << 6; len(s) >= max {
- const msg = "%U: too many bytes in decomposition: %d >= %d"
- log.Fatalf(msg, r, len(s), max)
- }
- head := uint8(len(s))
- if f.quickCheck[MComposed] != QCYes {
- head |= 0x40
- }
- if f.combinesForward {
- head |= 0x80
- }
- s = string([]byte{head}) + s
-
- lccc := ccc(d[0])
- tccc := ccc(d[len(d)-1])
- cc := ccc(r)
- if cc != 0 && lccc == 0 && tccc == 0 {
- log.Fatalf("%U: trailing and leading ccc are 0 for non-zero ccc %d", r, cc)
- }
- if tccc < lccc && lccc != 0 {
- const msg = "%U: lccc (%d) must be <= tcc (%d)"
- log.Fatalf(msg, r, lccc, tccc)
- }
- index := normalDecomp
- nTrail := chars[r].nTrailingNonStarters
- nLead := chars[r].nLeadingNonStarters
- if tccc > 0 || lccc > 0 || nTrail > 0 {
- tccc <<= 2
- tccc |= nTrail
- s += string([]byte{tccc})
- index = endMulti
- for _, r := range d[1:] {
- if ccc(r) == 0 {
- index = firstCCC
- }
- }
- if lccc > 0 || nLead > 0 {
- s += string([]byte{lccc})
- if index == firstCCC {
- log.Fatalf("%U: multi-segment decomposition not supported for decompositions with leading CCC != 0", r)
- }
- index = firstLeadingCCC
- }
- if cc != lccc {
- if cc != 0 {
- log.Fatalf("%U: for lccc != ccc, expected ccc to be 0; was %d", r, cc)
- }
- index = firstCCCZeroExcept
- }
- } else if len(d) > 1 {
- index = firstMulti
- }
- return index, s
- }
-
- decompSet := makeDecompSet()
- const nLeadStr = "\x00\x01" // 0-byte length and tccc with nTrail.
- decompSet.insert(firstStarterWithNLead, nLeadStr)
-
- // Store the uniqued decompositions in a byte buffer,
- // preceded by their byte length.
- for _, c := range chars {
- for _, f := range c.forms {
- if len(f.expandedDecomp) == 0 {
- continue
- }
- if f.combinesBackward {
- log.Fatalf("%U: combinesBackward and decompose", c.codePoint)
- }
- index, s := mkstr(c.codePoint, &f)
- decompSet.insert(index, s)
- }
- }
-
- decompositions := bytes.NewBuffer(make([]byte, 0, 10000))
- size := 0
- positionMap := make(map[string]uint16)
- decompositions.WriteString("\000")
- fmt.Fprintln(w, "const (")
- for i, m := range decompSet {
- sa := []string{}
- for s := range m {
- sa = append(sa, s)
- }
- sort.Strings(sa)
- for _, s := range sa {
- p := decompositions.Len()
- decompositions.WriteString(s)
- positionMap[s] = uint16(p)
- }
- if cname[i] != "" {
- fmt.Fprintf(w, "%s = 0x%X\n", cname[i], decompositions.Len())
- }
- }
- fmt.Fprintln(w, "maxDecomp = 0x8000")
- fmt.Fprintln(w, ")")
- b := decompositions.Bytes()
- printBytes(w, b, "decomps")
- size += len(b)
-
- varnames := []string{"nfc", "nfkc"}
- for i := 0; i < FNumberOfFormTypes; i++ {
- trie := triegen.NewTrie(varnames[i])
-
- for r, c := range chars {
- f := c.forms[i]
- d := f.expandedDecomp
- if len(d) != 0 {
- _, key := mkstr(c.codePoint, &f)
- trie.Insert(rune(r), uint64(positionMap[key]))
- if c.ccc != ccc(d[0]) {
- // We assume the lead ccc of a decomposition !=0 in this case.
- if ccc(d[0]) == 0 {
- log.Fatalf("Expected leading CCC to be non-zero; ccc is %d", c.ccc)
- }
- }
- } else if c.nLeadingNonStarters > 0 && len(f.expandedDecomp) == 0 && c.ccc == 0 && !f.combinesBackward {
- // Handle cases where it can't be detected that the nLead should be equal
- // to nTrail.
- trie.Insert(c.codePoint, uint64(positionMap[nLeadStr]))
- } else if v := makeEntry(&f, &c)<<8 | uint16(c.ccc); v != 0 {
- trie.Insert(c.codePoint, uint64(0x8000|v))
- }
- }
- sz, err := trie.Gen(w, triegen.Compact(&normCompacter{name: varnames[i]}))
- if err != nil {
- log.Fatal(err)
- }
- size += sz
- }
- return size
-}
-
-func contains(sa []string, s string) bool {
- for _, a := range sa {
- if a == s {
- return true
- }
- }
- return false
-}
-
-func makeTables() {
- w := &bytes.Buffer{}
-
- size := 0
- if *tablelist == "" {
- return
- }
- list := strings.Split(*tablelist, ",")
- if *tablelist == "all" {
- list = []string{"recomp", "info"}
- }
-
- // Compute maximum decomposition size.
- max := 0
- for _, c := range chars {
- if n := len(string(c.forms[FCompatibility].expandedDecomp)); n > max {
- max = n
- }
- }
-
- fmt.Fprintln(w, "const (")
- fmt.Fprintln(w, "\t// Version is the Unicode edition from which the tables are derived.")
- fmt.Fprintf(w, "\tVersion = %q\n", gen.UnicodeVersion())
- fmt.Fprintln(w)
- fmt.Fprintln(w, "\t// MaxTransformChunkSize indicates the maximum number of bytes that Transform")
- fmt.Fprintln(w, "\t// may need to write atomically for any Form. Making a destination buffer at")
- fmt.Fprintln(w, "\t// least this size ensures that Transform can always make progress and that")
- fmt.Fprintln(w, "\t// the user does not need to grow the buffer on an ErrShortDst.")
- fmt.Fprintf(w, "\tMaxTransformChunkSize = %d+maxNonStarters*4\n", len(string(0x034F))+max)
- fmt.Fprintln(w, ")\n")
-
- // Print the CCC remap table.
- size += len(cccMap)
- fmt.Fprintf(w, "var ccc = [%d]uint8{", len(cccMap))
- for i := 0; i < len(cccMap); i++ {
- if i%8 == 0 {
- fmt.Fprintln(w)
- }
- fmt.Fprintf(w, "%3d, ", cccMap[uint8(i)])
- }
- fmt.Fprintln(w, "\n}\n")
-
- if contains(list, "info") {
- size += printCharInfoTables(w)
- }
-
- if contains(list, "recomp") {
- // Note that we use 32 bit keys, instead of 64 bit.
- // This clips the bits of three entries, but we know
- // this won't cause a collision. The compiler will catch
- // any changes made to UnicodeData.txt that introduces
- // a collision.
- // Note that the recomposition map for NFC and NFKC
- // are identical.
-
- // Recomposition map
- nrentries := 0
- for _, c := range chars {
- f := c.forms[FCanonical]
- if !f.isOneWay && len(f.decomp) > 0 {
- nrentries++
- }
- }
- sz := nrentries * 8
- size += sz
- fmt.Fprintf(w, "// recompMap: %d bytes (entries only)\n", sz)
- fmt.Fprintln(w, "var recompMap = map[uint32]rune{")
- for i, c := range chars {
- f := c.forms[FCanonical]
- d := f.decomp
- if !f.isOneWay && len(d) > 0 {
- key := uint32(uint16(d[0]))<<16 + uint32(uint16(d[1]))
- fmt.Fprintf(w, "0x%.8X: 0x%.4X,\n", key, i)
- }
- }
- fmt.Fprintf(w, "}\n\n")
- }
-
- fmt.Fprintf(w, "// Total size of tables: %dKB (%d bytes)\n", (size+512)/1024, size)
- gen.WriteGoFile("tables.go", "norm", w.Bytes())
-}
-
-func printChars() {
- if *verbose {
- for _, c := range chars {
- if !c.isValid() || c.state == SMissing {
- continue
- }
- fmt.Println(c)
- }
- }
-}
-
-// verifyComputed does various consistency tests.
-func verifyComputed() {
- for i, c := range chars {
- for _, f := range c.forms {
- isNo := (f.quickCheck[MDecomposed] == QCNo)
- if (len(f.decomp) > 0) != isNo && !isHangul(rune(i)) {
- log.Fatalf("%U: NF*D QC must be No if rune decomposes", i)
- }
-
- isMaybe := f.quickCheck[MComposed] == QCMaybe
- if f.combinesBackward != isMaybe {
- log.Fatalf("%U: NF*C QC must be Maybe if combinesBackward", i)
- }
- if len(f.decomp) > 0 && f.combinesForward && isMaybe {
- log.Fatalf("%U: NF*C QC must be Yes or No if combinesForward and decomposes", i)
- }
-
- if len(f.expandedDecomp) != 0 {
- continue
- }
- if a, b := c.nLeadingNonStarters > 0, (c.ccc > 0 || f.combinesBackward); a != b {
- // We accept these runes to be treated differently (it only affects
- // segment breaking in iteration, most likely on improper use), but
- // reconsider if more characters are added.
- // U+FF9E HALFWIDTH KATAKANA VOICED SOUND MARK;Lm;0;L;<narrow> 3099;;;;N;;;;;
- // U+FF9F HALFWIDTH KATAKANA SEMI-VOICED SOUND MARK;Lm;0;L;<narrow> 309A;;;;N;;;;;
- // U+3133 HANGUL LETTER KIYEOK-SIOS;Lo;0;L;<compat> 11AA;;;;N;HANGUL LETTER GIYEOG SIOS;;;;
- // U+318E HANGUL LETTER ARAEAE;Lo;0;L;<compat> 11A1;;;;N;HANGUL LETTER ALAE AE;;;;
- // U+FFA3 HALFWIDTH HANGUL LETTER KIYEOK-SIOS;Lo;0;L;<narrow> 3133;;;;N;HALFWIDTH HANGUL LETTER GIYEOG SIOS;;;;
- // U+FFDC HALFWIDTH HANGUL LETTER I;Lo;0;L;<narrow> 3163;;;;N;;;;;
- if i != 0xFF9E && i != 0xFF9F && !(0x3133 <= i && i <= 0x318E) && !(0xFFA3 <= i && i <= 0xFFDC) {
- log.Fatalf("%U: nLead was %v; want %v", i, a, b)
- }
- }
- }
- nfc := c.forms[FCanonical]
- nfkc := c.forms[FCompatibility]
- if nfc.combinesBackward != nfkc.combinesBackward {
- log.Fatalf("%U: Cannot combine combinesBackward\n", c.codePoint)
- }
- }
-}
-
-// Use values in DerivedNormalizationProps.txt to compare against the
-// values we computed.
-// DerivedNormalizationProps.txt has form:
-// 00C0..00C5 ; NFD_QC; N # ...
-// 0374 ; NFD_QC; N # ...
-// See http://unicode.org/reports/tr44/ for full explanation
-func testDerived() {
- f := gen.OpenUCDFile("DerivedNormalizationProps.txt")
- defer f.Close()
- p := ucd.New(f)
- for p.Next() {
- r := p.Rune(0)
- c := &chars[r]
-
- var ftype, mode int
- qt := p.String(1)
- switch qt {
- case "NFC_QC":
- ftype, mode = FCanonical, MComposed
- case "NFD_QC":
- ftype, mode = FCanonical, MDecomposed
- case "NFKC_QC":
- ftype, mode = FCompatibility, MComposed
- case "NFKD_QC":
- ftype, mode = FCompatibility, MDecomposed
- default:
- continue
- }
- var qr QCResult
- switch p.String(2) {
- case "Y":
- qr = QCYes
- case "N":
- qr = QCNo
- case "M":
- qr = QCMaybe
- default:
- log.Fatalf(`Unexpected quick check value "%s"`, p.String(2))
- }
- if got := c.forms[ftype].quickCheck[mode]; got != qr {
- log.Printf("%U: FAILED %s (was %v need %v)\n", r, qt, got, qr)
- }
- c.forms[ftype].verified[mode] = true
- }
- if err := p.Err(); err != nil {
- log.Fatal(err)
- }
- // Any unspecified value must be QCYes. Verify this.
- for i, c := range chars {
- for j, fd := range c.forms {
- for k, qr := range fd.quickCheck {
- if !fd.verified[k] && qr != QCYes {
- m := "%U: FAIL F:%d M:%d (was %v need Yes) %s\n"
- log.Printf(m, i, j, k, qr, c.name)
- }
- }
- }
- }
-}
-
-var testHeader = `const (
- Yes = iota
- No
- Maybe
-)
-
-type formData struct {
- qc uint8
- combinesForward bool
- decomposition string
-}
-
-type runeData struct {
- r rune
- ccc uint8
- nLead uint8
- nTrail uint8
- f [2]formData // 0: canonical; 1: compatibility
-}
-
-func f(qc uint8, cf bool, dec string) [2]formData {
- return [2]formData{{qc, cf, dec}, {qc, cf, dec}}
-}
-
-func g(qc, qck uint8, cf, cfk bool, d, dk string) [2]formData {
- return [2]formData{{qc, cf, d}, {qck, cfk, dk}}
-}
-
-var testData = []runeData{
-`
-
-func printTestdata() {
- type lastInfo struct {
- ccc uint8
- nLead uint8
- nTrail uint8
- f string
- }
-
- last := lastInfo{}
- w := &bytes.Buffer{}
- fmt.Fprintf(w, testHeader)
- for r, c := range chars {
- f := c.forms[FCanonical]
- qc, cf, d := f.quickCheck[MComposed], f.combinesForward, string(f.expandedDecomp)
- f = c.forms[FCompatibility]
- qck, cfk, dk := f.quickCheck[MComposed], f.combinesForward, string(f.expandedDecomp)
- s := ""
- if d == dk && qc == qck && cf == cfk {
- s = fmt.Sprintf("f(%s, %v, %q)", qc, cf, d)
- } else {
- s = fmt.Sprintf("g(%s, %s, %v, %v, %q, %q)", qc, qck, cf, cfk, d, dk)
- }
- current := lastInfo{c.ccc, c.nLeadingNonStarters, c.nTrailingNonStarters, s}
- if last != current {
- fmt.Fprintf(w, "\t{0x%x, %d, %d, %d, %s},\n", r, c.origCCC, c.nLeadingNonStarters, c.nTrailingNonStarters, s)
- last = current
- }
- }
- fmt.Fprintln(w, "}")
- gen.WriteGoFile("data_test.go", "norm", w.Bytes())
-}
diff --git a/vendor/golang.org/x/text/unicode/norm/triegen.go b/vendor/golang.org/x/text/unicode/norm/triegen.go
deleted file mode 100644
index 45d711900d..0000000000
--- a/vendor/golang.org/x/text/unicode/norm/triegen.go
+++ /dev/null
@@ -1,117 +0,0 @@
-// Copyright 2011 The Go Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style
-// license that can be found in the LICENSE file.
-
-// +build ignore
-
-// Trie table generator.
-// Used by make*tables tools to generate a go file with trie data structures
-// for mapping UTF-8 to a 16-bit value. All but the last byte in a UTF-8 byte
-// sequence are used to lookup offsets in the index table to be used for the
-// next byte. The last byte is used to index into a table with 16-bit values.
-
-package main
-
-import (
- "fmt"
- "io"
-)
-
-const maxSparseEntries = 16
-
-type normCompacter struct {
- sparseBlocks [][]uint64
- sparseOffset []uint16
- sparseCount int
- name string
-}
-
-func mostFrequentStride(a []uint64) int {
- counts := make(map[int]int)
- var v int
- for _, x := range a {
- if stride := int(x) - v; v != 0 && stride >= 0 {
- counts[stride]++
- }
- v = int(x)
- }
- var maxs, maxc int
- for stride, cnt := range counts {
- if cnt > maxc || (cnt == maxc && stride < maxs) {
- maxs, maxc = stride, cnt
- }
- }
- return maxs
-}
-
-func countSparseEntries(a []uint64) int {
- stride := mostFrequentStride(a)
- var v, count int
- for _, tv := range a {
- if int(tv)-v != stride {
- if tv != 0 {
- count++
- }
- }
- v = int(tv)
- }
- return count
-}
-
-func (c *normCompacter) Size(v []uint64) (sz int, ok bool) {
- if n := countSparseEntries(v); n <= maxSparseEntries {
- return (n+1)*4 + 2, true
- }
- return 0, false
-}
-
-func (c *normCompacter) Store(v []uint64) uint32 {
- h := uint32(len(c.sparseOffset))
- c.sparseBlocks = append(c.sparseBlocks, v)
- c.sparseOffset = append(c.sparseOffset, uint16(c.sparseCount))
- c.sparseCount += countSparseEntries(v) + 1
- return h
-}
-
-func (c *normCompacter) Handler() string {
- return c.name + "Sparse.lookup"
-}
-
-func (c *normCompacter) Print(w io.Writer) (retErr error) {
- p := func(f string, x ...interface{}) {
- if _, err := fmt.Fprintf(w, f, x...); retErr == nil && err != nil {
- retErr = err
- }
- }
-
- ls := len(c.sparseBlocks)
- p("// %sSparseOffset: %d entries, %d bytes\n", c.name, ls, ls*2)
- p("var %sSparseOffset = %#v\n\n", c.name, c.sparseOffset)
-
- ns := c.sparseCount
- p("// %sSparseValues: %d entries, %d bytes\n", c.name, ns, ns*4)
- p("var %sSparseValues = [%d]valueRange {", c.name, ns)
- for i, b := range c.sparseBlocks {
- p("\n// Block %#x, offset %#x", i, c.sparseOffset[i])
- var v int
- stride := mostFrequentStride(b)
- n := countSparseEntries(b)
- p("\n{value:%#04x,lo:%#02x},", stride, uint8(n))
- for i, nv := range b {
- if int(nv)-v != stride {
- if v != 0 {
- p(",hi:%#02x},", 0x80+i-1)
- }
- if nv != 0 {
- p("\n{value:%#04x,lo:%#02x", nv, 0x80+i)
- }
- }
- v = int(nv)
- }
- if v != 0 {
- p(",hi:%#02x},", 0x80+len(b)-1)
- }
- }
- p("\n}\n\n")
- return
-}