gtsocial-umbx

Unnamed repository; edit this file 'description' to name the repository.
Log | Files | Refs | README | LICENSE

commit b966d3b15712f645b53bc2396fdd29f4ce706850
parent abd594b71f36c4a48ec1d9ea737cdd3feb63f32d
Author: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Date:   Tue, 27 Dec 2022 08:29:42 +0000

[chore]: Bump github.com/gin-gonic/gin from 1.8.1 to 1.8.2 (#1286)

Bumps [github.com/gin-gonic/gin](https://github.com/gin-gonic/gin) from 1.8.1 to 1.8.2.
- [Release notes](https://github.com/gin-gonic/gin/releases)
- [Changelog](https://github.com/gin-gonic/gin/blob/master/CHANGELOG.md)
- [Commits](https://github.com/gin-gonic/gin/compare/v1.8.1...v1.8.2)

---
updated-dependencies:
- dependency-name: github.com/gin-gonic/gin
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Diffstat:
Mgo.mod | 8++++----
Mgo.sum | 17+++++++++--------
Mvendor/github.com/gin-gonic/gin/CHANGELOG.md | 11+++++++++++
Mvendor/github.com/gin-gonic/gin/gin.go | 6+++---
Mvendor/github.com/gin-gonic/gin/test_helpers.go | 10+++++++++-
Mvendor/github.com/gin-gonic/gin/tree.go | 9++++++++-
Mvendor/github.com/gin-gonic/gin/version.go | 2+-
Mvendor/github.com/pelletier/go-toml/v2/README.md | 11+++++++++++
Mvendor/github.com/pelletier/go-toml/v2/decode.go | 88++++++++++++++++++++++++++++++++++++++++++-------------------------------------
Mvendor/github.com/pelletier/go-toml/v2/errors.go | 32+++++++-------------------------
Dvendor/github.com/pelletier/go-toml/v2/internal/ast/ast.go | 144-------------------------------------------------------------------------------
Dvendor/github.com/pelletier/go-toml/v2/internal/ast/builder.go | 51---------------------------------------------------
Dvendor/github.com/pelletier/go-toml/v2/internal/ast/kind.go | 69---------------------------------------------------------------------
Avendor/github.com/pelletier/go-toml/v2/internal/characters/ascii.go | 42++++++++++++++++++++++++++++++++++++++++++
Avendor/github.com/pelletier/go-toml/v2/internal/characters/utf8.go | 199+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Mvendor/github.com/pelletier/go-toml/v2/internal/tracker/key.go | 12+++++-------
Mvendor/github.com/pelletier/go-toml/v2/internal/tracker/seen.go | 28++++++++++++++--------------
Mvendor/github.com/pelletier/go-toml/v2/localtime.go | 6++++--
Mvendor/github.com/pelletier/go-toml/v2/marshaler.go | 4+++-
Dvendor/github.com/pelletier/go-toml/v2/parser.go | 1086-------------------------------------------------------------------------------
Dvendor/github.com/pelletier/go-toml/v2/scanner.go | 269-------------------------------------------------------------------------------
Mvendor/github.com/pelletier/go-toml/v2/strict.go | 34+++++++++++++++++-----------------
Mvendor/github.com/pelletier/go-toml/v2/types.go | 10+++++-----
Mvendor/github.com/pelletier/go-toml/v2/unmarshaler.go | 122++++++++++++++++++++++++++++++++++++++++----------------------------------------
Avendor/github.com/pelletier/go-toml/v2/unstable/ast.go | 136+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Avendor/github.com/pelletier/go-toml/v2/unstable/builder.go | 71+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Avendor/github.com/pelletier/go-toml/v2/unstable/doc.go | 3+++
Avendor/github.com/pelletier/go-toml/v2/unstable/kind.go | 71+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Avendor/github.com/pelletier/go-toml/v2/unstable/parser.go | 1147+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Avendor/github.com/pelletier/go-toml/v2/unstable/scanner.go | 271+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Dvendor/github.com/pelletier/go-toml/v2/utf8.go | 240-------------------------------------------------------------------------------
Mvendor/golang.org/x/net/html/token.go | 8++++++--
Mvendor/golang.org/x/net/http2/h2c/h2c.go | 6+++++-
Mvendor/golang.org/x/net/http2/headermap.go | 18++++++++++++++++++
Mvendor/golang.org/x/net/http2/hpack/encode.go | 5+++++
Avendor/golang.org/x/net/http2/hpack/static_table.go | 188+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Mvendor/golang.org/x/net/http2/hpack/tables.go | 78+-----------------------------------------------------------------------------
Mvendor/golang.org/x/net/http2/server.go | 236++++++++++++++++++++++++++++++++++++++++++++++++++++++++++---------------------
Mvendor/golang.org/x/net/http2/transport.go | 113+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++------------
Avendor/golang.org/x/net/internal/socket/zsys_openbsd_ppc64.go | 30++++++++++++++++++++++++++++++
Avendor/golang.org/x/net/internal/socket/zsys_openbsd_riscv64.go | 30++++++++++++++++++++++++++++++
Avendor/golang.org/x/net/publicsuffix/data/children | 0
Avendor/golang.org/x/net/publicsuffix/data/nodes | 0
Avendor/golang.org/x/net/publicsuffix/data/text | 2++
Mvendor/golang.org/x/net/publicsuffix/list.go | 36++++++++++++++++++++++++------------
Mvendor/golang.org/x/net/publicsuffix/table.go | 10552+------------------------------------------------------------------------------
Mvendor/golang.org/x/sys/execabs/execabs_go119.go | 8+++++---
Mvendor/golang.org/x/sys/windows/syscall_windows.go | 1+
Mvendor/golang.org/x/sys/windows/zsyscall_windows.go | 7+++++++
Mvendor/modules.txt | 11++++++-----
50 files changed, 2775 insertions(+), 12763 deletions(-)

diff --git a/go.mod b/go.mod @@ -21,7 +21,7 @@ require ( github.com/gin-contrib/cors v1.4.0 github.com/gin-contrib/gzip v0.0.6 github.com/gin-contrib/sessions v0.0.5 - github.com/gin-gonic/gin v1.8.1 + github.com/gin-gonic/gin v1.8.2 github.com/go-fed/httpsig v1.1.0 github.com/go-playground/validator/v10 v10.11.1 github.com/google/uuid v1.3.0 @@ -52,7 +52,7 @@ require ( golang.org/x/crypto v0.0.0-20220829220503-c86fa9a7ed90 golang.org/x/exp v0.0.0-20220613132600-b0d781184e0d golang.org/x/image v0.2.0 - golang.org/x/net v0.0.0-20221014081412-f15817d10f9b + golang.org/x/net v0.4.0 golang.org/x/oauth2 v0.0.0-20221014153046-6fdb5e3db783 golang.org/x/text v0.5.0 gopkg.in/mcuadros/go-syslog.v2 v2.3.0 @@ -118,7 +118,7 @@ require ( github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd // indirect github.com/modern-go/reflect2 v1.0.2 // indirect github.com/pelletier/go-toml v1.9.5 // indirect - github.com/pelletier/go-toml/v2 v2.0.5 // indirect + github.com/pelletier/go-toml/v2 v2.0.6 // indirect github.com/pkg/errors v0.9.1 // indirect github.com/pmezard/go-difflib v1.0.0 // indirect github.com/quasoft/memstore v0.0.0-20191010062613-2bce066d2b0b // indirect @@ -137,7 +137,7 @@ require ( github.com/vmihailenco/msgpack/v5 v5.3.5 // indirect github.com/vmihailenco/tagparser/v2 v2.0.0 // indirect golang.org/x/mod v0.6.0-dev.0.20220907135952-02c991387e35 // indirect - golang.org/x/sys v0.2.0 // indirect + golang.org/x/sys v0.3.0 // indirect golang.org/x/tools v0.1.12 // indirect google.golang.org/appengine v1.6.7 // indirect google.golang.org/protobuf v1.28.1 // indirect diff --git a/go.sum b/go.sum @@ -208,8 +208,9 @@ github.com/gin-contrib/sessions v0.0.5 h1:CATtfHmLMQrMNpJRgzjWXD7worTh7g7ritsQfm github.com/gin-contrib/sessions v0.0.5/go.mod h1:vYAuaUPqie3WUSsft6HUlCjlwwoJQs97miaG2+7neKY= github.com/gin-contrib/sse v0.1.0 h1:Y/yl/+YNO8GZSjAhjMsSuLt29uWRFHdHYUb5lYOV9qE= github.com/gin-contrib/sse v0.1.0/go.mod h1:RHrZQHXnP2xjPF+u1gW/2HnVO7nvIa9PG3Gm+fLHvGI= -github.com/gin-gonic/gin v1.8.1 h1:4+fr/el88TOO3ewCmQr8cx/CtZ/umlIRIs5M4NTNjf8= github.com/gin-gonic/gin v1.8.1/go.mod h1:ji8BvRH1azfM+SYow9zQ6SZMvR8qOMZHmsCuWR9tTTk= +github.com/gin-gonic/gin v1.8.2 h1:UzKToD9/PoFj/V4rvlKqTRKnQYyz8Sc1MJlv4JHPtvY= +github.com/gin-gonic/gin v1.8.2/go.mod h1:qw5AYuDrzRTnhvusDsrov+fDIxp9Dleuu12h8nfB398= github.com/go-errors/errors v1.0.1/go.mod h1:f4zRHt4oKfwPJE5k8C9vpYG+aDHdBFUsgrm6/TyX73Q= github.com/go-errors/errors v1.0.2/go.mod h1:psDX2osz5VnTOnFWbDeWwS7yejl+uV3FEWEp4lssFEs= github.com/go-errors/errors v1.1.1/go.mod h1:psDX2osz5VnTOnFWbDeWwS7yejl+uV3FEWEp4lssFEs= @@ -498,8 +499,8 @@ github.com/orcaman/writerseeker v0.0.0-20200621085525-1d3f536ff85e/go.mod h1:nBd github.com/pelletier/go-toml v1.9.5 h1:4yBQzkHv+7BHq2PQUZF3Mx0IYxG7LsP222s7Agd3ve8= github.com/pelletier/go-toml v1.9.5/go.mod h1:u1nR/EPcESfeI/szUZKdtJ0xRNbUoANCkoOuaOx1Y+c= github.com/pelletier/go-toml/v2 v2.0.1/go.mod h1:r9LEWfGN8R5k0VXJ+0BkIe7MYkRdwZOjgMj2KwnJFUo= -github.com/pelletier/go-toml/v2 v2.0.5 h1:ipoSadvV8oGUjnUbMub59IDPPwfxF694nG/jwbMiyQg= -github.com/pelletier/go-toml/v2 v2.0.5/go.mod h1:OMHamSCAODeSsVrwwvcJOaoN0LIUIaFVNZzmWyNfXas= +github.com/pelletier/go-toml/v2 v2.0.6 h1:nrzqCb7j9cDFj2coyLNLaZuJTLjWjlaz6nvTvIwycIU= +github.com/pelletier/go-toml/v2 v2.0.6/go.mod h1:eumQOmlWiOPt5WriQQqoM5y18pDHwha2N+QD+EUNTek= github.com/pkg/diff v0.0.0-20210226163009-20ebb0f2a09e/go.mod h1:pJLUxLENpZxwdsKMEsNbx1VGcRFpLqf3715MtcvvzbA= github.com/pkg/errors v0.8.1/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0= github.com/pkg/errors v0.9.1 h1:FEBLx1zS214owpjy7qsBeixbURkuhQAwrK5UwLGTwt4= @@ -785,8 +786,8 @@ golang.org/x/net v0.0.0-20220607020251-c690dde0001d/go.mod h1:XRhObCWvk6IyKnWLug golang.org/x/net v0.0.0-20220624214902-1bab6f366d9e/go.mod h1:XRhObCWvk6IyKnWLug+ECip1KBveYUHfp+8e9klMJ9c= golang.org/x/net v0.0.0-20220722155237-a158d28d115b/go.mod h1:XRhObCWvk6IyKnWLug+ECip1KBveYUHfp+8e9klMJ9c= golang.org/x/net v0.0.0-20220826154423-83b083e8dc8b/go.mod h1:YDH+HFinaLZZlnHAfSS6ZXJJ9M9t4Dl22yv3iI2vPwk= -golang.org/x/net v0.0.0-20221014081412-f15817d10f9b h1:tvrvnPFcdzp294diPnrdZZZ8XUt2Tyj7svb7X52iDuU= -golang.org/x/net v0.0.0-20221014081412-f15817d10f9b/go.mod h1:YDH+HFinaLZZlnHAfSS6ZXJJ9M9t4Dl22yv3iI2vPwk= +golang.org/x/net v0.4.0 h1:Q5QPcMlvfxFTAPV0+07Xz/MpK9NTXu2VDUuy0FeMfaU= +golang.org/x/net v0.4.0/go.mod h1:MBQ8lrhLObU/6UmLb4fmbmk5OcyYmqtbGd/9yIeKjEE= golang.org/x/oauth2 v0.0.0-20180821212333-d2e6202438be/go.mod h1:N/0e6XlmueqKjAGxoOufVs8QHGRruUQn6yWY3a++T0U= golang.org/x/oauth2 v0.0.0-20190226205417-e64efc72b421/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw= golang.org/x/oauth2 v0.0.0-20190604053449-0f29369cfe45/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw= @@ -903,12 +904,12 @@ golang.org/x/sys v0.0.0-20220722155257-8c9f86f7a55f/go.mod h1:oPkhp1MJrh7nUepCBc golang.org/x/sys v0.0.0-20220728004956-3c1f35247d10/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20220811171246-fbc7d0a398ab/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20220908164124-27713097b956/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.2.0 h1:ljd4t30dBnAvMZaQCevtY0xLLD0A+bRZXbgLMLU1F/A= -golang.org/x/sys v0.2.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.3.0 h1:w8ZOecv6NaNa/zC8944JTU3vz4u6Lagfk4RPQxv92NQ= +golang.org/x/sys v0.3.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/term v0.0.0-20201117132131-f5c789dd3221/go.mod h1:Nr5EML6q2oocZ2LXRh80K7BxOlk5/8JxuGnuhpl+muw= golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo= -golang.org/x/term v0.0.0-20210927222741-03fcf44c2211 h1:JGgROgKl9N8DuW20oFS5gxc+lE67/N3FcwmBPMe7ArY= golang.org/x/term v0.0.0-20210927222741-03fcf44c2211/go.mod h1:jbD1KX2456YbFQfuXm/mYQcufACuNUgVhRMnK/tPxf8= +golang.org/x/term v0.3.0 h1:qoo4akIqOcDME5bhc/NgxUdovd6BSS2uMsVjB56q1xI= golang.org/x/text v0.0.0-20170915032832-14c0d48ead0c/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= golang.org/x/text v0.3.1-0.20180807135948-17ff2d5776d2/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= diff --git a/vendor/github.com/gin-gonic/gin/CHANGELOG.md b/vendor/github.com/gin-gonic/gin/CHANGELOG.md @@ -1,5 +1,16 @@ # Gin ChangeLog +## Gin v1.8.2 + +### Bugs + +* fix(route): redirectSlash bug ([#3227]((https://github.com/gin-gonic/gin/pull/3227))) +* fix(engine): missing route params for CreateTestContext ([#2778]((https://github.com/gin-gonic/gin/pull/2778))) ([#2803]((https://github.com/gin-gonic/gin/pull/2803))) + +### Security + +* Fix the GO-2022-1144 vulnerability ([#3432]((https://github.com/gin-gonic/gin/pull/3432))) + ## Gin v1.8.1 ### ENHANCEMENTS diff --git a/vendor/github.com/gin-gonic/gin/gin.go b/vendor/github.com/gin-gonic/gin/gin.go @@ -203,7 +203,7 @@ func New() *Engine { } engine.RouterGroup.engine = engine engine.pool.New = func() any { - return engine.allocateContext() + return engine.allocateContext(engine.maxParams) } return engine } @@ -225,8 +225,8 @@ func (engine *Engine) Handler() http.Handler { return h2c.NewHandler(engine, h2s) } -func (engine *Engine) allocateContext() *Context { - v := make(Params, 0, engine.maxParams) +func (engine *Engine) allocateContext(maxParams uint16) *Context { + v := make(Params, 0, maxParams) skippedNodes := make([]skippedNode, 0, engine.maxSections) return &Context{engine: engine, params: &v, skippedNodes: &skippedNodes} } diff --git a/vendor/github.com/gin-gonic/gin/test_helpers.go b/vendor/github.com/gin-gonic/gin/test_helpers.go @@ -9,7 +9,15 @@ import "net/http" // CreateTestContext returns a fresh engine and context for testing purposes func CreateTestContext(w http.ResponseWriter) (c *Context, r *Engine) { r = New() - c = r.allocateContext() + c = r.allocateContext(0) + c.reset() + c.writermem.reset(w) + return +} + +// CreateTestContextOnly returns a fresh context base on the engine for testing purposes +func CreateTestContextOnly(w http.ResponseWriter, r *Engine) (c *Context) { + c = r.allocateContext(r.maxParams) c.reset() c.writermem.reset(w) return diff --git a/vendor/github.com/gin-gonic/gin/tree.go b/vendor/github.com/gin-gonic/gin/tree.go @@ -107,7 +107,8 @@ func countSections(path string) uint16 { type nodeType uint8 const ( - root nodeType = iota + 1 + static nodeType = iota + root param catchAll ) @@ -173,6 +174,7 @@ walk: child := node{ path: n.path[i:], wildChild: n.wildChild, + nType: static, indices: n.indices, children: n.children, handlers: n.handlers, @@ -604,6 +606,11 @@ walk: // Outer loop for walking the tree return } + if path == "/" && n.nType == static { + value.tsr = true + return + } + // No handle found. Check if a handle for this path + a // trailing slash exists for trailing slash recommendation for i, c := range []byte(n.indices) { diff --git a/vendor/github.com/gin-gonic/gin/version.go b/vendor/github.com/gin-gonic/gin/version.go @@ -5,4 +5,4 @@ package gin // Version is the current gin framework's version. -const Version = "v1.8.1" +const Version = "v1.8.2" diff --git a/vendor/github.com/pelletier/go-toml/v2/README.md b/vendor/github.com/pelletier/go-toml/v2/README.md @@ -140,6 +140,17 @@ fmt.Println(string(b)) [marshal]: https://pkg.go.dev/github.com/pelletier/go-toml/v2#Marshal +## Unstable API + +This API does not yet follow the backward compatibility guarantees of this +library. They provide early access to features that may have rough edges or an +API subject to change. + +### Parser + +Parser is the unstable API that allows iterative parsing of a TOML document at +the AST level. See https://pkg.go.dev/github.com/pelletier/go-toml/v2/unstable. + ## Benchmarks Execution time speedup compared to other Go TOML libraries: diff --git a/vendor/github.com/pelletier/go-toml/v2/decode.go b/vendor/github.com/pelletier/go-toml/v2/decode.go @@ -5,6 +5,8 @@ import ( "math" "strconv" "time" + + "github.com/pelletier/go-toml/v2/unstable" ) func parseInteger(b []byte) (int64, error) { @@ -32,7 +34,7 @@ func parseLocalDate(b []byte) (LocalDate, error) { var date LocalDate if len(b) != 10 || b[4] != '-' || b[7] != '-' { - return date, newDecodeError(b, "dates are expected to have the format YYYY-MM-DD") + return date, unstable.NewParserError(b, "dates are expected to have the format YYYY-MM-DD") } var err error @@ -53,7 +55,7 @@ func parseLocalDate(b []byte) (LocalDate, error) { } if !isValidDate(date.Year, date.Month, date.Day) { - return LocalDate{}, newDecodeError(b, "impossible date") + return LocalDate{}, unstable.NewParserError(b, "impossible date") } return date, nil @@ -64,7 +66,7 @@ func parseDecimalDigits(b []byte) (int, error) { for i, c := range b { if c < '0' || c > '9' { - return 0, newDecodeError(b[i:i+1], "expected digit (0-9)") + return 0, unstable.NewParserError(b[i:i+1], "expected digit (0-9)") } v *= 10 v += int(c - '0') @@ -97,7 +99,7 @@ func parseDateTime(b []byte) (time.Time, error) { } else { const dateTimeByteLen = 6 if len(b) != dateTimeByteLen { - return time.Time{}, newDecodeError(b, "invalid date-time timezone") + return time.Time{}, unstable.NewParserError(b, "invalid date-time timezone") } var direction int switch b[0] { @@ -106,11 +108,11 @@ func parseDateTime(b []byte) (time.Time, error) { case '+': direction = +1 default: - return time.Time{}, newDecodeError(b[:1], "invalid timezone offset character") + return time.Time{}, unstable.NewParserError(b[:1], "invalid timezone offset character") } if b[3] != ':' { - return time.Time{}, newDecodeError(b[3:4], "expected a : separator") + return time.Time{}, unstable.NewParserError(b[3:4], "expected a : separator") } hours, err := parseDecimalDigits(b[1:3]) @@ -118,7 +120,7 @@ func parseDateTime(b []byte) (time.Time, error) { return time.Time{}, err } if hours > 23 { - return time.Time{}, newDecodeError(b[:1], "invalid timezone offset hours") + return time.Time{}, unstable.NewParserError(b[:1], "invalid timezone offset hours") } minutes, err := parseDecimalDigits(b[4:6]) @@ -126,7 +128,7 @@ func parseDateTime(b []byte) (time.Time, error) { return time.Time{}, err } if minutes > 59 { - return time.Time{}, newDecodeError(b[:1], "invalid timezone offset minutes") + return time.Time{}, unstable.NewParserError(b[:1], "invalid timezone offset minutes") } seconds := direction * (hours*3600 + minutes*60) @@ -139,7 +141,7 @@ func parseDateTime(b []byte) (time.Time, error) { } if len(b) > 0 { - return time.Time{}, newDecodeError(b, "extra bytes at the end of the timezone") + return time.Time{}, unstable.NewParserError(b, "extra bytes at the end of the timezone") } t := time.Date( @@ -160,7 +162,7 @@ func parseLocalDateTime(b []byte) (LocalDateTime, []byte, error) { const localDateTimeByteMinLen = 11 if len(b) < localDateTimeByteMinLen { - return dt, nil, newDecodeError(b, "local datetimes are expected to have the format YYYY-MM-DDTHH:MM:SS[.NNNNNNNNN]") + return dt, nil, unstable.NewParserError(b, "local datetimes are expected to have the format YYYY-MM-DDTHH:MM:SS[.NNNNNNNNN]") } date, err := parseLocalDate(b[:10]) @@ -171,7 +173,7 @@ func parseLocalDateTime(b []byte) (LocalDateTime, []byte, error) { sep := b[10] if sep != 'T' && sep != ' ' && sep != 't' { - return dt, nil, newDecodeError(b[10:11], "datetime separator is expected to be T or a space") + return dt, nil, unstable.NewParserError(b[10:11], "datetime separator is expected to be T or a space") } t, rest, err := parseLocalTime(b[11:]) @@ -195,7 +197,7 @@ func parseLocalTime(b []byte) (LocalTime, []byte, error) { // check if b matches to have expected format HH:MM:SS[.NNNNNN] const localTimeByteLen = 8 if len(b) < localTimeByteLen { - return t, nil, newDecodeError(b, "times are expected to have the format HH:MM:SS[.NNNNNN]") + return t, nil, unstable.NewParserError(b, "times are expected to have the format HH:MM:SS[.NNNNNN]") } var err error @@ -206,10 +208,10 @@ func parseLocalTime(b []byte) (LocalTime, []byte, error) { } if t.Hour > 23 { - return t, nil, newDecodeError(b[0:2], "hour cannot be greater 23") + return t, nil, unstable.NewParserError(b[0:2], "hour cannot be greater 23") } if b[2] != ':' { - return t, nil, newDecodeError(b[2:3], "expecting colon between hours and minutes") + return t, nil, unstable.NewParserError(b[2:3], "expecting colon between hours and minutes") } t.Minute, err = parseDecimalDigits(b[3:5]) @@ -217,10 +219,10 @@ func parseLocalTime(b []byte) (LocalTime, []byte, error) { return t, nil, err } if t.Minute > 59 { - return t, nil, newDecodeError(b[3:5], "minutes cannot be greater 59") + return t, nil, unstable.NewParserError(b[3:5], "minutes cannot be greater 59") } if b[5] != ':' { - return t, nil, newDecodeError(b[5:6], "expecting colon between minutes and seconds") + return t, nil, unstable.NewParserError(b[5:6], "expecting colon between minutes and seconds") } t.Second, err = parseDecimalDigits(b[6:8]) @@ -229,7 +231,7 @@ func parseLocalTime(b []byte) (LocalTime, []byte, error) { } if t.Second > 60 { - return t, nil, newDecodeError(b[6:8], "seconds cannot be greater 60") + return t, nil, unstable.NewParserError(b[6:8], "seconds cannot be greater 60") } b = b[8:] @@ -242,7 +244,7 @@ func parseLocalTime(b []byte) (LocalTime, []byte, error) { for i, c := range b[1:] { if !isDigit(c) { if i == 0 { - return t, nil, newDecodeError(b[0:1], "need at least one digit after fraction point") + return t, nil, unstable.NewParserError(b[0:1], "need at least one digit after fraction point") } break } @@ -266,7 +268,7 @@ func parseLocalTime(b []byte) (LocalTime, []byte, error) { } if precision == 0 { - return t, nil, newDecodeError(b[:1], "nanoseconds need at least one digit") + return t, nil, unstable.NewParserError(b[:1], "nanoseconds need at least one digit") } t.Nanosecond = frac * nspow[precision] @@ -289,24 +291,24 @@ func parseFloat(b []byte) (float64, error) { } if cleaned[0] == '.' { - return 0, newDecodeError(b, "float cannot start with a dot") + return 0, unstable.NewParserError(b, "float cannot start with a dot") } if cleaned[len(cleaned)-1] == '.' { - return 0, newDecodeError(b, "float cannot end with a dot") + return 0, unstable.NewParserError(b, "float cannot end with a dot") } dotAlreadySeen := false for i, c := range cleaned { if c == '.' { if dotAlreadySeen { - return 0, newDecodeError(b[i:i+1], "float can have at most one decimal point") + return 0, unstable.NewParserError(b[i:i+1], "float can have at most one decimal point") } if !isDigit(cleaned[i-1]) { - return 0, newDecodeError(b[i-1:i+1], "float decimal point must be preceded by a digit") + return 0, unstable.NewParserError(b[i-1:i+1], "float decimal point must be preceded by a digit") } if !isDigit(cleaned[i+1]) { - return 0, newDecodeError(b[i:i+2], "float decimal point must be followed by a digit") + return 0, unstable.NewParserError(b[i:i+2], "float decimal point must be followed by a digit") } dotAlreadySeen = true } @@ -317,12 +319,12 @@ func parseFloat(b []byte) (float64, error) { start = 1 } if cleaned[start] == '0' && isDigit(cleaned[start+1]) { - return 0, newDecodeError(b, "float integer part cannot have leading zeroes") + return 0, unstable.NewParserError(b, "float integer part cannot have leading zeroes") } f, err := strconv.ParseFloat(string(cleaned), 64) if err != nil { - return 0, newDecodeError(b, "unable to parse float: %w", err) + return 0, unstable.NewParserError(b, "unable to parse float: %w", err) } return f, nil @@ -336,7 +338,7 @@ func parseIntHex(b []byte) (int64, error) { i, err := strconv.ParseInt(string(cleaned), 16, 64) if err != nil { - return 0, newDecodeError(b, "couldn't parse hexadecimal number: %w", err) + return 0, unstable.NewParserError(b, "couldn't parse hexadecimal number: %w", err) } return i, nil @@ -350,7 +352,7 @@ func parseIntOct(b []byte) (int64, error) { i, err := strconv.ParseInt(string(cleaned), 8, 64) if err != nil { - return 0, newDecodeError(b, "couldn't parse octal number: %w", err) + return 0, unstable.NewParserError(b, "couldn't parse octal number: %w", err) } return i, nil @@ -364,7 +366,7 @@ func parseIntBin(b []byte) (int64, error) { i, err := strconv.ParseInt(string(cleaned), 2, 64) if err != nil { - return 0, newDecodeError(b, "couldn't parse binary number: %w", err) + return 0, unstable.NewParserError(b, "couldn't parse binary number: %w", err) } return i, nil @@ -387,12 +389,12 @@ func parseIntDec(b []byte) (int64, error) { } if len(cleaned) > startIdx+1 && cleaned[startIdx] == '0' { - return 0, newDecodeError(b, "leading zero not allowed on decimal number") + return 0, unstable.NewParserError(b, "leading zero not allowed on decimal number") } i, err := strconv.ParseInt(string(cleaned), 10, 64) if err != nil { - return 0, newDecodeError(b, "couldn't parse decimal number: %w", err) + return 0, unstable.NewParserError(b, "couldn't parse decimal number: %w", err) } return i, nil @@ -409,11 +411,11 @@ func checkAndRemoveUnderscoresIntegers(b []byte) ([]byte, error) { } if b[start] == '_' { - return nil, newDecodeError(b[start:start+1], "number cannot start with underscore") + return nil, unstable.NewParserError(b[start:start+1], "number cannot start with underscore") } if b[len(b)-1] == '_' { - return nil, newDecodeError(b[len(b)-1:], "number cannot end with underscore") + return nil, unstable.NewParserError(b[len(b)-1:], "number cannot end with underscore") } // fast path @@ -435,7 +437,7 @@ func checkAndRemoveUnderscoresIntegers(b []byte) ([]byte, error) { c := b[i] if c == '_' { if !before { - return nil, newDecodeError(b[i-1:i+1], "number must have at least one digit between underscores") + return nil, unstable.NewParserError(b[i-1:i+1], "number must have at least one digit between underscores") } before = false } else { @@ -449,11 +451,11 @@ func checkAndRemoveUnderscoresIntegers(b []byte) ([]byte, error) { func checkAndRemoveUnderscoresFloats(b []byte) ([]byte, error) { if b[0] == '_' { - return nil, newDecodeError(b[0:1], "number cannot start with underscore") + return nil, unstable.NewParserError(b[0:1], "number cannot start with underscore") } if b[len(b)-1] == '_' { - return nil, newDecodeError(b[len(b)-1:], "number cannot end with underscore") + return nil, unstable.NewParserError(b[len(b)-1:], "number cannot end with underscore") } // fast path @@ -476,10 +478,10 @@ func checkAndRemoveUnderscoresFloats(b []byte) ([]byte, error) { switch c { case '_': if !before { - return nil, newDecodeError(b[i-1:i+1], "number must have at least one digit between underscores") + return nil, unstable.NewParserError(b[i-1:i+1], "number must have at least one digit between underscores") } if i < len(b)-1 && (b[i+1] == 'e' || b[i+1] == 'E') { - return nil, newDecodeError(b[i+1:i+2], "cannot have underscore before exponent") + return nil, unstable.NewParserError(b[i+1:i+2], "cannot have underscore before exponent") } before = false case '+', '-': @@ -488,15 +490,15 @@ func checkAndRemoveUnderscoresFloats(b []byte) ([]byte, error) { before = false case 'e', 'E': if i < len(b)-1 && b[i+1] == '_' { - return nil, newDecodeError(b[i+1:i+2], "cannot have underscore after exponent") + return nil, unstable.NewParserError(b[i+1:i+2], "cannot have underscore after exponent") } cleaned = append(cleaned, c) case '.': if i < len(b)-1 && b[i+1] == '_' { - return nil, newDecodeError(b[i+1:i+2], "cannot have underscore after decimal point") + return nil, unstable.NewParserError(b[i+1:i+2], "cannot have underscore after decimal point") } if i > 0 && b[i-1] == '_' { - return nil, newDecodeError(b[i-1:i], "cannot have underscore before decimal point") + return nil, unstable.NewParserError(b[i-1:i], "cannot have underscore before decimal point") } cleaned = append(cleaned, c) default: @@ -542,3 +544,7 @@ func daysIn(m int, year int) int { func isLeap(year int) bool { return year%4 == 0 && (year%100 != 0 || year%400 == 0) } + +func isDigit(r byte) bool { + return r >= '0' && r <= '9' +} diff --git a/vendor/github.com/pelletier/go-toml/v2/errors.go b/vendor/github.com/pelletier/go-toml/v2/errors.go @@ -6,6 +6,7 @@ import ( "strings" "github.com/pelletier/go-toml/v2/internal/danger" + "github.com/pelletier/go-toml/v2/unstable" ) // DecodeError represents an error encountered during the parsing or decoding @@ -55,25 +56,6 @@ func (s *StrictMissingError) String() string { type Key []string -// internal version of DecodeError that is used as the base to create a -// DecodeError with full context. -type decodeError struct { - highlight []byte - message string - key Key // optional -} - -func (de *decodeError) Error() string { - return de.message -} - -func newDecodeError(highlight []byte, format string, args ...interface{}) error { - return &decodeError{ - highlight: highlight, - message: fmt.Errorf(format, args...).Error(), - } -} - // Error returns the error message contained in the DecodeError. func (e *DecodeError) Error() string { return "toml: " + e.message @@ -105,12 +87,12 @@ func (e *DecodeError) Key() Key { // highlight can be freely deallocated. // //nolint:funlen -func wrapDecodeError(document []byte, de *decodeError) *DecodeError { - offset := danger.SubsliceOffset(document, de.highlight) +func wrapDecodeError(document []byte, de *unstable.ParserError) *DecodeError { + offset := danger.SubsliceOffset(document, de.Highlight) errMessage := de.Error() errLine, errColumn := positionAtEnd(document[:offset]) - before, after := linesOfContext(document, de.highlight, offset, 3) + before, after := linesOfContext(document, de.Highlight, offset, 3) var buf strings.Builder @@ -140,7 +122,7 @@ func wrapDecodeError(document []byte, de *decodeError) *DecodeError { buf.Write(before[0]) } - buf.Write(de.highlight) + buf.Write(de.Highlight) if len(after) > 0 { buf.Write(after[0]) @@ -158,7 +140,7 @@ func wrapDecodeError(document []byte, de *decodeError) *DecodeError { buf.WriteString(strings.Repeat(" ", len(before[0]))) } - buf.WriteString(strings.Repeat("~", len(de.highlight))) + buf.WriteString(strings.Repeat("~", len(de.Highlight))) if len(errMessage) > 0 { buf.WriteString(" ") @@ -183,7 +165,7 @@ func wrapDecodeError(document []byte, de *decodeError) *DecodeError { message: errMessage, line: errLine, column: errColumn, - key: de.key, + key: de.Key, human: buf.String(), } } diff --git a/vendor/github.com/pelletier/go-toml/v2/internal/ast/ast.go b/vendor/github.com/pelletier/go-toml/v2/internal/ast/ast.go @@ -1,144 +0,0 @@ -package ast - -import ( - "fmt" - "unsafe" - - "github.com/pelletier/go-toml/v2/internal/danger" -) - -// Iterator starts uninitialized, you need to call Next() first. -// -// For example: -// -// it := n.Children() -// for it.Next() { -// it.Node() -// } -type Iterator struct { - started bool - node *Node -} - -// Next moves the iterator forward and returns true if points to a -// node, false otherwise. -func (c *Iterator) Next() bool { - if !c.started { - c.started = true - } else if c.node.Valid() { - c.node = c.node.Next() - } - return c.node.Valid() -} - -// IsLast returns true if the current node of the iterator is the last -// one. Subsequent call to Next() will return false. -func (c *Iterator) IsLast() bool { - return c.node.next == 0 -} - -// Node returns a copy of the node pointed at by the iterator. -func (c *Iterator) Node() *Node { - return c.node -} - -// Root contains a full AST. -// -// It is immutable once constructed with Builder. -type Root struct { - nodes []Node -} - -// Iterator over the top level nodes. -func (r *Root) Iterator() Iterator { - it := Iterator{} - if len(r.nodes) > 0 { - it.node = &r.nodes[0] - } - return it -} - -func (r *Root) at(idx Reference) *Node { - return &r.nodes[idx] -} - -// Arrays have one child per element in the array. InlineTables have -// one child per key-value pair in the table. KeyValues have at least -// two children. The first one is the value. The rest make a -// potentially dotted key. Table and Array table have one child per -// element of the key they represent (same as KeyValue, but without -// the last node being the value). -type Node struct { - Kind Kind - Raw Range // Raw bytes from the input. - Data []byte // Node value (either allocated or referencing the input). - - // References to other nodes, as offsets in the backing array - // from this node. References can go backward, so those can be - // negative. - next int // 0 if last element - child int // 0 if no child -} - -type Range struct { - Offset uint32 - Length uint32 -} - -// Next returns a copy of the next node, or an invalid Node if there -// is no next node. -func (n *Node) Next() *Node { - if n.next == 0 { - return nil - } - ptr := unsafe.Pointer(n) - size := unsafe.Sizeof(Node{}) - return (*Node)(danger.Stride(ptr, size, n.next)) -} - -// Child returns a copy of the first child node of this node. Other -// children can be accessed calling Next on the first child. Returns -// an invalid Node if there is none. -func (n *Node) Child() *Node { - if n.child == 0 { - return nil - } - ptr := unsafe.Pointer(n) - size := unsafe.Sizeof(Node{}) - return (*Node)(danger.Stride(ptr, size, n.child)) -} - -// Valid returns true if the node's kind is set (not to Invalid). -func (n *Node) Valid() bool { - return n != nil -} - -// Key returns the child nodes making the Key on a supported -// node. Panics otherwise. They are guaranteed to be all be of the -// Kind Key. A simple key would return just one element. -func (n *Node) Key() Iterator { - switch n.Kind { - case KeyValue: - value := n.Child() - if !value.Valid() { - panic(fmt.Errorf("KeyValue should have at least two children")) - } - return Iterator{node: value.Next()} - case Table, ArrayTable: - return Iterator{node: n.Child()} - default: - panic(fmt.Errorf("Key() is not supported on a %s", n.Kind)) - } -} - -// Value returns a pointer to the value node of a KeyValue. -// Guaranteed to be non-nil. Panics if not called on a KeyValue node, -// or if the Children are malformed. -func (n *Node) Value() *Node { - return n.Child() -} - -// Children returns an iterator over a node's children. -func (n *Node) Children() Iterator { - return Iterator{node: n.Child()} -} diff --git a/vendor/github.com/pelletier/go-toml/v2/internal/ast/builder.go b/vendor/github.com/pelletier/go-toml/v2/internal/ast/builder.go @@ -1,51 +0,0 @@ -package ast - -type Reference int - -const InvalidReference Reference = -1 - -func (r Reference) Valid() bool { - return r != InvalidReference -} - -type Builder struct { - tree Root - lastIdx int -} - -func (b *Builder) Tree() *Root { - return &b.tree -} - -func (b *Builder) NodeAt(ref Reference) *Node { - return b.tree.at(ref) -} - -func (b *Builder) Reset() { - b.tree.nodes = b.tree.nodes[:0] - b.lastIdx = 0 -} - -func (b *Builder) Push(n Node) Reference { - b.lastIdx = len(b.tree.nodes) - b.tree.nodes = append(b.tree.nodes, n) - return Reference(b.lastIdx) -} - -func (b *Builder) PushAndChain(n Node) Reference { - newIdx := len(b.tree.nodes) - b.tree.nodes = append(b.tree.nodes, n) - if b.lastIdx >= 0 { - b.tree.nodes[b.lastIdx].next = newIdx - b.lastIdx - } - b.lastIdx = newIdx - return Reference(b.lastIdx) -} - -func (b *Builder) AttachChild(parent Reference, child Reference) { - b.tree.nodes[parent].child = int(child) - int(parent) -} - -func (b *Builder) Chain(from Reference, to Reference) { - b.tree.nodes[from].next = int(to) - int(from) -} diff --git a/vendor/github.com/pelletier/go-toml/v2/internal/ast/kind.go b/vendor/github.com/pelletier/go-toml/v2/internal/ast/kind.go @@ -1,69 +0,0 @@ -package ast - -import "fmt" - -type Kind int - -const ( - // meta - Invalid Kind = iota - Comment - Key - - // top level structures - Table - ArrayTable - KeyValue - - // containers values - Array - InlineTable - - // values - String - Bool - Float - Integer - LocalDate - LocalTime - LocalDateTime - DateTime -) - -func (k Kind) String() string { - switch k { - case Invalid: - return "Invalid" - case Comment: - return "Comment" - case Key: - return "Key" - case Table: - return "Table" - case ArrayTable: - return "ArrayTable" - case KeyValue: - return "KeyValue" - case Array: - return "Array" - case InlineTable: - return "InlineTable" - case String: - return "String" - case Bool: - return "Bool" - case Float: - return "Float" - case Integer: - return "Integer" - case LocalDate: - return "LocalDate" - case LocalTime: - return "LocalTime" - case LocalDateTime: - return "LocalDateTime" - case DateTime: - return "DateTime" - } - panic(fmt.Errorf("Kind.String() not implemented for '%d'", k)) -} diff --git a/vendor/github.com/pelletier/go-toml/v2/internal/characters/ascii.go b/vendor/github.com/pelletier/go-toml/v2/internal/characters/ascii.go @@ -0,0 +1,42 @@ +package characters + +var invalidAsciiTable = [256]bool{ + 0x00: true, + 0x01: true, + 0x02: true, + 0x03: true, + 0x04: true, + 0x05: true, + 0x06: true, + 0x07: true, + 0x08: true, + // 0x09 TAB + // 0x0A LF + 0x0B: true, + 0x0C: true, + // 0x0D CR + 0x0E: true, + 0x0F: true, + 0x10: true, + 0x11: true, + 0x12: true, + 0x13: true, + 0x14: true, + 0x15: true, + 0x16: true, + 0x17: true, + 0x18: true, + 0x19: true, + 0x1A: true, + 0x1B: true, + 0x1C: true, + 0x1D: true, + 0x1E: true, + 0x1F: true, + // 0x20 - 0x7E Printable ASCII characters + 0x7F: true, +} + +func InvalidAscii(b byte) bool { + return invalidAsciiTable[b] +} diff --git a/vendor/github.com/pelletier/go-toml/v2/internal/characters/utf8.go b/vendor/github.com/pelletier/go-toml/v2/internal/characters/utf8.go @@ -0,0 +1,199 @@ +package characters + +import ( + "unicode/utf8" +) + +type utf8Err struct { + Index int + Size int +} + +func (u utf8Err) Zero() bool { + return u.Size == 0 +} + +// Verified that a given string is only made of valid UTF-8 characters allowed +// by the TOML spec: +// +// Any Unicode character may be used except those that must be escaped: +// quotation mark, backslash, and the control characters other than tab (U+0000 +// to U+0008, U+000A to U+001F, U+007F). +// +// It is a copy of the Go 1.17 utf8.Valid implementation, tweaked to exit early +// when a character is not allowed. +// +// The returned utf8Err is Zero() if the string is valid, or contains the byte +// index and size of the invalid character. +// +// quotation mark => already checked +// backslash => already checked +// 0-0x8 => invalid +// 0x9 => tab, ok +// 0xA - 0x1F => invalid +// 0x7F => invalid +func Utf8TomlValidAlreadyEscaped(p []byte) (err utf8Err) { + // Fast path. Check for and skip 8 bytes of ASCII characters per iteration. + offset := 0 + for len(p) >= 8 { + // Combining two 32 bit loads allows the same code to be used + // for 32 and 64 bit platforms. + // The compiler can generate a 32bit load for first32 and second32 + // on many platforms. See test/codegen/memcombine.go. + first32 := uint32(p[0]) | uint32(p[1])<<8 | uint32(p[2])<<16 | uint32(p[3])<<24 + second32 := uint32(p[4]) | uint32(p[5])<<8 | uint32(p[6])<<16 | uint32(p[7])<<24 + if (first32|second32)&0x80808080 != 0 { + // Found a non ASCII byte (>= RuneSelf). + break + } + + for i, b := range p[:8] { + if InvalidAscii(b) { + err.Index = offset + i + err.Size = 1 + return + } + } + + p = p[8:] + offset += 8 + } + n := len(p) + for i := 0; i < n; { + pi := p[i] + if pi < utf8.RuneSelf { + if InvalidAscii(pi) { + err.Index = offset + i + err.Size = 1 + return + } + i++ + continue + } + x := first[pi] + if x == xx { + // Illegal starter byte. + err.Index = offset + i + err.Size = 1 + return + } + size := int(x & 7) + if i+size > n { + // Short or invalid. + err.Index = offset + i + err.Size = n - i + return + } + accept := acceptRanges[x>>4] + if c := p[i+1]; c < accept.lo || accept.hi < c { + err.Index = offset + i + err.Size = 2 + return + } else if size == 2 { + } else if c := p[i+2]; c < locb || hicb < c { + err.Index = offset + i + err.Size = 3 + return + } else if size == 3 { + } else if c := p[i+3]; c < locb || hicb < c { + err.Index = offset + i + err.Size = 4 + return + } + i += size + } + return +} + +// Return the size of the next rune if valid, 0 otherwise. +func Utf8ValidNext(p []byte) int { + c := p[0] + + if c < utf8.RuneSelf { + if InvalidAscii(c) { + return 0 + } + return 1 + } + + x := first[c] + if x == xx { + // Illegal starter byte. + return 0 + } + size := int(x & 7) + if size > len(p) { + // Short or invalid. + return 0 + } + accept := acceptRanges[x>>4] + if c := p[1]; c < accept.lo || accept.hi < c { + return 0 + } else if size == 2 { + } else if c := p[2]; c < locb || hicb < c { + return 0 + } else if size == 3 { + } else if c := p[3]; c < locb || hicb < c { + return 0 + } + + return size +} + +// acceptRange gives the range of valid values for the second byte in a UTF-8 +// sequence. +type acceptRange struct { + lo uint8 // lowest value for second byte. + hi uint8 // highest value for second byte. +} + +// acceptRanges has size 16 to avoid bounds checks in the code that uses it. +var acceptRanges = [16]acceptRange{ + 0: {locb, hicb}, + 1: {0xA0, hicb}, + 2: {locb, 0x9F}, + 3: {0x90, hicb}, + 4: {locb, 0x8F}, +} + +// first is information about the first byte in a UTF-8 sequence. +var first = [256]uint8{ + // 1 2 3 4 5 6 7 8 9 A B C D E F + as, as, as, as, as, as, as, as, as, as, as, as, as, as, as, as, // 0x00-0x0F + as, as, as, as, as, as, as, as, as, as, as, as, as, as, as, as, // 0x10-0x1F + as, as, as, as, as, as, as, as, as, as, as, as, as, as, as, as, // 0x20-0x2F + as, as, as, as, as, as, as, as, as, as, as, as, as, as, as, as, // 0x30-0x3F + as, as, as, as, as, as, as, as, as, as, as, as, as, as, as, as, // 0x40-0x4F + as, as, as, as, as, as, as, as, as, as, as, as, as, as, as, as, // 0x50-0x5F + as, as, as, as, as, as, as, as, as, as, as, as, as, as, as, as, // 0x60-0x6F + as, as, as, as, as, as, as, as, as, as, as, as, as, as, as, as, // 0x70-0x7F + // 1 2 3 4 5 6 7 8 9 A B C D E F + xx, xx, xx, xx, xx, xx, xx, xx, xx, xx, xx, xx, xx, xx, xx, xx, // 0x80-0x8F + xx, xx, xx, xx, xx, xx, xx, xx, xx, xx, xx, xx, xx, xx, xx, xx, // 0x90-0x9F + xx, xx, xx, xx, xx, xx, xx, xx, xx, xx, xx, xx, xx, xx, xx, xx, // 0xA0-0xAF + xx, xx, xx, xx, xx, xx, xx, xx, xx, xx, xx, xx, xx, xx, xx, xx, // 0xB0-0xBF + xx, xx, s1, s1, s1, s1, s1, s1, s1, s1, s1, s1, s1, s1, s1, s1, // 0xC0-0xCF + s1, s1, s1, s1, s1, s1, s1, s1, s1, s1, s1, s1, s1, s1, s1, s1, // 0xD0-0xDF + s2, s3, s3, s3, s3, s3, s3, s3, s3, s3, s3, s3, s3, s4, s3, s3, // 0xE0-0xEF + s5, s6, s6, s6, s7, xx, xx, xx, xx, xx, xx, xx, xx, xx, xx, xx, // 0xF0-0xFF +} + +const ( + // The default lowest and highest continuation byte. + locb = 0b10000000 + hicb = 0b10111111 + + // These names of these constants are chosen to give nice alignment in the + // table below. The first nibble is an index into acceptRanges or F for + // special one-byte cases. The second nibble is the Rune length or the + // Status for the special one-byte case. + xx = 0xF1 // invalid: size 1 + as = 0xF0 // ASCII: size 1 + s1 = 0x02 // accept 0, size 2 + s2 = 0x13 // accept 1, size 3 + s3 = 0x03 // accept 0, size 3 + s4 = 0x23 // accept 2, size 3 + s5 = 0x34 // accept 3, size 4 + s6 = 0x04 // accept 0, size 4 + s7 = 0x44 // accept 4, size 4 +) diff --git a/vendor/github.com/pelletier/go-toml/v2/internal/tracker/key.go b/vendor/github.com/pelletier/go-toml/v2/internal/tracker/key.go @@ -1,8 +1,6 @@ package tracker -import ( - "github.com/pelletier/go-toml/v2/internal/ast" -) +import "github.com/pelletier/go-toml/v2/unstable" // KeyTracker is a tracker that keeps track of the current Key as the AST is // walked. @@ -11,19 +9,19 @@ type KeyTracker struct { } // UpdateTable sets the state of the tracker with the AST table node. -func (t *KeyTracker) UpdateTable(node *ast.Node) { +func (t *KeyTracker) UpdateTable(node *unstable.Node) { t.reset() t.Push(node) } // UpdateArrayTable sets the state of the tracker with the AST array table node. -func (t *KeyTracker) UpdateArrayTable(node *ast.Node) { +func (t *KeyTracker) UpdateArrayTable(node *unstable.Node) { t.reset() t.Push(node) } // Push the given key on the stack. -func (t *KeyTracker) Push(node *ast.Node) { +func (t *KeyTracker) Push(node *unstable.Node) { it := node.Key() for it.Next() { t.k = append(t.k, string(it.Node().Data)) @@ -31,7 +29,7 @@ func (t *KeyTracker) Push(node *ast.Node) { } // Pop key from stack. -func (t *KeyTracker) Pop(node *ast.Node) { +func (t *KeyTracker) Pop(node *unstable.Node) { it := node.Key() for it.Next() { t.k = t.k[:len(t.k)-1] diff --git a/vendor/github.com/pelletier/go-toml/v2/internal/tracker/seen.go b/vendor/github.com/pelletier/go-toml/v2/internal/tracker/seen.go @@ -5,7 +5,7 @@ import ( "fmt" "sync" - "github.com/pelletier/go-toml/v2/internal/ast" + "github.com/pelletier/go-toml/v2/unstable" ) type keyKind uint8 @@ -150,23 +150,23 @@ func (s *SeenTracker) setExplicitFlag(parentIdx int) { // CheckExpression takes a top-level node and checks that it does not contain // keys that have been seen in previous calls, and validates that types are // consistent. -func (s *SeenTracker) CheckExpression(node *ast.Node) error { +func (s *SeenTracker) CheckExpression(node *unstable.Node) error { if s.entries == nil { s.reset() } switch node.Kind { - case ast.KeyValue: + case unstable.KeyValue: return s.checkKeyValue(node) - case ast.Table: + case unstable.Table: return s.checkTable(node) - case ast.ArrayTable: + case unstable.ArrayTable: return s.checkArrayTable(node) default: panic(fmt.Errorf("this should not be a top level node type: %s", node.Kind)) } } -func (s *SeenTracker) checkTable(node *ast.Node) error { +func (s *SeenTracker) checkTable(node *unstable.Node) error { if s.currentIdx >= 0 { s.setExplicitFlag(s.currentIdx) } @@ -219,7 +219,7 @@ func (s *SeenTracker) checkTable(node *ast.Node) error { return nil } -func (s *SeenTracker) checkArrayTable(node *ast.Node) error { +func (s *SeenTracker) checkArrayTable(node *unstable.Node) error { if s.currentIdx >= 0 { s.setExplicitFlag(s.currentIdx) } @@ -267,7 +267,7 @@ func (s *SeenTracker) checkArrayTable(node *ast.Node) error { return nil } -func (s *SeenTracker) checkKeyValue(node *ast.Node) error { +func (s *SeenTracker) checkKeyValue(node *unstable.Node) error { parentIdx := s.currentIdx it := node.Key() @@ -297,26 +297,26 @@ func (s *SeenTracker) checkKeyValue(node *ast.Node) error { value := node.Value() switch value.Kind { - case ast.InlineTable: + case unstable.InlineTable: return s.checkInlineTable(value) - case ast.Array: + case unstable.Array: return s.checkArray(value) } return nil } -func (s *SeenTracker) checkArray(node *ast.Node) error { +func (s *SeenTracker) checkArray(node *unstable.Node) error { it := node.Children() for it.Next() { n := it.Node() switch n.Kind { - case ast.InlineTable: + case unstable.InlineTable: err := s.checkInlineTable(n) if err != nil { return err } - case ast.Array: + case unstable.Array: err := s.checkArray(n) if err != nil { return err @@ -326,7 +326,7 @@ func (s *SeenTracker) checkArray(node *ast.Node) error { return nil } -func (s *SeenTracker) checkInlineTable(node *ast.Node) error { +func (s *SeenTracker) checkInlineTable(node *unstable.Node) error { if pool.New == nil { pool.New = func() interface{} { return &SeenTracker{} diff --git a/vendor/github.com/pelletier/go-toml/v2/localtime.go b/vendor/github.com/pelletier/go-toml/v2/localtime.go @@ -4,6 +4,8 @@ import ( "fmt" "strings" "time" + + "github.com/pelletier/go-toml/v2/unstable" ) // LocalDate represents a calendar day in no specific timezone. @@ -75,7 +77,7 @@ func (d LocalTime) MarshalText() ([]byte, error) { func (d *LocalTime) UnmarshalText(b []byte) error { res, left, err := parseLocalTime(b) if err == nil && len(left) != 0 { - err = newDecodeError(left, "extra characters") + err = unstable.NewParserError(left, "extra characters") } if err != nil { return err @@ -109,7 +111,7 @@ func (d LocalDateTime) MarshalText() ([]byte, error) { func (d *LocalDateTime) UnmarshalText(data []byte) error { res, left, err := parseLocalDateTime(data) if err == nil && len(left) != 0 { - err = newDecodeError(left, "extra characters") + err = unstable.NewParserError(left, "extra characters") } if err != nil { return err diff --git a/vendor/github.com/pelletier/go-toml/v2/marshaler.go b/vendor/github.com/pelletier/go-toml/v2/marshaler.go @@ -12,6 +12,8 @@ import ( "strings" "time" "unicode" + + "github.com/pelletier/go-toml/v2/internal/characters" ) // Marshal serializes a Go value as a TOML document. @@ -437,7 +439,7 @@ func (enc *Encoder) encodeString(b []byte, v string, options valueOptions) []byt func needsQuoting(v string) bool { // TODO: vectorize for _, b := range []byte(v) { - if b == '\'' || b == '\r' || b == '\n' || invalidAscii(b) { + if b == '\'' || b == '\r' || b == '\n' || characters.InvalidAscii(b) { return true } } diff --git a/vendor/github.com/pelletier/go-toml/v2/parser.go b/vendor/github.com/pelletier/go-toml/v2/parser.go @@ -1,1086 +0,0 @@ -package toml - -import ( - "bytes" - "unicode" - - "github.com/pelletier/go-toml/v2/internal/ast" - "github.com/pelletier/go-toml/v2/internal/danger" -) - -type parser struct { - builder ast.Builder - ref ast.Reference - data []byte - left []byte - err error - first bool -} - -func (p *parser) Range(b []byte) ast.Range { - return ast.Range{ - Offset: uint32(danger.SubsliceOffset(p.data, b)), - Length: uint32(len(b)), - } -} - -func (p *parser) Raw(raw ast.Range) []byte { - return p.data[raw.Offset : raw.Offset+raw.Length] -} - -func (p *parser) Reset(b []byte) { - p.builder.Reset() - p.ref = ast.InvalidReference - p.data = b - p.left = b - p.err = nil - p.first = true -} - -//nolint:cyclop -func (p *parser) NextExpression() bool { - if len(p.left) == 0 || p.err != nil { - return false - } - - p.builder.Reset() - p.ref = ast.InvalidReference - - for { - if len(p.left) == 0 || p.err != nil { - return false - } - - if !p.first { - p.left, p.err = p.parseNewline(p.left) - } - - if len(p.left) == 0 || p.err != nil { - return false - } - - p.ref, p.left, p.err = p.parseExpression(p.left) - - if p.err != nil { - return false - } - - p.first = false - - if p.ref.Valid() { - return true - } - } -} - -func (p *parser) Expression() *ast.Node { - return p.builder.NodeAt(p.ref) -} - -func (p *parser) Error() error { - return p.err -} - -func (p *parser) parseNewline(b []byte) ([]byte, error) { - if b[0] == '\n' { - return b[1:], nil - } - - if b[0] == '\r' { - _, rest, err := scanWindowsNewline(b) - return rest, err - } - - return nil, newDecodeError(b[0:1], "expected newline but got %#U", b[0]) -} - -func (p *parser) parseExpression(b []byte) (ast.Reference, []byte, error) { - // expression = ws [ comment ] - // expression =/ ws keyval ws [ comment ] - // expression =/ ws table ws [ comment ] - ref := ast.InvalidReference - - b = p.parseWhitespace(b) - - if len(b) == 0 { - return ref, b, nil - } - - if b[0] == '#' { - _, rest, err := scanComment(b) - return ref, rest, err - } - - if b[0] == '\n' || b[0] == '\r' { - return ref, b, nil - } - - var err error - if b[0] == '[' { - ref, b, err = p.parseTable(b) - } else { - ref, b, err = p.parseKeyval(b) - } - - if err != nil { - return ref, nil, err - } - - b = p.parseWhitespace(b) - - if len(b) > 0 && b[0] == '#' { - _, rest, err := scanComment(b) - return ref, rest, err - } - - return ref, b, nil -} - -func (p *parser) parseTable(b []byte) (ast.Reference, []byte, error) { - // table = std-table / array-table - if len(b) > 1 && b[1] == '[' { - return p.parseArrayTable(b) - } - - return p.parseStdTable(b) -} - -func (p *parser) parseArrayTable(b []byte) (ast.Reference, []byte, error) { - // array-table = array-table-open key array-table-close - // array-table-open = %x5B.5B ws ; [[ Double left square bracket - // array-table-close = ws %x5D.5D ; ]] Double right square bracket - ref := p.builder.Push(ast.Node{ - Kind: ast.ArrayTable, - }) - - b = b[2:] - b = p.parseWhitespace(b) - - k, b, err := p.parseKey(b) - if err != nil { - return ref, nil, err - } - - p.builder.AttachChild(ref, k) - b = p.parseWhitespace(b) - - b, err = expect(']', b) - if err != nil { - return ref, nil, err - } - - b, err = expect(']', b) - - return ref, b, err -} - -func (p *parser) parseStdTable(b []byte) (ast.Reference, []byte, error) { - // std-table = std-table-open key std-table-close - // std-table-open = %x5B ws ; [ Left square bracket - // std-table-close = ws %x5D ; ] Right square bracket - ref := p.builder.Push(ast.Node{ - Kind: ast.Table, - }) - - b = b[1:] - b = p.parseWhitespace(b) - - key, b, err := p.parseKey(b) - if err != nil { - return ref, nil, err - } - - p.builder.AttachChild(ref, key) - - b = p.parseWhitespace(b) - - b, err = expect(']', b) - - return ref, b, err -} - -func (p *parser) parseKeyval(b []byte) (ast.Reference, []byte, error) { - // keyval = key keyval-sep val - ref := p.builder.Push(ast.Node{ - Kind: ast.KeyValue, - }) - - key, b, err := p.parseKey(b) - if err != nil { - return ast.InvalidReference, nil, err - } - - // keyval-sep = ws %x3D ws ; = - - b = p.parseWhitespace(b) - - if len(b) == 0 { - return ast.InvalidReference, nil, newDecodeError(b, "expected = after a key, but the document ends there") - } - - b, err = expect('=', b) - if err != nil { - return ast.InvalidReference, nil, err - } - - b = p.parseWhitespace(b) - - valRef, b, err := p.parseVal(b) - if err != nil { - return ref, b, err - } - - p.builder.Chain(valRef, key) - p.builder.AttachChild(ref, valRef) - - return ref, b, err -} - -//nolint:cyclop,funlen -func (p *parser) parseVal(b []byte) (ast.Reference, []byte, error) { - // val = string / boolean / array / inline-table / date-time / float / integer - ref := ast.InvalidReference - - if len(b) == 0 { - return ref, nil, newDecodeError(b, "expected value, not eof") - } - - var err error - c := b[0] - - switch c { - case '"': - var raw []byte - var v []byte - if scanFollowsMultilineBasicStringDelimiter(b) { - raw, v, b, err = p.parseMultilineBasicString(b) - } else { - raw, v, b, err = p.parseBasicString(b) - } - - if err == nil { - ref = p.builder.Push(ast.Node{ - Kind: ast.String, - Raw: p.Range(raw), - Data: v, - }) - } - - return ref, b, err - case '\'': - var raw []byte - var v []byte - if scanFollowsMultilineLiteralStringDelimiter(b) { - raw, v, b, err = p.parseMultilineLiteralString(b) - } else { - raw, v, b, err = p.parseLiteralString(b) - } - - if err == nil { - ref = p.builder.Push(ast.Node{ - Kind: ast.String, - Raw: p.Range(raw), - Data: v, - }) - } - - return ref, b, err - case 't': - if !scanFollowsTrue(b) { - return ref, nil, newDecodeError(atmost(b, 4), "expected 'true'") - } - - ref = p.builder.Push(ast.Node{ - Kind: ast.Bool, - Data: b[:4], - }) - - return ref, b[4:], nil - case 'f': - if !scanFollowsFalse(b) { - return ref, nil, newDecodeError(atmost(b, 5), "expected 'false'") - } - - ref = p.builder.Push(ast.Node{ - Kind: ast.Bool, - Data: b[:5], - }) - - return ref, b[5:], nil - case '[': - return p.parseValArray(b) - case '{': - return p.parseInlineTable(b) - default: - return p.parseIntOrFloatOrDateTime(b) - } -} - -func atmost(b []byte, n int) []byte { - if n >= len(b) { - return b - } - - return b[:n] -} - -func (p *parser) parseLiteralString(b []byte) ([]byte, []byte, []byte, error) { - v, rest, err := scanLiteralString(b) - if err != nil { - return nil, nil, nil, err - } - - return v, v[1 : len(v)-1], rest, nil -} - -func (p *parser) parseInlineTable(b []byte) (ast.Reference, []byte, error) { - // inline-table = inline-table-open [ inline-table-keyvals ] inline-table-close - // inline-table-open = %x7B ws ; { - // inline-table-close = ws %x7D ; } - // inline-table-sep = ws %x2C ws ; , Comma - // inline-table-keyvals = keyval [ inline-table-sep inline-table-keyvals ] - parent := p.builder.Push(ast.Node{ - Kind: ast.InlineTable, - }) - - first := true - - var child ast.Reference - - b = b[1:] - - var err error - - for len(b) > 0 { - previousB := b - b = p.parseWhitespace(b) - - if len(b) == 0 { - return parent, nil, newDecodeError(previousB[:1], "inline table is incomplete") - } - - if b[0] == '}' { - break - } - - if !first { - b, err = expect(',', b) - if err != nil { - return parent, nil, err - } - b = p.parseWhitespace(b) - } - - var kv ast.Reference - - kv, b, err = p.parseKeyval(b) - if err != nil { - return parent, nil, err - } - - if first { - p.builder.AttachChild(parent, kv) - } else { - p.builder.Chain(child, kv) - } - child = kv - - first = false - } - - rest, err := expect('}', b) - - return parent, rest, err -} - -//nolint:funlen,cyclop -func (p *parser) parseValArray(b []byte) (ast.Reference, []byte, error) { - // array = array-open [ array-values ] ws-comment-newline array-close - // array-open = %x5B ; [ - // array-close = %x5D ; ] - // array-values = ws-comment-newline val ws-comment-newline array-sep array-values - // array-values =/ ws-comment-newline val ws-comment-newline [ array-sep ] - // array-sep = %x2C ; , Comma - // ws-comment-newline = *( wschar / [ comment ] newline ) - arrayStart := b - b = b[1:] - - parent := p.builder.Push(ast.Node{ - Kind: ast.Array, - }) - - first := true - - var lastChild ast.Reference - - var err error - for len(b) > 0 { - b, err = p.parseOptionalWhitespaceCommentNewline(b) - if err != nil { - return parent, nil, err - } - - if len(b) == 0 { - return parent, nil, newDecodeError(arrayStart[:1], "array is incomplete") - } - - if b[0] == ']' { - break - } - - if b[0] == ',' { - if first { - return parent, nil, newDecodeError(b[0:1], "array cannot start with comma") - } - b = b[1:] - - b, err = p.parseOptionalWhitespaceCommentNewline(b) - if err != nil { - return parent, nil, err - } - } else if !first { - return parent, nil, newDecodeError(b[0:1], "array elements must be separated by commas") - } - - // TOML allows trailing commas in arrays. - if len(b) > 0 && b[0] == ']' { - break - } - - var valueRef ast.Reference - valueRef, b, err = p.parseVal(b) - if err != nil { - return parent, nil, err - } - - if first { - p.builder.AttachChild(parent, valueRef) - } else { - p.builder.Chain(lastChild, valueRef) - } - lastChild = valueRef - - b, err = p.parseOptionalWhitespaceCommentNewline(b) - if err != nil { - return parent, nil, err - } - first = false - } - - rest, err := expect(']', b) - - return parent, rest, err -} - -func (p *parser) parseOptionalWhitespaceCommentNewline(b []byte) ([]byte, error) { - for len(b) > 0 { - var err error - b = p.parseWhitespace(b) - - if len(b) > 0 && b[0] == '#' { - _, b, err = scanComment(b) - if err != nil { - return nil, err - } - } - - if len(b) == 0 { - break - } - - if b[0] == '\n' || b[0] == '\r' { - b, err = p.parseNewline(b) - if err != nil { - return nil, err - } - } else { - break - } - } - - return b, nil -} - -func (p *parser) parseMultilineLiteralString(b []byte) ([]byte, []byte, []byte, error) { - token, rest, err := scanMultilineLiteralString(b) - if err != nil { - return nil, nil, nil, err - } - - i := 3 - - // skip the immediate new line - if token[i] == '\n' { - i++ - } else if token[i] == '\r' && token[i+1] == '\n' { - i += 2 - } - - return token, token[i : len(token)-3], rest, err -} - -//nolint:funlen,gocognit,cyclop -func (p *parser) parseMultilineBasicString(b []byte) ([]byte, []byte, []byte, error) { - // ml-basic-string = ml-basic-string-delim [ newline ] ml-basic-body - // ml-basic-string-delim - // ml-basic-string-delim = 3quotation-mark - // ml-basic-body = *mlb-content *( mlb-quotes 1*mlb-content ) [ mlb-quotes ] - // - // mlb-content = mlb-char / newline / mlb-escaped-nl - // mlb-char = mlb-unescaped / escaped - // mlb-quotes = 1*2quotation-mark - // mlb-unescaped = wschar / %x21 / %x23-5B / %x5D-7E / non-ascii - // mlb-escaped-nl = escape ws newline *( wschar / newline ) - token, escaped, rest, err := scanMultilineBasicString(b) - if err != nil { - return nil, nil, nil, err - } - - i := 3 - - // skip the immediate new line - if token[i] == '\n' { - i++ - } else if token[i] == '\r' && token[i+1] == '\n' { - i += 2 - } - - // fast path - startIdx := i - endIdx := len(token) - len(`"""`) - - if !escaped { - str := token[startIdx:endIdx] - verr := utf8TomlValidAlreadyEscaped(str) - if verr.Zero() { - return token, str, rest, nil - } - return nil, nil, nil, newDecodeError(str[verr.Index:verr.Index+verr.Size], "invalid UTF-8") - } - - var builder bytes.Buffer - - // The scanner ensures that the token starts and ends with quotes and that - // escapes are balanced. - for i < len(token)-3 { - c := token[i] - - //nolint:nestif - if c == '\\' { - // When the last non-whitespace character on a line is an unescaped \, - // it will be trimmed along with all whitespace (including newlines) up - // to the next non-whitespace character or closing delimiter. - - isLastNonWhitespaceOnLine := false - j := 1 - findEOLLoop: - for ; j < len(token)-3-i; j++ { - switch token[i+j] { - case ' ', '\t': - continue - case '\r': - if token[i+j+1] == '\n' { - continue - } - case '\n': - isLastNonWhitespaceOnLine = true - } - break findEOLLoop - } - if isLastNonWhitespaceOnLine { - i += j - for ; i < len(token)-3; i++ { - c := token[i] - if !(c == '\n' || c == '\r' || c == ' ' || c == '\t') { - i-- - break - } - } - i++ - continue - } - - // handle escaping - i++ - c = token[i] - - switch c { - case '"', '\\': - builder.WriteByte(c) - case 'b': - builder.WriteByte('\b') - case 'f': - builder.WriteByte('\f') - case 'n': - builder.WriteByte('\n') - case 'r': - builder.WriteByte('\r') - case 't': - builder.WriteByte('\t') - case 'e': - builder.WriteByte(0x1B) - case 'u': - x, err := hexToRune(atmost(token[i+1:], 4), 4) - if err != nil { - return nil, nil, nil, err - } - builder.WriteRune(x) - i += 4 - case 'U': - x, err := hexToRune(atmost(token[i+1:], 8), 8) - if err != nil { - return nil, nil, nil, err - } - - builder.WriteRune(x) - i += 8 - default: - return nil, nil, nil, newDecodeError(token[i:i+1], "invalid escaped character %#U", c) - } - i++ - } else { - size := utf8ValidNext(token[i:]) - if size == 0 { - return nil, nil, nil, newDecodeError(token[i:i+1], "invalid character %#U", c) - } - builder.Write(token[i : i+size]) - i += size - } - } - - return token, builder.Bytes(), rest, nil -} - -func (p *parser) parseKey(b []byte) (ast.Reference, []byte, error) { - // key = simple-key / dotted-key - // simple-key = quoted-key / unquoted-key - // - // unquoted-key = 1*( ALPHA / DIGIT / %x2D / %x5F ) ; A-Z / a-z / 0-9 / - / _ - // quoted-key = basic-string / literal-string - // dotted-key = simple-key 1*( dot-sep simple-key ) - // - // dot-sep = ws %x2E ws ; . Period - raw, key, b, err := p.parseSimpleKey(b) - if err != nil { - return ast.InvalidReference, nil, err - } - - ref := p.builder.Push(ast.Node{ - Kind: ast.Key, - Raw: p.Range(raw), - Data: key, - }) - - for { - b = p.parseWhitespace(b) - if len(b) > 0 && b[0] == '.' { - b = p.parseWhitespace(b[1:]) - - raw, key, b, err = p.parseSimpleKey(b) - if err != nil { - return ref, nil, err - } - - p.builder.PushAndChain(ast.Node{ - Kind: ast.Key, - Raw: p.Range(raw), - Data: key, - }) - } else { - break - } - } - - return ref, b, nil -} - -func (p *parser) parseSimpleKey(b []byte) (raw, key, rest []byte, err error) { - if len(b) == 0 { - return nil, nil, nil, newDecodeError(b, "expected key but found none") - } - - // simple-key = quoted-key / unquoted-key - // unquoted-key = 1*( ALPHA / DIGIT / %x2D / %x5F ) ; A-Z / a-z / 0-9 / - / _ - // quoted-key = basic-string / literal-string - switch { - case b[0] == '\'': - return p.parseLiteralString(b) - case b[0] == '"': - return p.parseBasicString(b) - case isUnquotedKeyChar(b[0]): - key, rest = scanUnquotedKey(b) - return key, key, rest, nil - default: - return nil, nil, nil, newDecodeError(b[0:1], "invalid character at start of key: %c", b[0]) - } -} - -//nolint:funlen,cyclop -func (p *parser) parseBasicString(b []byte) ([]byte, []byte, []byte, error) { - // basic-string = quotation-mark *basic-char quotation-mark - // quotation-mark = %x22 ; " - // basic-char = basic-unescaped / escaped - // basic-unescaped = wschar / %x21 / %x23-5B / %x5D-7E / non-ascii - // escaped = escape escape-seq-char - // escape-seq-char = %x22 ; " quotation mark U+0022 - // escape-seq-char =/ %x5C ; \ reverse solidus U+005C - // escape-seq-char =/ %x62 ; b backspace U+0008 - // escape-seq-char =/ %x66 ; f form feed U+000C - // escape-seq-char =/ %x6E ; n line feed U+000A - // escape-seq-char =/ %x72 ; r carriage return U+000D - // escape-seq-char =/ %x74 ; t tab U+0009 - // escape-seq-char =/ %x75 4HEXDIG ; uXXXX U+XXXX - // escape-seq-char =/ %x55 8HEXDIG ; UXXXXXXXX U+XXXXXXXX - token, escaped, rest, err := scanBasicString(b) - if err != nil { - return nil, nil, nil, err - } - - startIdx := len(`"`) - endIdx := len(token) - len(`"`) - - // Fast path. If there is no escape sequence, the string should just be - // an UTF-8 encoded string, which is the same as Go. In that case, - // validate the string and return a direct reference to the buffer. - if !escaped { - str := token[startIdx:endIdx] - verr := utf8TomlValidAlreadyEscaped(str) - if verr.Zero() { - return token, str, rest, nil - } - return nil, nil, nil, newDecodeError(str[verr.Index:verr.Index+verr.Size], "invalid UTF-8") - } - - i := startIdx - - var builder bytes.Buffer - - // The scanner ensures that the token starts and ends with quotes and that - // escapes are balanced. - for i < len(token)-1 { - c := token[i] - if c == '\\' { - i++ - c = token[i] - - switch c { - case '"', '\\': - builder.WriteByte(c) - case 'b': - builder.WriteByte('\b') - case 'f': - builder.WriteByte('\f') - case 'n': - builder.WriteByte('\n') - case 'r': - builder.WriteByte('\r') - case 't': - builder.WriteByte('\t') - case 'e': - builder.WriteByte(0x1B) - case 'u': - x, err := hexToRune(token[i+1:len(token)-1], 4) - if err != nil { - return nil, nil, nil, err - } - - builder.WriteRune(x) - i += 4 - case 'U': - x, err := hexToRune(token[i+1:len(token)-1], 8) - if err != nil { - return nil, nil, nil, err - } - - builder.WriteRune(x) - i += 8 - default: - return nil, nil, nil, newDecodeError(token[i:i+1], "invalid escaped character %#U", c) - } - i++ - } else { - size := utf8ValidNext(token[i:]) - if size == 0 { - return nil, nil, nil, newDecodeError(token[i:i+1], "invalid character %#U", c) - } - builder.Write(token[i : i+size]) - i += size - } - } - - return token, builder.Bytes(), rest, nil -} - -func hexToRune(b []byte, length int) (rune, error) { - if len(b) < length { - return -1, newDecodeError(b, "unicode point needs %d character, not %d", length, len(b)) - } - b = b[:length] - - var r uint32 - for i, c := range b { - d := uint32(0) - switch { - case '0' <= c && c <= '9': - d = uint32(c - '0') - case 'a' <= c && c <= 'f': - d = uint32(c - 'a' + 10) - case 'A' <= c && c <= 'F': - d = uint32(c - 'A' + 10) - default: - return -1, newDecodeError(b[i:i+1], "non-hex character") - } - r = r*16 + d - } - - if r > unicode.MaxRune || 0xD800 <= r && r < 0xE000 { - return -1, newDecodeError(b, "escape sequence is invalid Unicode code point") - } - - return rune(r), nil -} - -func (p *parser) parseWhitespace(b []byte) []byte { - // ws = *wschar - // wschar = %x20 ; Space - // wschar =/ %x09 ; Horizontal tab - _, rest := scanWhitespace(b) - - return rest -} - -//nolint:cyclop -func (p *parser) parseIntOrFloatOrDateTime(b []byte) (ast.Reference, []byte, error) { - switch b[0] { - case 'i': - if !scanFollowsInf(b) { - return ast.InvalidReference, nil, newDecodeError(atmost(b, 3), "expected 'inf'") - } - - return p.builder.Push(ast.Node{ - Kind: ast.Float, - Data: b[:3], - }), b[3:], nil - case 'n': - if !scanFollowsNan(b) { - return ast.InvalidReference, nil, newDecodeError(atmost(b, 3), "expected 'nan'") - } - - return p.builder.Push(ast.Node{ - Kind: ast.Float, - Data: b[:3], - }), b[3:], nil - case '+', '-': - return p.scanIntOrFloat(b) - } - - if len(b) < 3 { - return p.scanIntOrFloat(b) - } - - s := 5 - if len(b) < s { - s = len(b) - } - - for idx, c := range b[:s] { - if isDigit(c) { - continue - } - - if idx == 2 && c == ':' || (idx == 4 && c == '-') { - return p.scanDateTime(b) - } - - break - } - - return p.scanIntOrFloat(b) -} - -func (p *parser) scanDateTime(b []byte) (ast.Reference, []byte, error) { - // scans for contiguous characters in [0-9T:Z.+-], and up to one space if - // followed by a digit. - hasDate := false - hasTime := false - hasTz := false - seenSpace := false - - i := 0 -byteLoop: - for ; i < len(b); i++ { - c := b[i] - - switch { - case isDigit(c): - case c == '-': - hasDate = true - const minOffsetOfTz = 8 - if i >= minOffsetOfTz { - hasTz = true - } - case c == 'T' || c == 't' || c == ':' || c == '.': - hasTime = true - case c == '+' || c == '-' || c == 'Z' || c == 'z': - hasTz = true - case c == ' ': - if !seenSpace && i+1 < len(b) && isDigit(b[i+1]) { - i += 2 - // Avoid reaching past the end of the document in case the time - // is malformed. See TestIssue585. - if i >= len(b) { - i-- - } - seenSpace = true - hasTime = true - } else { - break byteLoop - } - default: - break byteLoop - } - } - - var kind ast.Kind - - if hasTime { - if hasDate { - if hasTz { - kind = ast.DateTime - } else { - kind = ast.LocalDateTime - } - } else { - kind = ast.LocalTime - } - } else { - kind = ast.LocalDate - } - - return p.builder.Push(ast.Node{ - Kind: kind, - Data: b[:i], - }), b[i:], nil -} - -//nolint:funlen,gocognit,cyclop -func (p *parser) scanIntOrFloat(b []byte) (ast.Reference, []byte, error) { - i := 0 - - if len(b) > 2 && b[0] == '0' && b[1] != '.' && b[1] != 'e' && b[1] != 'E' { - var isValidRune validRuneFn - - switch b[1] { - case 'x': - isValidRune = isValidHexRune - case 'o': - isValidRune = isValidOctalRune - case 'b': - isValidRune = isValidBinaryRune - default: - i++ - } - - if isValidRune != nil { - i += 2 - for ; i < len(b); i++ { - if !isValidRune(b[i]) { - break - } - } - } - - return p.builder.Push(ast.Node{ - Kind: ast.Integer, - Data: b[:i], - }), b[i:], nil - } - - isFloat := false - - for ; i < len(b); i++ { - c := b[i] - - if c >= '0' && c <= '9' || c == '+' || c == '-' || c == '_' { - continue - } - - if c == '.' || c == 'e' || c == 'E' { - isFloat = true - - continue - } - - if c == 'i' { - if scanFollowsInf(b[i:]) { - return p.builder.Push(ast.Node{ - Kind: ast.Float, - Data: b[:i+3], - }), b[i+3:], nil - } - - return ast.InvalidReference, nil, newDecodeError(b[i:i+1], "unexpected character 'i' while scanning for a number") - } - - if c == 'n' { - if scanFollowsNan(b[i:]) { - return p.builder.Push(ast.Node{ - Kind: ast.Float, - Data: b[:i+3], - }), b[i+3:], nil - } - - return ast.InvalidReference, nil, newDecodeError(b[i:i+1], "unexpected character 'n' while scanning for a number") - } - - break - } - - if i == 0 { - return ast.InvalidReference, b, newDecodeError(b, "incomplete number") - } - - kind := ast.Integer - - if isFloat { - kind = ast.Float - } - - return p.builder.Push(ast.Node{ - Kind: kind, - Data: b[:i], - }), b[i:], nil -} - -func isDigit(r byte) bool { - return r >= '0' && r <= '9' -} - -type validRuneFn func(r byte) bool - -func isValidHexRune(r byte) bool { - return r >= 'a' && r <= 'f' || - r >= 'A' && r <= 'F' || - r >= '0' && r <= '9' || - r == '_' -} - -func isValidOctalRune(r byte) bool { - return r >= '0' && r <= '7' || r == '_' -} - -func isValidBinaryRune(r byte) bool { - return r == '0' || r == '1' || r == '_' -} - -func expect(x byte, b []byte) ([]byte, error) { - if len(b) == 0 { - return nil, newDecodeError(b, "expected character %c but the document ended here", x) - } - - if b[0] != x { - return nil, newDecodeError(b[0:1], "expected character %c", x) - } - - return b[1:], nil -} diff --git a/vendor/github.com/pelletier/go-toml/v2/scanner.go b/vendor/github.com/pelletier/go-toml/v2/scanner.go @@ -1,269 +0,0 @@ -package toml - -func scanFollows(b []byte, pattern string) bool { - n := len(pattern) - - return len(b) >= n && string(b[:n]) == pattern -} - -func scanFollowsMultilineBasicStringDelimiter(b []byte) bool { - return scanFollows(b, `"""`) -} - -func scanFollowsMultilineLiteralStringDelimiter(b []byte) bool { - return scanFollows(b, `'''`) -} - -func scanFollowsTrue(b []byte) bool { - return scanFollows(b, `true`) -} - -func scanFollowsFalse(b []byte) bool { - return scanFollows(b, `false`) -} - -func scanFollowsInf(b []byte) bool { - return scanFollows(b, `inf`) -} - -func scanFollowsNan(b []byte) bool { - return scanFollows(b, `nan`) -} - -func scanUnquotedKey(b []byte) ([]byte, []byte) { - // unquoted-key = 1*( ALPHA / DIGIT / %x2D / %x5F ) ; A-Z / a-z / 0-9 / - / _ - for i := 0; i < len(b); i++ { - if !isUnquotedKeyChar(b[i]) { - return b[:i], b[i:] - } - } - - return b, b[len(b):] -} - -func isUnquotedKeyChar(r byte) bool { - return (r >= 'A' && r <= 'Z') || (r >= 'a' && r <= 'z') || (r >= '0' && r <= '9') || r == '-' || r == '_' -} - -func scanLiteralString(b []byte) ([]byte, []byte, error) { - // literal-string = apostrophe *literal-char apostrophe - // apostrophe = %x27 ; ' apostrophe - // literal-char = %x09 / %x20-26 / %x28-7E / non-ascii - for i := 1; i < len(b); { - switch b[i] { - case '\'': - return b[:i+1], b[i+1:], nil - case '\n', '\r': - return nil, nil, newDecodeError(b[i:i+1], "literal strings cannot have new lines") - } - size := utf8ValidNext(b[i:]) - if size == 0 { - return nil, nil, newDecodeError(b[i:i+1], "invalid character") - } - i += size - } - - return nil, nil, newDecodeError(b[len(b):], "unterminated literal string") -} - -func scanMultilineLiteralString(b []byte) ([]byte, []byte, error) { - // ml-literal-string = ml-literal-string-delim [ newline ] ml-literal-body - // ml-literal-string-delim - // ml-literal-string-delim = 3apostrophe - // ml-literal-body = *mll-content *( mll-quotes 1*mll-content ) [ mll-quotes ] - // - // mll-content = mll-char / newline - // mll-char = %x09 / %x20-26 / %x28-7E / non-ascii - // mll-quotes = 1*2apostrophe - for i := 3; i < len(b); { - switch b[i] { - case '\'': - if scanFollowsMultilineLiteralStringDelimiter(b[i:]) { - i += 3 - - // At that point we found 3 apostrophe, and i is the - // index of the byte after the third one. The scanner - // needs to be eager, because there can be an extra 2 - // apostrophe that can be accepted at the end of the - // string. - - if i >= len(b) || b[i] != '\'' { - return b[:i], b[i:], nil - } - i++ - - if i >= len(b) || b[i] != '\'' { - return b[:i], b[i:], nil - } - i++ - - if i < len(b) && b[i] == '\'' { - return nil, nil, newDecodeError(b[i-3:i+1], "''' not allowed in multiline literal string") - } - - return b[:i], b[i:], nil - } - case '\r': - if len(b) < i+2 { - return nil, nil, newDecodeError(b[len(b):], `need a \n after \r`) - } - if b[i+1] != '\n' { - return nil, nil, newDecodeError(b[i:i+2], `need a \n after \r`) - } - i += 2 // skip the \n - continue - } - size := utf8ValidNext(b[i:]) - if size == 0 { - return nil, nil, newDecodeError(b[i:i+1], "invalid character") - } - i += size - } - - return nil, nil, newDecodeError(b[len(b):], `multiline literal string not terminated by '''`) -} - -func scanWindowsNewline(b []byte) ([]byte, []byte, error) { - const lenCRLF = 2 - if len(b) < lenCRLF { - return nil, nil, newDecodeError(b, "windows new line expected") - } - - if b[1] != '\n' { - return nil, nil, newDecodeError(b, `windows new line should be \r\n`) - } - - return b[:lenCRLF], b[lenCRLF:], nil -} - -func scanWhitespace(b []byte) ([]byte, []byte) { - for i := 0; i < len(b); i++ { - switch b[i] { - case ' ', '\t': - continue - default: - return b[:i], b[i:] - } - } - - return b, b[len(b):] -} - -//nolint:unparam -func scanComment(b []byte) ([]byte, []byte, error) { - // comment-start-symbol = %x23 ; # - // non-ascii = %x80-D7FF / %xE000-10FFFF - // non-eol = %x09 / %x20-7F / non-ascii - // - // comment = comment-start-symbol *non-eol - - for i := 1; i < len(b); { - if b[i] == '\n' { - return b[:i], b[i:], nil - } - if b[i] == '\r' { - if i+1 < len(b) && b[i+1] == '\n' { - return b[:i+1], b[i+1:], nil - } - return nil, nil, newDecodeError(b[i:i+1], "invalid character in comment") - } - size := utf8ValidNext(b[i:]) - if size == 0 { - return nil, nil, newDecodeError(b[i:i+1], "invalid character in comment") - } - - i += size - } - - return b, b[len(b):], nil -} - -func scanBasicString(b []byte) ([]byte, bool, []byte, error) { - // basic-string = quotation-mark *basic-char quotation-mark - // quotation-mark = %x22 ; " - // basic-char = basic-unescaped / escaped - // basic-unescaped = wschar / %x21 / %x23-5B / %x5D-7E / non-ascii - // escaped = escape escape-seq-char - escaped := false - i := 1 - - for ; i < len(b); i++ { - switch b[i] { - case '"': - return b[:i+1], escaped, b[i+1:], nil - case '\n', '\r': - return nil, escaped, nil, newDecodeError(b[i:i+1], "basic strings cannot have new lines") - case '\\': - if len(b) < i+2 { - return nil, escaped, nil, newDecodeError(b[i:i+1], "need a character after \\") - } - escaped = true - i++ // skip the next character - } - } - - return nil, escaped, nil, newDecodeError(b[len(b):], `basic string not terminated by "`) -} - -func scanMultilineBasicString(b []byte) ([]byte, bool, []byte, error) { - // ml-basic-string = ml-basic-string-delim [ newline ] ml-basic-body - // ml-basic-string-delim - // ml-basic-string-delim = 3quotation-mark - // ml-basic-body = *mlb-content *( mlb-quotes 1*mlb-content ) [ mlb-quotes ] - // - // mlb-content = mlb-char / newline / mlb-escaped-nl - // mlb-char = mlb-unescaped / escaped - // mlb-quotes = 1*2quotation-mark - // mlb-unescaped = wschar / %x21 / %x23-5B / %x5D-7E / non-ascii - // mlb-escaped-nl = escape ws newline *( wschar / newline ) - - escaped := false - i := 3 - - for ; i < len(b); i++ { - switch b[i] { - case '"': - if scanFollowsMultilineBasicStringDelimiter(b[i:]) { - i += 3 - - // At that point we found 3 apostrophe, and i is the - // index of the byte after the third one. The scanner - // needs to be eager, because there can be an extra 2 - // apostrophe that can be accepted at the end of the - // string. - - if i >= len(b) || b[i] != '"' { - return b[:i], escaped, b[i:], nil - } - i++ - - if i >= len(b) || b[i] != '"' { - return b[:i], escaped, b[i:], nil - } - i++ - - if i < len(b) && b[i] == '"' { - return nil, escaped, nil, newDecodeError(b[i-3:i+1], `""" not allowed in multiline basic string`) - } - - return b[:i], escaped, b[i:], nil - } - case '\\': - if len(b) < i+2 { - return nil, escaped, nil, newDecodeError(b[len(b):], "need a character after \\") - } - escaped = true - i++ // skip the next character - case '\r': - if len(b) < i+2 { - return nil, escaped, nil, newDecodeError(b[len(b):], `need a \n after \r`) - } - if b[i+1] != '\n' { - return nil, escaped, nil, newDecodeError(b[i:i+2], `need a \n after \r`) - } - i++ // skip the \n - } - } - - return nil, escaped, nil, newDecodeError(b[len(b):], `multiline basic string not terminated by """`) -} diff --git a/vendor/github.com/pelletier/go-toml/v2/strict.go b/vendor/github.com/pelletier/go-toml/v2/strict.go @@ -1,9 +1,9 @@ package toml import ( - "github.com/pelletier/go-toml/v2/internal/ast" "github.com/pelletier/go-toml/v2/internal/danger" "github.com/pelletier/go-toml/v2/internal/tracker" + "github.com/pelletier/go-toml/v2/unstable" ) type strict struct { @@ -12,10 +12,10 @@ type strict struct { // Tracks the current key being processed. key tracker.KeyTracker - missing []decodeError + missing []unstable.ParserError } -func (s *strict) EnterTable(node *ast.Node) { +func (s *strict) EnterTable(node *unstable.Node) { if !s.Enabled { return } @@ -23,7 +23,7 @@ func (s *strict) EnterTable(node *ast.Node) { s.key.UpdateTable(node) } -func (s *strict) EnterArrayTable(node *ast.Node) { +func (s *strict) EnterArrayTable(node *unstable.Node) { if !s.Enabled { return } @@ -31,7 +31,7 @@ func (s *strict) EnterArrayTable(node *ast.Node) { s.key.UpdateArrayTable(node) } -func (s *strict) EnterKeyValue(node *ast.Node) { +func (s *strict) EnterKeyValue(node *unstable.Node) { if !s.Enabled { return } @@ -39,7 +39,7 @@ func (s *strict) EnterKeyValue(node *ast.Node) { s.key.Push(node) } -func (s *strict) ExitKeyValue(node *ast.Node) { +func (s *strict) ExitKeyValue(node *unstable.Node) { if !s.Enabled { return } @@ -47,27 +47,27 @@ func (s *strict) ExitKeyValue(node *ast.Node) { s.key.Pop(node) } -func (s *strict) MissingTable(node *ast.Node) { +func (s *strict) MissingTable(node *unstable.Node) { if !s.Enabled { return } - s.missing = append(s.missing, decodeError{ - highlight: keyLocation(node), - message: "missing table", - key: s.key.Key(), + s.missing = append(s.missing, unstable.ParserError{ + Highlight: keyLocation(node), + Message: "missing table", + Key: s.key.Key(), }) } -func (s *strict) MissingField(node *ast.Node) { +func (s *strict) MissingField(node *unstable.Node) { if !s.Enabled { return } - s.missing = append(s.missing, decodeError{ - highlight: keyLocation(node), - message: "missing field", - key: s.key.Key(), + s.missing = append(s.missing, unstable.ParserError{ + Highlight: keyLocation(node), + Message: "missing field", + Key: s.key.Key(), }) } @@ -88,7 +88,7 @@ func (s *strict) Error(doc []byte) error { return err } -func keyLocation(node *ast.Node) []byte { +func keyLocation(node *unstable.Node) []byte { k := node.Key() hasOne := k.Next() diff --git a/vendor/github.com/pelletier/go-toml/v2/types.go b/vendor/github.com/pelletier/go-toml/v2/types.go @@ -6,9 +6,9 @@ import ( "time" ) -var timeType = reflect.TypeOf(time.Time{}) -var textMarshalerType = reflect.TypeOf(new(encoding.TextMarshaler)).Elem() -var textUnmarshalerType = reflect.TypeOf(new(encoding.TextUnmarshaler)).Elem() -var mapStringInterfaceType = reflect.TypeOf(map[string]interface{}{}) -var sliceInterfaceType = reflect.TypeOf([]interface{}{}) +var timeType = reflect.TypeOf((*time.Time)(nil)).Elem() +var textMarshalerType = reflect.TypeOf((*encoding.TextMarshaler)(nil)).Elem() +var textUnmarshalerType = reflect.TypeOf((*encoding.TextUnmarshaler)(nil)).Elem() +var mapStringInterfaceType = reflect.TypeOf(map[string]interface{}(nil)) +var sliceInterfaceType = reflect.TypeOf([]interface{}(nil)) var stringType = reflect.TypeOf("") diff --git a/vendor/github.com/pelletier/go-toml/v2/unmarshaler.go b/vendor/github.com/pelletier/go-toml/v2/unmarshaler.go @@ -12,16 +12,16 @@ import ( "sync/atomic" "time" - "github.com/pelletier/go-toml/v2/internal/ast" "github.com/pelletier/go-toml/v2/internal/danger" "github.com/pelletier/go-toml/v2/internal/tracker" + "github.com/pelletier/go-toml/v2/unstable" ) // Unmarshal deserializes a TOML document into a Go value. // // It is a shortcut for Decoder.Decode() with the default options. func Unmarshal(data []byte, v interface{}) error { - p := parser{} + p := unstable.Parser{} p.Reset(data) d := decoder{p: &p} @@ -101,7 +101,7 @@ func (d *Decoder) Decode(v interface{}) error { return fmt.Errorf("toml: %w", err) } - p := parser{} + p := unstable.Parser{} p.Reset(b) dec := decoder{ p: &p, @@ -115,7 +115,7 @@ func (d *Decoder) Decode(v interface{}) error { type decoder struct { // Which parser instance in use for this decoding session. - p *parser + p *unstable.Parser // Flag indicating that the current expression is stashed. // If set to true, calling nextExpr will not actually pull a new expression @@ -157,7 +157,7 @@ func (d *decoder) typeMismatchError(toml string, target reflect.Type) error { return fmt.Errorf("toml: cannot decode TOML %s into a Go value of type %s", toml, target) } -func (d *decoder) expr() *ast.Node { +func (d *decoder) expr() *unstable.Node { return d.p.Expression() } @@ -208,12 +208,12 @@ func (d *decoder) FromParser(v interface{}) error { err := d.fromParser(r) if err == nil { - return d.strict.Error(d.p.data) + return d.strict.Error(d.p.Data()) } - var e *decodeError + var e *unstable.ParserError if errors.As(err, &e) { - return wrapDecodeError(d.p.data, e) + return wrapDecodeError(d.p.Data(), e) } return err @@ -234,16 +234,16 @@ func (d *decoder) fromParser(root reflect.Value) error { Rules for the unmarshal code: - The stack is used to keep track of which values need to be set where. -- handle* functions <=> switch on a given ast.Kind. +- handle* functions <=> switch on a given unstable.Kind. - unmarshalX* functions need to unmarshal a node of kind X. - An "object" is either a struct or a map. */ -func (d *decoder) handleRootExpression(expr *ast.Node, v reflect.Value) error { +func (d *decoder) handleRootExpression(expr *unstable.Node, v reflect.Value) error { var x reflect.Value var err error - if !(d.skipUntilTable && expr.Kind == ast.KeyValue) { + if !(d.skipUntilTable && expr.Kind == unstable.KeyValue) { err = d.seen.CheckExpression(expr) if err != nil { return err @@ -251,16 +251,16 @@ func (d *decoder) handleRootExpression(expr *ast.Node, v reflect.Value) error { } switch expr.Kind { - case ast.KeyValue: + case unstable.KeyValue: if d.skipUntilTable { return nil } x, err = d.handleKeyValue(expr, v) - case ast.Table: + case unstable.Table: d.skipUntilTable = false d.strict.EnterTable(expr) x, err = d.handleTable(expr.Key(), v) - case ast.ArrayTable: + case unstable.ArrayTable: d.skipUntilTable = false d.strict.EnterArrayTable(expr) x, err = d.handleArrayTable(expr.Key(), v) @@ -269,7 +269,7 @@ func (d *decoder) handleRootExpression(expr *ast.Node, v reflect.Value) error { } if d.skipUntilTable { - if expr.Kind == ast.Table || expr.Kind == ast.ArrayTable { + if expr.Kind == unstable.Table || expr.Kind == unstable.ArrayTable { d.strict.MissingTable(expr) } } else if err == nil && x.IsValid() { @@ -279,14 +279,14 @@ func (d *decoder) handleRootExpression(expr *ast.Node, v reflect.Value) error { return err } -func (d *decoder) handleArrayTable(key ast.Iterator, v reflect.Value) (reflect.Value, error) { +func (d *decoder) handleArrayTable(key unstable.Iterator, v reflect.Value) (reflect.Value, error) { if key.Next() { return d.handleArrayTablePart(key, v) } return d.handleKeyValues(v) } -func (d *decoder) handleArrayTableCollectionLast(key ast.Iterator, v reflect.Value) (reflect.Value, error) { +func (d *decoder) handleArrayTableCollectionLast(key unstable.Iterator, v reflect.Value) (reflect.Value, error) { switch v.Kind() { case reflect.Interface: elem := v.Elem() @@ -339,13 +339,13 @@ func (d *decoder) handleArrayTableCollectionLast(key ast.Iterator, v reflect.Val case reflect.Array: idx := d.arrayIndex(true, v) if idx >= v.Len() { - return v, fmt.Errorf("toml: cannot decode array table into %s at position %d", v.Type(), idx) + return v, fmt.Errorf("%s at position %d", d.typeMismatchError("array table", v.Type()), idx) } elem := v.Index(idx) _, err := d.handleArrayTable(key, elem) return v, err default: - return reflect.Value{}, fmt.Errorf("toml: cannot decode array table into a %s", v.Type()) + return reflect.Value{}, d.typeMismatchError("array table", v.Type()) } } @@ -353,7 +353,7 @@ func (d *decoder) handleArrayTableCollectionLast(key ast.Iterator, v reflect.Val // evaluated like a normal key, but if it returns a collection, it also needs to // point to the last element of the collection. Unless it is the last part of // the key, then it needs to create a new element at the end. -func (d *decoder) handleArrayTableCollection(key ast.Iterator, v reflect.Value) (reflect.Value, error) { +func (d *decoder) handleArrayTableCollection(key unstable.Iterator, v reflect.Value) (reflect.Value, error) { if key.IsLast() { return d.handleArrayTableCollectionLast(key, v) } @@ -390,7 +390,7 @@ func (d *decoder) handleArrayTableCollection(key ast.Iterator, v reflect.Value) case reflect.Array: idx := d.arrayIndex(false, v) if idx >= v.Len() { - return v, fmt.Errorf("toml: cannot decode array table into %s at position %d", v.Type(), idx) + return v, fmt.Errorf("%s at position %d", d.typeMismatchError("array table", v.Type()), idx) } elem := v.Index(idx) _, err := d.handleArrayTable(key, elem) @@ -400,7 +400,7 @@ func (d *decoder) handleArrayTableCollection(key ast.Iterator, v reflect.Value) return d.handleArrayTable(key, v) } -func (d *decoder) handleKeyPart(key ast.Iterator, v reflect.Value, nextFn handlerFn, makeFn valueMakerFn) (reflect.Value, error) { +func (d *decoder) handleKeyPart(key unstable.Iterator, v reflect.Value, nextFn handlerFn, makeFn valueMakerFn) (reflect.Value, error) { var rv reflect.Value // First, dispatch over v to make sure it is a valid object. @@ -518,7 +518,7 @@ func (d *decoder) handleKeyPart(key ast.Iterator, v reflect.Value, nextFn handle // HandleArrayTablePart navigates the Go structure v using the key v. It is // only used for the prefix (non-last) parts of an array-table. When // encountering a collection, it should go to the last element. -func (d *decoder) handleArrayTablePart(key ast.Iterator, v reflect.Value) (reflect.Value, error) { +func (d *decoder) handleArrayTablePart(key unstable.Iterator, v reflect.Value) (reflect.Value, error) { var makeFn valueMakerFn if key.IsLast() { makeFn = makeSliceInterface @@ -530,10 +530,10 @@ func (d *decoder) handleArrayTablePart(key ast.Iterator, v reflect.Value) (refle // HandleTable returns a reference when it has checked the next expression but // cannot handle it. -func (d *decoder) handleTable(key ast.Iterator, v reflect.Value) (reflect.Value, error) { +func (d *decoder) handleTable(key unstable.Iterator, v reflect.Value) (reflect.Value, error) { if v.Kind() == reflect.Slice { if v.Len() == 0 { - return reflect.Value{}, newDecodeError(key.Node().Data, "cannot store a table in a slice") + return reflect.Value{}, unstable.NewParserError(key.Node().Data, "cannot store a table in a slice") } elem := v.Index(v.Len() - 1) x, err := d.handleTable(key, elem) @@ -560,7 +560,7 @@ func (d *decoder) handleKeyValues(v reflect.Value) (reflect.Value, error) { var rv reflect.Value for d.nextExpr() { expr := d.expr() - if expr.Kind != ast.KeyValue { + if expr.Kind != unstable.KeyValue { // Stash the expression so that fromParser can just loop and use // the right handler. // We could just recurse ourselves here, but at least this gives a @@ -587,7 +587,7 @@ func (d *decoder) handleKeyValues(v reflect.Value) (reflect.Value, error) { } type ( - handlerFn func(key ast.Iterator, v reflect.Value) (reflect.Value, error) + handlerFn func(key unstable.Iterator, v reflect.Value) (reflect.Value, error) valueMakerFn func() reflect.Value ) @@ -599,11 +599,11 @@ func makeSliceInterface() reflect.Value { return reflect.MakeSlice(sliceInterfaceType, 0, 16) } -func (d *decoder) handleTablePart(key ast.Iterator, v reflect.Value) (reflect.Value, error) { +func (d *decoder) handleTablePart(key unstable.Iterator, v reflect.Value) (reflect.Value, error) { return d.handleKeyPart(key, v, d.handleTable, makeMapStringInterface) } -func (d *decoder) tryTextUnmarshaler(node *ast.Node, v reflect.Value) (bool, error) { +func (d *decoder) tryTextUnmarshaler(node *unstable.Node, v reflect.Value) (bool, error) { // Special case for time, because we allow to unmarshal to it from // different kind of AST nodes. if v.Type() == timeType { @@ -613,7 +613,7 @@ func (d *decoder) tryTextUnmarshaler(node *ast.Node, v reflect.Value) (bool, err if v.CanAddr() && v.Addr().Type().Implements(textUnmarshalerType) { err := v.Addr().Interface().(encoding.TextUnmarshaler).UnmarshalText(node.Data) if err != nil { - return false, newDecodeError(d.p.Raw(node.Raw), "%w", err) + return false, unstable.NewParserError(d.p.Raw(node.Raw), "%w", err) } return true, nil @@ -622,7 +622,7 @@ func (d *decoder) tryTextUnmarshaler(node *ast.Node, v reflect.Value) (bool, err return false, nil } -func (d *decoder) handleValue(value *ast.Node, v reflect.Value) error { +func (d *decoder) handleValue(value *unstable.Node, v reflect.Value) error { for v.Kind() == reflect.Ptr { v = initAndDereferencePointer(v) } @@ -633,32 +633,32 @@ func (d *decoder) handleValue(value *ast.Node, v reflect.Value) error { } switch value.Kind { - case ast.String: + case unstable.String: return d.unmarshalString(value, v) - case ast.Integer: + case unstable.Integer: return d.unmarshalInteger(value, v) - case ast.Float: + case unstable.Float: return d.unmarshalFloat(value, v) - case ast.Bool: + case unstable.Bool: return d.unmarshalBool(value, v) - case ast.DateTime: + case unstable.DateTime: return d.unmarshalDateTime(value, v) - case ast.LocalDate: + case unstable.LocalDate: return d.unmarshalLocalDate(value, v) - case ast.LocalTime: + case unstable.LocalTime: return d.unmarshalLocalTime(value, v) - case ast.LocalDateTime: + case unstable.LocalDateTime: return d.unmarshalLocalDateTime(value, v) - case ast.InlineTable: + case unstable.InlineTable: return d.unmarshalInlineTable(value, v) - case ast.Array: + case unstable.Array: return d.unmarshalArray(value, v) default: panic(fmt.Errorf("handleValue not implemented for %s", value.Kind)) } } -func (d *decoder) unmarshalArray(array *ast.Node, v reflect.Value) error { +func (d *decoder) unmarshalArray(array *unstable.Node, v reflect.Value) error { switch v.Kind() { case reflect.Slice: if v.IsNil() { @@ -729,7 +729,7 @@ func (d *decoder) unmarshalArray(array *ast.Node, v reflect.Value) error { return nil } -func (d *decoder) unmarshalInlineTable(itable *ast.Node, v reflect.Value) error { +func (d *decoder) unmarshalInlineTable(itable *unstable.Node, v reflect.Value) error { // Make sure v is an initialized object. switch v.Kind() { case reflect.Map: @@ -746,7 +746,7 @@ func (d *decoder) unmarshalInlineTable(itable *ast.Node, v reflect.Value) error } return d.unmarshalInlineTable(itable, elem) default: - return newDecodeError(itable.Data, "cannot store inline table in Go type %s", v.Kind()) + return unstable.NewParserError(itable.Data, "cannot store inline table in Go type %s", v.Kind()) } it := itable.Children() @@ -765,7 +765,7 @@ func (d *decoder) unmarshalInlineTable(itable *ast.Node, v reflect.Value) error return nil } -func (d *decoder) unmarshalDateTime(value *ast.Node, v reflect.Value) error { +func (d *decoder) unmarshalDateTime(value *unstable.Node, v reflect.Value) error { dt, err := parseDateTime(value.Data) if err != nil { return err @@ -775,7 +775,7 @@ func (d *decoder) unmarshalDateTime(value *ast.Node, v reflect.Value) error { return nil } -func (d *decoder) unmarshalLocalDate(value *ast.Node, v reflect.Value) error { +func (d *decoder) unmarshalLocalDate(value *unstable.Node, v reflect.Value) error { ld, err := parseLocalDate(value.Data) if err != nil { return err @@ -792,28 +792,28 @@ func (d *decoder) unmarshalLocalDate(value *ast.Node, v reflect.Value) error { return nil } -func (d *decoder) unmarshalLocalTime(value *ast.Node, v reflect.Value) error { +func (d *decoder) unmarshalLocalTime(value *unstable.Node, v reflect.Value) error { lt, rest, err := parseLocalTime(value.Data) if err != nil { return err } if len(rest) > 0 { - return newDecodeError(rest, "extra characters at the end of a local time") + return unstable.NewParserError(rest, "extra characters at the end of a local time") } v.Set(reflect.ValueOf(lt)) return nil } -func (d *decoder) unmarshalLocalDateTime(value *ast.Node, v reflect.Value) error { +func (d *decoder) unmarshalLocalDateTime(value *unstable.Node, v reflect.Value) error { ldt, rest, err := parseLocalDateTime(value.Data) if err != nil { return err } if len(rest) > 0 { - return newDecodeError(rest, "extra characters at the end of a local date time") + return unstable.NewParserError(rest, "extra characters at the end of a local date time") } if v.Type() == timeType { @@ -828,7 +828,7 @@ func (d *decoder) unmarshalLocalDateTime(value *ast.Node, v reflect.Value) error return nil } -func (d *decoder) unmarshalBool(value *ast.Node, v reflect.Value) error { +func (d *decoder) unmarshalBool(value *unstable.Node, v reflect.Value) error { b := value.Data[0] == 't' switch v.Kind() { @@ -837,13 +837,13 @@ func (d *decoder) unmarshalBool(value *ast.Node, v reflect.Value) error { case reflect.Interface: v.Set(reflect.ValueOf(b)) default: - return newDecodeError(value.Data, "cannot assign boolean to a %t", b) + return unstable.NewParserError(value.Data, "cannot assign boolean to a %t", b) } return nil } -func (d *decoder) unmarshalFloat(value *ast.Node, v reflect.Value) error { +func (d *decoder) unmarshalFloat(value *unstable.Node, v reflect.Value) error { f, err := parseFloat(value.Data) if err != nil { return err @@ -854,13 +854,13 @@ func (d *decoder) unmarshalFloat(value *ast.Node, v reflect.Value) error { v.SetFloat(f) case reflect.Float32: if f > math.MaxFloat32 { - return newDecodeError(value.Data, "number %f does not fit in a float32", f) + return unstable.NewParserError(value.Data, "number %f does not fit in a float32", f) } v.SetFloat(f) case reflect.Interface: v.Set(reflect.ValueOf(f)) default: - return newDecodeError(value.Data, "float cannot be assigned to %s", v.Kind()) + return unstable.NewParserError(value.Data, "float cannot be assigned to %s", v.Kind()) } return nil @@ -886,7 +886,7 @@ func init() { } } -func (d *decoder) unmarshalInteger(value *ast.Node, v reflect.Value) error { +func (d *decoder) unmarshalInteger(value *unstable.Node, v reflect.Value) error { i, err := parseInteger(value.Data) if err != nil { return err @@ -967,20 +967,20 @@ func (d *decoder) unmarshalInteger(value *ast.Node, v reflect.Value) error { return nil } -func (d *decoder) unmarshalString(value *ast.Node, v reflect.Value) error { +func (d *decoder) unmarshalString(value *unstable.Node, v reflect.Value) error { switch v.Kind() { case reflect.String: v.SetString(string(value.Data)) case reflect.Interface: v.Set(reflect.ValueOf(string(value.Data))) default: - return newDecodeError(d.p.Raw(value.Raw), "cannot store TOML string into a Go %s", v.Kind()) + return unstable.NewParserError(d.p.Raw(value.Raw), "cannot store TOML string into a Go %s", v.Kind()) } return nil } -func (d *decoder) handleKeyValue(expr *ast.Node, v reflect.Value) (reflect.Value, error) { +func (d *decoder) handleKeyValue(expr *unstable.Node, v reflect.Value) (reflect.Value, error) { d.strict.EnterKeyValue(expr) v, err := d.handleKeyValueInner(expr.Key(), expr.Value(), v) @@ -994,7 +994,7 @@ func (d *decoder) handleKeyValue(expr *ast.Node, v reflect.Value) (reflect.Value return v, err } -func (d *decoder) handleKeyValueInner(key ast.Iterator, value *ast.Node, v reflect.Value) (reflect.Value, error) { +func (d *decoder) handleKeyValueInner(key unstable.Iterator, value *unstable.Node, v reflect.Value) (reflect.Value, error) { if key.Next() { // Still scoping the key return d.handleKeyValuePart(key, value, v) @@ -1004,7 +1004,7 @@ func (d *decoder) handleKeyValueInner(key ast.Iterator, value *ast.Node, v refle return reflect.Value{}, d.handleValue(value, v) } -func (d *decoder) handleKeyValuePart(key ast.Iterator, value *ast.Node, v reflect.Value) (reflect.Value, error) { +func (d *decoder) handleKeyValuePart(key unstable.Iterator, value *unstable.Node, v reflect.Value) (reflect.Value, error) { // contains the replacement for v var rv reflect.Value diff --git a/vendor/github.com/pelletier/go-toml/v2/unstable/ast.go b/vendor/github.com/pelletier/go-toml/v2/unstable/ast.go @@ -0,0 +1,136 @@ +package unstable + +import ( + "fmt" + "unsafe" + + "github.com/pelletier/go-toml/v2/internal/danger" +) + +// Iterator over a sequence of nodes. +// +// Starts uninitialized, you need to call Next() first. +// +// For example: +// +// it := n.Children() +// for it.Next() { +// n := it.Node() +// // do something with n +// } +type Iterator struct { + started bool + node *Node +} + +// Next moves the iterator forward and returns true if points to a +// node, false otherwise. +func (c *Iterator) Next() bool { + if !c.started { + c.started = true + } else if c.node.Valid() { + c.node = c.node.Next() + } + return c.node.Valid() +} + +// IsLast returns true if the current node of the iterator is the last +// one. Subsequent calls to Next() will return false. +func (c *Iterator) IsLast() bool { + return c.node.next == 0 +} + +// Node returns a pointer to the node pointed at by the iterator. +func (c *Iterator) Node() *Node { + return c.node +} + +// Node in a TOML expression AST. +// +// Depending on Kind, its sequence of children should be interpreted +// differently. +// +// - Array have one child per element in the array. +// - InlineTable have one child per key-value in the table (each of kind +// InlineTable). +// - KeyValue have at least two children. The first one is the value. The rest +// make a potentially dotted key. +// - Table and ArrayTable's children represent a dotted key (same as +// KeyValue, but without the first node being the value). +// +// When relevant, Raw describes the range of bytes this node is refering to in +// the input document. Use Parser.Raw() to retrieve the actual bytes. +type Node struct { + Kind Kind + Raw Range // Raw bytes from the input. + Data []byte // Node value (either allocated or referencing the input). + + // References to other nodes, as offsets in the backing array + // from this node. References can go backward, so those can be + // negative. + next int // 0 if last element + child int // 0 if no child +} + +// Range of bytes in the document. +type Range struct { + Offset uint32 + Length uint32 +} + +// Next returns a pointer to the next node, or nil if there is no next node. +func (n *Node) Next() *Node { + if n.next == 0 { + return nil + } + ptr := unsafe.Pointer(n) + size := unsafe.Sizeof(Node{}) + return (*Node)(danger.Stride(ptr, size, n.next)) +} + +// Child returns a pointer to the first child node of this node. Other children +// can be accessed calling Next on the first child. Returns an nil if this Node +// has no child. +func (n *Node) Child() *Node { + if n.child == 0 { + return nil + } + ptr := unsafe.Pointer(n) + size := unsafe.Sizeof(Node{}) + return (*Node)(danger.Stride(ptr, size, n.child)) +} + +// Valid returns true if the node's kind is set (not to Invalid). +func (n *Node) Valid() bool { + return n != nil +} + +// Key returns the children nodes making the Key on a supported node. Panics +// otherwise. They are guaranteed to be all be of the Kind Key. A simple key +// would return just one element. +func (n *Node) Key() Iterator { + switch n.Kind { + case KeyValue: + value := n.Child() + if !value.Valid() { + panic(fmt.Errorf("KeyValue should have at least two children")) + } + return Iterator{node: value.Next()} + case Table, ArrayTable: + return Iterator{node: n.Child()} + default: + panic(fmt.Errorf("Key() is not supported on a %s", n.Kind)) + } +} + +// Value returns a pointer to the value node of a KeyValue. +// Guaranteed to be non-nil. Panics if not called on a KeyValue node, +// or if the Children are malformed. +func (n *Node) Value() *Node { + return n.Child() +} + +// Children returns an iterator over a node's children. +func (n *Node) Children() Iterator { + return Iterator{node: n.Child()} +} diff --git a/vendor/github.com/pelletier/go-toml/v2/unstable/builder.go b/vendor/github.com/pelletier/go-toml/v2/unstable/builder.go @@ -0,0 +1,71 @@ +package unstable + +// root contains a full AST. +// +// It is immutable once constructed with Builder. +type root struct { + nodes []Node +} + +// Iterator over the top level nodes. +func (r *root) Iterator() Iterator { + it := Iterator{} + if len(r.nodes) > 0 { + it.node = &r.nodes[0] + } + return it +} + +func (r *root) at(idx reference) *Node { + return &r.nodes[idx] +} + +type reference int + +const invalidReference reference = -1 + +func (r reference) Valid() bool { + return r != invalidReference +} + +type builder struct { + tree root + lastIdx int +} + +func (b *builder) Tree() *root { + return &b.tree +} + +func (b *builder) NodeAt(ref reference) *Node { + return b.tree.at(ref) +} + +func (b *builder) Reset() { + b.tree.nodes = b.tree.nodes[:0] + b.lastIdx = 0 +} + +func (b *builder) Push(n Node) reference { + b.lastIdx = len(b.tree.nodes) + b.tree.nodes = append(b.tree.nodes, n) + return reference(b.lastIdx) +} + +func (b *builder) PushAndChain(n Node) reference { + newIdx := len(b.tree.nodes) + b.tree.nodes = append(b.tree.nodes, n) + if b.lastIdx >= 0 { + b.tree.nodes[b.lastIdx].next = newIdx - b.lastIdx + } + b.lastIdx = newIdx + return reference(b.lastIdx) +} + +func (b *builder) AttachChild(parent reference, child reference) { + b.tree.nodes[parent].child = int(child) - int(parent) +} + +func (b *builder) Chain(from reference, to reference) { + b.tree.nodes[from].next = int(to) - int(from) +} diff --git a/vendor/github.com/pelletier/go-toml/v2/unstable/doc.go b/vendor/github.com/pelletier/go-toml/v2/unstable/doc.go @@ -0,0 +1,3 @@ +// Package unstable provides APIs that do not meet the backward compatibility +// guarantees yet. +package unstable diff --git a/vendor/github.com/pelletier/go-toml/v2/unstable/kind.go b/vendor/github.com/pelletier/go-toml/v2/unstable/kind.go @@ -0,0 +1,71 @@ +package unstable + +import "fmt" + +// Kind represents the type of TOML structure contained in a given Node. +type Kind int + +const ( + // Meta + Invalid Kind = iota + Comment + Key + + // Top level structures + Table + ArrayTable + KeyValue + + // Containers values + Array + InlineTable + + // Values + String + Bool + Float + Integer + LocalDate + LocalTime + LocalDateTime + DateTime +) + +// String implementation of fmt.Stringer. +func (k Kind) String() string { + switch k { + case Invalid: + return "Invalid" + case Comment: + return "Comment" + case Key: + return "Key" + case Table: + return "Table" + case ArrayTable: + return "ArrayTable" + case KeyValue: + return "KeyValue" + case Array: + return "Array" + case InlineTable: + return "InlineTable" + case String: + return "String" + case Bool: + return "Bool" + case Float: + return "Float" + case Integer: + return "Integer" + case LocalDate: + return "LocalDate" + case LocalTime: + return "LocalTime" + case LocalDateTime: + return "LocalDateTime" + case DateTime: + return "DateTime" + } + panic(fmt.Errorf("Kind.String() not implemented for '%d'", k)) +} diff --git a/vendor/github.com/pelletier/go-toml/v2/unstable/parser.go b/vendor/github.com/pelletier/go-toml/v2/unstable/parser.go @@ -0,0 +1,1147 @@ +package unstable + +import ( + "bytes" + "fmt" + "unicode" + + "github.com/pelletier/go-toml/v2/internal/characters" + "github.com/pelletier/go-toml/v2/internal/danger" +) + +// ParserError describes an error relative to the content of the document. +// +// It cannot outlive the instance of Parser it refers to, and may cause panics +// if the parser is reset. +type ParserError struct { + Highlight []byte + Message string + Key []string // optional +} + +// Error is the implementation of the error interface. +func (e *ParserError) Error() string { + return e.Message +} + +// NewParserError is a convenience function to create a ParserError +// +// Warning: Highlight needs to be a subslice of Parser.data, so only slices +// returned by Parser.Raw are valid candidates. +func NewParserError(highlight []byte, format string, args ...interface{}) error { + return &ParserError{ + Highlight: highlight, + Message: fmt.Errorf(format, args...).Error(), + } +} + +// Parser scans over a TOML-encoded document and generates an iterative AST. +// +// To prime the Parser, first reset it with the contents of a TOML document. +// Then, process all top-level expressions sequentially. See Example. +// +// Don't forget to check Error() after you're done parsing. +// +// Each top-level expression needs to be fully processed before calling +// NextExpression() again. Otherwise, calls to various Node methods may panic if +// the parser has moved on the next expression. +// +// For performance reasons, go-toml doesn't make a copy of the input bytes to +// the parser. Make sure to copy all the bytes you need to outlive the slice +// given to the parser. +// +// The parser doesn't provide nodes for comments yet, nor for whitespace. +type Parser struct { + data []byte + builder builder + ref reference + left []byte + err error + first bool +} + +// Data returns the slice provided to the last call to Reset. +func (p *Parser) Data() []byte { + return p.data +} + +// Range returns a range description that corresponds to a given slice of the +// input. If the argument is not a subslice of the parser input, this function +// panics. +func (p *Parser) Range(b []byte) Range { + return Range{ + Offset: uint32(danger.SubsliceOffset(p.data, b)), + Length: uint32(len(b)), + } +} + +// Raw returns the slice corresponding to the bytes in the given range. +func (p *Parser) Raw(raw Range) []byte { + return p.data[raw.Offset : raw.Offset+raw.Length] +} + +// Reset brings the parser to its initial state for a given input. It wipes an +// reuses internal storage to reduce allocation. +func (p *Parser) Reset(b []byte) { + p.builder.Reset() + p.ref = invalidReference + p.data = b + p.left = b + p.err = nil + p.first = true +} + +// NextExpression parses the next top-level expression. If an expression was +// successfully parsed, it returns true. If the parser is at the end of the +// document or an error occurred, it returns false. +// +// Retrieve the parsed expression with Expression(). +func (p *Parser) NextExpression() bool { + if len(p.left) == 0 || p.err != nil { + return false + } + + p.builder.Reset() + p.ref = invalidReference + + for { + if len(p.left) == 0 || p.err != nil { + return false + } + + if !p.first { + p.left, p.err = p.parseNewline(p.left) + } + + if len(p.left) == 0 || p.err != nil { + return false + } + + p.ref, p.left, p.err = p.parseExpression(p.left) + + if p.err != nil { + return false + } + + p.first = false + + if p.ref.Valid() { + return true + } + } +} + +// Expression returns a pointer to the node representing the last successfully +// parsed expresion. +func (p *Parser) Expression() *Node { + return p.builder.NodeAt(p.ref) +} + +// Error returns any error that has occured during parsing. +func (p *Parser) Error() error { + return p.err +} + +func (p *Parser) parseNewline(b []byte) ([]byte, error) { + if b[0] == '\n' { + return b[1:], nil + } + + if b[0] == '\r' { + _, rest, err := scanWindowsNewline(b) + return rest, err + } + + return nil, NewParserError(b[0:1], "expected newline but got %#U", b[0]) +} + +func (p *Parser) parseExpression(b []byte) (reference, []byte, error) { + // expression = ws [ comment ] + // expression =/ ws keyval ws [ comment ] + // expression =/ ws table ws [ comment ] + ref := invalidReference + + b = p.parseWhitespace(b) + + if len(b) == 0 { + return ref, b, nil + } + + if b[0] == '#' { + _, rest, err := scanComment(b) + return ref, rest, err + } + + if b[0] == '\n' || b[0] == '\r' { + return ref, b, nil + } + + var err error + if b[0] == '[' { + ref, b, err = p.parseTable(b) + } else { + ref, b, err = p.parseKeyval(b) + } + + if err != nil { + return ref, nil, err + } + + b = p.parseWhitespace(b) + + if len(b) > 0 && b[0] == '#' { + _, rest, err := scanComment(b) + return ref, rest, err + } + + return ref, b, nil +} + +func (p *Parser) parseTable(b []byte) (reference, []byte, error) { + // table = std-table / array-table + if len(b) > 1 && b[1] == '[' { + return p.parseArrayTable(b) + } + + return p.parseStdTable(b) +} + +func (p *Parser) parseArrayTable(b []byte) (reference, []byte, error) { + // array-table = array-table-open key array-table-close + // array-table-open = %x5B.5B ws ; [[ Double left square bracket + // array-table-close = ws %x5D.5D ; ]] Double right square bracket + ref := p.builder.Push(Node{ + Kind: ArrayTable, + }) + + b = b[2:] + b = p.parseWhitespace(b) + + k, b, err := p.parseKey(b) + if err != nil { + return ref, nil, err + } + + p.builder.AttachChild(ref, k) + b = p.parseWhitespace(b) + + b, err = expect(']', b) + if err != nil { + return ref, nil, err + } + + b, err = expect(']', b) + + return ref, b, err +} + +func (p *Parser) parseStdTable(b []byte) (reference, []byte, error) { + // std-table = std-table-open key std-table-close + // std-table-open = %x5B ws ; [ Left square bracket + // std-table-close = ws %x5D ; ] Right square bracket + ref := p.builder.Push(Node{ + Kind: Table, + }) + + b = b[1:] + b = p.parseWhitespace(b) + + key, b, err := p.parseKey(b) + if err != nil { + return ref, nil, err + } + + p.builder.AttachChild(ref, key) + + b = p.parseWhitespace(b) + + b, err = expect(']', b) + + return ref, b, err +} + +func (p *Parser) parseKeyval(b []byte) (reference, []byte, error) { + // keyval = key keyval-sep val + ref := p.builder.Push(Node{ + Kind: KeyValue, + }) + + key, b, err := p.parseKey(b) + if err != nil { + return invalidReference, nil, err + } + + // keyval-sep = ws %x3D ws ; = + + b = p.parseWhitespace(b) + + if len(b) == 0 { + return invalidReference, nil, NewParserError(b, "expected = after a key, but the document ends there") + } + + b, err = expect('=', b) + if err != nil { + return invalidReference, nil, err + } + + b = p.parseWhitespace(b) + + valRef, b, err := p.parseVal(b) + if err != nil { + return ref, b, err + } + + p.builder.Chain(valRef, key) + p.builder.AttachChild(ref, valRef) + + return ref, b, err +} + +//nolint:cyclop,funlen +func (p *Parser) parseVal(b []byte) (reference, []byte, error) { + // val = string / boolean / array / inline-table / date-time / float / integer + ref := invalidReference + + if len(b) == 0 { + return ref, nil, NewParserError(b, "expected value, not eof") + } + + var err error + c := b[0] + + switch c { + case '"': + var raw []byte + var v []byte + if scanFollowsMultilineBasicStringDelimiter(b) { + raw, v, b, err = p.parseMultilineBasicString(b) + } else { + raw, v, b, err = p.parseBasicString(b) + } + + if err == nil { + ref = p.builder.Push(Node{ + Kind: String, + Raw: p.Range(raw), + Data: v, + }) + } + + return ref, b, err + case '\'': + var raw []byte + var v []byte + if scanFollowsMultilineLiteralStringDelimiter(b) { + raw, v, b, err = p.parseMultilineLiteralString(b) + } else { + raw, v, b, err = p.parseLiteralString(b) + } + + if err == nil { + ref = p.builder.Push(Node{ + Kind: String, + Raw: p.Range(raw), + Data: v, + }) + } + + return ref, b, err + case 't': + if !scanFollowsTrue(b) { + return ref, nil, NewParserError(atmost(b, 4), "expected 'true'") + } + + ref = p.builder.Push(Node{ + Kind: Bool, + Data: b[:4], + }) + + return ref, b[4:], nil + case 'f': + if !scanFollowsFalse(b) { + return ref, nil, NewParserError(atmost(b, 5), "expected 'false'") + } + + ref = p.builder.Push(Node{ + Kind: Bool, + Data: b[:5], + }) + + return ref, b[5:], nil + case '[': + return p.parseValArray(b) + case '{': + return p.parseInlineTable(b) + default: + return p.parseIntOrFloatOrDateTime(b) + } +} + +func atmost(b []byte, n int) []byte { + if n >= len(b) { + return b + } + + return b[:n] +} + +func (p *Parser) parseLiteralString(b []byte) ([]byte, []byte, []byte, error) { + v, rest, err := scanLiteralString(b) + if err != nil { + return nil, nil, nil, err + } + + return v, v[1 : len(v)-1], rest, nil +} + +func (p *Parser) parseInlineTable(b []byte) (reference, []byte, error) { + // inline-table = inline-table-open [ inline-table-keyvals ] inline-table-close + // inline-table-open = %x7B ws ; { + // inline-table-close = ws %x7D ; } + // inline-table-sep = ws %x2C ws ; , Comma + // inline-table-keyvals = keyval [ inline-table-sep inline-table-keyvals ] + parent := p.builder.Push(Node{ + Kind: InlineTable, + }) + + first := true + + var child reference + + b = b[1:] + + var err error + + for len(b) > 0 { + previousB := b + b = p.parseWhitespace(b) + + if len(b) == 0 { + return parent, nil, NewParserError(previousB[:1], "inline table is incomplete") + } + + if b[0] == '}' { + break + } + + if !first { + b, err = expect(',', b) + if err != nil { + return parent, nil, err + } + b = p.parseWhitespace(b) + } + + var kv reference + + kv, b, err = p.parseKeyval(b) + if err != nil { + return parent, nil, err + } + + if first { + p.builder.AttachChild(parent, kv) + } else { + p.builder.Chain(child, kv) + } + child = kv + + first = false + } + + rest, err := expect('}', b) + + return parent, rest, err +} + +//nolint:funlen,cyclop +func (p *Parser) parseValArray(b []byte) (reference, []byte, error) { + // array = array-open [ array-values ] ws-comment-newline array-close + // array-open = %x5B ; [ + // array-close = %x5D ; ] + // array-values = ws-comment-newline val ws-comment-newline array-sep array-values + // array-values =/ ws-comment-newline val ws-comment-newline [ array-sep ] + // array-sep = %x2C ; , Comma + // ws-comment-newline = *( wschar / [ comment ] newline ) + arrayStart := b + b = b[1:] + + parent := p.builder.Push(Node{ + Kind: Array, + }) + + first := true + + var lastChild reference + + var err error + for len(b) > 0 { + b, err = p.parseOptionalWhitespaceCommentNewline(b) + if err != nil { + return parent, nil, err + } + + if len(b) == 0 { + return parent, nil, NewParserError(arrayStart[:1], "array is incomplete") + } + + if b[0] == ']' { + break + } + + if b[0] == ',' { + if first { + return parent, nil, NewParserError(b[0:1], "array cannot start with comma") + } + b = b[1:] + + b, err = p.parseOptionalWhitespaceCommentNewline(b) + if err != nil { + return parent, nil, err + } + } else if !first { + return parent, nil, NewParserError(b[0:1], "array elements must be separated by commas") + } + + // TOML allows trailing commas in arrays. + if len(b) > 0 && b[0] == ']' { + break + } + + var valueRef reference + valueRef, b, err = p.parseVal(b) + if err != nil { + return parent, nil, err + } + + if first { + p.builder.AttachChild(parent, valueRef) + } else { + p.builder.Chain(lastChild, valueRef) + } + lastChild = valueRef + + b, err = p.parseOptionalWhitespaceCommentNewline(b) + if err != nil { + return parent, nil, err + } + first = false + } + + rest, err := expect(']', b) + + return parent, rest, err +} + +func (p *Parser) parseOptionalWhitespaceCommentNewline(b []byte) ([]byte, error) { + for len(b) > 0 { + var err error + b = p.parseWhitespace(b) + + if len(b) > 0 && b[0] == '#' { + _, b, err = scanComment(b) + if err != nil { + return nil, err + } + } + + if len(b) == 0 { + break + } + + if b[0] == '\n' || b[0] == '\r' { + b, err = p.parseNewline(b) + if err != nil { + return nil, err + } + } else { + break + } + } + + return b, nil +} + +func (p *Parser) parseMultilineLiteralString(b []byte) ([]byte, []byte, []byte, error) { + token, rest, err := scanMultilineLiteralString(b) + if err != nil { + return nil, nil, nil, err + } + + i := 3 + + // skip the immediate new line + if token[i] == '\n' { + i++ + } else if token[i] == '\r' && token[i+1] == '\n' { + i += 2 + } + + return token, token[i : len(token)-3], rest, err +} + +//nolint:funlen,gocognit,cyclop +func (p *Parser) parseMultilineBasicString(b []byte) ([]byte, []byte, []byte, error) { + // ml-basic-string = ml-basic-string-delim [ newline ] ml-basic-body + // ml-basic-string-delim + // ml-basic-string-delim = 3quotation-mark + // ml-basic-body = *mlb-content *( mlb-quotes 1*mlb-content ) [ mlb-quotes ] + // + // mlb-content = mlb-char / newline / mlb-escaped-nl + // mlb-char = mlb-unescaped / escaped + // mlb-quotes = 1*2quotation-mark + // mlb-unescaped = wschar / %x21 / %x23-5B / %x5D-7E / non-ascii + // mlb-escaped-nl = escape ws newline *( wschar / newline ) + token, escaped, rest, err := scanMultilineBasicString(b) + if err != nil { + return nil, nil, nil, err + } + + i := 3 + + // skip the immediate new line + if token[i] == '\n' { + i++ + } else if token[i] == '\r' && token[i+1] == '\n' { + i += 2 + } + + // fast path + startIdx := i + endIdx := len(token) - len(`"""`) + + if !escaped { + str := token[startIdx:endIdx] + verr := characters.Utf8TomlValidAlreadyEscaped(str) + if verr.Zero() { + return token, str, rest, nil + } + return nil, nil, nil, NewParserError(str[verr.Index:verr.Index+verr.Size], "invalid UTF-8") + } + + var builder bytes.Buffer + + // The scanner ensures that the token starts and ends with quotes and that + // escapes are balanced. + for i < len(token)-3 { + c := token[i] + + //nolint:nestif + if c == '\\' { + // When the last non-whitespace character on a line is an unescaped \, + // it will be trimmed along with all whitespace (including newlines) up + // to the next non-whitespace character or closing delimiter. + + isLastNonWhitespaceOnLine := false + j := 1 + findEOLLoop: + for ; j < len(token)-3-i; j++ { + switch token[i+j] { + case ' ', '\t': + continue + case '\r': + if token[i+j+1] == '\n' { + continue + } + case '\n': + isLastNonWhitespaceOnLine = true + } + break findEOLLoop + } + if isLastNonWhitespaceOnLine { + i += j + for ; i < len(token)-3; i++ { + c := token[i] + if !(c == '\n' || c == '\r' || c == ' ' || c == '\t') { + i-- + break + } + } + i++ + continue + } + + // handle escaping + i++ + c = token[i] + + switch c { + case '"', '\\': + builder.WriteByte(c) + case 'b': + builder.WriteByte('\b') + case 'f': + builder.WriteByte('\f') + case 'n': + builder.WriteByte('\n') + case 'r': + builder.WriteByte('\r') + case 't': + builder.WriteByte('\t') + case 'e': + builder.WriteByte(0x1B) + case 'u': + x, err := hexToRune(atmost(token[i+1:], 4), 4) + if err != nil { + return nil, nil, nil, err + } + builder.WriteRune(x) + i += 4 + case 'U': + x, err := hexToRune(atmost(token[i+1:], 8), 8) + if err != nil { + return nil, nil, nil, err + } + + builder.WriteRune(x) + i += 8 + default: + return nil, nil, nil, NewParserError(token[i:i+1], "invalid escaped character %#U", c) + } + i++ + } else { + size := characters.Utf8ValidNext(token[i:]) + if size == 0 { + return nil, nil, nil, NewParserError(token[i:i+1], "invalid character %#U", c) + } + builder.Write(token[i : i+size]) + i += size + } + } + + return token, builder.Bytes(), rest, nil +} + +func (p *Parser) parseKey(b []byte) (reference, []byte, error) { + // key = simple-key / dotted-key + // simple-key = quoted-key / unquoted-key + // + // unquoted-key = 1*( ALPHA / DIGIT / %x2D / %x5F ) ; A-Z / a-z / 0-9 / - / _ + // quoted-key = basic-string / literal-string + // dotted-key = simple-key 1*( dot-sep simple-key ) + // + // dot-sep = ws %x2E ws ; . Period + raw, key, b, err := p.parseSimpleKey(b) + if err != nil { + return invalidReference, nil, err + } + + ref := p.builder.Push(Node{ + Kind: Key, + Raw: p.Range(raw), + Data: key, + }) + + for { + b = p.parseWhitespace(b) + if len(b) > 0 && b[0] == '.' { + b = p.parseWhitespace(b[1:]) + + raw, key, b, err = p.parseSimpleKey(b) + if err != nil { + return ref, nil, err + } + + p.builder.PushAndChain(Node{ + Kind: Key, + Raw: p.Range(raw), + Data: key, + }) + } else { + break + } + } + + return ref, b, nil +} + +func (p *Parser) parseSimpleKey(b []byte) (raw, key, rest []byte, err error) { + if len(b) == 0 { + return nil, nil, nil, NewParserError(b, "expected key but found none") + } + + // simple-key = quoted-key / unquoted-key + // unquoted-key = 1*( ALPHA / DIGIT / %x2D / %x5F ) ; A-Z / a-z / 0-9 / - / _ + // quoted-key = basic-string / literal-string + switch { + case b[0] == '\'': + return p.parseLiteralString(b) + case b[0] == '"': + return p.parseBasicString(b) + case isUnquotedKeyChar(b[0]): + key, rest = scanUnquotedKey(b) + return key, key, rest, nil + default: + return nil, nil, nil, NewParserError(b[0:1], "invalid character at start of key: %c", b[0]) + } +} + +//nolint:funlen,cyclop +func (p *Parser) parseBasicString(b []byte) ([]byte, []byte, []byte, error) { + // basic-string = quotation-mark *basic-char quotation-mark + // quotation-mark = %x22 ; " + // basic-char = basic-unescaped / escaped + // basic-unescaped = wschar / %x21 / %x23-5B / %x5D-7E / non-ascii + // escaped = escape escape-seq-char + // escape-seq-char = %x22 ; " quotation mark U+0022 + // escape-seq-char =/ %x5C ; \ reverse solidus U+005C + // escape-seq-char =/ %x62 ; b backspace U+0008 + // escape-seq-char =/ %x66 ; f form feed U+000C + // escape-seq-char =/ %x6E ; n line feed U+000A + // escape-seq-char =/ %x72 ; r carriage return U+000D + // escape-seq-char =/ %x74 ; t tab U+0009 + // escape-seq-char =/ %x75 4HEXDIG ; uXXXX U+XXXX + // escape-seq-char =/ %x55 8HEXDIG ; UXXXXXXXX U+XXXXXXXX + token, escaped, rest, err := scanBasicString(b) + if err != nil { + return nil, nil, nil, err + } + + startIdx := len(`"`) + endIdx := len(token) - len(`"`) + + // Fast path. If there is no escape sequence, the string should just be + // an UTF-8 encoded string, which is the same as Go. In that case, + // validate the string and return a direct reference to the buffer. + if !escaped { + str := token[startIdx:endIdx] + verr := characters.Utf8TomlValidAlreadyEscaped(str) + if verr.Zero() { + return token, str, rest, nil + } + return nil, nil, nil, NewParserError(str[verr.Index:verr.Index+verr.Size], "invalid UTF-8") + } + + i := startIdx + + var builder bytes.Buffer + + // The scanner ensures that the token starts and ends with quotes and that + // escapes are balanced. + for i < len(token)-1 { + c := token[i] + if c == '\\' { + i++ + c = token[i] + + switch c { + case '"', '\\': + builder.WriteByte(c) + case 'b': + builder.WriteByte('\b') + case 'f': + builder.WriteByte('\f') + case 'n': + builder.WriteByte('\n') + case 'r': + builder.WriteByte('\r') + case 't': + builder.WriteByte('\t') + case 'e': + builder.WriteByte(0x1B) + case 'u': + x, err := hexToRune(token[i+1:len(token)-1], 4) + if err != nil { + return nil, nil, nil, err + } + + builder.WriteRune(x) + i += 4 + case 'U': + x, err := hexToRune(token[i+1:len(token)-1], 8) + if err != nil { + return nil, nil, nil, err + } + + builder.WriteRune(x) + i += 8 + default: + return nil, nil, nil, NewParserError(token[i:i+1], "invalid escaped character %#U", c) + } + i++ + } else { + size := characters.Utf8ValidNext(token[i:]) + if size == 0 { + return nil, nil, nil, NewParserError(token[i:i+1], "invalid character %#U", c) + } + builder.Write(token[i : i+size]) + i += size + } + } + + return token, builder.Bytes(), rest, nil +} + +func hexToRune(b []byte, length int) (rune, error) { + if len(b) < length { + return -1, NewParserError(b, "unicode point needs %d character, not %d", length, len(b)) + } + b = b[:length] + + var r uint32 + for i, c := range b { + d := uint32(0) + switch { + case '0' <= c && c <= '9': + d = uint32(c - '0') + case 'a' <= c && c <= 'f': + d = uint32(c - 'a' + 10) + case 'A' <= c && c <= 'F': + d = uint32(c - 'A' + 10) + default: + return -1, NewParserError(b[i:i+1], "non-hex character") + } + r = r*16 + d + } + + if r > unicode.MaxRune || 0xD800 <= r && r < 0xE000 { + return -1, NewParserError(b, "escape sequence is invalid Unicode code point") + } + + return rune(r), nil +} + +func (p *Parser) parseWhitespace(b []byte) []byte { + // ws = *wschar + // wschar = %x20 ; Space + // wschar =/ %x09 ; Horizontal tab + _, rest := scanWhitespace(b) + + return rest +} + +//nolint:cyclop +func (p *Parser) parseIntOrFloatOrDateTime(b []byte) (reference, []byte, error) { + switch b[0] { + case 'i': + if !scanFollowsInf(b) { + return invalidReference, nil, NewParserError(atmost(b, 3), "expected 'inf'") + } + + return p.builder.Push(Node{ + Kind: Float, + Data: b[:3], + }), b[3:], nil + case 'n': + if !scanFollowsNan(b) { + return invalidReference, nil, NewParserError(atmost(b, 3), "expected 'nan'") + } + + return p.builder.Push(Node{ + Kind: Float, + Data: b[:3], + }), b[3:], nil + case '+', '-': + return p.scanIntOrFloat(b) + } + + if len(b) < 3 { + return p.scanIntOrFloat(b) + } + + s := 5 + if len(b) < s { + s = len(b) + } + + for idx, c := range b[:s] { + if isDigit(c) { + continue + } + + if idx == 2 && c == ':' || (idx == 4 && c == '-') { + return p.scanDateTime(b) + } + + break + } + + return p.scanIntOrFloat(b) +} + +func (p *Parser) scanDateTime(b []byte) (reference, []byte, error) { + // scans for contiguous characters in [0-9T:Z.+-], and up to one space if + // followed by a digit. + hasDate := false + hasTime := false + hasTz := false + seenSpace := false + + i := 0 +byteLoop: + for ; i < len(b); i++ { + c := b[i] + + switch { + case isDigit(c): + case c == '-': + hasDate = true + const minOffsetOfTz = 8 + if i >= minOffsetOfTz { + hasTz = true + } + case c == 'T' || c == 't' || c == ':' || c == '.': + hasTime = true + case c == '+' || c == '-' || c == 'Z' || c == 'z': + hasTz = true + case c == ' ': + if !seenSpace && i+1 < len(b) && isDigit(b[i+1]) { + i += 2 + // Avoid reaching past the end of the document in case the time + // is malformed. See TestIssue585. + if i >= len(b) { + i-- + } + seenSpace = true + hasTime = true + } else { + break byteLoop + } + default: + break byteLoop + } + } + + var kind Kind + + if hasTime { + if hasDate { + if hasTz { + kind = DateTime + } else { + kind = LocalDateTime + } + } else { + kind = LocalTime + } + } else { + kind = LocalDate + } + + return p.builder.Push(Node{ + Kind: kind, + Data: b[:i], + }), b[i:], nil +} + +//nolint:funlen,gocognit,cyclop +func (p *Parser) scanIntOrFloat(b []byte) (reference, []byte, error) { + i := 0 + + if len(b) > 2 && b[0] == '0' && b[1] != '.' && b[1] != 'e' && b[1] != 'E' { + var isValidRune validRuneFn + + switch b[1] { + case 'x': + isValidRune = isValidHexRune + case 'o': + isValidRune = isValidOctalRune + case 'b': + isValidRune = isValidBinaryRune + default: + i++ + } + + if isValidRune != nil { + i += 2 + for ; i < len(b); i++ { + if !isValidRune(b[i]) { + break + } + } + } + + return p.builder.Push(Node{ + Kind: Integer, + Data: b[:i], + }), b[i:], nil + } + + isFloat := false + + for ; i < len(b); i++ { + c := b[i] + + if c >= '0' && c <= '9' || c == '+' || c == '-' || c == '_' { + continue + } + + if c == '.' || c == 'e' || c == 'E' { + isFloat = true + + continue + } + + if c == 'i' { + if scanFollowsInf(b[i:]) { + return p.builder.Push(Node{ + Kind: Float, + Data: b[:i+3], + }), b[i+3:], nil + } + + return invalidReference, nil, NewParserError(b[i:i+1], "unexpected character 'i' while scanning for a number") + } + + if c == 'n' { + if scanFollowsNan(b[i:]) { + return p.builder.Push(Node{ + Kind: Float, + Data: b[:i+3], + }), b[i+3:], nil + } + + return invalidReference, nil, NewParserError(b[i:i+1], "unexpected character 'n' while scanning for a number") + } + + break + } + + if i == 0 { + return invalidReference, b, NewParserError(b, "incomplete number") + } + + kind := Integer + + if isFloat { + kind = Float + } + + return p.builder.Push(Node{ + Kind: kind, + Data: b[:i], + }), b[i:], nil +} + +func isDigit(r byte) bool { + return r >= '0' && r <= '9' +} + +type validRuneFn func(r byte) bool + +func isValidHexRune(r byte) bool { + return r >= 'a' && r <= 'f' || + r >= 'A' && r <= 'F' || + r >= '0' && r <= '9' || + r == '_' +} + +func isValidOctalRune(r byte) bool { + return r >= '0' && r <= '7' || r == '_' +} + +func isValidBinaryRune(r byte) bool { + return r == '0' || r == '1' || r == '_' +} + +func expect(x byte, b []byte) ([]byte, error) { + if len(b) == 0 { + return nil, NewParserError(b, "expected character %c but the document ended here", x) + } + + if b[0] != x { + return nil, NewParserError(b[0:1], "expected character %c", x) + } + + return b[1:], nil +} diff --git a/vendor/github.com/pelletier/go-toml/v2/unstable/scanner.go b/vendor/github.com/pelletier/go-toml/v2/unstable/scanner.go @@ -0,0 +1,271 @@ +package unstable + +import "github.com/pelletier/go-toml/v2/internal/characters" + +func scanFollows(b []byte, pattern string) bool { + n := len(pattern) + + return len(b) >= n && string(b[:n]) == pattern +} + +func scanFollowsMultilineBasicStringDelimiter(b []byte) bool { + return scanFollows(b, `"""`) +} + +func scanFollowsMultilineLiteralStringDelimiter(b []byte) bool { + return scanFollows(b, `'''`) +} + +func scanFollowsTrue(b []byte) bool { + return scanFollows(b, `true`) +} + +func scanFollowsFalse(b []byte) bool { + return scanFollows(b, `false`) +} + +func scanFollowsInf(b []byte) bool { + return scanFollows(b, `inf`) +} + +func scanFollowsNan(b []byte) bool { + return scanFollows(b, `nan`) +} + +func scanUnquotedKey(b []byte) ([]byte, []byte) { + // unquoted-key = 1*( ALPHA / DIGIT / %x2D / %x5F ) ; A-Z / a-z / 0-9 / - / _ + for i := 0; i < len(b); i++ { + if !isUnquotedKeyChar(b[i]) { + return b[:i], b[i:] + } + } + + return b, b[len(b):] +} + +func isUnquotedKeyChar(r byte) bool { + return (r >= 'A' && r <= 'Z') || (r >= 'a' && r <= 'z') || (r >= '0' && r <= '9') || r == '-' || r == '_' +} + +func scanLiteralString(b []byte) ([]byte, []byte, error) { + // literal-string = apostrophe *literal-char apostrophe + // apostrophe = %x27 ; ' apostrophe + // literal-char = %x09 / %x20-26 / %x28-7E / non-ascii + for i := 1; i < len(b); { + switch b[i] { + case '\'': + return b[:i+1], b[i+1:], nil + case '\n', '\r': + return nil, nil, NewParserError(b[i:i+1], "literal strings cannot have new lines") + } + size := characters.Utf8ValidNext(b[i:]) + if size == 0 { + return nil, nil, NewParserError(b[i:i+1], "invalid character") + } + i += size + } + + return nil, nil, NewParserError(b[len(b):], "unterminated literal string") +} + +func scanMultilineLiteralString(b []byte) ([]byte, []byte, error) { + // ml-literal-string = ml-literal-string-delim [ newline ] ml-literal-body + // ml-literal-string-delim + // ml-literal-string-delim = 3apostrophe + // ml-literal-body = *mll-content *( mll-quotes 1*mll-content ) [ mll-quotes ] + // + // mll-content = mll-char / newline + // mll-char = %x09 / %x20-26 / %x28-7E / non-ascii + // mll-quotes = 1*2apostrophe + for i := 3; i < len(b); { + switch b[i] { + case '\'': + if scanFollowsMultilineLiteralStringDelimiter(b[i:]) { + i += 3 + + // At that point we found 3 apostrophe, and i is the + // index of the byte after the third one. The scanner + // needs to be eager, because there can be an extra 2 + // apostrophe that can be accepted at the end of the + // string. + + if i >= len(b) || b[i] != '\'' { + return b[:i], b[i:], nil + } + i++ + + if i >= len(b) || b[i] != '\'' { + return b[:i], b[i:], nil + } + i++ + + if i < len(b) && b[i] == '\'' { + return nil, nil, NewParserError(b[i-3:i+1], "''' not allowed in multiline literal string") + } + + return b[:i], b[i:], nil + } + case '\r': + if len(b) < i+2 { + return nil, nil, NewParserError(b[len(b):], `need a \n after \r`) + } + if b[i+1] != '\n' { + return nil, nil, NewParserError(b[i:i+2], `need a \n after \r`) + } + i += 2 // skip the \n + continue + } + size := characters.Utf8ValidNext(b[i:]) + if size == 0 { + return nil, nil, NewParserError(b[i:i+1], "invalid character") + } + i += size + } + + return nil, nil, NewParserError(b[len(b):], `multiline literal string not terminated by '''`) +} + +func scanWindowsNewline(b []byte) ([]byte, []byte, error) { + const lenCRLF = 2 + if len(b) < lenCRLF { + return nil, nil, NewParserError(b, "windows new line expected") + } + + if b[1] != '\n' { + return nil, nil, NewParserError(b, `windows new line should be \r\n`) + } + + return b[:lenCRLF], b[lenCRLF:], nil +} + +func scanWhitespace(b []byte) ([]byte, []byte) { + for i := 0; i < len(b); i++ { + switch b[i] { + case ' ', '\t': + continue + default: + return b[:i], b[i:] + } + } + + return b, b[len(b):] +} + +//nolint:unparam +func scanComment(b []byte) ([]byte, []byte, error) { + // comment-start-symbol = %x23 ; # + // non-ascii = %x80-D7FF / %xE000-10FFFF + // non-eol = %x09 / %x20-7F / non-ascii + // + // comment = comment-start-symbol *non-eol + + for i := 1; i < len(b); { + if b[i] == '\n' { + return b[:i], b[i:], nil + } + if b[i] == '\r' { + if i+1 < len(b) && b[i+1] == '\n' { + return b[:i+1], b[i+1:], nil + } + return nil, nil, NewParserError(b[i:i+1], "invalid character in comment") + } + size := characters.Utf8ValidNext(b[i:]) + if size == 0 { + return nil, nil, NewParserError(b[i:i+1], "invalid character in comment") + } + + i += size + } + + return b, b[len(b):], nil +} + +func scanBasicString(b []byte) ([]byte, bool, []byte, error) { + // basic-string = quotation-mark *basic-char quotation-mark + // quotation-mark = %x22 ; " + // basic-char = basic-unescaped / escaped + // basic-unescaped = wschar / %x21 / %x23-5B / %x5D-7E / non-ascii + // escaped = escape escape-seq-char + escaped := false + i := 1 + + for ; i < len(b); i++ { + switch b[i] { + case '"': + return b[:i+1], escaped, b[i+1:], nil + case '\n', '\r': + return nil, escaped, nil, NewParserError(b[i:i+1], "basic strings cannot have new lines") + case '\\': + if len(b) < i+2 { + return nil, escaped, nil, NewParserError(b[i:i+1], "need a character after \\") + } + escaped = true + i++ // skip the next character + } + } + + return nil, escaped, nil, NewParserError(b[len(b):], `basic string not terminated by "`) +} + +func scanMultilineBasicString(b []byte) ([]byte, bool, []byte, error) { + // ml-basic-string = ml-basic-string-delim [ newline ] ml-basic-body + // ml-basic-string-delim + // ml-basic-string-delim = 3quotation-mark + // ml-basic-body = *mlb-content *( mlb-quotes 1*mlb-content ) [ mlb-quotes ] + // + // mlb-content = mlb-char / newline / mlb-escaped-nl + // mlb-char = mlb-unescaped / escaped + // mlb-quotes = 1*2quotation-mark + // mlb-unescaped = wschar / %x21 / %x23-5B / %x5D-7E / non-ascii + // mlb-escaped-nl = escape ws newline *( wschar / newline ) + + escaped := false + i := 3 + + for ; i < len(b); i++ { + switch b[i] { + case '"': + if scanFollowsMultilineBasicStringDelimiter(b[i:]) { + i += 3 + + // At that point we found 3 apostrophe, and i is the + // index of the byte after the third one. The scanner + // needs to be eager, because there can be an extra 2 + // apostrophe that can be accepted at the end of the + // string. + + if i >= len(b) || b[i] != '"' { + return b[:i], escaped, b[i:], nil + } + i++ + + if i >= len(b) || b[i] != '"' { + return b[:i], escaped, b[i:], nil + } + i++ + + if i < len(b) && b[i] == '"' { + return nil, escaped, nil, NewParserError(b[i-3:i+1], `""" not allowed in multiline basic string`) + } + + return b[:i], escaped, b[i:], nil + } + case '\\': + if len(b) < i+2 { + return nil, escaped, nil, NewParserError(b[len(b):], "need a character after \\") + } + escaped = true + i++ // skip the next character + case '\r': + if len(b) < i+2 { + return nil, escaped, nil, NewParserError(b[len(b):], `need a \n after \r`) + } + if b[i+1] != '\n' { + return nil, escaped, nil, NewParserError(b[i:i+2], `need a \n after \r`) + } + i++ // skip the \n + } + } + + return nil, escaped, nil, NewParserError(b[len(b):], `multiline basic string not terminated by """`) +} diff --git a/vendor/github.com/pelletier/go-toml/v2/utf8.go b/vendor/github.com/pelletier/go-toml/v2/utf8.go @@ -1,240 +0,0 @@ -package toml - -import ( - "unicode/utf8" -) - -type utf8Err struct { - Index int - Size int -} - -func (u utf8Err) Zero() bool { - return u.Size == 0 -} - -// Verified that a given string is only made of valid UTF-8 characters allowed -// by the TOML spec: -// -// Any Unicode character may be used except those that must be escaped: -// quotation mark, backslash, and the control characters other than tab (U+0000 -// to U+0008, U+000A to U+001F, U+007F). -// -// It is a copy of the Go 1.17 utf8.Valid implementation, tweaked to exit early -// when a character is not allowed. -// -// The returned utf8Err is Zero() if the string is valid, or contains the byte -// index and size of the invalid character. -// -// quotation mark => already checked -// backslash => already checked -// 0-0x8 => invalid -// 0x9 => tab, ok -// 0xA - 0x1F => invalid -// 0x7F => invalid -func utf8TomlValidAlreadyEscaped(p []byte) (err utf8Err) { - // Fast path. Check for and skip 8 bytes of ASCII characters per iteration. - offset := 0 - for len(p) >= 8 { - // Combining two 32 bit loads allows the same code to be used - // for 32 and 64 bit platforms. - // The compiler can generate a 32bit load for first32 and second32 - // on many platforms. See test/codegen/memcombine.go. - first32 := uint32(p[0]) | uint32(p[1])<<8 | uint32(p[2])<<16 | uint32(p[3])<<24 - second32 := uint32(p[4]) | uint32(p[5])<<8 | uint32(p[6])<<16 | uint32(p[7])<<24 - if (first32|second32)&0x80808080 != 0 { - // Found a non ASCII byte (>= RuneSelf). - break - } - - for i, b := range p[:8] { - if invalidAscii(b) { - err.Index = offset + i - err.Size = 1 - return - } - } - - p = p[8:] - offset += 8 - } - n := len(p) - for i := 0; i < n; { - pi := p[i] - if pi < utf8.RuneSelf { - if invalidAscii(pi) { - err.Index = offset + i - err.Size = 1 - return - } - i++ - continue - } - x := first[pi] - if x == xx { - // Illegal starter byte. - err.Index = offset + i - err.Size = 1 - return - } - size := int(x & 7) - if i+size > n { - // Short or invalid. - err.Index = offset + i - err.Size = n - i - return - } - accept := acceptRanges[x>>4] - if c := p[i+1]; c < accept.lo || accept.hi < c { - err.Index = offset + i - err.Size = 2 - return - } else if size == 2 { - } else if c := p[i+2]; c < locb || hicb < c { - err.Index = offset + i - err.Size = 3 - return - } else if size == 3 { - } else if c := p[i+3]; c < locb || hicb < c { - err.Index = offset + i - err.Size = 4 - return - } - i += size - } - return -} - -// Return the size of the next rune if valid, 0 otherwise. -func utf8ValidNext(p []byte) int { - c := p[0] - - if c < utf8.RuneSelf { - if invalidAscii(c) { - return 0 - } - return 1 - } - - x := first[c] - if x == xx { - // Illegal starter byte. - return 0 - } - size := int(x & 7) - if size > len(p) { - // Short or invalid. - return 0 - } - accept := acceptRanges[x>>4] - if c := p[1]; c < accept.lo || accept.hi < c { - return 0 - } else if size == 2 { - } else if c := p[2]; c < locb || hicb < c { - return 0 - } else if size == 3 { - } else if c := p[3]; c < locb || hicb < c { - return 0 - } - - return size -} - -var invalidAsciiTable = [256]bool{ - 0x00: true, - 0x01: true, - 0x02: true, - 0x03: true, - 0x04: true, - 0x05: true, - 0x06: true, - 0x07: true, - 0x08: true, - // 0x09 TAB - // 0x0A LF - 0x0B: true, - 0x0C: true, - // 0x0D CR - 0x0E: true, - 0x0F: true, - 0x10: true, - 0x11: true, - 0x12: true, - 0x13: true, - 0x14: true, - 0x15: true, - 0x16: true, - 0x17: true, - 0x18: true, - 0x19: true, - 0x1A: true, - 0x1B: true, - 0x1C: true, - 0x1D: true, - 0x1E: true, - 0x1F: true, - // 0x20 - 0x7E Printable ASCII characters - 0x7F: true, -} - -func invalidAscii(b byte) bool { - return invalidAsciiTable[b] -} - -// acceptRange gives the range of valid values for the second byte in a UTF-8 -// sequence. -type acceptRange struct { - lo uint8 // lowest value for second byte. - hi uint8 // highest value for second byte. -} - -// acceptRanges has size 16 to avoid bounds checks in the code that uses it. -var acceptRanges = [16]acceptRange{ - 0: {locb, hicb}, - 1: {0xA0, hicb}, - 2: {locb, 0x9F}, - 3: {0x90, hicb}, - 4: {locb, 0x8F}, -} - -// first is information about the first byte in a UTF-8 sequence. -var first = [256]uint8{ - // 1 2 3 4 5 6 7 8 9 A B C D E F - as, as, as, as, as, as, as, as, as, as, as, as, as, as, as, as, // 0x00-0x0F - as, as, as, as, as, as, as, as, as, as, as, as, as, as, as, as, // 0x10-0x1F - as, as, as, as, as, as, as, as, as, as, as, as, as, as, as, as, // 0x20-0x2F - as, as, as, as, as, as, as, as, as, as, as, as, as, as, as, as, // 0x30-0x3F - as, as, as, as, as, as, as, as, as, as, as, as, as, as, as, as, // 0x40-0x4F - as, as, as, as, as, as, as, as, as, as, as, as, as, as, as, as, // 0x50-0x5F - as, as, as, as, as, as, as, as, as, as, as, as, as, as, as, as, // 0x60-0x6F - as, as, as, as, as, as, as, as, as, as, as, as, as, as, as, as, // 0x70-0x7F - // 1 2 3 4 5 6 7 8 9 A B C D E F - xx, xx, xx, xx, xx, xx, xx, xx, xx, xx, xx, xx, xx, xx, xx, xx, // 0x80-0x8F - xx, xx, xx, xx, xx, xx, xx, xx, xx, xx, xx, xx, xx, xx, xx, xx, // 0x90-0x9F - xx, xx, xx, xx, xx, xx, xx, xx, xx, xx, xx, xx, xx, xx, xx, xx, // 0xA0-0xAF - xx, xx, xx, xx, xx, xx, xx, xx, xx, xx, xx, xx, xx, xx, xx, xx, // 0xB0-0xBF - xx, xx, s1, s1, s1, s1, s1, s1, s1, s1, s1, s1, s1, s1, s1, s1, // 0xC0-0xCF - s1, s1, s1, s1, s1, s1, s1, s1, s1, s1, s1, s1, s1, s1, s1, s1, // 0xD0-0xDF - s2, s3, s3, s3, s3, s3, s3, s3, s3, s3, s3, s3, s3, s4, s3, s3, // 0xE0-0xEF - s5, s6, s6, s6, s7, xx, xx, xx, xx, xx, xx, xx, xx, xx, xx, xx, // 0xF0-0xFF -} - -const ( - // The default lowest and highest continuation byte. - locb = 0b10000000 - hicb = 0b10111111 - - // These names of these constants are chosen to give nice alignment in the - // table below. The first nibble is an index into acceptRanges or F for - // special one-byte cases. The second nibble is the Rune length or the - // Status for the special one-byte case. - xx = 0xF1 // invalid: size 1 - as = 0xF0 // ASCII: size 1 - s1 = 0x02 // accept 0, size 2 - s2 = 0x13 // accept 1, size 3 - s3 = 0x03 // accept 0, size 3 - s4 = 0x23 // accept 2, size 3 - s5 = 0x34 // accept 3, size 4 - s6 = 0x04 // accept 0, size 4 - s7 = 0x44 // accept 4, size 4 -) diff --git a/vendor/golang.org/x/net/html/token.go b/vendor/golang.org/x/net/html/token.go @@ -605,7 +605,10 @@ func (z *Tokenizer) readComment() { z.data.end = z.data.start } }() - for dashCount := 2; ; { + + var dashCount int + beginning := true + for { c := z.readByte() if z.err != nil { // Ignore up to two dashes at EOF. @@ -620,7 +623,7 @@ func (z *Tokenizer) readComment() { dashCount++ continue case '>': - if dashCount >= 2 { + if dashCount >= 2 || beginning { z.data.end = z.raw.end - len("-->") return } @@ -638,6 +641,7 @@ func (z *Tokenizer) readComment() { } } dashCount = 0 + beginning = false } } diff --git a/vendor/golang.org/x/net/http2/h2c/h2c.go b/vendor/golang.org/x/net/http2/h2c/h2c.go @@ -109,6 +109,7 @@ func (s h2cHandler) ServeHTTP(w http.ResponseWriter, r *http.Request) { if http2VerboseLogs { log.Printf("h2c: error h2c upgrade: %v", err) } + w.WriteHeader(http.StatusInternalServerError) return } defer conn.Close() @@ -167,7 +168,10 @@ func h2cUpgrade(w http.ResponseWriter, r *http.Request) (_ net.Conn, settings [] return nil, nil, errors.New("h2c: connection does not support Hijack") } - body, _ := io.ReadAll(r.Body) + body, err := io.ReadAll(r.Body) + if err != nil { + return nil, nil, err + } r.Body = io.NopCloser(bytes.NewBuffer(body)) conn, rw, err := hijacker.Hijack() diff --git a/vendor/golang.org/x/net/http2/headermap.go b/vendor/golang.org/x/net/http2/headermap.go @@ -27,7 +27,14 @@ func buildCommonHeaderMaps() { "accept-language", "accept-ranges", "age", + "access-control-allow-credentials", + "access-control-allow-headers", + "access-control-allow-methods", "access-control-allow-origin", + "access-control-expose-headers", + "access-control-max-age", + "access-control-request-headers", + "access-control-request-method", "allow", "authorization", "cache-control", @@ -53,6 +60,7 @@ func buildCommonHeaderMaps() { "link", "location", "max-forwards", + "origin", "proxy-authenticate", "proxy-authorization", "range", @@ -68,6 +76,8 @@ func buildCommonHeaderMaps() { "vary", "via", "www-authenticate", + "x-forwarded-for", + "x-forwarded-proto", } commonLowerHeader = make(map[string]string, len(common)) commonCanonHeader = make(map[string]string, len(common)) @@ -85,3 +95,11 @@ func lowerHeader(v string) (lower string, ascii bool) { } return asciiToLower(v) } + +func canonicalHeader(v string) string { + buildCommonHeaderMapsOnce() + if s, ok := commonCanonHeader[v]; ok { + return s + } + return http.CanonicalHeaderKey(v) +} diff --git a/vendor/golang.org/x/net/http2/hpack/encode.go b/vendor/golang.org/x/net/http2/hpack/encode.go @@ -116,6 +116,11 @@ func (e *Encoder) SetMaxDynamicTableSize(v uint32) { e.dynTab.setMaxSize(v) } +// MaxDynamicTableSize returns the current dynamic header table size. +func (e *Encoder) MaxDynamicTableSize() (v uint32) { + return e.dynTab.maxSize +} + // SetMaxDynamicTableSizeLimit changes the maximum value that can be // specified in SetMaxDynamicTableSize to v. By default, it is set to // 4096, which is the same size of the default dynamic header table diff --git a/vendor/golang.org/x/net/http2/hpack/static_table.go b/vendor/golang.org/x/net/http2/hpack/static_table.go @@ -0,0 +1,188 @@ +// go generate gen.go +// Code generated by the command above; DO NOT EDIT. + +package hpack + +var staticTable = &headerFieldTable{ + evictCount: 0, + byName: map[string]uint64{ + ":authority": 1, + ":method": 3, + ":path": 5, + ":scheme": 7, + ":status": 14, + "accept-charset": 15, + "accept-encoding": 16, + "accept-language": 17, + "accept-ranges": 18, + "accept": 19, + "access-control-allow-origin": 20, + "age": 21, + "allow": 22, + "authorization": 23, + "cache-control": 24, + "content-disposition": 25, + "content-encoding": 26, + "content-language": 27, + "content-length": 28, + "content-location": 29, + "content-range": 30, + "content-type": 31, + "cookie": 32, + "date": 33, + "etag": 34, + "expect": 35, + "expires": 36, + "from": 37, + "host": 38, + "if-match": 39, + "if-modified-since": 40, + "if-none-match": 41, + "if-range": 42, + "if-unmodified-since": 43, + "last-modified": 44, + "link": 45, + "location": 46, + "max-forwards": 47, + "proxy-authenticate": 48, + "proxy-authorization": 49, + "range": 50, + "referer": 51, + "refresh": 52, + "retry-after": 53, + "server": 54, + "set-cookie": 55, + "strict-transport-security": 56, + "transfer-encoding": 57, + "user-agent": 58, + "vary": 59, + "via": 60, + "www-authenticate": 61, + }, + byNameValue: map[pairNameValue]uint64{ + {name: ":authority", value: ""}: 1, + {name: ":method", value: "GET"}: 2, + {name: ":method", value: "POST"}: 3, + {name: ":path", value: "/"}: 4, + {name: ":path", value: "/index.html"}: 5, + {name: ":scheme", value: "http"}: 6, + {name: ":scheme", value: "https"}: 7, + {name: ":status", value: "200"}: 8, + {name: ":status", value: "204"}: 9, + {name: ":status", value: "206"}: 10, + {name: ":status", value: "304"}: 11, + {name: ":status", value: "400"}: 12, + {name: ":status", value: "404"}: 13, + {name: ":status", value: "500"}: 14, + {name: "accept-charset", value: ""}: 15, + {name: "accept-encoding", value: "gzip, deflate"}: 16, + {name: "accept-language", value: ""}: 17, + {name: "accept-ranges", value: ""}: 18, + {name: "accept", value: ""}: 19, + {name: "access-control-allow-origin", value: ""}: 20, + {name: "age", value: ""}: 21, + {name: "allow", value: ""}: 22, + {name: "authorization", value: ""}: 23, + {name: "cache-control", value: ""}: 24, + {name: "content-disposition", value: ""}: 25, + {name: "content-encoding", value: ""}: 26, + {name: "content-language", value: ""}: 27, + {name: "content-length", value: ""}: 28, + {name: "content-location", value: ""}: 29, + {name: "content-range", value: ""}: 30, + {name: "content-type", value: ""}: 31, + {name: "cookie", value: ""}: 32, + {name: "date", value: ""}: 33, + {name: "etag", value: ""}: 34, + {name: "expect", value: ""}: 35, + {name: "expires", value: ""}: 36, + {name: "from", value: ""}: 37, + {name: "host", value: ""}: 38, + {name: "if-match", value: ""}: 39, + {name: "if-modified-since", value: ""}: 40, + {name: "if-none-match", value: ""}: 41, + {name: "if-range", value: ""}: 42, + {name: "if-unmodified-since", value: ""}: 43, + {name: "last-modified", value: ""}: 44, + {name: "link", value: ""}: 45, + {name: "location", value: ""}: 46, + {name: "max-forwards", value: ""}: 47, + {name: "proxy-authenticate", value: ""}: 48, + {name: "proxy-authorization", value: ""}: 49, + {name: "range", value: ""}: 50, + {name: "referer", value: ""}: 51, + {name: "refresh", value: ""}: 52, + {name: "retry-after", value: ""}: 53, + {name: "server", value: ""}: 54, + {name: "set-cookie", value: ""}: 55, + {name: "strict-transport-security", value: ""}: 56, + {name: "transfer-encoding", value: ""}: 57, + {name: "user-agent", value: ""}: 58, + {name: "vary", value: ""}: 59, + {name: "via", value: ""}: 60, + {name: "www-authenticate", value: ""}: 61, + }, + ents: []HeaderField{ + {Name: ":authority", Value: "", Sensitive: false}, + {Name: ":method", Value: "GET", Sensitive: false}, + {Name: ":method", Value: "POST", Sensitive: false}, + {Name: ":path", Value: "/", Sensitive: false}, + {Name: ":path", Value: "/index.html", Sensitive: false}, + {Name: ":scheme", Value: "http", Sensitive: false}, + {Name: ":scheme", Value: "https", Sensitive: false}, + {Name: ":status", Value: "200", Sensitive: false}, + {Name: ":status", Value: "204", Sensitive: false}, + {Name: ":status", Value: "206", Sensitive: false}, + {Name: ":status", Value: "304", Sensitive: false}, + {Name: ":status", Value: "400", Sensitive: false}, + {Name: ":status", Value: "404", Sensitive: false}, + {Name: ":status", Value: "500", Sensitive: false}, + {Name: "accept-charset", Value: "", Sensitive: false}, + {Name: "accept-encoding", Value: "gzip, deflate", Sensitive: false}, + {Name: "accept-language", Value: "", Sensitive: false}, + {Name: "accept-ranges", Value: "", Sensitive: false}, + {Name: "accept", Value: "", Sensitive: false}, + {Name: "access-control-allow-origin", Value: "", Sensitive: false}, + {Name: "age", Value: "", Sensitive: false}, + {Name: "allow", Value: "", Sensitive: false}, + {Name: "authorization", Value: "", Sensitive: false}, + {Name: "cache-control", Value: "", Sensitive: false}, + {Name: "content-disposition", Value: "", Sensitive: false}, + {Name: "content-encoding", Value: "", Sensitive: false}, + {Name: "content-language", Value: "", Sensitive: false}, + {Name: "content-length", Value: "", Sensitive: false}, + {Name: "content-location", Value: "", Sensitive: false}, + {Name: "content-range", Value: "", Sensitive: false}, + {Name: "content-type", Value: "", Sensitive: false}, + {Name: "cookie", Value: "", Sensitive: false}, + {Name: "date", Value: "", Sensitive: false}, + {Name: "etag", Value: "", Sensitive: false}, + {Name: "expect", Value: "", Sensitive: false}, + {Name: "expires", Value: "", Sensitive: false}, + {Name: "from", Value: "", Sensitive: false}, + {Name: "host", Value: "", Sensitive: false}, + {Name: "if-match", Value: "", Sensitive: false}, + {Name: "if-modified-since", Value: "", Sensitive: false}, + {Name: "if-none-match", Value: "", Sensitive: false}, + {Name: "if-range", Value: "", Sensitive: false}, + {Name: "if-unmodified-since", Value: "", Sensitive: false}, + {Name: "last-modified", Value: "", Sensitive: false}, + {Name: "link", Value: "", Sensitive: false}, + {Name: "location", Value: "", Sensitive: false}, + {Name: "max-forwards", Value: "", Sensitive: false}, + {Name: "proxy-authenticate", Value: "", Sensitive: false}, + {Name: "proxy-authorization", Value: "", Sensitive: false}, + {Name: "range", Value: "", Sensitive: false}, + {Name: "referer", Value: "", Sensitive: false}, + {Name: "refresh", Value: "", Sensitive: false}, + {Name: "retry-after", Value: "", Sensitive: false}, + {Name: "server", Value: "", Sensitive: false}, + {Name: "set-cookie", Value: "", Sensitive: false}, + {Name: "strict-transport-security", Value: "", Sensitive: false}, + {Name: "transfer-encoding", Value: "", Sensitive: false}, + {Name: "user-agent", Value: "", Sensitive: false}, + {Name: "vary", Value: "", Sensitive: false}, + {Name: "via", Value: "", Sensitive: false}, + {Name: "www-authenticate", Value: "", Sensitive: false}, + }, +} diff --git a/vendor/golang.org/x/net/http2/hpack/tables.go b/vendor/golang.org/x/net/http2/hpack/tables.go @@ -96,8 +96,7 @@ func (t *headerFieldTable) evictOldest(n int) { // meaning t.ents is reversed for dynamic tables. Hence, when t is a dynamic // table, the return value i actually refers to the entry t.ents[t.len()-i]. // -// All tables are assumed to be a dynamic tables except for the global -// staticTable pointer. +// All tables are assumed to be a dynamic tables except for the global staticTable. // // See Section 2.3.3. func (t *headerFieldTable) search(f HeaderField) (i uint64, nameValueMatch bool) { @@ -125,81 +124,6 @@ func (t *headerFieldTable) idToIndex(id uint64) uint64 { return k + 1 } -// http://tools.ietf.org/html/draft-ietf-httpbis-header-compression-07#appendix-B -var staticTable = newStaticTable() -var staticTableEntries = [...]HeaderField{ - {Name: ":authority"}, - {Name: ":method", Value: "GET"}, - {Name: ":method", Value: "POST"}, - {Name: ":path", Value: "/"}, - {Name: ":path", Value: "/index.html"}, - {Name: ":scheme", Value: "http"}, - {Name: ":scheme", Value: "https"}, - {Name: ":status", Value: "200"}, - {Name: ":status", Value: "204"}, - {Name: ":status", Value: "206"}, - {Name: ":status", Value: "304"}, - {Name: ":status", Value: "400"}, - {Name: ":status", Value: "404"}, - {Name: ":status", Value: "500"}, - {Name: "accept-charset"}, - {Name: "accept-encoding", Value: "gzip, deflate"}, - {Name: "accept-language"}, - {Name: "accept-ranges"}, - {Name: "accept"}, - {Name: "access-control-allow-origin"}, - {Name: "age"}, - {Name: "allow"}, - {Name: "authorization"}, - {Name: "cache-control"}, - {Name: "content-disposition"}, - {Name: "content-encoding"}, - {Name: "content-language"}, - {Name: "content-length"}, - {Name: "content-location"}, - {Name: "content-range"}, - {Name: "content-type"}, - {Name: "cookie"}, - {Name: "date"}, - {Name: "etag"}, - {Name: "expect"}, - {Name: "expires"}, - {Name: "from"}, - {Name: "host"}, - {Name: "if-match"}, - {Name: "if-modified-since"}, - {Name: "if-none-match"}, - {Name: "if-range"}, - {Name: "if-unmodified-since"}, - {Name: "last-modified"}, - {Name: "link"}, - {Name: "location"}, - {Name: "max-forwards"}, - {Name: "proxy-authenticate"}, - {Name: "proxy-authorization"}, - {Name: "range"}, - {Name: "referer"}, - {Name: "refresh"}, - {Name: "retry-after"}, - {Name: "server"}, - {Name: "set-cookie"}, - {Name: "strict-transport-security"}, - {Name: "transfer-encoding"}, - {Name: "user-agent"}, - {Name: "vary"}, - {Name: "via"}, - {Name: "www-authenticate"}, -} - -func newStaticTable() *headerFieldTable { - t := &headerFieldTable{} - t.init() - for _, e := range staticTableEntries[:] { - t.addEntry(e) - } - return t -} - var huffmanCodes = [256]uint32{ 0x1ff8, 0x7fffd8, diff --git a/vendor/golang.org/x/net/http2/server.go b/vendor/golang.org/x/net/http2/server.go @@ -98,6 +98,19 @@ type Server struct { // the HTTP/2 spec's recommendations. MaxConcurrentStreams uint32 + // MaxDecoderHeaderTableSize optionally specifies the http2 + // SETTINGS_HEADER_TABLE_SIZE to send in the initial settings frame. It + // informs the remote endpoint of the maximum size of the header compression + // table used to decode header blocks, in octets. If zero, the default value + // of 4096 is used. + MaxDecoderHeaderTableSize uint32 + + // MaxEncoderHeaderTableSize optionally specifies an upper limit for the + // header compression table used for encoding request headers. Received + // SETTINGS_HEADER_TABLE_SIZE settings are capped at this limit. If zero, + // the default value of 4096 is used. + MaxEncoderHeaderTableSize uint32 + // MaxReadFrameSize optionally specifies the largest frame // this server is willing to read. A valid value is between // 16k and 16M, inclusive. If zero or otherwise invalid, a @@ -170,6 +183,20 @@ func (s *Server) maxConcurrentStreams() uint32 { return defaultMaxStreams } +func (s *Server) maxDecoderHeaderTableSize() uint32 { + if v := s.MaxDecoderHeaderTableSize; v > 0 { + return v + } + return initialHeaderTableSize +} + +func (s *Server) maxEncoderHeaderTableSize() uint32 { + if v := s.MaxEncoderHeaderTableSize; v > 0 { + return v + } + return initialHeaderTableSize +} + // maxQueuedControlFrames is the maximum number of control frames like // SETTINGS, PING and RST_STREAM that will be queued for writing before // the connection is closed to prevent memory exhaustion attacks. @@ -394,7 +421,6 @@ func (s *Server) ServeConn(c net.Conn, opts *ServeConnOpts) { advMaxStreams: s.maxConcurrentStreams(), initialStreamSendWindowSize: initialWindowSize, maxFrameSize: initialMaxFrameSize, - headerTableSize: initialHeaderTableSize, serveG: newGoroutineLock(), pushEnabled: true, sawClientPreface: opts.SawClientPreface, @@ -424,12 +450,13 @@ func (s *Server) ServeConn(c net.Conn, opts *ServeConnOpts) { sc.flow.add(initialWindowSize) sc.inflow.add(initialWindowSize) sc.hpackEncoder = hpack.NewEncoder(&sc.headerWriteBuf) + sc.hpackEncoder.SetMaxDynamicTableSizeLimit(s.maxEncoderHeaderTableSize()) fr := NewFramer(sc.bw, c) if s.CountError != nil { fr.countError = s.CountError } - fr.ReadMetaHeaders = hpack.NewDecoder(initialHeaderTableSize, nil) + fr.ReadMetaHeaders = hpack.NewDecoder(s.maxDecoderHeaderTableSize(), nil) fr.MaxHeaderListSize = sc.maxHeaderListSize() fr.SetMaxReadFrameSize(s.maxReadFrameSize()) sc.framer = fr @@ -559,9 +586,9 @@ type serverConn struct { streams map[uint32]*stream initialStreamSendWindowSize int32 maxFrameSize int32 - headerTableSize uint32 peerMaxHeaderListSize uint32 // zero means unknown (default) canonHeader map[string]string // http2-lower-case -> Go-Canonical-Case + canonHeaderKeysSize int // canonHeader keys size in bytes writingFrame bool // started writing a frame (on serve goroutine or separate) writingFrameAsync bool // started a frame on its own goroutine but haven't heard back on wroteFrameCh needsFrameFlush bool // last frame write wasn't a flush @@ -622,7 +649,9 @@ type stream struct { resetQueued bool // RST_STREAM queued for write; set by sc.resetStream gotTrailerHeader bool // HEADER frame for trailers was seen wroteHeaders bool // whether we wrote headers (not status 100) + readDeadline *time.Timer // nil if unused writeDeadline *time.Timer // nil if unused + closeErr error // set before cw is closed trailer http.Header // accumulated trailers reqTrailer http.Header // handler's Request.Trailer @@ -738,6 +767,13 @@ func (sc *serverConn) condlogf(err error, format string, args ...interface{}) { } } +// maxCachedCanonicalHeadersKeysSize is an arbitrarily-chosen limit on the size +// of the entries in the canonHeader cache. +// This should be larger than the size of unique, uncommon header keys likely to +// be sent by the peer, while not so high as to permit unreasonable memory usage +// if the peer sends an unbounded number of unique header keys. +const maxCachedCanonicalHeadersKeysSize = 2048 + func (sc *serverConn) canonicalHeader(v string) string { sc.serveG.check() buildCommonHeaderMapsOnce() @@ -753,14 +789,10 @@ func (sc *serverConn) canonicalHeader(v string) string { sc.canonHeader = make(map[string]string) } cv = http.CanonicalHeaderKey(v) - // maxCachedCanonicalHeaders is an arbitrarily-chosen limit on the number of - // entries in the canonHeader cache. This should be larger than the number - // of unique, uncommon header keys likely to be sent by the peer, while not - // so high as to permit unreasonable memory usage if the peer sends an unbounded - // number of unique header keys. - const maxCachedCanonicalHeaders = 32 - if len(sc.canonHeader) < maxCachedCanonicalHeaders { + size := 100 + len(v)*2 // 100 bytes of map overhead + key + value + if sc.canonHeaderKeysSize+size <= maxCachedCanonicalHeadersKeysSize { sc.canonHeader[v] = cv + sc.canonHeaderKeysSize += size } return cv } @@ -862,6 +894,7 @@ func (sc *serverConn) serve() { {SettingMaxFrameSize, sc.srv.maxReadFrameSize()}, {SettingMaxConcurrentStreams, sc.advMaxStreams}, {SettingMaxHeaderListSize, sc.maxHeaderListSize()}, + {SettingHeaderTableSize, sc.srv.maxDecoderHeaderTableSize()}, {SettingInitialWindowSize, uint32(sc.srv.initialStreamRecvWindowSize())}, }, }) @@ -869,7 +902,9 @@ func (sc *serverConn) serve() { // Each connection starts with initialWindowSize inflow tokens. // If a higher value is configured, we add more tokens. - sc.sendWindowUpdate(nil) + if diff := sc.srv.initialConnRecvWindowSize() - initialWindowSize; diff > 0 { + sc.sendWindowUpdate(nil, int(diff)) + } if err := sc.readPreface(); err != nil { sc.condlogf(err, "http2: server: error reading preface from client %v: %v", sc.conn.RemoteAddr(), err) @@ -946,6 +981,8 @@ func (sc *serverConn) serve() { } case *startPushRequest: sc.startPush(v) + case func(*serverConn): + v(sc) default: panic(fmt.Sprintf("unexpected type %T", v)) } @@ -1459,6 +1496,21 @@ func (sc *serverConn) processFrame(f Frame) error { sc.sawFirstSettings = true } + // Discard frames for streams initiated after the identified last + // stream sent in a GOAWAY, or all frames after sending an error. + // We still need to return connection-level flow control for DATA frames. + // RFC 9113 Section 6.8. + if sc.inGoAway && (sc.goAwayCode != ErrCodeNo || f.Header().StreamID > sc.maxClientStreamID) { + + if f, ok := f.(*DataFrame); ok { + if sc.inflow.available() < int32(f.Length) { + return sc.countError("data_flow", streamError(f.Header().StreamID, ErrCodeFlowControl)) + } + sc.sendWindowUpdate(nil, int(f.Length)) // conn-level + } + return nil + } + switch f := f.(type) { case *SettingsFrame: return sc.processSettings(f) @@ -1501,9 +1553,6 @@ func (sc *serverConn) processPing(f *PingFrame) error { // PROTOCOL_ERROR." return sc.countError("ping_on_stream", ConnectionError(ErrCodeProtocol)) } - if sc.inGoAway && sc.goAwayCode != ErrCodeNo { - return nil - } sc.writeFrame(FrameWriteRequest{write: writePingAck{f}}) return nil } @@ -1565,6 +1614,9 @@ func (sc *serverConn) closeStream(st *stream, err error) { panic(fmt.Sprintf("invariant; can't close stream in state %v", st.state)) } st.state = stateClosed + if st.readDeadline != nil { + st.readDeadline.Stop() + } if st.writeDeadline != nil { st.writeDeadline.Stop() } @@ -1586,10 +1638,18 @@ func (sc *serverConn) closeStream(st *stream, err error) { if p := st.body; p != nil { // Return any buffered unread bytes worth of conn-level flow control. // See golang.org/issue/16481 - sc.sendWindowUpdate(nil) + sc.sendWindowUpdate(nil, p.Len()) p.CloseWithError(err) } + if e, ok := err.(StreamError); ok { + if e.Cause != nil { + err = e.Cause + } else { + err = errStreamClosed + } + } + st.closeErr = err st.cw.Close() // signals Handler's CloseNotifier, unblocks writes, etc sc.writeSched.CloseStream(st.id) } @@ -1632,7 +1692,6 @@ func (sc *serverConn) processSetting(s Setting) error { } switch s.ID { case SettingHeaderTableSize: - sc.headerTableSize = s.Val sc.hpackEncoder.SetMaxDynamicTableSize(s.Val) case SettingEnablePush: sc.pushEnabled = s.Val != 0 @@ -1686,16 +1745,6 @@ func (sc *serverConn) processSettingInitialWindowSize(val uint32) error { func (sc *serverConn) processData(f *DataFrame) error { sc.serveG.check() id := f.Header().StreamID - if sc.inGoAway && (sc.goAwayCode != ErrCodeNo || id > sc.maxClientStreamID) { - // Discard all DATA frames if the GOAWAY is due to an - // error, or: - // - // Section 6.8: After sending a GOAWAY frame, the sender - // can discard frames for streams initiated by the - // receiver with identifiers higher than the identified - // last stream. - return nil - } data := f.Data() state, st := sc.state(id) @@ -1734,7 +1783,7 @@ func (sc *serverConn) processData(f *DataFrame) error { // sendWindowUpdate, which also schedules sending the // frames. sc.inflow.take(int32(f.Length)) - sc.sendWindowUpdate(nil) // conn-level + sc.sendWindowUpdate(nil, int(f.Length)) // conn-level if st != nil && st.resetQueued { // Already have a stream error in flight. Don't send another. @@ -1752,7 +1801,7 @@ func (sc *serverConn) processData(f *DataFrame) error { return sc.countError("data_flow", streamError(id, ErrCodeFlowControl)) } sc.inflow.take(int32(f.Length)) - sc.sendWindowUpdate(nil) // conn-level + sc.sendWindowUpdate(nil, int(f.Length)) // conn-level st.body.CloseWithError(fmt.Errorf("sender tried to send more than declared Content-Length of %d bytes", st.declBodyBytes)) // RFC 7540, sec 8.1.2.6: A request or response is also malformed if the @@ -1770,7 +1819,7 @@ func (sc *serverConn) processData(f *DataFrame) error { if len(data) > 0 { wrote, err := st.body.Write(data) if err != nil { - sc.sendWindowUpdate32(nil, int32(f.Length)-int32(wrote)) + sc.sendWindowUpdate(nil, int(f.Length)-wrote) return sc.countError("body_write_err", streamError(id, ErrCodeStreamClosed)) } if wrote != len(data) { @@ -1838,19 +1887,27 @@ func (st *stream) copyTrailersToHandlerRequest() { } } +// onReadTimeout is run on its own goroutine (from time.AfterFunc) +// when the stream's ReadTimeout has fired. +func (st *stream) onReadTimeout() { + // Wrap the ErrDeadlineExceeded to avoid callers depending on us + // returning the bare error. + st.body.CloseWithError(fmt.Errorf("%w", os.ErrDeadlineExceeded)) +} + // onWriteTimeout is run on its own goroutine (from time.AfterFunc) // when the stream's WriteTimeout has fired. func (st *stream) onWriteTimeout() { - st.sc.writeFrameFromHandler(FrameWriteRequest{write: streamError(st.id, ErrCodeInternal)}) + st.sc.writeFrameFromHandler(FrameWriteRequest{write: StreamError{ + StreamID: st.id, + Code: ErrCodeInternal, + Cause: os.ErrDeadlineExceeded, + }}) } func (sc *serverConn) processHeaders(f *MetaHeadersFrame) error { sc.serveG.check() id := f.StreamID - if sc.inGoAway { - // Ignore. - return nil - } // http://tools.ietf.org/html/rfc7540#section-5.1.1 // Streams initiated by a client MUST use odd-numbered stream // identifiers. [...] An endpoint that receives an unexpected @@ -1953,6 +2010,9 @@ func (sc *serverConn) processHeaders(f *MetaHeadersFrame) error { // (in Go 1.8), though. That's a more sane option anyway. if sc.hs.ReadTimeout != 0 { sc.conn.SetReadDeadline(time.Time{}) + if st.body != nil { + st.readDeadline = time.AfterFunc(sc.hs.ReadTimeout, st.onReadTimeout) + } } go sc.runHandler(rw, req, handler) @@ -2021,9 +2081,6 @@ func (sc *serverConn) checkPriority(streamID uint32, p PriorityParam) error { } func (sc *serverConn) processPriority(f *PriorityFrame) error { - if sc.inGoAway { - return nil - } if err := sc.checkPriority(f.StreamID, f.PriorityParam); err != nil { return err } @@ -2322,39 +2379,24 @@ func (sc *serverConn) noteBodyReadFromHandler(st *stream, n int, err error) { func (sc *serverConn) noteBodyRead(st *stream, n int) { sc.serveG.check() - sc.sendWindowUpdate(nil) // conn-level + sc.sendWindowUpdate(nil, n) // conn-level if st.state != stateHalfClosedRemote && st.state != stateClosed { // Don't send this WINDOW_UPDATE if the stream is closed // remotely. - sc.sendWindowUpdate(st) + sc.sendWindowUpdate(st, n) } } // st may be nil for conn-level -func (sc *serverConn) sendWindowUpdate(st *stream) { +func (sc *serverConn) sendWindowUpdate(st *stream, n int) { sc.serveG.check() - - var n int32 - if st == nil { - if avail, windowSize := sc.inflow.available(), sc.srv.initialConnRecvWindowSize(); avail > windowSize/2 { - return - } else { - n = windowSize - avail - } - } else { - if avail, windowSize := st.inflow.available(), sc.srv.initialStreamRecvWindowSize(); avail > windowSize/2 { - return - } else { - n = windowSize - avail - } - } // "The legal range for the increment to the flow control // window is 1 to 2^31-1 (2,147,483,647) octets." // A Go Read call on 64-bit machines could in theory read // a larger Read than this. Very unlikely, but we handle it here // rather than elsewhere for now. const maxUint31 = 1<<31 - 1 - for n >= maxUint31 { + for n > maxUint31 { sc.sendWindowUpdate32(st, maxUint31) n -= maxUint31 } @@ -2474,7 +2516,15 @@ type responseWriterState struct { type chunkWriter struct{ rws *responseWriterState } -func (cw chunkWriter) Write(p []byte) (n int, err error) { return cw.rws.writeChunk(p) } +func (cw chunkWriter) Write(p []byte) (n int, err error) { + n, err = cw.rws.writeChunk(p) + if err == errStreamClosed { + // If writing failed because the stream has been closed, + // return the reason it was closed. + err = cw.rws.stream.closeErr + } + return n, err +} func (rws *responseWriterState) hasTrailers() bool { return len(rws.trailers) > 0 } @@ -2668,23 +2718,85 @@ func (rws *responseWriterState) promoteUndeclaredTrailers() { } } +func (w *responseWriter) SetReadDeadline(deadline time.Time) error { + st := w.rws.stream + if !deadline.IsZero() && deadline.Before(time.Now()) { + // If we're setting a deadline in the past, reset the stream immediately + // so writes after SetWriteDeadline returns will fail. + st.onReadTimeout() + return nil + } + w.rws.conn.sendServeMsg(func(sc *serverConn) { + if st.readDeadline != nil { + if !st.readDeadline.Stop() { + // Deadline already exceeded, or stream has been closed. + return + } + } + if deadline.IsZero() { + st.readDeadline = nil + } else if st.readDeadline == nil { + st.readDeadline = time.AfterFunc(deadline.Sub(time.Now()), st.onReadTimeout) + } else { + st.readDeadline.Reset(deadline.Sub(time.Now())) + } + }) + return nil +} + +func (w *responseWriter) SetWriteDeadline(deadline time.Time) error { + st := w.rws.stream + if !deadline.IsZero() && deadline.Before(time.Now()) { + // If we're setting a deadline in the past, reset the stream immediately + // so writes after SetWriteDeadline returns will fail. + st.onWriteTimeout() + return nil + } + w.rws.conn.sendServeMsg(func(sc *serverConn) { + if st.writeDeadline != nil { + if !st.writeDeadline.Stop() { + // Deadline already exceeded, or stream has been closed. + return + } + } + if deadline.IsZero() { + st.writeDeadline = nil + } else if st.writeDeadline == nil { + st.writeDeadline = time.AfterFunc(deadline.Sub(time.Now()), st.onWriteTimeout) + } else { + st.writeDeadline.Reset(deadline.Sub(time.Now())) + } + }) + return nil +} + func (w *responseWriter) Flush() { + w.FlushError() +} + +func (w *responseWriter) FlushError() error { rws := w.rws if rws == nil { panic("Header called after Handler finished") } + var err error if rws.bw.Buffered() > 0 { - if err := rws.bw.Flush(); err != nil { - // Ignore the error. The frame writer already knows. - return - } + err = rws.bw.Flush() } else { // The bufio.Writer won't call chunkWriter.Write // (writeChunk with zero bytes, so we have to do it // ourselves to force the HTTP response header and/or // final DATA frame (with END_STREAM) to be sent. - rws.writeChunk(nil) + _, err = chunkWriter{rws}.Write(nil) + if err == nil { + select { + case <-rws.stream.cw: + err = rws.stream.closeErr + default: + } + } } + return err } func (w *responseWriter) CloseNotify() <-chan bool { diff --git a/vendor/golang.org/x/net/http2/transport.go b/vendor/golang.org/x/net/http2/transport.go @@ -16,6 +16,7 @@ import ( "errors" "fmt" "io" + "io/fs" "log" "math" mathrand "math/rand" @@ -117,6 +118,28 @@ type Transport struct { // to mean no limit. MaxHeaderListSize uint32 + // MaxReadFrameSize is the http2 SETTINGS_MAX_FRAME_SIZE to send in the + // initial settings frame. It is the size in bytes of the largest frame + // payload that the sender is willing to receive. If 0, no setting is + // sent, and the value is provided by the peer, which should be 16384 + // according to the spec: + // https://datatracker.ietf.org/doc/html/rfc7540#section-6.5.2. + // Values are bounded in the range 16k to 16M. + MaxReadFrameSize uint32 + + // MaxDecoderHeaderTableSize optionally specifies the http2 + // SETTINGS_HEADER_TABLE_SIZE to send in the initial settings frame. It + // informs the remote endpoint of the maximum size of the header compression + // table used to decode header blocks, in octets. If zero, the default value + // of 4096 is used. + MaxDecoderHeaderTableSize uint32 + + // MaxEncoderHeaderTableSize optionally specifies an upper limit for the + // header compression table used for encoding request headers. Received + // SETTINGS_HEADER_TABLE_SIZE settings are capped at this limit. If zero, + // the default value of 4096 is used. + MaxEncoderHeaderTableSize uint32 + // StrictMaxConcurrentStreams controls whether the server's // SETTINGS_MAX_CONCURRENT_STREAMS should be respected // globally. If false, new TCP connections are created to the @@ -170,6 +193,19 @@ func (t *Transport) maxHeaderListSize() uint32 { return t.MaxHeaderListSize } +func (t *Transport) maxFrameReadSize() uint32 { + if t.MaxReadFrameSize == 0 { + return 0 // use the default provided by the peer + } + if t.MaxReadFrameSize < minMaxFrameSize { + return minMaxFrameSize + } + if t.MaxReadFrameSize > maxFrameSize { + return maxFrameSize + } + return t.MaxReadFrameSize +} + func (t *Transport) disableCompression() bool { return t.DisableCompression || (t.t1 != nil && t.t1.DisableCompression) } @@ -292,10 +328,11 @@ type ClientConn struct { lastActive time.Time lastIdle time.Time // time last idle // Settings from peer: (also guarded by wmu) - maxFrameSize uint32 - maxConcurrentStreams uint32 - peerMaxHeaderListSize uint64 - initialWindowSize uint32 + maxFrameSize uint32 + maxConcurrentStreams uint32 + peerMaxHeaderListSize uint64 + peerMaxHeaderTableSize uint32 + initialWindowSize uint32 // reqHeaderMu is a 1-element semaphore channel controlling access to sending new requests. // Write to reqHeaderMu to lock it, read from it to unlock. @@ -501,6 +538,15 @@ func authorityAddr(scheme string, authority string) (addr string) { return net.JoinHostPort(host, port) } +var retryBackoffHook func(time.Duration) *time.Timer + +func backoffNewTimer(d time.Duration) *time.Timer { + if retryBackoffHook != nil { + return retryBackoffHook(d) + } + return time.NewTimer(d) +} + // RoundTripOpt is like RoundTrip, but takes options. func (t *Transport) RoundTripOpt(req *http.Request, opt RoundTripOpt) (*http.Response, error) { if !(req.URL.Scheme == "https" || (req.URL.Scheme == "http" && t.AllowHTTP)) { @@ -526,11 +572,14 @@ func (t *Transport) RoundTripOpt(req *http.Request, opt RoundTripOpt) (*http.Res } backoff := float64(uint(1) << (uint(retry) - 1)) backoff += backoff * (0.1 * mathrand.Float64()) + d := time.Second * time.Duration(backoff) + timer := backoffNewTimer(d) select { - case <-time.After(time.Second * time.Duration(backoff)): + case <-timer.C: t.vlogf("RoundTrip retrying after failure: %v", err) continue case <-req.Context().Done(): + timer.Stop() err = req.Context().Err() } } @@ -668,6 +717,20 @@ func (t *Transport) expectContinueTimeout() time.Duration { return t.t1.ExpectContinueTimeout } +func (t *Transport) maxDecoderHeaderTableSize() uint32 { + if v := t.MaxDecoderHeaderTableSize; v > 0 { + return v + } + return initialHeaderTableSize +} + +func (t *Transport) maxEncoderHeaderTableSize() uint32 { + if v := t.MaxEncoderHeaderTableSize; v > 0 { + return v + } + return initialHeaderTableSize +} + func (t *Transport) NewClientConn(c net.Conn) (*ClientConn, error) { return t.newClientConn(c, t.disableKeepAlives()) } @@ -708,15 +771,19 @@ func (t *Transport) newClientConn(c net.Conn, singleUse bool) (*ClientConn, erro }) cc.br = bufio.NewReader(c) cc.fr = NewFramer(cc.bw, cc.br) + if t.maxFrameReadSize() != 0 { + cc.fr.SetMaxReadFrameSize(t.maxFrameReadSize()) + } if t.CountError != nil { cc.fr.countError = t.CountError } - cc.fr.ReadMetaHeaders = hpack.NewDecoder(initialHeaderTableSize, nil) + maxHeaderTableSize := t.maxDecoderHeaderTableSize() + cc.fr.ReadMetaHeaders = hpack.NewDecoder(maxHeaderTableSize, nil) cc.fr.MaxHeaderListSize = t.maxHeaderListSize() - // TODO: SetMaxDynamicTableSize, SetMaxDynamicTableSizeLimit on - // henc in response to SETTINGS frames? cc.henc = hpack.NewEncoder(&cc.hbuf) + cc.henc.SetMaxDynamicTableSizeLimit(t.maxEncoderHeaderTableSize()) + cc.peerMaxHeaderTableSize = initialHeaderTableSize if t.AllowHTTP { cc.nextStreamID = 3 @@ -731,9 +798,15 @@ func (t *Transport) newClientConn(c net.Conn, singleUse bool) (*ClientConn, erro {ID: SettingEnablePush, Val: 0}, {ID: SettingInitialWindowSize, Val: transportDefaultStreamFlow}, } + if max := t.maxFrameReadSize(); max != 0 { + initialSettings = append(initialSettings, Setting{ID: SettingMaxFrameSize, Val: max}) + } if max := t.maxHeaderListSize(); max != 0 { initialSettings = append(initialSettings, Setting{ID: SettingMaxHeaderListSize, Val: max}) } + if maxHeaderTableSize != initialHeaderTableSize { + initialSettings = append(initialSettings, Setting{ID: SettingHeaderTableSize, Val: maxHeaderTableSize}) + } cc.bw.Write(clientPreface) cc.fr.WriteSettings(initialSettings...) @@ -1075,7 +1148,7 @@ var errRequestCanceled = errors.New("net/http: request canceled") func commaSeparatedTrailers(req *http.Request) (string, error) { keys := make([]string, 0, len(req.Trailer)) for k := range req.Trailer { - k = http.CanonicalHeaderKey(k) + k = canonicalHeader(k) switch k { case "Transfer-Encoding", "Trailer", "Content-Length": return "", fmt.Errorf("invalid Trailer key %q", k) @@ -1612,7 +1685,7 @@ func (cs *clientStream) writeRequestBody(req *http.Request) (err error) { var sawEOF bool for !sawEOF { - n, err := body.Read(buf[:len(buf)]) + n, err := body.Read(buf) if hasContentLen { remainLen -= int64(n) if remainLen == 0 && err == nil { @@ -1915,7 +1988,7 @@ func (cc *ClientConn) encodeHeaders(req *http.Request, addGzipHeader bool, trail // Header list size is ok. Write the headers. enumerateHeaders(func(name, value string) { - name, ascii := asciiToLower(name) + name, ascii := lowerHeader(name) if !ascii { // Skip writing invalid headers. Per RFC 7540, Section 8.1.2, header // field names have to be ASCII characters (just as in HTTP/1.x). @@ -1968,7 +2041,7 @@ func (cc *ClientConn) encodeTrailers(trailer http.Header) ([]byte, error) { } for k, vv := range trailer { - lowKey, ascii := asciiToLower(k) + lowKey, ascii := lowerHeader(k) if !ascii { // Skip writing invalid headers. Per RFC 7540, Section 8.1.2, header // field names have to be ASCII characters (just as in HTTP/1.x). @@ -2301,7 +2374,7 @@ func (rl *clientConnReadLoop) handleResponse(cs *clientStream, f *MetaHeadersFra Status: status + " " + http.StatusText(statusCode), } for _, hf := range regularFields { - key := http.CanonicalHeaderKey(hf.Name) + key := canonicalHeader(hf.Name) if key == "Trailer" { t := res.Trailer if t == nil { @@ -2309,7 +2382,7 @@ func (rl *clientConnReadLoop) handleResponse(cs *clientStream, f *MetaHeadersFra res.Trailer = t } foreachHeaderElement(hf.Value, func(v string) { - t[http.CanonicalHeaderKey(v)] = nil + t[canonicalHeader(v)] = nil }) } else { vv := header[key] @@ -2414,7 +2487,7 @@ func (rl *clientConnReadLoop) processTrailers(cs *clientStream, f *MetaHeadersFr trailer := make(http.Header) for _, hf := range f.RegularFields() { - key := http.CanonicalHeaderKey(hf.Name) + key := canonicalHeader(hf.Name) trailer[key] = append(trailer[key], hf.Value) } cs.trailer = trailer @@ -2760,8 +2833,10 @@ func (rl *clientConnReadLoop) processSettingsNoWrite(f *SettingsFrame) error { cc.cond.Broadcast() cc.initialWindowSize = s.Val + case SettingHeaderTableSize: + cc.henc.SetMaxDynamicTableSize(s.Val) + cc.peerMaxHeaderTableSize = s.Val default: - // TODO(bradfitz): handle more settings? SETTINGS_HEADER_TABLE_SIZE probably. cc.vlogf("Unhandled Setting: %v", s) } return nil @@ -2985,7 +3060,11 @@ func (gz *gzipReader) Read(p []byte) (n int, err error) { } func (gz *gzipReader) Close() error { - return gz.body.Close() + if err := gz.body.Close(); err != nil { + return err + } + gz.zerr = fs.ErrClosed + return nil } type errorReader struct{ err error } diff --git a/vendor/golang.org/x/net/internal/socket/zsys_openbsd_ppc64.go b/vendor/golang.org/x/net/internal/socket/zsys_openbsd_ppc64.go @@ -0,0 +1,30 @@ +// Code generated by cmd/cgo -godefs; DO NOT EDIT. +// cgo -godefs defs_openbsd.go + +package socket + +type iovec struct { + Base *byte + Len uint64 +} + +type msghdr struct { + Name *byte + Namelen uint32 + Iov *iovec + Iovlen uint32 + Control *byte + Controllen uint32 + Flags int32 +} + +type cmsghdr struct { + Len uint32 + Level int32 + Type int32 +} + +const ( + sizeofIovec = 0x10 + sizeofMsghdr = 0x30 +) diff --git a/vendor/golang.org/x/net/internal/socket/zsys_openbsd_riscv64.go b/vendor/golang.org/x/net/internal/socket/zsys_openbsd_riscv64.go @@ -0,0 +1,30 @@ +// Code generated by cmd/cgo -godefs; DO NOT EDIT. +// cgo -godefs defs_openbsd.go + +package socket + +type iovec struct { + Base *byte + Len uint64 +} + +type msghdr struct { + Name *byte + Namelen uint32 + Iov *iovec + Iovlen uint32 + Control *byte + Controllen uint32 + Flags int32 +} + +type cmsghdr struct { + Len uint32 + Level int32 + Type int32 +} + +const ( + sizeofIovec = 0x10 + sizeofMsghdr = 0x30 +) diff --git a/vendor/golang.org/x/net/publicsuffix/data/children b/vendor/golang.org/x/net/publicsuffix/data/children Binary files differ. diff --git a/vendor/golang.org/x/net/publicsuffix/data/nodes b/vendor/golang.org/x/net/publicsuffix/data/nodes Binary files differ. diff --git a/vendor/golang.org/x/net/publicsuffix/data/text b/vendor/golang.org/x/net/publicsuffix/data/text @@ -0,0 +1 @@ +billustrationionjukudoyamakeupowiathletajimageandsoundandvision-riopretobishimagentositecnologiabiocelotenkawabipanasonicatfoodnetworkinggroupperbirdartcenterprisecloudaccesscamdvrcampaniabirkenesoddtangenovarahkkeravjuegoshikikiraraholtalenishikatakazakindependent-revieweirbirthplaceu-1bitbucketrzynishikatsuragirlyuzawabitternidiscoverybjarkoybjerkreimdbaltimore-og-romsdalp1bjugnishikawazukamishihoronobeautydalwaysdatabaseballangenkainanaejrietisalatinabenogatabitorderblackfridaybloombergbauernishimerabloxcms3-website-us-west-2blushakotanishinomiyashironocparachutingjovikarateu-2bmoattachmentsalangenishinoomotegovtattoolforgerockartuzybmsalon-1bmwellbeingzoneu-3bnrwesteuropenairbusantiquesaltdalomzaporizhzhedmarkaratsuginamikatagamilanotairesistanceu-4bondigitaloceanspacesaludishangrilanciabonnishinoshimatsusakahoginankokubunjindianapolis-a-bloggerbookonlinewjerseyboomlahppiacenzachpomorskienishiokoppegardiskussionsbereichattanooganordkapparaglidinglassassinationalheritageu-north-1boschaefflerdalondonetskarelianceu-south-1bostik-serveronagasukevje-og-hornnesalvadordalibabalatinord-aurdalipaywhirlondrinaplesknsalzburgleezextraspace-to-rentalstomakomaibarabostonakijinsekikogentappssejnyaarparalleluxembourglitcheltenham-radio-opensocialorenskogliwicebotanicalgardeno-staginglobodoes-itcouldbeworldisrechtranakamurataiwanairforcechireadthedocsxeroxfinitybotanicgardenishitosashimizunaminamiawajikindianmarketinglogowestfalenishiwakindielddanuorrindigenamsskoganeindustriabotanyanagawallonieruchomoscienceandindustrynissandiegoddabouncemerckmsdnipropetrovskjervoyageorgeorgiabounty-fullensakerrypropertiesamegawaboutiquebecommerce-shopselectaxihuanissayokkaichintaifun-dnsaliasamnangerboutireservditchyouriparasiteboyfriendoftheinternetflixjavaldaostathellevangerbozen-sudtirolottokorozawabozen-suedtirolouvreisenissedalovepoparisor-fronisshingucciprianiigataipeidsvollovesickariyakumodumeloyalistoragebplaceducatorprojectcmembersampalermomahaccapooguybrandywinevalleybrasiliadboxosascoli-picenorddalpusercontentcp4bresciaokinawashirosatobamagazineuesamsclubartowestus2brindisibenikitagataikikuchikumagayagawalmartgorybristoloseyouriparliamentjeldsundivtasvuodnakaniikawatanagurabritishcolumbialowiezaganiyodogawabroadcastlebtimnetzlgloomy-routerbroadwaybroke-itvedestrandivttasvuotnakanojohanamakindlefrakkestadiybrokerbrothermesaverdeatnulmemergencyachtsamsungloppennebrowsersafetymarketsandnessjoenl-ams-1brumunddalublindesnesandoybrunelastxn--0trq7p7nnbrusselsandvikcoromantovalle-daostavangerbruxellesanfranciscofreakunekobayashikaoirmemorialucaniabryanskodjedugit-pagespeedmobilizeroticagliaricoharuovatlassian-dev-builderscbglugsjcbnpparibashkiriabrynewmexicoacharterbuzzwfarmerseinebwhalingmbhartiffany-2bzhitomirbzzcodyn-vpndnsantacruzsantafedjeffersoncoffeedbackdropocznordlandrudupontariobranconavstackasaokamikoaniikappudownloadurbanamexhibitioncogretakamatsukawacollectioncolognewyorkshirebungoonordre-landurhamburgrimstadynamisches-dnsantamariakecolonialwilliamsburgripeeweeklylotterycoloradoplateaudnedalncolumbusheycommunexus-3community-prochowicecomobaravendbambleborkapsicilyonagoyauthgear-stagingivestbyglandroverhallair-traffic-controlleyombomloabaths-heilbronnoysunddnslivegarsheiheijibigawaustraliaustinnfshostrolekamisatokaizukameyamatotakadaustevollivornowtv-infolldalolipopmcdircompanychipstmncomparemarkerryhotelsantoandrepbodynaliasnesoddenmarkhangelskjakdnepropetrovskiervaapsteigenflfannefrankfurtjxn--12cfi8ixb8lutskashibatakashimarshallstatebankashiharacomsecaaskimitsubatamibuildingriwatarailwaycondoshichinohealth-carereformemsettlersanukindustriesteamfamberlevagangaviikanonjinfinitigotembaixadaconferenceconstructionconsuladogadollsaobernardomniweatherchanneluxuryconsultanthropologyconsultingroks-thisayamanobeokakegawacontactkmaxxn--12co0c3b4evalled-aostamayukinsuregruhostingrondarcontagematsubaravennaharimalborkashiwaracontemporaryarteducationalchikugodonnakaiwamizawashtenawsmppl-wawdev-myqnapcloudcontrolledogawarabikomaezakirunoopschlesischesaogoncartoonartdecologiacontractorskenconventureshinodearthickashiwazakiyosatokamachilloutsystemscloudsitecookingchannelsdvrdnsdojogaszkolancashirecifedexetercoolblogdnsfor-better-thanawassamukawatarikuzentakatairavpagecooperativano-frankivskygearapparochernigovernmentksatxn--1ck2e1bananarepublic-inquiryggeebinatsukigatajimidsundevelopmentatarantours3-external-1copenhagencyclopedichiropracticatholicaxiashorokanaiecoproductionsaotomeinforumzcorporationcorsicahcesuoloanswatch-and-clockercorvettenrissagaeroclubmedecincinnativeamericanantiquest-le-patron-k3sapporomuracosenzamamidorittoeigersundynathomebuiltwithdarkasserverrankoshigayaltakasugaintelligencecosidnshome-webservercellikescandypoppdaluzerncostumedicallynxn--1ctwolominamatargets-itlon-2couchpotatofriesardegnarutomobegetmyiparsardiniacouncilvivanovoldacouponsarlcozoracq-acranbrookuwanalyticsarpsborgrongausdalcrankyowariasahikawatchandclockasukabeauxartsandcraftsarufutsunomiyawakasaikaitabashijonawatecrdyndns-at-homedepotaruinterhostsolutionsasayamatta-varjjatmpartinternationalfirearmsaseboknowsitallcreditcardyndns-at-workshoppingrossetouchigasakitahiroshimansionsaskatchewancreditunioncremonashgabadaddjaguarqcxn--1lqs03ncrewhmessinarashinomutashinaintuitoyosatoyokawacricketnedalcrimeast-kazakhstanangercrotonecrownipartsassarinuyamashinazawacrsaudacruisesauheradyndns-blogsitextilegnicapetownnews-stagingroundhandlingroznycuisinellancasterculturalcentertainmentoyotapartysvardocuneocupcakecuritibabymilk3curvallee-d-aosteinkjerusalempresashibetsurugashimaringatlantajirinvestmentsavannahgacutegirlfriendyndns-freeboxoslocalzonecymrulvikasumigaurawa-mazowszexnetlifyinzairtrafficplexus-1cyonabarumesswithdnsaveincloudyndns-homednsaves-the-whalessandria-trani-barletta-andriatranibarlettaandriacyouthruherecipescaracaltanissettaishinomakilovecollegefantasyleaguernseyfembetsukumiyamazonawsglobalacceleratorahimeshimabaridagawatchesciencecentersciencehistoryfermockasuyamegurownproviderferraraferraris-a-catererferrerotikagoshimalopolskanlandyndns-picsaxofetsundyndns-remotewdyndns-ipasadenaroyfgujoinvilleitungsenfhvalerfidontexistmein-iservschulegallocalhostrodawarafieldyndns-serverdalfigueresindevicenzaolkuszczytnoipirangalsaceofilateliafilegear-augustowhoswholdingsmall-webthingscientistordalfilegear-debianfilegear-gbizfilegear-iefilegear-jpmorganfilegear-sg-1filminamiechizenfinalfinancefineartscrapper-sitefinlandyndns-weblikes-piedmonticellocus-4finnoyfirebaseappaviancarrdyndns-wikinkobearalvahkijoetsuldalvdalaskanittedallasalleasecuritytacticschoenbrunnfirenetoystre-slidrettozawafirenzefirestonefirewebpaascrappingulenfirmdaleikangerfishingoldpoint2thisamitsukefitjarvodkafjordyndns-workangerfitnessettlementozsdellogliastradingunmanxn--1qqw23afjalerfldrvalleeaosteflekkefjordyndns1flesberguovdageaidnunjargaflickragerogerscrysecretrosnubar0flierneflirfloginlinefloppythonanywhereggio-calabriafloraflorencefloridatsunangojomedicinakamagayahabackplaneapplinzis-a-celticsfanfloripadoval-daostavalleyfloristanohatakahamalselvendrellflorokunohealthcareerscwienflowerservehalflifeinsurancefltrani-andria-barletta-trani-andriaflynnhosting-clusterfnchiryukyuragifuchungbukharanzanfndynnschokokekschokoladenfnwkaszubytemarkatowicefoolfor-ourfor-somedio-campidano-mediocampidanomediofor-theaterforexrothachijolsterforgotdnservehttpbin-butterforli-cesena-forlicesenaforlillesandefjordynservebbscholarshipschoolbusinessebyforsaleirfjordynuniversityforsandasuolodingenfortalfortefortmissoulangevagrigentomologyeonggiehtavuoatnagahamaroygardencowayfortworthachinoheavyfosneservehumourfotraniandriabarlettatraniandriafoxfordecampobassociatest-iserveblogsytemp-dnserveirchitachinakagawashingtondchernivtsiciliafozfr-par-1fr-par-2franamizuhobby-sitefrancaiseharafranziskanerimalvikatsushikabedzin-addrammenuorochesterfredrikstadtvserveminecraftranoyfreeddnsfreebox-oservemp3freedesktopfizerfreemasonryfreemyiphosteurovisionfreesitefreetlservep2pgfoggiafreiburgushikamifuranorfolkebibleksvikatsuyamarugame-hostyhostingxn--2m4a15efrenchkisshikirkeneservepicservequakefreseniuscultureggio-emilia-romagnakasatsunairguardiannakadomarinebraskaunicommbankaufentigerfribourgfriuli-v-giuliafriuli-ve-giuliafriuli-vegiuliafriuli-venezia-giuliafriuli-veneziagiuliafriuli-vgiuliafriuliv-giuliafriulive-giuliafriulivegiuliafriulivenezia-giuliafriuliveneziagiuliafriulivgiuliafrlfroganservesarcasmatartanddesignfrognfrolandynv6from-akrehamnfrom-alfrom-arfrom-azurewebsiteshikagamiishibukawakepnoorfrom-capitalonewportransipharmacienservicesevastopolefrom-coalfrom-ctranslatedynvpnpluscountryestateofdelawareclaimschoolsztynsettsupportoyotomiyazakis-a-candidatefrom-dchitosetodayfrom-dediboxafrom-flandersevenassisienarvikautokeinoticeablewismillerfrom-gaulardalfrom-hichisochikuzenfrom-iafrom-idyroyrvikingruenoharafrom-ilfrom-in-berlindasewiiheyaizuwakamatsubushikusakadogawafrom-ksharpharmacyshawaiijimarcheapartmentshellaspeziafrom-kyfrom-lanshimokawafrom-mamurogawatsonfrom-mdfrom-medizinhistorischeshimokitayamattelekommunikationfrom-mifunefrom-mnfrom-modalenfrom-mshimonitayanagit-reposts-and-telecommunicationshimonosekikawafrom-mtnfrom-nchofunatoriginstantcloudfrontdoorfrom-ndfrom-nefrom-nhktistoryfrom-njshimosuwalkis-a-chefarsundyndns-mailfrom-nminamifuranofrom-nvalleedaostefrom-nynysagamiharafrom-ohdattorelayfrom-oketogolffanshimotsukefrom-orfrom-padualstackazoologicalfrom-pratogurafrom-ris-a-conservativegashimotsumayfirstockholmestrandfrom-schmidtre-gauldalfrom-sdscloudfrom-tnfrom-txn--2scrj9chonanbunkyonanaoshimakanegasakikugawaltervistailscaleforcefrom-utsiracusaikirovogradoyfrom-vald-aostarostwodzislawildlifestylefrom-vtransportefrom-wafrom-wiardwebview-assetshinichinanfrom-wvanylvenneslaskerrylogisticshinjournalismartlabelingfrom-wyfrosinonefrostalowa-wolawafroyal-commissionfruskydivingfujiiderafujikawaguchikonefujiminokamoenairkitapps-auction-rancherkasydneyfujinomiyadattowebhoptogakushimotoganefujiokayamandalfujisatoshonairlinedre-eikerfujisawafujishiroishidakabiratoridedyn-berlincolnfujitsuruokazakiryuohkurafujiyoshidavvenjargap-east-1fukayabeardubaiduckdnsncfdfukuchiyamadavvesiidappnodebalancertmgrazimutheworkpccwilliamhillfukudomigawafukuis-a-cpalacefukumitsubishigakisarazure-mobileirvikazteleportlligatransurlfukuokakamigaharafukuroishikarikaturindalfukusakishiwadazaifudaigokaseljordfukuyamagatakaharunusualpersonfunabashiriuchinadafunagatakahashimamakisofukushimangonnakatombetsumy-gatewayfunahashikamiamakusatsumasendaisenergyfundaciofunkfeuerfuoiskujukuriyamangyshlakasamatsudoomdnstracefuosskoczowinbar1furubirafurudonostiaafurukawajimaniwakuratefusodegaurafussaintlouis-a-anarchistoireggiocalabriafutabayamaguchinomihachimanagementrapaniizafutboldlygoingnowhere-for-morenakatsugawafuttsurutaharafuturecmshinjukumamotoyamashikefuturehostingfuturemailingfvghamurakamigoris-a-designerhandcraftedhandsonyhangglidinghangoutwentehannanmokuizumodenaklodzkochikuseihidorahannorthwesternmutualhanyuzenhapmircloudletshintokushimahappounzenharvestcelebrationhasamap-northeast-3hasaminami-alpshintomikasaharahashbangryhasudahasura-apphiladelphiaareadmyblogspotrdhasvikfh-muensterhatogayahoooshikamaishimofusartshinyoshitomiokamisunagawahatoyamazakitakatakanabeatshiojirishirifujiedahatsukaichikaiseiyoichimkentrendhostinghattfjelldalhayashimamotobusellfylkesbiblackbaudcdn-edgestackhero-networkisboringhazuminobushistoryhelplfinancialhelsinkitakyushuaiahembygdsforbundhemneshioyanaizuerichardlimanowarudahemsedalhepforgeblockshirahamatonbetsurgeonshalloffameiwamasoyheroyhetemlbfanhgtvaohigashiagatsumagoianiahigashichichibuskerudhigashihiroshimanehigashiizumozakitamigrationhigashikagawahigashikagurasoedahigashikawakitaaikitamotosunndalhigashikurumeeresinstaginghigashimatsushimarburghigashimatsuyamakitaakitadaitoigawahigashimurayamamotorcycleshirakokonoehigashinarusells-for-lesshiranukamitondabayashiogamagoriziahigashinehigashiomitamanortonsberghigashiosakasayamanakakogawahigashishirakawamatakanezawahigashisumiyoshikawaminamiaikitanakagusukumodernhigashitsunosegawahigashiurausukitashiobarahigashiyamatokoriyamanashifteditorxn--30rr7yhigashiyodogawahigashiyoshinogaris-a-doctorhippyhiraizumisatohnoshoohirakatashinagawahiranairportland-4-salernogiessennanjobojis-a-financialadvisor-aurdalhirarahiratsukaerusrcfastlylbanzaicloudappspotagerhirayaitakaokalmykiahistorichouseshiraois-a-geekhakassiahitachiomiyagildeskaliszhitachiotagonohejis-a-greenhitraeumtgeradegreehjartdalhjelmelandholeckodairaholidayholyhomegoodshiraokamitsuehomeiphilatelyhomelinkyard-cloudjiffyresdalhomelinuxn--32vp30hachiojiyahikobierzycehomeofficehomesecuritymacaparecidahomesecuritypchoseikarugamvikarlsoyhomesenseeringhomesklepphilipsynology-diskstationhomeunixn--3bst00minamiiserniahondahongooglecodebergentinghonjyoitakarazukaluganskharkivaporcloudhornindalhorsells-for-ustkanmakiwielunnerhortendofinternet-dnshiratakahagitapphoenixn--3ds443ghospitalhoteleshishikuis-a-guruhotelwithflightshisognehotmailhoyangerhoylandetakasagophonefosshisuifuettertdasnetzhumanitieshitaramahungryhurdalhurumajis-a-hard-workershizukuishimogosenhyllestadhyogoris-a-hunterhyugawarahyundaiwafuneis-into-carsiiitesilkharkovaresearchaeologicalvinklein-the-bandairtelebitbridgestoneenebakkeshibechambagricultureadymadealstahaugesunderseaportsinfolionetworkdalaheadjudygarlandis-into-cartoonsimple-urlis-into-gamesserlillyis-leetrentin-suedtirolis-lostre-toteneis-a-lawyeris-not-certifiedis-savedis-slickhersonis-uberleetrentino-a-adigeis-very-badajozis-a-liberalis-very-evillageis-very-goodyearis-very-niceis-very-sweetpepperugiais-with-thebandovre-eikerisleofmanaustdaljellybeanjenv-arubahccavuotnagaragusabaerobaticketsirdaljeonnamerikawauejetztrentino-aadigejevnakershusdecorativeartslupskhmelnytskyivarggatrentino-alto-adigejewelryjewishartgalleryjfkhplaystation-cloudyclusterjgorajlljls-sto1jls-sto2jls-sto3jmphotographysiojnjaworznospamproxyjoyentrentino-altoadigejoyokaichibajddarchitecturealtorlandjpnjprslzjurkotohiradomainstitutekotourakouhokutamamurakounosupabasembokukizunokunimilitarykouyamarylhurstjordalshalsenkouzushimasfjordenkozagawakozakis-a-llamarnardalkozowindowskrakowinnersnoasakatakkokamiminersokndalkpnkppspbarcelonagawakkanaibetsubamericanfamilyds3-fips-us-gov-west-1krasnikahokutokashikis-a-musiciankrasnodarkredstonekrelliankristiansandcatsolarssonkristiansundkrodsheradkrokstadelvalle-aostatic-accessolognekryminamiizukaminokawanishiaizubangekumanotteroykumatorinovecoregontrailroadkumejimashikis-a-nascarfankumenantokonamegatakatoris-a-nursells-itrentin-sud-tirolkunisakis-a-painteractivelvetrentin-sudtirolkunitachiaraindropilotsolundbecknx-serversellsyourhomeftphxn--3e0b707ekunitomigusukuleuvenetokigawakunneppuboliviajessheimpertrixcdn77-secureggioemiliaromagnamsosnowiechristiansburgminakamichiharakunstsammlungkunstunddesignkuokgroupimientaketomisatoolsomakurehabmerkurgankurobeeldengeluidkurogimimatakatsukis-a-patsfankuroisoftwarezzoologykuromatsunais-a-personaltrainerkuronkurotakikawasakis-a-photographerokussldkushirogawakustanais-a-playershiftcryptonomichigangwonkusupersalezajskomakiyosemitekutchanelkutnowruzhgorodeokuzumakis-a-republicanonoichinomiyakekvafjordkvalsundkvamscompute-1kvanangenkvinesdalkvinnheradkviteseidatingkvitsoykwpspdnsomnatalkzmisakis-a-soxfanmisasaguris-a-studentalmisawamisconfusedmishimasudamissilemisugitokuyamatsumaebashikshacknetrentino-sued-tirolmitakeharamitourismilemitoyoakemiuramiyazurecontainerdpolicemiyotamatsukuris-a-teacherkassyno-dshowamjondalenmonstermontrealestatefarmequipmentrentino-suedtirolmonza-brianzapposor-odalmonza-e-della-brianzaptokyotangotpantheonsitemonzabrianzaramonzaebrianzamonzaedellabrianzamoonscalebookinghostedpictetrentinoa-adigemordoviamoriyamatsumotofukemoriyoshiminamiashigaramormonmouthachirogatakamoriokakudamatsuemoroyamatsunomortgagemoscowiosor-varangermoseushimodatemosjoenmoskenesorfoldmossorocabalena-devicesorreisahayakawakamiichikawamisatottoris-a-techietis-a-landscaperspectakasakitchenmosvikomatsushimarylandmoteginowaniihamatamakinoharamoviemovimientolgamozilla-iotrentinoaadigemtranbytomaritimekeepingmuginozawaonsensiositemuikaminoyamaxunispacemukoebenhavnmulhouseoullensvanguardmunakatanemuncienciamuosattemupinbarclaycards3-sa-east-1murmanskomforbar2murotorcraftrentinoalto-adigemusashinoharamuseetrentinoaltoadigemuseumverenigingmusicargodaddyn-o-saurlandesortlandmutsuzawamy-wanggoupilemyactivedirectorymyamazeplaymyasustor-elvdalmycdmycloudnsoruminamimakis-a-rockstarachowicemydattolocalcertificationmyddnsgeekgalaxymydissentrentinos-tirolmydobissmarterthanyoumydrobofageologymydsoundcastronomy-vigorlicemyeffectrentinostirolmyfastly-terrariuminamiminowamyfirewalledreplittlestargardmyforuminamioguni5myfritzmyftpaccessouthcarolinaturalhistorymuseumcentermyhome-servermyjinomykolaivencloud66mymailermymediapchristmasakillucernemyokohamamatsudamypepinkommunalforbundmypetsouthwest1-uslivinghistorymyphotoshibalashovhadanorth-kazakhstanmypicturestaurantrentinosud-tirolmypsxn--3pxu8kommunemysecuritycamerakermyshopblocksowamyshopifymyspreadshopwarendalenugmythic-beastspectruminamisanrikubetsuppliesoomytis-a-bookkeepermaritimodspeedpartnermytuleap-partnersphinxn--41amyvnchromediatechnologymywirepaircraftingvollohmusashimurayamashikokuchuoplantationplantspjelkavikomorotsukagawaplatformsharis-a-therapistoiaplatter-appinokofuefukihaboromskogplatterpioneerplazaplcube-serversicherungplumbingoplurinacionalpodhalepodlasiellaktyubinskiptveterinairealmpmnpodzonepohlpoivronpokerpokrovskomvuxn--3hcrj9choyodobashichikashukujitawaraumalatvuopmicrosoftbankarmoypoliticarrierpolitiendapolkowicepoltavalle-d-aostaticspydebergpomorzeszowitdkongsbergponpesaro-urbino-pesarourbinopesaromasvuotnarusawapordenonepornporsangerporsangugeporsgrunnanyokoshibahikariwanumatakinouepoznanpraxis-a-bruinsfanprdpreservationpresidioprgmrprimetelemarkongsvingerprincipeprivatizehealthinsuranceprofesionalprogressivestfoldpromombetsupplypropertyprotectionprotonetrentinosued-tirolprudentialpruszkowithgoogleapiszprvcyberprzeworskogpulawypunyufuelveruminamiuonumassa-carrara-massacarraramassabuyshousesopotrentino-sud-tirolpupugliapussycateringebuzentsujiiepvhadselfiphdfcbankazunoticiashinkamigototalpvtrentinosuedtirolpwchungnamdalseidsbergmodellingmxn--11b4c3dray-dnsupdaterpzqhaebaruericssongdalenviknakayamaoris-a-cubicle-slavellinodeobjectshinshinotsurfashionstorebaselburguidefinimamateramochizukimobetsumidatlantichirurgiens-dentistes-en-franceqldqotoyohashimotoshimatsuzakis-an-accountantshowtimelbourneqponiatowadaqslgbtrentinsud-tirolqualifioappippueblockbusternopilawaquickconnectrentinsudtirolquicksytesrhtrentinsued-tirolquipelementsrltunestuff-4-saletunkonsulatrobeebyteappigboatsmolaquilanxessmushcdn77-sslingturystykaniepcetuscanytushuissier-justicetuvalleaostaverntuxfamilytwmailvestvagoyvevelstadvibo-valentiavibovalentiavideovillastufftoread-booksnestorfjordvinnicasadelamonedagestangevinnytsiavipsinaappiwatevirginiavirtual-uservecounterstrikevirtualcloudvirtualservervirtualuserveexchangevirtuelvisakuhokksundviterbolognagasakikonaikawagoevivianvivolkenkundenvixn--42c2d9avlaanderennesoyvladikavkazimierz-dolnyvladimirvlogintoyonezawavminanovologdanskonyveloftrentino-stirolvolvolkswagentstuttgartrentinsuedtirolvolyngdalvoorlopervossevangenvotevotingvotoyonovps-hostrowiecircustomer-ocimmobilienwixsitewloclawekoobindalwmcloudwmflabsurnadalwoodsidelmenhorstabackyardsurreyworse-thandawowithyoutuberspacekitagawawpdevcloudwpenginepoweredwphostedmailwpmucdnpixolinodeusercontentrentinosudtirolwpmudevcdnaccessokanagawawritesthisblogoipizzawroclawiwatsukiyonoshiroomgwtcirclerkstagewtfastvps-serverisignwuozuwzmiuwajimaxn--4gbriminingxn--4it168dxn--4it797kooris-a-libertarianxn--4pvxs4allxn--54b7fta0ccivilaviationredumbrellajollamericanexpressexyxn--55qw42gxn--55qx5dxn--5dbhl8dxn--5js045dxn--5rtp49civilisationrenderxn--5rtq34koperviklabudhabikinokawachinaganoharamcocottempurlxn--5su34j936bgsgxn--5tzm5gxn--6btw5axn--6frz82gxn--6orx2rxn--6qq986b3xlxn--7t0a264civilizationthewifiatmallorcafederation-webspacexn--80aaa0cvacationsusonoxn--80adxhksuzakananiimiharuxn--80ao21axn--80aqecdr1axn--80asehdbarclays3-us-east-2xn--80aswgxn--80aukraanghkembuchikujobservableusercontentrevisohughestripperxn--8dbq2axn--8ltr62koryokamikawanehonbetsuwanouchijiwadeliveryxn--8pvr4uxn--8y0a063axn--90a1affinitylotterybnikeisenbahnxn--90a3academiamicable-modemoneyxn--90aeroportalabamagasakishimabaraffleentry-snowplowiczeladzxn--90aishobarakawaharaoxn--90amckinseyxn--90azhytomyrxn--9dbhblg6dietritonxn--9dbq2axn--9et52uxn--9krt00axn--andy-iraxn--aroport-byandexcloudxn--asky-iraxn--aurskog-hland-jnbarefootballooningjerstadgcapebretonamicrolightingjesdalombardiadembroideryonagunicloudiherokuappanamasteiermarkaracoldwarszawauthgearappspacehosted-by-previderxn--avery-yuasakuragawaxn--b-5gaxn--b4w605ferdxn--balsan-sdtirol-nsbsuzukanazawaxn--bck1b9a5dre4civilwarmiasadoesntexisteingeekarpaczest-a-la-maisondre-landrayddns5yxn--bdddj-mrabdxn--bearalvhki-y4axn--berlevg-jxaxn--bhcavuotna-s4axn--bhccavuotna-k7axn--bidr-5nachikatsuuraxn--bievt-0qa2xn--bjarky-fyaotsurgeryxn--bjddar-ptargithubpreviewsaitohmannore-og-uvdalxn--blt-elabourxn--bmlo-graingerxn--bod-2naturalsciencesnaturellesuzukis-an-actorxn--bozen-sdtirol-2obanazawaxn--brnny-wuacademy-firewall-gatewayxn--brnnysund-m8accident-investigation-acornxn--brum-voagatroandinosaureportrentoyonakagyokutoyakomaganexn--btsfjord-9zaxn--bulsan-sdtirol-nsbaremetalpha-myqnapcloud9guacuiababia-goracleaningitpagexlimoldell-ogliastraderxn--c1avgxn--c2br7gxn--c3s14mincomcastreserve-onlinexn--cck2b3bargainstances3-us-gov-west-1xn--cckwcxetdxn--cesena-forl-mcbremangerxn--cesenaforl-i8axn--cg4bkis-an-actresshwindmillxn--ciqpnxn--clchc0ea0b2g2a9gcdxn--comunicaes-v6a2oxn--correios-e-telecomunicaes-ghc29axn--czr694barreaudiblebesbydgoszczecinemagnethnologyoriikaragandauthordalandroiddnss3-ap-southeast-2ix4432-balsan-suedtirolimiteddnskinggfakefurniturecreationavuotnaritakoelnayorovigotsukisosakitahatakahatakaishimoichinosekigaharaurskog-holandingitlaborxn--czrs0trogstadxn--czru2dxn--czrw28barrel-of-knowledgeappgafanquanpachicappacificurussiautomotivelandds3-ca-central-16-balsan-sudtirollagdenesnaaseinet-freaks3-ap-southeast-123websiteleaf-south-123webseiteckidsmynasushiobarackmazerbaijan-mayen-rootaribeiraogakibichuobiramusementdllpages3-ap-south-123sitewebhareidfjordvagsoyerhcloudd-dnsiskinkyolasiteastcoastaldefenceastus2038xn--d1acj3barrell-of-knowledgecomputerhistoryofscience-fictionfabricafjs3-us-west-1xn--d1alfaromeoxn--d1atromsakegawaxn--d5qv7z876clanbibaidarmeniaxn--davvenjrga-y4axn--djrs72d6uyxn--djty4kosaigawaxn--dnna-grajewolterskluwerxn--drbak-wuaxn--dyry-iraxn--e1a4cldmailukowhitesnow-dnsangohtawaramotoineppubtlsanjotelulubin-brbambinagisobetsuitagajoburgjerdrumcprequalifymein-vigorgebetsukuibmdeveloperauniteroizumizakinderoyomitanobninskanzakiyokawaraustrheimatunduhrennebulsan-suedtirololitapunk123kotisivultrobjectselinogradimo-siemenscaledekaascolipiceno-ipifony-1337xn--eckvdtc9dxn--efvn9svalbardunloppaderbornxn--efvy88hagakhanamigawaxn--ehqz56nxn--elqq16hagebostadxn--eveni-0qa01gaxn--f6qx53axn--fct429kosakaerodromegallupaasdaburxn--fhbeiarnxn--finny-yuaxn--fiq228c5hsvchurchaseljeepsondriodejaneirockyotobetsuliguriaxn--fiq64barsycenterprisesakievennodesadistcgrouplidlugolekagaminord-frontierxn--fiqs8sveioxn--fiqz9svelvikoninjambylxn--fjord-lraxn--fjq720axn--fl-ziaxn--flor-jraxn--flw351exn--forl-cesena-fcbssvizzeraxn--forlcesena-c8axn--fpcrj9c3dxn--frde-grandrapidsvn-repostorjcloud-ver-jpchowderxn--frna-woaraisaijosoyroroswedenxn--frya-hraxn--fzc2c9e2cleverappsannanxn--fzys8d69uvgmailxn--g2xx48clicketcloudcontrolapparmatsuuraxn--gckr3f0fauskedsmokorsetagayaseralingenoamishirasatogliattipschulserverxn--gecrj9clickrisinglesannohekinannestadraydnsanokaruizawaxn--ggaviika-8ya47haibarakitakamiizumisanofidelitysfjordxn--gildeskl-g0axn--givuotna-8yasakaiminatoyookaneyamazoexn--gjvik-wuaxn--gk3at1exn--gls-elacaixaxn--gmq050is-an-anarchistoricalsocietysnesigdalxn--gmqw5axn--gnstigbestellen-zvbrplsbxn--45br5cylxn--gnstigliefern-wobihirosakikamijimatsushigexn--h-2failxn--h1aeghair-surveillancexn--h1ahnxn--h1alizxn--h2breg3eveneswidnicasacampinagrandebungotakadaemongolianxn--h2brj9c8clinichippubetsuikilatironporterxn--h3cuzk1digickoseis-a-linux-usershoujis-a-knightpointtohoboleslawieconomiastalbanshizuokamogawaxn--hbmer-xqaxn--hcesuolo-7ya35barsyonlinewhampshirealtychyattorneyagawakuyabukihokumakogeniwaizumiotsurugimbalsfjordeportexaskoyabeagleboardetroitskypecorivneatonoshoes3-eu-west-3utilitiesquare7xn--hebda8basicserversaillesjabbottateshinanomachildrensgardenhlfanhsbc66xn--hery-iraxn--hgebostad-g3axn--hkkinen-5waxn--hmmrfeasta-s4accident-prevention-aptibleangaviikadenaamesjevuemielnoboribetsuckswidnikkolobrzegersundxn--hnefoss-q1axn--hobl-iraxn--holtlen-hxaxn--hpmir-xqaxn--hxt814exn--hyanger-q1axn--hylandet-54axn--i1b6b1a6a2exn--imr513nxn--indery-fyasugithubusercontentromsojamisonxn--io0a7is-an-artistgstagexn--j1adpkomonotogawaxn--j1aefbsbxn--1lqs71dyndns-office-on-the-webhostingrpassagensavonarviikamiokameokamakurazakiwakunigamihamadaxn--j1ael8basilicataniautoscanadaeguambulancentralus-2xn--j1amhakatanorthflankddiamondshinshiroxn--j6w193gxn--jlq480n2rgxn--jlq61u9w7basketballfinanzgorzeleccodespotenzakopanewspaperxn--jlster-byasuokannamihokkaidopaaskvollxn--jrpeland-54axn--jvr189miniserversusakis-a-socialistg-builderxn--k7yn95exn--karmy-yuaxn--kbrq7oxn--kcrx77d1x4axn--kfjord-iuaxn--klbu-woaxn--klt787dxn--kltp7dxn--kltx9axn--klty5xn--45brj9cistrondheimperiaxn--koluokta-7ya57hakodatexn--kprw13dxn--kpry57dxn--kput3is-an-engineeringxn--krager-gyatominamibosogndalxn--kranghke-b0axn--krdsherad-m8axn--krehamn-dxaxn--krjohka-hwab49jdevcloudfunctionsimplesitexn--ksnes-uuaxn--kvfjord-nxaxn--kvitsy-fyatsukanoyakagexn--kvnangen-k0axn--l-1fairwindswiebodzin-dslattuminamiyamashirokawanabeepilepsykkylvenicexn--l1accentureklamborghinikolaeventswinoujscienceandhistoryxn--laheadju-7yatsushiroxn--langevg-jxaxn--lcvr32dxn--ldingen-q1axn--leagaviika-52batochigifts3-us-west-2xn--lesund-huaxn--lgbbat1ad8jdfaststackschulplattformetacentrumeteorappassenger-associationxn--lgrd-poacctrusteexn--lhppi-xqaxn--linds-pramericanartrvestnestudioxn--lns-qlavagiskexn--loabt-0qaxn--lrdal-sraxn--lrenskog-54axn--lt-liacliniquedapliexn--lten-granexn--lury-iraxn--m3ch0j3axn--mely-iraxn--merker-kuaxn--mgb2ddeswisstpetersburgxn--mgb9awbfbx-ostrowwlkpmguitarschwarzgwangjuifminamidaitomanchesterxn--mgba3a3ejtrycloudflarevistaplestudynamic-dnsrvaroyxn--mgba3a4f16axn--mgba3a4fra1-deloittevaksdalxn--mgba7c0bbn0axn--mgbaakc7dvfstdlibestadxn--mgbaam7a8hakonexn--mgbab2bdxn--mgbah1a3hjkrdxn--mgbai9a5eva00batsfjordiscordsays3-website-ap-northeast-1xn--mgbai9azgqp6jejuniperxn--mgbayh7gpalmaseratis-an-entertainerxn--mgbbh1a71exn--mgbc0a9azcgxn--mgbca7dzdoxn--mgbcpq6gpa1axn--mgberp4a5d4a87gxn--mgberp4a5d4arxn--mgbgu82axn--mgbi4ecexposedxn--mgbpl2fhskosherbrookegawaxn--mgbqly7c0a67fbclintonkotsukubankarumaifarmsteadrobaknoluoktachikawakayamadridvallee-aosteroyxn--mgbqly7cvafr-1xn--mgbt3dhdxn--mgbtf8flapymntrysiljanxn--mgbtx2bauhauspostman-echocolatemasekd1xn--mgbx4cd0abbvieeexn--mix082fbxoschweizxn--mix891fedorainfraclouderaxn--mjndalen-64axn--mk0axin-vpnclothingdustdatadetectjmaxxxn--12c1fe0bradescotlandrrxn--mk1bu44cn-northwest-1xn--mkru45is-bykleclerchoshibuyachiyodancexn--mlatvuopmi-s4axn--mli-tlavangenxn--mlselv-iuaxn--moreke-juaxn--mori-qsakurais-certifiedxn--mosjen-eyawaraxn--mot-tlazioxn--mre-og-romsdal-qqbuseranishiaritakurashikis-foundationxn--msy-ula0hakubaghdadultravelchannelxn--mtta-vrjjat-k7aflakstadaokagakicks-assnasaarlandxn--muost-0qaxn--mxtq1minisitexn--ngbc5azdxn--ngbe9e0axn--ngbrxn--45q11citadelhicampinashikiminohostfoldnavyxn--nit225koshimizumakiyosunnydayxn--nmesjevuemie-tcbalestrandabergamoarekeymachineustarnbergxn--nnx388axn--nodessakyotanabelaudiopsysynology-dstreamlitappittsburghofficialxn--nqv7fs00emaxn--nry-yla5gxn--ntso0iqx3axn--ntsq17gxn--nttery-byaeserveftplanetariuminamitanexn--nvuotna-hwaxn--nyqy26axn--o1achernihivgubsxn--o3cw4hakuis-a-democratravelersinsurancexn--o3cyx2axn--od0algxn--od0aq3belementorayoshiokanumazuryukuhashimojibxos3-website-ap-southeast-1xn--ogbpf8flatangerxn--oppegrd-ixaxn--ostery-fyawatahamaxn--osyro-wuaxn--otu796dxn--p1acfedorapeoplegoismailillehammerfeste-ipatriaxn--p1ais-gonexn--pgbs0dhlx3xn--porsgu-sta26fedoraprojectoyotsukaidoxn--pssu33lxn--pssy2uxn--q7ce6axn--q9jyb4cngreaterxn--qcka1pmcpenzaporizhzhiaxn--qqqt11minnesotaketakayamassivegridxn--qxa6axn--qxamsterdamnserverbaniaxn--rady-iraxn--rdal-poaxn--rde-ulaxn--rdy-0nabaris-into-animeetrentin-sued-tirolxn--rennesy-v1axn--rhkkervju-01afeiraquarelleasingujaratoyouraxn--rholt-mragowoltlab-democraciaxn--rhqv96gxn--rht27zxn--rht3dxn--rht61exn--risa-5naturbruksgymnxn--risr-iraxn--rland-uuaxn--rlingen-mxaxn--rmskog-byaxn--rny31hakusanagochihayaakasakawaiishopitsitexn--rovu88bellevuelosangeles3-website-ap-southeast-2xn--rros-granvindafjordxn--rskog-uuaxn--rst-0naturhistorischesxn--rsta-framercanvasxn--rvc1e0am3exn--ryken-vuaxn--ryrvik-byaxn--s-1faithaldenxn--s9brj9cnpyatigorskolecznagatorodoyxn--sandnessjen-ogbellunord-odalombardyn53xn--sandy-yuaxn--sdtirol-n2axn--seral-lraxn--ses554gxn--sgne-graphoxn--4dbgdty6citichernovtsyncloudrangedaluccarbonia-iglesias-carboniaiglesiascarboniaxn--skierv-utazasxn--skjervy-v1axn--skjk-soaxn--sknit-yqaxn--sknland-fxaxn--slat-5natuurwetenschappenginexn--slt-elabcieszynh-servebeero-stageiseiroumuenchencoreapigeelvinckoshunantankmpspawnextdirectrentino-s-tirolxn--smla-hraxn--smna-gratangentlentapisa-geekosugexn--snase-nraxn--sndre-land-0cbeneventochiokinoshimaintenancebinordreisa-hockeynutazurestaticappspaceusercontentateyamaveroykenglandeltaitogitsumitakagiizeasypanelblagrarchaeologyeongbuk0emmafann-arboretumbriamallamaceiobbcg123homepagefrontappchizip61123minsidaarborteaches-yogasawaracingroks-theatree123hjemmesidealerimo-i-rana4u2-localhistorybolzano-altoadigeometre-experts-comptables3-ap-northeast-123miwebcambridgehirn4t3l3p0rtarumizusawabogadobeaemcloud-fr123paginaweberkeleyokosukanrabruzzombieidskoguchikushinonsenasakuchinotsuchiurakawafaicloudineat-url-o-g-i-naval-d-aosta-valleyokote164-b-datacentermezproxyzgoraetnabudejjudaicadaquest-mon-blogueurodirumaceratabuseating-organicbcn-north-123saitamakawabartheshopencraftrainingdyniajuedischesapeakebayernavigationavoi234lima-cityeats3-ap-northeast-20001wwwedeployokozeastasiamunemurorangecloudplatform0xn--snes-poaxn--snsa-roaxn--sr-aurdal-l8axn--sr-fron-q1axn--sr-odal-q1axn--sr-varanger-ggbentleyurihonjournalistjohnikonanporovnobserverxn--srfold-byaxn--srreisa-q1axn--srum-gratis-a-bulls-fanxn--stfold-9xaxn--stjrdal-s1axn--stjrdalshalsen-sqbeppublishproxyusuharavocatanzarowegroweiboltashkentatamotorsitestingivingjemnes3-eu-central-1kappleadpages-12hpalmspringsakerxn--stre-toten-zcbeskidyn-ip24xn--t60b56axn--tckweddingxn--tiq49xqyjelasticbeanstalkhmelnitskiyamarumorimachidaxn--tjme-hraxn--tn0agrocerydxn--tnsberg-q1axn--tor131oxn--trany-yuaxn--trentin-sd-tirol-rzbestbuyshoparenagareyamaizurugbyenvironmentalconservationflashdrivefsnillfjordiscordsezjampaleoceanographics3-website-eu-west-1xn--trentin-sdtirol-7vbetainaboxfuseekloges3-website-sa-east-1xn--trentino-sd-tirol-c3bhzcasertainaioirasebastopologyeongnamegawafflecellclstagemologicaliforniavoues3-eu-west-1xn--trentino-sdtirol-szbielawalbrzycharitypedreamhostersvp4xn--trentinosd-tirol-rzbiellaakesvuemieleccebizenakanotoddeninoheguriitatebayashiibahcavuotnagaivuotnagaokakyotambabybluebitelevisioncilla-speziaxarnetbank8s3-eu-west-2xn--trentinosdtirol-7vbieszczadygeyachimataijiiyamanouchikuhokuryugasakitaurayasudaxn--trentinsd-tirol-6vbievat-band-campaignieznombrendlyngengerdalces3-website-us-east-1xn--trentinsdtirol-nsbifukagawalesundiscountypeformelhusgardeninomiyakonojorpelandiscourses3-website-us-west-1xn--trgstad-r1axn--trna-woaxn--troms-zuaxn--tysvr-vraxn--uc0atvestre-slidrexn--uc0ay4axn--uist22halsakakinokiaxn--uisz3gxn--unjrga-rtarnobrzegyptianxn--unup4yxn--uuwu58axn--vads-jraxn--valle-aoste-ebbtularvikonskowolayangroupiemontexn--valle-d-aoste-ehboehringerikexn--valleaoste-e7axn--valledaoste-ebbvadsoccerxn--vard-jraxn--vegrshei-c0axn--vermgensberater-ctb-hostingxn--vermgensberatung-pwbigvalledaostaobaomoriguchiharag-cloud-championshiphoplixboxenirasakincheonishiazaindependent-commissionishigouvicasinordeste-idclkarasjohkamikitayamatsurindependent-inquest-a-la-masionishiharaxn--vestvgy-ixa6oxn--vg-yiabkhaziaxn--vgan-qoaxn--vgsy-qoa0jelenia-goraxn--vgu402cnsantabarbaraxn--vhquvestre-totennishiawakuraxn--vler-qoaxn--vre-eiker-k8axn--vrggt-xqadxn--vry-yla5gxn--vuq861biharstadotsubetsugaruhrxn--w4r85el8fhu5dnraxn--w4rs40lxn--wcvs22dxn--wgbh1cntjomeldaluroyxn--wgbl6axn--xhq521bihorologyusuisservegame-serverxn--xkc2al3hye2axn--xkc2dl3a5ee0hammarfeastafricaravantaaxn--y9a3aquariumintereitrentino-sudtirolxn--yer-znaumburgxn--yfro4i67oxn--ygarden-p1axn--ygbi2ammxn--4dbrk0cexn--ystre-slidre-ujbikedaejeonbukarasjokarasuyamarriottatsunoceanographiquehimejindependent-inquiryuufcfanishiizunazukindependent-panelomoliseminemrxn--zbx025dxn--zf0ao64axn--zf0avxlxn--zfr164bilbaogashimadachicagoboavistanbulsan-sudtirolbia-tempio-olbiatempioolbialystokkeliwebredirectme-south-1xnbayxz +\ No newline at end of file diff --git a/vendor/golang.org/x/net/publicsuffix/list.go b/vendor/golang.org/x/net/publicsuffix/list.go @@ -101,10 +101,10 @@ loop: break } - u := uint32(nodeValue(f) >> (nodesBitsTextOffset + nodesBitsTextLength)) + u := uint32(nodes.get(f) >> (nodesBitsTextOffset + nodesBitsTextLength)) icannNode = u&(1<<nodesBitsICANN-1) != 0 u >>= nodesBitsICANN - u = children[u&(1<<nodesBitsChildren-1)] + u = children.get(u & (1<<nodesBitsChildren - 1)) lo = u & (1<<childrenBitsLo - 1) u >>= childrenBitsLo hi = u & (1<<childrenBitsHi - 1) @@ -154,18 +154,9 @@ func find(label string, lo, hi uint32) uint32 { return notFound } -func nodeValue(i uint32) uint64 { - off := uint64(i * (nodesBits / 8)) - return uint64(nodes[off])<<32 | - uint64(nodes[off+1])<<24 | - uint64(nodes[off+2])<<16 | - uint64(nodes[off+3])<<8 | - uint64(nodes[off+4]) -} - // nodeLabel returns the label for the i'th node. func nodeLabel(i uint32) string { - x := nodeValue(i) + x := nodes.get(i) length := x & (1<<nodesBitsTextLength - 1) x >>= nodesBitsTextLength offset := x & (1<<nodesBitsTextOffset - 1) @@ -189,3 +180,24 @@ func EffectiveTLDPlusOne(domain string) (string, error) { } return domain[1+strings.LastIndex(domain[:i], "."):], nil } + +type uint32String string + +func (u uint32String) get(i uint32) uint32 { + off := i * 4 + return (uint32(u[off])<<24 | + uint32(u[off+1])<<16 | + uint32(u[off+2])<<8 | + uint32(u[off+3])) +} + +type uint40String string + +func (u uint40String) get(i uint32) uint64 { + off := uint64(i * (nodesBits / 8)) + return uint64(u[off])<<32 | + uint64(u[off+1])<<24 | + uint64(u[off+2])<<16 | + uint64(u[off+3])<<8 | + uint64(u[off+4]) +} diff --git a/vendor/golang.org/x/net/publicsuffix/table.go b/vendor/golang.org/x/net/publicsuffix/table.go @@ -2,7 +2,9 @@ package publicsuffix -const version = "publicsuffix.org's public_suffix_list.dat, git revision 3c213aab32b3c014f171b1673d4ce9b5cd72bf1c (2021-11-26T23:05:53Z)" +import _ "embed" + +const version = "publicsuffix.org's public_suffix_list.dat, git revision e248cbc92a527a166454afe9914c4c1b4253893f (2022-11-15T18:02:38Z)" const ( nodesBits = 40 @@ -24,522 +26,17 @@ const ( ) // numTLD is the number of top level domains. -const numTLD = 1504 +const numTLD = 1494 -// Text is the combined text of all labels. -const text = "9guacuiababia-goracleaningroks-theatree164-balsfjordd-dnshome-we" + - "bservercellikes-piedmonticellocalzoneastasiaetnaamesjevuemielnod" + - "umcpeastcoastaldefenceastus2038birdartcenterprisecloudaccesscamb" + - "ridgeiseiroumuenchenishiazaindielddanuorrindigenamsosnowiecherni" + - "vtsiciliabirkenesoddtangenovaragusarts3-website-eu-west-1birthpl" + - "acebitbucketrzynishigovtatsunocelotenkawabjarkoyoshiokanumazuryu" + - "kindowapblogsiteleafamilycompany-2bjerkreimbaltimore-og-romsdalp" + - "ha-myqnapcloud66bjugnieznorddalombardynalias3-website-sa-east-1b" + - "lackfridayukuhashimoichinosekigaharabloombergbauernishiharabloxc" + - "ms3-website-us-east-1bluebitemasekd1bmoattachments3-website-us-w" + - "est-1bms3-website-us-west-2bmweeklylotteryurihonjournalistjohnis" + - "hiizunazukindustriabnrwegroweibolognagareyamakeupowiathletajimag" + - "eandsoundandvision-riopretochigiftsalangenishikatakatsukindustri" + - "esteamfamberkeleyusuharabomloabaths-heilbronnoysundivttasvuotnak" + - "aniikawatanagurabondigitaloceanspacesalon-1bonnishikatsuragit-re" + - "posts-and-telecommunicationsaltdalomzaporizhzhegurinfinitinsureg" + - "ruhostingloboavistanbulsan-sudtirolondonetskaratsuginamikatagami" + - "hokkaidovre-eikerbookinghostedpictetnedalondrinamsskoganeintelli" + - "gencebookonlinewjerseyusuisservegame-serverboomlajollamericanexp" + - "ressexyuufcfanishikawazukamisatokaizukameyamatotakadaboschaeffle" + - "rdalorenskoglogoweirbostik-serveronagasakikuchikuseihicampobasso" + - "ciatest-iservecounterstrikebostonakijinsekikogentappsselfiparach" + - "utingloppenzaolbia-tempio-olbiatempioolbialystokkeliwebhostinglu" + - "gsjcbnpparibashkiriabotanicalgardeno-stagingmbhartipschlesisches" + - "aludiyuzawabotanicgardenishimerabotanychernovtsyncloudrangedalot" + - "tokorozawabouncemerckmsdnipropetrovskjervoyageometre-experts-com" + - "ptablesalvadordalibabalena-devicesalzburgminakamichiharabounty-f" + - "ullensakerrypropertiesamegawaboutiquebecommerce-shopitsitemp-dns" + - "watch-and-clockerboutireserve-onlinewmexicodyn-o-saurlandesamnan" + - "gerbozen-sudtirolouvreisenishinomiyashironocparaglidingmodelling" + - "mxboxfordelmenhorstalbansampaleoddabozen-suedtirolpusercontentat" + - "toolforgerockartuzybplaceducatorprojectaxihuanishinoomotegohtawa" + - "ramotoineppubtlsamsclubartowellbeingzonebrandywinevalleybrasilia" + - "bresciabrindisibenikikugawashtenawdevcdnaccessobetsuitagajobserv" + - "ableusercontentcmeloyalistoragebristoloseyouriparisor-fronishino" + - "shimatsumotofukebritishcolumbialowiezaganquannefrankfurtcp4broad" + - "castlebtimnetzlgretakaharussiabroadwaybroke-itvedestrandray-dnst" + - "racebrokerbrothermesaverdealerbrowsersafetymarketsamsungrimstadr" + - "ayddns5ybrumunddalublindesnesandnessjoenishiokoppegardraydnsupda" + - "terbrunelastxenishitosashimizunaminamibosognebrusselsandoybruxel" + - "lesandvikcoromantovalle-daostavangerbryanskodjedugit-pagespeedmo" + - "bilizeroticagliaricoharuhrbrynewportgorybuskerudrobaknoluoktachi" + - "kawafflecellclstagehirnishiwakinterhostsolutionsanfranciscofreak" + - "unekobayashikaoirmembersangomniweatherchannelucaniabuzentsujiieb" + - "uzzwesteuropenairbusantiquest-a-la-maisondre-landroidrrbwestfale" + - "nissandiegomurabzhitomirbzzcoloradoplateaudiopsysantacruzsantafe" + - "djeffersoncolumbusheycommunecommunity-prochowicecomobaranzancomp" + - "aremarkerryhotelsantamariakecomsecaaskoyabearalvahkievennodesaba" + - "erobaticketsantoandreamhostersanukintuitjxjavaldaostathellevange" + - "rcondoshichinohealth-carereformemergencyahabaghdadultkmaxxn--0tr" + - "q7p7nnconferenceconstructionconsuladogadollsaobernardoconsultant" + - "hropologyconsultingrossetouchihayaakasakawaharacontactksatxn--11" + - "b4c3dyndns-blogdnsaogoncarriercontagematsubaraumalatvuopmicrosof" + - "tbankasaokamikoaniihamatamakawajimaritimodumemorialcontemporarya" + - "rteducationalchikugodonnagatorogersvp4contractorskenconventuresh" + - "inodearthruherecipescaracalvinklein-berlindaskvollcookingchannel" + - "sdvrdnsdojoetsuwanouchikujogaszkolancashireclaimsaotomeiwamashik" + - "okuchuocoolcooperativano-frankivskygearapparochernigovernmentlon" + - "-2copenhagencyclopedichitosetoeidsvollucernecoproductionsapporoc" + - "orporationcorsicahcesuoloansardegnaroycorvettempurlcosenzakopane" + - "lblagrarchaeologyeongbuk0cosidnsfor-better-thanawatchandclockash" + - "ibatakasakiwakunigamilanotairestaurantmparsardiniacostumedicalta" + - "nissettaipeigersundyndns-freeboxosascoli-picenordlandyndns-homed" + - "nsarlcouchpotatofriesarpsborgroundhandlingroznycoukashiharacounc" + - "ilcouponsarufutsunomiyawakasaikaitabashijonawatecozoravennaharim" + - "alborkashiwaracqcxn--12c1fe0bradescotlandyndns-ipartinuyamashina" + - "tsukigatakaokalmykiacranbrookuwanalyticsxn--12cfi8ixb8lcrdyndns-" + - "mailcreditcardyndns-office-on-the-webercreditunioncremonashgabad" + - "addjaguarqhachinohedmarkashiwazakiwielunnercrewfarsundyndns-pics" + - "asayamatta-varjjatoyosatoyokawacricketoyotapartsasebofagemologic" + - "allynxn--12co0c3b4evalled-aostakinouecrimeast-kazakhstanangercro" + - "tonecrownipartycrsaskatchewancruisesassarinvestmentsaudacuisinel" + - "lancasterculturalcentertainmentoyotomiyazakinzais-a-candidatecun" + - "eocupcakecuritibackyardsauheradyndns-remotewdyndns-serverdalcurv" + - "alledaostakkokonoecymruovatmallorcafederation-webpaashorokanaiec" + - "yonabarumemsettlersavannahgacyouthachiojiyaitakahashimamakisosak" + - "itagawaferraraferrarivneferrerotikagoshimalopolskanlandyndns-wik" + - "irafetsundyndns-workshoparenakanojohanamakinoharafgujoinvilleitu" + - "ngsenfhvalerfidoomdnsiskinkyotobetsulikescandyn53fieldyndns1figu" + - "eresinstagingulenfilateliafilegear-audnedalnfilegear-dealstahaug" + - "esunderseaportsinfolionetworkangerfilegear-gbizfilegear-iefilege" + - "ar-jpmorganfilegear-sg-1filminamifuranofinalfinancefineartschule" + - "finlandynnsaveincloudyndns-webhareidsbergentingrpasadenarashinof" + - "innoyfirebaseappassenger-associationfirenetoyourafirenzefireston" + - "efirewebhopocznordreisa-hockeynutazurestaticappspaceusercontento" + - "ystre-slidrettozawafirmdalegoldpoint2thisamitsukefishingolffansc" + - "hulserverfitjarvodkagaminogiessennanjobojis-a-catererfitnessettl" + - "ementozsdeloittenrissagaeroclubmedecincinnativeamericanantiquest" + - "-mon-blogueurodirumaceratabitorderimo-siemenscaledekaascolipicen" + - "oboribetsuckschwarzgwangjuifminamiiserniafjalerfldrvallee-aoster" + - "oyflekkefjordynservebbsaves-the-whalessandria-trani-barletta-and" + - "riatranibarlettaandriaflesbergunmaniwakurateflickragerokunohealt" + - "hcareerschweizflirfloginlinefloraflorencefloridatsunangojomedici" + - "nakaiwamizawatchesciencecentersciencehistoryfloripaderbornfloris" + - "tanohataitogliattis-a-celticsfanfloromskoguovdageaidnulvikasukab" + - "edzin-addrammenuorochesterflowerscientistordalfltrani-andria-bar" + - "letta-trani-andriaflynnhosting-clusterfndynulmetacentrumeteorapp" + - "assagensavonarusawafnwkasumigaurayasudafoodnetworkdalfor-ourfor-" + - "somedio-campidano-mediocampidanomediofor-theaterforexrothachirog" + - "atakahatakaishimogosenforgotdnscjohnsonforli-cesena-forlicesenaf" + - "orlillehammerfeste-ipatriaforsaleikangerforsandasuoloftraniandri" + - "abarlettatraniandriafortalfortexascrapper-sitefortmissoulanciafo" + - "rtworthadanorfolkebibleluxembourgushikamifuranore-og-uvdalfosnes" + - "crappingwiddleksvikasuyanaizuerichardlillyfotranoyfoxafozfranami" + - "zuhobby-sitextileirfjordynv6francaiseharafranziskanerimaringatla" + - "ntaiwanairforcechireadthedocscbgxn--1ctwolominamataobaomoriguchi" + - "haraffleentry-snowplowiczeladzfredrikstadtvscrysecuritytacticser" + - "vehalflifeinsurancefreeddnsfreebox-oservehttpbin-butterfreedeskt" + - "oppdalfreemasonryfreemyiphosteurovisionfreesitefreetlservehumour" + - "freiburgfreseniuscultureggio-calabriafribourgfriuli-v-giuliafriu" + - "li-ve-giuliafriuli-vegiuliafriuli-venezia-giuliafriuli-veneziagi" + - "uliafriuli-vgiuliafriuliv-giuliafriulive-giuliafriulivegiuliafri" + - "ulivenezia-giuliafriuliveneziagiuliafriulivgiuliafrlfroganservei" + - "rchonanbulsan-suedtirolukowestus2frognfrolandynvpnpluscountryest" + - "ateofdelawarecreationfrom-akrehamnfrom-alfrom-arfrom-azimuthatog" + - "ayabukihokumakogenglandyroyrvikingruenoharafrom-capetownnews-sta" + - "gingfrom-coffeedbackplaneappaviancargodaddyn-vpndnserveminecraft" + - "ranslatefrom-ctransportefrom-dchoseikarugamvikariyaltakasagotsuk" + - "isofukushimangyshlakasamatsudopaasnesoddenmarkhangelskjakdneprop" + - "etrovskiervaapsteiermarkarlsoyfrom-deatnuniversityfrom-flanderse" + - "rvemp3from-gaulardalfrom-hichisodegaurafrom-iafrom-idfrom-ilfrom" + - "-in-brbar0from-kservep2pfizerfrom-kyowariasahikawafrom-langevagr" + - "igentomologyeonggiehtavuoatnabudapest-a-la-masion-rancherkasydne" + - "yfrom-malselvendrellfrom-mdfrom-medizinhistorischeservepicserveq" + - "uakefrom-midsundfrom-mnfrom-modalenfrom-mservesarcasmatartanddes" + - "ignfrom-mtnfrom-nchoshibuyachtsanjotelulubindaluroyfrom-ndfrom-n" + - "efrom-nhktransurlfrom-njservicesevastopolefrom-nminamiizukaminok" + - "awanishiaizubangefrom-nvallee-d-aosteigenfrom-nynysagamiharafrom" + - "-ohdattorelayfrom-oketogonohejis-a-chefastly-terrariuminamiechiz" + - "enfrom-orfrom-padoval-daostavalleyfrom-pratogurafrom-ris-a-conse" + - "rvativegasevenassisicilyfrom-schoenbrunnfrom-sdscloudfrom-tnfrom" + - "-txn--1lqs03nfrom-utsiracusaikirovogradoyfrom-vald-aostarostwodz" + - "islawhalingfrom-vtrapaniizafrom-wafrom-wiardwebspacefrom-wvallee" + - "aosteinkjerusalembroideryfrom-wyfrosinonefrostaplesewhoswholding" + - "small-webredirectmeeresistancefroyahooguyfruskydivingfstcgroupgf" + - "oggiafujiiderafujikawaguchikonefujiminokamoenairguardiannakadoma" + - "rineat-urlfujinomiyadattowebcampinashikiminohostfoldnavyfujiokay" + - "amalvikaszubyfujisatoshonairlinebraskaunicommbankatowicefujisawa" + - "fujishiroishidakabiratoridebianfujitsurugashimamurogawafujiyoshi" + - "davvenjargap-northeast-3fukayabeatsharis-a-cpadualstackatsushika" + - "beebyteapplinzis-a-cubicle-slavellinodeobjectsharpharmacienshawa" + - "iijimarburgfukuchiyamadavvesiidappnodebalancertificationfukudomi" + - "gawafukuis-a-democratravelchannelfukumitsubishigakiryuohkurafuku" + - "okazakisarazure-mobileirvikatsuyamarriottravelersinsurancefukuro" + - "ishikarikaturindalfukusakishiwadazaifudaigokaseljordfukuyamagata" + - "jimifunefunabashiriuchinadafunagatajiris-a-designerfunahashikami" + - "amakusatsumasendaisenergyfundaciofunkfeuerfuoiskujukuriyamandalf" + - "uosskoczowienfurnitureggio-emilia-romagnakasatsunairportland-4-s" + - "alernogatabusebastopologyeongnamegawafaicloudinedre-eikerfurubir" + - "afurudonostiaafurukawairtelebitbridgestoneen-rootaruis-a-doctorf" + - "usoftwarezzoologyfussaintlouis-a-anarchistoireggiocalabriafutaba" + - "yamaguchinomihachimanagementrdfutboldlygoingnowhere-for-morenaka" + - "tombetsumitakagiizefuttsurugimperiafuturecmshellaspeziafuturehos" + - "tingfuturemailingfvghangglidinghangoutsystemscloudsitehannanmoku" + - "izumodenakayamansionshimojis-a-greenhannorthwesternmutualhanyuze" + - "nhapmircloudletshimokawahappounjargaharstadharvestcelebrationhas" + - "amanxn--1lqs71dhasaminami-alpshimokitayamattelekommunikationhash" + - "banghasudahasura-appharmacyshimonitayanagitapphdfcbankazohasvika" + - "zteleportlligatrendhostinghatoyamazakitahiroshimaoris-a-gurunusu" + - "alpersonhatsukaichikaiseiyoichippubetsubetsugarunzenhattfjelldal" + - "hayashimamotobungotakadagestangeorgeorgiahazuminobusellfylkesbib" + - "lackbaudcdn-edgestackhero-networkinggroupliguriahelsinkitakamiiz" + - "umisanofidelitysvardontexistmein-iservebeero-stagehembygdsforbun" + - "dhemneshimonosekikawahemsedalhepforgeblockshimosuwalkis-a-hard-w" + - "orkershimotsukeheroyhgtvalleedaostehidorahigashiagatsumagoianiah" + - "igashichichibunkyonanaoshimakanegasakilatironrenderhigashihirosh" + - "imanehigashiizumozakitakatakamoriokakudamatsuehigashikagawahigas" + - "hikagurasoedahigashikawakitaaikitakyushuaiahigashikurumeetrentin" + - "-sud-tirolhigashimatsushimapartmentshimotsumayfirstockholmestran" + - "dhigashimatsuyamakitaakitadaitoigawahigashimurayamamotorcycleshi" + - "nichinanhigashinarusells-for-lesshinjournalismailillesandefjordh" + - "igashinehigashiomitamamurausukitamihamadahigashiosakasayamanakak" + - "ogawahigashishirakawamatakanabeautysfjordhigashisumiyoshikawamin" + - "amiaikitamotosumy-gatewayhigashitsunortonhigashiurawa-mazowszexn" + - "etlifyis-a-hunterhigashiyamatokoriyamanashifteditorxn--1qqw23ahi" + - "gashiyodogawahigashiyoshinogaris-a-knightpointtohoboleslawiecono" + - "miastalowa-wolawawsmpplanetariuminamimakis-a-landscaperugiahirai" + - "zumisatohnoshoooshikamaishimodatehirakatashinagawahiranairtraffi" + - "cplexus-1hirarahiratsukaerusrcfastlylbananarepublic66hirayaizuwa" + - "kamatsubushikusakadogawahistorichouseshinjukumamotoyamasfjordenh" + - "itachiomiyagildeskaliszhitachiotagophiladelphiaareadmyblogsytehi" + - "traeumtgeradell-ogliastraderhjartdalhjelmelandholeckochikushinon" + - "senasakuchinotsuchiurakawaholidayhomegoodshinkamigototalhomeiphi" + - "latelyhomelinkyard-cloudjiffyresdalhomelinuxn--2m4a15ehomeoffice" + - "homesecuritymacaparecidahomesecuritypchoyodobashichikashukujitaw" + - "araholtalenissayokkaichiropractichirurgiens-dentistes-en-franceh" + - "omesenseeringhomesklepphilipsynology-diskstationhomeunixn--2scrj" + - "9christiansburgripehondahongotembaixadahonjyoitakanezawahorninda" + - "lhorsells-for-ustkanmakitaurahortendofinternet-dnshinshinotsurge" + - "onshalloffamelbournehospitalhoteleshinshirohotelwithflightshinto" + - "kushimahotmailhoyangerhoylandetroitskazunoticiashintomikasaharah" + - "umanitieshinyoshitomiokamishihoronobeauxartsandcraftshiojirishir" + - "ifujiedahurdalhurumajis-a-lawyerhyllestadhyogoris-a-liberalhyuga" + - "warahyundaiwafuneis-uberleetrentin-suedtirolis-very-badajozis-a-" + - "nursells-itrentin-sudtirolis-very-evillageis-very-goodyearis-ver" + - "y-niceis-very-sweetpepperis-with-thebandownloadisleofmanaustdalj" + - "env-arubajddarchitecturealtorlandjeonnamerikawauejetztrentino-a-" + - "adigejevnakershusdecorativeartshitaramajewelryjewishartgalleryjf" + - "kharkivanylvenneslaskerrylogisticshizukuishimofusakakinokiajgora" + - "jlljls-sto1jls-sto2jls-sto3jmphoenixn--30rr7yjnjaworznoshiroomgj" + - "oyentrentino-aadigejoyokaichibalashovhadselburgjpnjprshizuokamit" + - "suejurkoshimizumakiyosatokamachintaifun-dnsaliashoujis-a-persona" + - "ltrainerkoshunantankhmelnitskiyamarshallstatebankharkovaokosugek" + - "otohiradomainstitutekotourakouhokutamakiyosemitekounosupabasells" + - "yourhomeftphotographysiokouyamarylandkouzushimarylhurstjordalsha" + - "lsenkozagawakozakiyosunndalkozowiiheyakagekpnkppspbar2krasnikaho" + - "kutokashikizunokunimilitarykrasnodarkredstonekrelliankristiansan" + - "dcatshowakristiansundkrodsheradkrokstadelvalle-aostatic-accessho" + - "wtimeldalkryminamioguni5kumanotteroykumatorinovecoregontrailroad" + - "kumejimashikekumenantokonamegatakashimashikis-a-photographerokus" + - "sldkunisakis-a-playershiftcryptonomichigangwonkunitachiarailwayk" + - "unitomigusukukis-a-republicancerresearchaeologicaliforniakunnepp" + - "uboliviajessheimpertrixcdn77-secureggioemiliaromagnaklodzkodaira" + - "kunstsammlungkunstunddesignkuokgrouphxn--3bst00minamisanrikubets" + - "upplykurehabmerkurgankurobeepilepsykkylvenicekurogimimatakasugai" + - "s-a-rockstarachowicekuroisogndalkuromatsunais-a-socialistdlibest" + - "adkurotakikawasakis-a-soxfankushirogawakustanais-a-studentalkusu" + - "pplieshwildlifestylekutchanelkutnow-dnsienarutomobelementoraykuz" + - "umakis-a-teacherkassyno-dshirakofuefukihabororoshiranukamisunaga" + - "wakvafjordkvalsundkvamlidlugolekafjordvagsoygardendoftheinternet" + - "flixilovecollegefantasyleaguernseykvanangenkvinesdalkvinnheradkv" + - "iteseidatingkvitsoykwpspdnsigdalkzmisasaguris-an-accountantshira" + - "ois-a-linux-usershioyandexcloudmisawamisconfusedmishimassa-carra" + - "ra-massacarraramassabusinessebykleclerchromediatechnologymissile" + - "zajskhmelnytskyivaporcloudmisugitokuyamassivegridmitakeharamitou" + - "rismilemitoyoakemiuramiyazurecontainerdpolicemiyotamanomjondalen" + - "mlbfanmontrealestatefarmequipmentrentino-s-tirolmonza-brianzappo" + - "siiitesilkhplaystation-cloudyclustermonza-e-della-brianzaptokyot" + - "angouvichungnamdalseidfjordurbanamexhibitionissedalutskarmoymonz" + - "abrianzaramonzaebrianzamonzaedellabrianzamoonscaleforcemordoviam" + - "oriyamasudamoriyoshiminamiashigaramormonstermoroyamatsumaebashik" + - "shacknetrentino-stirolmortgagemoscowilliamhillmoseushistorymosjo" + - "enmoskenesimple-urlmossirdalmosviklabudhabikinokawabarthaebaruer" + - "icssongdalenviknakatsugawamoteginowaniigatakahamangooglecodespot" + - "rentino-sud-tirolmoviemovimientolgamozilla-iotrentino-sudtirolmt" + - "ranbymuginozawaonsensiositemuikaminoyamaxunispacemukoebenhavnmul" + - "houseminemunakatanemuncienciamuosattemupiemontemurmanskmpspawnex" + - "tdirectrentino-alto-adigemurotorcraftrentino-sued-tirolmusashino" + - "haramuseetrentino-suedtirolmuseumverenigingmusicarbonia-iglesias" + - "-carboniaiglesiascarboniamutsuzawamy-vigorlicemy-wanggoupilemyac" + - "tivedirectorymyasustor-elvdalmycdmycloudnslupsknx-serversicherun" + - "gmydattolocalhistorymyddnsgeekgalaxymydissentrentinoa-adigemydob" + - "isshikis-an-actormydroboehringerikemydslzmyeffectrentinoaadigemy" + - "fastblogermyfirewallonieruchomoscienceandindustrynmyforuminamita" + - "nemyfritzmyftpaccessmolaquilansmushcdn77-sslingmyhome-servermyji" + - "nomykolaivarggatrentinoalto-adigemymailermymediapchurchaseljeeps" + - "ondriodejaneirodoymyokohamamatsudamypepilotsnoasakataketomisatos" + - "himatsuzakis-an-actresshiraokamitondabayashiogamagoriziamypetsok" + - "ndalmyphotoshibalatinoopencraftrainingmypicturesolarssonmypsxn--" + - "3ds443gmysecuritycamerakermyshopblocksolognemyshopifymyspreadsho" + - "ppingmythic-beastsolundbeckomaganemytis-a-bookkeeperspectakarazu" + - "kaluganskomakiyokawaramytuleap-partnersomamyvncircustomer-ocimdb" + - "amblebesbyeniwaizumiotsukumiyamazonawsglobalacceleratorahimeshim" + - "abaridagawakuyachimataijibmdevelopmentashkentatamotorsitestingla" + - "dedyn-berlincolnavigationavoizumizakiitatebayashiibahccavuotnaga" + - "rag-cloud-charitydalipaywhirlimitedgcanonoichinomiyakebinagisoch" + - "ildrensgardenavuotnapleskns3-eu-west-2mywirepaircraftingvollolip" + - "opimientakayamatsuuraplatter-appinbarcelonagawalbrzycharternopil" + - "awalesundiscountysnes3-eu-west-3utilities-1platterpinkomatsushim" + - "arugame-hostyhostingplazaplcube-serverplumbingoplurinacionalpodh" + - "alepodlasiellaktyubinskiptveterinairealmpmnpodzonepohlpoivronpok" + - "erpokrovskommunalforbundpoliticarrdpolitiendapolkowicepoltavalle" + - "-d-aostaticsopotrentinos-tirolpomorzeszowinbarclaycards3-externa" + - "l-1ponpesaro-urbino-pesarourbinopesaromasvuotnaritakoelnponypord" + - "enonepornporsangerporsangugeporsgrunnanyokoshibahikariwanumataka" + - "zakis-an-artistgstagepoznanpraxis-a-bruinsfanprdpreservationpres" + - "idioprgmrprimetelemarkommuneprincipeprivatizehealthinsuranceprof" + - "esionalprogressivestnesor-odalpromombetsupportrentinostirolprope" + - "rtyprotectionprotonetrentinosud-tirolprudentialpruszkowindmillpr" + - "vcyberlevagangaviikanonjis-an-engineeringprzeworskogpugliapulawy" + - "pupioneerpvhagebostadpvtrentinosudtirolpwcistrondheimmobilieniss" + - "hingucciprianidurhamburgriwataraidynathomebuiltwithdarkarpaczest" + - "-le-patroniyodogawapythonanywherepbodynamic-dnsor-varangerpzqldq" + - "otoyohashimotoolsorfoldqponiatowadaqslgbtrentinosued-tirolqualif" + - "ioappippueblockbusterniiminamiawajikis-an-anarchistoricalsociety" + - "quickconnectrentinosuedtirolquicksytesorocabalestrandabergamoare" + - "keymachineustargardquipelementsorreisahayakawakamiichikawamisato" + - "ttoris-an-entertainerswedenswidnicartoonartdecologiaswidnikkokam" + - "iminersouthcarolinarvikomonotogawaswiebodzin-dslattuminanoswinou" + - "jscienceandhistoryswissmarterthanyoutwentesynology-dsouthwest1-u" + - "slivinghistorytularvikongsbergtunesowatunkongsvingerturystykaney" + - "amazoetuscanytushuissier-justicetuvalleaostaverntuxfamilytwmailv" + - "ibo-valentiavibovalentiavideovillaspectruminamiyamashirokawanabe" + - "laudibleasingvinnicasacamdvrcampinagrandebuilderschmidtre-gaulda" + - "lvinnytsiavipsinaappittsburghofficialvirginiavirtual-userveexcha" + - "ngevirtualcloudvirtualservervirtualuserveftpiwatevirtuelvisakuho" + - "kksundviterboknowsitallvivolkenkundenvixn--3hcrj9civilaviationth" + - "ewifiatlassian-dev-myqnapcloudcontrolledogawarabikomaezakirunoip" + - "irangalsaceomutashinainternationalfirearmsannanvlaanderennesoyvl" + - "adikavkazimierz-dolnyvladimirvlogintoyonezawavmincomcastresindev" + - "icenzaporizhzhiavologdanskoninjambylvolvolkswagentspeedpartnervo" + - "lyngdalvoorlopervossevangenvotevotingvotoyonovps-hostrowiecivili" + - "sationwithgoogleapiszwithyoutuberspacekitagatamayufuettertdasnet" + - "zwiwatsukiyonosegawawixsitewloclawekonsulatrobeeldengeluidvarese" + - "rvdwmcloudwmflabspydebergwoodsideltairavpagexlworse-thandawowind" + - "owskrakowinnersphinxn--3e0b707ewpdevcloudwpenginepoweredwphosted" + - "mailwpmucdnpixolinodeusercontentrentinoaltoadigewpmudeveloperaun" + - "iterois-foundationwritesthisblogwroclawiospjelkavikomorotsukagaw" + - "awtcirclerkstagets-itrentoyonakagyokutoyakolobrzegersundwtfastvp" + - "s-serverisignwuozuwzmiuwajimaxn--45q11civilwarmiasadoesntexistei" + - "ngeekaruizawaxn--4gbriminingxn--4it168dxn--4it797kooris-a-painte" + - "ractivestfoldxn--4pvxs4allxn--54b7fta0cclanbibaidarmeniaxn--55qw" + - "42gxn--55qx5dxn--5js045dxn--5rtp49cldmailuxuryxn--5rtq34kopervik" + - "hersonxn--5su34j936bgsgxn--5tzm5gxn--6btw5axn--6frz82gxn--6orx2r" + - "xn--6qq986b3xlxn--7t0a264cleverappstmnxn--80aaa0cvacationsrhtren" + - "tinsud-tirolxn--80adxhksrlxn--80ao21axn--80aqecdr1axn--80asehdba" + - "refootballooninglassassinationalheritagebinordre-landiscourses3-" + - "sa-east-1xn--80aswgxn--80augustowitdkonskowolayangrouphonefossho" + - "pwarendalenugxn--8ltr62koryokamikawanehonbetsurutaharaxn--8pvr4u" + - "xn--8y0a063axn--90a1affinitylotterybnikeisenbahnxn--90a3academia" + - "micable-modemoneyxn--90aeroportalaheadjudaicadaquesrvaroyxn--90a" + - "ishobarakawagoexn--90amcdirxn--90azhytomyravendbargainstances3-u" + - "s-east-2xn--9dbhblg6dietrevisojamisonxn--9dbq2axn--9et52uxn--9kr" + - "t00axn--andy-iraxn--aroport-byaotsurnadalxn--asky-iraxn--aurskog" + - "-hland-jnbarreauctioncilla-speziauthgear-stagingjesdalimanowarud" + - "aurskog-holandinggfarmerseineatonsbergitpagefrontappalmspringsak" + - "erevistarnbergivestbytemark12xn--avery-yuasakuragawaxn--b-5gaxn-" + - "-b4w605ferdxn--balsan-sdtirol-nsbstorebaselectrentinsudtirolxn--" + - "bck1b9a5dre4clicketcloudcontrolapparmatsushigexn--bdddj-mrabdxn-" + - "-bearalvhki-y4axn--berlevg-jxaxn--bhcavuotna-s4axn--bhccavuotna-" + - "k7axn--bidr-5nachikatsuuraxn--bievt-0qa2xn--bjarky-fyasakaiminat" + - "oyookanazawaxn--bjddar-ptargetmyipizzaxn--blt-elabourxn--bmlo-gr" + - "aingerxn--bod-2natalxn--bozen-sdtirol-2obanazawaxn--brnny-wuacad" + - "emy-firewall-gatewayxn--brnnysund-m8accident-investigation-aptib" + - "leadpagesquare7xn--brum-voagatritonxn--btsfjord-9zaxn--bulsan-sd" + - "tirol-nsbarrel-of-knowledgeappleborkaragandauthgearappspacehoste" + - "d-by-previderhclouddnslivegarsheiheijibigawaustevoll-o-g-i-n4t3l" + - "3p0rtarnobrzegyptianatuurwetenschappenginebetsuikirkenes3-ap-sou" + - "th-1xn--c1avgxn--c2br7gxn--c3s14miniserverxn--cck2b3barrell-of-k" + - "nowledgecomputerhistoryofscience-fictionfabricafjs3-us-gov-west-" + - "1xn--cckwcxetdxn--cesena-forl-mcbremangerxn--cesenaforl-i8axn--c" + - "g4bkis-gonexn--ciqpnxn--clchc0ea0b2g2a9gcdxn--comunicaes-v6a2oxn" + - "--correios-e-telecomunicaes-ghc29axn--czr694barsycenterprisesaki" + - "joburgleezebizenakanotoddenayorovnobirauthordalanddnss3-ap-south" + - "east-2xn--czrs0troandinosaureplantationxn--czru2dxn--czrw28barsy" + - "onlinewhampshirebungoonord-frontierxn--d1acj3basicserversaillesj" + - "abbottatarantours3-us-west-1xn--d1alfaromeoxn--d1atrogstadxn--d5" + - "qv7z876clickrisinglesannohelplfinancialuzernxn--davvenjrga-y4axn" + - "--djrs72d6uyxn--djty4kosaigawaxn--dnna-grajewolterskluwerxn--drb" + - "ak-wuaxn--dyry-iraxn--e1a4clinichitachinakagawassamukawatarikuze" + - "ntakatainaioiraseating-organicbcn-north-1xn--eckvdtc9dxn--efvn9s" + - "torfjordxn--efvy88haibarakitahatakamatsukawaxn--ehqz56nxn--elqq1" + - "6hair-surveillancexn--eveni-0qa01gaxn--f6qx53axn--fct429kosakaer" + - "odromegallupaasdaburxn--fhbeiarnxn--finny-yuaxn--fiq228c5hstorjc" + - "loud-ver-jpchristmasakinderoyxn--fiq64basilicataniautomotiveland" + - "ds3-ca-central-1xn--fiqs8stpetersburgxn--fiqz9streamscompute-1xn" + - "--fjord-lraxn--fjq720axn--fl-ziaxn--flor-jraxn--flw351exn--forl-" + - "cesena-fcbsstudioxn--forlcesena-c8axn--fpcrj9c3dxn--frde-grandra" + - "pidstudynamisches-dnsortlandxn--frna-woaraisaijosoyrovigotpanthe" + - "onsitexn--frya-hraxn--fzc2c9e2cliniquedapliernewyorkshirecifedex" + - "eterxn--fzys8d69uvgmailxn--g2xx48clintonoshoesanokarumaifarmstea" + - "dyndns-at-homedepotenzamamidorittogakushimotoganexn--gckr3f0faus" + - "kedsmokorsetagayaseralingenoamishirasatogitsumidatlantichofunato" + - "riginstantcloudfrontdoorxn--gecrj9clothingdustdatadetectjmaxxxer" + - "oxfinityxn--ggaviika-8ya47hakatanorth-kazakhstanxn--gildeskl-g0a" + - "xn--givuotna-8yasugitlaborxn--gjvik-wuaxn--gk3at1exn--gls-elacai" + - "xaxn--gmq050is-into-animegurownproviderxn--gmqw5axn--gnstigbeste" + - "llen-zvbrplsbxn--3pxu8konyvelohmusashimurayamarumorimachidaxn--g" + - "nstigliefern-wobihirosakikamijimatsunowtvestre-totennishiawakura" + - "xn--h-2failxn--h1aeghakodatexn--h1ahnxn--h1alizxn--h2breg3evenes" + - "tuff-4-salexn--h2brj9c8cn-northwest-1xn--h3cuzk1diherokuappkomfo" + - "rbar1xn--hbmer-xqaxn--hcesuolo-7ya35basketballfinanzjampalacehim" + - "ejiiyamanouchikuhokuryugasakitanakagusukumodernfshostrodawarauto" + - "scanadaeguambulancentralus-2xn--hery-iraxn--hgebostad-g3axn--hkk" + - "inen-5waxn--hmmrfeasta-s4accident-prevention-k3stufftoread-books" + - "nesoruminamiuonumasoyxn--hnefoss-q1axn--hobl-iraxn--holtlen-hxax" + - "n--hpmir-xqaxn--hxt814exn--hyanger-q1axn--hylandet-54axn--i1b6b1" + - "a6a2exn--imr513nxn--indery-fyasuokannamiharuxn--io0a7is-into-car" + - "shiratakahagithubpreviewsaitamatsukuris-a-llamarcheapigeelvinckd" + - "diamondshirahamatonbetsurgeryxn--j1adplantsomnarviikamiokameokam" + - "akurazakitashiobaraxn--j1aefbsbxn--1ck2e1banzaicloudappspotagerx" + - "n--j1ael8batochiokinoshimaintenancempresashibetsukuin-vpncasadel" + - "amonedancemrxn--j1amhakonexn--j6w193gxn--jlq480n2rgxn--jlq61u9w7" + - "batsfjordiscoveryokoteu-1xn--jlster-byatominamidaitomanchesterxn" + - "--jrpeland-54axn--jvr189minisitexn--k7yn95exn--karmy-yuaxn--kbrq" + - "7oxn--kcrx77d1x4axn--kfjord-iuaxn--klbu-woaxn--klt787dxn--kltp7d" + - "xn--kltx9axn--klty5xn--41axn--koluokta-7ya57hakubahcavuotnagaivu" + - "otnagaokakyotambabydgoszczecinemagnethnologyxn--kprw13dxn--kpry5" + - "7dxn--kput3is-into-cartoonshishikuis-a-musicianxn--krager-gyatsu" + - "kanoyakumoldellogliastradingxn--kranghke-b0axn--krdsherad-m8axn-" + - "-krehamn-dxaxn--krjohka-hwab49jdevcloudfunctionshisohugheshisuif" + - "uelveruminamiminowaxn--ksnes-uuaxn--kvfjord-nxaxn--kvitsy-fyatsu" + - "shiroxn--kvnangen-k0axn--l-1fairwindstuttgartrentinsued-tirolxn-" + - "-l1accentureklamborghinikolaeventsurreyxn--laheadju-7yawaraxn--l" + - "angevg-jxaxn--lcvr32dxn--ldingen-q1axn--leagaviika-52bauhauspost" + - "man-echocolatelevisionflashdrivefsncfdishakotanhlfanhsbcasertail" + - "scalecznagasukeu-2xn--lesund-huaxn--lgbbat1ad8jdfaststacksaxoxn-" + - "-lgrd-poacctromsakegawaxn--lhppi-xqaxn--linds-pramericanartromso" + - "kamogawaxn--lns-qlavagiskexn--loabt-0qaxn--lrdal-sraxn--lrenskog" + - "-54axn--lt-liacngroks-thisayamanobeokakegawaxn--lten-granexn--lu" + - "ry-iraxn--m3ch0j3axn--mely-iraxn--merker-kuaxn--mgb2ddesusakis-b" + - "ytomaritimekeepingxn--mgb9awbfbx-oslodingenxn--mgba3a3ejtrusteex" + - "n--mgba3a4f16axn--mgba3a4fra1-deportevaksdalxn--mgba7c0bbn0axn--" + - "mgbaakc7dvfbxostrowwlkpmguidefinimamateramochizukindlegallocus-4" + - "xn--mgbaam7a8hakuis-a-financialadvisor-aurdalxn--mgbab2bdxn--mgb" + - "ah1a3hjkrdxn--mgbai9a5eva00bellunord-odalvdalaskanittedallasalle" + - "angaviikadenagahamaroyerxn--mgbai9azgqp6jejuniperxn--mgbayh7gpal" + - "ermomahachijolsterxn--mgbbh1a71exn--mgbc0a9azcgxn--mgbca7dzdoxn-" + - "-mgbcpq6gpa1axn--mgberp4a5d4a87gxn--mgberp4a5d4arxn--mgbgu82axn-" + - "-mgbi4ecexposedxn--mgbpl2fhskypexn--mgbqly7c0a67fbcnpyatigorskol" + - "efrakkestadyndns-at-workisboringrondarxn--mgbqly7cvafr-1xn--mgbt" + - "3dhdxn--mgbtf8flapymntrvestre-slidretrosnubarclays3-fips-us-gov-" + - "west-1xn--mgbtx2beneventodayokozeu-3xn--mgbx4cd0abbvieeexn--mix0" + - "82fedorainfraclouderaxn--mix891fedorapeoplegnicapebretonamicroli" + - "ghtinguitarschokokekschokoladenxn--mjndalen-64axn--mk0axin-the-b" + - "andais-into-gamessinazawaxn--mk1bu44cnsantabarbaraxn--mkru45is-l" + - "eetrentin-sued-tirolxn--mlatvuopmi-s4axn--mli-tlavangenxn--mlsel" + - "v-iuaxn--moreke-juaxn--mori-qsakurais-lostre-toteneis-a-nascarfa" + - "nxn--mosjen-eyawatahamaxn--mot-tlazioxn--mre-og-romsdal-qqbusera" + - "nishiaritakurashikis-not-certifiedxn--msy-ula0hakusanagochijiwad" + - "egreexn--mtta-vrjjat-k7aflakstadaokagakicks-assnasaarlandxn--muo" + - "st-0qaxn--mxtq1minnesotaketakatoris-a-techietis-a-libertarianxn-" + - "-ngbc5azdxn--ngbe9e0axn--ngbrxn--42c2d9axn--nit225koseis-a-patsf" + - "anxn--nmesjevuemie-tcbalsan-sudtirollagdenesnaaseinet-freaksuson" + - "oxn--nnx388axn--nodessakyotanabellevuelosangelesuzakanagawaxn--n" + - "qv7fs00emaxn--nry-yla5gxn--ntso0iqx3axn--ntsq17gxn--nttery-byaes" + - "eoullensvanguardxn--nvuotna-hwaxn--nyqy26axn--o1achernihivgubsuz" + - "ukananiikappudoxn--o3cw4haldenxn--o3cyx2axn--od0algxn--od0aq3ben" + - "tleyolasiteu-4lima-cityeatselinogradimo-i-rana4u2-localhostrolek" + - "aniepce12hpalmaserati234xn--ogbpf8flatangerxn--oppegrd-ixaxn--os" + - "tery-fyaxn--osyro-wuaxn--otu796dxn--p1acfedoraprojectoyotsukaido" + - "xn--p1ais-savedxn--pgbs0dhlx3xn--porsgu-sta26feiraquarelleaseekl" + - "ogescholarshipschoolsztynsettsurfashionxn--pssu33lxn--pssy2uxn--" + - "q7ce6axn--q9jyb4cntjomelhusgardenxn--qcka1pmckinseyxn--qqqt11min" + - "tereitrentino-altoadigexn--qxa6axn--qxamsterdamnserverbaniaxn--r" + - "ady-iraxn--rdal-poaxn--rde-ulaxn--rdy-0nabaris-slickfh-muensterx" + - "n--rennesy-v1axn--rhkkervju-01afermockasserverrankoshigayamein-v" + - "igorgexn--rholt-mragowoltlab-democraciaxn--rhqv96gxn--rht27zxn--" + - "rht3dxn--rht61exn--risa-5naturalhistorymuseumcenterxn--risr-irax" + - "n--rland-uuaxn--rlingen-mxaxn--rmskog-byaxn--rny31halsaitohmanno" + - "rthflankaufentigerxn--rovu88beppublishproxyombolzano-altoadigeol" + - "ogyomitanobninskarasjohkamikitayamatsurincheonikonanporobserverx" + - "n--rros-granvindafjordxn--rskog-uuaxn--rst-0naturalsciencesnatur" + - "ellesuzukis-certifiedxn--rsta-framercanvasvalbardunloppacificita" + - "deliveryggeexn--rvc1e0am3exn--ryken-vuaxn--ryrvik-byaxn--s-1fait" + - "hammarfeastafricapitalonewspaperxn--s9brj9collectionxn--sandness" + - "jen-ogbeskidyn-ip24xn--sandy-yuaxn--sdtirol-n2axn--seral-lraxn--" + - "ses554gxn--sgne-graphoxn--45br5cylxn--skierv-utazasvcitichiryuky" + - "uragifuchungbukharahkkeravjuegoshikimobetsuldaluccaravantaarparl" + - "iamentjeldsundrudupontariobranconavstackareliancexn--skjervy-v1a" + - "xn--skjk-soaxn--sknit-yqaxn--sknland-fxaxn--slat-5naturbruksgymn" + - "xn--slt-elabcieszynh-serveblogspotaribeiraogakibichuoxn--smla-hr" + - "axn--smna-gratangentlentapisa-geekosherbrookegawaxn--snase-nraxn" + - "--sndre-land-0cbestbuyshouses3-us-west-2xn--snes-poaxn--snsa-roa" + - "xn--sr-aurdal-l8axn--sr-fron-q1axn--sr-odal-q1axn--sr-varanger-g" + - "gbetainaboxfusejnyanagawalmartateshinanomachimkentateyamaveroyke" + - "nebakkeshibechambagriculturealtychyattorneyagawakepnombrendlynge" + - "nflfanpachigasakids3-eu-central-1xn--srfold-byaxn--srreisa-q1axn" + - "--srum-gratis-a-bulls-fanxn--stfold-9xaxn--stjrdal-s1axn--stjrda" + - "lshalsen-sqbhzcasinordeste-idcateringebuildinglitcheltenham-radi" + - "o-opensocialimolisembokuleuvenetokigawavocatanzaroweddingjovikan" + - "zakitchenaval-d-aosta-valleyboltarumizusawaustinnaumburgivingjem" + - "nes3-ap-southeast-1xn--stre-toten-zcbieidskoguchikuzenvironmenta" + - "lconservationionjukudoyamaizurugbyglandroverhallaakesvuemielecce" + - "vje-og-hornnes3-website-ap-northeast-1xn--t60b56axn--tckwebthing" + - "sveioxn--tiq49xqyjelasticbeanstalkhakassiaxn--tjme-hraxn--tn0agr" + - "ocerydxn--tnsberg-q1axn--tor131oxn--trany-yuaxn--trentin-sd-tiro" + - "l-rzbielawaltervistaikikonaikawachinaganoharamcoachampionshiphop" + - "tobamadridnbloggerxn--trentin-sdtirol-7vbiellahppiacenzachpomors" + - "kieninohekinannestadiskussionsbereichattanooganordkappgafaninomi" + - "yakonojorpelandisrechtranakamagayahikobeardubaiduckdnsnillfjordi" + - "tchyouripanamatsusakahoginankokubunjindianapolis-a-bloggerxn--tr" + - "entino-sd-tirol-c3bieszczadygeyachiyodaejeonbukcoalwaysdatabaseb" + - "allangenkainanaejrietisalatinabeno-ipifony-1xn--trentino-sdtirol" + - "-szbievat-band-campaniavoues3-eu-west-1xn--trentinosd-tirol-rzbi" + - "fukagawashingtondclk3xn--trentinosdtirol-7vbigv-infolldalivornow" + - "ruzhgorodeoceanographics3-website-ap-southeast-1xn--trentinsd-ti" + - "rol-6vbihorologyonagoyaxarnetbankaracoldwarszawaustraliamusement" + - "dllpages3-ap-northeast-2ix4432-balsan-suedtirolkuszczytnord-aurd" + - "alp16-b-datacentermezproxyzgorabruzzoologicalabamagasakishimabar" + - "aogashimadachicagoboats3-ap-northeast-1kappchizip611xn--trentins" + - "dtirol-nsbikedaemonmoutheworkpccwedeployonagunicloudivtasvuodnak" + - "amurataishinomakinkobierzycextraspace-to-rentalstomakomaibarazur" + - "ewebsiteshikagamiishibukawakkanaibetsubamericanfamilydsmynasushi" + - "obarackmazeplayokosukanraustrheimatunduhrennebugattiffanyaarbort" + - "eaches-yogasawaracingjerdrumcprequalifymeinforumzgorzeleccogjers" + - "tadotsuruokakamigaharaukraanghkembuchikumagayagawakayamagentosit" + - "ecnologiajudygarlanddnskingdyniamunemurorangecloudplatform0emmaf" + - "ann-arboretumbriamallamaceiobbcg120001wwwbq-abogadobeaemcloud-fr" + - "1337xn--trgstad-r1axn--trna-woaxn--troms-zuaxn--tysvr-vraxn--uc0" + - "atvestvagoyxn--uc0ay4axn--uist22hamurakamigoris-a-geekautokeinot" + - "iceablewismillerxn--uisz3gxn--unjrga-rtargithubusercontentryclou" + - "dflareportrentinsuedtirolxn--unup4yxn--uuwu58axn--vads-jraxn--va" + - "lle-aoste-ebbtrysiljanxn--valle-d-aoste-ehbodoes-itcouldbeworldx" + - "n--valleaoste-e7axn--valledaoste-ebbvadsoccertmgrazerbaijan-maye" + - "ngerdalcesvelvikomvuxn--32vp30hagakhanamigawaxn--vard-jraxn--veg" + - "rshei-c0axn--vermgensberater-ctbitsvizzeraxn--vermgensberatung-p" + - "wblogoiplatformshangrilanxessooxn--vestvgy-ixa6oxn--vg-yiabkhazi" + - "axn--vgan-qoaxn--vgsy-qoa0jelenia-goraxn--vgu402colognexus-3xn--" + - "vhquvevelstadxn--vler-qoaxn--vre-eiker-k8axn--vrggt-xqadxn--vry-" + - "yla5gxn--vuq861bilbaokinawashirosatobishimagazineues3-website-ap" + - "-southeast-2xn--w4r85el8fhu5dnraxn--w4rs40lxn--wcvs22dxn--wgbh1c" + - "olonialwilliamsburgrongausdalvivanovoldaxn--wgbl6axn--xhq521bill" + - "ustrationredumbrellair-traffic-controlleyoriikarasjokarasuyamarn" + - "ardalombardiadembetsukubankaratexn--xkc2al3hye2axn--xkc2dl3a5ee0" + - "handsonyxn--y9a3aquariumisakis-a-therapistoiaxn--yer-znaturhisto" + - "rischesvn-reposoundcastronomy-routerxn--yfro4i67oxn--ygarden-p1a" + - "xn--ygbi2ammxn--45brj9civilizationxn--ystre-slidre-ujbioceanogra" + - "phiquexn--zbx025dxn--zf0ao64axn--zf0avxlxn--zfr164bipanasonicath" + - "olicaxiaskimitsubatamibudejjuedischesapeakebayernirasakindianmar" + - "ketingliwicexnbayxz" +// text is the combined text of all labels. +// +//go:embed data/text +var text string // nodes is the list of nodes. Each node is represented as a 40-bit integer, // which encodes the node's children, wildcard bit and node type (as an index // into the children array), ICANN bit and text. // -// If the table was generated with the -comments flag, there is a //-comment -// after each node's data. In it is the nodes-array indexes of the children, -// formatted as (n0x1234-n0x1256), with * denoting the wildcard bit. The -// nodeType is printed as + for normal, ! for exception, and o for parent-only -// nodes that have children but don't match a domain label in their own right. -// An I denotes an ICANN domain. -// // The layout within the node, from MSB to LSB, is: // // [ 7 bits] unused @@ -547,9353 +44,9 @@ const text = "9guacuiababia-goracleaningroks-theatree164-balsfjordd-dnshome-we" // [ 1 bits] ICANN bit // [16 bits] text index // [ 6 bits] text length -var nodes = [...]uint8{ - 0x00, 0x00, 0x53, 0x0b, 0x03, - 0x00, 0x00, 0x5b, 0x6e, 0x44, - 0x00, 0x00, 0x4e, 0x8c, 0x86, - 0x00, 0x00, 0x55, 0x00, 0x03, - 0x00, 0x00, 0x55, 0x00, 0x06, - 0x00, 0x00, 0x59, 0x2c, 0x06, - 0x00, 0x00, 0x5b, 0x92, 0x83, - 0x00, 0x00, 0x41, 0xa0, 0x84, - 0x00, 0x00, 0x5d, 0xeb, 0x07, - 0x00, 0x00, 0x4e, 0x88, 0xc8, - 0x00, 0x03, 0x40, 0x00, 0xc2, - 0x00, 0x03, 0xd4, 0x2f, 0x07, - 0x00, 0x00, 0x57, 0xf0, 0xc9, - 0x00, 0x00, 0x4d, 0xdc, 0x4a, - 0x00, 0x00, 0x4d, 0xdc, 0x4b, - 0x00, 0x00, 0x43, 0x3b, 0x83, - 0x00, 0x00, 0x43, 0x6a, 0xc5, - 0x00, 0x04, 0x41, 0x3c, 0x82, - 0x00, 0x00, 0x5d, 0x62, 0x04, - 0x00, 0x00, 0x4c, 0x89, 0x83, - 0x00, 0x00, 0x43, 0x1c, 0x05, - 0x00, 0x04, 0xc0, 0x1a, 0xc2, - 0x00, 0x00, 0x56, 0x74, 0x43, - 0x00, 0x05, 0x42, 0xff, 0xc4, - 0x00, 0x00, 0x40, 0x1a, 0xc5, - 0x00, 0x05, 0xc0, 0x64, 0x82, - 0x00, 0x00, 0x40, 0x64, 0x8e, - 0x00, 0x00, 0x45, 0xb5, 0x43, - 0x00, 0x00, 0x5b, 0x32, 0xc6, - 0x00, 0x06, 0x40, 0x47, 0x82, - 0x00, 0x00, 0x5e, 0x57, 0xc7, - 0x00, 0x00, 0x43, 0xa2, 0x06, - 0x00, 0x06, 0xc0, 0x36, 0x82, - 0x00, 0x00, 0x49, 0x09, 0xc3, - 0x00, 0x00, 0x42, 0xc3, 0x86, - 0x00, 0x00, 0x46, 0x91, 0xc8, - 0x00, 0x00, 0x49, 0x55, 0x46, - 0x00, 0x00, 0x47, 0x6d, 0xc4, - 0x00, 0x07, 0x40, 0x0b, 0x02, - 0x00, 0x00, 0x55, 0x08, 0x89, - 0x00, 0x00, 0x41, 0xa3, 0xc7, - 0x00, 0x00, 0x4f, 0xf4, 0x86, - 0x00, 0x00, 0x56, 0x9a, 0xc9, - 0x00, 0x00, 0x4c, 0xa9, 0x48, - 0x00, 0x00, 0x44, 0x60, 0x04, - 0x00, 0x00, 0x52, 0x01, 0x46, - 0x00, 0x00, 0x5d, 0x8b, 0x46, - 0x00, 0x07, 0xc0, 0x1c, 0x02, - 0x00, 0x00, 0x4f, 0xc7, 0x46, - 0x00, 0x00, 0x41, 0x2d, 0x4f, - 0x00, 0x00, 0x5d, 0x99, 0xce, - 0x00, 0x00, 0x4e, 0x48, 0x04, - 0x00, 0x00, 0x40, 0xd1, 0x05, - 0x00, 0x00, 0x53, 0x5f, 0xc5, - 0x00, 0x00, 0x5a, 0x89, 0x89, - 0x00, 0x00, 0x44, 0x27, 0xc9, - 0x00, 0x00, 0x42, 0xcb, 0x87, - 0x00, 0x00, 0x42, 0x39, 0xc6, - 0x00, 0x00, 0x42, 0xed, 0xc3, - 0x00, 0x08, 0x41, 0x63, 0x02, - 0x00, 0x00, 0x41, 0x63, 0x03, - 0x00, 0x00, 0x4a, 0x86, 0x8a, - 0x00, 0x08, 0xc1, 0x5c, 0x43, - 0x00, 0x00, 0x54, 0x56, 0xc5, - 0x00, 0x00, 0x4f, 0x45, 0xc2, - 0x00, 0x00, 0x5a, 0x5c, 0x49, - 0x00, 0x09, 0xc0, 0x28, 0xc2, - 0x00, 0x00, 0x40, 0x88, 0x44, - 0x00, 0x00, 0x5c, 0x9a, 0x86, - 0x00, 0x00, 0x49, 0x68, 0xc5, - 0x00, 0x00, 0x57, 0x6c, 0x04, - 0x00, 0x0a, 0xd0, 0xfd, 0xc4, - 0x00, 0x00, 0x40, 0x28, 0xc3, - 0x00, 0x00, 0x43, 0x5f, 0xc4, - 0x00, 0x0b, 0x40, 0x19, 0x42, - 0x00, 0x00, 0x55, 0x73, 0x44, - 0x00, 0x0b, 0xc0, 0x1a, 0x04, - 0x00, 0x00, 0x41, 0x4f, 0x0a, - 0x00, 0x0c, 0x40, 0x08, 0x82, - 0x00, 0x00, 0x40, 0xbd, 0x07, - 0x00, 0x00, 0x5b, 0xe8, 0xc8, - 0x00, 0x0f, 0x40, 0x8b, 0x82, - 0x00, 0x00, 0x53, 0xa3, 0x87, - 0x00, 0x00, 0x42, 0xda, 0x04, - 0x00, 0x00, 0x51, 0xb0, 0x47, - 0x00, 0x00, 0x42, 0xda, 0x05, - 0x00, 0x00, 0x58, 0x0e, 0x47, - 0x00, 0x00, 0x54, 0xd9, 0x86, - 0x00, 0x00, 0x55, 0x8c, 0x84, - 0x00, 0x00, 0x56, 0xaf, 0x05, - 0x00, 0x00, 0x47, 0x47, 0x07, - 0x00, 0x12, 0x40, 0x59, 0x82, - 0x00, 0x00, 0x4b, 0x04, 0x03, - 0x00, 0x12, 0xc1, 0xf9, 0xc2, - 0x00, 0x00, 0x5d, 0x35, 0x83, - 0x00, 0x13, 0x40, 0x36, 0x02, - 0x00, 0x00, 0x45, 0x48, 0x45, - 0x00, 0x13, 0xc0, 0x02, 0x02, - 0x00, 0x00, 0x57, 0x93, 0xc4, - 0x00, 0x00, 0x5c, 0xcb, 0x05, - 0x00, 0x00, 0x4e, 0x47, 0x47, - 0x00, 0x00, 0x4b, 0x29, 0x4e, - 0x00, 0x00, 0x4c, 0x39, 0x04, - 0x00, 0x00, 0x43, 0x50, 0x44, - 0x00, 0x00, 0x40, 0x78, 0x43, - 0x00, 0x00, 0x50, 0x18, 0x89, - 0x00, 0x00, 0x50, 0x6a, 0xcb, - 0x00, 0x00, 0x59, 0x1a, 0x88, - 0x00, 0x00, 0x53, 0x1f, 0x88, - 0x00, 0x00, 0x53, 0x7b, 0xc8, - 0x00, 0x00, 0x5c, 0xee, 0xc8, - 0x00, 0x14, 0x56, 0x99, 0x0a, - 0x00, 0x00, 0x58, 0x0d, 0x47, - 0x00, 0x00, 0x5f, 0x3a, 0xc6, - 0x00, 0x14, 0xc5, 0xa5, 0x02, - 0x00, 0x00, 0x5d, 0xe7, 0x03, - 0x00, 0x00, 0x5e, 0x32, 0xc3, - 0x00, 0x00, 0x5e, 0x48, 0x84, - 0x00, 0x00, 0x5d, 0xe7, 0x43, - 0x00, 0x00, 0x55, 0x47, 0x83, - 0x00, 0x02, 0xd3, 0xec, 0x82, - 0x00, 0x15, 0x40, 0x8a, 0x42, - 0x00, 0x00, 0x48, 0xb7, 0x85, - 0x00, 0x00, 0x4a, 0xc7, 0x46, - 0x00, 0x00, 0x4a, 0x29, 0xc4, - 0x00, 0x00, 0x5a, 0x1f, 0x47, - 0x00, 0x00, 0x43, 0x79, 0x06, - 0x00, 0x00, 0x4d, 0x7f, 0x04, - 0x00, 0x00, 0x5b, 0xb3, 0xc7, - 0x00, 0x00, 0x42, 0x1b, 0xc3, - 0x00, 0x16, 0xce, 0x20, 0x82, - 0x00, 0x17, 0x46, 0x97, 0x82, - 0x00, 0x17, 0xc1, 0x6d, 0x82, - 0x00, 0x00, 0x41, 0x7b, 0x46, - 0x00, 0x18, 0x40, 0x02, 0x82, - 0x00, 0x00, 0x46, 0x64, 0x85, - 0x00, 0x00, 0x54, 0x01, 0xc3, - 0x00, 0x00, 0x5d, 0x72, 0x44, - 0x00, 0x00, 0x50, 0x3a, 0x84, - 0x00, 0x00, 0x50, 0x3a, 0x85, - 0x00, 0x00, 0x5f, 0x1d, 0x43, - 0x00, 0x18, 0xc5, 0x0b, 0x03, - 0x00, 0x19, 0x40, 0x5a, 0x42, - 0x00, 0x00, 0x40, 0x7f, 0xc5, - 0x00, 0x00, 0x40, 0x7f, 0xcb, - 0x00, 0x00, 0x51, 0x22, 0x8b, - 0x00, 0x00, 0x40, 0x62, 0x04, - 0x00, 0x00, 0x40, 0x89, 0x09, - 0x00, 0x00, 0x40, 0x95, 0x44, - 0x00, 0x19, 0xc0, 0x99, 0x02, - 0x00, 0x00, 0x40, 0xa1, 0x43, - 0x00, 0x00, 0x40, 0xa6, 0xc3, - 0x00, 0x1a, 0x40, 0xb4, 0xc2, - 0x00, 0x00, 0x41, 0x71, 0x0a, - 0x00, 0x1a, 0xc0, 0xb7, 0x82, - 0x00, 0x00, 0x5d, 0x64, 0x85, - 0x00, 0x00, 0x4f, 0x25, 0x8a, - 0x00, 0x00, 0x44, 0x5c, 0xc4, - 0x00, 0x00, 0x40, 0xd6, 0x03, - 0x00, 0x00, 0x40, 0xe4, 0x04, - 0x00, 0x00, 0x41, 0x14, 0x43, - 0x00, 0x00, 0x41, 0x14, 0x44, - 0x00, 0x00, 0x41, 0x14, 0x47, - 0x00, 0x00, 0x41, 0x3d, 0x45, - 0x00, 0x00, 0x41, 0x45, 0x06, - 0x00, 0x00, 0x41, 0x56, 0xc6, - 0x00, 0x00, 0x41, 0x75, 0x03, - 0x00, 0x00, 0x41, 0xb7, 0x48, - 0x00, 0x00, 0x41, 0xe0, 0x83, - 0x00, 0x1b, 0x40, 0x2f, 0xc2, - 0x00, 0x00, 0x44, 0x17, 0x08, - 0x00, 0x00, 0x49, 0x57, 0xcb, - 0x00, 0x00, 0x42, 0x47, 0x88, - 0x00, 0x00, 0x42, 0x51, 0x06, - 0x00, 0x00, 0x42, 0x52, 0x87, - 0x00, 0x00, 0x42, 0x7b, 0x48, - 0x00, 0x1e, 0x40, 0x10, 0x02, - 0x00, 0x1e, 0xc2, 0x03, 0x02, - 0x00, 0x00, 0x47, 0xa7, 0x48, - 0x00, 0x00, 0x5d, 0xab, 0x47, - 0x00, 0x00, 0x51, 0xba, 0x45, - 0x00, 0x1f, 0x51, 0xba, 0x48, - 0x00, 0x1f, 0xcd, 0xf5, 0x08, - 0x00, 0x00, 0x47, 0xd5, 0xc3, - 0x00, 0x00, 0x42, 0xbf, 0xc4, - 0x00, 0x00, 0x59, 0x2c, 0x82, - 0x00, 0x20, 0x42, 0xcd, 0xc2, - 0x00, 0x20, 0xc6, 0x81, 0x42, - 0x00, 0x21, 0xc2, 0xd3, 0xc2, - 0x00, 0x00, 0x42, 0xd3, 0xc3, - 0x00, 0x22, 0x40, 0x17, 0x82, - 0x00, 0x00, 0x51, 0x3a, 0x43, - 0x00, 0x00, 0x44, 0xa8, 0x44, - 0x00, 0x00, 0x40, 0x17, 0x83, - 0x00, 0x00, 0x44, 0x5f, 0xc4, - 0x00, 0x00, 0x43, 0x76, 0x0b, - 0x00, 0x00, 0x40, 0x2f, 0x03, - 0x00, 0x00, 0x4f, 0x94, 0x46, - 0x00, 0x00, 0x41, 0x4d, 0x84, - 0x00, 0x00, 0x4d, 0x36, 0x8e, - 0x00, 0x00, 0x4f, 0xf9, 0x05, - 0x00, 0x00, 0x47, 0x3c, 0x08, - 0x00, 0x00, 0x5b, 0x33, 0xc7, - 0x00, 0x00, 0x5b, 0x33, 0xca, - 0x00, 0x00, 0x43, 0x15, 0x43, - 0x00, 0x00, 0x5b, 0x6c, 0x47, - 0x00, 0x00, 0x50, 0x6c, 0x85, - 0x00, 0x00, 0x43, 0x15, 0x44, - 0x00, 0x00, 0x45, 0xc0, 0x46, - 0x00, 0x00, 0x45, 0xc0, 0x47, - 0x00, 0x00, 0x56, 0xff, 0x44, - 0x00, 0x22, 0xd1, 0xb4, 0x84, - 0x00, 0x00, 0x58, 0x1d, 0xc4, - 0x00, 0x00, 0x43, 0x89, 0x04, - 0x00, 0x00, 0x5c, 0x13, 0x86, - 0x00, 0x00, 0x40, 0xf5, 0x43, - 0x00, 0x00, 0x5c, 0x17, 0x48, - 0x00, 0x00, 0x5f, 0x2f, 0x08, - 0x00, 0x00, 0x49, 0xdc, 0x43, - 0x00, 0x00, 0x41, 0x70, 0xc3, - 0x00, 0x00, 0x54, 0xa7, 0xc4, - 0x00, 0x00, 0x55, 0xb2, 0x03, - 0x00, 0x23, 0xc0, 0x2d, 0xc2, - 0x00, 0x24, 0xc2, 0x19, 0x42, - 0x00, 0x00, 0x40, 0x29, 0x86, - 0x00, 0x00, 0x52, 0x02, 0x43, - 0x00, 0x00, 0x43, 0xa9, 0xc4, - 0x00, 0x25, 0x41, 0x32, 0x82, - 0x00, 0x00, 0x41, 0x32, 0x83, - 0x00, 0x00, 0x58, 0x18, 0xc3, - 0x00, 0x00, 0x41, 0x84, 0x42, - 0x00, 0x25, 0xc0, 0x34, 0x02, - 0x00, 0x00, 0x4d, 0x95, 0xc6, - 0x00, 0x00, 0x42, 0xb9, 0x87, - 0x00, 0x00, 0x4f, 0xf2, 0x87, - 0x00, 0x00, 0x4f, 0x5d, 0x45, - 0x00, 0x00, 0x5c, 0xb8, 0xc4, - 0x00, 0x00, 0x57, 0x0c, 0x05, - 0x00, 0x00, 0x4c, 0x97, 0x47, - 0x00, 0x00, 0x55, 0x82, 0xc9, - 0x00, 0x00, 0x4d, 0xf9, 0x86, - 0x00, 0x00, 0x4f, 0x5c, 0x46, - 0x00, 0x27, 0xc0, 0x41, 0x02, - 0x00, 0x00, 0x50, 0xf1, 0x88, - 0x00, 0x00, 0x52, 0xa0, 0xc6, - 0x00, 0x00, 0x42, 0xad, 0x85, - 0x00, 0x00, 0x5b, 0x1f, 0x07, - 0x00, 0x00, 0x5b, 0x5d, 0x04, - 0x00, 0x00, 0x5b, 0x5d, 0x05, - 0x00, 0x00, 0x5a, 0x24, 0xc4, - 0x00, 0x00, 0x5a, 0x24, 0xc8, - 0x00, 0x28, 0x40, 0x52, 0x02, - 0x00, 0x28, 0xc0, 0x04, 0x82, - 0x00, 0x00, 0x43, 0x8a, 0xc6, - 0x00, 0x00, 0x40, 0x04, 0x88, - 0x00, 0x00, 0x53, 0xe3, 0x05, - 0x00, 0x00, 0x55, 0x36, 0x86, - 0x00, 0x00, 0x55, 0xd7, 0x88, - 0x00, 0x00, 0x56, 0x18, 0x88, - 0x00, 0x29, 0x40, 0x2c, 0x45, - 0x00, 0x2e, 0xc2, 0x04, 0xc4, - 0x00, 0x00, 0x45, 0x76, 0xc7, - 0x00, 0x2f, 0x40, 0x8f, 0xc2, - 0x00, 0x2f, 0xd5, 0x47, 0xc2, - 0x00, 0x32, 0x40, 0x22, 0x02, - 0x00, 0x00, 0x5c, 0x9b, 0x85, - 0x00, 0x33, 0xce, 0x9e, 0x05, - 0x00, 0x00, 0x47, 0x42, 0x46, - 0x00, 0x00, 0x4d, 0xc2, 0x47, - 0x00, 0x00, 0x5e, 0x8c, 0x07, - 0x00, 0x34, 0x40, 0x66, 0x43, - 0x00, 0x00, 0x52, 0x1c, 0x47, - 0x00, 0x00, 0x48, 0x9a, 0x48, - 0x00, 0x50, 0x42, 0xe7, 0x09, - 0x00, 0x00, 0x40, 0x66, 0x47, - 0x00, 0x00, 0x42, 0xef, 0x07, - 0x00, 0x00, 0x54, 0x92, 0x08, - 0x00, 0x00, 0x42, 0xf7, 0x06, - 0x00, 0x00, 0x43, 0x10, 0x46, - 0x00, 0x00, 0x43, 0x24, 0x0c, - 0x00, 0x00, 0x43, 0x32, 0x4a, - 0x00, 0x00, 0x43, 0x3b, 0xc7, - 0x00, 0x00, 0x43, 0x69, 0x8b, - 0x00, 0x00, 0x43, 0x7c, 0x87, - 0x00, 0x00, 0x43, 0x7c, 0x8e, - 0x00, 0x50, 0xc3, 0x91, 0xc4, - 0x00, 0x00, 0x43, 0x92, 0xc4, - 0x00, 0x00, 0x43, 0xb2, 0x87, - 0x00, 0x00, 0x47, 0x1d, 0x87, - 0x00, 0x00, 0x44, 0x00, 0x86, - 0x00, 0x00, 0x44, 0x00, 0x87, - 0x00, 0x00, 0x53, 0x2d, 0xc7, - 0x00, 0x00, 0x41, 0xda, 0xc3, - 0x00, 0x51, 0x42, 0xdd, 0x42, - 0x00, 0x00, 0x44, 0x31, 0x06, - 0x00, 0x00, 0x44, 0x31, 0x0a, - 0x00, 0x00, 0x44, 0x39, 0xcb, - 0x00, 0x00, 0x44, 0x57, 0xc7, - 0x00, 0x00, 0x44, 0x71, 0x05, - 0x00, 0x00, 0x44, 0x73, 0xc3, - 0x00, 0x00, 0x44, 0x77, 0x46, - 0x00, 0x00, 0x44, 0x77, 0x47, - 0x00, 0x00, 0x46, 0x96, 0xc3, - 0x00, 0x51, 0xc0, 0x01, 0x02, - 0x00, 0x00, 0x44, 0x7e, 0x0a, - 0x00, 0x52, 0x53, 0x0c, 0x02, - 0x00, 0x52, 0xda, 0x15, 0x42, - 0x00, 0x53, 0x44, 0x14, 0x02, - 0x00, 0x53, 0xc3, 0x19, 0x82, - 0x00, 0x00, 0x44, 0xa4, 0x85, - 0x00, 0x00, 0x44, 0xb7, 0x04, - 0x00, 0x55, 0x45, 0x43, 0x02, - 0x00, 0x00, 0x55, 0x73, 0xc5, - 0x00, 0x00, 0x43, 0x1b, 0xc3, - 0x00, 0x00, 0x57, 0x41, 0x45, - 0x00, 0x00, 0x56, 0x1b, 0x84, - 0x00, 0x00, 0x42, 0x6f, 0x84, - 0x00, 0x00, 0x4d, 0xd1, 0x86, - 0x00, 0x00, 0x45, 0xcb, 0x86, - 0x00, 0x00, 0x40, 0x81, 0xc3, - 0x00, 0x00, 0x5d, 0x14, 0x04, - 0x00, 0x00, 0x55, 0x8f, 0xc3, - 0x00, 0x57, 0x40, 0x23, 0xc2, - 0x00, 0x00, 0x42, 0x56, 0x04, - 0x00, 0x00, 0x42, 0x56, 0x06, - 0x00, 0x00, 0x44, 0xfd, 0x45, - 0x00, 0x00, 0x59, 0x9f, 0xc6, - 0x00, 0x00, 0x5b, 0x20, 0x08, - 0x00, 0x00, 0x41, 0xde, 0x44, - 0x00, 0x00, 0x45, 0x72, 0x08, - 0x00, 0x00, 0x52, 0x67, 0xc5, - 0x00, 0x00, 0x48, 0xe3, 0x48, - 0x00, 0x00, 0x4d, 0x8d, 0x86, - 0x00, 0x00, 0x4b, 0x9b, 0x07, - 0x00, 0x00, 0x47, 0xcf, 0x44, - 0x00, 0x5a, 0xc7, 0xcf, 0x46, - 0x00, 0x5b, 0x41, 0xa6, 0xc3, - 0x00, 0x00, 0x5a, 0x56, 0x03, - 0x00, 0x00, 0x57, 0x10, 0x08, - 0x00, 0x00, 0x53, 0x85, 0x04, - 0x00, 0x5b, 0xc0, 0xe4, 0xc7, - 0x00, 0x00, 0x48, 0x62, 0xc6, - 0x00, 0x00, 0x4f, 0x01, 0x09, - 0x00, 0x00, 0x50, 0x22, 0x08, - 0x00, 0x00, 0x57, 0x52, 0x08, - 0x00, 0x00, 0x58, 0x19, 0x44, - 0x00, 0x00, 0x41, 0x80, 0xc3, - 0x00, 0x00, 0x42, 0x8b, 0x02, - 0x00, 0x5c, 0xc5, 0x64, 0x42, - 0x00, 0x5d, 0x40, 0x14, 0xc2, - 0x00, 0x00, 0x52, 0x82, 0x43, - 0x00, 0x5d, 0xc0, 0x60, 0xc2, - 0x00, 0x00, 0x46, 0x96, 0x44, - 0x00, 0x00, 0x49, 0x5e, 0x46, - 0x00, 0x00, 0x43, 0x28, 0xc3, - 0x00, 0x00, 0x4c, 0xb1, 0xc7, - 0x00, 0x00, 0x5d, 0xc0, 0x83, - 0x00, 0x00, 0x4c, 0x39, 0xc8, - 0x00, 0x00, 0x58, 0x16, 0xc5, - 0x00, 0x00, 0x46, 0xaa, 0x03, - 0x00, 0x00, 0x5c, 0xca, 0x85, - 0x00, 0x00, 0x5c, 0xcb, 0xc4, - 0x00, 0x00, 0x5b, 0x1c, 0x06, - 0x00, 0x00, 0x5b, 0x74, 0x06, - 0x00, 0x00, 0x4e, 0x46, 0x86, - 0x00, 0x00, 0x4d, 0xb9, 0x44, - 0x00, 0x00, 0x43, 0x80, 0x43, - 0x00, 0x5e, 0x45, 0xf0, 0x42, - 0x00, 0x5e, 0xc3, 0x71, 0x05, - 0x00, 0x00, 0x40, 0x08, 0x43, - 0x00, 0x5f, 0xc0, 0x2c, 0x02, - 0x00, 0x00, 0x40, 0xf3, 0x43, - 0x00, 0x00, 0x45, 0x8c, 0x05, - 0x00, 0x60, 0x41, 0xf6, 0x03, - 0x00, 0x61, 0x43, 0x60, 0x89, - 0x00, 0x61, 0xc0, 0x09, 0x42, - 0x00, 0x62, 0xc0, 0xb5, 0xc2, - 0x00, 0x00, 0x49, 0x92, 0x45, - 0x00, 0x00, 0x41, 0x93, 0xc6, - 0x00, 0x00, 0x49, 0x24, 0xc6, - 0x00, 0x00, 0x50, 0xd7, 0x88, - 0x00, 0x00, 0x50, 0xd7, 0x8b, - 0x00, 0x00, 0x54, 0xcc, 0x8b, - 0x00, 0x00, 0x4f, 0x5f, 0x45, - 0x00, 0x00, 0x4e, 0x26, 0x09, - 0x00, 0x02, 0xc0, 0x10, 0x82, - 0x00, 0x00, 0x4e, 0x8f, 0x88, - 0x00, 0x00, 0x40, 0x3f, 0x04, - 0x00, 0x63, 0xc0, 0x13, 0x42, - 0x00, 0x00, 0x54, 0x41, 0xc3, - 0x00, 0x64, 0xc7, 0x1f, 0x46, - 0x00, 0x65, 0x40, 0x1b, 0x02, - 0x00, 0x00, 0x5c, 0xf4, 0xc8, - 0x00, 0x65, 0xc0, 0x4c, 0x02, - 0x00, 0x00, 0x46, 0xc7, 0x4a, - 0x00, 0x66, 0xc2, 0x20, 0xc3, - 0x00, 0x67, 0xd7, 0xf7, 0x06, - 0x00, 0x00, 0x51, 0xce, 0xc8, - 0x00, 0x00, 0x41, 0x9d, 0x46, - 0x00, 0x00, 0x58, 0xf2, 0x07, - 0x00, 0x00, 0x41, 0x2f, 0x47, - 0x00, 0x00, 0x5d, 0x86, 0xca, - 0x00, 0x00, 0x44, 0x5d, 0x44, - 0x00, 0x00, 0x56, 0x71, 0xc4, - 0x00, 0x00, 0x57, 0xe7, 0x09, - 0x00, 0x68, 0x5b, 0x2f, 0x05, - 0x00, 0x00, 0x40, 0x64, 0xc6, - 0x00, 0x00, 0x41, 0x32, 0xc3, - 0x00, 0x00, 0x45, 0x5e, 0xc4, - 0x00, 0x68, 0xce, 0x25, 0x04, - 0x00, 0x00, 0x53, 0xb4, 0x87, - 0x00, 0x69, 0x5a, 0x68, 0x07, - 0x00, 0x00, 0x48, 0x09, 0x84, - 0x00, 0x00, 0x55, 0xde, 0xc5, - 0x00, 0x00, 0x47, 0x43, 0x08, - 0x00, 0x00, 0x44, 0xc3, 0x87, - 0x00, 0x00, 0x44, 0xc6, 0x07, - 0x00, 0x69, 0xc0, 0xfd, 0x02, - 0x00, 0x00, 0x51, 0xf0, 0xc4, - 0x00, 0x00, 0x4a, 0x21, 0xc8, - 0x00, 0x00, 0x44, 0xe3, 0x04, - 0x00, 0x00, 0x45, 0x16, 0x04, - 0x00, 0x00, 0x45, 0x19, 0xc5, - 0x00, 0x00, 0x45, 0x1b, 0x07, - 0x00, 0x6b, 0x55, 0x17, 0x89, - 0x00, 0x00, 0x45, 0x31, 0x44, - 0x00, 0x00, 0x45, 0x3e, 0x09, - 0x00, 0x00, 0x45, 0x54, 0xc8, - 0x00, 0x00, 0x45, 0x5c, 0x44, - 0x00, 0x00, 0x45, 0x5c, 0x47, - 0x00, 0x00, 0x45, 0x62, 0x43, - 0x00, 0x00, 0x45, 0x6d, 0x47, - 0x00, 0x6b, 0xc0, 0x0b, 0xc2, - 0x00, 0x02, 0xcc, 0x5f, 0xc2, - 0x00, 0x00, 0x45, 0xbb, 0x06, - 0x00, 0x00, 0x4b, 0xdd, 0x07, - 0x00, 0x00, 0x45, 0xc3, 0x84, - 0x00, 0x00, 0x45, 0xde, 0x87, - 0x00, 0x00, 0x45, 0xf6, 0x87, - 0x00, 0x00, 0x46, 0x04, 0x83, - 0x00, 0x6c, 0x45, 0x96, 0xc2, - 0x00, 0x00, 0x41, 0xe1, 0x42, - 0x00, 0x00, 0x46, 0x19, 0xc3, - 0x00, 0x00, 0x46, 0x19, 0xc4, - 0x00, 0x00, 0x46, 0x19, 0xcb, - 0x00, 0x00, 0x53, 0x20, 0x88, - 0x00, 0x00, 0x41, 0xe1, 0x44, - 0x00, 0x00, 0x46, 0x2c, 0x05, - 0x00, 0x00, 0x46, 0x46, 0x87, - 0x00, 0x00, 0x4f, 0x3d, 0x05, - 0x00, 0x00, 0x52, 0x92, 0x0a, - 0x00, 0x00, 0x46, 0x7c, 0x83, - 0x00, 0x6c, 0xc0, 0x81, 0x02, - 0x00, 0x00, 0x43, 0xe6, 0x44, - 0x00, 0x00, 0x46, 0xd2, 0x09, - 0x00, 0x00, 0x47, 0x0c, 0x43, - 0x00, 0x00, 0x47, 0x0d, 0x07, - 0x00, 0x00, 0x56, 0x13, 0xc9, - 0x00, 0x00, 0x54, 0xf6, 0xc8, - 0x00, 0x00, 0x46, 0x4d, 0x43, - 0x00, 0x00, 0x48, 0xa7, 0xc7, - 0x00, 0x00, 0x49, 0x11, 0x03, - 0x00, 0x00, 0x49, 0x26, 0x44, - 0x00, 0x00, 0x49, 0x33, 0x49, - 0x00, 0x00, 0x49, 0x77, 0x86, - 0x00, 0x00, 0x4a, 0xe1, 0x03, - 0x00, 0x00, 0x40, 0x87, 0x82, - 0x00, 0x00, 0x4c, 0x5d, 0xc3, - 0x00, 0x00, 0x4c, 0x5d, 0xc7, - 0x00, 0x00, 0x58, 0x9d, 0x85, - 0x00, 0x00, 0x55, 0x71, 0x86, - 0x00, 0x00, 0x41, 0x28, 0x04, - 0x00, 0x00, 0x59, 0x53, 0x05, - 0x00, 0x00, 0x48, 0xb2, 0x43, - 0x00, 0x00, 0x41, 0x77, 0x46, - 0x00, 0x00, 0x47, 0x2f, 0xc3, - 0x00, 0x00, 0x40, 0x8b, 0x02, - 0x00, 0x00, 0x45, 0x0a, 0xc4, - 0x00, 0x6d, 0x43, 0x43, 0x82, - 0x00, 0x6d, 0xc3, 0x43, 0x83, - 0x00, 0x6e, 0x40, 0x30, 0xc2, - 0x00, 0x00, 0x40, 0xbf, 0xc3, - 0x00, 0x00, 0x41, 0x5b, 0x44, - 0x00, 0x00, 0x45, 0x2a, 0x07, - 0x00, 0x00, 0x4a, 0x07, 0x86, - 0x00, 0x00, 0x46, 0xd1, 0xc2, - 0x00, 0x6e, 0xc6, 0xd6, 0x02, - 0x00, 0x00, 0x5b, 0x22, 0x04, - 0x00, 0x6f, 0xc1, 0x15, 0xc2, - 0x00, 0x70, 0x40, 0xc7, 0x82, - 0x00, 0x00, 0x40, 0xc7, 0x84, - 0x00, 0x00, 0x40, 0xc7, 0x85, - 0x00, 0x00, 0x53, 0xc3, 0x45, - 0x00, 0x00, 0x5c, 0x3d, 0xc6, - 0x00, 0x70, 0xc1, 0x02, 0x02, - 0x00, 0x00, 0x4f, 0xdf, 0x45, - 0x00, 0x00, 0x53, 0x23, 0xc5, - 0x00, 0x00, 0x4e, 0x9d, 0x43, - 0x00, 0x00, 0x4f, 0xc9, 0x86, - 0x00, 0x00, 0x41, 0x02, 0x05, - 0x00, 0x00, 0x41, 0x7a, 0xc2, - 0x00, 0x00, 0x55, 0xe4, 0x85, - 0x00, 0x00, 0x41, 0x7a, 0xc4, - 0x00, 0x00, 0x41, 0xdd, 0x83, - 0x00, 0x00, 0x41, 0xdf, 0xc3, - 0x00, 0x71, 0x40, 0x74, 0xc2, - 0x00, 0x00, 0x47, 0x49, 0x07, - 0x00, 0x00, 0x45, 0x56, 0xc4, - 0x00, 0x00, 0x45, 0x56, 0xc9, - 0x00, 0x00, 0x45, 0x5d, 0xc4, - 0x00, 0x00, 0x4b, 0x69, 0x43, - 0x00, 0x00, 0x4c, 0x2c, 0x88, - 0x00, 0x71, 0xce, 0x9c, 0x84, - 0x00, 0x00, 0x4e, 0x9c, 0x86, - 0x00, 0x00, 0x4b, 0x48, 0x43, - 0x00, 0x00, 0x46, 0x36, 0x43, - 0x00, 0x00, 0x40, 0x55, 0x03, - 0x00, 0x72, 0x50, 0x34, 0xc2, - 0x00, 0x00, 0x58, 0xc9, 0x02, - 0x00, 0x72, 0xc0, 0x06, 0x42, - 0x00, 0x00, 0x54, 0x1f, 0x88, - 0x00, 0x00, 0x5d, 0x24, 0x08, - 0x00, 0x00, 0x5c, 0x01, 0xc6, - 0x00, 0x00, 0x49, 0xa7, 0xc5, - 0x00, 0x00, 0x4b, 0xb3, 0x85, - 0x00, 0x00, 0x5c, 0x7f, 0x87, - 0x00, 0x73, 0x48, 0x6e, 0x45, - 0x00, 0x00, 0x40, 0x62, 0xc2, - 0x00, 0x73, 0xca, 0x45, 0x42, - 0x00, 0x74, 0x40, 0x00, 0x42, - 0x00, 0x00, 0x48, 0x7c, 0x08, - 0x00, 0x00, 0x50, 0xf0, 0xc5, - 0x00, 0x00, 0x50, 0x86, 0x04, - 0x00, 0x00, 0x58, 0x96, 0x05, - 0x00, 0x00, 0x59, 0x41, 0x47, - 0x00, 0x00, 0x49, 0xee, 0x04, - 0x00, 0x00, 0x45, 0x94, 0xc2, - 0x00, 0x74, 0xc3, 0x31, 0xc2, - 0x00, 0x00, 0x55, 0x60, 0x44, - 0x00, 0x00, 0x50, 0xf4, 0x47, - 0x00, 0x00, 0x49, 0x97, 0xc7, - 0x00, 0x00, 0x58, 0x0e, 0x04, - 0x00, 0x00, 0x5e, 0x3a, 0x43, - 0x00, 0x00, 0x49, 0xdb, 0x84, - 0x00, 0x00, 0x49, 0xdb, 0x88, - 0x00, 0x75, 0x43, 0x13, 0x86, - 0x00, 0x00, 0x45, 0xbe, 0xca, - 0x00, 0x00, 0x55, 0x16, 0x44, - 0x00, 0x00, 0x4a, 0x1c, 0x08, - 0x00, 0x00, 0x43, 0x72, 0xc4, - 0x00, 0x00, 0x42, 0x53, 0x86, - 0x00, 0x00, 0x4a, 0x45, 0x04, - 0x00, 0x00, 0x5c, 0x9e, 0x86, - 0x00, 0x00, 0x45, 0x59, 0x89, - 0x00, 0x00, 0x4b, 0x3f, 0xc7, - 0x00, 0x00, 0x5a, 0x0d, 0xc3, - 0x00, 0x75, 0xc1, 0x73, 0x82, - 0x00, 0x00, 0x47, 0xe1, 0xc3, - 0x00, 0x00, 0x40, 0x9b, 0x02, - 0x00, 0x76, 0x40, 0xaf, 0x02, - 0x00, 0x00, 0x45, 0x46, 0x06, - 0x00, 0x00, 0x48, 0x5e, 0x48, - 0x00, 0x00, 0x4b, 0x66, 0x87, - 0x00, 0x00, 0x55, 0xf2, 0x89, - 0x00, 0x00, 0x4b, 0x68, 0x49, - 0x00, 0x00, 0x4b, 0x80, 0x05, - 0x00, 0x00, 0x4b, 0x9f, 0xc9, - 0x00, 0x00, 0x4b, 0xb4, 0xc5, - 0x00, 0x00, 0x4b, 0xc0, 0x45, - 0x00, 0x00, 0x4b, 0xd5, 0x08, - 0x00, 0x76, 0xc1, 0x00, 0x84, - 0x00, 0x77, 0x41, 0x00, 0x87, - 0x00, 0x00, 0x42, 0xf2, 0xc3, - 0x00, 0x00, 0x4b, 0xd7, 0x07, - 0x00, 0x00, 0x42, 0xf2, 0xc6, - 0x00, 0x00, 0x4b, 0xe1, 0xc7, - 0x00, 0x00, 0x4b, 0x38, 0x05, - 0x00, 0x00, 0x42, 0xea, 0x83, - 0x00, 0x77, 0xc2, 0x96, 0x02, - 0x00, 0x00, 0x58, 0x1d, 0x04, - 0x00, 0x78, 0x41, 0xfe, 0xc2, - 0x00, 0x78, 0xc1, 0x5f, 0xc2, - 0x00, 0x00, 0x57, 0xcd, 0x06, - 0x00, 0x00, 0x5b, 0xe8, 0x45, - 0x00, 0x00, 0x4c, 0x11, 0x07, - 0x00, 0x00, 0x4f, 0xd6, 0x03, - 0x00, 0x00, 0x55, 0x47, 0x04, - 0x00, 0x00, 0x40, 0x16, 0x03, - 0x00, 0x00, 0x5b, 0xe5, 0x03, - 0x00, 0x79, 0x40, 0x30, 0x42, - 0x00, 0x7a, 0xc0, 0x14, 0x42, - 0x00, 0x00, 0x59, 0x2d, 0x04, - 0x00, 0x00, 0x45, 0x96, 0x83, - 0x00, 0x00, 0x50, 0xd4, 0x45, - 0x00, 0x7b, 0x40, 0x41, 0x42, - 0x00, 0x7c, 0x40, 0x6a, 0x42, - 0x00, 0x00, 0x58, 0x98, 0x06, - 0x00, 0x00, 0x4f, 0xbf, 0x04, - 0x00, 0x00, 0x50, 0xec, 0xc4, - 0x00, 0x00, 0x50, 0xec, 0xca, - 0x00, 0x7d, 0x40, 0x05, 0xc2, - 0x00, 0x00, 0x45, 0x23, 0x83, - 0x00, 0x00, 0x40, 0xce, 0x0a, - 0x00, 0x00, 0x40, 0xfc, 0x88, - 0x00, 0x7d, 0xc5, 0x03, 0xc4, - 0x00, 0x00, 0x40, 0x05, 0xc3, - 0x00, 0x00, 0x43, 0x77, 0x03, - 0x00, 0x00, 0x4c, 0xb2, 0xc9, - 0x00, 0x00, 0x46, 0xb2, 0x89, - 0x00, 0x00, 0x40, 0xfe, 0x46, - 0x00, 0x7e, 0x41, 0x1e, 0x43, - 0x00, 0x00, 0x52, 0x05, 0x4d, - 0x00, 0x00, 0x43, 0x08, 0x86, - 0x00, 0x00, 0x44, 0x7a, 0x4b, - 0x00, 0x7e, 0xc0, 0x5c, 0xc2, - 0x00, 0x00, 0x51, 0xff, 0x88, - 0x00, 0x88, 0x41, 0xb8, 0x42, - 0x00, 0x88, 0xc0, 0x28, 0x02, - 0x00, 0x00, 0x4b, 0xfe, 0x45, - 0x00, 0x89, 0x40, 0x2b, 0x82, - 0x00, 0x00, 0x4a, 0xaa, 0xc7, - 0x00, 0x00, 0x40, 0xad, 0xc3, - 0x00, 0x00, 0x41, 0x03, 0xc8, - 0x00, 0x89, 0xc0, 0x4b, 0x02, - 0x00, 0x00, 0x4b, 0xc5, 0xc4, - 0x00, 0x00, 0x42, 0x4b, 0x03, - 0x00, 0x00, 0x44, 0x40, 0xc6, - 0x00, 0x00, 0x43, 0x0a, 0x84, - 0x00, 0x00, 0x41, 0x70, 0x83, - 0x00, 0x8c, 0x40, 0x1d, 0x02, - 0x00, 0x00, 0x4f, 0x5e, 0xc4, - 0x00, 0x00, 0x4c, 0x4c, 0x45, - 0x00, 0x00, 0x4c, 0x59, 0xc7, - 0x00, 0x00, 0x48, 0x8e, 0x83, - 0x00, 0x00, 0x4c, 0x70, 0x03, - 0x00, 0x02, 0xcc, 0x76, 0xc2, - 0x00, 0x00, 0x4c, 0x76, 0xc3, - 0x00, 0x00, 0x4c, 0x7b, 0x43, - 0x00, 0x8c, 0xc0, 0x0c, 0x02, - 0x00, 0x00, 0x42, 0x1e, 0x44, - 0x00, 0x00, 0x54, 0xd0, 0x06, - 0x00, 0x00, 0x47, 0xd8, 0x43, - 0x00, 0x00, 0x4c, 0x7f, 0xc3, - 0x00, 0x8d, 0x45, 0x10, 0xc2, - 0x00, 0x00, 0x45, 0x10, 0xc8, - 0x00, 0x00, 0x4c, 0x8c, 0x84, - 0x00, 0x00, 0x5b, 0x66, 0x86, - 0x00, 0x00, 0x58, 0xca, 0x87, - 0x00, 0x00, 0x5a, 0xe1, 0xc6, - 0x00, 0x00, 0x57, 0x0f, 0x84, - 0x00, 0xa9, 0xc0, 0x13, 0x02, - 0x00, 0x00, 0x42, 0xf1, 0x8b, - 0x00, 0x00, 0x4c, 0x65, 0x0e, - 0x00, 0x00, 0x41, 0xb1, 0xcf, - 0x00, 0x00, 0x5a, 0x9c, 0xc3, - 0x00, 0xaa, 0xcd, 0x57, 0x82, - 0x00, 0x02, 0xc4, 0x6c, 0x82, - 0x00, 0xab, 0x40, 0x60, 0x02, - 0x00, 0x00, 0x44, 0x24, 0x43, - 0x00, 0x00, 0x5b, 0xf3, 0xc4, - 0x00, 0x00, 0x48, 0x89, 0x83, - 0x00, 0x00, 0x55, 0x85, 0x46, - 0x00, 0x00, 0x58, 0x9c, 0x06, - 0x00, 0x00, 0x5c, 0x30, 0x87, - 0x00, 0x00, 0x44, 0x48, 0x04, - 0x00, 0xab, 0xc1, 0x95, 0x02, - 0x00, 0xac, 0x42, 0x9d, 0x02, - 0x00, 0x00, 0x50, 0x7c, 0xc5, - 0x00, 0x00, 0x50, 0x2d, 0x47, - 0x00, 0x00, 0x5b, 0xa8, 0x46, - 0x00, 0xac, 0xc7, 0x44, 0xc2, - 0x00, 0x00, 0x58, 0x95, 0x44, - 0x00, 0x00, 0x4c, 0xda, 0x83, - 0x00, 0xad, 0x40, 0x69, 0x82, - 0x00, 0xad, 0xd7, 0xbc, 0x03, - 0x00, 0x00, 0x4c, 0xe9, 0x04, - 0x00, 0x00, 0x4d, 0x56, 0xc9, - 0x00, 0xae, 0x4d, 0xd4, 0xc2, - 0x00, 0xae, 0xc3, 0x98, 0x42, - 0x00, 0x00, 0x44, 0xe6, 0x85, - 0x00, 0xaf, 0x4d, 0xd8, 0x02, - 0x00, 0xb0, 0x40, 0x4f, 0xc2, - 0x00, 0x00, 0x56, 0x3e, 0xc7, - 0x00, 0x00, 0x57, 0xf3, 0x4b, - 0x00, 0x00, 0x41, 0x2d, 0x05, - 0x00, 0x00, 0x44, 0x80, 0x09, - 0x00, 0x00, 0x46, 0x5e, 0x06, - 0x00, 0xb0, 0xc1, 0xcd, 0x44, - 0x00, 0x00, 0x5c, 0x58, 0xc9, - 0x00, 0x00, 0x5e, 0x75, 0x87, - 0x00, 0x00, 0x58, 0xbe, 0x47, - 0x00, 0x00, 0x42, 0xd9, 0x03, - 0x00, 0x00, 0x4f, 0x84, 0x06, - 0x00, 0x00, 0x52, 0x5a, 0x07, - 0x00, 0x00, 0x47, 0x21, 0xc3, - 0x00, 0x00, 0x4c, 0x06, 0x86, - 0x00, 0xb1, 0xc0, 0xd9, 0xc2, - 0x00, 0xb2, 0x42, 0xa2, 0xc2, - 0x00, 0x00, 0x5b, 0x72, 0x03, - 0x00, 0x00, 0x5a, 0x5e, 0x05, - 0x00, 0x00, 0x4d, 0xf8, 0x07, - 0x00, 0x00, 0x58, 0xff, 0xc6, - 0x00, 0x00, 0x58, 0x9d, 0x05, - 0x00, 0x00, 0x45, 0x56, 0x44, - 0x00, 0x00, 0x4b, 0x20, 0x85, - 0x00, 0x00, 0x51, 0x19, 0x44, - 0x00, 0xb2, 0xc0, 0x12, 0x82, - 0x00, 0x00, 0x4d, 0xb5, 0x84, - 0x00, 0x00, 0x46, 0xb1, 0x84, - 0x00, 0x00, 0x46, 0xb1, 0x8d, - 0x00, 0x00, 0x4d, 0x92, 0xc9, - 0x00, 0x00, 0x59, 0x3f, 0x88, - 0x00, 0x00, 0x40, 0x12, 0x84, - 0x00, 0x00, 0x46, 0x79, 0x45, - 0x00, 0x00, 0x4f, 0xf7, 0x07, - 0x00, 0x00, 0x5c, 0x22, 0xc4, - 0x00, 0x00, 0x4f, 0xe2, 0x47, - 0x00, 0x00, 0x42, 0x65, 0x05, - 0x00, 0xb3, 0x4b, 0x72, 0x84, - 0x00, 0x00, 0x4b, 0xa6, 0x45, - 0x00, 0xb3, 0xc6, 0xf9, 0x04, - 0x00, 0x00, 0x51, 0x80, 0x46, - 0x00, 0x00, 0x4d, 0xc0, 0x45, - 0x00, 0xb4, 0x46, 0x63, 0xc2, - 0x00, 0x00, 0x42, 0xa2, 0x83, - 0x00, 0x00, 0x50, 0xcf, 0x03, - 0x00, 0x00, 0x43, 0xb5, 0xc4, - 0x00, 0x00, 0x43, 0xb5, 0xc5, - 0x00, 0x00, 0x41, 0xc2, 0xc6, - 0x00, 0x00, 0x58, 0x9e, 0x45, - 0x00, 0x00, 0x46, 0x4c, 0xc4, - 0x00, 0xb4, 0xd0, 0x0e, 0xc3, - 0x00, 0xb5, 0x41, 0x08, 0x86, - 0x00, 0x00, 0x40, 0xa8, 0xc5, - 0x00, 0x00, 0x41, 0x8f, 0x45, - 0x00, 0x00, 0x4d, 0xc1, 0x44, - 0x00, 0x00, 0x55, 0x16, 0xc3, - 0x00, 0x00, 0x55, 0x16, 0xcc, - 0x00, 0xb5, 0xcc, 0x5a, 0xc2, - 0x00, 0xb6, 0x40, 0x0b, 0x42, - 0x00, 0xb6, 0xc0, 0x6b, 0x42, - 0x00, 0x00, 0x40, 0xf7, 0x43, - 0x00, 0x00, 0x40, 0xf7, 0x44, - 0x00, 0xb7, 0x40, 0x95, 0x82, - 0x00, 0x00, 0x4f, 0xa4, 0xc8, - 0x00, 0x00, 0x46, 0x65, 0xc4, - 0x00, 0x00, 0x52, 0xea, 0x06, - 0x00, 0xb7, 0xc1, 0xa2, 0x02, - 0x00, 0xb8, 0x40, 0x65, 0xc2, - 0x00, 0xb8, 0xc0, 0x5e, 0x42, - 0x00, 0x00, 0x49, 0xd5, 0xc5, - 0x00, 0x00, 0x5c, 0xa1, 0x06, - 0x00, 0x00, 0x55, 0xed, 0x44, - 0x00, 0x00, 0x42, 0xc8, 0xc6, - 0x00, 0x00, 0x40, 0xba, 0xc6, - 0x00, 0x00, 0x42, 0x83, 0x43, - 0x00, 0xb9, 0x49, 0x74, 0x8a, - 0x00, 0x00, 0x4e, 0x9b, 0xc5, - 0x00, 0x00, 0x4a, 0x86, 0x43, - 0x00, 0x00, 0x42, 0x5a, 0xc6, - 0x00, 0xb9, 0xdf, 0x3f, 0x49, - 0x00, 0x00, 0x42, 0x5a, 0xc7, - 0x00, 0x00, 0x48, 0xf8, 0x48, - 0x00, 0x00, 0x4c, 0xa8, 0x09, - 0x00, 0x00, 0x5a, 0x33, 0x48, - 0x00, 0x00, 0x49, 0xca, 0x06, - 0x00, 0x00, 0x40, 0x6a, 0x83, - 0x00, 0xba, 0x40, 0x20, 0x42, - 0x00, 0x00, 0x5a, 0x7a, 0xc8, - 0x00, 0xba, 0xc4, 0xe4, 0x42, - 0x00, 0xbb, 0x40, 0x0e, 0xc2, - 0x00, 0x00, 0x43, 0xdd, 0xc3, - 0x00, 0x00, 0x4d, 0xfa, 0x85, - 0x00, 0x00, 0x4a, 0x7d, 0x84, - 0x00, 0x00, 0x4b, 0xd2, 0xc9, - 0x00, 0x00, 0x43, 0x17, 0x84, - 0x00, 0x00, 0x43, 0x5a, 0xc8, - 0x00, 0xbc, 0x40, 0x9b, 0x43, - 0x00, 0xbc, 0xc5, 0xf3, 0x04, - 0x00, 0x00, 0x41, 0x94, 0x08, - 0x00, 0xbd, 0x4c, 0x7f, 0x42, - 0x00, 0x00, 0x43, 0x05, 0x82, - 0x00, 0x00, 0x53, 0x5f, 0x45, - 0x00, 0x00, 0x43, 0x4e, 0x09, - 0x00, 0x00, 0x40, 0x65, 0x43, - 0x00, 0x00, 0x52, 0xc5, 0x84, - 0x00, 0x00, 0x5a, 0x7f, 0x44, - 0x00, 0x00, 0x45, 0x5a, 0x83, - 0x00, 0x00, 0x48, 0xe9, 0x4a, - 0x00, 0xbd, 0xd9, 0x4c, 0xc2, - 0x00, 0xbe, 0x40, 0xd6, 0x82, - 0x00, 0x00, 0x4e, 0x20, 0x03, - 0x00, 0x00, 0x59, 0x6e, 0xc3, - 0x00, 0x02, 0xc0, 0xf4, 0x02, - 0x00, 0x00, 0x5b, 0x30, 0x83, - 0x00, 0xbe, 0xc1, 0xcf, 0x02, - 0x00, 0xbf, 0x40, 0x15, 0x02, - 0x00, 0xbf, 0xc2, 0x8f, 0x84, - 0x00, 0x00, 0x48, 0xf4, 0x06, - 0x00, 0x00, 0x47, 0xc7, 0x04, - 0x00, 0x00, 0x48, 0x7a, 0x43, - 0x00, 0x00, 0x40, 0x84, 0x83, - 0x00, 0xc0, 0x50, 0xb8, 0x43, - 0x00, 0x00, 0x44, 0x3d, 0x46, - 0x00, 0x00, 0x53, 0x63, 0x05, - 0x00, 0x00, 0x4e, 0x69, 0x47, - 0x00, 0x00, 0x4e, 0x68, 0x86, - 0x00, 0x00, 0x4e, 0x75, 0x88, - 0x00, 0x00, 0x4e, 0x77, 0x86, - 0x00, 0x00, 0x42, 0x00, 0x84, - 0x00, 0x00, 0x4a, 0x9c, 0xcb, - 0x00, 0x00, 0x4e, 0xa4, 0x43, - 0x00, 0x00, 0x4e, 0xa4, 0x45, - 0x00, 0xc0, 0xc0, 0x66, 0xc2, - 0x00, 0x00, 0x56, 0x41, 0xc2, - 0x00, 0xc1, 0x44, 0xa5, 0x02, - 0x00, 0xc1, 0xc0, 0x3c, 0x42, - 0x00, 0x00, 0x40, 0x6e, 0x83, - 0x00, 0xc2, 0x47, 0xd2, 0x02, - 0x00, 0x00, 0x47, 0xd2, 0x03, - 0x00, 0x00, 0x4e, 0xaf, 0x83, - 0x00, 0xc3, 0x40, 0x33, 0x02, - 0x00, 0xc3, 0xce, 0xe6, 0xc6, - 0x00, 0x00, 0x4e, 0xea, 0xc5, - 0x00, 0x00, 0x49, 0xac, 0xc6, - 0x00, 0xc4, 0x47, 0x5a, 0x82, - 0x00, 0xc4, 0xc0, 0xa7, 0x02, - 0x00, 0xc5, 0x41, 0xe0, 0x02, - 0x00, 0xc5, 0xc0, 0x70, 0xc2, - 0x00, 0xc6, 0x40, 0xf8, 0xc2, - 0x00, 0xc6, 0xc0, 0x1b, 0x82, - 0x00, 0x00, 0x44, 0xb0, 0x83, - 0x00, 0x00, 0x5d, 0x34, 0x46, - 0x00, 0xc7, 0x49, 0x47, 0x44, - 0x00, 0x00, 0x5a, 0xc6, 0x46, - 0x00, 0x00, 0x48, 0x8d, 0x04, - 0x00, 0x00, 0x50, 0x18, 0x43, - 0x00, 0xc8, 0xc0, 0x24, 0xc2, - 0x00, 0x00, 0x40, 0x18, 0xc2, - 0x00, 0x00, 0x42, 0xe6, 0x83, - 0x00, 0xc9, 0x41, 0x09, 0xc3, - 0x00, 0x00, 0x5d, 0x36, 0x87, - 0x00, 0x00, 0x4d, 0xbf, 0x47, - 0x00, 0xd5, 0x45, 0x05, 0x87, - 0x00, 0x00, 0x51, 0x42, 0x07, - 0x00, 0x00, 0x41, 0x23, 0x43, - 0x00, 0xd5, 0xc7, 0x3e, 0x04, - 0x00, 0x00, 0x4e, 0xcf, 0x44, - 0x00, 0x00, 0x4e, 0xcf, 0x4a, - 0x00, 0x00, 0x5e, 0x8d, 0x45, - 0x00, 0xd6, 0x40, 0xfc, 0xc2, - 0x00, 0x00, 0x45, 0xde, 0x43, - 0x00, 0xd6, 0xc0, 0x06, 0x02, - 0x00, 0x00, 0x42, 0xb6, 0x43, - 0x00, 0x00, 0x47, 0xe1, 0x83, - 0x00, 0xd7, 0xc0, 0x05, 0x82, - 0x00, 0x00, 0x48, 0x99, 0xc4, - 0x00, 0x00, 0x53, 0x59, 0x04, - 0x00, 0x00, 0x5a, 0xfb, 0x45, - 0x00, 0x00, 0x52, 0x26, 0xc5, - 0x00, 0x00, 0x42, 0xd0, 0x06, - 0x00, 0x00, 0x4b, 0x92, 0x86, - 0x00, 0xd8, 0x41, 0x22, 0x82, - 0x00, 0xd8, 0xc0, 0x1f, 0x42, - 0x00, 0x00, 0x4c, 0x6d, 0x85, - 0x00, 0x00, 0x49, 0xa9, 0xd2, - 0x00, 0x00, 0x4a, 0xd8, 0xc6, - 0x00, 0x00, 0x40, 0x3d, 0x43, - 0x00, 0x00, 0x5d, 0x1f, 0x46, - 0x00, 0x00, 0x56, 0x69, 0x05, - 0x00, 0x02, 0xc1, 0x71, 0x42, - 0x00, 0xe9, 0x40, 0xb5, 0x02, - 0x00, 0x00, 0x5b, 0xae, 0xc3, - 0x00, 0x00, 0x40, 0xb5, 0x03, - 0x00, 0x00, 0x4a, 0xfb, 0x03, - 0x00, 0xe9, 0xc0, 0x39, 0x02, - 0x00, 0x00, 0x41, 0x89, 0x03, - 0x00, 0xea, 0x41, 0x62, 0x82, - 0x00, 0x00, 0x42, 0x8f, 0xc3, - 0x00, 0x00, 0x5a, 0xfd, 0xc8, - 0x00, 0x00, 0x44, 0x35, 0x03, - 0x00, 0x00, 0x44, 0x35, 0x06, - 0x00, 0x00, 0x5e, 0xa5, 0x07, - 0x00, 0x00, 0x53, 0x3a, 0xc6, - 0x00, 0x00, 0x53, 0x3a, 0xcb, - 0x00, 0x00, 0x48, 0x8c, 0x47, - 0x00, 0x00, 0x50, 0x0e, 0x44, - 0x00, 0xeb, 0x40, 0x0e, 0x82, - 0x00, 0x00, 0x55, 0x70, 0xc5, - 0x00, 0xeb, 0xc0, 0x18, 0x83, - 0x00, 0x00, 0x43, 0xc4, 0x83, - 0x00, 0x00, 0x5c, 0x52, 0xc5, - 0x00, 0x00, 0x41, 0x22, 0x43, - 0x00, 0xec, 0xc1, 0x22, 0x46, - 0x00, 0x00, 0x4b, 0x13, 0x43, - 0x00, 0x00, 0x42, 0xc2, 0x84, - 0x00, 0x00, 0x40, 0x03, 0xc6, - 0x00, 0x00, 0x5d, 0xd9, 0xc6, - 0x00, 0xed, 0x41, 0xf1, 0x43, - 0x00, 0x00, 0x55, 0x45, 0xc7, - 0x00, 0x00, 0x56, 0x0f, 0xc7, - 0x00, 0x00, 0x4a, 0xbc, 0x05, - 0x00, 0x00, 0x52, 0x9d, 0xc6, - 0x00, 0x00, 0x40, 0xa9, 0x03, - 0x00, 0xf2, 0xcc, 0x88, 0xc3, - 0x00, 0xf3, 0x40, 0x67, 0x02, - 0x00, 0xf3, 0xc2, 0x8d, 0x44, - 0x00, 0x00, 0x5f, 0x2d, 0x09, - 0x00, 0x00, 0x42, 0x2b, 0x85, - 0x00, 0x00, 0x43, 0xd9, 0xc4, - 0x00, 0x00, 0x4f, 0xb7, 0xc8, - 0x00, 0x00, 0x44, 0x5a, 0xc5, - 0x00, 0xf4, 0x44, 0x72, 0x85, - 0x00, 0x00, 0x46, 0x0f, 0xc9, - 0x00, 0x00, 0x4f, 0xf5, 0x43, - 0x00, 0x00, 0x5d, 0x77, 0x44, - 0x00, 0xf4, 0xc0, 0x20, 0xc2, - 0x00, 0x00, 0x41, 0x97, 0x43, - 0x00, 0xf5, 0x47, 0x95, 0xc2, - 0x00, 0x00, 0x47, 0x95, 0xc6, - 0x00, 0x02, 0xc8, 0x6f, 0x42, - 0x00, 0xf5, 0xc0, 0x6f, 0xc2, - 0x00, 0x00, 0x49, 0xd4, 0xc8, - 0x00, 0x00, 0x49, 0xdb, 0x43, - 0x00, 0x00, 0x4b, 0xa5, 0x87, - 0x00, 0x00, 0x53, 0x3d, 0x45, - 0x00, 0x00, 0x4c, 0xc2, 0x85, - 0x00, 0x00, 0x4c, 0xc2, 0x8b, - 0x00, 0x00, 0x4f, 0x81, 0x86, - 0x00, 0x00, 0x4c, 0xc4, 0x86, - 0x00, 0x00, 0x44, 0x4f, 0x04, - 0x00, 0x00, 0x41, 0x17, 0x86, - 0x00, 0xf6, 0x4f, 0x8a, 0x08, - 0x00, 0x00, 0x46, 0x22, 0xc3, - 0x00, 0x00, 0x46, 0x71, 0x03, - 0x00, 0x00, 0x46, 0x71, 0x04, - 0x00, 0x00, 0x50, 0x2c, 0x84, - 0x00, 0x00, 0x50, 0xe0, 0x87, - 0x00, 0x00, 0x54, 0x18, 0x45, - 0x00, 0xf6, 0xd6, 0x8e, 0x82, - 0x00, 0xf7, 0x40, 0x4f, 0x82, - 0x00, 0xf8, 0x40, 0x4f, 0x85, - 0x00, 0x00, 0x4d, 0x23, 0xc4, - 0x00, 0x00, 0x4e, 0x32, 0xcb, - 0x00, 0x00, 0x50, 0x39, 0x88, - 0x00, 0x00, 0x47, 0x1c, 0x84, - 0x00, 0xf8, 0xc3, 0x4d, 0xc2, - 0x00, 0xf9, 0x47, 0x1c, 0x02, - 0x00, 0x00, 0x57, 0x3d, 0xc3, - 0x00, 0x00, 0x50, 0x4c, 0x84, - 0x00, 0x00, 0x50, 0x4f, 0x45, - 0x00, 0x00, 0x50, 0x58, 0xc7, - 0x00, 0xf9, 0xd0, 0x81, 0x44, - 0x00, 0x00, 0x40, 0xf0, 0x04, - 0x00, 0xfa, 0x40, 0x2b, 0x02, - 0x00, 0x00, 0x58, 0x3b, 0x89, - 0x00, 0x00, 0x50, 0x96, 0xc5, - 0x00, 0x00, 0x41, 0x2f, 0xc5, - 0x00, 0x00, 0x50, 0xa2, 0x45, - 0x00, 0xfa, 0xc1, 0x96, 0x83, - 0x00, 0x00, 0x43, 0xab, 0x84, - 0x00, 0x00, 0x43, 0xab, 0x8b, - 0x00, 0x00, 0x50, 0xaf, 0x04, - 0x00, 0x00, 0x50, 0xb1, 0xcb, - 0x00, 0x00, 0x50, 0xb7, 0x85, - 0x00, 0x00, 0x41, 0xb3, 0x0a, - 0x00, 0x00, 0x50, 0xbe, 0xc8, - 0x00, 0x00, 0x50, 0xc0, 0xca, - 0x00, 0x00, 0x50, 0xc9, 0x43, - 0x00, 0x00, 0x50, 0xc9, 0x4a, - 0x00, 0xfb, 0xc1, 0x5c, 0xc2, - 0x00, 0xfc, 0x41, 0xa0, 0x02, - 0x00, 0xfc, 0xc2, 0x02, 0x83, - 0x00, 0xfd, 0x50, 0xe9, 0xc2, - 0x00, 0x00, 0x50, 0xe9, 0xc3, - 0x00, 0xfd, 0xd1, 0x04, 0xc2, - 0x00, 0xfe, 0x54, 0x09, 0x42, - 0x00, 0x00, 0x51, 0x15, 0xc4, - 0x00, 0x00, 0x41, 0xb8, 0x86, - 0x00, 0x00, 0x42, 0xc6, 0x05, - 0x00, 0x00, 0x5d, 0xb3, 0xc6, - 0x00, 0x00, 0x5c, 0x1f, 0x05, - 0x00, 0x00, 0x50, 0xf7, 0x84, - 0x00, 0xfe, 0xc0, 0x09, 0x02, - 0x00, 0x00, 0x46, 0x94, 0x84, - 0x00, 0x00, 0x4e, 0x22, 0x8a, - 0x00, 0x00, 0x4c, 0x45, 0x87, - 0x00, 0x00, 0x5b, 0xe6, 0x86, - 0x00, 0x00, 0x43, 0x73, 0x47, - 0x00, 0x00, 0x44, 0x31, 0x43, - 0x00, 0x00, 0x4c, 0xe9, 0x48, - 0x00, 0x00, 0x5e, 0xd2, 0x4b, - 0x00, 0x00, 0x4d, 0x61, 0xc5, - 0x00, 0x00, 0x41, 0xd5, 0x05, - 0x00, 0x00, 0x41, 0xd5, 0x06, - 0x00, 0x00, 0x5a, 0x80, 0x84, - 0x00, 0x00, 0x5b, 0x7a, 0x48, - 0x00, 0x00, 0x41, 0x41, 0x43, - 0x00, 0x00, 0x4a, 0x7e, 0x84, - 0x00, 0x00, 0x5d, 0x8a, 0x47, - 0x00, 0x00, 0x50, 0x0a, 0x86, - 0x00, 0x00, 0x5e, 0x21, 0x06, - 0x00, 0x00, 0x4d, 0x34, 0xca, - 0x00, 0x00, 0x43, 0xd7, 0x04, - 0x00, 0x00, 0x43, 0xd7, 0x0a, - 0x00, 0xff, 0x57, 0x04, 0x86, - 0x00, 0x00, 0x57, 0x04, 0x87, - 0x00, 0x00, 0x46, 0x2c, 0x87, - 0x00, 0x00, 0x46, 0x77, 0x84, - 0x00, 0x00, 0x46, 0x77, 0x89, - 0x00, 0x00, 0x42, 0x94, 0x05, - 0x00, 0x00, 0x5e, 0x75, 0x03, - 0x00, 0x00, 0x40, 0xc4, 0xc3, - 0x00, 0xff, 0xc2, 0x2b, 0x03, - 0x01, 0x00, 0x40, 0x06, 0x82, - 0x00, 0x00, 0x43, 0x9a, 0xc6, - 0x01, 0x00, 0xcd, 0x71, 0x05, - 0x00, 0x00, 0x5d, 0x21, 0x85, - 0x00, 0x00, 0x43, 0x67, 0x46, - 0x00, 0x00, 0x4c, 0x7e, 0x84, - 0x01, 0x01, 0x41, 0x24, 0x82, - 0x00, 0x00, 0x43, 0x68, 0x44, - 0x01, 0x02, 0x41, 0x00, 0x02, - 0x00, 0x00, 0x5c, 0x57, 0x45, - 0x00, 0x00, 0x42, 0x95, 0x84, - 0x01, 0x04, 0xc2, 0x71, 0x03, - 0x01, 0x05, 0x40, 0xb5, 0x42, - 0x00, 0x00, 0x40, 0xb5, 0x43, - 0x00, 0x00, 0x5b, 0x5e, 0xc6, - 0x01, 0x05, 0xc0, 0x48, 0x42, - 0x00, 0x00, 0x59, 0xac, 0x48, - 0x00, 0x00, 0x42, 0x59, 0x44, - 0x00, 0x00, 0x42, 0x59, 0x46, - 0x00, 0x00, 0x53, 0xca, 0x86, - 0x01, 0x06, 0x46, 0x47, 0x44, - 0x00, 0x00, 0x40, 0xe9, 0x05, - 0x00, 0x00, 0x42, 0x03, 0xc8, - 0x00, 0x00, 0x42, 0x5c, 0x47, - 0x00, 0x00, 0x42, 0x80, 0x87, - 0x00, 0x00, 0x42, 0x80, 0x8f, - 0x00, 0x00, 0x4a, 0x20, 0xc6, - 0x00, 0x00, 0x43, 0xae, 0x03, - 0x00, 0x00, 0x43, 0xf0, 0x44, - 0x00, 0x00, 0x42, 0x75, 0x43, - 0x00, 0x00, 0x42, 0x54, 0xc4, - 0x00, 0x00, 0x58, 0x2e, 0x44, - 0x01, 0x06, 0xc3, 0xf6, 0x02, - 0x00, 0x00, 0x4a, 0x0f, 0x03, - 0x00, 0x00, 0x53, 0xd7, 0xc3, - 0x01, 0x07, 0x40, 0x2e, 0xc2, - 0x00, 0x00, 0x40, 0x2e, 0xc3, - 0x00, 0x00, 0x46, 0x97, 0x03, - 0x00, 0x00, 0x41, 0x3d, 0xca, - 0x00, 0x00, 0x51, 0xbc, 0x07, - 0x00, 0x00, 0x5a, 0x60, 0xcc, - 0x00, 0x00, 0x5a, 0x63, 0x86, - 0x00, 0x00, 0x45, 0x1e, 0x86, - 0x00, 0x00, 0x45, 0x93, 0x07, - 0x01, 0x07, 0xc5, 0xd4, 0x47, - 0x00, 0x00, 0x46, 0x37, 0x89, - 0x01, 0x08, 0x44, 0x18, 0x44, - 0x01, 0x09, 0x40, 0x6e, 0xc2, - 0x01, 0x09, 0xc0, 0x10, 0x42, - 0x00, 0x00, 0x4d, 0x38, 0x86, - 0x00, 0x00, 0x55, 0x43, 0xc4, - 0x00, 0x00, 0x4d, 0x47, 0x46, - 0x00, 0x00, 0x46, 0xab, 0xc8, - 0x00, 0x00, 0x5a, 0x5e, 0xc4, - 0x00, 0x00, 0x53, 0xda, 0x06, - 0x00, 0x00, 0x49, 0x24, 0x85, - 0x01, 0x0a, 0xc7, 0xe6, 0x08, - 0x00, 0x00, 0x44, 0x78, 0x43, - 0x00, 0x00, 0x48, 0x22, 0x45, - 0x00, 0x00, 0x48, 0x5c, 0x83, - 0x00, 0x00, 0x41, 0x30, 0xc3, - 0x00, 0x00, 0x41, 0x30, 0xc4, - 0x00, 0x00, 0x46, 0xb6, 0x83, - 0x01, 0x0b, 0x45, 0x15, 0x02, - 0x01, 0x0b, 0xc0, 0x0e, 0x02, - 0x00, 0x00, 0x5e, 0x73, 0xc9, - 0x00, 0x00, 0x48, 0xcb, 0x45, - 0x00, 0x00, 0x48, 0xce, 0xc4, - 0x00, 0x00, 0x49, 0x8a, 0xc5, - 0x00, 0x00, 0x40, 0x35, 0x44, - 0x00, 0x00, 0x4e, 0x6f, 0x07, - 0x00, 0x00, 0x55, 0xea, 0x45, - 0x01, 0x0c, 0xc1, 0xbc, 0x04, - 0x00, 0x00, 0x4f, 0x9f, 0x48, - 0x00, 0x00, 0x4c, 0x9b, 0xc6, - 0x00, 0x00, 0x4c, 0xf1, 0x04, - 0x00, 0x00, 0x4c, 0xff, 0x48, - 0x01, 0x0d, 0x40, 0x1a, 0x42, - 0x00, 0x00, 0x4e, 0x31, 0x84, - 0x00, 0x00, 0x51, 0xc3, 0x44, - 0x00, 0x00, 0x55, 0x13, 0x87, - 0x01, 0x0d, 0xc0, 0x4a, 0xc4, - 0x00, 0x00, 0x40, 0x1c, 0xc2, - 0x01, 0x0e, 0x41, 0x0a, 0x82, - 0x00, 0x00, 0x44, 0xe5, 0x83, - 0x00, 0x00, 0x44, 0xe5, 0x84, - 0x00, 0x00, 0x43, 0x98, 0x03, - 0x00, 0x00, 0x58, 0xf6, 0xc5, - 0x01, 0x0e, 0xc5, 0x51, 0x82, - 0x00, 0x00, 0x4f, 0x4a, 0x85, - 0x00, 0x00, 0x47, 0xcc, 0xc2, - 0x00, 0x00, 0x51, 0x75, 0x85, - 0x00, 0x00, 0x4e, 0x10, 0x85, - 0x01, 0x0f, 0x40, 0x3d, 0x02, - 0x00, 0x00, 0x58, 0x18, 0x44, - 0x01, 0x0f, 0xc0, 0x3c, 0x82, - 0x00, 0x00, 0x5e, 0x49, 0xc6, - 0x00, 0x00, 0x4d, 0x7c, 0x06, - 0x00, 0x00, 0x43, 0x4f, 0x48, - 0x00, 0x00, 0x49, 0x60, 0x48, - 0x00, 0x00, 0x57, 0xcc, 0x84, - 0x00, 0x00, 0x4f, 0x8b, 0xc5, - 0x01, 0x10, 0x42, 0xa9, 0xc9, - 0x00, 0x00, 0x4e, 0x90, 0xc4, - 0x00, 0x00, 0x5e, 0xf1, 0x04, - 0x00, 0x00, 0x47, 0x76, 0xc3, - 0x00, 0x00, 0x40, 0xe7, 0xc3, - 0x01, 0x10, 0xc0, 0xe7, 0xc5, - 0x00, 0x00, 0x47, 0x54, 0x85, - 0x00, 0x00, 0x4e, 0x9f, 0x04, - 0x00, 0x00, 0x4b, 0x26, 0xc2, - 0x00, 0x00, 0x53, 0x15, 0xc3, - 0x01, 0x11, 0x40, 0x2e, 0x82, - 0x01, 0x11, 0xc0, 0x19, 0x82, - 0x00, 0x00, 0x59, 0xa7, 0x05, - 0x00, 0x00, 0x48, 0x5b, 0x07, - 0x00, 0x00, 0x48, 0x3d, 0x44, - 0x00, 0x00, 0x4c, 0xaa, 0x09, - 0x00, 0x00, 0x4e, 0x23, 0xc9, - 0x00, 0x00, 0x40, 0x21, 0x83, - 0x00, 0x00, 0x48, 0x6d, 0x88, - 0x00, 0x00, 0x4a, 0x8c, 0x49, - 0x00, 0x00, 0x42, 0x26, 0x07, - 0x01, 0x12, 0x53, 0xd8, 0x45, - 0x00, 0x00, 0x55, 0x9b, 0x86, - 0x00, 0x00, 0x55, 0xb2, 0xc6, - 0x00, 0x00, 0x55, 0xc0, 0xc5, - 0x00, 0x00, 0x4d, 0x93, 0xc5, - 0x01, 0x12, 0xc0, 0x56, 0x82, - 0x00, 0x00, 0x45, 0x92, 0x05, - 0x00, 0x00, 0x4d, 0x8f, 0x88, - 0x00, 0x00, 0x4d, 0x5f, 0xc6, - 0x01, 0x13, 0x50, 0xb9, 0xc7, - 0x00, 0x00, 0x5a, 0x67, 0x44, - 0x00, 0x00, 0x57, 0x15, 0x87, - 0x00, 0x00, 0x5b, 0x11, 0x06, - 0x01, 0x13, 0xc0, 0xde, 0x02, - 0x00, 0x00, 0x41, 0xbf, 0xc6, - 0x00, 0x00, 0x51, 0x74, 0x85, - 0x01, 0x14, 0x44, 0x29, 0xc2, - 0x01, 0x14, 0xc1, 0x8b, 0x82, - 0x00, 0x00, 0x47, 0xae, 0xc6, - 0x01, 0x15, 0x49, 0x99, 0x87, - 0x01, 0x15, 0xc3, 0x87, 0x42, - 0x00, 0x00, 0x41, 0xa0, 0x43, - 0x00, 0x00, 0x43, 0xe1, 0x86, - 0x00, 0x00, 0x4d, 0x8e, 0x44, - 0x00, 0x00, 0x46, 0x9c, 0x46, - 0x00, 0x00, 0x54, 0x16, 0x06, - 0x00, 0x00, 0x4f, 0xdb, 0x0a, - 0x00, 0x00, 0x55, 0x01, 0x45, - 0x00, 0x00, 0x41, 0xef, 0x46, - 0x00, 0x00, 0x41, 0xf9, 0x83, - 0x00, 0x00, 0x41, 0xf9, 0x84, - 0x01, 0x16, 0x40, 0x21, 0xc2, - 0x00, 0x00, 0x52, 0xa0, 0x83, - 0x01, 0x16, 0xc0, 0xf7, 0x82, - 0x00, 0x00, 0x53, 0x38, 0x83, - 0x01, 0x17, 0x40, 0xd0, 0x84, - 0x00, 0x00, 0x4d, 0xfb, 0xc4, - 0x01, 0x17, 0xcd, 0xfb, 0xca, - 0x00, 0x00, 0x40, 0x63, 0x83, - 0x00, 0x00, 0x40, 0x96, 0xc7, - 0x00, 0x00, 0x56, 0x6c, 0x46, - 0x00, 0x00, 0x58, 0x88, 0xc4, - 0x00, 0x00, 0x42, 0xce, 0xc2, - 0x00, 0x00, 0x42, 0x98, 0xc2, - 0x01, 0x18, 0x40, 0x07, 0xc2, - 0x00, 0x00, 0x50, 0xfc, 0x43, - 0x00, 0x00, 0x46, 0x2a, 0x47, - 0x00, 0x00, 0x40, 0x07, 0xc7, - 0x00, 0x00, 0x49, 0x52, 0x84, - 0x00, 0x00, 0x43, 0x01, 0x47, - 0x00, 0x00, 0x50, 0x59, 0xc6, - 0x00, 0x00, 0x5d, 0xac, 0x87, - 0x00, 0x00, 0x41, 0x7c, 0x44, - 0x00, 0x00, 0x41, 0xc5, 0x05, - 0x00, 0x00, 0x41, 0x07, 0x85, - 0x01, 0x18, 0xc0, 0xae, 0x42, - 0x00, 0x00, 0x56, 0x1d, 0xc6, - 0x00, 0x00, 0x43, 0x09, 0xc3, - 0x00, 0x00, 0x43, 0x1d, 0x02, - 0x00, 0x00, 0x43, 0x1d, 0x06, - 0x01, 0x19, 0x42, 0x03, 0x42, - 0x01, 0x19, 0xc3, 0xd9, 0x42, - 0x00, 0x00, 0x44, 0xa6, 0x85, - 0x01, 0x1a, 0x40, 0x1b, 0x42, - 0x01, 0x1a, 0xc0, 0xc6, 0x42, - 0x01, 0x1b, 0xd9, 0x25, 0xc5, - 0x00, 0x00, 0x4e, 0x3e, 0x85, - 0x00, 0x00, 0x51, 0x13, 0x05, - 0x01, 0x1c, 0x46, 0xbf, 0xc3, - 0x00, 0x00, 0x4d, 0x9e, 0x05, - 0x00, 0x00, 0x4f, 0x82, 0x47, - 0x00, 0x00, 0x4b, 0x6c, 0xc5, - 0x00, 0x00, 0x55, 0x03, 0x05, - 0x00, 0x00, 0x47, 0x3d, 0x04, - 0x00, 0x00, 0x44, 0x59, 0x46, - 0x00, 0x00, 0x45, 0x4f, 0x84, - 0x01, 0x1c, 0xc0, 0x08, 0xc2, - 0x01, 0x1e, 0x4b, 0x55, 0x85, - 0x00, 0x00, 0x57, 0xb5, 0x47, - 0x00, 0x00, 0x4f, 0x87, 0x88, - 0x00, 0x00, 0x48, 0xe5, 0x06, - 0x00, 0x00, 0x48, 0xe5, 0x0d, - 0x00, 0x00, 0x48, 0xfa, 0x09, - 0x00, 0x00, 0x48, 0xfa, 0x12, - 0x00, 0x00, 0x58, 0x7e, 0x05, - 0x00, 0x00, 0x59, 0x15, 0x43, - 0x01, 0x1e, 0xc0, 0x9a, 0x02, - 0x00, 0x00, 0x52, 0x47, 0x04, - 0x00, 0x00, 0x43, 0x09, 0x03, - 0x00, 0x00, 0x51, 0x87, 0x85, - 0x00, 0x00, 0x51, 0x93, 0x45, - 0x01, 0x1f, 0x42, 0x4b, 0x42, - 0x00, 0x00, 0x46, 0xaa, 0x43, - 0x01, 0x1f, 0xc5, 0x06, 0x02, - 0x01, 0x20, 0xc2, 0x43, 0x02, - 0x01, 0x21, 0x40, 0x00, 0x82, - 0x00, 0x00, 0x5e, 0xe5, 0x85, - 0x00, 0x00, 0x5a, 0x0e, 0xc3, - 0x01, 0x21, 0xc0, 0x74, 0x82, - 0x01, 0x22, 0x40, 0x5f, 0xc2, - 0x00, 0x00, 0x48, 0x99, 0x86, - 0x00, 0x00, 0x47, 0x7a, 0x0a, - 0x00, 0x00, 0x40, 0x56, 0xc3, - 0x00, 0x00, 0x43, 0xb5, 0x43, - 0x00, 0x00, 0x4f, 0x0a, 0xc3, - 0x01, 0x25, 0xc0, 0x26, 0x42, - 0x01, 0x42, 0xc4, 0x1d, 0x82, - 0x01, 0x43, 0xc1, 0x81, 0x82, - 0x00, 0x00, 0x40, 0x46, 0xc2, - 0x00, 0x00, 0x53, 0x0c, 0x49, - 0x00, 0x00, 0x4d, 0xc8, 0xc4, - 0x00, 0x00, 0x5a, 0x02, 0x08, - 0x01, 0x44, 0x42, 0x19, 0x02, - 0x01, 0x45, 0x40, 0x11, 0x02, - 0x00, 0x00, 0x48, 0x21, 0x45, - 0x00, 0x00, 0x43, 0x6d, 0xc8, - 0x00, 0x00, 0x52, 0xb1, 0x48, - 0x00, 0x00, 0x4f, 0x0d, 0x4c, - 0x00, 0x00, 0x43, 0xba, 0x43, - 0x01, 0x45, 0xc6, 0xf2, 0xc2, - 0x01, 0x46, 0x40, 0xc3, 0x02, - 0x00, 0x00, 0x4d, 0x41, 0x46, - 0x00, 0x00, 0x51, 0xa6, 0x05, - 0x00, 0x00, 0x4e, 0xf9, 0x43, - 0x00, 0x00, 0x47, 0x37, 0x06, - 0x00, 0x00, 0x51, 0xa7, 0x46, - 0x00, 0x00, 0x43, 0x76, 0xc3, - 0x00, 0x00, 0x51, 0xc2, 0x83, - 0x00, 0x00, 0x51, 0xc9, 0x46, - 0x00, 0x00, 0x51, 0xde, 0x04, - 0x00, 0x00, 0x40, 0xc3, 0x06, - 0x00, 0x00, 0x5e, 0xc7, 0x44, - 0x00, 0x00, 0x51, 0xe5, 0xc4, - 0x00, 0x00, 0x52, 0x0b, 0xca, - 0x01, 0x46, 0xc4, 0xc5, 0x42, - 0x00, 0x00, 0x45, 0x63, 0xc5, - 0x00, 0x00, 0x52, 0x29, 0xca, - 0x00, 0x00, 0x52, 0x29, 0x05, - 0x00, 0x00, 0x52, 0x36, 0xc4, - 0x00, 0x00, 0x52, 0x37, 0xc6, - 0x00, 0x00, 0x52, 0x39, 0x44, - 0x00, 0x00, 0x41, 0x9a, 0x06, - 0x01, 0x47, 0x40, 0x1d, 0x82, - 0x00, 0x00, 0x59, 0xe8, 0xc6, - 0x00, 0x00, 0x50, 0x20, 0x45, - 0x00, 0x00, 0x5b, 0xd5, 0xc7, - 0x00, 0x00, 0x5c, 0x92, 0x46, - 0x00, 0x00, 0x45, 0x95, 0x04, - 0x00, 0x00, 0x4e, 0xfc, 0x47, - 0x00, 0x00, 0x41, 0xc0, 0x05, - 0x00, 0x00, 0x45, 0xd2, 0xc7, - 0x00, 0x00, 0x42, 0xb7, 0xc7, - 0x00, 0x00, 0x42, 0xb7, 0xce, - 0x00, 0x00, 0x48, 0x86, 0x46, - 0x00, 0x00, 0x44, 0x38, 0x85, - 0x00, 0x00, 0x40, 0x4a, 0x07, - 0x00, 0x00, 0x5c, 0x2c, 0x87, - 0x00, 0x00, 0x40, 0xb6, 0xc5, - 0x00, 0x00, 0x41, 0x44, 0x04, - 0x00, 0x00, 0x44, 0x4b, 0x82, - 0x00, 0x00, 0x48, 0x5d, 0x07, - 0x00, 0x00, 0x49, 0x32, 0x44, - 0x00, 0x00, 0x44, 0xcf, 0x44, - 0x00, 0x00, 0x4e, 0x78, 0xcb, - 0x01, 0x47, 0xc2, 0x0b, 0x83, - 0x00, 0x00, 0x52, 0x6f, 0x07, - 0x00, 0x00, 0x42, 0x0b, 0x84, - 0x00, 0x00, 0x52, 0x72, 0x07, - 0x00, 0x00, 0x41, 0xc9, 0x03, - 0x00, 0x00, 0x55, 0x2b, 0x0d, - 0x00, 0x00, 0x52, 0x66, 0x48, - 0x01, 0x48, 0x44, 0xd4, 0x04, - 0x00, 0x00, 0x44, 0xd4, 0x05, - 0x00, 0x00, 0x5e, 0x3e, 0x85, - 0x00, 0x00, 0x52, 0x6e, 0x83, - 0x01, 0x48, 0xc2, 0x58, 0x42, - 0x00, 0x00, 0x52, 0xa0, 0x43, - 0x00, 0x00, 0x52, 0xae, 0x03, - 0x00, 0x00, 0x41, 0xe0, 0x44, - 0x00, 0x00, 0x56, 0x1f, 0x45, - 0x00, 0x00, 0x56, 0x20, 0x47, - 0x00, 0x00, 0x41, 0xfa, 0x06, - 0x00, 0x00, 0x59, 0x4d, 0xc3, - 0x00, 0x00, 0x43, 0x3e, 0x8b, - 0x00, 0x00, 0x57, 0x27, 0xcb, - 0x00, 0x00, 0x4a, 0xec, 0xcb, - 0x00, 0x00, 0x4b, 0xad, 0xcb, - 0x00, 0x00, 0x4c, 0x78, 0xca, - 0x00, 0x00, 0x4d, 0x59, 0x4b, - 0x00, 0x00, 0x4f, 0x8f, 0x0b, - 0x00, 0x00, 0x52, 0x74, 0xcc, - 0x00, 0x00, 0x51, 0xe9, 0xcb, - 0x00, 0x00, 0x56, 0x53, 0x4a, - 0x00, 0x00, 0x59, 0xc7, 0x4b, - 0x00, 0x00, 0x5b, 0x55, 0x8c, - 0x00, 0x00, 0x5f, 0x13, 0x0b, - 0x00, 0x00, 0x52, 0xb7, 0x4a, - 0x00, 0x00, 0x52, 0xc3, 0x4a, - 0x00, 0x00, 0x52, 0xd6, 0x8e, - 0x00, 0x00, 0x52, 0xde, 0x0b, - 0x00, 0x00, 0x52, 0xe0, 0xca, - 0x00, 0x00, 0x52, 0xf1, 0x91, - 0x00, 0x00, 0x52, 0xf5, 0xca, - 0x00, 0x00, 0x52, 0xfa, 0xcb, - 0x00, 0x00, 0x53, 0x00, 0x0e, - 0x00, 0x00, 0x53, 0x13, 0x0c, - 0x00, 0x00, 0x53, 0x16, 0x8b, - 0x00, 0x00, 0x53, 0x19, 0x4e, - 0x00, 0x00, 0x53, 0x1c, 0xcc, - 0x00, 0x00, 0x53, 0x32, 0x4a, - 0x00, 0x00, 0x53, 0x50, 0x0c, - 0x01, 0x49, 0x53, 0x5c, 0x0a, - 0x00, 0x00, 0x53, 0x64, 0x48, - 0x00, 0x00, 0x53, 0x6e, 0x49, - 0x00, 0x00, 0x53, 0x89, 0x4a, - 0x00, 0x00, 0x53, 0x8b, 0xca, - 0x00, 0x00, 0x53, 0x8e, 0x4b, - 0x00, 0x00, 0x53, 0xcf, 0x4e, - 0x00, 0x00, 0x53, 0xdf, 0x11, - 0x00, 0x00, 0x54, 0x81, 0x09, - 0x00, 0x00, 0x54, 0x83, 0x4a, - 0x00, 0x00, 0x54, 0x8a, 0x8b, - 0x00, 0x00, 0x54, 0xa0, 0x4d, - 0x00, 0x00, 0x54, 0xae, 0xca, - 0x00, 0x00, 0x54, 0xb5, 0x16, - 0x00, 0x00, 0x54, 0xc8, 0x8b, - 0x00, 0x00, 0x54, 0xe1, 0x8a, - 0x00, 0x00, 0x54, 0xe9, 0xca, - 0x00, 0x00, 0x54, 0xf8, 0xcb, - 0x00, 0x00, 0x55, 0x07, 0x09, - 0x00, 0x00, 0x55, 0x34, 0x89, - 0x00, 0x00, 0x55, 0x4a, 0x4d, - 0x00, 0x00, 0x55, 0x52, 0x0b, - 0x00, 0x00, 0x55, 0x6b, 0x8b, - 0x00, 0x00, 0x55, 0x75, 0x09, - 0x00, 0x00, 0x55, 0x7b, 0x4e, - 0x00, 0x00, 0x55, 0x87, 0x4a, - 0x00, 0x00, 0x55, 0x94, 0x0a, - 0x00, 0x00, 0x55, 0x99, 0x4a, - 0x00, 0x00, 0x55, 0xa2, 0xcb, - 0x00, 0x00, 0x55, 0xab, 0x0b, - 0x00, 0x00, 0x55, 0xb8, 0xcd, - 0x00, 0x00, 0x55, 0xd4, 0x8d, - 0x00, 0x00, 0x55, 0xe1, 0x10, - 0x00, 0x00, 0x55, 0xe5, 0xcb, - 0x00, 0x00, 0x55, 0xfc, 0x4c, - 0x00, 0x00, 0x56, 0x16, 0x0b, - 0x00, 0x00, 0x56, 0x39, 0xcb, - 0x00, 0x00, 0x56, 0x7b, 0xce, - 0x00, 0x00, 0x56, 0x82, 0xcb, - 0x00, 0x00, 0x56, 0x82, 0xcd, - 0x00, 0x00, 0x56, 0xe3, 0x0b, - 0x00, 0x00, 0x56, 0xed, 0x8f, - 0x00, 0x00, 0x56, 0xf1, 0x4b, - 0x00, 0x00, 0x56, 0xfb, 0x0a, - 0x00, 0x00, 0x57, 0x24, 0xc9, - 0x00, 0x00, 0x57, 0x43, 0x09, - 0x01, 0x49, 0xd7, 0x46, 0x8b, - 0x00, 0x00, 0x57, 0x49, 0x4e, - 0x00, 0x00, 0x57, 0x4c, 0xce, - 0x00, 0x00, 0x57, 0x63, 0x8b, - 0x00, 0x00, 0x57, 0x70, 0x8f, - 0x00, 0x00, 0x57, 0x9b, 0x0b, - 0x00, 0x00, 0x57, 0x9d, 0xcb, - 0x00, 0x00, 0x57, 0xa0, 0x8a, - 0x00, 0x00, 0x57, 0xef, 0x49, - 0x00, 0x00, 0x58, 0x28, 0x0f, - 0x00, 0x00, 0x58, 0x6b, 0x0c, - 0x00, 0x00, 0x58, 0x74, 0x8c, - 0x00, 0x00, 0x58, 0x7a, 0xce, - 0x00, 0x00, 0x58, 0x7f, 0xcf, - 0x00, 0x00, 0x58, 0x83, 0x8e, - 0x00, 0x00, 0x58, 0x8b, 0x10, - 0x00, 0x00, 0x58, 0x8f, 0x0f, - 0x00, 0x00, 0x58, 0xa0, 0x0e, - 0x00, 0x00, 0x58, 0xab, 0x4c, - 0x00, 0x00, 0x58, 0xae, 0x51, - 0x00, 0x00, 0x58, 0xb2, 0x92, - 0x00, 0x00, 0x58, 0xc6, 0x11, - 0x00, 0x00, 0x58, 0xcc, 0x4e, - 0x00, 0x00, 0x58, 0xd4, 0x8b, - 0x00, 0x00, 0x58, 0xd4, 0x8e, - 0x00, 0x00, 0x58, 0xd8, 0x0f, - 0x00, 0x00, 0x58, 0xdb, 0xce, - 0x00, 0x00, 0x58, 0xdf, 0x50, - 0x00, 0x00, 0x58, 0xe3, 0x53, - 0x00, 0x00, 0x58, 0xe8, 0x11, - 0x00, 0x00, 0x58, 0xec, 0x4c, - 0x00, 0x00, 0x58, 0xef, 0x4e, - 0x00, 0x00, 0x58, 0xf3, 0xcc, - 0x00, 0x00, 0x58, 0xf8, 0x13, - 0x00, 0x00, 0x59, 0x09, 0x90, - 0x00, 0x00, 0x59, 0x0e, 0x0c, - 0x00, 0x00, 0x59, 0x11, 0x0c, - 0x00, 0x00, 0x59, 0x21, 0x8b, - 0x00, 0x00, 0x59, 0x29, 0x0e, - 0x00, 0x00, 0x59, 0x2e, 0x0b, - 0x00, 0x00, 0x59, 0x35, 0x4b, - 0x00, 0x00, 0x59, 0x56, 0x4c, - 0x00, 0x00, 0x59, 0xb1, 0x8a, - 0x00, 0x00, 0x59, 0xbf, 0x4c, - 0x00, 0x00, 0x59, 0xc2, 0x4c, - 0x00, 0x00, 0x59, 0xc5, 0x49, - 0x00, 0x00, 0x59, 0xe0, 0x4b, - 0x00, 0x00, 0x59, 0xe3, 0x08, - 0x00, 0x00, 0x59, 0xee, 0xc9, - 0x00, 0x00, 0x59, 0xee, 0xcf, - 0x00, 0x00, 0x5a, 0x07, 0xcb, - 0x01, 0x4a, 0x5a, 0x13, 0xca, - 0x00, 0x00, 0x5a, 0x36, 0x0c, - 0x00, 0x00, 0x5a, 0x45, 0x4b, - 0x01, 0x4a, 0xda, 0x48, 0x09, - 0x00, 0x00, 0x5a, 0x50, 0x08, - 0x00, 0x00, 0x5a, 0x53, 0xcb, - 0x00, 0x00, 0x5a, 0x6c, 0x8a, - 0x00, 0x00, 0x5a, 0x6f, 0x0a, - 0x00, 0x00, 0x5a, 0x71, 0x8b, - 0x00, 0x00, 0x5a, 0x78, 0x4c, - 0x00, 0x00, 0x5a, 0x85, 0xc9, - 0x00, 0x00, 0x5a, 0x88, 0x08, - 0x00, 0x00, 0x5a, 0xb9, 0xcb, - 0x00, 0x00, 0x5a, 0xe4, 0x8b, - 0x00, 0x00, 0x5b, 0x23, 0x0e, - 0x00, 0x00, 0x5b, 0x38, 0x0b, - 0x00, 0x00, 0x5b, 0x4f, 0x0b, - 0x00, 0x00, 0x5c, 0x69, 0x8b, - 0x00, 0x00, 0x5c, 0x6c, 0x49, - 0x00, 0x00, 0x5c, 0x71, 0x4d, - 0x00, 0x00, 0x5e, 0x26, 0x4a, - 0x00, 0x00, 0x5e, 0x62, 0x57, - 0x00, 0x00, 0x5e, 0x6a, 0x98, - 0x00, 0x00, 0x5e, 0x8f, 0x09, - 0x00, 0x00, 0x5e, 0xa1, 0x4b, - 0x00, 0x00, 0x5e, 0xb3, 0x14, - 0x00, 0x00, 0x5e, 0xb8, 0x0b, - 0x00, 0x00, 0x5e, 0xbd, 0x8a, - 0x00, 0x00, 0x5e, 0xca, 0x0a, - 0x00, 0x00, 0x5e, 0xcc, 0x8b, - 0x00, 0x00, 0x5e, 0xe8, 0x10, - 0x00, 0x00, 0x5e, 0xec, 0x11, - 0x00, 0x00, 0x5e, 0xf2, 0x0a, - 0x00, 0x00, 0x5f, 0x09, 0x0d, - 0x00, 0x00, 0x5f, 0x10, 0x0d, - 0x00, 0x00, 0x5f, 0x2a, 0x0b, - 0x00, 0x00, 0x56, 0x1e, 0xc3, - 0x01, 0x4b, 0x5d, 0x56, 0x03, - 0x00, 0x00, 0x47, 0xd6, 0x46, - 0x00, 0x00, 0x48, 0x68, 0x45, - 0x00, 0x00, 0x4e, 0xb9, 0x07, - 0x00, 0x00, 0x4d, 0xe5, 0x06, - 0x01, 0x4b, 0xc3, 0xc4, 0x02, - 0x00, 0x00, 0x4b, 0x8a, 0x09, - 0x00, 0x00, 0x5d, 0xb1, 0xc4, - 0x00, 0x00, 0x4f, 0x64, 0xc8, - 0x00, 0x00, 0x42, 0x2a, 0x43, - 0x00, 0x00, 0x52, 0x46, 0x47, - 0x01, 0x4c, 0x44, 0x28, 0xc2, - 0x00, 0x00, 0x4c, 0x11, 0x43, - 0x01, 0x4c, 0xc0, 0x36, 0x42, - 0x00, 0x00, 0x4e, 0x2e, 0xc6, - 0x00, 0x00, 0x4e, 0x51, 0x84, - 0x00, 0x00, 0x42, 0x91, 0x04, - 0x00, 0x00, 0x5d, 0x6b, 0x83, - 0x01, 0x4d, 0xcd, 0xd8, 0x42, - 0x01, 0x4e, 0x40, 0x18, 0x44, - 0x00, 0x00, 0x46, 0x76, 0xc7, - 0x01, 0x4e, 0xc2, 0xc0, 0x82, - 0x00, 0x00, 0x40, 0x66, 0x43, - 0x00, 0x00, 0x02, 0xcd, 0x03, - 0x00, 0x00, 0x41, 0xf6, 0x03, - 0x00, 0x00, 0x40, 0x55, 0x03, - 0x00, 0x00, 0x40, 0x65, 0x43, - 0x00, 0x00, 0x41, 0x09, 0xc3, - 0x00, 0x00, 0x41, 0xf1, 0x43, - 0x00, 0x00, 0x11, 0xc7, 0x48, - 0x00, 0x00, 0x41, 0xd7, 0x83, - 0x00, 0x00, 0x40, 0x00, 0xc2, - 0x00, 0x00, 0x1b, 0x96, 0x88, - 0x00, 0x00, 0x40, 0x22, 0x02, - 0x00, 0x00, 0x40, 0x55, 0x03, - 0x00, 0x00, 0x40, 0x65, 0x43, - 0x00, 0x00, 0x41, 0x09, 0xc3, - 0x00, 0x00, 0x41, 0xf1, 0x43, - 0x00, 0x00, 0x41, 0x3d, 0xc3, - 0x00, 0x00, 0x54, 0x39, 0x16, - 0x00, 0x00, 0x56, 0xc6, 0x53, - 0x00, 0x00, 0x42, 0xff, 0xc9, - 0x00, 0x00, 0x45, 0x75, 0xc8, - 0x00, 0x00, 0x55, 0x6f, 0x49, - 0x00, 0x00, 0x52, 0x2b, 0x46, - 0x00, 0x00, 0x55, 0x60, 0x90, - 0x00, 0x00, 0x5e, 0xd4, 0xd3, - 0x00, 0x00, 0x50, 0x0b, 0x48, - 0x00, 0x00, 0x48, 0x96, 0x47, - 0x00, 0x00, 0x49, 0x3c, 0x47, - 0x00, 0x00, 0x4b, 0x1d, 0xca, - 0x00, 0x00, 0x56, 0xb2, 0x89, - 0x00, 0x00, 0x5d, 0x3d, 0xc9, - 0x00, 0x00, 0x45, 0x36, 0x4b, - 0x00, 0x00, 0x54, 0xd9, 0x86, - 0x00, 0x00, 0x53, 0x21, 0x8a, - 0x00, 0x00, 0x42, 0x51, 0x06, - 0x00, 0x00, 0x42, 0xf8, 0x43, - 0x00, 0x00, 0x47, 0x48, 0x45, - 0x00, 0x00, 0x5c, 0x17, 0x48, - 0x00, 0x00, 0x48, 0xda, 0xcd, - 0x00, 0x00, 0x5c, 0x9c, 0x4c, - 0x00, 0x00, 0x50, 0x1d, 0x07, - 0x00, 0x00, 0x51, 0xec, 0x4d, - 0x00, 0x00, 0x42, 0x04, 0xc4, - 0x00, 0x00, 0x43, 0x21, 0x8a, - 0x00, 0x00, 0x43, 0x2d, 0x8a, - 0x00, 0x00, 0x43, 0x32, 0x4a, - 0x00, 0x00, 0x51, 0xf7, 0x87, - 0x00, 0x00, 0x43, 0xfe, 0xc7, - 0x00, 0x00, 0x44, 0x4a, 0xc4, - 0x00, 0x00, 0x47, 0xcf, 0x46, - 0x00, 0x00, 0x4f, 0xf8, 0x84, - 0x00, 0x00, 0x41, 0xf6, 0x08, - 0x00, 0x00, 0x43, 0x17, 0xc9, - 0x00, 0x00, 0x50, 0xd7, 0x86, - 0x00, 0x00, 0x50, 0xd7, 0x88, - 0x00, 0x00, 0x44, 0x84, 0x8d, - 0x00, 0x00, 0x4e, 0x26, 0x09, - 0x00, 0x00, 0x51, 0xce, 0xc8, - 0x00, 0x00, 0x41, 0x2f, 0x47, - 0x00, 0x00, 0x44, 0xa8, 0xca, - 0x00, 0x00, 0x4b, 0xdd, 0x06, - 0x00, 0x00, 0x57, 0xcf, 0xc4, - 0x00, 0x00, 0x41, 0xdc, 0x07, - 0x00, 0x00, 0x43, 0x9c, 0xca, - 0x00, 0x00, 0x43, 0xf7, 0x0e, - 0x00, 0x00, 0x48, 0x6e, 0x45, - 0x00, 0x00, 0x49, 0x95, 0x0b, - 0x00, 0x00, 0x50, 0xf9, 0x89, - 0x00, 0x00, 0x46, 0xb2, 0x89, - 0x00, 0x00, 0x40, 0xac, 0x07, - 0x00, 0x00, 0x40, 0xac, 0x0a, - 0x00, 0x00, 0x51, 0xb1, 0x87, - 0x00, 0x00, 0x4c, 0x66, 0x49, - 0x00, 0x00, 0x5e, 0xaa, 0x48, - 0x00, 0x00, 0x57, 0x36, 0x0b, - 0x00, 0x00, 0x4d, 0xfa, 0x85, - 0x00, 0x00, 0x59, 0x3e, 0x4a, - 0x00, 0x00, 0x41, 0xdd, 0xc9, - 0x00, 0x00, 0x4f, 0xe3, 0xca, - 0x00, 0x00, 0x41, 0x5e, 0x8b, - 0x00, 0x00, 0x41, 0xdb, 0x0b, - 0x00, 0x00, 0x45, 0x33, 0xd5, - 0x00, 0x00, 0x4f, 0x69, 0x85, - 0x00, 0x00, 0x41, 0x2f, 0xc5, - 0x00, 0x00, 0x43, 0xab, 0x8a, - 0x00, 0x00, 0x47, 0x22, 0xca, - 0x00, 0x00, 0x51, 0x07, 0xc7, - 0x00, 0x00, 0x41, 0x30, 0x03, - 0x00, 0x00, 0x4d, 0x38, 0x08, - 0x00, 0x00, 0x4e, 0xd6, 0xca, - 0x00, 0x00, 0x42, 0x59, 0x46, - 0x00, 0x00, 0x45, 0xf8, 0x09, - 0x00, 0x00, 0x47, 0xe6, 0x08, - 0x00, 0x00, 0x4c, 0xf1, 0x04, - 0x00, 0x00, 0x48, 0x6b, 0x09, - 0x00, 0x00, 0x49, 0x60, 0x48, - 0x00, 0x00, 0x4d, 0x8c, 0xc7, - 0x00, 0x00, 0x4b, 0x55, 0x86, - 0x00, 0x00, 0x57, 0xb5, 0x47, - 0x00, 0x00, 0x4c, 0xa0, 0x47, - 0x00, 0x00, 0x44, 0x3b, 0x45, - 0x00, 0x00, 0x4a, 0x17, 0x4c, - 0x00, 0x00, 0x44, 0xd4, 0x05, - 0x00, 0x00, 0x40, 0x66, 0x43, - 0x00, 0x00, 0x41, 0xf6, 0x03, - 0x00, 0x00, 0x40, 0x55, 0x03, - 0x00, 0x00, 0x41, 0x09, 0xc3, - 0x00, 0x00, 0x41, 0xf1, 0x43, - 0x00, 0x00, 0x40, 0x22, 0x02, - 0x00, 0x00, 0x40, 0x66, 0x43, - 0x00, 0x00, 0x41, 0x09, 0xc3, - 0x00, 0x00, 0x41, 0xd7, 0x83, - 0x00, 0x00, 0x41, 0xf1, 0x43, - 0x00, 0x00, 0x40, 0x66, 0x43, - 0x00, 0x00, 0x41, 0x09, 0xc3, - 0x00, 0x00, 0x44, 0x35, 0x03, - 0x00, 0x00, 0x41, 0xf1, 0x43, - 0x00, 0x00, 0x1e, 0x2a, 0x03, - 0x00, 0x00, 0x1b, 0x96, 0x88, - 0x00, 0x00, 0x40, 0x66, 0x43, - 0x00, 0x00, 0x41, 0xf6, 0x03, - 0x00, 0x00, 0x40, 0x55, 0x03, - 0x00, 0x00, 0x40, 0x65, 0x43, - 0x00, 0x00, 0x41, 0x09, 0xc3, - 0x00, 0x00, 0x41, 0xf1, 0x43, - 0x00, 0x00, 0x1b, 0x96, 0x88, - 0x00, 0x00, 0x40, 0x22, 0x02, - 0x00, 0x00, 0x40, 0x66, 0x43, - 0x00, 0x00, 0x42, 0xe5, 0x47, - 0x00, 0x00, 0x02, 0xb0, 0x44, - 0x00, 0x00, 0x41, 0x09, 0xc3, - 0x00, 0x00, 0x1d, 0xad, 0xc4, - 0x00, 0x00, 0x41, 0xf1, 0x43, - 0x00, 0x00, 0x1c, 0x1f, 0x05, - 0x00, 0x00, 0x40, 0x22, 0x02, - 0x00, 0x00, 0x40, 0x14, 0x82, - 0x00, 0x00, 0x50, 0x0d, 0xc2, - 0x00, 0x00, 0x40, 0x4b, 0x02, - 0x00, 0x00, 0x40, 0x62, 0x82, - 0x00, 0x00, 0x40, 0x61, 0xc2, - 0x00, 0x00, 0x01, 0x21, 0x4a, - 0x00, 0x00, 0x12, 0xa1, 0x85, - 0x00, 0x00, 0x12, 0xa1, 0x8a, - 0x00, 0x02, 0x92, 0x8d, 0x09, - 0x00, 0x00, 0x14, 0x91, 0x0b, - 0x00, 0x00, 0x05, 0x40, 0x47, - 0x00, 0x00, 0x1b, 0x17, 0x86, - 0x00, 0x00, 0x09, 0xd2, 0x86, - 0x00, 0x00, 0x05, 0xc4, 0xc9, - 0x00, 0x00, 0x0a, 0xdf, 0xc7, - 0x00, 0x00, 0x0f, 0x85, 0x04, - 0x00, 0x02, 0x9a, 0xdf, 0x8a, - 0x00, 0x00, 0x00, 0xe4, 0x4e, - 0x00, 0x00, 0x18, 0x15, 0x0c, - 0x00, 0x00, 0x1d, 0xdc, 0x89, - 0x00, 0x09, 0x02, 0x71, 0x03, - 0x00, 0x00, 0x09, 0x56, 0x07, - 0x00, 0x00, 0x00, 0x11, 0x06, - 0x00, 0x00, 0x00, 0x0f, 0x83, - 0x00, 0x00, 0x0e, 0xcf, 0x05, - 0x00, 0x00, 0x00, 0x00, 0xc1, - 0x00, 0x00, 0x42, 0x1b, 0xc3, - 0x00, 0x0a, 0x40, 0x66, 0x43, - 0x00, 0x00, 0x43, 0x92, 0xc4, - 0x00, 0x00, 0x41, 0xf6, 0x03, - 0x00, 0x00, 0x5d, 0x64, 0x03, - 0x00, 0x00, 0x40, 0x55, 0x03, - 0x00, 0x00, 0x41, 0x1e, 0x43, - 0x00, 0x00, 0x40, 0x65, 0x43, - 0x00, 0x00, 0x4e, 0xea, 0xc6, - 0x00, 0x00, 0x49, 0xac, 0xc6, - 0x00, 0x00, 0x41, 0x09, 0xc3, - 0x00, 0x00, 0x41, 0xf1, 0x43, - 0x00, 0x00, 0x4b, 0x60, 0x06, - 0x00, 0x00, 0x43, 0x6e, 0x83, - 0x00, 0x00, 0x1b, 0x96, 0x88, - 0x00, 0x00, 0x40, 0x09, 0x84, - 0x00, 0x00, 0x45, 0xf0, 0xc7, - 0x00, 0x00, 0x5d, 0x6b, 0xc3, - 0x00, 0x00, 0x49, 0x19, 0x04, - 0x00, 0x00, 0x40, 0xaa, 0x83, - 0x00, 0x00, 0x40, 0xac, 0x83, - 0x00, 0x00, 0x40, 0x55, 0x03, - 0x00, 0x00, 0x0f, 0x08, 0xc7, - 0x00, 0x00, 0x1a, 0x31, 0xc4, - 0x00, 0x00, 0x1d, 0x45, 0xc3, - 0x00, 0x00, 0x1a, 0x23, 0x45, - 0x00, 0x0c, 0xc0, 0x00, 0xc2, - 0x00, 0x00, 0x05, 0x0b, 0x03, - 0x00, 0x0d, 0x40, 0x22, 0x02, - 0x00, 0x0d, 0xc9, 0x28, 0x49, - 0x00, 0x0e, 0x09, 0x88, 0xc9, - 0x00, 0x00, 0x09, 0x8d, 0xcd, - 0x00, 0x00, 0x09, 0x91, 0x0d, - 0x00, 0x00, 0x50, 0x0d, 0xc2, - 0x00, 0x00, 0x05, 0x03, 0xc4, - 0x00, 0x00, 0x1a, 0x23, 0x89, - 0x00, 0x00, 0x0f, 0x9d, 0x4c, - 0x00, 0x00, 0x40, 0x03, 0xc2, - 0x00, 0x0e, 0xc5, 0x02, 0xc8, - 0x00, 0x00, 0x10, 0xa9, 0x04, - 0x00, 0x00, 0x52, 0x95, 0xc3, - 0x00, 0x00, 0x1b, 0x96, 0x88, - 0x00, 0x00, 0x09, 0x32, 0x44, - 0x00, 0x02, 0x81, 0x2f, 0x42, - 0x00, 0x02, 0x80, 0x05, 0xc2, - 0x00, 0x02, 0x81, 0x2f, 0x42, - 0x00, 0x02, 0x91, 0xe7, 0xc6, - 0x00, 0x00, 0x43, 0x3c, 0xc3, - 0x00, 0x00, 0x47, 0x68, 0x03, - 0x00, 0x0f, 0xc0, 0x66, 0x43, - 0x00, 0x00, 0x43, 0x21, 0x84, - 0x00, 0x10, 0xc1, 0xf6, 0x03, - 0x00, 0x11, 0xc0, 0x55, 0x03, - 0x00, 0x00, 0x40, 0x30, 0x42, - 0x00, 0x00, 0x45, 0x03, 0xc4, - 0x00, 0x00, 0x41, 0x09, 0xc3, - 0x00, 0x00, 0x41, 0xbf, 0x83, - 0x00, 0x00, 0x40, 0x15, 0x82, - 0x00, 0x00, 0x41, 0xf1, 0x43, - 0x00, 0x00, 0x41, 0x91, 0x42, - 0x00, 0x00, 0x51, 0x0f, 0x03, - 0x00, 0x00, 0x40, 0x48, 0x42, - 0x00, 0x00, 0x40, 0x19, 0xc3, - 0x00, 0x00, 0x41, 0xa7, 0x43, - 0x00, 0x00, 0x40, 0x59, 0xc2, - 0x00, 0x00, 0x1b, 0x96, 0x88, - 0x00, 0x10, 0x49, 0xb1, 0xc9, - 0x00, 0x00, 0x0f, 0x9d, 0x4c, - 0x00, 0x00, 0x02, 0x24, 0x03, - 0x00, 0x00, 0x43, 0x3c, 0xc3, - 0x00, 0x00, 0x5f, 0x2f, 0x08, - 0x00, 0x11, 0x41, 0xbf, 0x83, - 0x00, 0x00, 0x40, 0x15, 0x82, - 0x00, 0x00, 0x51, 0x0f, 0x03, - 0x00, 0x00, 0x40, 0x48, 0x42, - 0x00, 0x00, 0x40, 0x19, 0xc3, - 0x00, 0x00, 0x41, 0xa7, 0x43, - 0x00, 0x00, 0x40, 0x59, 0xc2, - 0x00, 0x00, 0x5a, 0x63, 0x87, - 0x00, 0x00, 0x51, 0x0f, 0x03, - 0x00, 0x00, 0x40, 0x48, 0x42, - 0x00, 0x00, 0x40, 0x19, 0xc3, - 0x00, 0x00, 0x41, 0xa7, 0x43, - 0x00, 0x00, 0x40, 0x59, 0xc2, - 0x00, 0x00, 0x40, 0x66, 0x43, - 0x00, 0x00, 0x00, 0x8a, 0x42, - 0x00, 0x00, 0x00, 0xf5, 0x43, - 0x00, 0x00, 0x00, 0x13, 0x42, - 0x00, 0x00, 0x00, 0x4c, 0x02, - 0x00, 0x00, 0x06, 0xd6, 0x02, - 0x00, 0x00, 0x00, 0x20, 0x42, - 0x00, 0x00, 0x00, 0x26, 0x42, - 0x00, 0x00, 0x01, 0x31, 0x42, - 0x00, 0x00, 0x45, 0x0b, 0x03, - 0x00, 0x00, 0x40, 0x66, 0x43, - 0x00, 0x00, 0x41, 0xf6, 0x03, - 0x00, 0x00, 0x40, 0x55, 0x03, - 0x00, 0x00, 0x45, 0x03, 0xc4, - 0x00, 0x00, 0x41, 0x1e, 0x43, - 0x00, 0x00, 0x40, 0x65, 0x43, - 0x00, 0x00, 0x49, 0x47, 0x44, - 0x00, 0x00, 0x41, 0x09, 0xc3, - 0x00, 0x00, 0x41, 0xf1, 0x43, - 0x00, 0x00, 0x41, 0x5c, 0x82, - 0x00, 0x00, 0x41, 0x96, 0x83, - 0x00, 0x00, 0x1b, 0x96, 0x88, - 0x00, 0x00, 0x40, 0x66, 0x43, - 0x00, 0x00, 0x41, 0xf6, 0x03, - 0x00, 0x00, 0x40, 0x55, 0x03, - 0x00, 0x00, 0x40, 0x65, 0x43, - 0x00, 0x00, 0x41, 0x09, 0xc3, - 0x00, 0x00, 0x41, 0xf1, 0x43, - 0x00, 0x00, 0x01, 0x24, 0x82, - 0x00, 0x00, 0x0a, 0xb6, 0x43, - 0x00, 0x00, 0x01, 0x62, 0x82, - 0x00, 0x00, 0x45, 0x0b, 0x03, - 0x00, 0x00, 0x40, 0x22, 0x02, - 0x00, 0x00, 0x40, 0x66, 0x43, - 0x00, 0x00, 0x41, 0xf6, 0x03, - 0x00, 0x00, 0x40, 0x55, 0x03, - 0x00, 0x00, 0x45, 0x03, 0xc4, - 0x00, 0x00, 0x41, 0x09, 0xc3, - 0x00, 0x00, 0x41, 0xf1, 0x43, - 0x00, 0x00, 0x53, 0xd8, 0x45, - 0x00, 0x00, 0x42, 0x4b, 0x42, - 0x00, 0x00, 0x40, 0x00, 0xc2, - 0x00, 0x00, 0x1b, 0x96, 0x88, - 0x00, 0x15, 0xc2, 0xa7, 0x92, - 0x00, 0x16, 0x5c, 0x25, 0x88, - 0x00, 0x00, 0x0f, 0x9d, 0x4c, - 0x00, 0x02, 0x87, 0xe2, 0x48, - 0x00, 0x00, 0x01, 0x6d, 0x0a, - 0x00, 0x00, 0x00, 0x2c, 0x45, - 0x00, 0x00, 0x1d, 0x54, 0xc7, - 0x00, 0x00, 0x40, 0x55, 0x03, - 0x00, 0x00, 0x40, 0x27, 0x01, - 0x00, 0x00, 0x40, 0x09, 0xc1, - 0x00, 0x00, 0x40, 0x26, 0xc1, - 0x00, 0x00, 0x40, 0x27, 0x41, - 0x00, 0x00, 0x40, 0x0a, 0x41, - 0x00, 0x00, 0x42, 0x61, 0x81, - 0x00, 0x00, 0x40, 0x0a, 0x01, - 0x00, 0x00, 0x43, 0x20, 0x41, - 0x00, 0x00, 0x40, 0x27, 0x81, - 0x00, 0x00, 0x40, 0x00, 0x01, - 0x00, 0x00, 0x40, 0x00, 0xc1, - 0x00, 0x00, 0x40, 0x02, 0x01, - 0x00, 0x00, 0x14, 0xcb, 0x05, - 0x00, 0x00, 0x1b, 0x96, 0x88, - 0x00, 0x00, 0x40, 0x01, 0x01, - 0x00, 0x00, 0x40, 0x0c, 0xc1, - 0x00, 0x00, 0x40, 0x05, 0x01, - 0x00, 0x00, 0x40, 0x0b, 0xc1, - 0x00, 0x00, 0x40, 0x00, 0x41, - 0x00, 0x00, 0x40, 0x08, 0x01, - 0x00, 0x00, 0x40, 0x01, 0x81, - 0x00, 0x00, 0x40, 0x0c, 0x01, - 0x00, 0x00, 0x40, 0x07, 0x01, - 0x00, 0x00, 0x40, 0x04, 0xc1, - 0x00, 0x00, 0x40, 0x0e, 0xc1, - 0x00, 0x00, 0x40, 0x05, 0x81, - 0x00, 0x00, 0x40, 0x03, 0xc1, - 0x00, 0x00, 0x40, 0x14, 0x01, - 0x00, 0x00, 0x40, 0x71, 0x41, - 0x00, 0x00, 0x40, 0x04, 0x01, - 0x00, 0x00, 0x40, 0x07, 0x41, - 0x00, 0x00, 0x40, 0x07, 0xc1, - 0x00, 0x00, 0x40, 0x00, 0x81, - 0x00, 0x00, 0x40, 0x11, 0x01, - 0x00, 0x00, 0x40, 0x0f, 0x81, - 0x00, 0x00, 0x40, 0x8f, 0x81, - 0x00, 0x00, 0x40, 0x53, 0x81, - 0x00, 0x00, 0x40, 0x18, 0x41, - 0x00, 0x00, 0x40, 0x66, 0x43, - 0x00, 0x00, 0x41, 0xf6, 0x03, - 0x00, 0x00, 0x40, 0x55, 0x03, - 0x00, 0x00, 0x41, 0x09, 0xc3, - 0x00, 0x00, 0x41, 0xf1, 0x43, - 0x00, 0x00, 0x40, 0x22, 0x02, - 0x00, 0x00, 0x40, 0x66, 0x43, - 0x00, 0x00, 0x41, 0xf6, 0x03, - 0x00, 0x00, 0x40, 0x03, 0xc2, - 0x00, 0x00, 0x41, 0xf1, 0x43, - 0x00, 0x00, 0x0f, 0x08, 0xc7, - 0x00, 0x00, 0x08, 0x2b, 0x87, - 0x00, 0x00, 0x03, 0x41, 0x06, - 0x00, 0x00, 0x03, 0xc8, 0x0a, - 0x00, 0x00, 0x09, 0x7d, 0x08, - 0x00, 0x00, 0x06, 0x1f, 0x08, - 0x00, 0x00, 0x06, 0x29, 0x47, - 0x00, 0x00, 0x0c, 0x1e, 0x04, - 0x00, 0x00, 0x1d, 0xdf, 0x06, - 0x00, 0x00, 0x0f, 0x42, 0x45, - 0x00, 0x00, 0x1c, 0xf8, 0x05, - 0x00, 0x00, 0x0a, 0xec, 0x43, - 0x00, 0x00, 0x01, 0x5d, 0x46, - 0x00, 0x00, 0x05, 0x41, 0x46, - 0x00, 0x00, 0x41, 0x4f, 0x04, - 0x00, 0x00, 0x53, 0xa2, 0x47, - 0x00, 0x00, 0x1b, 0x96, 0x88, - 0x00, 0x00, 0x4e, 0x40, 0x84, - 0x00, 0x00, 0x40, 0x66, 0x43, - 0x00, 0x00, 0x41, 0xf6, 0x03, - 0x00, 0x00, 0x40, 0x55, 0x03, - 0x00, 0x00, 0x41, 0x09, 0xc3, - 0x00, 0x00, 0x41, 0xf1, 0x43, - 0x00, 0x00, 0x00, 0x22, 0x02, - 0x00, 0x00, 0x40, 0x66, 0x43, - 0x00, 0x00, 0x41, 0xf6, 0x03, - 0x00, 0x00, 0x40, 0x55, 0x03, - 0x00, 0x00, 0x41, 0x09, 0xc3, - 0x00, 0x00, 0x41, 0xf1, 0x43, - 0x00, 0x00, 0x53, 0x5e, 0x08, - 0x00, 0x00, 0x5c, 0x7f, 0x44, - 0x00, 0x00, 0x43, 0x5f, 0xc4, - 0x00, 0x00, 0x40, 0x62, 0x04, - 0x00, 0x00, 0x4d, 0x40, 0x47, - 0x00, 0x00, 0x4e, 0xc5, 0x87, - 0x00, 0x00, 0x40, 0x66, 0x43, - 0x00, 0x00, 0x43, 0x92, 0xcb, - 0x00, 0x00, 0x5a, 0xb7, 0x4a, - 0x00, 0x00, 0x58, 0x87, 0x87, - 0x00, 0x00, 0x51, 0x5b, 0x08, - 0x00, 0x00, 0x4a, 0xfe, 0xc8, - 0x00, 0x00, 0x41, 0xf6, 0x03, - 0x00, 0x00, 0x57, 0x38, 0x87, - 0x00, 0x00, 0x5d, 0x64, 0x03, - 0x00, 0x00, 0x40, 0x3a, 0x48, - 0x00, 0x00, 0x40, 0xb2, 0x89, - 0x00, 0x00, 0x45, 0x03, 0xc4, - 0x00, 0x00, 0x41, 0x1e, 0x43, - 0x00, 0x00, 0x45, 0xce, 0x88, - 0x00, 0x00, 0x40, 0x65, 0x43, - 0x00, 0x00, 0x4e, 0xa5, 0x8a, - 0x00, 0x00, 0x4e, 0xea, 0xc6, - 0x00, 0x00, 0x5a, 0xc6, 0x47, - 0x00, 0x00, 0x41, 0x09, 0xc3, - 0x00, 0x00, 0x5b, 0xec, 0xc6, - 0x00, 0x00, 0x4b, 0xea, 0x08, - 0x00, 0x00, 0x41, 0xf1, 0x43, - 0x00, 0x00, 0x46, 0x45, 0x06, - 0x00, 0x00, 0x50, 0x3b, 0xcd, - 0x00, 0x00, 0x50, 0x56, 0x08, - 0x00, 0x00, 0x50, 0xaf, 0x0b, - 0x00, 0x00, 0x51, 0x21, 0xc6, - 0x00, 0x00, 0x53, 0xc0, 0x47, - 0x00, 0x00, 0x41, 0x7f, 0xc5, - 0x00, 0x00, 0x5d, 0xcf, 0xca, - 0x00, 0x00, 0x43, 0x3d, 0x45, - 0x00, 0x00, 0x47, 0x53, 0x8a, - 0x00, 0x00, 0x42, 0x4b, 0x42, - 0x00, 0x00, 0x40, 0x0f, 0x83, - 0x00, 0x00, 0x44, 0xcf, 0x44, - 0x00, 0x00, 0x40, 0x00, 0x06, - 0x00, 0x00, 0x5b, 0x92, 0x83, - 0x00, 0x00, 0x4b, 0x4c, 0x83, - 0x00, 0x00, 0x58, 0xa7, 0xc3, - 0x00, 0x00, 0x43, 0xc0, 0xc3, - 0x00, 0x00, 0x5d, 0xd2, 0x03, - 0x00, 0x00, 0x40, 0x1c, 0x02, - 0x00, 0x00, 0x5a, 0x10, 0x85, - 0x00, 0x00, 0x4b, 0x83, 0xc9, - 0x00, 0x00, 0x41, 0x5c, 0x43, - 0x00, 0x00, 0x44, 0x41, 0xc3, - 0x00, 0x00, 0x40, 0x28, 0xc3, - 0x00, 0x00, 0x41, 0x37, 0x43, - 0x00, 0x00, 0x40, 0x02, 0x01, - 0x00, 0x00, 0x4e, 0x8e, 0x87, - 0x00, 0x00, 0x4d, 0x9c, 0x45, - 0x00, 0x00, 0x5c, 0x12, 0xc3, - 0x00, 0x00, 0x46, 0x64, 0x83, - 0x00, 0x00, 0x5f, 0x1d, 0x43, - 0x00, 0x00, 0x40, 0x62, 0x04, - 0x00, 0x00, 0x4f, 0xd6, 0x43, - 0x00, 0x00, 0x41, 0x02, 0xc8, - 0x00, 0x00, 0x57, 0x27, 0x03, - 0x00, 0x00, 0x51, 0xb7, 0x0d, - 0x00, 0x00, 0x48, 0x87, 0x08, - 0x00, 0x00, 0x5f, 0x30, 0xc6, - 0x00, 0x00, 0x4f, 0xbe, 0xc3, - 0x00, 0x00, 0x58, 0x53, 0x83, - 0x00, 0x00, 0x5a, 0x74, 0x03, - 0x00, 0x1b, 0xc0, 0x66, 0x43, - 0x00, 0x00, 0x43, 0x47, 0x88, - 0x00, 0x00, 0x43, 0x92, 0xc4, - 0x00, 0x00, 0x44, 0x0c, 0x03, - 0x00, 0x00, 0x44, 0x57, 0xc3, - 0x00, 0x00, 0x40, 0x01, 0x06, - 0x00, 0x00, 0x44, 0x92, 0x48, - 0x00, 0x00, 0x40, 0x23, 0xc3, - 0x00, 0x00, 0x41, 0xce, 0x03, - 0x00, 0x00, 0x4b, 0xe7, 0x03, - 0x00, 0x00, 0x41, 0xa6, 0xc3, - 0x00, 0x00, 0x5d, 0xd0, 0x03, - 0x00, 0x00, 0x40, 0xf3, 0x43, - 0x00, 0x00, 0x41, 0xf6, 0x03, - 0x00, 0x00, 0x41, 0x65, 0x03, - 0x00, 0x00, 0x44, 0xe0, 0xc3, - 0x00, 0x00, 0x45, 0x34, 0xc3, - 0x00, 0x00, 0x42, 0x8e, 0x03, - 0x00, 0x00, 0x53, 0xe4, 0x43, - 0x00, 0x00, 0x59, 0xba, 0xc3, - 0x00, 0x00, 0x44, 0x4b, 0xc3, - 0x00, 0x00, 0x5a, 0x5b, 0x45, - 0x00, 0x00, 0x45, 0xc4, 0x84, - 0x00, 0x00, 0x45, 0xdb, 0x07, - 0x00, 0x00, 0x45, 0x96, 0xc2, - 0x00, 0x00, 0x46, 0x09, 0x83, - 0x00, 0x00, 0x46, 0x55, 0x06, - 0x00, 0x00, 0x46, 0x7a, 0x83, - 0x00, 0x00, 0x46, 0x7d, 0x83, - 0x00, 0x00, 0x48, 0x6d, 0x43, - 0x00, 0x00, 0x5d, 0xe7, 0xc3, - 0x00, 0x00, 0x41, 0x9b, 0x03, - 0x00, 0x00, 0x53, 0xb4, 0x03, - 0x00, 0x00, 0x4a, 0x4e, 0x07, - 0x00, 0x1d, 0x40, 0x55, 0x03, - 0x00, 0x00, 0x40, 0xff, 0xc3, - 0x00, 0x00, 0x40, 0x6a, 0x43, - 0x00, 0x00, 0x40, 0x36, 0xc3, - 0x00, 0x00, 0x40, 0xfc, 0x83, - 0x00, 0x00, 0x54, 0xff, 0xc3, - 0x00, 0x00, 0x56, 0x9d, 0x05, - 0x00, 0x00, 0x58, 0x2b, 0x83, - 0x00, 0x00, 0x44, 0xdd, 0x09, - 0x00, 0x00, 0x40, 0x0c, 0x03, - 0x00, 0x00, 0x51, 0x96, 0x43, - 0x00, 0x1d, 0xc4, 0xf7, 0x03, - 0x00, 0x00, 0x46, 0x65, 0x43, - 0x00, 0x00, 0x40, 0x62, 0x43, - 0x00, 0x00, 0x41, 0x1a, 0x08, - 0x00, 0x00, 0x4b, 0x83, 0x06, - 0x00, 0x00, 0x5d, 0xe5, 0x86, - 0x00, 0x00, 0x4c, 0x3d, 0x46, - 0x00, 0x00, 0x46, 0x8d, 0x87, - 0x00, 0x00, 0x41, 0x3a, 0xc3, - 0x00, 0x00, 0x43, 0xdd, 0xc3, - 0x00, 0x00, 0x40, 0x65, 0x43, - 0x00, 0x00, 0x49, 0x7e, 0x06, - 0x00, 0x00, 0x40, 0x66, 0xc2, - 0x00, 0x00, 0x4e, 0xdd, 0xc3, - 0x00, 0x00, 0x54, 0x23, 0xc5, - 0x00, 0x00, 0x41, 0x09, 0xc3, - 0x00, 0x00, 0x52, 0x8f, 0xc7, - 0x00, 0x02, 0xc1, 0xd7, 0x83, - 0x00, 0x00, 0x43, 0xd5, 0xc3, - 0x00, 0x00, 0x43, 0x6a, 0x03, - 0x00, 0x00, 0x43, 0x64, 0xc3, - 0x00, 0x00, 0x43, 0xc4, 0x83, - 0x00, 0x00, 0x41, 0xf1, 0x43, - 0x00, 0x00, 0x43, 0xe8, 0x06, - 0x00, 0x00, 0x5a, 0x32, 0x86, - 0x00, 0x00, 0x58, 0x31, 0x83, - 0x00, 0x00, 0x5c, 0xbd, 0x03, - 0x00, 0x00, 0x41, 0x96, 0x83, - 0x00, 0x00, 0x41, 0x7c, 0xc3, - 0x00, 0x00, 0x51, 0xc3, 0x03, - 0x00, 0x00, 0x50, 0xe2, 0x43, - 0x00, 0x00, 0x51, 0x18, 0xc3, - 0x00, 0x00, 0x5c, 0x1f, 0x05, - 0x00, 0x00, 0x43, 0x73, 0x43, - 0x00, 0x00, 0x55, 0xdd, 0xc6, - 0x00, 0x00, 0x40, 0xef, 0x83, - 0x00, 0x00, 0x5b, 0x98, 0xc8, - 0x00, 0x00, 0x40, 0xc4, 0xc3, - 0x00, 0x00, 0x5b, 0x75, 0xc9, - 0x00, 0x00, 0x40, 0xc4, 0xc8, - 0x00, 0x00, 0x41, 0xa1, 0x88, - 0x00, 0x00, 0x41, 0xe6, 0x05, - 0x00, 0x00, 0x42, 0xf4, 0x0a, - 0x00, 0x00, 0x43, 0x02, 0xca, - 0x00, 0x00, 0x43, 0x2a, 0xcb, - 0x00, 0x00, 0x43, 0x44, 0x48, - 0x00, 0x00, 0x52, 0x53, 0x83, - 0x00, 0x00, 0x41, 0x70, 0x43, - 0x00, 0x00, 0x51, 0x19, 0x03, - 0x00, 0x00, 0x4f, 0x29, 0x83, - 0x00, 0x00, 0x51, 0x39, 0x48, - 0x00, 0x00, 0x53, 0x6c, 0x83, - 0x00, 0x00, 0x41, 0xf9, 0x84, - 0x00, 0x00, 0x40, 0x21, 0xc2, - 0x00, 0x00, 0x44, 0x0b, 0x83, - 0x00, 0x00, 0x46, 0x0e, 0x43, - 0x00, 0x00, 0x40, 0x07, 0xc3, - 0x00, 0x00, 0x43, 0xd9, 0x43, - 0x00, 0x00, 0x49, 0x76, 0xc3, - 0x00, 0x00, 0x43, 0x6e, 0x83, - 0x00, 0x00, 0x42, 0x4b, 0x42, - 0x00, 0x00, 0x41, 0x80, 0x83, - 0x00, 0x00, 0x43, 0xba, 0x43, - 0x00, 0x00, 0x51, 0xe9, 0x43, - 0x00, 0x00, 0x52, 0x17, 0x44, - 0x00, 0x00, 0x44, 0xcf, 0x44, - 0x00, 0x00, 0x42, 0x43, 0x43, - 0x00, 0x00, 0x1b, 0x96, 0x88, - 0x00, 0x1c, 0x51, 0xd0, 0xcc, - 0x00, 0x1c, 0xc5, 0x8b, 0x05, - 0x00, 0x00, 0x0d, 0xe3, 0x05, - 0x00, 0x00, 0x40, 0x00, 0xc2, - 0x00, 0x00, 0x40, 0x0b, 0x02, - 0x00, 0x00, 0x40, 0x1c, 0x02, - 0x00, 0x00, 0x40, 0x61, 0x82, - 0x00, 0x00, 0x40, 0x02, 0x02, - 0x00, 0x00, 0x40, 0x11, 0xc2, - 0x00, 0x00, 0x47, 0x8d, 0x02, - 0x00, 0x00, 0x40, 0x13, 0x42, - 0x00, 0x00, 0x40, 0x03, 0x82, - 0x00, 0x00, 0x40, 0x5e, 0x42, - 0x00, 0x00, 0x4c, 0x7f, 0x42, - 0x00, 0x00, 0x40, 0x3c, 0x42, - 0x00, 0x00, 0x47, 0xd2, 0x02, - 0x00, 0x00, 0x40, 0x67, 0x02, - 0x00, 0x00, 0x40, 0x61, 0xc2, - 0x00, 0x00, 0x40, 0x20, 0xc2, - 0x00, 0x00, 0x40, 0x14, 0x02, - 0x00, 0x00, 0x40, 0x2b, 0x02, - 0x00, 0x00, 0x44, 0x53, 0x42, - 0x00, 0x00, 0x40, 0x3f, 0x42, - 0x00, 0x00, 0x40, 0x06, 0x82, - 0x00, 0x00, 0x40, 0x39, 0xc2, - 0x00, 0x00, 0x41, 0x24, 0x82, - 0x00, 0x00, 0x40, 0x2e, 0xc2, - 0x00, 0x00, 0x40, 0x10, 0x42, - 0x00, 0x00, 0x40, 0xe7, 0xc2, - 0x00, 0x00, 0x40, 0xc6, 0x42, - 0x00, 0x00, 0x00, 0x00, 0xc2, - 0x00, 0x00, 0x00, 0x0b, 0x02, - 0x00, 0x00, 0x00, 0x1c, 0x02, - 0x00, 0x00, 0x00, 0x61, 0x82, - 0x00, 0x00, 0x00, 0x02, 0x02, - 0x00, 0x00, 0x00, 0x11, 0xc2, - 0x00, 0x00, 0x07, 0x8d, 0x02, - 0x00, 0x00, 0x00, 0x13, 0x42, - 0x00, 0x00, 0x00, 0x03, 0x82, - 0x00, 0x00, 0x00, 0x5e, 0x42, - 0x00, 0x00, 0x0c, 0x7f, 0x42, - 0x00, 0x00, 0x00, 0x3c, 0x42, - 0x00, 0x00, 0x07, 0xd2, 0x02, - 0x00, 0x00, 0x00, 0x67, 0x02, - 0x00, 0x00, 0x00, 0x61, 0xc2, - 0x00, 0x00, 0x00, 0x20, 0xc2, - 0x00, 0x00, 0x00, 0x14, 0x02, - 0x00, 0x00, 0x00, 0x2b, 0x02, - 0x00, 0x00, 0x04, 0x53, 0x42, - 0x00, 0x00, 0x00, 0x3f, 0x42, - 0x00, 0x00, 0x00, 0x06, 0x82, - 0x00, 0x00, 0x00, 0x39, 0xc2, - 0x00, 0x00, 0x01, 0x24, 0x82, - 0x00, 0x00, 0x00, 0x2e, 0xc2, - 0x00, 0x00, 0x00, 0x10, 0x42, - 0x00, 0x00, 0x00, 0xe7, 0xc2, - 0x00, 0x00, 0x00, 0xc6, 0x42, - 0x00, 0x00, 0x40, 0x66, 0x43, - 0x00, 0x00, 0x41, 0xf6, 0x03, - 0x00, 0x00, 0x40, 0x55, 0x03, - 0x00, 0x00, 0x41, 0x09, 0xc3, - 0x00, 0x00, 0x41, 0xf1, 0x43, - 0x00, 0x00, 0x00, 0x0f, 0x82, - 0x00, 0x00, 0x40, 0x66, 0x43, - 0x00, 0x00, 0x41, 0xf6, 0x03, - 0x00, 0x00, 0x40, 0x55, 0x03, - 0x00, 0x00, 0x41, 0x09, 0xc3, - 0x00, 0x00, 0x41, 0xf1, 0x43, - 0x00, 0x00, 0x09, 0x9b, 0x49, - 0x00, 0x00, 0x00, 0x22, 0x02, - 0x00, 0x00, 0x40, 0x22, 0x02, - 0x00, 0x00, 0x41, 0xf1, 0x43, - 0x00, 0x21, 0x40, 0x66, 0x43, - 0x00, 0x00, 0x40, 0x55, 0x03, - 0x00, 0x00, 0x0d, 0xfa, 0x89, - 0x00, 0x00, 0x40, 0x65, 0x43, - 0x00, 0x00, 0x0f, 0x08, 0x47, - 0x00, 0x00, 0x42, 0x32, 0xc2, - 0x00, 0x00, 0x1b, 0x96, 0x88, - 0x00, 0x00, 0x40, 0x66, 0x43, - 0x00, 0x00, 0x41, 0xf6, 0x03, - 0x00, 0x00, 0x40, 0x55, 0x03, - 0x00, 0x00, 0x01, 0x70, 0x03, - 0x00, 0x00, 0x41, 0x09, 0xc3, - 0x00, 0x00, 0x41, 0xf1, 0x43, - 0x00, 0x00, 0x00, 0x36, 0x42, - 0x00, 0x00, 0x40, 0x01, 0xc2, - 0x00, 0x02, 0x82, 0x18, 0x05, - 0x00, 0x00, 0x14, 0xcb, 0x05, - 0x00, 0x00, 0x48, 0x86, 0xc2, - 0x00, 0x00, 0x1b, 0x96, 0x88, - 0x00, 0x00, 0x00, 0x22, 0x02, - 0x00, 0x00, 0x43, 0x7e, 0x02, - 0x00, 0x00, 0x40, 0x2f, 0x82, - 0x00, 0x00, 0x0f, 0x9d, 0x4c, - 0x00, 0x00, 0x41, 0x04, 0xc2, - 0x00, 0x00, 0x40, 0xfc, 0xc2, - 0x00, 0x00, 0x41, 0x22, 0x82, - 0x00, 0x00, 0x1c, 0xf8, 0x05, - 0x00, 0x00, 0x40, 0x0d, 0xc2, - 0x00, 0x00, 0x40, 0x15, 0x82, - 0x00, 0x00, 0x40, 0x39, 0x02, - 0x00, 0x00, 0x40, 0x15, 0x42, - 0x00, 0x00, 0x40, 0x20, 0xc2, - 0x00, 0x00, 0x44, 0x13, 0xc2, - 0x00, 0x00, 0x41, 0x0a, 0x82, - 0x00, 0x00, 0x44, 0x24, 0x02, - 0x00, 0x23, 0x47, 0xa6, 0xc4, - 0x00, 0x00, 0x00, 0x01, 0x42, - 0x00, 0x00, 0x0f, 0x08, 0xc7, - 0x00, 0x00, 0x04, 0x29, 0x83, - 0x00, 0x00, 0x0d, 0xc4, 0x0d, - 0x00, 0x00, 0x0f, 0x42, 0xc9, - 0x00, 0x00, 0x01, 0x28, 0x0b, - 0x00, 0x00, 0x0f, 0x81, 0x08, - 0x00, 0x00, 0x06, 0x6f, 0xc9, - 0x00, 0x24, 0x4e, 0xce, 0x45, - 0x00, 0x00, 0x11, 0x9e, 0x46, - 0x00, 0x00, 0x13, 0x7d, 0x09, - 0x00, 0x00, 0x40, 0x55, 0x03, - 0x00, 0x00, 0x1b, 0x96, 0x88, - 0x00, 0x00, 0x1a, 0x31, 0xc4, - 0x00, 0x00, 0x1d, 0x45, 0xc3, - 0x00, 0x00, 0x1a, 0x23, 0x45, - 0x00, 0x00, 0x1b, 0x96, 0x88, - 0x00, 0x00, 0x1d, 0xd5, 0x07, - 0x00, 0x26, 0x05, 0x39, 0x07, - 0x00, 0x26, 0xc5, 0xf6, 0x84, - 0x00, 0x00, 0x06, 0x36, 0x46, - 0x00, 0x00, 0x1a, 0x23, 0x89, - 0x00, 0x00, 0x0b, 0x72, 0x8e, - 0x00, 0x00, 0x0f, 0x9d, 0x4c, - 0x00, 0x00, 0x14, 0x42, 0x07, - 0x00, 0x02, 0x9b, 0x5c, 0x83, - 0x00, 0x27, 0x40, 0x1a, 0xc2, - 0x00, 0x00, 0x14, 0x78, 0x49, - 0x00, 0x00, 0x1d, 0x50, 0x04, - 0x00, 0x00, 0x40, 0x00, 0xc2, - 0x00, 0x00, 0x41, 0x4f, 0x04, - 0x00, 0x00, 0x40, 0x22, 0x02, - 0x00, 0x00, 0x40, 0x66, 0x43, - 0x00, 0x00, 0x40, 0x14, 0x82, - 0x00, 0x00, 0x41, 0xf6, 0x03, - 0x00, 0x00, 0x00, 0xfd, 0x03, - 0x00, 0x00, 0x40, 0x03, 0x82, - 0x00, 0x00, 0x4e, 0x40, 0x84, - 0x00, 0x00, 0x41, 0x1e, 0x43, - 0x00, 0x00, 0x44, 0xe4, 0x42, - 0x00, 0x00, 0x41, 0x09, 0xc3, - 0x00, 0x00, 0x01, 0x22, 0x82, - 0x00, 0x00, 0x40, 0x03, 0xc2, - 0x00, 0x00, 0x41, 0xf1, 0x43, - 0x00, 0x00, 0x41, 0x2f, 0xc6, - 0x00, 0x00, 0x53, 0x94, 0x0f, - 0x00, 0x00, 0xdd, 0xe9, 0x83, - 0x00, 0x00, 0x1b, 0x96, 0x88, - 0x00, 0x00, 0x40, 0x22, 0x02, - 0x00, 0x00, 0x5d, 0x64, 0x03, - 0x00, 0x00, 0x40, 0x55, 0x03, - 0x00, 0x00, 0x40, 0x65, 0x43, - 0x00, 0x29, 0xdd, 0x35, 0x87, - 0x00, 0x02, 0x97, 0x2a, 0x46, - 0x00, 0x00, 0x1e, 0xe2, 0x86, - 0x00, 0x00, 0x0d, 0x9c, 0x89, - 0x00, 0x2a, 0x5c, 0x74, 0x48, - 0x00, 0x00, 0x1e, 0x86, 0x84, - 0x00, 0x2a, 0xcc, 0x3f, 0xca, - 0x00, 0x00, 0x07, 0xd8, 0x48, - 0x00, 0x2c, 0x01, 0x6c, 0x07, - 0x00, 0x00, 0x1c, 0x25, 0x88, - 0x00, 0x00, 0x0b, 0x72, 0x88, - 0x00, 0x02, 0x9d, 0xcd, 0x8b, - 0x00, 0x02, 0x87, 0xab, 0xca, - 0x00, 0x2c, 0x86, 0x7c, 0xc3, - 0x00, 0x00, 0x0f, 0xac, 0x49, - 0x00, 0x2d, 0x10, 0xa2, 0x48, - 0x00, 0x2d, 0xc3, 0x8a, 0x47, - 0x00, 0x02, 0x8e, 0xb4, 0x4a, - 0x00, 0x02, 0x90, 0x61, 0x47, - 0x00, 0x00, 0x0b, 0x1e, 0x8b, - 0x00, 0x2e, 0x49, 0xe3, 0x8c, - 0x00, 0x00, 0x16, 0x46, 0x85, - 0x00, 0x00, 0x0e, 0x04, 0x05, - 0x00, 0x00, 0x12, 0x31, 0xc9, - 0x00, 0x00, 0x10, 0x29, 0xc4, - 0x00, 0x00, 0x11, 0xc2, 0x83, - 0x00, 0x2b, 0x4c, 0x41, 0x05, - 0x00, 0x00, 0x12, 0xc8, 0x43, - 0x00, 0x2b, 0xc2, 0xc1, 0xc3, - 0x00, 0x00, 0x12, 0xc8, 0x43, - 0x00, 0x00, 0x04, 0x29, 0x82, - 0x00, 0x00, 0x00, 0x1b, 0x42, - 0x00, 0x00, 0x00, 0x5f, 0xc2, - 0x00, 0x00, 0x00, 0x5f, 0xc2, - 0x00, 0x00, 0x00, 0x17, 0x82, - 0x00, 0x00, 0x00, 0x5f, 0xc2, - 0x00, 0x00, 0x00, 0x26, 0x42, - 0x00, 0x00, 0x00, 0x34, 0x02, - 0x00, 0x00, 0x00, 0x23, 0xc2, - 0x00, 0x00, 0x14, 0xcb, 0x05, - 0x00, 0x00, 0x0f, 0x08, 0xc7, - 0x00, 0x00, 0x1e, 0x86, 0x84, - 0x00, 0x00, 0x10, 0x7e, 0x04, - 0x00, 0x00, 0x40, 0x22, 0x02, - 0x00, 0x00, 0x40, 0x66, 0x43, - 0x00, 0x00, 0x40, 0x55, 0x03, - 0x00, 0x00, 0x41, 0x09, 0xc3, - 0x00, 0x00, 0x40, 0x00, 0xc2, - 0x00, 0x00, 0x40, 0x87, 0xc2, - 0x00, 0x00, 0x40, 0x5a, 0x42, - 0x00, 0x30, 0x40, 0x66, 0x43, - 0x00, 0x00, 0x44, 0x13, 0x82, - 0x00, 0x00, 0x41, 0xf6, 0x03, - 0x00, 0x00, 0x40, 0x0b, 0xc2, - 0x00, 0x00, 0x43, 0x43, 0x82, - 0x00, 0x00, 0x40, 0x55, 0x03, - 0x00, 0x00, 0x40, 0x62, 0xc2, - 0x00, 0x00, 0x46, 0x97, 0xc2, - 0x00, 0x00, 0x42, 0x08, 0xc2, - 0x00, 0x00, 0x40, 0x70, 0x02, - 0x00, 0x00, 0x49, 0xcf, 0xc2, - 0x00, 0x00, 0x40, 0x08, 0x02, - 0x00, 0x00, 0x40, 0x35, 0x82, - 0x00, 0x00, 0x41, 0x73, 0x82, - 0x00, 0x00, 0x40, 0xbd, 0x82, - 0x00, 0x00, 0x40, 0xaf, 0x02, - 0x00, 0x00, 0x16, 0x10, 0xcc, - 0x00, 0x00, 0x4c, 0x70, 0x02, - 0x00, 0x00, 0x47, 0xe5, 0xc2, - 0x00, 0x00, 0x43, 0x0a, 0x02, - 0x00, 0x00, 0x40, 0x1f, 0x02, - 0x00, 0x00, 0x40, 0x65, 0x43, - 0x00, 0x00, 0x40, 0x15, 0x02, - 0x00, 0x00, 0x41, 0x09, 0xc3, - 0x00, 0x00, 0x43, 0x9e, 0x02, - 0x00, 0x00, 0x44, 0x61, 0x02, - 0x00, 0x00, 0x41, 0xf1, 0x43, - 0x00, 0x00, 0x44, 0x42, 0x42, - 0x00, 0x00, 0x40, 0x2e, 0xc2, - 0x00, 0x00, 0x40, 0x6e, 0xc2, - 0x00, 0x00, 0x40, 0x0e, 0x02, - 0x00, 0x00, 0x40, 0x3d, 0x02, - 0x00, 0x00, 0x44, 0x29, 0xc2, - 0x00, 0x00, 0x40, 0xae, 0x42, - 0x00, 0x00, 0x45, 0x06, 0x02, - 0x00, 0x00, 0x43, 0x0a, 0x42, - 0x00, 0x00, 0x52, 0xe0, 0xca, - 0x00, 0x00, 0x56, 0xfb, 0x0a, - 0x00, 0x00, 0x5a, 0x1a, 0x4a, - 0x00, 0x00, 0x5f, 0x44, 0x42, - 0x00, 0x00, 0x40, 0x53, 0x82, - 0x00, 0x00, 0x56, 0x9c, 0xc2, - 0x00, 0x30, 0xcf, 0xc7, 0x49, - 0x00, 0x31, 0x55, 0x47, 0xca, - 0x00, 0x02, 0x94, 0x92, 0x07, - 0x00, 0x31, 0xc0, 0x0f, 0xc2, - 0x00, 0x02, 0x83, 0xbf, 0xc3, - 0x00, 0x00, 0x00, 0x49, 0x42, - 0x00, 0x00, 0x15, 0x47, 0xca, - 0x00, 0x00, 0x16, 0x85, 0xce, - 0x00, 0x00, 0x40, 0x48, 0x84, - 0x00, 0x00, 0x10, 0x57, 0x85, - 0x00, 0x32, 0xc0, 0x66, 0x43, - 0x00, 0x00, 0x04, 0x2d, 0xc3, - 0x00, 0x00, 0x41, 0xf6, 0x03, - 0x00, 0x00, 0x45, 0x54, 0xc4, - 0x00, 0x00, 0x40, 0x55, 0x03, - 0x00, 0x00, 0x45, 0x03, 0xc4, - 0x00, 0x00, 0x41, 0x1e, 0x43, - 0x00, 0x00, 0x14, 0x40, 0x09, - 0x00, 0x00, 0x1d, 0x40, 0x86, - 0x00, 0x00, 0x40, 0x65, 0x43, - 0x00, 0x00, 0x0f, 0x89, 0x84, - 0x00, 0x00, 0x14, 0x6e, 0xc3, - 0x00, 0x00, 0x41, 0x09, 0xc3, - 0x00, 0x00, 0x00, 0x1f, 0x45, - 0x00, 0x00, 0x41, 0xd7, 0x83, - 0x00, 0x00, 0x41, 0xf1, 0x43, - 0x00, 0x02, 0x84, 0x5a, 0x04, - 0x00, 0x00, 0x43, 0x73, 0x43, - 0x00, 0x33, 0x14, 0xe6, 0xc4, - 0x00, 0x00, 0x0c, 0xbd, 0x48, - 0x00, 0x00, 0x40, 0x0f, 0x83, - 0x00, 0x00, 0x1b, 0x96, 0x88, - 0x00, 0x00, 0x00, 0x30, 0x42, - 0x00, 0x02, 0x93, 0x3a, 0x43, - 0x00, 0x00, 0x1d, 0xe8, 0xc6, - 0x00, 0x02, 0x9d, 0xde, 0x84, - 0x00, 0x00, 0x1d, 0x69, 0x85, - 0x00, 0x00, 0x10, 0x27, 0xca, - 0x00, 0x00, 0x13, 0x4f, 0x82, - 0x00, 0x34, 0x9d, 0xec, 0x0d, - 0x00, 0x00, 0x1b, 0x32, 0xc6, - 0x00, 0x00, 0x00, 0x6f, 0x51, - 0x00, 0x35, 0x4f, 0xc7, 0x49, - 0x00, 0x00, 0x15, 0x9c, 0x8a, - 0x00, 0x00, 0x1d, 0x6a, 0x08, - 0x00, 0x00, 0x08, 0xc1, 0xc8, - 0x00, 0x00, 0x14, 0x5c, 0xce, - 0x00, 0x00, 0x05, 0x4b, 0x13, - 0x00, 0x42, 0x97, 0x2d, 0x07, - 0x00, 0x00, 0x00, 0x28, 0xc2, - 0x00, 0x00, 0x13, 0xa8, 0x10, - 0x00, 0x00, 0x14, 0x5a, 0xcc, - 0x00, 0x00, 0x0f, 0xc8, 0xd4, - 0x00, 0x00, 0x0b, 0x04, 0x07, - 0x00, 0x00, 0x01, 0xa5, 0x0e, - 0x00, 0x00, 0x14, 0xcb, 0x0b, - 0x00, 0x00, 0x14, 0xee, 0xcb, - 0x00, 0x00, 0x1b, 0xd0, 0x4a, - 0x00, 0x00, 0x03, 0x42, 0xc7, - 0x00, 0x00, 0x1b, 0x96, 0x88, - 0x00, 0x00, 0x0b, 0x4d, 0x88, - 0x00, 0x00, 0x00, 0x8e, 0xc7, - 0x00, 0x43, 0x01, 0xae, 0x0b, - 0x00, 0x00, 0x01, 0xc4, 0x46, - 0x00, 0x00, 0x01, 0xf4, 0xc7, - 0x00, 0x00, 0x00, 0x2f, 0xc2, - 0x00, 0x00, 0x10, 0xfa, 0x8d, - 0x00, 0x00, 0x14, 0x9b, 0x45, - 0x00, 0x00, 0x06, 0x93, 0x47, - 0x00, 0x00, 0x02, 0xad, 0x8a, - 0x00, 0x00, 0x13, 0xe3, 0x0c, - 0x00, 0x00, 0x13, 0xe4, 0xcf, - 0x00, 0x00, 0x11, 0xf6, 0x4f, - 0x00, 0x00, 0x15, 0x47, 0xc2, - 0x00, 0x00, 0x00, 0x22, 0x02, - 0x00, 0x00, 0x0e, 0x9e, 0x08, - 0x00, 0x43, 0x8f, 0xbc, 0x4c, - 0x00, 0x00, 0x1a, 0x8b, 0x0a, - 0x00, 0x44, 0x56, 0x1b, 0x8a, - 0x00, 0x00, 0x0f, 0x10, 0xca, - 0x00, 0x00, 0x08, 0x00, 0xca, - 0x00, 0x00, 0x08, 0x85, 0x08, - 0x00, 0x00, 0x02, 0x60, 0x85, - 0x00, 0x00, 0x06, 0xb5, 0xc8, - 0x00, 0x00, 0x0f, 0x15, 0x88, - 0x00, 0x00, 0x1d, 0xd4, 0xc8, - 0x00, 0x00, 0x14, 0x64, 0x88, - 0x00, 0x00, 0x00, 0x23, 0xc2, - 0x00, 0x00, 0x11, 0xf3, 0xcf, - 0x00, 0x02, 0x82, 0x18, 0x8d, - 0x00, 0x02, 0x80, 0xe4, 0xd2, - 0x00, 0x00, 0x1c, 0xcf, 0x8b, - 0x00, 0x00, 0x0c, 0x9a, 0x08, - 0x00, 0x00, 0x03, 0x81, 0x07, - 0x00, 0x00, 0x04, 0xe4, 0x8a, - 0x00, 0x00, 0x12, 0xbc, 0xcb, - 0x00, 0x00, 0x0a, 0x24, 0xc9, - 0x00, 0x00, 0x04, 0xe3, 0x87, - 0x00, 0x00, 0x07, 0x67, 0x06, - 0x00, 0x00, 0x02, 0x5f, 0x88, - 0x00, 0x00, 0x03, 0x04, 0x8c, - 0x00, 0x00, 0x1d, 0x9d, 0x47, - 0x00, 0x00, 0x01, 0xca, 0xca, - 0x00, 0x00, 0x00, 0x79, 0x08, - 0x00, 0x00, 0x15, 0xf0, 0x0e, - 0x00, 0x00, 0x19, 0x02, 0x8e, - 0x00, 0x00, 0x03, 0x41, 0x0b, - 0x00, 0x00, 0x03, 0xe4, 0x8b, - 0x00, 0x00, 0x03, 0xed, 0x0b, - 0x00, 0x00, 0x04, 0x1a, 0x09, - 0x00, 0x00, 0x04, 0x2e, 0x4b, - 0x00, 0x00, 0x04, 0x33, 0x4d, - 0x00, 0x00, 0x04, 0x4d, 0x4b, - 0x00, 0x00, 0x04, 0x97, 0x8d, - 0x00, 0x00, 0x04, 0x9b, 0x0d, - 0x00, 0x00, 0x05, 0x25, 0x0a, - 0x00, 0x00, 0x04, 0xcd, 0x8b, - 0x00, 0x00, 0x04, 0xd2, 0x4b, - 0x00, 0x00, 0x05, 0x21, 0x85, - 0x00, 0x44, 0x9c, 0x74, 0x90, - 0x00, 0x00, 0x02, 0xc6, 0x8f, - 0x00, 0x00, 0x07, 0xa8, 0x8f, - 0x00, 0x00, 0x10, 0xff, 0x4d, - 0x00, 0x00, 0x05, 0x7f, 0x50, - 0x00, 0x00, 0x00, 0x4c, 0x02, - 0x00, 0x45, 0x42, 0xfd, 0x08, - 0x00, 0x00, 0x1d, 0x9b, 0xc8, - 0x00, 0x00, 0x08, 0x09, 0x90, - 0x00, 0x00, 0x12, 0xae, 0x8e, - 0x00, 0x45, 0xd7, 0x26, 0xc5, - 0x00, 0x00, 0x05, 0x31, 0x4b, - 0x00, 0x00, 0x14, 0x31, 0x10, - 0x00, 0x00, 0x05, 0x9b, 0xc5, - 0x00, 0x00, 0x0a, 0x38, 0x0b, - 0x00, 0x00, 0x1b, 0x17, 0x8c, - 0x00, 0x00, 0x06, 0xb6, 0xca, - 0x00, 0x00, 0x03, 0xe6, 0x49, - 0x00, 0x00, 0x06, 0xc4, 0x48, - 0x00, 0x00, 0x07, 0x25, 0x47, - 0x00, 0x00, 0x07, 0x28, 0x87, - 0x00, 0x00, 0x07, 0x2a, 0x47, - 0x00, 0x00, 0x07, 0x3a, 0xc7, - 0x00, 0x00, 0x07, 0x52, 0x07, - 0x00, 0x00, 0x07, 0x56, 0x07, - 0x00, 0x00, 0x07, 0x77, 0x87, - 0x00, 0x00, 0x07, 0x7c, 0x87, - 0x00, 0x00, 0x07, 0x81, 0x87, - 0x00, 0x00, 0x07, 0x85, 0x07, - 0x00, 0x00, 0x07, 0x89, 0xc7, - 0x00, 0x00, 0x07, 0x8b, 0x87, - 0x00, 0x00, 0x07, 0x8d, 0x47, - 0x00, 0x00, 0x07, 0x8f, 0x07, - 0x00, 0x00, 0x07, 0x92, 0x87, - 0x00, 0x00, 0x07, 0x97, 0x47, - 0x00, 0x00, 0x07, 0xb0, 0x47, - 0x00, 0x00, 0x07, 0xb5, 0x07, - 0x00, 0x00, 0x07, 0xc1, 0x07, - 0x00, 0x00, 0x07, 0xc4, 0x07, - 0x00, 0x00, 0x07, 0xc5, 0xc7, - 0x00, 0x00, 0x07, 0xc8, 0xc7, - 0x00, 0x00, 0x07, 0xd0, 0xc7, - 0x00, 0x00, 0x07, 0xd2, 0xc7, - 0x00, 0x00, 0x07, 0xdc, 0xc7, - 0x00, 0x00, 0x07, 0xde, 0x87, - 0x00, 0x00, 0x07, 0xe0, 0x47, - 0x00, 0x00, 0x07, 0xe4, 0x47, - 0x00, 0x00, 0x07, 0xea, 0x87, - 0x00, 0x00, 0x07, 0xf4, 0x47, - 0x00, 0x00, 0x07, 0xff, 0x07, - 0x00, 0x00, 0x08, 0x03, 0x47, - 0x00, 0x00, 0x08, 0x10, 0x87, - 0x00, 0x00, 0x08, 0x12, 0x47, - 0x00, 0x00, 0x08, 0x18, 0x87, - 0x00, 0x00, 0x08, 0x1c, 0x07, - 0x00, 0x00, 0x08, 0x26, 0x07, - 0x00, 0x00, 0x08, 0x2a, 0x07, - 0x00, 0x00, 0x08, 0x2d, 0x47, - 0x00, 0x00, 0x08, 0x2f, 0x07, - 0x00, 0x00, 0x08, 0x33, 0x47, - 0x00, 0x00, 0x08, 0x3a, 0x47, - 0x00, 0x00, 0x08, 0x42, 0xc7, - 0x00, 0x00, 0x08, 0x46, 0xc7, - 0x00, 0x00, 0x08, 0x48, 0x87, - 0x00, 0x00, 0x08, 0x4d, 0x07, - 0x00, 0x00, 0x08, 0x56, 0x47, - 0x00, 0x00, 0x0f, 0x16, 0x8a, - 0x00, 0x00, 0x01, 0x5b, 0x48, - 0x00, 0x00, 0x1b, 0xa4, 0x0c, - 0x00, 0x00, 0x14, 0x16, 0xc7, - 0x00, 0x00, 0x09, 0x83, 0x85, - 0x00, 0x00, 0x1e, 0x1a, 0x51, - 0x00, 0x00, 0x14, 0xd1, 0x46, - 0x00, 0x00, 0x12, 0x42, 0x8a, - 0x00, 0x00, 0x0e, 0x9c, 0x8a, - 0x00, 0x00, 0x06, 0x36, 0x46, - 0x00, 0x00, 0x15, 0xcd, 0xcb, - 0x00, 0x00, 0x00, 0x06, 0x42, - 0x00, 0x00, 0x03, 0x13, 0x91, - 0x00, 0x00, 0x16, 0x8c, 0x89, - 0x00, 0x00, 0x0d, 0x1e, 0x49, - 0x00, 0x00, 0x0a, 0x48, 0xc6, - 0x00, 0x00, 0x01, 0x73, 0x82, - 0x00, 0x00, 0x06, 0x80, 0x8a, - 0x00, 0x00, 0x0b, 0x78, 0xc9, - 0x00, 0x00, 0x0b, 0x80, 0x0f, - 0x00, 0x00, 0x0b, 0x86, 0x0e, - 0x00, 0x00, 0x0b, 0xac, 0x08, - 0x00, 0x46, 0x54, 0x5e, 0xd2, - 0x00, 0x00, 0x01, 0x16, 0x08, - 0x00, 0x46, 0xc6, 0xc6, 0x47, - 0x00, 0x00, 0x0b, 0xda, 0xcf, - 0x00, 0x00, 0x01, 0x5f, 0xc2, - 0x00, 0x00, 0x1d, 0xe3, 0xc9, - 0x00, 0x00, 0x1c, 0xa2, 0x0a, - 0x00, 0x47, 0x41, 0x46, 0x09, - 0x00, 0x00, 0x0d, 0x43, 0x89, - 0x00, 0x00, 0x0d, 0x43, 0x8c, - 0x00, 0x00, 0x00, 0x60, 0x4b, - 0x00, 0x00, 0x09, 0x67, 0x0e, - 0x00, 0x00, 0x1c, 0xdb, 0x8c, - 0x00, 0x00, 0x0f, 0xa9, 0x4f, - 0x00, 0x00, 0x1c, 0x02, 0xce, - 0x00, 0x00, 0x05, 0x6a, 0x4c, - 0x00, 0x00, 0x08, 0x07, 0x89, - 0x00, 0x00, 0x08, 0x1d, 0x91, - 0x00, 0x00, 0x08, 0xb9, 0x88, - 0x00, 0x00, 0x08, 0xc3, 0x92, - 0x00, 0x00, 0x08, 0xe2, 0x0d, - 0x00, 0x00, 0x09, 0x19, 0x8d, - 0x00, 0x00, 0x09, 0x5d, 0x0b, - 0x00, 0x00, 0x18, 0xa4, 0x55, - 0x00, 0x00, 0x1e, 0x0b, 0x49, - 0x00, 0x00, 0x09, 0xa6, 0x8a, - 0x00, 0x00, 0x09, 0xec, 0xc9, - 0x00, 0x00, 0x0a, 0x3d, 0x50, - 0x00, 0x00, 0x0a, 0xe1, 0x8b, - 0x00, 0x00, 0x0b, 0x0a, 0x0f, - 0x00, 0x00, 0x0c, 0x05, 0x4b, - 0x00, 0x00, 0x0c, 0x0b, 0xcc, - 0x00, 0x00, 0x19, 0xbb, 0x50, - 0x00, 0x00, 0x17, 0x09, 0x4a, - 0x00, 0x00, 0x17, 0xa8, 0x8d, - 0x00, 0x00, 0x19, 0x7c, 0xce, - 0x00, 0x00, 0x0c, 0x1e, 0xca, - 0x00, 0x00, 0x12, 0xcd, 0x4c, - 0x00, 0x00, 0x0c, 0x9d, 0x14, - 0x00, 0x00, 0x0d, 0x1a, 0xd1, - 0x00, 0x00, 0x0d, 0x22, 0x8b, - 0x00, 0x00, 0x0d, 0x33, 0x8f, - 0x00, 0x00, 0x0d, 0x6f, 0xcd, - 0x00, 0x00, 0x0d, 0x7a, 0xce, - 0x00, 0x00, 0x0d, 0x8b, 0x8c, - 0x00, 0x00, 0x0d, 0xa1, 0x0c, - 0x00, 0x00, 0x19, 0xb8, 0x4b, - 0x00, 0x00, 0x1e, 0xf7, 0x0e, - 0x00, 0x00, 0x0d, 0xda, 0xd0, - 0x00, 0x00, 0x0f, 0x21, 0x8b, - 0x00, 0x00, 0x0f, 0x72, 0x8d, - 0x00, 0x00, 0x11, 0x29, 0x0f, - 0x00, 0x00, 0x10, 0x90, 0xcc, - 0x00, 0x00, 0x10, 0xd6, 0x0e, - 0x00, 0x00, 0x11, 0x51, 0x11, - 0x00, 0x00, 0x1b, 0x12, 0x4c, - 0x00, 0x00, 0x14, 0xb1, 0x07, - 0x00, 0x00, 0x16, 0x43, 0x0d, - 0x00, 0x00, 0x16, 0xfd, 0x4c, - 0x00, 0x00, 0x17, 0xa2, 0xd0, - 0x00, 0x00, 0x19, 0x51, 0x0d, - 0x00, 0x00, 0x19, 0x5f, 0x07, - 0x00, 0x00, 0x19, 0x94, 0x90, - 0x00, 0x00, 0x1a, 0x9b, 0x08, - 0x00, 0x00, 0x0c, 0x14, 0x4b, - 0x00, 0x00, 0x0c, 0x36, 0x4f, - 0x00, 0x00, 0x1b, 0xa6, 0x88, - 0x00, 0x00, 0x05, 0x45, 0x0d, - 0x00, 0x00, 0x11, 0x75, 0x10, - 0x00, 0x00, 0x17, 0xc7, 0x89, - 0x00, 0x47, 0xdc, 0x74, 0x48, - 0x00, 0x48, 0x4c, 0x7f, 0xc6, - 0x00, 0x00, 0x0c, 0x8b, 0xc3, - 0x00, 0x00, 0x1a, 0xa9, 0x49, - 0x00, 0x00, 0x0a, 0x59, 0x09, - 0x00, 0x00, 0x0c, 0xd6, 0xc5, - 0x00, 0x00, 0x00, 0x69, 0x82, - 0x00, 0x00, 0x00, 0x12, 0x89, - 0x00, 0x00, 0x04, 0xe9, 0x0a, - 0x00, 0x48, 0xc8, 0xc8, 0x46, - 0x00, 0x02, 0x88, 0xc8, 0x4d, - 0x00, 0x49, 0x52, 0x83, 0xd1, - 0x00, 0x49, 0xd0, 0x49, 0x84, - 0x00, 0x00, 0x1e, 0x70, 0x86, - 0x00, 0x00, 0x02, 0x29, 0x4a, - 0x00, 0x00, 0x01, 0xec, 0x4d, - 0x00, 0x4a, 0x4e, 0x09, 0x8b, - 0x00, 0x00, 0x1d, 0xa1, 0xc8, - 0x00, 0x4a, 0x86, 0x0d, 0xc9, - 0x00, 0x00, 0x01, 0xc9, 0x43, - 0x00, 0x00, 0x14, 0x88, 0x0a, - 0x00, 0x00, 0x0e, 0xff, 0x11, - 0x00, 0x00, 0x0f, 0x03, 0x49, - 0x00, 0x00, 0x0f, 0x10, 0x47, - 0x00, 0x00, 0x0f, 0x1e, 0xc8, - 0x00, 0x00, 0x0f, 0x24, 0x47, - 0x00, 0x00, 0x06, 0xc5, 0x48, - 0x00, 0x00, 0x00, 0x70, 0xcb, - 0x00, 0x00, 0x13, 0x79, 0xc9, - 0x00, 0x00, 0x0f, 0x91, 0xd0, - 0x00, 0x00, 0x0f, 0x96, 0x8c, - 0x00, 0x00, 0x0f, 0x9b, 0x09, - 0x00, 0x00, 0x0f, 0x9d, 0x4c, - 0x00, 0x4b, 0x4f, 0xa1, 0x4d, - 0x00, 0x00, 0x0f, 0xb5, 0x88, - 0x00, 0x00, 0x0f, 0xba, 0x85, - 0x00, 0x00, 0x08, 0x80, 0x88, - 0x00, 0x00, 0x19, 0xdc, 0x8a, - 0x00, 0x00, 0x16, 0xab, 0x87, - 0x00, 0x00, 0x00, 0x1f, 0x42, - 0x00, 0x4b, 0xc2, 0x1e, 0x95, - 0x00, 0x00, 0x14, 0x3e, 0x0a, - 0x00, 0x00, 0x14, 0x99, 0x89, - 0x00, 0x00, 0x0a, 0x5a, 0xc8, - 0x00, 0x00, 0x11, 0xef, 0x09, - 0x00, 0x00, 0x08, 0x69, 0x05, - 0x00, 0x00, 0x12, 0x8e, 0x4a, - 0x00, 0x00, 0x0f, 0xdc, 0xc7, - 0x00, 0x00, 0x09, 0x98, 0xcf, - 0x00, 0x00, 0x16, 0x47, 0x0b, - 0x00, 0x00, 0x13, 0xba, 0x0c, - 0x00, 0x00, 0x02, 0x8d, 0x52, - 0x00, 0x00, 0x12, 0x6a, 0x06, - 0x00, 0x02, 0x8f, 0xf5, 0x48, - 0x00, 0x00, 0x08, 0x6f, 0x45, - 0x00, 0x00, 0x12, 0x82, 0xc8, - 0x00, 0x00, 0x10, 0x15, 0x4b, - 0x00, 0x00, 0x0e, 0x32, 0xd1, - 0x00, 0x00, 0x10, 0x05, 0x07, - 0x00, 0x00, 0x05, 0x57, 0xca, - 0x00, 0x00, 0x18, 0x0f, 0x0c, - 0x00, 0x4c, 0x50, 0xa1, 0x05, - 0x00, 0x00, 0x1a, 0xe7, 0xcc, - 0x00, 0x4c, 0x91, 0x04, 0xce, - 0x00, 0x00, 0x14, 0x09, 0x43, - 0x00, 0x00, 0x19, 0x8e, 0x46, - 0x00, 0x00, 0x04, 0x13, 0xc2, - 0x00, 0x00, 0x11, 0x1e, 0x8b, - 0x00, 0x00, 0x11, 0x37, 0x0a, - 0x00, 0x02, 0x91, 0x44, 0xcc, - 0x00, 0x00, 0x1d, 0xa0, 0xc8, - 0x00, 0x00, 0x04, 0x99, 0x48, - 0x00, 0x4d, 0x4a, 0x5b, 0x46, - 0x00, 0x00, 0x12, 0x5f, 0x07, - 0x00, 0x00, 0x01, 0xc5, 0x8e, - 0x00, 0x00, 0x14, 0x63, 0x07, - 0x00, 0x00, 0x01, 0x00, 0x02, - 0x00, 0x00, 0x00, 0x48, 0x42, - 0x00, 0x00, 0x05, 0xa5, 0x90, - 0x00, 0x00, 0x06, 0xaa, 0xc7, - 0x00, 0x00, 0x06, 0xab, 0xcf, - 0x00, 0x00, 0x01, 0x5d, 0x46, - 0x00, 0x00, 0x0a, 0xa4, 0xce, - 0x00, 0x00, 0x0b, 0xc1, 0x0b, - 0x00, 0x00, 0x05, 0xa3, 0xc8, - 0x00, 0x00, 0x0a, 0x28, 0x89, - 0x00, 0x00, 0x01, 0x52, 0x52, - 0x00, 0x00, 0x11, 0xcd, 0x8d, - 0x00, 0x00, 0x11, 0xd9, 0x08, - 0x00, 0x00, 0x01, 0x26, 0xc9, - 0x00, 0x00, 0x06, 0xaf, 0x4d, - 0x00, 0x00, 0x06, 0xb9, 0x09, - 0x00, 0x00, 0x06, 0xcd, 0x4b, - 0x00, 0x00, 0x07, 0x0e, 0x88, - 0x00, 0x00, 0x07, 0x7f, 0x88, - 0x00, 0x00, 0x07, 0x94, 0x08, - 0x00, 0x00, 0x07, 0xbc, 0x89, - 0x00, 0x00, 0x07, 0xbe, 0x8a, - 0x00, 0x00, 0x07, 0xca, 0x4c, - 0x00, 0x00, 0x01, 0xbc, 0x0a, - 0x00, 0x00, 0x0e, 0x30, 0x07, - 0x00, 0x00, 0x0e, 0x82, 0x4a, - 0x00, 0x00, 0x11, 0xc3, 0x47, - 0x00, 0x00, 0x03, 0x98, 0x0a, - 0x00, 0x00, 0x0f, 0x47, 0x88, - 0x00, 0x00, 0x1d, 0x88, 0x0d, - 0x00, 0x00, 0x0a, 0x14, 0x11, - 0x00, 0x4d, 0xcd, 0x7d, 0xc6, - 0x00, 0x00, 0x16, 0xcb, 0xcb, - 0x00, 0x00, 0x1d, 0xaf, 0xcc, - 0x00, 0x00, 0x01, 0xbe, 0x08, - 0x00, 0x00, 0x1d, 0x75, 0x89, - 0x00, 0x00, 0x16, 0x19, 0x4d, - 0x00, 0x00, 0x07, 0x3d, 0x10, - 0x00, 0x00, 0x06, 0xa2, 0x8c, - 0x00, 0x00, 0x1e, 0x1e, 0x4d, - 0x00, 0x00, 0x0f, 0xb6, 0x0f, - 0x00, 0x00, 0x00, 0x5f, 0xc2, - 0x00, 0x00, 0x09, 0xee, 0xcd, - 0x00, 0x00, 0x00, 0x26, 0x42, - 0x00, 0x00, 0x04, 0x1d, 0x82, - 0x00, 0x00, 0x11, 0xc2, 0x8a, - 0x00, 0x4e, 0x49, 0x48, 0xca, - 0x00, 0x00, 0x02, 0xa0, 0x8a, - 0x00, 0x4e, 0xc8, 0x49, 0xc8, - 0x00, 0x00, 0x12, 0x41, 0x8a, - 0x00, 0x00, 0x12, 0x45, 0x4b, - 0x00, 0x00, 0x12, 0x55, 0x07, - 0x00, 0x00, 0x1a, 0xb5, 0x4c, - 0x00, 0x00, 0x19, 0x05, 0x0c, - 0x00, 0x00, 0x12, 0x77, 0xca, - 0x00, 0x4f, 0x12, 0x7a, 0x4f, - 0x00, 0x00, 0x12, 0x7e, 0x0c, - 0x00, 0x00, 0x12, 0x81, 0x07, - 0x00, 0x00, 0x12, 0x94, 0x8e, - 0x00, 0x4f, 0x9f, 0x43, 0x05, - 0x00, 0x00, 0x1a, 0x20, 0xc8, - 0x00, 0x00, 0x00, 0x36, 0x42, - 0x00, 0x02, 0x81, 0xa6, 0xc3, - 0x00, 0x35, 0xdc, 0x66, 0x0e, - 0x00, 0x36, 0xdd, 0x42, 0x8e, - 0x00, 0x37, 0xd4, 0x7e, 0x8a, - 0x00, 0x38, 0xdc, 0x41, 0x4e, - 0x00, 0x39, 0xd4, 0xde, 0x0e, - 0x00, 0x3a, 0xd5, 0x91, 0x0c, - 0x00, 0x02, 0x94, 0x92, 0x07, - 0x00, 0x02, 0x95, 0x9d, 0x49, - 0x00, 0x02, 0x83, 0xbf, 0xc3, - 0x00, 0x3b, 0xdb, 0xf5, 0x4c, - 0x00, 0x3c, 0xc0, 0x4c, 0x09, - 0x00, 0x3d, 0xd0, 0x07, 0x49, - 0x00, 0x3e, 0xd0, 0x25, 0xc9, - 0x00, 0x00, 0x00, 0x49, 0x42, - 0x00, 0x00, 0x1d, 0x65, 0x91, - 0x00, 0x00, 0x1d, 0x41, 0xd1, - 0x00, 0x00, 0x14, 0x7d, 0xcd, - 0x00, 0x00, 0x1c, 0x40, 0x91, - 0x00, 0x00, 0x14, 0xdd, 0x51, - 0x00, 0x00, 0x15, 0x90, 0x4f, - 0x00, 0x00, 0x1b, 0xf4, 0x8f, - 0x00, 0x00, 0x1d, 0x06, 0xcc, - 0x00, 0x00, 0x10, 0x06, 0x8c, - 0x00, 0x00, 0x10, 0x25, 0x0c, - 0x00, 0x00, 0x10, 0x6d, 0x8d, - 0x00, 0x00, 0x19, 0x1c, 0x55, - 0x00, 0x00, 0x13, 0x2f, 0x4c, - 0x00, 0x00, 0x13, 0x7f, 0x0c, - 0x00, 0x00, 0x14, 0x9c, 0x50, - 0x00, 0x00, 0x15, 0x04, 0x0c, - 0x00, 0x00, 0x1b, 0xb7, 0x0c, - 0x00, 0x00, 0x1c, 0x63, 0x59, - 0x00, 0x00, 0x1d, 0x25, 0xd9, - 0x00, 0x00, 0x1e, 0xac, 0xd9, - 0x00, 0x00, 0x00, 0x49, 0x54, - 0x00, 0x00, 0x00, 0x7a, 0xd4, - 0x00, 0x00, 0x00, 0x90, 0x54, - 0x00, 0x00, 0x00, 0x9c, 0x54, - 0x00, 0x00, 0x00, 0xa1, 0xd4, - 0x00, 0x3f, 0xc0, 0x7d, 0x89, - 0x00, 0x40, 0x80, 0x93, 0x09, - 0x00, 0x41, 0xd3, 0x7f, 0xc9, - 0x00, 0x36, 0x48, 0xbb, 0x89, - 0x00, 0x00, 0x00, 0x49, 0x42, - 0x00, 0x37, 0x48, 0xbb, 0x89, - 0x00, 0x00, 0x00, 0x49, 0x42, - 0x00, 0x00, 0x00, 0x49, 0x4a, - 0x00, 0x00, 0x00, 0x49, 0x42, - 0x00, 0x38, 0x48, 0xbb, 0x89, - 0x00, 0x00, 0x00, 0x49, 0x42, - 0x00, 0x00, 0x00, 0x49, 0x4a, - 0x00, 0x00, 0x00, 0x49, 0x42, - 0x00, 0x39, 0x48, 0xbb, 0x89, - 0x00, 0x00, 0x00, 0x49, 0x42, - 0x00, 0x3a, 0x48, 0xbb, 0x89, - 0x00, 0x00, 0x00, 0x49, 0x42, - 0x00, 0x3b, 0x48, 0xbb, 0x89, - 0x00, 0x00, 0x00, 0x49, 0x42, - 0x00, 0x00, 0x00, 0x49, 0x4a, - 0x00, 0x00, 0x00, 0x49, 0x42, - 0x00, 0x3c, 0x48, 0xbb, 0x89, - 0x00, 0x00, 0x00, 0x49, 0x42, - 0x00, 0x00, 0x00, 0x49, 0x4a, - 0x00, 0x00, 0x00, 0x49, 0x42, - 0x00, 0x3d, 0x48, 0xbb, 0x89, - 0x00, 0x00, 0x00, 0x49, 0x42, - 0x00, 0x3e, 0x48, 0xbb, 0x89, - 0x00, 0x00, 0x00, 0x49, 0x42, - 0x00, 0x00, 0x00, 0x49, 0x4a, - 0x00, 0x00, 0x00, 0x49, 0x42, - 0x00, 0x3f, 0x48, 0xbb, 0x89, - 0x00, 0x00, 0x00, 0x49, 0x42, - 0x00, 0x00, 0x00, 0x49, 0x4a, - 0x00, 0x00, 0x00, 0x49, 0x42, - 0x00, 0x40, 0x48, 0xbb, 0x89, - 0x00, 0x00, 0x00, 0x49, 0x42, - 0x00, 0x41, 0x48, 0xbb, 0x89, - 0x00, 0x00, 0x00, 0x49, 0x42, - 0x00, 0x42, 0x48, 0xbb, 0x89, - 0x00, 0x00, 0x00, 0x49, 0x42, - 0x00, 0x00, 0x00, 0x49, 0x4a, - 0x00, 0x00, 0x00, 0x49, 0x42, - 0x00, 0x02, 0x80, 0x04, 0x01, - 0x00, 0x00, 0x00, 0x6f, 0x45, - 0x00, 0x00, 0x1b, 0xd0, 0x44, - 0x00, 0x02, 0x81, 0x4f, 0xc3, - 0x00, 0x02, 0x81, 0xda, 0x83, - 0x00, 0x02, 0x86, 0x96, 0x83, - 0x00, 0x00, 0x08, 0xe3, 0x44, - 0x00, 0x00, 0x13, 0x7d, 0x08, - 0x00, 0x00, 0x1c, 0x66, 0x0e, - 0x00, 0x00, 0x1d, 0x42, 0x8e, - 0x00, 0x00, 0x08, 0xb2, 0x8e, - 0x00, 0x00, 0x14, 0x7e, 0x8a, - 0x00, 0x00, 0x1c, 0x41, 0x4e, - 0x00, 0x00, 0x14, 0xde, 0x0e, - 0x00, 0x00, 0x15, 0x91, 0x0c, - 0x00, 0x00, 0x1b, 0xf5, 0x4c, - 0x00, 0x00, 0x00, 0x4c, 0x09, - 0x00, 0x00, 0x10, 0x07, 0x49, - 0x00, 0x00, 0x10, 0x25, 0xc9, - 0x00, 0x00, 0x00, 0x7d, 0x89, - 0x00, 0x00, 0x00, 0x93, 0x09, - 0x00, 0x00, 0x13, 0x7f, 0xc9, - 0x00, 0x00, 0x14, 0x9d, 0x0d, - 0x00, 0x00, 0x00, 0x9f, 0x09, - 0x00, 0x00, 0x00, 0xa4, 0x89, - 0x00, 0x00, 0x17, 0x55, 0x44, - 0x00, 0x00, 0x18, 0x23, 0x84, - 0x00, 0x00, 0x19, 0x28, 0x04, - 0x00, 0x00, 0x1a, 0x22, 0x84, - 0x00, 0x00, 0x0b, 0x21, 0x44, - 0x00, 0x00, 0x16, 0xb6, 0x04, - 0x00, 0x00, 0x1e, 0x8e, 0x04, - 0x00, 0x00, 0x18, 0x9f, 0x04, - 0x00, 0x00, 0x01, 0x5c, 0x44, - 0x00, 0x00, 0x04, 0xac, 0x44, - 0x00, 0x00, 0x0f, 0xf0, 0x09, - 0x00, 0x00, 0x0f, 0xf0, 0x0c, - 0x00, 0x00, 0x15, 0x7f, 0x86, - 0x00, 0x00, 0x15, 0x7f, 0x8e, - 0x00, 0x00, 0x08, 0xe3, 0x44, - 0x00, 0x02, 0x99, 0x59, 0x03, - 0x00, 0x00, 0x02, 0xb4, 0x47, - 0x00, 0x02, 0x88, 0xd8, 0x8c, - 0x00, 0x00, 0x01, 0x5e, 0x42, - 0x00, 0x00, 0x01, 0x5c, 0x43, - 0x00, 0x00, 0x04, 0xac, 0x44, - 0x00, 0x00, 0x00, 0x4c, 0x02, - 0x00, 0x00, 0x03, 0x75, 0x07, - 0x00, 0x00, 0x0f, 0xbc, 0x48, - 0x00, 0x00, 0x1a, 0xe2, 0x88, - 0x00, 0x00, 0x04, 0x60, 0x84, - 0x00, 0x00, 0x00, 0x57, 0x46, - 0x00, 0x00, 0x13, 0xa4, 0xc7, - 0x00, 0x00, 0x0e, 0x2c, 0x44, - 0x00, 0x00, 0x12, 0x73, 0x86, - 0x00, 0x00, 0x01, 0x98, 0x82, - 0x00, 0x00, 0x00, 0x8f, 0x81, - 0x00, 0x00, 0x02, 0x25, 0x04, - 0x00, 0x00, 0x05, 0x49, 0x86, - 0x00, 0x00, 0x02, 0x73, 0x03, - 0x00, 0x00, 0x00, 0x4c, 0x02, - 0x00, 0x00, 0x01, 0x5c, 0x43, - 0x00, 0x00, 0x12, 0x44, 0x03, - 0x00, 0x00, 0x02, 0x8b, 0x43, - 0x00, 0x00, 0x00, 0xe9, 0x83, - 0x00, 0x00, 0x1c, 0x80, 0xc3, - 0x00, 0x00, 0x02, 0x8d, 0x45, - 0x00, 0x00, 0x07, 0xe5, 0xc2, - 0x00, 0x00, 0x14, 0xeb, 0x82, - 0x00, 0x00, 0x1a, 0x2b, 0xc8, - 0x00, 0x00, 0x0f, 0x3c, 0x87, - 0x00, 0x00, 0x05, 0x66, 0x03, - 0x00, 0x00, 0x13, 0x7a, 0x47, - 0x00, 0x00, 0x00, 0x23, 0xc2, - 0x00, 0x00, 0x0d, 0x9c, 0x89, - 0x00, 0x00, 0x40, 0x00, 0xc2, - 0x00, 0x00, 0x40, 0x22, 0x02, - 0x00, 0x00, 0x40, 0x14, 0x82, - 0x00, 0x00, 0x40, 0xfd, 0x02, - 0x00, 0x00, 0x40, 0x03, 0x82, - 0x00, 0x00, 0x40, 0x03, 0xc2, - 0x00, 0x00, 0x40, 0x48, 0x42, - 0x00, 0x00, 0x40, 0x66, 0x43, - 0x00, 0x00, 0x41, 0xf6, 0x03, - 0x00, 0x00, 0x40, 0x55, 0x03, - 0x00, 0x00, 0x40, 0xfc, 0x83, - 0x00, 0x00, 0x41, 0x09, 0xc3, - 0x00, 0x00, 0x41, 0xf1, 0x43, - 0x00, 0x00, 0x1b, 0x96, 0x88, - 0x00, 0x00, 0x40, 0x66, 0x43, - 0x00, 0x00, 0x41, 0xf6, 0x03, - 0x00, 0x00, 0x41, 0x1e, 0x43, - 0x00, 0x00, 0x46, 0x27, 0x84, - 0x00, 0x00, 0x41, 0xf1, 0x43, - 0x00, 0x00, 0x40, 0x66, 0x43, - 0x00, 0x00, 0x41, 0xf6, 0x03, - 0x00, 0x00, 0x41, 0x09, 0xc3, - 0x00, 0x00, 0x41, 0xf1, 0x43, - 0x00, 0x00, 0x00, 0xbd, 0x03, - 0x00, 0x00, 0x40, 0x55, 0x03, - 0x00, 0x00, 0x05, 0x03, 0xc4, - 0x00, 0x00, 0x40, 0x00, 0xc2, - 0x00, 0x00, 0x45, 0x0b, 0x03, - 0x00, 0x54, 0x40, 0x66, 0x43, - 0x00, 0x00, 0x5a, 0x5f, 0x47, - 0x00, 0x00, 0x40, 0x55, 0x03, - 0x00, 0x00, 0x40, 0xf7, 0x43, - 0x00, 0x00, 0x49, 0x47, 0x44, - 0x00, 0x00, 0x41, 0x09, 0xc3, - 0x00, 0x00, 0x41, 0xf1, 0x43, - 0x00, 0x00, 0x5b, 0x6f, 0x0a, - 0x00, 0x00, 0x41, 0x2f, 0xc5, - 0x00, 0x00, 0x41, 0x96, 0x83, - 0x00, 0x00, 0x43, 0xd9, 0x42, - 0x00, 0x00, 0x1b, 0x96, 0x88, - 0x00, 0x54, 0xce, 0x5b, 0x4a, - 0x00, 0x00, 0x00, 0x0c, 0x01, - 0x00, 0x00, 0x1b, 0x96, 0x88, - 0x00, 0x00, 0x00, 0x22, 0x02, - 0x00, 0x00, 0x13, 0xe2, 0x82, - 0x00, 0x55, 0xc6, 0x0b, 0x4b, - 0x00, 0x56, 0x40, 0xf4, 0x44, - 0x00, 0x00, 0x10, 0x48, 0xc5, - 0x00, 0x02, 0x80, 0x2c, 0x45, - 0x00, 0x00, 0x0f, 0xbc, 0x46, - 0x00, 0x56, 0xc0, 0x2c, 0x45, - 0x00, 0x00, 0x05, 0xfb, 0x83, - 0x00, 0x00, 0x0b, 0x26, 0x83, - 0x00, 0x00, 0x1a, 0x31, 0xc4, - 0x00, 0x00, 0x1d, 0x45, 0xc3, - 0x00, 0x00, 0x1a, 0x23, 0x45, - 0x00, 0x00, 0x14, 0xcb, 0x05, - 0x00, 0x00, 0x1b, 0x96, 0x88, - 0x00, 0x00, 0x01, 0xf4, 0xc7, - 0x00, 0x00, 0x00, 0x66, 0x43, - 0x00, 0x00, 0x02, 0xe7, 0x0d, - 0x00, 0x57, 0xc3, 0xc6, 0x47, - 0x00, 0x00, 0x00, 0x0c, 0xc6, - 0x00, 0x58, 0x14, 0xdc, 0x45, - 0x00, 0x00, 0x1c, 0xb4, 0xd2, - 0x00, 0x00, 0x00, 0x0d, 0x87, - 0x00, 0x00, 0x02, 0x6e, 0x4a, - 0x00, 0x00, 0x02, 0x4d, 0xc8, - 0x00, 0x00, 0x02, 0x6d, 0x47, - 0x00, 0x00, 0x0f, 0xe0, 0x8a, - 0x00, 0x00, 0x1b, 0x42, 0xc8, - 0x00, 0x00, 0x07, 0x4a, 0x47, - 0x00, 0x00, 0x15, 0xc1, 0x8f, - 0x00, 0x00, 0x04, 0xed, 0x47, - 0x00, 0x00, 0x07, 0x1b, 0x06, - 0x00, 0x00, 0x14, 0x31, 0x10, - 0x00, 0x02, 0x88, 0x6a, 0x46, - 0x00, 0x00, 0x12, 0x4c, 0x8f, - 0x00, 0x00, 0x00, 0xee, 0x89, - 0x00, 0x00, 0x1e, 0x71, 0x04, - 0x00, 0x58, 0x80, 0x0e, 0x4e, - 0x00, 0x59, 0x40, 0xd8, 0x4c, - 0x00, 0x00, 0x03, 0x78, 0x49, - 0x00, 0x00, 0x07, 0x90, 0x46, - 0x00, 0x00, 0x06, 0xbb, 0x89, - 0x00, 0x00, 0x11, 0x6a, 0x86, - 0x00, 0x00, 0x17, 0x3c, 0xc6, - 0x00, 0x00, 0x0b, 0xc9, 0x8c, - 0x00, 0x00, 0x12, 0xbe, 0xca, - 0x00, 0x00, 0x0a, 0x26, 0x47, - 0x00, 0x00, 0x11, 0x40, 0x0a, - 0x00, 0x00, 0x14, 0x6c, 0xc9, - 0x00, 0x00, 0x10, 0x36, 0x8c, - 0x00, 0x00, 0x02, 0x41, 0x0a, - 0x00, 0x00, 0x04, 0xde, 0xca, - 0x00, 0x00, 0x1a, 0x23, 0x89, - 0x00, 0x00, 0x1e, 0x70, 0x86, - 0x00, 0x00, 0x0a, 0x27, 0x0a, - 0x00, 0x00, 0x1a, 0xae, 0x8a, - 0x00, 0x00, 0x0a, 0xd3, 0xca, - 0x00, 0x00, 0x1f, 0x06, 0xc9, - 0x00, 0x00, 0x0e, 0xf8, 0x88, - 0x00, 0x00, 0x0e, 0xfb, 0x86, - 0x00, 0x00, 0x0f, 0x4b, 0xcd, - 0x00, 0x00, 0x0f, 0x9d, 0x4c, - 0x00, 0x00, 0x05, 0x5f, 0x8b, - 0x00, 0x00, 0x0d, 0xd5, 0x85, - 0x00, 0x5a, 0x52, 0x2c, 0x8c, - 0x00, 0x00, 0x14, 0x42, 0x07, - 0x00, 0x00, 0x1f, 0x01, 0x89, - 0x00, 0x00, 0x0d, 0xa4, 0xc7, - 0x00, 0x00, 0x0b, 0xa7, 0x14, - 0x00, 0x00, 0x11, 0x7a, 0x8b, - 0x00, 0x00, 0x0c, 0x98, 0x4a, - 0x00, 0x00, 0x01, 0x50, 0xca, - 0x00, 0x00, 0x0b, 0x50, 0x0d, - 0x00, 0x02, 0x92, 0x47, 0x49, - 0x00, 0x00, 0x11, 0xcb, 0x4c, - 0x00, 0x00, 0x11, 0xd7, 0x0b, - 0x00, 0x00, 0x16, 0x4c, 0x57, - 0x00, 0x00, 0x16, 0x5e, 0xd5, - 0x00, 0x00, 0x00, 0x79, 0x03, - 0x00, 0x00, 0x00, 0x79, 0x03, - 0x00, 0x00, 0x03, 0x41, 0x06, - 0x00, 0x00, 0x00, 0x79, 0x03, - 0x00, 0x59, 0xc0, 0x4b, 0x02, - 0x00, 0x00, 0x02, 0x8d, 0x45, - 0x00, 0x00, 0x0f, 0xbc, 0x48, - 0x00, 0x00, 0x15, 0xb2, 0x43, - 0x00, 0x00, 0x04, 0x9f, 0x04, - 0x00, 0x00, 0x01, 0x78, 0x04, - 0x00, 0x00, 0x01, 0x78, 0x0c, - 0x00, 0x00, 0x06, 0x04, 0x83, - 0x00, 0x02, 0x8a, 0xd4, 0x87, - 0x00, 0x00, 0x17, 0x02, 0xcd, - 0x00, 0x00, 0x01, 0x52, 0x05, - 0x00, 0x02, 0x82, 0xa2, 0xc3, - 0x00, 0x02, 0x82, 0xa2, 0xc8, - 0x00, 0x00, 0x05, 0xc4, 0xc9, - 0x00, 0x00, 0x0d, 0xfa, 0x89, - 0x00, 0x00, 0x02, 0x8d, 0x45, - 0x00, 0x00, 0x10, 0x15, 0x4b, - 0x00, 0x00, 0x0d, 0x25, 0x4b, - 0x00, 0x02, 0x90, 0x93, 0x43, - 0x00, 0x02, 0x90, 0x93, 0x48, - 0x00, 0x00, 0x00, 0x11, 0x06, - 0x00, 0x02, 0x85, 0x26, 0xc7, - 0x00, 0x00, 0x0a, 0x3f, 0xc7, - 0x00, 0x5c, 0x17, 0x2b, 0xc9, - 0x00, 0x00, 0x01, 0x08, 0x86, - 0x00, 0x00, 0x05, 0x0b, 0x03, - 0x00, 0x00, 0x1b, 0x96, 0x88, - 0x00, 0x00, 0x00, 0x22, 0x02, - 0x00, 0x00, 0x05, 0x54, 0xc4, - 0x00, 0x00, 0x0f, 0x9d, 0x4c, - 0x00, 0x00, 0x00, 0xff, 0x43, - 0x00, 0x00, 0x13, 0xd8, 0x45, - 0x00, 0x00, 0x40, 0x66, 0x43, - 0x00, 0x00, 0x41, 0xf6, 0x03, - 0x00, 0x00, 0x40, 0x55, 0x03, - 0x00, 0x00, 0x41, 0x09, 0xc3, - 0x00, 0x00, 0x41, 0xf1, 0x43, - 0x00, 0x00, 0x40, 0x28, 0xc3, - 0x00, 0x00, 0x40, 0x66, 0x43, - 0x00, 0x00, 0x41, 0xf6, 0x03, - 0x00, 0x00, 0x5d, 0x64, 0x03, - 0x00, 0x00, 0x40, 0x55, 0x03, - 0x00, 0x00, 0x40, 0x65, 0x43, - 0x00, 0x00, 0x41, 0x09, 0xc3, - 0x00, 0x00, 0x41, 0xf1, 0x43, - 0x00, 0x00, 0x4d, 0x20, 0x03, - 0x00, 0x00, 0x40, 0x0f, 0x83, - 0x00, 0x00, 0x40, 0x28, 0xc3, - 0x00, 0x00, 0x41, 0x4f, 0x04, - 0x00, 0x00, 0x40, 0x66, 0x43, - 0x00, 0x00, 0x41, 0xf6, 0x03, - 0x00, 0x00, 0x40, 0x55, 0x03, - 0x00, 0x00, 0x41, 0x09, 0xc3, - 0x00, 0x00, 0x41, 0xf1, 0x43, - 0x00, 0x00, 0x43, 0x30, 0xc3, - 0x00, 0x00, 0x41, 0x4f, 0x83, - 0x00, 0x00, 0x43, 0xd9, 0x42, - 0x00, 0x5f, 0x17, 0x2c, 0xc5, - 0x00, 0x02, 0x82, 0xd6, 0x03, - 0x00, 0x00, 0x40, 0x66, 0x43, - 0x00, 0x00, 0x41, 0xf6, 0x03, - 0x00, 0x00, 0x40, 0xfd, 0x03, - 0x00, 0x00, 0x5d, 0x64, 0x03, - 0x00, 0x00, 0x40, 0x55, 0x03, - 0x00, 0x00, 0x45, 0x03, 0xc4, - 0x00, 0x00, 0x53, 0xc6, 0x83, - 0x00, 0x00, 0x43, 0xdd, 0xc3, - 0x00, 0x00, 0x40, 0x65, 0x43, - 0x00, 0x00, 0x41, 0x09, 0xc3, - 0x00, 0x00, 0x41, 0xf1, 0x43, - 0x00, 0x00, 0x41, 0x96, 0x83, - 0x00, 0x60, 0xc2, 0x34, 0x43, - 0x00, 0x00, 0x02, 0x8c, 0x49, - 0x00, 0x00, 0x00, 0x22, 0x02, - 0x00, 0x00, 0x43, 0xe1, 0xc3, - 0x00, 0x62, 0x40, 0x66, 0x43, - 0x00, 0x00, 0x41, 0xf6, 0x03, - 0x00, 0x00, 0x44, 0xec, 0x43, - 0x00, 0x00, 0x40, 0x55, 0x03, - 0x00, 0x00, 0x41, 0xa4, 0x03, - 0x00, 0x00, 0x43, 0xdd, 0xc3, - 0x00, 0x00, 0x41, 0xf1, 0x43, - 0x00, 0x00, 0x40, 0x2b, 0x03, - 0x00, 0x00, 0x5e, 0xda, 0x84, - 0x00, 0x00, 0x1b, 0x96, 0x88, - 0x00, 0x63, 0x40, 0x66, 0x43, - 0x00, 0x00, 0x41, 0xf6, 0x03, - 0x00, 0x00, 0x4b, 0xac, 0xc3, - 0x00, 0x00, 0x40, 0x55, 0x03, - 0x00, 0x00, 0x40, 0x65, 0x43, - 0x00, 0x00, 0x49, 0x47, 0x44, - 0x00, 0x00, 0x41, 0x09, 0xc3, - 0x00, 0x00, 0x41, 0xf1, 0x43, - 0x00, 0x00, 0x42, 0x10, 0xc3, - 0x00, 0x00, 0x1b, 0x96, 0x88, - 0x00, 0x64, 0x40, 0x66, 0x43, - 0x00, 0x00, 0x41, 0xf6, 0x03, - 0x00, 0x00, 0x5d, 0x64, 0x03, - 0x00, 0x00, 0x0f, 0x9d, 0x4c, - 0x00, 0x00, 0x41, 0xd7, 0x83, - 0x00, 0x00, 0x41, 0xf1, 0x43, - 0x00, 0x00, 0x1b, 0x96, 0x88, - 0x00, 0x02, 0x94, 0x92, 0x07, - 0x00, 0x00, 0x45, 0x0b, 0x03, - 0x00, 0x00, 0x40, 0x66, 0x43, - 0x00, 0x00, 0x41, 0xf6, 0x03, - 0x00, 0x00, 0x40, 0x55, 0x03, - 0x00, 0x00, 0x45, 0x03, 0xc4, - 0x00, 0x00, 0x49, 0x47, 0x44, - 0x00, 0x00, 0x41, 0x09, 0xc3, - 0x00, 0x00, 0x41, 0xf1, 0x43, - 0x00, 0x00, 0x14, 0xcb, 0x05, - 0x00, 0x00, 0x0f, 0x08, 0xc7, - 0x00, 0x00, 0x0b, 0xa9, 0x4b, - 0x00, 0x66, 0x43, 0x28, 0xc6, - 0x00, 0x00, 0x0f, 0x07, 0x44, - 0x00, 0x00, 0x0d, 0xd5, 0x85, - 0x00, 0x02, 0x87, 0xe2, 0x48, - 0x00, 0x00, 0x02, 0x06, 0xcd, - 0x00, 0x00, 0x1c, 0x74, 0x48, - 0x00, 0x67, 0x44, 0x72, 0x85, - 0x00, 0x00, 0x01, 0xec, 0xc4, - 0x00, 0x00, 0x00, 0x22, 0x02, - 0x00, 0x00, 0x1c, 0x36, 0xc3, - 0x00, 0x00, 0x15, 0x7e, 0x85, - 0x00, 0x00, 0x02, 0x32, 0xc2, - 0x00, 0x00, 0x54, 0xdb, 0x45, - 0x00, 0x00, 0x1b, 0x96, 0x88, - 0x00, 0x6a, 0x5d, 0xdb, 0x4d, - 0x00, 0x6a, 0xdd, 0x52, 0x0a, - 0x00, 0x00, 0x00, 0x79, 0x02, - 0x00, 0x00, 0x02, 0x14, 0x83, - 0x00, 0x00, 0x0f, 0x9d, 0x4c, - 0x00, 0x00, 0x16, 0xbe, 0x4f, - 0x00, 0x00, 0x00, 0xfd, 0x02, - 0x00, 0x00, 0x08, 0xe3, 0x44, - 0x00, 0x00, 0x04, 0xac, 0x44, - 0x00, 0x00, 0x00, 0x22, 0x02, - 0x00, 0x00, 0x40, 0x00, 0xc2, - 0x00, 0x00, 0x45, 0x0b, 0x03, - 0x00, 0x00, 0x40, 0x66, 0x43, - 0x00, 0x00, 0x40, 0x55, 0x03, - 0x00, 0x00, 0x45, 0x03, 0xc4, - 0x00, 0x00, 0x40, 0x65, 0x43, - 0x00, 0x00, 0x49, 0x47, 0x44, - 0x00, 0x00, 0x41, 0x09, 0xc3, - 0x00, 0x00, 0x41, 0xf1, 0x43, - 0x00, 0x00, 0x41, 0x96, 0x83, - 0x00, 0x00, 0x40, 0x66, 0x43, - 0x00, 0x00, 0x41, 0xf6, 0x03, - 0x00, 0x00, 0x41, 0x09, 0xc3, - 0x00, 0x00, 0x41, 0xf1, 0x43, - 0x00, 0x00, 0x1c, 0x1f, 0x05, - 0x00, 0x00, 0x53, 0x65, 0xc8, - 0x00, 0x00, 0x41, 0x4f, 0x04, - 0x00, 0x00, 0x5c, 0x29, 0x86, - 0x00, 0x00, 0x5d, 0x05, 0x86, - 0x00, 0x00, 0x1b, 0x96, 0x88, - 0x00, 0x00, 0x50, 0xf1, 0x43, - 0x00, 0x00, 0x5b, 0xe3, 0x09, - 0x00, 0x00, 0x4b, 0x98, 0x15, - 0x00, 0x00, 0x0b, 0x98, 0x1f, - 0x00, 0x00, 0x40, 0x66, 0x43, - 0x00, 0x00, 0x09, 0x5a, 0x87, - 0x00, 0x00, 0x41, 0x9d, 0x52, - 0x00, 0x00, 0x18, 0x77, 0x46, - 0x00, 0x00, 0x18, 0x92, 0x85, - 0x00, 0x00, 0x06, 0xb6, 0xca, - 0x00, 0x00, 0x03, 0xe6, 0x49, - 0x00, 0x00, 0x41, 0x9b, 0x0f, - 0x00, 0x00, 0x0e, 0xfd, 0x47, - 0x00, 0x00, 0x4e, 0x40, 0x84, - 0x00, 0x00, 0x42, 0x43, 0xc5, - 0x00, 0x00, 0x51, 0x94, 0x10, - 0x00, 0x00, 0x45, 0x77, 0xc7, - 0x00, 0x00, 0x0f, 0x9d, 0x4c, - 0x00, 0x00, 0x41, 0xd7, 0x83, - 0x00, 0x00, 0x43, 0xd5, 0xc8, - 0x00, 0x00, 0x04, 0xaa, 0xc6, - 0x00, 0x00, 0x48, 0xcc, 0x4a, - 0x00, 0x00, 0x42, 0x98, 0x04, - 0x00, 0x00, 0x50, 0x9b, 0x43, - 0x00, 0x00, 0x43, 0xd9, 0x42, - 0x00, 0x00, 0x50, 0x46, 0x8b, - 0x00, 0x00, 0x1b, 0x94, 0x43, - 0x00, 0x00, 0x41, 0xf6, 0x03, - 0x00, 0x00, 0x40, 0x55, 0x03, - 0x00, 0x00, 0x18, 0xfc, 0x84, - 0x00, 0x00, 0x40, 0x66, 0x43, - 0x00, 0x00, 0x41, 0xf6, 0x03, - 0x00, 0x00, 0x40, 0x55, 0x03, - 0x00, 0x00, 0x40, 0x65, 0x43, - 0x00, 0x00, 0x41, 0x09, 0xc3, - 0x00, 0x00, 0x41, 0xf1, 0x43, - 0x00, 0x00, 0x50, 0xe5, 0x43, - 0x00, 0x00, 0x40, 0x22, 0x02, - 0x00, 0x00, 0x03, 0x19, 0x83, - 0x00, 0x00, 0x05, 0x8c, 0xc4, - 0x00, 0x00, 0x41, 0x09, 0xc3, - 0x00, 0x00, 0x41, 0xf1, 0x43, - 0x00, 0x6f, 0x03, 0xbf, 0x05, - 0x00, 0x00, 0x1d, 0x73, 0x46, - 0x00, 0x00, 0x40, 0x66, 0x43, - 0x00, 0x00, 0x41, 0xf6, 0x03, - 0x00, 0x00, 0x40, 0x55, 0x03, - 0x00, 0x00, 0x40, 0x65, 0x43, - 0x00, 0x00, 0x41, 0xf1, 0x43, - 0x00, 0x00, 0x40, 0x66, 0x43, - 0x00, 0x00, 0x41, 0xf6, 0x03, - 0x00, 0x00, 0x40, 0x55, 0x03, - 0x00, 0x00, 0x40, 0xf7, 0x43, - 0x00, 0x00, 0x41, 0xdd, 0xc3, - 0x00, 0x00, 0x41, 0xf1, 0x43, - 0x00, 0x00, 0x05, 0x0b, 0x03, - 0x00, 0x00, 0x40, 0x22, 0x02, - 0x00, 0x00, 0x40, 0x66, 0x43, - 0x00, 0x00, 0x41, 0xf6, 0x03, - 0x00, 0x00, 0x41, 0x09, 0xc3, - 0x00, 0x00, 0x41, 0xf1, 0x43, - 0x00, 0x00, 0x03, 0x1e, 0x02, - 0x00, 0x00, 0x40, 0x00, 0xc2, - 0x00, 0x00, 0x40, 0x66, 0x43, - 0x00, 0x00, 0x41, 0xf6, 0x03, - 0x00, 0x00, 0x40, 0x55, 0x03, - 0x00, 0x00, 0x41, 0x09, 0xc3, - 0x00, 0x00, 0x41, 0xf1, 0x43, - 0x00, 0x00, 0x00, 0x2c, 0x45, - 0x00, 0x00, 0x07, 0x4f, 0xc9, - 0x00, 0x02, 0x81, 0xec, 0xcb, - 0x00, 0x00, 0x01, 0x5c, 0x43, - 0x00, 0x00, 0x41, 0x4f, 0x04, - 0x00, 0x00, 0x40, 0x66, 0x43, - 0x00, 0x00, 0x41, 0xf6, 0x03, - 0x00, 0x00, 0x42, 0x8f, 0x84, - 0x00, 0x00, 0x41, 0x09, 0xc3, - 0x00, 0x00, 0x41, 0xf1, 0x43, - 0x00, 0x00, 0x1b, 0x96, 0x88, - 0x00, 0x00, 0x40, 0x66, 0x43, - 0x00, 0x00, 0x41, 0xf6, 0x03, - 0x00, 0x00, 0x40, 0x55, 0x03, - 0x00, 0x00, 0x41, 0x09, 0xc3, - 0x00, 0x00, 0x41, 0xf1, 0x43, - 0x00, 0x00, 0x13, 0x2d, 0x09, - 0x00, 0x00, 0x00, 0x62, 0x04, - 0x00, 0x00, 0x40, 0x66, 0x43, - 0x00, 0x00, 0x00, 0x23, 0xc2, - 0x00, 0x00, 0x41, 0xf6, 0x03, - 0x00, 0x00, 0x5d, 0x64, 0x03, - 0x00, 0x00, 0x40, 0x36, 0xc3, - 0x00, 0x00, 0x40, 0x65, 0x43, - 0x00, 0x00, 0x41, 0x09, 0xc3, - 0x00, 0x00, 0x41, 0xf1, 0x43, - 0x00, 0x00, 0x00, 0xc6, 0x42, - 0x00, 0x00, 0x40, 0x66, 0x43, - 0x00, 0x00, 0x41, 0xf6, 0x03, - 0x00, 0x00, 0x40, 0x55, 0x03, - 0x00, 0x00, 0x56, 0xb2, 0x04, - 0x00, 0x00, 0x45, 0x03, 0xc4, - 0x00, 0x00, 0x41, 0x09, 0xc3, - 0x00, 0x00, 0x41, 0xf1, 0x43, - 0x00, 0x00, 0x40, 0x0f, 0x83, - 0x00, 0x00, 0x00, 0x8a, 0x42, - 0x00, 0x00, 0x40, 0x22, 0x02, - 0x00, 0x00, 0x40, 0x66, 0x43, - 0x00, 0x00, 0x41, 0xf6, 0x03, - 0x00, 0x00, 0x40, 0x55, 0x03, - 0x00, 0x00, 0x41, 0x09, 0xc3, - 0x00, 0x00, 0x41, 0xf1, 0x43, - 0x00, 0x00, 0x15, 0xd3, 0xc3, - 0x00, 0x00, 0x1b, 0x96, 0x88, - 0x00, 0x00, 0x40, 0x66, 0x43, - 0x00, 0x00, 0x41, 0xf6, 0x03, - 0x00, 0x00, 0x40, 0x55, 0x03, - 0x00, 0x00, 0x52, 0x5e, 0x03, - 0x00, 0x00, 0x05, 0x23, 0x83, - 0x00, 0x00, 0x00, 0xf7, 0x43, - 0x00, 0x00, 0x41, 0x09, 0xc3, - 0x00, 0x00, 0x41, 0xf1, 0x43, - 0x00, 0x00, 0x02, 0xf7, 0xc6, - 0x00, 0x00, 0x52, 0xe0, 0xca, - 0x00, 0x00, 0x54, 0xb2, 0xc9, - 0x00, 0x00, 0x56, 0x40, 0x8b, - 0x00, 0x00, 0x56, 0x49, 0xca, - 0x00, 0x00, 0x56, 0xfb, 0x0a, - 0x00, 0x00, 0x58, 0x02, 0x8b, - 0x00, 0x00, 0x59, 0x4b, 0xca, - 0x00, 0x00, 0x59, 0xb1, 0x8a, - 0x00, 0x00, 0x5a, 0x1a, 0x4a, - 0x00, 0x00, 0x5a, 0x1c, 0xcb, - 0x00, 0x00, 0x5c, 0x7d, 0x89, - 0x00, 0x00, 0x5d, 0xfe, 0x4a, - 0x00, 0x00, 0x5e, 0x02, 0xcb, - 0x00, 0x00, 0x5e, 0xba, 0xcb, - 0x00, 0x00, 0x5f, 0x27, 0x4a, - 0x00, 0x00, 0x00, 0x2d, 0xc2, - 0x00, 0x00, 0x40, 0x66, 0x43, - 0x00, 0x00, 0x41, 0xf6, 0x03, - 0x00, 0x00, 0x5d, 0x64, 0x03, - 0x00, 0x00, 0x40, 0x65, 0x43, - 0x00, 0x00, 0x41, 0x09, 0xc3, - 0x00, 0x00, 0x41, 0xf1, 0x43, - 0x00, 0x00, 0x00, 0x2c, 0x4b, - 0x00, 0x00, 0x12, 0xae, 0x87, - 0x00, 0x00, 0x06, 0xc9, 0xc8, - 0x00, 0x00, 0x06, 0xb0, 0x84, - 0x00, 0x00, 0x1e, 0x86, 0x84, - 0x00, 0x00, 0x09, 0xb1, 0x08, - 0x00, 0x00, 0x0f, 0x2f, 0x86, - 0x00, 0x00, 0x00, 0x72, 0x06, - 0x00, 0x00, 0x03, 0xbb, 0x07, - 0x00, 0x00, 0x12, 0x8c, 0x07, - 0x00, 0x00, 0x0f, 0x85, 0x89, - 0x00, 0x00, 0x1b, 0x96, 0x88, - 0x00, 0x00, 0x40, 0x66, 0x43, - 0x00, 0x00, 0x03, 0xe6, 0x44, - 0x00, 0x00, 0x47, 0x25, 0x44, - 0x00, 0x00, 0x40, 0xb0, 0x82, - 0x00, 0x00, 0x49, 0x47, 0x44, - 0x00, 0x00, 0x43, 0x1c, 0x05, - 0x00, 0x00, 0x40, 0x28, 0xc3, - 0x00, 0x00, 0x41, 0x4f, 0x04, - 0x00, 0x00, 0x40, 0x66, 0x43, - 0x00, 0x00, 0x43, 0x92, 0xc4, - 0x00, 0x00, 0x41, 0xf6, 0x03, - 0x00, 0x00, 0x45, 0x54, 0xc4, - 0x00, 0x00, 0x4e, 0x40, 0x84, - 0x00, 0x00, 0x45, 0x03, 0xc4, - 0x00, 0x00, 0x43, 0xdd, 0xc3, - 0x00, 0x00, 0x41, 0x09, 0xc3, - 0x00, 0x00, 0x41, 0xf1, 0x43, - 0x00, 0x00, 0x49, 0xf0, 0x85, - 0x00, 0x00, 0x43, 0x30, 0xc3, - 0x00, 0x00, 0x41, 0x96, 0x83, - 0x00, 0x00, 0x47, 0xb4, 0x03, - 0x00, 0x00, 0x41, 0xbc, 0x04, - 0x00, 0x00, 0x5d, 0xe8, 0x44, - 0x00, 0x00, 0x43, 0xc0, 0xc5, - 0x00, 0x00, 0x1b, 0x96, 0x88, - 0x00, 0x00, 0x5c, 0x37, 0x04, - 0x00, 0x00, 0x5c, 0x13, 0x86, - 0x00, 0x00, 0x5a, 0x24, 0xc4, - 0x00, 0x00, 0x40, 0x22, 0x02, - 0x00, 0x00, 0x42, 0x91, 0x47, - 0x00, 0x00, 0x44, 0xc7, 0x07, - 0x00, 0x00, 0x45, 0x16, 0x04, - 0x00, 0x00, 0x4f, 0x3d, 0x05, - 0x00, 0x00, 0x59, 0x53, 0x05, - 0x00, 0x00, 0x42, 0xf2, 0xc5, - 0x00, 0x00, 0x45, 0x03, 0xc4, - 0x00, 0x00, 0x46, 0x8e, 0x48, - 0x00, 0x00, 0x43, 0x86, 0x46, - 0x00, 0x00, 0x56, 0x55, 0x88, - 0x00, 0x00, 0x47, 0x64, 0x45, - 0x00, 0x00, 0x4d, 0xfa, 0x85, - 0x00, 0x00, 0x47, 0x3e, 0x04, - 0x00, 0x00, 0x41, 0xf1, 0x43, - 0x00, 0x00, 0x50, 0xa9, 0x04, - 0x00, 0x00, 0x57, 0xf2, 0x86, - 0x00, 0x00, 0x41, 0x30, 0xc3, - 0x00, 0x00, 0x41, 0xbc, 0x04, - 0x00, 0x00, 0x47, 0x54, 0x85, - 0x00, 0x00, 0x44, 0xe8, 0x84, - 0x00, 0x00, 0x4a, 0xde, 0xc4, - 0x00, 0x00, 0x43, 0xd9, 0x42, - 0x00, 0x00, 0x45, 0x71, 0x06, - 0x00, 0x00, 0x5b, 0x5b, 0x46, - 0x00, 0x00, 0x51, 0xa6, 0x05, - 0x00, 0x00, 0x40, 0x00, 0xc2, - 0x00, 0x00, 0x45, 0x0b, 0x03, - 0x00, 0x00, 0x0f, 0x31, 0x06, - 0x00, 0x79, 0xc0, 0x22, 0x02, - 0x00, 0x00, 0x41, 0xce, 0x04, - 0x00, 0x00, 0x19, 0x13, 0x84, - 0x00, 0x00, 0x06, 0x56, 0x85, - 0x00, 0x00, 0x40, 0x03, 0x82, - 0x00, 0x00, 0x40, 0x65, 0x43, - 0x00, 0x7a, 0x40, 0x70, 0xc2, - 0x00, 0x00, 0x41, 0x09, 0xc3, - 0x00, 0x00, 0x40, 0x03, 0xc2, - 0x00, 0x00, 0x50, 0x70, 0xc6, - 0x00, 0x00, 0x41, 0x3d, 0xc3, - 0x00, 0x00, 0x1e, 0x70, 0x05, - 0x00, 0x00, 0x40, 0x0f, 0x83, - 0x00, 0x00, 0x1b, 0x96, 0x88, - 0x00, 0x02, 0x8f, 0x8c, 0xc3, - 0x00, 0x00, 0x1b, 0x96, 0x88, - 0x00, 0x00, 0x40, 0x55, 0x03, - 0x00, 0x00, 0x0f, 0x9d, 0x4c, - 0x00, 0x00, 0x40, 0x00, 0xc2, - 0x00, 0x7b, 0xc0, 0x22, 0x02, - 0x00, 0x00, 0x40, 0x55, 0x03, - 0x00, 0x00, 0x47, 0x8c, 0xc3, - 0x00, 0x00, 0x53, 0xc6, 0x83, - 0x00, 0x00, 0x40, 0xf4, 0x44, - 0x00, 0x00, 0x41, 0x09, 0xc3, - 0x00, 0x00, 0x41, 0xf1, 0x43, - 0x00, 0x00, 0x1b, 0x96, 0x88, - 0x00, 0x00, 0x12, 0x69, 0x47, - 0x00, 0x00, 0x05, 0x86, 0x0a, - 0x00, 0x00, 0x40, 0x00, 0xc2, - 0x00, 0x7c, 0xc0, 0x22, 0x02, - 0x00, 0x00, 0x40, 0x66, 0x43, - 0x00, 0x00, 0x41, 0x09, 0xc3, - 0x00, 0x00, 0x41, 0xf1, 0x43, - 0x00, 0x00, 0x00, 0x06, 0x82, - 0x00, 0x00, 0x40, 0x9a, 0x02, - 0x00, 0x00, 0x42, 0x4b, 0x42, - 0x00, 0x00, 0x40, 0xf7, 0x43, - 0x00, 0x00, 0x50, 0x36, 0x43, - 0x00, 0x00, 0x40, 0x00, 0xc2, - 0x00, 0x00, 0x14, 0xcb, 0x05, - 0x00, 0x00, 0x1b, 0x96, 0x88, - 0x00, 0x00, 0x0f, 0x08, 0xc7, - 0x00, 0x00, 0x40, 0x22, 0x02, - 0x00, 0x00, 0x41, 0xf6, 0x03, - 0x00, 0x00, 0x45, 0x54, 0xc4, - 0x00, 0x00, 0x40, 0x3b, 0x43, - 0x00, 0x00, 0x40, 0x55, 0x03, - 0x00, 0x00, 0x40, 0x36, 0xc3, - 0x00, 0x00, 0x40, 0x65, 0x43, - 0x00, 0x00, 0x41, 0x09, 0xc3, - 0x00, 0x00, 0x40, 0xf4, 0xc3, - 0x00, 0x00, 0x41, 0xf1, 0x43, - 0x00, 0x00, 0x41, 0x30, 0x03, - 0x00, 0x00, 0x0c, 0xbd, 0x48, - 0x00, 0x00, 0x00, 0x0f, 0x83, - 0x00, 0x00, 0x14, 0x52, 0x13, - 0x00, 0x00, 0x14, 0x8d, 0x14, - 0x00, 0x00, 0x14, 0xcb, 0x05, - 0x00, 0x00, 0x0f, 0x08, 0xc7, - 0x00, 0x00, 0x02, 0x6e, 0x49, - 0x00, 0x00, 0x11, 0xb6, 0x46, - 0x00, 0x00, 0x11, 0x09, 0x0b, - 0x00, 0x00, 0x03, 0x41, 0x06, - 0x00, 0x00, 0x06, 0x1d, 0x47, - 0x00, 0x00, 0x1d, 0xba, 0xc6, - 0x00, 0x00, 0x00, 0x06, 0x49, - 0x00, 0x00, 0x18, 0x54, 0x0a, - 0x00, 0x00, 0x09, 0x7b, 0xcd, - 0x00, 0x00, 0x0d, 0xc1, 0x0c, - 0x00, 0x00, 0x11, 0xe3, 0x4a, - 0x00, 0x00, 0x0a, 0x8a, 0xc8, - 0x00, 0x00, 0x1c, 0xf8, 0x05, - 0x00, 0x00, 0x02, 0x6e, 0x88, - 0x00, 0x00, 0x01, 0x5d, 0x46, - 0x00, 0x00, 0x1d, 0x1b, 0x86, - 0x00, 0x00, 0x05, 0x41, 0x46, - 0x00, 0x00, 0x40, 0x4c, 0x02, - 0x00, 0x00, 0x00, 0x26, 0xc4, - 0x00, 0x00, 0x17, 0x0c, 0xc6, - 0x00, 0x02, 0x8e, 0x16, 0x0e, - 0x00, 0x00, 0x1d, 0x51, 0x86, - 0x00, 0x00, 0x07, 0x44, 0x0c, - 0x00, 0x7f, 0x57, 0x2a, 0x4b, - 0x00, 0x00, 0x14, 0xcb, 0x05, - 0x00, 0x00, 0x14, 0xfb, 0x4b, - 0x00, 0x7f, 0xc8, 0xc0, 0x07, - 0x00, 0x80, 0x48, 0xc0, 0x0a, - 0x00, 0x80, 0xdd, 0x1a, 0xc4, - 0x00, 0x00, 0x00, 0x50, 0xc9, - 0x00, 0x00, 0x00, 0x95, 0x48, - 0x00, 0x00, 0x1b, 0xd2, 0x07, - 0x00, 0x00, 0x02, 0x57, 0x91, - 0x00, 0x00, 0x13, 0x06, 0x4a, - 0x00, 0x00, 0x40, 0x66, 0x43, - 0x00, 0x81, 0x48, 0xd7, 0x88, - 0x00, 0x00, 0x0f, 0xe0, 0x05, - 0x00, 0x00, 0x18, 0x96, 0xc8, - 0x00, 0x00, 0x1b, 0x73, 0x44, - 0x00, 0x00, 0x04, 0xeb, 0x05, - 0x00, 0x00, 0x0a, 0xeb, 0x47, - 0x00, 0x00, 0x1a, 0x9d, 0x0b, - 0x00, 0x81, 0xc1, 0xf1, 0x09, - 0x00, 0x00, 0x01, 0x15, 0xc5, - 0x00, 0x00, 0x17, 0x02, 0xc6, - 0x00, 0x00, 0x16, 0x34, 0x86, - 0x00, 0x00, 0x09, 0xd2, 0x8a, - 0x00, 0x00, 0x10, 0x32, 0x0c, - 0x00, 0x00, 0x1c, 0x13, 0x03, - 0x00, 0x00, 0x1e, 0x86, 0x84, - 0x00, 0x82, 0x5e, 0xd4, 0x84, - 0x00, 0x00, 0x05, 0xc4, 0xc9, - 0x00, 0x00, 0x10, 0x0e, 0xc7, - 0x00, 0x00, 0x05, 0x88, 0xca, - 0x00, 0x02, 0x8e, 0x5a, 0x49, - 0x00, 0x00, 0x00, 0x06, 0x05, - 0x00, 0x00, 0x10, 0xf3, 0x03, - 0x00, 0x82, 0xc3, 0x70, 0x47, - 0x00, 0x00, 0x00, 0x1f, 0x45, - 0x00, 0x02, 0x96, 0xca, 0x86, - 0x00, 0x02, 0x80, 0xc4, 0x06, - 0x00, 0x00, 0x15, 0xce, 0x8c, - 0x00, 0x00, 0x10, 0xc3, 0x48, - 0x00, 0x83, 0x13, 0x08, 0x45, - 0x00, 0x83, 0x84, 0x13, 0xc3, - 0x00, 0x00, 0x11, 0x0f, 0xc4, - 0x00, 0x00, 0x06, 0x94, 0x8b, - 0x00, 0x00, 0x12, 0x1e, 0x0b, - 0x00, 0x84, 0x44, 0xf0, 0x4c, - 0x00, 0x02, 0x82, 0x61, 0x43, - 0x00, 0x00, 0x0c, 0xef, 0x48, - 0x00, 0x00, 0x0d, 0x25, 0x4b, - 0x00, 0x00, 0x0a, 0xea, 0x09, - 0x00, 0x00, 0x0d, 0x91, 0x43, - 0x00, 0x00, 0x12, 0x48, 0x48, - 0x00, 0x02, 0x82, 0x28, 0x86, - 0x00, 0x00, 0x09, 0x56, 0x07, - 0x00, 0x84, 0xd6, 0x19, 0x49, - 0x00, 0x00, 0x03, 0x01, 0x47, - 0x00, 0x87, 0x4e, 0xba, 0x48, - 0x00, 0x00, 0x0a, 0x19, 0xc4, - 0x00, 0x00, 0x11, 0x78, 0xc7, - 0x00, 0x00, 0x0e, 0x04, 0x0a, - 0x00, 0x87, 0xd6, 0x51, 0x88, - 0x00, 0x00, 0x11, 0xd3, 0xcd, - 0x00, 0x00, 0x1c, 0x6e, 0x09, - 0x00, 0x00, 0x1d, 0x78, 0x08, - 0x00, 0x00, 0x01, 0x5c, 0x43, - 0x00, 0x02, 0x84, 0x93, 0xc9, - 0x00, 0x00, 0x04, 0xac, 0x44, - 0x00, 0x00, 0x00, 0x97, 0xc5, - 0x00, 0x00, 0x03, 0xc5, 0x83, - 0x00, 0x00, 0x03, 0x41, 0x06, - 0x00, 0x00, 0x00, 0x30, 0x42, - 0x00, 0x00, 0x01, 0x5c, 0x44, - 0x00, 0x00, 0x02, 0xa3, 0x85, - 0x00, 0x00, 0x1a, 0xa8, 0x84, - 0x00, 0x02, 0x82, 0xdb, 0x83, - 0x00, 0x00, 0x01, 0xa6, 0xc7, - 0x00, 0x85, 0x41, 0xa6, 0xc3, - 0x00, 0x85, 0xdc, 0xc3, 0x86, - 0x00, 0x86, 0x43, 0xab, 0x84, - 0x00, 0x86, 0xcf, 0xdd, 0xc7, - 0x00, 0x00, 0x0f, 0xbc, 0x44, - 0x00, 0x00, 0x12, 0x5f, 0x07, - 0x00, 0x00, 0x0f, 0xbc, 0x44, - 0x00, 0x00, 0x12, 0x5f, 0x07, - 0x00, 0x00, 0x0f, 0xbc, 0x44, - 0x00, 0x00, 0x0f, 0xbc, 0x44, - 0x00, 0x00, 0x12, 0x5f, 0x07, - 0x00, 0x00, 0x1d, 0xee, 0x09, - 0x00, 0x00, 0x00, 0x00, 0x41, - 0x00, 0x00, 0x40, 0x66, 0x43, - 0x00, 0x00, 0x41, 0xf6, 0x03, - 0x00, 0x00, 0x40, 0x55, 0x03, - 0x00, 0x00, 0x40, 0x65, 0x43, - 0x00, 0x00, 0x41, 0x09, 0xc3, - 0x00, 0x00, 0x41, 0xf1, 0x43, - 0x00, 0x00, 0x40, 0x00, 0xc2, - 0x00, 0x00, 0x40, 0x22, 0x02, - 0x00, 0x00, 0x40, 0x55, 0x03, - 0x00, 0x00, 0x40, 0x30, 0x42, - 0x00, 0x00, 0x41, 0x09, 0xc3, - 0x00, 0x00, 0x41, 0xf1, 0x43, - 0x00, 0x00, 0x41, 0x3d, 0xc3, - 0x00, 0x00, 0x58, 0x7f, 0xcf, - 0x00, 0x00, 0x58, 0x83, 0x8e, - 0x00, 0x00, 0x1b, 0x96, 0x88, - 0x00, 0x00, 0x40, 0x66, 0x43, - 0x00, 0x00, 0x04, 0x90, 0x87, - 0x00, 0x00, 0x41, 0xf6, 0x03, - 0x00, 0x00, 0x40, 0x55, 0x03, - 0x00, 0x00, 0x41, 0x1e, 0x43, - 0x00, 0x00, 0x41, 0x09, 0xc3, - 0x00, 0x00, 0x41, 0xf1, 0x43, - 0x00, 0x00, 0x1d, 0x50, 0xc4, - 0x00, 0x00, 0x1d, 0x47, 0x04, - 0x00, 0x00, 0x00, 0x0a, 0x04, - 0x00, 0x00, 0x42, 0x0f, 0xc3, - 0x00, 0x00, 0x5d, 0x57, 0x87, - 0x00, 0x00, 0x40, 0x47, 0x82, - 0x00, 0x00, 0x47, 0x9f, 0x49, - 0x00, 0x00, 0x40, 0x0b, 0x02, - 0x00, 0x00, 0x45, 0xa8, 0x8b, - 0x00, 0x00, 0x4e, 0xd3, 0xca, - 0x00, 0x00, 0x52, 0x89, 0xc9, - 0x00, 0x00, 0x40, 0x05, 0x42, - 0x00, 0x00, 0x5b, 0x77, 0x06, - 0x00, 0x00, 0x45, 0xfd, 0x95, - 0x00, 0x00, 0x45, 0xa9, 0xd5, - 0x00, 0x00, 0x46, 0x4e, 0xd3, - 0x00, 0x00, 0x45, 0xaf, 0x53, - 0x00, 0x00, 0x41, 0x63, 0x02, - 0x00, 0x00, 0x42, 0x86, 0x45, - 0x00, 0x00, 0x5c, 0x34, 0x0c, - 0x00, 0x00, 0x48, 0x15, 0xcb, - 0x00, 0x00, 0x45, 0x9e, 0x85, - 0x00, 0x00, 0x40, 0x61, 0x82, - 0x00, 0x00, 0x4f, 0x45, 0xc2, - 0x00, 0x00, 0x4f, 0x45, 0xc6, - 0x00, 0x00, 0x40, 0x28, 0xc2, - 0x00, 0x00, 0x49, 0x61, 0x86, - 0x00, 0x00, 0x43, 0xe8, 0x8d, - 0x00, 0x00, 0x45, 0x8d, 0x4c, - 0x00, 0x00, 0x5c, 0x75, 0x04, - 0x00, 0x00, 0x40, 0x08, 0x82, - 0x00, 0x00, 0x41, 0x03, 0x42, - 0x00, 0x00, 0x48, 0xc7, 0x48, - 0x00, 0x00, 0x40, 0x02, 0x02, - 0x00, 0x00, 0x53, 0xd3, 0xc6, - 0x00, 0x00, 0x59, 0xd5, 0x4f, - 0x00, 0x00, 0x5d, 0x47, 0xd0, - 0x00, 0x00, 0x4f, 0xd0, 0x44, - 0x00, 0x00, 0x45, 0xff, 0x55, - 0x00, 0x00, 0x46, 0x50, 0x53, - 0x00, 0x00, 0x41, 0x4e, 0xc3, - 0x00, 0x00, 0x55, 0x89, 0x8a, - 0x00, 0x00, 0x58, 0xb6, 0xc7, - 0x00, 0x00, 0x59, 0x24, 0x09, - 0x00, 0x00, 0x51, 0x3d, 0x87, - 0x00, 0x00, 0x46, 0x97, 0x82, - 0x00, 0x00, 0x40, 0x02, 0x82, - 0x00, 0x00, 0x5c, 0xaa, 0x06, - 0x00, 0x00, 0x40, 0x62, 0x02, - 0x00, 0x00, 0x1b, 0x96, 0x88, - 0x00, 0x00, 0x40, 0xb4, 0xc2, - 0x00, 0x00, 0x40, 0xb7, 0x82, - 0x00, 0x00, 0x40, 0xb7, 0x87, - 0x00, 0x00, 0x5a, 0xeb, 0x47, - 0x00, 0x00, 0x5a, 0xeb, 0x51, - 0x00, 0x00, 0x41, 0xd0, 0xc5, - 0x00, 0x00, 0x41, 0xd0, 0xce, - 0x00, 0x00, 0x41, 0xe8, 0xcf, - 0x00, 0x00, 0x40, 0x2f, 0xc2, - 0x00, 0x00, 0x42, 0x10, 0x07, - 0x00, 0x00, 0x42, 0x11, 0xc8, - 0x00, 0x00, 0x40, 0x10, 0x02, - 0x00, 0x00, 0x42, 0x03, 0x02, - 0x00, 0x00, 0x41, 0x05, 0x06, - 0x00, 0x00, 0x41, 0x05, 0x0f, - 0x00, 0x00, 0x47, 0x11, 0xd0, - 0x00, 0x00, 0x42, 0xd3, 0xc2, - 0x00, 0x00, 0x40, 0x17, 0x82, - 0x00, 0x00, 0x42, 0x92, 0x88, - 0x00, 0x00, 0x40, 0x17, 0x83, - 0x00, 0x00, 0x46, 0xd7, 0x48, - 0x00, 0x00, 0x43, 0xde, 0xcd, - 0x00, 0x00, 0x40, 0x2f, 0x03, - 0x00, 0x00, 0x5d, 0x03, 0xc8, - 0x00, 0x00, 0x46, 0x22, 0x0f, - 0x00, 0x00, 0x46, 0x25, 0xce, - 0x00, 0x00, 0x41, 0x4d, 0x8a, - 0x00, 0x00, 0x4e, 0xeb, 0xd1, - 0x00, 0x00, 0x4e, 0xf0, 0x50, - 0x00, 0x00, 0x4d, 0xee, 0xcd, - 0x00, 0x00, 0x4d, 0xf2, 0x0c, - 0x00, 0x00, 0x58, 0x1d, 0xc7, - 0x00, 0x00, 0x55, 0x8b, 0x07, - 0x00, 0x00, 0x5c, 0x2a, 0x49, - 0x00, 0x00, 0x41, 0x70, 0xc2, - 0x00, 0x00, 0x40, 0x11, 0xc2, - 0x00, 0x00, 0x46, 0x3b, 0x4c, - 0x00, 0x00, 0x46, 0x3e, 0x4b, - 0x00, 0x00, 0x40, 0x34, 0x02, - 0x00, 0x00, 0x59, 0xba, 0x06, - 0x00, 0x00, 0x40, 0x41, 0x02, - 0x00, 0x00, 0x40, 0x04, 0x82, - 0x00, 0x00, 0x55, 0x47, 0xc2, - 0x00, 0x00, 0x40, 0x22, 0x02, - 0x00, 0x00, 0x42, 0xec, 0x04, - 0x00, 0x00, 0x43, 0xbc, 0xc7, - 0x00, 0x00, 0x42, 0xdd, 0x42, - 0x00, 0x00, 0x44, 0x3c, 0x87, - 0x00, 0x00, 0x44, 0x6f, 0x47, - 0x00, 0x00, 0x44, 0x29, 0x82, - 0x00, 0x00, 0x41, 0x18, 0x02, - 0x00, 0x00, 0x44, 0x8f, 0x45, - 0x00, 0x00, 0x45, 0x43, 0x02, - 0x00, 0x00, 0x4b, 0x52, 0xce, - 0x00, 0x00, 0x57, 0xb2, 0xcd, - 0x00, 0x00, 0x41, 0xf6, 0x03, - 0x00, 0x00, 0x49, 0x36, 0xce, - 0x00, 0x00, 0x4d, 0x49, 0xcd, - 0x00, 0x00, 0x57, 0x42, 0x43, - 0x00, 0x00, 0x40, 0x24, 0x82, - 0x00, 0x00, 0x44, 0x0d, 0xc4, - 0x00, 0x00, 0x41, 0x32, 0x42, - 0x00, 0x00, 0x40, 0x24, 0x42, - 0x00, 0x00, 0x5a, 0xa7, 0xc5, - 0x00, 0x00, 0x44, 0xc1, 0xc7, - 0x00, 0x00, 0x44, 0xdc, 0x42, - 0x00, 0x00, 0x40, 0xfd, 0x02, - 0x00, 0x00, 0x45, 0x3c, 0x47, - 0x00, 0x00, 0x45, 0xc8, 0x48, - 0x00, 0x00, 0x45, 0x96, 0xc2, - 0x00, 0x00, 0x48, 0x6f, 0xc6, - 0x00, 0x00, 0x46, 0x39, 0xcc, - 0x00, 0x00, 0x46, 0x3d, 0x0b, - 0x00, 0x00, 0x40, 0x81, 0x02, - 0x00, 0x00, 0x46, 0xdb, 0x4f, - 0x00, 0x00, 0x46, 0xdf, 0x10, - 0x00, 0x00, 0x46, 0xe3, 0x0f, - 0x00, 0x00, 0x46, 0xe6, 0xd5, - 0x00, 0x00, 0x46, 0xec, 0x14, - 0x00, 0x00, 0x46, 0xf1, 0x0e, - 0x00, 0x00, 0x46, 0xf4, 0x8e, - 0x00, 0x00, 0x46, 0xf8, 0x0f, - 0x00, 0x00, 0x46, 0xfb, 0xce, - 0x00, 0x00, 0x46, 0xff, 0x54, - 0x00, 0x00, 0x47, 0x04, 0x53, - 0x00, 0x00, 0x47, 0x09, 0x0d, - 0x00, 0x00, 0x48, 0x58, 0x09, - 0x00, 0x00, 0x49, 0x94, 0x43, - 0x00, 0x00, 0x40, 0x30, 0xc2, - 0x00, 0x00, 0x56, 0x06, 0x05, - 0x00, 0x00, 0x40, 0x45, 0xc6, - 0x00, 0x00, 0x40, 0x03, 0x82, - 0x00, 0x00, 0x4f, 0x7c, 0x47, - 0x00, 0x00, 0x40, 0x55, 0x03, - 0x00, 0x00, 0x40, 0x06, 0x42, - 0x00, 0x00, 0x43, 0x34, 0x88, - 0x00, 0x00, 0x4e, 0xee, 0x11, - 0x00, 0x00, 0x4e, 0xf2, 0x50, - 0x00, 0x00, 0x40, 0x6a, 0x42, - 0x00, 0x00, 0x49, 0x87, 0x07, - 0x00, 0x00, 0x40, 0x2b, 0x82, - 0x00, 0x00, 0x45, 0x98, 0x87, - 0x00, 0x00, 0x40, 0x69, 0x82, - 0x00, 0x00, 0x53, 0xa6, 0x09, - 0x00, 0x00, 0x4f, 0x45, 0x87, - 0x00, 0x00, 0x49, 0x8b, 0xc8, - 0x00, 0x00, 0x5c, 0xf6, 0x06, - 0x00, 0x00, 0x50, 0x35, 0x43, - 0x00, 0x00, 0x59, 0x88, 0x05, - 0x00, 0x00, 0x42, 0xa2, 0xc2, - 0x00, 0x00, 0x40, 0x04, 0xc2, - 0x00, 0x00, 0x5c, 0x5e, 0xc5, - 0x00, 0x00, 0x5d, 0xbd, 0x85, - 0x00, 0x00, 0x40, 0x12, 0x82, - 0x00, 0x00, 0x41, 0x1f, 0x83, - 0x00, 0x00, 0x4a, 0x1a, 0x47, - 0x00, 0x00, 0x5d, 0x1e, 0x07, - 0x00, 0x00, 0x40, 0x17, 0x02, - 0x00, 0x00, 0x58, 0x78, 0xc4, - 0x00, 0x00, 0x40, 0x77, 0x83, - 0x00, 0x00, 0x5e, 0xe1, 0x09, - 0x00, 0x00, 0x40, 0x77, 0x88, - 0x00, 0x00, 0x40, 0x6b, 0x42, - 0x00, 0x00, 0x40, 0x95, 0x82, - 0x00, 0x00, 0x42, 0xbb, 0x07, - 0x00, 0x00, 0x5b, 0x6b, 0x85, - 0x00, 0x00, 0x45, 0x84, 0x88, - 0x00, 0x00, 0x42, 0x83, 0x47, - 0x00, 0x00, 0x42, 0x5a, 0xc3, - 0x00, 0x00, 0x57, 0x0b, 0x46, - 0x00, 0x00, 0x4d, 0xed, 0x4d, - 0x00, 0x00, 0x4d, 0xf0, 0xcc, - 0x00, 0x00, 0x58, 0x98, 0xc6, - 0x00, 0x00, 0x40, 0x2f, 0x82, - 0x00, 0x00, 0x40, 0x20, 0x42, - 0x00, 0x00, 0x40, 0x0e, 0xc2, - 0x00, 0x00, 0x46, 0x20, 0x8f, - 0x00, 0x00, 0x46, 0x24, 0x8e, - 0x00, 0x00, 0x59, 0x53, 0x87, - 0x00, 0x00, 0x40, 0x1e, 0x42, - 0x00, 0x00, 0x43, 0xd4, 0xc5, - 0x00, 0x00, 0x43, 0xd4, 0xc6, - 0x00, 0x00, 0x41, 0xcf, 0x02, - 0x00, 0x00, 0x40, 0x15, 0x02, - 0x00, 0x00, 0x49, 0xa0, 0xc6, - 0x00, 0x00, 0x44, 0x5e, 0x43, - 0x00, 0x00, 0x5c, 0x23, 0x46, - 0x00, 0x00, 0x4e, 0x2c, 0x05, - 0x00, 0x00, 0x4e, 0x2c, 0x0d, - 0x00, 0x00, 0x4e, 0x39, 0x15, - 0x00, 0x00, 0x4e, 0x4f, 0x0c, - 0x00, 0x00, 0x4e, 0x52, 0x8d, - 0x00, 0x00, 0x4e, 0x55, 0xd2, - 0x00, 0x00, 0x40, 0x3c, 0x42, - 0x00, 0x00, 0x47, 0xd2, 0x02, - 0x00, 0x00, 0x0f, 0x9d, 0x4c, - 0x00, 0x00, 0x40, 0x1b, 0x82, - 0x00, 0x00, 0x50, 0x04, 0x86, - 0x00, 0x00, 0x5c, 0xda, 0x46, - 0x00, 0x8a, 0x49, 0x5a, 0x04, - 0x00, 0x00, 0x40, 0x1f, 0x42, - 0x00, 0x00, 0x40, 0x46, 0x46, - 0x00, 0x00, 0x40, 0x39, 0x02, - 0x00, 0x00, 0x45, 0xf3, 0x85, - 0x00, 0x00, 0x40, 0x62, 0x82, - 0x00, 0x00, 0x4b, 0x54, 0x09, - 0x00, 0x00, 0x41, 0x63, 0x4c, - 0x00, 0x00, 0x41, 0x66, 0x8b, - 0x00, 0x00, 0x40, 0x03, 0xc2, - 0x00, 0x00, 0x45, 0xdf, 0x08, - 0x00, 0x00, 0x40, 0x58, 0x42, - 0x00, 0x00, 0x40, 0x67, 0x02, - 0x00, 0x00, 0x48, 0x13, 0x86, - 0x00, 0x00, 0x48, 0xbb, 0x05, - 0x00, 0x00, 0x58, 0xcf, 0x47, - 0x00, 0x00, 0x53, 0xe8, 0x45, - 0x00, 0x00, 0x47, 0x46, 0xc5, - 0x00, 0x00, 0x40, 0x72, 0x02, - 0x00, 0x00, 0x42, 0x6f, 0x42, - 0x00, 0x00, 0x40, 0x20, 0xc2, - 0x00, 0x00, 0x4b, 0x0d, 0x07, - 0x00, 0x00, 0x50, 0x71, 0x8d, - 0x00, 0x00, 0x50, 0x75, 0x0c, - 0x00, 0x00, 0x43, 0x74, 0x47, - 0x00, 0x00, 0x48, 0x6f, 0x42, - 0x00, 0x00, 0x40, 0x14, 0x02, - 0x00, 0x00, 0x5c, 0xac, 0x08, - 0x00, 0x00, 0x40, 0x14, 0x08, - 0x00, 0x00, 0x4e, 0xc9, 0xc8, - 0x00, 0x00, 0x5b, 0xa6, 0x44, - 0x00, 0x00, 0x5e, 0xf9, 0x87, - 0x00, 0x00, 0x50, 0x4a, 0x03, - 0x00, 0x00, 0x47, 0x1c, 0x02, - 0x00, 0x00, 0x40, 0xbc, 0x02, - 0x00, 0x00, 0x50, 0x7f, 0x09, - 0x00, 0x00, 0x55, 0xf4, 0x07, - 0x00, 0x00, 0x40, 0x2b, 0x02, - 0x00, 0x00, 0x48, 0x19, 0xc5, - 0x00, 0x00, 0x41, 0xa0, 0x02, - 0x00, 0x00, 0x41, 0xec, 0x82, - 0x00, 0x00, 0x50, 0xdd, 0x03, - 0x00, 0x00, 0x50, 0xdd, 0x06, - 0x00, 0x00, 0x50, 0xe2, 0x42, - 0x00, 0x00, 0x51, 0x0e, 0x82, - 0x00, 0x00, 0x40, 0x04, 0x02, - 0x00, 0x00, 0x40, 0x47, 0x46, - 0x00, 0x00, 0x44, 0x0d, 0x07, - 0x00, 0x00, 0x40, 0x11, 0x82, - 0x00, 0x00, 0x40, 0x09, 0x02, - 0x00, 0x00, 0x46, 0xd5, 0x8f, - 0x00, 0x00, 0x49, 0x35, 0x0d, - 0x00, 0x00, 0x49, 0x6b, 0x0e, - 0x00, 0x00, 0x4d, 0x48, 0x4c, - 0x00, 0x00, 0x40, 0x8a, 0xc2, - 0x00, 0x00, 0x40, 0x2b, 0x42, - 0x00, 0x00, 0x5c, 0xf4, 0x45, - 0x00, 0x00, 0x52, 0xc5, 0x06, - 0x00, 0x00, 0x42, 0x54, 0x02, - 0x00, 0x00, 0x40, 0x3f, 0x42, - 0x00, 0x00, 0x40, 0x06, 0x82, - 0x00, 0x00, 0x42, 0x82, 0xc4, - 0x00, 0x00, 0x4d, 0xfa, 0x04, - 0x00, 0x00, 0x55, 0xcc, 0xc6, - 0x00, 0x00, 0x40, 0x48, 0x42, - 0x00, 0x00, 0x49, 0x3f, 0xc7, - 0x00, 0x00, 0x40, 0x48, 0x43, - 0x00, 0x00, 0x43, 0xb6, 0xc8, - 0x00, 0x00, 0x43, 0xda, 0x88, - 0x00, 0x00, 0x44, 0x78, 0xc7, - 0x00, 0x00, 0x46, 0x11, 0xc6, - 0x00, 0x00, 0x40, 0x1a, 0x42, - 0x00, 0x00, 0x40, 0x40, 0x83, - 0x00, 0x00, 0x40, 0x40, 0x87, - 0x00, 0x00, 0x48, 0x24, 0x86, - 0x00, 0x00, 0x4d, 0x99, 0x85, - 0x00, 0x00, 0x48, 0x35, 0x08, - 0x00, 0x00, 0x40, 0x3c, 0x82, - 0x00, 0x00, 0x4f, 0x5f, 0xc7, - 0x00, 0x00, 0x40, 0xe7, 0xc2, - 0x00, 0x00, 0x4b, 0x26, 0xc2, - 0x00, 0x00, 0x40, 0x2e, 0x82, - 0x00, 0x00, 0x41, 0xea, 0x49, - 0x00, 0x00, 0x40, 0xde, 0x02, - 0x00, 0x00, 0x01, 0x8b, 0x88, - 0x00, 0x00, 0x40, 0x19, 0xc2, - 0x00, 0x00, 0x45, 0xb3, 0x83, - 0x00, 0x00, 0x55, 0x01, 0xc7, - 0x00, 0x00, 0x40, 0x2a, 0x42, - 0x00, 0x00, 0x41, 0x64, 0xcc, - 0x00, 0x00, 0x41, 0x67, 0xcb, - 0x00, 0x00, 0x58, 0x99, 0x46, - 0x00, 0x00, 0x51, 0x24, 0x85, - 0x00, 0x8a, 0xc0, 0x6b, 0x83, - 0x00, 0x00, 0x40, 0x1b, 0x42, - 0x00, 0x00, 0x40, 0xc6, 0x42, - 0x00, 0x00, 0x4d, 0x0a, 0x06, - 0x00, 0x00, 0x42, 0x74, 0xc3, - 0x00, 0x00, 0x56, 0xaf, 0x87, - 0x00, 0x00, 0x46, 0xba, 0xc2, - 0x00, 0x00, 0x40, 0x08, 0xc2, - 0x00, 0x00, 0x45, 0xfc, 0x15, - 0x00, 0x00, 0x45, 0xab, 0x95, - 0x00, 0x00, 0x46, 0x4d, 0x93, - 0x00, 0x00, 0x45, 0xb0, 0xd3, - 0x00, 0x00, 0x48, 0x44, 0x47, - 0x00, 0x00, 0x4a, 0x7e, 0x51, - 0x00, 0x00, 0x4c, 0x22, 0x90, - 0x00, 0x00, 0x59, 0x60, 0x92, - 0x00, 0x00, 0x4c, 0x16, 0xd1, - 0x00, 0x00, 0x4c, 0x4d, 0x48, - 0x00, 0x00, 0x4c, 0x4d, 0x50, - 0x00, 0x00, 0x4c, 0x81, 0x0f, - 0x00, 0x00, 0x4e, 0xd1, 0x93, - 0x00, 0x00, 0x5a, 0x81, 0x52, - 0x00, 0x00, 0x4e, 0x28, 0x10, - 0x00, 0x00, 0x4e, 0x71, 0xcf, - 0x00, 0x00, 0x4e, 0x9f, 0xd2, - 0x00, 0x00, 0x4e, 0xab, 0x51, - 0x00, 0x00, 0x4e, 0xd9, 0x13, - 0x00, 0x00, 0x4e, 0xe2, 0x52, - 0x00, 0x00, 0x4f, 0x1b, 0x0f, - 0x00, 0x00, 0x4f, 0x2c, 0x0e, - 0x00, 0x00, 0x4f, 0x53, 0xd2, - 0x00, 0x00, 0x52, 0x87, 0xd1, - 0x00, 0x00, 0x50, 0x63, 0xcf, - 0x00, 0x00, 0x50, 0xbb, 0x4e, - 0x00, 0x00, 0x50, 0xc5, 0x11, - 0x00, 0x00, 0x50, 0xe5, 0xd0, - 0x00, 0x00, 0x51, 0x1a, 0x12, - 0x00, 0x00, 0x51, 0x32, 0xd1, - 0x00, 0x00, 0x53, 0x0f, 0x10, - 0x00, 0x00, 0x53, 0xdb, 0x4f, - 0x00, 0x00, 0x57, 0xeb, 0x11, - 0x00, 0x00, 0x5e, 0x22, 0x50, - 0x00, 0x00, 0x52, 0xa5, 0x06, - 0x00, 0x00, 0x53, 0x85, 0xc7, - 0x00, 0x00, 0x40, 0xcf, 0x47, - 0x00, 0x00, 0x40, 0x40, 0x42, - 0x00, 0x00, 0x49, 0x02, 0x85, - 0x00, 0x00, 0x51, 0x91, 0x87, - 0x00, 0x00, 0x42, 0x4b, 0x42, - 0x00, 0x00, 0x40, 0x2d, 0x02, - 0x00, 0x00, 0x49, 0x4a, 0xc5, - 0x00, 0x00, 0x42, 0x36, 0x83, - 0x00, 0x00, 0x5d, 0xe2, 0xc6, - 0x00, 0x00, 0x50, 0x73, 0x4d, - 0x00, 0x00, 0x50, 0x76, 0x8c, - 0x00, 0x00, 0x40, 0x46, 0xc2, - 0x00, 0x00, 0x5c, 0x32, 0x8b, - 0x00, 0x00, 0x48, 0x14, 0x8a, - 0x00, 0x00, 0x48, 0x3b, 0x8a, - 0x00, 0x00, 0x43, 0x0b, 0x09, - 0x00, 0x00, 0x4c, 0xfa, 0x4b, - 0x00, 0x00, 0x50, 0x5e, 0xcd, - 0x00, 0x00, 0x42, 0x84, 0x8c, - 0x00, 0x00, 0x51, 0x98, 0x8a, - 0x00, 0x00, 0x44, 0x64, 0xcc, - 0x00, 0x00, 0x44, 0x9f, 0xcb, - 0x00, 0x00, 0x45, 0x9c, 0xcc, - 0x00, 0x00, 0x47, 0xf5, 0xce, - 0x00, 0x00, 0x48, 0x4e, 0x8b, - 0x00, 0x00, 0x4a, 0x45, 0xcc, - 0x00, 0x00, 0x4c, 0xad, 0x83, - 0x00, 0x00, 0x52, 0x5e, 0x86, - 0x00, 0x00, 0x56, 0x51, 0x82, - 0x00, 0x00, 0x42, 0x19, 0x02, - 0x00, 0x00, 0x45, 0xeb, 0x03, - 0x00, 0x00, 0x40, 0x11, 0x02, - 0x00, 0x00, 0x42, 0xfd, 0x43, - 0x00, 0x00, 0x5c, 0x26, 0xc6, - 0x00, 0x00, 0x46, 0xe8, 0x87, - 0x00, 0x00, 0x4d, 0x69, 0xc6, - 0x00, 0x00, 0x5a, 0x8c, 0xc8, - 0x00, 0x00, 0x40, 0x11, 0x08, - 0x00, 0x00, 0x41, 0x47, 0x86, - 0x00, 0x00, 0x40, 0xc3, 0x02, - 0x00, 0x00, 0x51, 0x9f, 0xcd, - 0x00, 0x00, 0x51, 0xa3, 0x0c, - 0x00, 0x00, 0x52, 0x1f, 0xc7, - 0x00, 0x00, 0x51, 0xe1, 0x87, - 0x00, 0x00, 0x41, 0x12, 0x02, - 0x00, 0x00, 0x41, 0x98, 0x82, - 0x00, 0x00, 0x40, 0x40, 0x02, - 0x00, 0x00, 0x48, 0xb0, 0x82, - 0x00, 0x00, 0x53, 0xd2, 0xd6, - 0x00, 0x00, 0x54, 0x25, 0x15, - 0x00, 0x00, 0x54, 0x4c, 0xd6, - 0x00, 0x00, 0x54, 0xa3, 0x93, - 0x00, 0x00, 0x54, 0xaa, 0x52, - 0x00, 0x00, 0x55, 0xad, 0xd3, - 0x00, 0x00, 0x55, 0xb4, 0x52, - 0x00, 0x00, 0x5b, 0x48, 0x0f, - 0x00, 0x00, 0x5c, 0x8b, 0x58, - 0x00, 0x00, 0x5c, 0xa4, 0x97, - 0x00, 0x00, 0x5c, 0xde, 0x99, - 0x00, 0x00, 0x5c, 0xfb, 0x18, - 0x00, 0x00, 0x5d, 0x09, 0xd8, - 0x00, 0x00, 0x5d, 0x15, 0x57, - 0x00, 0x00, 0x5d, 0x2c, 0x17, - 0x00, 0x00, 0x5d, 0x6d, 0x16, - 0x00, 0x00, 0x5e, 0x2e, 0x93, - 0x00, 0x00, 0x5e, 0x35, 0x95, - 0x00, 0x00, 0x5e, 0x3f, 0xd2, - 0x00, 0x00, 0x5e, 0x44, 0x53, - 0x00, 0x00, 0x01, 0x70, 0x82, - 0x00, 0x8b, 0x42, 0xc2, 0x84, - 0x00, 0x8b, 0xdc, 0x74, 0x48, - 0x00, 0x00, 0x00, 0x2c, 0x45, - 0x00, 0x00, 0x40, 0x22, 0x02, - 0x00, 0x00, 0x41, 0x09, 0xc3, - 0x00, 0x00, 0x02, 0x32, 0xc2, - 0x00, 0x00, 0x41, 0xf1, 0x43, - 0x00, 0x00, 0x40, 0x66, 0x43, - 0x00, 0x00, 0x41, 0xf6, 0x03, - 0x00, 0x00, 0x40, 0x55, 0x03, - 0x00, 0x00, 0x40, 0x65, 0x43, - 0x00, 0x00, 0x49, 0x47, 0x44, - 0x00, 0x00, 0x41, 0x09, 0xc3, - 0x00, 0x00, 0x41, 0xf1, 0x43, - 0x00, 0x00, 0x41, 0x3d, 0xc3, - 0x00, 0x00, 0x40, 0x00, 0xc2, - 0x00, 0x00, 0x41, 0x3c, 0x82, - 0x00, 0x8d, 0xc9, 0xf3, 0x85, - 0x00, 0x8e, 0x44, 0xbf, 0x85, - 0x00, 0x8e, 0xc6, 0x9d, 0x46, - 0x00, 0x00, 0x1b, 0x96, 0x88, - 0x00, 0x8f, 0x4c, 0x86, 0x85, - 0x00, 0x00, 0x40, 0x22, 0x02, - 0x00, 0x00, 0x40, 0x14, 0x82, - 0x00, 0x8f, 0xd6, 0x9f, 0x05, - 0x00, 0x90, 0x48, 0xe1, 0x05, - 0x00, 0x90, 0xc8, 0xef, 0x07, - 0x00, 0x91, 0x47, 0x60, 0xc9, - 0x00, 0x91, 0xdb, 0x60, 0xc4, - 0x00, 0x00, 0x40, 0x03, 0x82, - 0x00, 0x00, 0x40, 0x06, 0x42, - 0x00, 0x92, 0x45, 0xb7, 0x45, - 0x00, 0x92, 0xc9, 0xea, 0x09, - 0x00, 0x93, 0x41, 0x10, 0x08, - 0x00, 0x93, 0xcc, 0x0a, 0x45, - 0x00, 0x94, 0x55, 0x55, 0x07, - 0x00, 0x94, 0xc1, 0x33, 0x88, - 0x00, 0x95, 0x51, 0xdb, 0x05, - 0x00, 0x95, 0xca, 0x6d, 0x46, - 0x00, 0x96, 0x44, 0xc8, 0x49, - 0x00, 0x96, 0xd9, 0xec, 0xc8, - 0x00, 0x97, 0x4d, 0x82, 0x88, - 0x00, 0x97, 0xca, 0x77, 0x8a, - 0x00, 0x98, 0x5c, 0xc9, 0x04, - 0x00, 0x98, 0xcb, 0x5c, 0xc5, - 0x00, 0x99, 0x4b, 0x3a, 0xc8, - 0x00, 0x99, 0xc4, 0xe6, 0x85, - 0x00, 0x00, 0x41, 0x77, 0x02, - 0x00, 0x9a, 0x40, 0x1e, 0x43, - 0x00, 0x9a, 0xcb, 0x41, 0xc6, - 0x00, 0x9b, 0x44, 0x89, 0x08, - 0x00, 0x9b, 0xdc, 0x98, 0xc6, - 0x00, 0x9c, 0x41, 0x48, 0x88, - 0x00, 0x9c, 0xdd, 0x34, 0x46, - 0x00, 0x9d, 0x45, 0x2d, 0x84, - 0x00, 0x9d, 0xc0, 0x18, 0xc2, - 0x00, 0x9e, 0xce, 0x99, 0x07, - 0x00, 0x9f, 0x4b, 0xbb, 0x04, - 0x00, 0x9f, 0xc8, 0x8f, 0x07, - 0x00, 0xa0, 0x5e, 0xa5, 0x07, - 0x00, 0x00, 0x40, 0x03, 0xc2, - 0x00, 0xa0, 0xca, 0xbc, 0x05, - 0x00, 0xa1, 0x45, 0x75, 0x04, - 0x00, 0xa1, 0xd7, 0x06, 0x07, - 0x00, 0xa2, 0x43, 0xae, 0x07, - 0x00, 0xa2, 0xc9, 0x23, 0x06, - 0x00, 0xa3, 0x48, 0xeb, 0x05, - 0x00, 0xa3, 0xca, 0x5f, 0x87, - 0x00, 0xa4, 0x4c, 0x8d, 0x48, - 0x00, 0xa4, 0xc0, 0xc6, 0x47, - 0x00, 0xa5, 0x4b, 0xdf, 0x89, - 0x00, 0xa5, 0xce, 0x3e, 0x85, - 0x00, 0xa6, 0x51, 0x4f, 0x87, - 0x00, 0xa6, 0xc9, 0xe7, 0x06, - 0x00, 0x00, 0x01, 0xec, 0xcb, - 0x00, 0xa7, 0x5d, 0xcc, 0x08, - 0x00, 0x00, 0x43, 0x1e, 0x4d, - 0x00, 0x00, 0x46, 0x98, 0x09, - 0x00, 0x00, 0x48, 0x30, 0x8b, - 0x00, 0x00, 0x49, 0xc1, 0x0b, - 0x00, 0x00, 0x4b, 0x7a, 0xcb, - 0x00, 0x00, 0x5e, 0x55, 0x0b, - 0x00, 0x00, 0x52, 0xc7, 0x0b, - 0x00, 0x00, 0x52, 0xc9, 0xcb, - 0x00, 0x00, 0x52, 0xd3, 0x49, - 0x00, 0x00, 0x52, 0xe3, 0x4b, - 0x00, 0x00, 0x52, 0xe6, 0x0b, - 0x00, 0x00, 0x52, 0xeb, 0x8b, - 0x00, 0x00, 0x52, 0xf8, 0x4a, - 0x00, 0x00, 0x52, 0xfd, 0x8a, - 0x00, 0x00, 0x53, 0x03, 0x8c, - 0x00, 0x00, 0x53, 0x43, 0x4b, - 0x00, 0x00, 0x53, 0x4d, 0x8a, - 0x00, 0x00, 0x54, 0x85, 0xca, - 0x00, 0x00, 0x55, 0x0e, 0x8e, - 0x00, 0x00, 0x55, 0x1f, 0x8e, - 0x00, 0x00, 0x55, 0x23, 0x0a, - 0x00, 0x00, 0x55, 0x4d, 0x8a, - 0x00, 0x00, 0x55, 0x5b, 0x0b, - 0x00, 0x00, 0x55, 0x5d, 0xcb, - 0x00, 0x00, 0x55, 0x68, 0xcb, - 0x00, 0x00, 0x57, 0x68, 0x0b, - 0x00, 0x00, 0x57, 0x6e, 0x0a, - 0x00, 0x00, 0x57, 0x7a, 0xcb, - 0x00, 0x00, 0x57, 0x7d, 0x8a, - 0x00, 0x00, 0x57, 0x80, 0x0a, - 0x00, 0x00, 0x57, 0x82, 0x8a, - 0x00, 0x00, 0x59, 0x5c, 0x8b, - 0x00, 0x00, 0x59, 0xca, 0x0b, - 0x00, 0x00, 0x59, 0xf5, 0xce, - 0x00, 0x00, 0x59, 0xf9, 0x4b, - 0x00, 0x00, 0x5a, 0x69, 0xcb, - 0x00, 0x00, 0x5a, 0x7c, 0xcb, - 0x00, 0x00, 0x5a, 0xbc, 0x8a, - 0x00, 0x00, 0x5a, 0xbf, 0x09, - 0x00, 0x00, 0x5a, 0xc1, 0x4a, - 0x00, 0x00, 0x5a, 0xda, 0x4a, - 0x00, 0x00, 0x5c, 0x85, 0x4b, - 0x00, 0x00, 0x5e, 0x05, 0x8b, - 0x00, 0x00, 0x5e, 0x14, 0x0a, - 0x00, 0x00, 0x5e, 0x28, 0xcb, - 0x00, 0x00, 0x5e, 0x89, 0x8b, - 0x00, 0x00, 0x5f, 0x21, 0x8b, - 0x00, 0xa7, 0xc9, 0x0e, 0x08, - 0x00, 0xa8, 0x49, 0x70, 0x09, - 0x00, 0xa8, 0xca, 0xe8, 0x89, - 0x00, 0xa9, 0x4f, 0x64, 0xc8, - 0x00, 0x00, 0x55, 0xca, 0x45, - 0x00, 0x00, 0x40, 0xba, 0x83, - 0x00, 0x00, 0x45, 0x68, 0x84, - 0x00, 0x00, 0x58, 0x22, 0x85, - 0x00, 0x00, 0x5b, 0x5e, 0x06, - 0x00, 0x00, 0x55, 0x37, 0xc5, - 0x00, 0x00, 0x49, 0x5f, 0xc4, - 0x00, 0x00, 0x4f, 0x7b, 0x48, - 0x00, 0x00, 0x52, 0x6d, 0x45, - 0x00, 0x00, 0x4a, 0x0a, 0x44, - 0x00, 0x00, 0x5c, 0xb1, 0xc7, - 0x00, 0x00, 0x4a, 0xda, 0x4a, - 0x00, 0x00, 0x4f, 0xfa, 0x8a, - 0x00, 0x00, 0x59, 0x54, 0x87, - 0x00, 0x00, 0x44, 0x1d, 0x07, - 0x00, 0x00, 0x4f, 0x20, 0x07, - 0x00, 0x00, 0x45, 0xb8, 0xc7, - 0x00, 0x00, 0x5a, 0x2f, 0xc5, - 0x00, 0x00, 0x47, 0x5b, 0x46, - 0x00, 0x00, 0x4d, 0x6e, 0x47, - 0x00, 0x00, 0x44, 0xcf, 0xc4, - 0x00, 0x00, 0x4c, 0xd4, 0x06, - 0x00, 0x00, 0x4f, 0xb2, 0x06, - 0x00, 0x00, 0x5a, 0xfb, 0xc5, - 0x00, 0x00, 0x58, 0x1a, 0x84, - 0x00, 0x00, 0x4a, 0xb8, 0x46, - 0x00, 0x00, 0x4a, 0xcc, 0x87, - 0x00, 0x00, 0x42, 0x69, 0xc6, - 0x00, 0x00, 0x50, 0xef, 0x07, - 0x00, 0x00, 0x4a, 0x03, 0x03, - 0x00, 0x00, 0x5c, 0x4a, 0xc6, - 0x00, 0x00, 0x42, 0x94, 0xc5, - 0x00, 0x00, 0x48, 0xf0, 0x07, - 0x00, 0x00, 0x47, 0x99, 0x0a, - 0x00, 0x00, 0x43, 0x35, 0x84, - 0x00, 0x00, 0x40, 0xec, 0x08, - 0x00, 0x00, 0x4b, 0xd8, 0x89, - 0x00, 0x00, 0x4c, 0x57, 0x87, - 0x00, 0x00, 0x53, 0x4c, 0x06, - 0x00, 0x00, 0x4e, 0x9a, 0x48, - 0x00, 0x00, 0x5e, 0xa8, 0x89, - 0x00, 0x00, 0x43, 0xa7, 0x04, - 0x00, 0x00, 0x48, 0x05, 0x44, - 0x00, 0x00, 0x41, 0x37, 0x85, - 0x00, 0x00, 0x4d, 0x15, 0x08, - 0x00, 0x00, 0x4e, 0x12, 0x47, - 0x00, 0x00, 0x51, 0x10, 0x49, - 0x00, 0x00, 0x44, 0x55, 0xc8, - 0x00, 0x00, 0x52, 0x18, 0xc6, - 0x00, 0x00, 0x44, 0x59, 0x46, - 0x00, 0x00, 0x4a, 0x84, 0xc8, - 0x00, 0x00, 0x57, 0x59, 0x46, - 0x00, 0x00, 0x44, 0xbf, 0x85, - 0x00, 0x00, 0x49, 0x23, 0xc6, - 0x00, 0x00, 0x48, 0x93, 0x48, - 0x00, 0x00, 0x45, 0xcd, 0x86, - 0x00, 0x00, 0x46, 0x2e, 0x0b, - 0x00, 0x00, 0x49, 0xb6, 0x06, - 0x00, 0x00, 0x4a, 0xa2, 0x0d, - 0x00, 0x00, 0x40, 0xab, 0x45, - 0x00, 0x00, 0x4b, 0xb9, 0xc6, - 0x00, 0x00, 0x40, 0xe0, 0xc5, - 0x00, 0x00, 0x43, 0x52, 0x49, - 0x00, 0x00, 0x57, 0x1c, 0xc7, - 0x00, 0x00, 0x41, 0x0e, 0x08, - 0x00, 0x00, 0x4b, 0xe9, 0x06, - 0x00, 0x00, 0x4a, 0x94, 0x49, - 0x00, 0x00, 0x55, 0x6e, 0x06, - 0x00, 0x00, 0x47, 0x98, 0x85, - 0x00, 0x00, 0x41, 0x36, 0x86, - 0x00, 0x00, 0x4f, 0x3f, 0x06, - 0x00, 0x00, 0x4e, 0x62, 0xc9, - 0x00, 0x00, 0x4c, 0xde, 0x86, - 0x00, 0x00, 0x4c, 0x7d, 0x47, - 0x00, 0x00, 0x4b, 0x17, 0x05, - 0x00, 0x00, 0x41, 0x1d, 0x03, - 0x00, 0x00, 0x46, 0x2f, 0x85, - 0x00, 0x00, 0x5c, 0x24, 0x47, - 0x00, 0x00, 0x57, 0x54, 0x06, - 0x00, 0x00, 0x40, 0xaa, 0x49, - 0x00, 0x00, 0x46, 0x9d, 0x46, - 0x00, 0x00, 0x48, 0x05, 0xc6, - 0x00, 0x00, 0x44, 0x42, 0x89, - 0x00, 0x00, 0x49, 0x1d, 0xc9, - 0x00, 0x00, 0x4b, 0x1c, 0x87, - 0x00, 0x00, 0x56, 0x64, 0x48, - 0x00, 0x00, 0x49, 0xd8, 0x49, - 0x00, 0x00, 0x48, 0xff, 0x08, - 0x00, 0x00, 0x4d, 0xe7, 0xc6, - 0x00, 0x00, 0x4e, 0xf6, 0x45, - 0x00, 0x00, 0x48, 0x7e, 0x0a, - 0x00, 0x00, 0x48, 0x06, 0x46, - 0x00, 0x00, 0x55, 0x42, 0xc6, - 0x00, 0x00, 0x4e, 0x98, 0x45, - 0x00, 0x00, 0x45, 0xbd, 0x48, - 0x00, 0x00, 0x55, 0x15, 0x07, - 0x00, 0x00, 0x43, 0x11, 0x8a, - 0x00, 0x00, 0x45, 0x5c, 0xc6, - 0x00, 0x00, 0x44, 0xa2, 0x05, - 0x00, 0x00, 0x51, 0x17, 0x46, - 0x00, 0x00, 0x49, 0xfa, 0x47, - 0x00, 0x00, 0x53, 0x4a, 0xc7, - 0x00, 0x00, 0x51, 0xfb, 0x85, - 0x00, 0x00, 0x47, 0x9a, 0x45, - 0x00, 0x00, 0x47, 0x10, 0x46, - 0x00, 0x00, 0x47, 0x57, 0x86, - 0x00, 0x00, 0x47, 0xd4, 0x46, - 0x00, 0x00, 0x43, 0x90, 0xc4, - 0x00, 0x00, 0x49, 0x12, 0x09, - 0x00, 0x00, 0x49, 0x84, 0xc6, - 0x00, 0x00, 0x5e, 0x58, 0xca, - 0x00, 0x00, 0x41, 0xac, 0x08, - 0x00, 0x00, 0x51, 0x4c, 0x88, - 0x00, 0x00, 0x4f, 0xfa, 0x8a, - 0x00, 0x00, 0x44, 0x8a, 0xc5, - 0x00, 0x00, 0x4a, 0xcb, 0xc5, - 0x00, 0x00, 0x5c, 0xc6, 0x88, - 0x00, 0x00, 0x58, 0x40, 0x08, - 0x00, 0x00, 0x44, 0x11, 0x47, - 0x00, 0x00, 0x59, 0xb7, 0x06, - 0x00, 0x00, 0x54, 0x04, 0x88, - 0x00, 0x00, 0x5f, 0x32, 0x47, - 0x00, 0x00, 0x48, 0xf1, 0x48, - 0x00, 0x00, 0x4c, 0xd3, 0x06, - 0x00, 0x00, 0x49, 0x2b, 0xc8, - 0x00, 0x00, 0x4a, 0x53, 0xc6, - 0x00, 0x00, 0x47, 0x65, 0xc7, - 0x00, 0x00, 0x55, 0xf6, 0x46, - 0x00, 0x00, 0x4a, 0xb8, 0x46, - 0x00, 0x00, 0x42, 0x78, 0x0a, - 0x00, 0x00, 0x42, 0xec, 0x86, - 0x00, 0x00, 0x4e, 0xf6, 0x49, - 0x00, 0x00, 0x4f, 0xef, 0x06, - 0x00, 0x00, 0x40, 0xb8, 0xca, - 0x00, 0x00, 0x45, 0x2d, 0x89, - 0x00, 0x00, 0x50, 0x7b, 0x46, - 0x00, 0x00, 0x4c, 0xe7, 0xc4, - 0x00, 0x00, 0x56, 0x06, 0xcd, - 0x00, 0x00, 0x48, 0xdf, 0x47, - 0x00, 0x00, 0x5c, 0x53, 0x86, - 0x00, 0x00, 0x4d, 0x81, 0x45, - 0x00, 0x00, 0x55, 0x6e, 0x85, - 0x00, 0x00, 0x53, 0xca, 0x86, - 0x00, 0x00, 0x4c, 0x6a, 0x49, - 0x00, 0x00, 0x4d, 0xa6, 0x47, - 0x00, 0x00, 0x48, 0xa1, 0x06, - 0x00, 0x00, 0x57, 0xce, 0x46, - 0x00, 0x00, 0x47, 0x87, 0x89, - 0x00, 0x00, 0x44, 0xbe, 0xc4, - 0x00, 0x00, 0x50, 0x7c, 0x44, - 0x00, 0x00, 0x5b, 0xdc, 0x48, - 0x00, 0x00, 0x55, 0xfa, 0xc6, - 0x00, 0x00, 0x4b, 0x11, 0x88, - 0x00, 0x00, 0x4f, 0x6d, 0xc8, - 0x00, 0x00, 0x46, 0x17, 0x87, - 0x00, 0x00, 0x4f, 0xd3, 0x49, - 0x00, 0x00, 0x5c, 0xe7, 0x87, - 0x00, 0x00, 0x4c, 0x85, 0x4a, - 0x00, 0x00, 0x50, 0x89, 0xcf, - 0x00, 0x00, 0x5a, 0x4d, 0x8a, - 0x00, 0x00, 0x5c, 0xf2, 0x45, - 0x00, 0x00, 0x48, 0x95, 0x85, - 0x00, 0x00, 0x40, 0xcb, 0x45, - 0x00, 0x00, 0x4f, 0xcf, 0x87, - 0x00, 0x00, 0x48, 0xae, 0x83, - 0x00, 0x00, 0x56, 0x66, 0x48, - 0x00, 0x00, 0x47, 0x31, 0x46, - 0x00, 0x00, 0x47, 0x32, 0x49, - 0x00, 0x00, 0x55, 0x84, 0x46, - 0x00, 0x00, 0x56, 0x67, 0xc7, - 0x00, 0x00, 0x4a, 0x92, 0x09, - 0x00, 0x00, 0x41, 0x0d, 0x08, - 0x00, 0x00, 0x43, 0x54, 0x07, - 0x00, 0x00, 0x52, 0xb3, 0xc3, - 0x00, 0x00, 0x55, 0xca, 0xc5, - 0x00, 0x00, 0x49, 0xf5, 0x85, - 0x00, 0x00, 0x43, 0x8f, 0x0b, - 0x00, 0x00, 0x44, 0xe7, 0x44, - 0x00, 0x00, 0x51, 0x59, 0x04, - 0x00, 0x00, 0x48, 0x75, 0xc6, - 0x00, 0x00, 0x52, 0xb5, 0x87, - 0x00, 0x00, 0x59, 0x83, 0x4a, - 0x00, 0x00, 0x48, 0x0e, 0xc7, - 0x00, 0x00, 0x54, 0x67, 0xc7, - 0x00, 0x00, 0x48, 0xe1, 0x05, - 0x00, 0x00, 0x5d, 0x72, 0x85, - 0x00, 0x00, 0x48, 0xf6, 0x89, - 0x00, 0x00, 0x4a, 0xb8, 0x46, - 0x00, 0x00, 0x48, 0x0d, 0x4d, - 0x00, 0x00, 0x5c, 0xa0, 0x45, - 0x00, 0x00, 0x4c, 0xb0, 0x83, - 0x00, 0x00, 0x41, 0xda, 0x03, - 0x00, 0x00, 0x42, 0xff, 0x05, - 0x00, 0x00, 0x54, 0x0d, 0x85, - 0x00, 0x00, 0x4e, 0x9a, 0x48, - 0x00, 0x00, 0x48, 0xa8, 0xc7, - 0x00, 0x00, 0x44, 0x05, 0xc6, - 0x00, 0x00, 0x4a, 0xe5, 0x06, - 0x00, 0x00, 0x42, 0xbc, 0xc5, - 0x00, 0x00, 0x43, 0x63, 0x47, - 0x00, 0x00, 0x56, 0xa2, 0xc7, - 0x00, 0x00, 0x43, 0x85, 0x07, - 0x00, 0x00, 0x4b, 0x5d, 0x4a, - 0x00, 0x00, 0x5c, 0x4b, 0x88, - 0x00, 0x00, 0x43, 0x90, 0xc4, - 0x00, 0x00, 0x49, 0x07, 0xc7, - 0x00, 0x00, 0x48, 0xd2, 0xc7, - 0x00, 0x00, 0x56, 0x26, 0x86, - 0x00, 0x00, 0x4a, 0x4a, 0x47, - 0x00, 0x00, 0x51, 0xad, 0x08, - 0x00, 0x00, 0x58, 0x55, 0xc8, - 0x00, 0x00, 0x47, 0xed, 0x46, - 0x00, 0x00, 0x44, 0x1f, 0x48, - 0x00, 0x00, 0x4c, 0xdf, 0x04, - 0x00, 0x00, 0x4d, 0x6e, 0x46, - 0x00, 0x00, 0x46, 0x74, 0x86, - 0x00, 0x00, 0x4f, 0xb4, 0x06, - 0x00, 0x00, 0x53, 0x59, 0x86, - 0x00, 0x00, 0x41, 0x1c, 0xc4, - 0x00, 0x00, 0x45, 0xb9, 0x86, - 0x00, 0x00, 0x4d, 0x6b, 0x46, - 0x00, 0x00, 0x4a, 0x7c, 0x86, - 0x00, 0x00, 0x42, 0x78, 0x06, - 0x00, 0x00, 0x5c, 0xbf, 0x86, - 0x00, 0x00, 0x4f, 0xc6, 0x86, - 0x00, 0x00, 0x44, 0x04, 0xc8, - 0x00, 0x00, 0x4c, 0x92, 0xc8, - 0x00, 0x00, 0x4e, 0xc2, 0x48, - 0x00, 0x00, 0x55, 0x39, 0xc8, - 0x00, 0x00, 0x5c, 0xc6, 0x06, - 0x00, 0x00, 0x40, 0x34, 0xc5, - 0x00, 0x00, 0x49, 0x41, 0x06, - 0x00, 0x00, 0x4c, 0x0a, 0xc5, - 0x00, 0x00, 0x59, 0xa8, 0x47, - 0x00, 0x00, 0x44, 0x56, 0x85, - 0x00, 0x00, 0x41, 0x14, 0xc3, - 0x00, 0x00, 0x52, 0x02, 0xc5, - 0x00, 0x00, 0x5e, 0xc5, 0x04, - 0x00, 0x00, 0x5c, 0xc0, 0xc5, - 0x00, 0x00, 0x42, 0x00, 0xc3, - 0x00, 0x00, 0x55, 0x25, 0xc7, - 0x00, 0x00, 0x4d, 0xd9, 0x08, - 0x00, 0x00, 0x50, 0xef, 0xc6, - 0x00, 0x00, 0x4b, 0xf2, 0x0d, - 0x00, 0x00, 0x48, 0x95, 0x46, - 0x00, 0x00, 0x4a, 0x72, 0x05, - 0x00, 0x00, 0x41, 0xea, 0x43, - 0x00, 0x00, 0x4d, 0x2c, 0x89, - 0x00, 0x00, 0x44, 0xc0, 0x46, - 0x00, 0x00, 0x4a, 0x65, 0x46, - 0x00, 0x00, 0x4a, 0xfb, 0x84, - 0x00, 0x00, 0x5a, 0x4d, 0x07, - 0x00, 0x00, 0x54, 0x7b, 0x06, - 0x00, 0x00, 0x4d, 0xa9, 0x05, - 0x00, 0x00, 0x46, 0x16, 0x43, - 0x00, 0x00, 0x41, 0x25, 0x84, - 0x00, 0x00, 0x48, 0xd4, 0x86, - 0x00, 0x00, 0x5a, 0xae, 0x04, - 0x00, 0x00, 0x5b, 0xd4, 0x48, - 0x00, 0x00, 0x40, 0x82, 0x49, - 0x00, 0x00, 0x47, 0xf2, 0x09, - 0x00, 0x00, 0x4b, 0x0f, 0x8a, - 0x00, 0x00, 0x4b, 0x2e, 0x8d, - 0x00, 0x00, 0x43, 0x39, 0x07, - 0x00, 0x00, 0x59, 0x4f, 0xc6, - 0x00, 0x00, 0x42, 0x6f, 0x84, - 0x00, 0x00, 0x47, 0x60, 0xc9, - 0x00, 0x00, 0x49, 0x50, 0x48, - 0x00, 0x00, 0x49, 0x6e, 0x86, - 0x00, 0x00, 0x43, 0xcb, 0x06, - 0x00, 0x00, 0x4a, 0x4a, 0x47, - 0x00, 0x00, 0x57, 0x00, 0x46, - 0x00, 0x00, 0x41, 0xd9, 0x46, - 0x00, 0x00, 0x4f, 0xe9, 0x06, - 0x00, 0x00, 0x5e, 0xa5, 0x8a, - 0x00, 0x00, 0x41, 0x33, 0x88, - 0x00, 0x00, 0x42, 0xa6, 0x85, - 0x00, 0x00, 0x4f, 0xe7, 0x09, - 0x00, 0x00, 0x5d, 0x92, 0xca, - 0x00, 0x00, 0x51, 0x8e, 0xc8, - 0x00, 0x00, 0x4a, 0xc4, 0x48, - 0x00, 0x00, 0x4a, 0x64, 0xc8, - 0x00, 0x00, 0x57, 0x21, 0xcc, - 0x00, 0x00, 0x52, 0xcc, 0x45, - 0x00, 0x00, 0x4a, 0xe7, 0x88, - 0x00, 0x00, 0x4c, 0xe3, 0xc6, - 0x00, 0x00, 0x56, 0xf9, 0x86, - 0x00, 0x00, 0x4d, 0xec, 0x07, - 0x00, 0x00, 0x48, 0x0d, 0xc5, - 0x00, 0x00, 0x45, 0xcc, 0xc5, - 0x00, 0x00, 0x47, 0xf0, 0xc9, - 0x00, 0x00, 0x40, 0x53, 0xc7, - 0x00, 0x00, 0x47, 0x32, 0x05, - 0x00, 0x00, 0x41, 0xfd, 0x07, - 0x00, 0x00, 0x41, 0xda, 0x03, - 0x00, 0x00, 0x4e, 0x1c, 0x05, - 0x00, 0x00, 0x41, 0xb5, 0x48, - 0x00, 0x00, 0x46, 0x33, 0x07, - 0x00, 0x00, 0x4a, 0xc3, 0x09, - 0x00, 0x00, 0x4c, 0xf1, 0x05, - 0x00, 0x00, 0x4f, 0xb9, 0x84, - 0x00, 0x00, 0x52, 0x9e, 0x48, - 0x00, 0x00, 0x5d, 0x81, 0x47, - 0x00, 0x00, 0x43, 0x55, 0xc8, - 0x00, 0x00, 0x40, 0xe2, 0x08, - 0x00, 0x00, 0x59, 0x7b, 0xc5, - 0x00, 0x00, 0x47, 0x30, 0x46, - 0x00, 0x00, 0x41, 0x3a, 0x46, - 0x00, 0x00, 0x5a, 0xf7, 0xc9, - 0x00, 0x00, 0x46, 0x75, 0x87, - 0x00, 0x00, 0x4c, 0x0f, 0x06, - 0x00, 0x00, 0x5b, 0xf1, 0x07, - 0x00, 0x00, 0x40, 0x3b, 0x83, - 0x00, 0x00, 0x5b, 0x60, 0xc4, - 0x00, 0x00, 0x5c, 0xd5, 0xc5, - 0x00, 0x00, 0x43, 0x64, 0x84, - 0x00, 0x00, 0x44, 0xdc, 0x84, - 0x00, 0x00, 0x44, 0xbc, 0x07, - 0x00, 0x00, 0x47, 0x86, 0x47, - 0x00, 0x00, 0x48, 0xa2, 0xc4, - 0x00, 0x00, 0x4a, 0xc1, 0x50, - 0x00, 0x00, 0x54, 0x69, 0x47, - 0x00, 0x00, 0x5d, 0x72, 0x85, - 0x00, 0x00, 0x5d, 0xc2, 0x8c, - 0x00, 0x00, 0x40, 0xdf, 0xc4, - 0x00, 0x00, 0x4b, 0xed, 0xc8, - 0x00, 0x00, 0x47, 0x64, 0xc9, - 0x00, 0x00, 0x4c, 0x4a, 0xc6, - 0x00, 0x00, 0x52, 0x49, 0x88, - 0x00, 0x00, 0x45, 0x65, 0x84, - 0x00, 0x00, 0x48, 0x78, 0xc8, - 0x00, 0x00, 0x4e, 0x0c, 0x46, - 0x00, 0x00, 0x42, 0x76, 0x88, - 0x00, 0x00, 0x4a, 0xd2, 0x46, - 0x00, 0x00, 0x4e, 0x93, 0xcb, - 0x00, 0x00, 0x5b, 0x9a, 0x85, - 0x00, 0x00, 0x5c, 0xd4, 0x48, - 0x00, 0x00, 0x40, 0x86, 0x84, - 0x00, 0x00, 0x40, 0x86, 0x8a, - 0x00, 0x00, 0x4a, 0xc3, 0x09, - 0x00, 0x00, 0x49, 0x0f, 0x86, - 0x00, 0x00, 0x50, 0x11, 0xc8, - 0x00, 0x00, 0x49, 0x5c, 0x05, - 0x00, 0x00, 0x5c, 0x27, 0xc4, - 0x00, 0x00, 0x4b, 0xec, 0xc6, - 0x00, 0x00, 0x43, 0x83, 0xc8, - 0x00, 0x00, 0x49, 0x0e, 0x08, - 0x00, 0x00, 0x53, 0x97, 0x46, - 0x00, 0x00, 0x54, 0xd7, 0x04, - 0x00, 0x00, 0x48, 0x7d, 0x86, - 0x00, 0x00, 0x5c, 0xe8, 0x07, - 0x00, 0x00, 0x48, 0x8e, 0x07, - 0x00, 0x00, 0x4a, 0x4a, 0x4f, - 0x00, 0x00, 0x54, 0xce, 0x47, - 0x00, 0x00, 0x59, 0x91, 0xc7, - 0x00, 0x00, 0x56, 0xf8, 0x45, - 0x00, 0x00, 0x5d, 0xa5, 0x05, - 0x00, 0x00, 0x4b, 0x19, 0x49, - 0x00, 0x00, 0x4e, 0x8b, 0xc6, - 0x00, 0x00, 0x48, 0xec, 0x45, - 0x00, 0x00, 0x49, 0x20, 0xc7, - 0x00, 0x00, 0x4e, 0x6d, 0xc8, - 0x00, 0x00, 0x43, 0x8d, 0x45, - 0x00, 0x00, 0x55, 0xf6, 0x46, - 0x00, 0x00, 0x41, 0xaa, 0x48, - 0x00, 0x00, 0x5c, 0x98, 0xca, - 0x00, 0x00, 0x44, 0xd6, 0xc8, - 0x00, 0x00, 0x49, 0x9e, 0x47, - 0x00, 0x00, 0x50, 0x8e, 0x06, - 0x00, 0x00, 0x4f, 0xe6, 0xc6, - 0x00, 0x00, 0x40, 0x03, 0xc3, - 0x00, 0x00, 0x41, 0x3b, 0x83, - 0x00, 0x00, 0x5d, 0x94, 0x89, - 0x00, 0x00, 0x49, 0xd6, 0xc9, - 0x00, 0x00, 0x4b, 0xde, 0x86, - 0x00, 0x00, 0x4c, 0xf1, 0x05, - 0x00, 0x00, 0x43, 0xd0, 0xc8, - 0x00, 0x00, 0x50, 0x11, 0xc8, - 0x00, 0x00, 0x4a, 0xb4, 0x88, - 0x00, 0x00, 0x4f, 0xe9, 0x8b, - 0x00, 0x00, 0x4b, 0xf4, 0x47, - 0x00, 0x00, 0x52, 0x51, 0x49, - 0x00, 0x00, 0x4a, 0x4c, 0xc8, - 0x00, 0x00, 0x47, 0x38, 0xc4, - 0x00, 0x00, 0x40, 0x5b, 0xc8, - 0x00, 0x00, 0x49, 0xc4, 0x09, - 0x00, 0x00, 0x4c, 0x12, 0x05, - 0x00, 0x00, 0x40, 0xbe, 0x07, - 0x00, 0x00, 0x5b, 0x61, 0x45, - 0x00, 0x00, 0x49, 0x0d, 0x08, - 0x00, 0x00, 0x49, 0xf2, 0x0b, - 0x00, 0x00, 0x4a, 0x5c, 0xd0, - 0x00, 0x00, 0x4b, 0xb6, 0x05, - 0x00, 0x00, 0x41, 0x59, 0x0c, - 0x00, 0x00, 0x44, 0x07, 0x85, - 0x00, 0x00, 0x48, 0xe1, 0x83, - 0x00, 0x00, 0x4d, 0x06, 0x06, - 0x00, 0x00, 0x4d, 0x61, 0x44, - 0x00, 0x00, 0x47, 0xfd, 0x86, - 0x00, 0x00, 0x4a, 0xcc, 0x87, - 0x00, 0x00, 0x40, 0xdf, 0x44, - 0x00, 0x00, 0x4d, 0x27, 0xc8, - 0x00, 0x00, 0x56, 0x65, 0x0d, - 0x00, 0x00, 0x59, 0xb5, 0x45, - 0x00, 0x00, 0x43, 0x39, 0x44, - 0x00, 0x00, 0x56, 0x04, 0x44, - 0x00, 0x00, 0x59, 0x8f, 0x09, - 0x00, 0x00, 0x4a, 0x9f, 0x48, - 0x00, 0x00, 0x53, 0x70, 0x47, - 0x00, 0x00, 0x4e, 0x0c, 0xc8, - 0x00, 0x00, 0x49, 0x12, 0xc8, - 0x00, 0x00, 0x48, 0xa4, 0x05, - 0x00, 0x00, 0x5d, 0x97, 0xc7, - 0x00, 0x00, 0x48, 0xa3, 0x87, - 0x00, 0x00, 0x5b, 0xe0, 0xc7, - 0x00, 0x00, 0x47, 0x9a, 0x49, - 0x00, 0x00, 0x57, 0x3a, 0x09, - 0x00, 0x00, 0x44, 0xac, 0xc6, - 0x00, 0x00, 0x4d, 0xf4, 0x06, - 0x00, 0x00, 0x49, 0x21, 0x86, - 0x00, 0x00, 0x52, 0xda, 0xc5, - 0x00, 0x00, 0x5c, 0x49, 0x04, - 0x00, 0x00, 0x5d, 0x0f, 0x86, - 0x00, 0x00, 0x5d, 0x31, 0x86, - 0x00, 0x00, 0x48, 0xa4, 0x48, - 0x00, 0x00, 0x49, 0xf7, 0x0b, - 0x00, 0x00, 0x43, 0xa5, 0x47, - 0x00, 0x00, 0x42, 0x6f, 0x84, - 0x00, 0x00, 0x54, 0x7a, 0x46, - 0x00, 0x00, 0x5e, 0xe3, 0x87, - 0x00, 0x00, 0x4f, 0xc2, 0x85, - 0x00, 0x00, 0x45, 0x88, 0x05, - 0x00, 0x00, 0x42, 0x66, 0xc4, - 0x00, 0x00, 0x57, 0x39, 0x86, - 0x00, 0x00, 0x5d, 0x10, 0x08, - 0x00, 0x00, 0x47, 0x60, 0xc9, - 0x00, 0x00, 0x45, 0x18, 0x46, - 0x00, 0x00, 0x49, 0x4e, 0x48, - 0x00, 0x00, 0x4d, 0xa9, 0xc6, - 0x00, 0x00, 0x56, 0x75, 0x08, - 0x00, 0x00, 0x57, 0x13, 0x0c, - 0x00, 0x00, 0x48, 0xa2, 0xc6, - 0x00, 0x00, 0x4a, 0x6e, 0xcd, - 0x00, 0x00, 0x4a, 0x73, 0x4b, - 0x00, 0x00, 0x4c, 0x7e, 0x05, - 0x00, 0x00, 0x56, 0xa4, 0x07, - 0x00, 0x00, 0x4c, 0xdf, 0x86, - 0x00, 0x00, 0x53, 0x49, 0x88, - 0x00, 0x00, 0x44, 0xad, 0x49, - 0x00, 0x00, 0x4b, 0xf7, 0x48, - 0x00, 0x00, 0x5d, 0x72, 0x85, - 0x00, 0x00, 0x4a, 0x56, 0x47, - 0x00, 0x00, 0x49, 0x00, 0x08, - 0x00, 0x00, 0x45, 0xd1, 0x09, - 0x00, 0x00, 0x46, 0x90, 0xc6, - 0x00, 0x00, 0x46, 0x69, 0x4a, - 0x00, 0x00, 0x53, 0x47, 0x08, - 0x00, 0x00, 0x4b, 0xf5, 0x8b, - 0x00, 0x00, 0x4d, 0xad, 0x8c, - 0x00, 0x00, 0x48, 0x79, 0xc8, - 0x00, 0x00, 0x48, 0xb6, 0x86, - 0x00, 0x00, 0x5d, 0xc7, 0x88, - 0x00, 0x00, 0x5c, 0x95, 0x47, - 0x00, 0x00, 0x5b, 0x68, 0x89, - 0x00, 0x00, 0x49, 0xe9, 0x0d, - 0x00, 0x00, 0x4a, 0xb7, 0x46, - 0x00, 0x00, 0x4c, 0x94, 0x48, - 0x00, 0x00, 0x4c, 0x91, 0x89, - 0x00, 0x00, 0x4d, 0x3e, 0x48, - 0x00, 0x00, 0x49, 0x2c, 0xc8, - 0x00, 0x00, 0x4d, 0x78, 0x0c, - 0x00, 0x00, 0x4d, 0x87, 0x07, - 0x00, 0x00, 0x4d, 0x95, 0x07, - 0x00, 0x00, 0x47, 0x98, 0x85, - 0x00, 0x00, 0x4d, 0x11, 0x87, - 0x00, 0x00, 0x4e, 0x6c, 0x88, - 0x00, 0x00, 0x4b, 0xed, 0x46, - 0x00, 0x00, 0x45, 0x16, 0xcc, - 0x00, 0x00, 0x50, 0xb8, 0x48, - 0x00, 0x00, 0x4e, 0x7b, 0x88, - 0x00, 0x00, 0x55, 0x3c, 0x86, - 0x00, 0x00, 0x5d, 0xd9, 0x07, - 0x00, 0x00, 0x44, 0xae, 0xc4, - 0x00, 0x00, 0x55, 0x39, 0xc8, - 0x00, 0x00, 0x49, 0x39, 0xcc, - 0x00, 0x00, 0x49, 0x7f, 0x0c, - 0x00, 0x00, 0x5c, 0xf2, 0xc5, - 0x00, 0x00, 0x5a, 0xfc, 0x47, - 0x00, 0x00, 0x54, 0xd6, 0x86, - 0x00, 0x00, 0x5d, 0xd8, 0x86, - 0x00, 0x00, 0x5a, 0x11, 0x48, - 0x00, 0x00, 0x42, 0x14, 0x44, - 0x00, 0x00, 0x42, 0x69, 0xcb, - 0x00, 0x00, 0x45, 0x8f, 0xcb, - 0x00, 0x00, 0x50, 0x8e, 0x06, - 0x00, 0x00, 0x56, 0x63, 0x87, - 0x00, 0x00, 0x54, 0xd8, 0x85, - 0x00, 0x00, 0x48, 0x04, 0x85, - 0x00, 0x00, 0x42, 0x6b, 0x06, - 0x00, 0x00, 0x49, 0x5b, 0xc5, - 0x00, 0x00, 0x44, 0xe7, 0x05, - 0x00, 0x00, 0x42, 0x32, 0x47, - 0x00, 0x00, 0x42, 0x00, 0xc9, - 0x00, 0x00, 0x40, 0x32, 0x84, - 0x00, 0x00, 0x44, 0x0c, 0x45, - 0x00, 0x00, 0x51, 0x21, 0x05, - 0x00, 0x00, 0x5a, 0xab, 0x88, - 0x00, 0x00, 0x54, 0xf3, 0x85, - 0x00, 0x00, 0x4d, 0x5e, 0x09, - 0x00, 0x00, 0x4b, 0xfe, 0x87, - 0x00, 0x00, 0x4b, 0xfe, 0x8b, - 0x00, 0x00, 0x50, 0x78, 0x86, - 0x00, 0x00, 0x44, 0x02, 0x09, - 0x00, 0x00, 0x58, 0x19, 0xc8, - 0x00, 0x00, 0x48, 0xb8, 0x85, - 0x00, 0x00, 0x5b, 0xe1, 0xc8, - 0x00, 0x00, 0x57, 0x3a, 0x48, - 0x00, 0x00, 0x48, 0xbe, 0xc7, - 0x00, 0x00, 0x42, 0xb2, 0x47, - 0x00, 0x00, 0x44, 0xbc, 0x89, - 0x00, 0x00, 0x42, 0x75, 0xc7, - 0x00, 0x00, 0x49, 0xb3, 0xc9, - 0x00, 0x00, 0x4b, 0xcc, 0x4c, - 0x00, 0x00, 0x4b, 0xde, 0x88, - 0x00, 0x00, 0x4d, 0xab, 0xc9, - 0x00, 0x00, 0x4d, 0xde, 0xc7, - 0x00, 0x00, 0x49, 0x13, 0x89, - 0x00, 0x00, 0x42, 0x1b, 0x47, - 0x00, 0x00, 0x4d, 0xae, 0x88, - 0x00, 0x00, 0x5c, 0x94, 0x85, - 0x00, 0x00, 0x4d, 0x6d, 0xc6, - 0x00, 0x00, 0x4d, 0x81, 0x88, - 0x00, 0x00, 0x44, 0x67, 0x48, - 0x00, 0x00, 0x5d, 0x91, 0x89, - 0x00, 0x00, 0x44, 0xe7, 0x47, - 0x00, 0x00, 0x5a, 0xde, 0x05, - 0x00, 0x00, 0x5d, 0x8c, 0x09, - 0x00, 0x00, 0x58, 0x70, 0x46, - 0x00, 0x00, 0x49, 0xe7, 0x04, - 0x00, 0x00, 0x52, 0xa9, 0x46, - 0x00, 0x00, 0x44, 0x87, 0x88, - 0x00, 0x00, 0x45, 0x3a, 0x87, - 0x00, 0x00, 0x49, 0xf9, 0x08, - 0x00, 0x00, 0x44, 0x20, 0x09, - 0x00, 0x00, 0x4b, 0x64, 0xc7, - 0x00, 0x00, 0x4a, 0xb5, 0xc6, - 0x00, 0x00, 0x40, 0x5f, 0x04, - 0x00, 0x00, 0x52, 0x03, 0x49, - 0x00, 0x00, 0x5d, 0x96, 0x48, - 0x00, 0x00, 0x55, 0x3b, 0x47, - 0x00, 0x00, 0x57, 0xb1, 0x06, - 0x00, 0x00, 0x49, 0xf6, 0x46, - 0x00, 0x00, 0x55, 0x42, 0x44, - 0x00, 0x00, 0x4d, 0x17, 0xc6, - 0x00, 0x00, 0x43, 0xbe, 0x43, - 0x00, 0x00, 0x5d, 0x5b, 0xc9, - 0x00, 0x00, 0x5b, 0x9a, 0x46, - 0x00, 0x00, 0x47, 0x5d, 0xc5, - 0x00, 0x00, 0x4a, 0xe5, 0x06, - 0x00, 0x00, 0x43, 0x57, 0x05, - 0x00, 0x00, 0x49, 0x04, 0x88, - 0x00, 0x00, 0x5b, 0x67, 0x47, - 0x00, 0x00, 0x44, 0x0e, 0xc6, - 0x00, 0x00, 0x56, 0x9f, 0x46, - 0x00, 0x00, 0x51, 0x4c, 0x88, - 0x00, 0x00, 0x4b, 0x1a, 0xc7, - 0x00, 0x00, 0x4a, 0xb7, 0x85, - 0x00, 0x00, 0x4a, 0xbf, 0x48, - 0x00, 0x00, 0x5e, 0x09, 0x88, - 0x00, 0x00, 0x53, 0x47, 0x08, - 0x00, 0x00, 0x44, 0x06, 0x45, - 0x00, 0x00, 0x4d, 0x6e, 0x46, - 0x00, 0x00, 0x47, 0xef, 0xc9, - 0x00, 0x00, 0x5a, 0xf6, 0x44, - 0x00, 0x00, 0x51, 0x26, 0x0b, - 0x00, 0x00, 0x41, 0xd6, 0x4b, - 0x00, 0x00, 0x42, 0xa5, 0x89, - 0x00, 0x00, 0x41, 0xda, 0x03, - 0x00, 0x00, 0x46, 0x4a, 0xc5, - 0x00, 0x00, 0x52, 0x0a, 0x46, - 0x00, 0x00, 0x44, 0x4f, 0xc8, - 0x00, 0x00, 0x4b, 0x93, 0x44, - 0x00, 0x00, 0x50, 0xef, 0xc6, - 0x00, 0x00, 0x4b, 0x5e, 0x89, - 0x00, 0x00, 0x57, 0xcb, 0xc5, - 0x00, 0x00, 0x42, 0x31, 0x86, - 0x00, 0x00, 0x5d, 0x81, 0x46, - 0x00, 0x00, 0x40, 0xcc, 0x04, - 0x00, 0x00, 0x4f, 0xae, 0x0a, - 0x00, 0x00, 0x47, 0x5d, 0x08, - 0x00, 0x00, 0x44, 0x67, 0x46, - 0x00, 0x00, 0x57, 0x93, 0x05, - 0x00, 0x00, 0x40, 0x55, 0xc7, - 0x00, 0x00, 0x54, 0x0f, 0xc7, - 0x00, 0x00, 0x47, 0x30, 0x44, - 0x00, 0x00, 0x41, 0xd8, 0x87, - 0x00, 0x00, 0x44, 0x56, 0x44, - 0x00, 0x00, 0x44, 0x56, 0x46, - 0x00, 0x00, 0x40, 0x65, 0x03, - 0x00, 0x00, 0x47, 0x9a, 0x45, - 0x00, 0x00, 0x4c, 0x39, 0x05, - 0x00, 0x00, 0x41, 0x4b, 0x08, - 0x00, 0x00, 0x49, 0x09, 0x85, - 0x00, 0x00, 0x48, 0xa0, 0x09, - 0x00, 0x00, 0x4b, 0x3f, 0xc7, - 0x00, 0x00, 0x55, 0x38, 0x0b, - 0x00, 0x00, 0x4b, 0x3f, 0xcc, - 0x00, 0x00, 0x4b, 0x45, 0xca, - 0x00, 0x00, 0x55, 0x55, 0x07, - 0x00, 0x00, 0x41, 0x0c, 0xc3, - 0x00, 0x00, 0x48, 0x88, 0x08, - 0x00, 0x00, 0x50, 0x7c, 0x05, - 0x00, 0x00, 0x43, 0x8d, 0xc5, - 0x00, 0x00, 0x55, 0xcb, 0x84, - 0x00, 0x00, 0x4d, 0xad, 0x86, - 0x00, 0x00, 0x47, 0x64, 0xc6, - 0x00, 0x00, 0x4d, 0x18, 0x07, - 0x00, 0x00, 0x46, 0x15, 0x8b, - 0x00, 0x00, 0x41, 0x1c, 0xc4, - 0x00, 0x00, 0x41, 0x0f, 0x84, - 0x00, 0x00, 0x4e, 0x0e, 0xc4, - 0x00, 0x00, 0x4e, 0x5f, 0xc6, - 0x00, 0x00, 0x40, 0xdf, 0x44, - 0x00, 0x00, 0x4d, 0x16, 0x08, - 0x00, 0x00, 0x55, 0xc9, 0x85, - 0x00, 0x00, 0x48, 0xac, 0x85, - 0x00, 0x00, 0x4a, 0xb3, 0xc7, - 0x00, 0x00, 0x56, 0xa5, 0x09, - 0x00, 0x00, 0x54, 0x0d, 0x85, - 0x00, 0x00, 0x53, 0xca, 0x8a, - 0x00, 0x00, 0x4b, 0x16, 0x09, - 0x00, 0x00, 0x4a, 0x88, 0xca, - 0x00, 0x00, 0x5e, 0xa6, 0xc9, - 0x00, 0x00, 0x51, 0x88, 0x84, - 0x00, 0x00, 0x57, 0xcf, 0x05, - 0x00, 0x00, 0x57, 0x01, 0x48, - 0x00, 0x00, 0x57, 0x06, 0xcb, - 0x00, 0x00, 0x41, 0x37, 0x85, - 0x00, 0x00, 0x4d, 0x9b, 0x46, - 0x00, 0x00, 0x44, 0x70, 0x04, - 0x00, 0x00, 0x48, 0xa5, 0x46, - 0x00, 0x00, 0x4b, 0x63, 0x49, - 0x00, 0x00, 0x5e, 0xe4, 0x87, - 0x00, 0x00, 0x46, 0x9f, 0x08, - 0x00, 0x00, 0x4b, 0x32, 0x06, - 0x00, 0x00, 0x5c, 0xe7, 0x87, - 0x00, 0x00, 0x49, 0x0e, 0x08, - 0x00, 0x00, 0x57, 0xfd, 0x46, - 0x00, 0x00, 0x40, 0x5f, 0x84, - 0x00, 0x00, 0x46, 0x7e, 0xc7, - 0x00, 0x00, 0x58, 0xa3, 0x45, - 0x00, 0x00, 0x59, 0x9b, 0x87, - 0x00, 0x00, 0x45, 0x64, 0x84, - 0x00, 0x00, 0x4c, 0xdf, 0x06, - 0x00, 0x00, 0x54, 0x11, 0x08, - 0x00, 0x00, 0x4a, 0x75, 0x08, - 0x00, 0x00, 0x50, 0x2d, 0x47, - 0x00, 0x00, 0x54, 0xd3, 0xc8, - 0x00, 0x00, 0x4a, 0x54, 0x85, - 0x00, 0x00, 0x41, 0xd7, 0x84, - 0x00, 0x00, 0x4f, 0xf9, 0x88, - 0x00, 0x00, 0x51, 0x66, 0x84, - 0x00, 0x00, 0x40, 0xca, 0xc5, - 0x00, 0x00, 0x5a, 0x0f, 0x44, - 0x00, 0x00, 0x5f, 0x33, 0x47, - 0x00, 0x00, 0x49, 0x85, 0x87, - 0x00, 0x00, 0x49, 0x14, 0xc8, - 0x00, 0x00, 0x43, 0x57, 0x46, - 0x00, 0x00, 0x49, 0x09, 0x05, - 0x00, 0x00, 0x48, 0x9e, 0x08, - 0x00, 0x00, 0x44, 0xd8, 0xc8, - 0x00, 0x00, 0x4b, 0x0e, 0xc9, - 0x00, 0x00, 0x41, 0xd9, 0x46, - 0x00, 0x00, 0x43, 0x12, 0x08, - 0x00, 0x00, 0x40, 0x85, 0x0a, - 0x00, 0x00, 0x4f, 0xc3, 0x08, - 0x00, 0x00, 0x51, 0xdb, 0x05, - 0x00, 0x00, 0x45, 0x69, 0x06, - 0x00, 0x00, 0x4b, 0x14, 0xc8, - 0x00, 0x00, 0x4a, 0x57, 0x0a, - 0x00, 0x00, 0x55, 0xec, 0x47, - 0x00, 0x00, 0x49, 0x54, 0x85, - 0x00, 0x00, 0x4a, 0x1d, 0x88, - 0x00, 0x00, 0x4b, 0x8e, 0x44, - 0x00, 0x00, 0x45, 0xbd, 0xc6, - 0x00, 0x00, 0x4d, 0x9f, 0x48, - 0x00, 0x00, 0x5c, 0xbf, 0x86, - 0x00, 0x00, 0x5c, 0x38, 0xc8, - 0x00, 0x00, 0x4a, 0x67, 0x47, - 0x00, 0x00, 0x5c, 0xb0, 0xc6, - 0x00, 0x00, 0x4c, 0xe7, 0xc4, - 0x00, 0x00, 0x56, 0x0e, 0x47, - 0x00, 0x00, 0x4c, 0xa2, 0x44, - 0x00, 0x00, 0x4b, 0x63, 0x07, - 0x00, 0x00, 0x55, 0x3e, 0x8d, - 0x00, 0x00, 0x42, 0xa6, 0x05, - 0x00, 0x00, 0x4c, 0x68, 0x4b, - 0x00, 0x00, 0x49, 0x81, 0x86, - 0x00, 0x00, 0x45, 0xe0, 0x08, - 0x00, 0x00, 0x4d, 0x27, 0x84, - 0x00, 0x00, 0x43, 0x19, 0xc6, - 0x00, 0x00, 0x48, 0xd4, 0x86, - 0x00, 0x00, 0x5d, 0xca, 0xc7, - 0x00, 0x00, 0x4a, 0x6b, 0x8d, - 0x00, 0x00, 0x50, 0xd4, 0x87, - 0x00, 0x00, 0x4c, 0xaf, 0xc8, - 0x00, 0x00, 0x5a, 0xde, 0xc5, - 0x00, 0x00, 0x50, 0x2f, 0xc8, - 0x00, 0x00, 0x4e, 0x11, 0xc6, - 0x00, 0x00, 0x4a, 0x55, 0x08, - 0x00, 0x00, 0x43, 0x07, 0x46, - 0x00, 0x00, 0x5d, 0xc0, 0x07, - 0x00, 0x00, 0x55, 0x57, 0xc9, - 0x00, 0x00, 0x55, 0xe9, 0x47, - 0x00, 0x00, 0x49, 0x71, 0x48, - 0x00, 0x00, 0x45, 0x47, 0xc5, - 0x00, 0x00, 0x42, 0xbd, 0x48, - 0x00, 0x00, 0x42, 0xaf, 0x85, - 0x00, 0x00, 0x55, 0xf5, 0x85, - 0x00, 0x00, 0x57, 0x33, 0x85, - 0x00, 0x00, 0x41, 0x36, 0xc3, - 0x00, 0x00, 0x41, 0xd5, 0x84, - 0x00, 0x00, 0x4a, 0x1f, 0x85, - 0x00, 0x00, 0x44, 0xc8, 0x49, - 0x00, 0x00, 0x57, 0xb0, 0x06, - 0x00, 0x00, 0x51, 0xae, 0x08, - 0x00, 0x00, 0x5d, 0x83, 0xc5, - 0x00, 0x00, 0x4c, 0xc6, 0x07, - 0x00, 0x00, 0x57, 0x1f, 0xca, - 0x00, 0x00, 0x42, 0x30, 0xc9, - 0x00, 0x00, 0x4f, 0x3e, 0x0a, - 0x00, 0x00, 0x4e, 0xc2, 0xc8, - 0x00, 0x00, 0x41, 0xfb, 0x4c, - 0x00, 0x00, 0x49, 0x21, 0x4d, - 0x00, 0x00, 0x5e, 0x77, 0x03, - 0x00, 0x00, 0x5c, 0x37, 0xc8, - 0x00, 0x00, 0x41, 0x25, 0x45, - 0x00, 0x00, 0x5c, 0x96, 0x86, - 0x00, 0x00, 0x41, 0x0b, 0x86, - 0x00, 0x00, 0x56, 0x03, 0x85, - 0x00, 0x00, 0x5b, 0xf2, 0x09, - 0x00, 0x00, 0x4f, 0xfd, 0x45, - 0x00, 0x00, 0x48, 0x9e, 0x08, - 0x00, 0x00, 0x46, 0x61, 0x86, - 0x00, 0x00, 0x57, 0x45, 0x06, - 0x00, 0x00, 0x4b, 0x23, 0xc9, - 0x00, 0x00, 0x46, 0x88, 0x87, - 0x00, 0x00, 0x49, 0xf4, 0xc6, - 0x00, 0x00, 0x57, 0x1f, 0x48, - 0x00, 0x00, 0x4f, 0xb3, 0x08, - 0x00, 0x00, 0x4f, 0x66, 0xc7, - 0x00, 0x00, 0x4e, 0x65, 0x0e, - 0x00, 0x00, 0x4e, 0x14, 0x05, - 0x00, 0x00, 0x45, 0xd0, 0x05, - 0x00, 0x00, 0x5c, 0xbe, 0x88, - 0x00, 0x00, 0x56, 0xad, 0x87, - 0x00, 0x00, 0x40, 0x84, 0xc2, - 0x00, 0x00, 0x4d, 0x75, 0xc4, - 0x00, 0x00, 0x47, 0xfc, 0x8a, - 0x00, 0x00, 0x55, 0x3c, 0x08, - 0x00, 0x00, 0x57, 0x3b, 0x86, - 0x00, 0x00, 0x4a, 0x93, 0x48, - 0x00, 0x00, 0x41, 0x3a, 0x46, - 0x00, 0x00, 0x5d, 0xa3, 0x88, - 0x00, 0x00, 0x4c, 0x0f, 0x08, - 0x00, 0x00, 0x55, 0xf5, 0x44, - 0x00, 0x00, 0x4c, 0xca, 0x05, - 0x00, 0x00, 0xda, 0x24, 0xc4, - 0x00, 0x00, 0xda, 0x24, 0xc4, - 0x00, 0x00, 0xda, 0x24, 0xc4, - 0x00, 0x00, 0x41, 0x49, 0xc3, - 0x00, 0x00, 0x40, 0x30, 0xc6, - 0x00, 0x00, 0x48, 0xa2, 0xc6, - 0x00, 0x00, 0x4a, 0xd6, 0x4c, - 0x00, 0x00, 0x40, 0x85, 0xc3, - 0x00, 0x00, 0x45, 0x64, 0x86, - 0x00, 0x00, 0x41, 0x36, 0x04, - 0x00, 0x00, 0x44, 0xbf, 0xc8, - 0x00, 0x00, 0x4b, 0x5c, 0xc5, - 0x00, 0x00, 0x47, 0xfd, 0x86, - 0x00, 0x00, 0x4b, 0x3b, 0xc8, - 0x00, 0x00, 0x4e, 0xd6, 0x46, - 0x00, 0x00, 0x44, 0x0e, 0x46, - 0x00, 0x00, 0x5d, 0x7f, 0x48, - 0x00, 0x00, 0x5c, 0xd6, 0x47, - 0x00, 0x00, 0x42, 0x73, 0x89, - 0x00, 0x00, 0x51, 0x02, 0x4a, - 0x00, 0x00, 0x40, 0xc6, 0x84, - 0x00, 0x00, 0x44, 0x56, 0x85, - 0x00, 0x00, 0x51, 0x10, 0x05, - 0x00, 0x00, 0x47, 0x5e, 0xc6, - 0x00, 0x00, 0x43, 0x39, 0x46, - 0x00, 0x00, 0x56, 0xa9, 0x46, - 0x00, 0x00, 0x58, 0x6d, 0xc6, - 0x00, 0x00, 0x42, 0x74, 0xc4, - 0x00, 0x00, 0x42, 0x74, 0xcb, - 0x00, 0x00, 0x44, 0x54, 0x44, - 0x00, 0x00, 0x40, 0x56, 0x45, - 0x00, 0x00, 0x4c, 0x04, 0x45, - 0x00, 0x00, 0x46, 0x18, 0x46, - 0x00, 0x00, 0x40, 0xd4, 0x08, - 0x00, 0x00, 0x49, 0x20, 0x07, - 0x00, 0x00, 0x5d, 0x5f, 0x84, - 0x00, 0x00, 0x46, 0xc2, 0xc3, - 0x00, 0x00, 0x4b, 0x89, 0x45, - 0x00, 0x00, 0x52, 0xa8, 0x07, - 0x00, 0x00, 0x49, 0x1f, 0x0b, - 0x00, 0x00, 0x41, 0x4a, 0x07, - 0x00, 0x00, 0x4b, 0x3a, 0xc8, - 0x00, 0x00, 0x4d, 0x19, 0x47, - 0x00, 0x00, 0x49, 0x10, 0x86, - 0x00, 0x00, 0x46, 0x9a, 0xc8, - 0x00, 0x00, 0x4d, 0x03, 0x0b, - 0x00, 0x00, 0x58, 0x21, 0xc6, - 0x00, 0x00, 0x40, 0x8c, 0x89, - 0x00, 0x00, 0x4d, 0x04, 0x85, - 0x00, 0x00, 0x52, 0xb3, 0xc3, - 0x00, 0x00, 0x42, 0x31, 0x86, - 0x00, 0x00, 0x4a, 0x66, 0x48, - 0x00, 0x00, 0x40, 0x5f, 0xc3, - 0x00, 0x00, 0x4c, 0xe0, 0x43, - 0x00, 0x00, 0x49, 0x0e, 0x06, - 0x00, 0x00, 0x41, 0x3a, 0x46, - 0x00, 0x00, 0x57, 0xde, 0xca, - 0x00, 0x00, 0x48, 0xb6, 0xc5, - 0x00, 0x00, 0x48, 0xd2, 0xcb, - 0x00, 0x00, 0x4a, 0xe4, 0x4b, - 0x00, 0x00, 0x48, 0x55, 0x03, - 0x00, 0x00, 0x41, 0x23, 0x03, - 0x00, 0x00, 0x4c, 0x84, 0xc4, - 0x00, 0x00, 0x57, 0x1e, 0x07, - 0x00, 0x00, 0x48, 0x79, 0xc4, - 0x00, 0x00, 0x44, 0xbf, 0xc4, - 0x00, 0x00, 0x4c, 0xe2, 0x44, - 0x00, 0x00, 0x4f, 0xc6, 0x08, - 0x00, 0x00, 0x57, 0x92, 0x48, - 0x00, 0x00, 0x59, 0xe5, 0xc9, - 0x00, 0x00, 0x4e, 0x3f, 0x08, - 0x00, 0x00, 0x5c, 0x56, 0x07, - 0x00, 0x00, 0x42, 0x78, 0x06, - 0x00, 0x00, 0x51, 0xaa, 0x4f, - 0x00, 0x00, 0x4e, 0x15, 0x46, - 0x00, 0x00, 0x4e, 0xbc, 0x44, - 0x00, 0x00, 0x57, 0x90, 0x8a, - 0x00, 0x00, 0x52, 0xa7, 0x07, - 0x00, 0x00, 0x4c, 0xa3, 0x46, - 0x00, 0x00, 0x49, 0xe7, 0x49, - 0x00, 0x00, 0x59, 0xe5, 0x45, - 0x00, 0x00, 0x47, 0x58, 0x45, - 0x00, 0x00, 0x59, 0xe6, 0x86, - 0x00, 0x00, 0x42, 0xbe, 0x83, - 0x00, 0x00, 0x4b, 0x8e, 0x89, - 0x00, 0x00, 0x41, 0x35, 0x06, - 0x00, 0x00, 0x44, 0x1d, 0xc9, - 0x00, 0x00, 0x59, 0x83, 0x46, - 0x00, 0x00, 0x47, 0x9a, 0x45, - 0x00, 0x00, 0x5c, 0xf6, 0xc5, - 0x00, 0x00, 0x40, 0x2b, 0x83, - 0x00, 0x00, 0x41, 0x39, 0x48, - 0x00, 0x00, 0x53, 0x72, 0x07, - 0x00, 0x00, 0x47, 0x31, 0x44, - 0x00, 0x00, 0x44, 0xbe, 0x48, - 0x00, 0x00, 0x43, 0xd2, 0x44, - 0x00, 0x00, 0x51, 0x65, 0x86, - 0x00, 0x00, 0x4d, 0x06, 0x06, - 0x00, 0x00, 0x44, 0x27, 0x06, - 0x00, 0x00, 0x5c, 0xd3, 0x09, - 0x00, 0x00, 0x43, 0x8d, 0x45, - 0x00, 0x00, 0x4a, 0xb8, 0x46, - 0x00, 0x00, 0x45, 0x97, 0x09, - 0x00, 0x00, 0x4e, 0x06, 0x86, - 0x00, 0x00, 0x4f, 0xc6, 0x86, - 0x00, 0x00, 0x5a, 0x99, 0xc6, - 0x00, 0x00, 0x42, 0x30, 0x05, - 0x00, 0x00, 0x5a, 0x0f, 0x46, - 0x00, 0x00, 0x5d, 0xc0, 0x04, - 0x00, 0x00, 0x5c, 0x94, 0x85, - 0x00, 0x00, 0x44, 0x67, 0x44, - 0x00, 0x00, 0x4c, 0xb8, 0x86, - 0x00, 0x00, 0x5c, 0xa0, 0x04, - 0x00, 0x00, 0x40, 0x56, 0x43, - 0x00, 0x00, 0x49, 0x51, 0x05, - 0x00, 0x00, 0x43, 0x6e, 0xc8, - 0x00, 0x00, 0x50, 0xf6, 0x87, - 0x00, 0x00, 0x4b, 0x93, 0xc9, - 0x00, 0x00, 0x49, 0x53, 0x88, - 0x00, 0x00, 0x4a, 0x82, 0x91, - 0x00, 0x00, 0x5d, 0x81, 0xca, - 0x00, 0x00, 0x50, 0x8d, 0x47, - 0x00, 0x00, 0x4a, 0x68, 0x86, - 0x00, 0x00, 0x41, 0x36, 0x04, - 0x00, 0x00, 0x4d, 0x82, 0x88, - 0x00, 0x00, 0x56, 0x5b, 0x08, - 0x00, 0x00, 0x4a, 0x84, 0x4a, - 0x00, 0x00, 0x4d, 0x5b, 0xcd, - 0x00, 0x00, 0x41, 0x36, 0x86, - 0x00, 0x00, 0x5d, 0x80, 0x46, - 0x00, 0x00, 0x56, 0x0f, 0x06, - 0x00, 0x00, 0x51, 0xfa, 0x07, - 0x00, 0x00, 0x4c, 0xb0, 0x85, - 0x00, 0x00, 0x50, 0x1a, 0x07, - 0x00, 0x00, 0x44, 0xbf, 0x05, - 0x00, 0x00, 0x4b, 0xff, 0xc4, - 0x00, 0x00, 0x4e, 0xc0, 0xc6, - 0x00, 0x00, 0x43, 0xcf, 0x87, - 0x00, 0x00, 0x4b, 0x8b, 0x8d, - 0x00, 0x00, 0x4b, 0x14, 0x07, - 0x00, 0x00, 0x4f, 0x7a, 0x48, - 0x00, 0x00, 0x48, 0xa1, 0x09, - 0x00, 0x00, 0x42, 0x1d, 0x46, - 0x00, 0x00, 0x46, 0x90, 0x45, - 0x00, 0x00, 0x43, 0x8c, 0xc4, - 0x00, 0x00, 0x44, 0x88, 0x86, - 0x00, 0x00, 0x4f, 0xd2, 0x46, - 0x00, 0x00, 0x55, 0x3d, 0x86, - 0x00, 0x00, 0x4a, 0x9b, 0xc8, - 0x00, 0x00, 0x41, 0x62, 0xc3, - 0x00, 0x00, 0x42, 0xb1, 0x83, - 0x00, 0x00, 0x53, 0x29, 0xc5, - 0x00, 0x00, 0x49, 0x0a, 0x46, - 0x00, 0x00, 0x4c, 0x0e, 0xc5, - 0x00, 0x00, 0x4b, 0x34, 0x08, - 0x00, 0x00, 0x4a, 0xce, 0x4a, - 0x00, 0x00, 0x54, 0xcf, 0x84, - 0x00, 0x00, 0x44, 0xbf, 0xc8, - 0x00, 0x00, 0x4a, 0x64, 0xc8, - 0x00, 0x00, 0x4b, 0xc5, 0x87, - 0x00, 0x00, 0x42, 0xb0, 0xc9, - 0x00, 0x00, 0x4d, 0x2f, 0xc8, - 0x00, 0x00, 0x47, 0x61, 0x47, - 0x00, 0x00, 0x4d, 0x6c, 0xc6, - 0x00, 0x00, 0x5c, 0xbf, 0x8a, - 0x00, 0x00, 0x44, 0x89, 0x08, - 0x00, 0x00, 0x52, 0x9d, 0x09, - 0x00, 0x00, 0x4a, 0xa0, 0x08, - 0x00, 0x00, 0x41, 0x85, 0xc9, - 0x00, 0x00, 0x58, 0x57, 0xc7, - 0x00, 0x00, 0x5a, 0xdd, 0x45, - 0x00, 0x00, 0x4f, 0xeb, 0x86, - 0x00, 0x00, 0x4b, 0xeb, 0xc8, - 0x00, 0x00, 0x42, 0x44, 0x88, - 0x00, 0x00, 0x4a, 0xc5, 0xc8, - 0x00, 0x00, 0x50, 0x8f, 0x08, - 0x00, 0x00, 0x40, 0x56, 0x45, - 0x00, 0x00, 0x42, 0x9f, 0x04, - 0x00, 0x00, 0x43, 0x48, 0x88, - 0x00, 0x00, 0x44, 0x6d, 0x84, - 0x00, 0x00, 0x5e, 0xa4, 0xc4, - 0x00, 0x00, 0x47, 0x9a, 0x45, - 0x00, 0x00, 0x4a, 0x0a, 0x87, - 0x00, 0x00, 0x56, 0xa2, 0xc9, - 0x00, 0x00, 0x5d, 0xc8, 0xc7, - 0x00, 0x00, 0x40, 0x85, 0x45, - 0x00, 0x00, 0x48, 0x77, 0xc6, - 0x00, 0x00, 0x57, 0x8b, 0x06, - 0x00, 0x00, 0x40, 0x88, 0x04, - 0x00, 0x00, 0x4b, 0x2d, 0x46, - 0x00, 0x00, 0x48, 0xd7, 0x04, - 0x00, 0x00, 0x48, 0xd0, 0x06, - 0x00, 0x00, 0x56, 0xa0, 0x86, - 0x00, 0x00, 0x40, 0xb0, 0x46, - 0x00, 0x00, 0x5d, 0x72, 0x85, - 0x00, 0x00, 0x4b, 0x32, 0xc7, - 0x00, 0x00, 0x41, 0x0c, 0xc3, - 0x00, 0x00, 0x52, 0xc1, 0x09, - 0x00, 0x00, 0x51, 0x4a, 0x88, - 0x00, 0x00, 0x44, 0xbe, 0x44, - 0x00, 0x00, 0x47, 0x5f, 0xcd, - 0x00, 0x00, 0x4a, 0x76, 0x08, - 0x00, 0x00, 0x4f, 0xa6, 0x88, - 0x00, 0x00, 0x52, 0x9c, 0x86, - 0x00, 0x00, 0x55, 0x58, 0xc9, - 0x00, 0x00, 0x42, 0x30, 0xc9, - 0x00, 0x00, 0x52, 0xbb, 0x85, - 0x00, 0x00, 0x4a, 0xcf, 0x4a, - 0x00, 0x00, 0x4b, 0x07, 0xca, - 0x00, 0x00, 0x57, 0xd1, 0xcc, - 0x00, 0x00, 0x57, 0xd3, 0x46, - 0x00, 0x00, 0x48, 0x84, 0x06, - 0x00, 0x00, 0x4e, 0x1b, 0x46, - 0x00, 0x00, 0x58, 0x9a, 0x49, - 0x00, 0x00, 0x5c, 0x98, 0xc6, - 0x00, 0x00, 0x4b, 0x1b, 0x06, - 0x00, 0x00, 0x4f, 0xfe, 0x06, - 0x00, 0x00, 0x55, 0x39, 0xc8, - 0x00, 0x00, 0x44, 0xd6, 0xc6, - 0x00, 0x00, 0x4e, 0xb2, 0x4b, - 0x00, 0x00, 0x4a, 0x0c, 0x05, - 0x00, 0x00, 0x48, 0xac, 0x85, - 0x00, 0x00, 0x48, 0x8f, 0x05, - 0x00, 0x00, 0x5b, 0xd9, 0xc6, - 0x00, 0x00, 0x41, 0xd7, 0xc3, - 0x00, 0x00, 0x44, 0x26, 0x86, - 0x00, 0x00, 0x4b, 0x13, 0x87, - 0x00, 0x00, 0x4d, 0x81, 0x45, - 0x00, 0x00, 0x5b, 0x98, 0x05, - 0x00, 0x00, 0x55, 0x6e, 0x85, - 0x00, 0x00, 0x4c, 0x6c, 0x06, - 0x00, 0x00, 0x4b, 0x61, 0x04, - 0x00, 0x00, 0x51, 0xde, 0x86, - 0x00, 0x00, 0x4a, 0x3a, 0x89, - 0x00, 0x00, 0x5b, 0xd8, 0x4c, - 0x00, 0x00, 0x4b, 0xfd, 0x08, - 0x00, 0x00, 0x43, 0x83, 0x44, - 0x00, 0x00, 0x59, 0xeb, 0xc6, - 0x00, 0x00, 0x49, 0x82, 0x86, - 0x00, 0x00, 0x4a, 0x66, 0x48, - 0x00, 0x00, 0x50, 0x11, 0xc8, - 0x00, 0x00, 0x5b, 0xd7, 0x49, - 0x00, 0x00, 0x40, 0x55, 0xc7, - 0x00, 0x00, 0x55, 0xf8, 0x09, - 0x00, 0x00, 0x48, 0x1a, 0x86, - 0x00, 0x00, 0x42, 0xd4, 0xc4, - 0x00, 0x00, 0x55, 0xd9, 0x04, - 0x00, 0x00, 0x49, 0x07, 0x44, - 0x00, 0x00, 0x49, 0x0e, 0x08, - 0x00, 0x00, 0x56, 0xa1, 0x0a, - 0x00, 0x00, 0x54, 0x0d, 0x06, - 0x00, 0x00, 0x56, 0xf7, 0x07, - 0x00, 0x00, 0x59, 0x9e, 0x07, - 0x00, 0x00, 0x44, 0x03, 0x05, - 0x00, 0x00, 0x4b, 0x6c, 0x44, - 0x00, 0x00, 0x49, 0xc3, 0xc6, - 0x00, 0x00, 0x4c, 0xb0, 0xc6, - 0x00, 0x00, 0x42, 0x14, 0x83, - 0x00, 0x00, 0x51, 0x48, 0xc7, - 0x00, 0x00, 0x40, 0xe1, 0x08, - 0x00, 0x00, 0x4b, 0x61, 0x8a, - 0x00, 0x00, 0x50, 0x13, 0x48, - 0x00, 0x00, 0x41, 0x48, 0x88, - 0x00, 0x00, 0x5c, 0xa0, 0x45, - 0x00, 0x00, 0x42, 0xd2, 0x85, - 0x00, 0x00, 0x43, 0xa6, 0x45, - 0x00, 0x00, 0x44, 0x06, 0xc6, - 0x00, 0x00, 0x44, 0x5b, 0xc6, - 0x00, 0x00, 0x41, 0x4c, 0x45, - 0x00, 0x00, 0x5d, 0x5e, 0x09, - 0x00, 0x00, 0x4b, 0x6a, 0x4c, - 0x00, 0x00, 0x56, 0x09, 0x87, - 0x00, 0x00, 0x4a, 0x84, 0xc8, - 0x00, 0x00, 0x49, 0xfb, 0xc5, - 0x00, 0x00, 0xda, 0x24, 0xc4, - 0x00, 0x00, 0x42, 0x7d, 0x44, - 0x00, 0x00, 0x46, 0x34, 0x44, - 0x00, 0x00, 0x40, 0xfb, 0x46, - 0x00, 0x00, 0x4a, 0xf3, 0x4e, - 0x00, 0x00, 0x47, 0x58, 0xc7, - 0x00, 0x00, 0x51, 0xfc, 0x05, - 0x00, 0x00, 0x5a, 0xf5, 0xcc, - 0x00, 0x00, 0x4b, 0xc4, 0x47, - 0x00, 0x00, 0x43, 0xcf, 0x07, - 0x00, 0x00, 0x43, 0xfc, 0x89, - 0x00, 0x00, 0x40, 0xec, 0xc9, - 0x00, 0x00, 0x49, 0x54, 0x85, - 0x00, 0x00, 0x51, 0x4a, 0x88, - 0x00, 0x00, 0x47, 0xef, 0xc9, - 0x00, 0x00, 0x53, 0x45, 0xc5, - 0x00, 0x00, 0x4d, 0x80, 0x88, - 0x00, 0x00, 0x4c, 0x8f, 0x46, - 0x00, 0x00, 0x4f, 0xfc, 0x06, - 0x00, 0x00, 0x45, 0x2d, 0x84, - 0x00, 0x00, 0x52, 0x53, 0x08, - 0x00, 0x00, 0x44, 0xb9, 0x83, - 0x00, 0x00, 0x40, 0x2c, 0xc4, - 0x00, 0x00, 0x4b, 0x89, 0xc5, - 0x00, 0x00, 0x59, 0x77, 0x47, - 0x00, 0x00, 0x42, 0xb5, 0xc5, - 0x00, 0x00, 0x40, 0x83, 0xc9, - 0x00, 0x00, 0x49, 0xc7, 0x4d, - 0x00, 0x00, 0x4a, 0xa8, 0x06, - 0x00, 0x00, 0x5f, 0x2e, 0x04, - 0x00, 0x00, 0x59, 0xb6, 0x88, - 0x00, 0x00, 0x41, 0xff, 0x0a, - 0x00, 0x00, 0x40, 0x58, 0x87, - 0x00, 0x00, 0x45, 0x73, 0x85, - 0x00, 0x00, 0x40, 0x2d, 0x03, - 0x00, 0x00, 0x4a, 0xe6, 0x0e, - 0x00, 0x00, 0x41, 0x3a, 0x4c, - 0x00, 0x00, 0x51, 0x8f, 0xc7, - 0x00, 0x00, 0x4a, 0xf5, 0x07, - 0x00, 0x9e, 0x59, 0xdb, 0x87, - 0x00, 0x00, 0x02, 0xa4, 0x46, - 0x00, 0x00, 0x01, 0xec, 0xc4, - 0x00, 0x00, 0x40, 0xb9, 0x03, - 0x00, 0x00, 0x5c, 0x99, 0x05, - 0x00, 0x00, 0x46, 0x34, 0x45, - 0x00, 0x00, 0x4a, 0x97, 0x08, - 0x00, 0x00, 0x4a, 0x63, 0x09, - 0x00, 0x00, 0x43, 0x82, 0x46, - 0x00, 0x00, 0x48, 0x79, 0xc4, - 0x00, 0x00, 0x50, 0x8c, 0x86, - 0x00, 0x00, 0x44, 0x45, 0xcb, - 0x00, 0x00, 0x56, 0xd1, 0x8c, - 0x00, 0x00, 0x45, 0x5a, 0x87, - 0x00, 0x00, 0x4e, 0xb6, 0xc5, - 0x00, 0x00, 0x5e, 0x08, 0x88, - 0x00, 0x00, 0x4f, 0x64, 0x85, - 0x00, 0x00, 0x57, 0x90, 0x87, - 0x00, 0x00, 0x4e, 0x99, 0x07, - 0x00, 0x00, 0x44, 0xb9, 0x85, - 0x00, 0x00, 0x41, 0xd7, 0xc3, - 0x00, 0x00, 0x52, 0xbc, 0x44, - 0x00, 0x00, 0x47, 0xd7, 0x85, - 0x00, 0x00, 0x40, 0x31, 0x85, - 0x00, 0x00, 0x40, 0x31, 0x86, - 0x00, 0x00, 0x4a, 0x33, 0x48, - 0x00, 0x00, 0x43, 0xcf, 0x87, - 0x00, 0x00, 0x41, 0x0e, 0x86, - 0x00, 0x00, 0x55, 0x41, 0x46, - 0x00, 0x00, 0x57, 0x32, 0xc6, - 0x00, 0x00, 0x4c, 0x95, 0xc9, - 0x00, 0x00, 0x5d, 0x98, 0xc7, - 0x00, 0x00, 0x45, 0xcc, 0x06, - 0x00, 0x00, 0x56, 0xd3, 0x06, - 0x00, 0x00, 0x5c, 0xc8, 0x06, - 0x00, 0x00, 0x4b, 0xba, 0xc5, - 0x00, 0x00, 0x41, 0x81, 0x46, - 0x00, 0x00, 0x5a, 0xe7, 0x05, - 0x00, 0x00, 0x54, 0xf4, 0x08, - 0x00, 0x00, 0x4a, 0x03, 0x4b, - 0x00, 0x00, 0x49, 0xbf, 0x46, - 0x00, 0x00, 0x59, 0x9e, 0x44, - 0x00, 0x00, 0x4f, 0xce, 0x09, - 0x00, 0x00, 0x4b, 0x3f, 0xc4, - 0x00, 0x00, 0x4c, 0x8e, 0xc8, - 0x00, 0x00, 0x44, 0xa2, 0xc7, - 0x00, 0x00, 0x49, 0x2b, 0xc4, - 0x00, 0x00, 0x4d, 0x20, 0xc8, - 0x00, 0x00, 0x4d, 0x8f, 0x04, - 0x00, 0x00, 0x4b, 0xbb, 0x04, - 0x00, 0x00, 0x48, 0x36, 0x85, - 0x00, 0x00, 0x59, 0xb5, 0x86, - 0x00, 0x00, 0x4f, 0xc5, 0x47, - 0x00, 0x00, 0x40, 0x48, 0x03, - 0x00, 0x00, 0x4a, 0xb6, 0x85, - 0x00, 0x00, 0x52, 0x4c, 0x04, - 0x00, 0x00, 0x45, 0xd0, 0x46, - 0x00, 0x00, 0x4b, 0x60, 0xc8, - 0x00, 0x00, 0x54, 0xd2, 0xc5, - 0x00, 0x00, 0x4a, 0x00, 0x09, - 0x00, 0x00, 0x55, 0x55, 0x05, - 0x00, 0x00, 0x45, 0x64, 0x88, - 0x00, 0x00, 0x43, 0x51, 0x07, - 0x00, 0x00, 0x5b, 0x9b, 0x48, - 0x00, 0x00, 0x4d, 0x13, 0x47, - 0x00, 0x00, 0x59, 0x92, 0x89, - 0x00, 0x00, 0x45, 0xb8, 0x06, - 0x00, 0x00, 0x5e, 0xf5, 0xc6, - 0x00, 0x00, 0x49, 0xd9, 0x84, - 0x00, 0x00, 0x51, 0x25, 0x45, - 0x00, 0x00, 0x56, 0x6d, 0x0c, - 0x00, 0x00, 0x48, 0x8f, 0x07, - 0x00, 0x00, 0x48, 0x94, 0x47, - 0x00, 0x00, 0x43, 0x35, 0x88, - 0x00, 0x00, 0x4a, 0xa8, 0x06, - 0x00, 0x00, 0x4b, 0x12, 0xc4, - 0x00, 0x00, 0x53, 0x87, 0x04, - 0x00, 0x00, 0x44, 0xbb, 0x09, - 0x00, 0x00, 0x4e, 0x1c, 0x46, - 0x00, 0x00, 0x48, 0xf7, 0x07, - 0x00, 0x00, 0x5b, 0xeb, 0x84, - 0x00, 0x00, 0x4c, 0xd9, 0x06, - 0x00, 0x00, 0x5d, 0x7a, 0x85, - 0x00, 0x00, 0x4e, 0x97, 0x87, - 0x00, 0x00, 0x4e, 0xb1, 0xc6, - 0x00, 0x00, 0x46, 0x68, 0x09, - 0x00, 0x00, 0x4e, 0x8d, 0xc7, - 0x00, 0x00, 0x4a, 0x4a, 0x47, - 0x00, 0x00, 0x4b, 0x22, 0x46, - 0x00, 0x00, 0x4c, 0xd8, 0x45, - 0x00, 0x00, 0x48, 0xea, 0xc8, - 0x00, 0x00, 0x41, 0x33, 0x88, - 0x00, 0x00, 0x57, 0x5c, 0x46, - 0x00, 0x00, 0x54, 0xd3, 0x05, - 0x00, 0x00, 0x58, 0xc1, 0xc6, - 0x00, 0x00, 0x40, 0x60, 0x03, - 0x00, 0x00, 0x4a, 0x95, 0x89, - 0x00, 0x00, 0x56, 0xa6, 0xce, - 0x00, 0x00, 0x4d, 0x10, 0x08, - 0x00, 0x00, 0x43, 0xd3, 0x48, - 0x00, 0x00, 0x57, 0x5a, 0x4b, - 0x00, 0x00, 0x4a, 0x02, 0x46, - 0x00, 0x00, 0x59, 0x9d, 0x04, - 0x00, 0x00, 0x44, 0x0e, 0x44, - 0x00, 0x00, 0x56, 0xa7, 0xca, - 0x00, 0x00, 0x41, 0x58, 0x07, - 0x00, 0x00, 0x45, 0x68, 0x45, - 0x00, 0x00, 0x40, 0x8c, 0x89, - 0x00, 0x00, 0x4d, 0x6c, 0x05, - 0x00, 0x00, 0x5e, 0xa5, 0x07, - 0x00, 0x00, 0x43, 0x65, 0x44, - 0x00, 0x00, 0x49, 0xa5, 0x07, - 0x00, 0x00, 0x4f, 0x6c, 0xc8, - 0x00, 0x00, 0x4c, 0x58, 0x46, - 0x00, 0x00, 0x4c, 0xe0, 0x89, - 0x00, 0x00, 0x4d, 0x30, 0xca, - 0x00, 0x00, 0x41, 0x57, 0x86, - 0x00, 0x00, 0x4a, 0x71, 0x46, - 0x00, 0x00, 0x4c, 0x03, 0xc5, - 0x00, 0x00, 0x59, 0xff, 0x05, - 0x00, 0x00, 0x5a, 0xf0, 0x87, - 0x00, 0x00, 0x44, 0xb0, 0x08, - 0x00, 0x00, 0x5d, 0x79, 0xc8, - 0x00, 0x00, 0x55, 0xf5, 0x46, - 0x00, 0x00, 0x5c, 0xf7, 0x45, - 0x00, 0x00, 0x43, 0x36, 0xce, - 0x00, 0x00, 0x43, 0x90, 0xc4, - 0x00, 0x00, 0x4a, 0x96, 0x85, - 0x00, 0x00, 0x48, 0x71, 0x49, - 0x00, 0x00, 0x4e, 0x89, 0xc8, - 0x00, 0x00, 0x49, 0x9d, 0x86, - 0x00, 0x00, 0x4a, 0xba, 0x4c, - 0x00, 0x00, 0x4a, 0xca, 0x50, - 0x00, 0x00, 0x4a, 0xef, 0x8f, - 0x00, 0x00, 0x4b, 0x18, 0x48, - 0x00, 0x00, 0x55, 0x55, 0x07, - 0x00, 0x00, 0x5d, 0x72, 0x85, - 0x00, 0x00, 0x4a, 0x1f, 0x85, - 0x00, 0x00, 0x4f, 0xc3, 0xc9, - 0x00, 0x00, 0x4a, 0x1f, 0x89, - 0x00, 0x00, 0x48, 0x7e, 0x86, - 0x00, 0x00, 0x41, 0x38, 0x07, - 0x00, 0x00, 0x5a, 0x10, 0x45, - 0x00, 0x00, 0x44, 0x11, 0x49, - 0x00, 0x00, 0x56, 0x27, 0x06, - 0x00, 0x00, 0x5c, 0x97, 0x0d, - 0x00, 0x00, 0x49, 0x06, 0x09, - 0x00, 0x00, 0x44, 0xbf, 0xc4, - 0x00, 0x00, 0x4d, 0x09, 0x08, - 0x00, 0x00, 0x43, 0x49, 0x49, - 0x00, 0x00, 0x54, 0x0e, 0xc6, - 0x00, 0x00, 0x48, 0x8a, 0x05, - 0x00, 0x00, 0x5e, 0xf5, 0xc6, - 0x00, 0x00, 0x46, 0x9d, 0xc9, - 0x00, 0x00, 0x5b, 0xea, 0x08, - 0x00, 0x00, 0x40, 0x34, 0xc5, - 0x00, 0x00, 0x40, 0x86, 0x04, - 0x00, 0x00, 0x4a, 0xbc, 0x0b, - 0x00, 0x00, 0x54, 0x0d, 0x85, - 0x00, 0x00, 0x44, 0x50, 0x46, - 0x00, 0x00, 0x45, 0x67, 0x86, - 0x00, 0x00, 0x5a, 0x66, 0x46, - 0x00, 0x00, 0x44, 0x09, 0x4b, - 0x00, 0x00, 0x4a, 0x01, 0x09, - 0x00, 0x00, 0x42, 0x1c, 0x85, - 0x00, 0x00, 0x59, 0xa7, 0x47, - 0x00, 0x00, 0x5d, 0x81, 0x46, - 0x00, 0x00, 0x49, 0x18, 0x46, - 0x00, 0x00, 0x46, 0x31, 0xc8, - 0x00, 0x00, 0x40, 0xcc, 0x09, - 0x00, 0x00, 0x4f, 0x78, 0x0c, - 0x00, 0x00, 0x52, 0xa6, 0x08, - 0x00, 0x00, 0x52, 0x39, 0xc6, - 0x00, 0x00, 0x53, 0x97, 0x43, - 0x00, 0x00, 0x42, 0xf5, 0x86, - 0x00, 0x00, 0x50, 0x7b, 0x85, - 0x00, 0x00, 0x48, 0xde, 0x08, - 0x00, 0x00, 0x5c, 0xf1, 0x46, - 0x00, 0x00, 0x43, 0x54, 0xc8, - 0x00, 0x00, 0x48, 0x0f, 0x45, - 0x00, 0x00, 0x43, 0x58, 0x05, - 0x00, 0x00, 0x51, 0x5f, 0x48, - 0x00, 0x00, 0x5c, 0x2f, 0x47, - 0x00, 0x00, 0x41, 0x0a, 0xc7, - 0x00, 0x00, 0x4d, 0x18, 0x07, - 0x00, 0x00, 0x52, 0x49, 0x88, - 0x00, 0x00, 0x55, 0x56, 0x48, - 0x00, 0x00, 0x4c, 0xa7, 0x06, - 0x00, 0x00, 0x4c, 0xb6, 0xc7, - 0x00, 0x00, 0x5b, 0x5f, 0x87, - 0x00, 0x00, 0x59, 0x90, 0x0a, - 0x00, 0x00, 0x44, 0x5f, 0x03, - 0x00, 0x00, 0x5b, 0xd9, 0xc6, - 0x00, 0x00, 0x43, 0x36, 0x45, - 0x00, 0x00, 0x45, 0x75, 0x04, - 0x00, 0x00, 0x48, 0xa1, 0x09, - 0x00, 0x00, 0x59, 0x92, 0x04, - 0x00, 0x00, 0x4c, 0x58, 0x44, - 0x00, 0x00, 0x4a, 0xd2, 0xc4, - 0x00, 0x00, 0x4a, 0xf5, 0x0b, - 0x00, 0x00, 0x53, 0x71, 0x47, - 0x00, 0x00, 0x43, 0x39, 0x05, - 0x00, 0x00, 0x4a, 0x51, 0x88, - 0x00, 0x00, 0x48, 0x77, 0xc6, - 0x00, 0x00, 0x48, 0x77, 0xc8, - 0x00, 0x00, 0x48, 0xb6, 0x06, - 0x00, 0x00, 0x49, 0xa9, 0x05, - 0x00, 0x00, 0x49, 0xae, 0x45, - 0x00, 0x00, 0x49, 0xd1, 0x06, - 0x00, 0x00, 0x47, 0x2e, 0xc8, - 0x00, 0x00, 0x49, 0xe6, 0x88, - 0x00, 0x00, 0x48, 0xa2, 0xc6, - 0x00, 0x00, 0x4a, 0x4f, 0xcf, - 0x00, 0x00, 0x4a, 0x90, 0x50, - 0x00, 0x00, 0x40, 0xab, 0x45, - 0x00, 0x00, 0x41, 0x0c, 0xc3, - 0x00, 0x00, 0x45, 0x83, 0xc5, - 0x00, 0x00, 0x52, 0x50, 0x88, - 0x00, 0x00, 0x4a, 0x1e, 0x89, - 0x00, 0x00, 0x53, 0x47, 0x08, - 0x00, 0x00, 0x41, 0x36, 0x08, - 0x00, 0x00, 0x45, 0xee, 0x48, - 0x00, 0x00, 0x53, 0x72, 0x07, - 0x00, 0x00, 0x48, 0x74, 0x89, - 0x00, 0x00, 0x43, 0x56, 0xc8, - 0x00, 0x00, 0x49, 0xdd, 0x44, - 0x00, 0x00, 0x4a, 0xd1, 0x48, - 0x00, 0x00, 0x5a, 0xac, 0x49, - 0x00, 0x00, 0x4c, 0xbc, 0x07, - 0x00, 0x00, 0x4d, 0x32, 0xc4, - 0x00, 0x00, 0x5d, 0xc9, 0x88, - 0x00, 0x00, 0x4b, 0x30, 0x8a, - 0x00, 0x00, 0x51, 0x6d, 0x06, - 0x00, 0x00, 0x41, 0x36, 0x86, - 0x00, 0x00, 0x41, 0xd8, 0x09, - 0x00, 0x00, 0x4a, 0xcc, 0x87, - 0x00, 0x00, 0x4e, 0x6b, 0x08, - 0x00, 0x00, 0x43, 0x65, 0xc8, - 0x00, 0x00, 0x49, 0x47, 0x48, - 0x00, 0x00, 0x48, 0x45, 0x85, - 0x00, 0x00, 0x5c, 0xba, 0xc5, - 0x00, 0x00, 0x48, 0xac, 0x85, - 0x00, 0x00, 0x46, 0x34, 0x05, - 0x00, 0x00, 0x5b, 0xaa, 0x87, - 0x00, 0x00, 0x41, 0xd7, 0xc5, - 0x00, 0x00, 0x4d, 0x81, 0x45, - 0x00, 0x00, 0x42, 0xed, 0x86, - 0x00, 0x00, 0x53, 0x46, 0x47, - 0x00, 0x00, 0x57, 0x06, 0x07, - 0x00, 0x00, 0x4b, 0x33, 0x86, - 0x00, 0x00, 0x4e, 0xc8, 0x05, - 0x00, 0x00, 0x44, 0x50, 0x46, - 0x00, 0x00, 0x48, 0x88, 0xc5, - 0x00, 0x00, 0x4f, 0x75, 0x88, - 0x00, 0x00, 0x58, 0x3f, 0x84, - 0x00, 0x00, 0x4e, 0x07, 0x06, - 0x00, 0x00, 0x59, 0x25, 0xc4, - 0x00, 0x00, 0x5c, 0x27, 0xc8, - 0x00, 0x00, 0x41, 0x90, 0x0a, - 0x00, 0x00, 0x48, 0xa8, 0xcc, - 0x00, 0x00, 0x4a, 0xdc, 0x05, - 0x00, 0x00, 0x51, 0xfa, 0xc6, - 0x00, 0x00, 0x4f, 0x79, 0xc6, - 0x00, 0x00, 0x59, 0x26, 0xc6, - 0x00, 0x00, 0x52, 0x3a, 0x44, - 0x00, 0x00, 0x5e, 0xda, 0x05, - 0x00, 0x00, 0x48, 0xae, 0xc7, - 0x00, 0x00, 0x4a, 0xcd, 0x09, - 0x00, 0x00, 0x4e, 0x63, 0xc7, - 0x00, 0x00, 0xda, 0x24, 0xc4, - 0x00, 0x00, 0xda, 0x24, 0xc4, - 0x00, 0x00, 0x53, 0x6f, 0xc5, - 0x00, 0x00, 0x4e, 0xa8, 0x44, - 0x00, 0x00, 0x4a, 0xb2, 0x0a, - 0x00, 0x00, 0x48, 0x76, 0x46, - 0x00, 0x00, 0x51, 0x5e, 0xc4, - 0x00, 0x00, 0x5a, 0xfb, 0xc5, - 0x00, 0x00, 0x59, 0xcc, 0x85, - 0x00, 0x00, 0x4c, 0xaf, 0xc4, - 0x00, 0x00, 0x49, 0x20, 0xc7, - 0x00, 0x00, 0x5d, 0x8d, 0x87, - 0x00, 0x00, 0x4e, 0x5f, 0xc8, - 0x00, 0x00, 0x58, 0xc2, 0xc8, - 0x00, 0x00, 0x40, 0x34, 0xc9, - 0x00, 0x00, 0x51, 0x66, 0x88, - 0x00, 0x00, 0x49, 0x72, 0x8b, - 0x00, 0x00, 0x47, 0x5e, 0xc4, - 0x00, 0x00, 0x55, 0xf7, 0x45, - 0x00, 0x00, 0x48, 0xec, 0xc5, - 0x00, 0x00, 0x4d, 0x17, 0x89, - 0x00, 0x00, 0x40, 0xcc, 0x09, - 0x00, 0x00, 0x4f, 0xcd, 0x08, - 0x00, 0x00, 0x44, 0x54, 0x48, - 0x00, 0x00, 0x46, 0x18, 0x44, - 0x00, 0x00, 0x49, 0x82, 0xc5, - 0x00, 0x00, 0x40, 0xba, 0x83, - 0x00, 0x00, 0x47, 0x5e, 0x85, - 0x00, 0x00, 0x4a, 0xb8, 0xc6, - 0x00, 0x00, 0x4a, 0x61, 0x4c, - 0x00, 0x00, 0x41, 0x34, 0x06, - 0x00, 0x00, 0x48, 0x89, 0x06, - 0x00, 0x00, 0x49, 0xa0, 0x05, - 0x00, 0x00, 0x4c, 0x6c, 0x88, - 0x00, 0x00, 0x4e, 0x61, 0x46, - 0x00, 0x00, 0x4a, 0x6a, 0x06, - 0x00, 0x00, 0x41, 0x36, 0x86, - 0x00, 0x00, 0x42, 0x2e, 0x4c, - 0x00, 0x00, 0x48, 0x00, 0x44, - 0x00, 0x00, 0x57, 0x34, 0x0a, - 0x00, 0x00, 0x49, 0x9f, 0x48, - 0x00, 0x00, 0x4a, 0x5f, 0x87, - 0x00, 0x00, 0x52, 0x4b, 0x06, - 0x00, 0x00, 0x43, 0x83, 0x07, - 0x00, 0x00, 0x50, 0x88, 0x85, - 0x00, 0x00, 0x57, 0xb1, 0x06, - 0x00, 0x00, 0x56, 0x33, 0x86, - 0x00, 0x00, 0x57, 0xae, 0xc7, - 0x00, 0x00, 0x4d, 0x2d, 0xc4, - 0x00, 0x00, 0x5f, 0x34, 0x45, - 0x00, 0x00, 0x48, 0x71, 0x44, - 0x00, 0x00, 0x4c, 0x00, 0x47, - 0x00, 0x00, 0x48, 0x73, 0x88, - 0x00, 0x00, 0x48, 0x82, 0x8a, - 0x00, 0x00, 0x48, 0xfe, 0x87, - 0x00, 0x00, 0x4b, 0xb6, 0xc7, - 0x00, 0x00, 0x55, 0x54, 0x87, - 0x00, 0x00, 0x4f, 0x65, 0xc9, - 0x00, 0x00, 0x4a, 0x61, 0x4a, - 0x00, 0x00, 0x42, 0x74, 0x83, - 0x00, 0x00, 0x50, 0xf6, 0x45, - 0x00, 0x00, 0x40, 0xb0, 0x83, - 0x00, 0x00, 0x4c, 0xe2, 0x89, - 0x00, 0x00, 0x58, 0x59, 0x08, - 0x00, 0x00, 0x56, 0xf8, 0x47, - 0x00, 0x00, 0x53, 0x48, 0x09, - 0x00, 0x00, 0x41, 0x34, 0x86, - 0x00, 0x00, 0x42, 0x14, 0xc8, - 0x00, 0x00, 0x55, 0x25, 0x45, - 0x00, 0x00, 0x44, 0xd9, 0xca, - 0x00, 0x00, 0x4f, 0x70, 0x89, - 0x00, 0x00, 0x47, 0xec, 0x09, - 0x00, 0x00, 0x4d, 0xec, 0x07, - 0x00, 0x00, 0x56, 0x5c, 0x09, - 0x00, 0x00, 0x40, 0xaf, 0x48, - 0x00, 0x00, 0x40, 0x5d, 0xc6, - 0x00, 0x00, 0x51, 0xfc, 0x88, - 0x00, 0x00, 0x5d, 0x61, 0x07, - 0x00, 0x00, 0x42, 0x75, 0xc7, - 0x00, 0x00, 0x4b, 0x16, 0x07, - 0x00, 0x00, 0x4c, 0x8d, 0x48, - 0x00, 0x00, 0x59, 0xde, 0xc6, - 0x00, 0x00, 0x4b, 0x2e, 0x45, - 0x00, 0x00, 0x48, 0xae, 0xc7, - 0x00, 0x00, 0x4a, 0x6c, 0x48, - 0x00, 0x00, 0x57, 0x32, 0x44, - 0x00, 0x00, 0x5e, 0x57, 0x84, - 0x00, 0x00, 0x49, 0xf3, 0xc7, - 0x00, 0x00, 0x4c, 0x12, 0x87, - 0x00, 0x00, 0x47, 0xee, 0x4a, - 0x00, 0x00, 0x40, 0x5d, 0x46, - 0x00, 0x00, 0x5e, 0xdd, 0x0a, - 0x00, 0x00, 0x4d, 0x75, 0x07, - 0x00, 0x00, 0x43, 0x8e, 0x87, - 0x00, 0x00, 0x5f, 0x35, 0x04, - 0x00, 0x00, 0x49, 0xb4, 0x84, - 0x00, 0x00, 0x4e, 0x96, 0x86, - 0x00, 0x00, 0x5d, 0x9e, 0x44, - 0x00, 0x00, 0x5d, 0x9e, 0x4c, - 0x00, 0x00, 0x51, 0x5e, 0x05, - 0x00, 0x00, 0x40, 0xca, 0x49, - 0x00, 0x00, 0x45, 0x66, 0x04, - 0x00, 0x00, 0x4c, 0xb0, 0x85, - 0x00, 0x00, 0x41, 0xfe, 0x88, - 0x00, 0x00, 0x49, 0xe7, 0x45, - 0x00, 0x00, 0x53, 0xca, 0x86, - 0x00, 0x00, 0x4a, 0x20, 0xc4, - 0x00, 0x00, 0x4a, 0x41, 0x4a, - 0x00, 0x00, 0x4d, 0xe4, 0x06, - 0x00, 0x00, 0x4b, 0xbb, 0x8a, - 0x00, 0x00, 0x40, 0xc6, 0x47, - 0x00, 0x00, 0x49, 0xfa, 0x45, - 0x00, 0x00, 0x42, 0xbe, 0x85, - 0x00, 0x00, 0x44, 0x03, 0x4a, - 0x00, 0x00, 0x44, 0xba, 0x45, - 0x00, 0x00, 0x4b, 0x0f, 0x86, - 0x00, 0x00, 0x44, 0x6d, 0x84, - 0x00, 0x00, 0x4c, 0x86, 0x46, - 0x00, 0x00, 0x5a, 0xf1, 0x45, - 0x00, 0x00, 0x5c, 0xf2, 0x06, - 0x00, 0x00, 0x50, 0x2d, 0x4c, - 0x00, 0x00, 0x53, 0xe9, 0x0a, - 0x00, 0x00, 0x4b, 0x08, 0xc4, - 0x00, 0x00, 0x42, 0x78, 0x06, - 0x00, 0x00, 0x4a, 0xcc, 0x87, - 0x00, 0x00, 0x4e, 0xb1, 0x44, - 0x00, 0x00, 0x55, 0x39, 0xc8, - 0x00, 0x00, 0x4d, 0x9a, 0x46, - 0x00, 0x00, 0x59, 0x9c, 0x89, - 0x00, 0x00, 0x57, 0xa6, 0x89, - 0x00, 0x00, 0x4b, 0xdf, 0x89, - 0x00, 0x00, 0x51, 0x27, 0xc6, - 0x00, 0x00, 0x5d, 0x62, 0x06, - 0x00, 0x00, 0x51, 0xfd, 0xc7, - 0x00, 0x00, 0x5d, 0x5d, 0x48, - 0x00, 0x00, 0x5d, 0x60, 0x09, - 0x00, 0x00, 0x53, 0x71, 0x47, - 0x00, 0x00, 0x4a, 0x53, 0x06, - 0x00, 0x00, 0x5c, 0xe8, 0x07, - 0x00, 0x00, 0x56, 0x0d, 0xc5, - 0x00, 0x00, 0x43, 0x90, 0xc4, - 0x00, 0x00, 0x51, 0xf9, 0x87, - 0x00, 0x00, 0x5b, 0x61, 0x45, - 0x00, 0x00, 0x49, 0x64, 0x45, - 0x00, 0x00, 0x58, 0xd1, 0x87, - 0x00, 0x00, 0x44, 0xb8, 0x48, - 0x00, 0x00, 0x5e, 0x08, 0x06, - 0x00, 0x00, 0x4a, 0x7a, 0xcd, - 0x00, 0x00, 0x4a, 0x99, 0x0f, - 0x00, 0x00, 0x4a, 0xe4, 0x4d, - 0x00, 0x00, 0x40, 0x85, 0x84, - 0x00, 0x00, 0x43, 0x6f, 0xc6, - 0x00, 0x00, 0x4e, 0xdf, 0x08, - 0x00, 0x00, 0x4f, 0xfd, 0xc5, - 0x00, 0x00, 0x44, 0x08, 0x08, - 0x00, 0x00, 0x48, 0xbd, 0x8a, - 0x00, 0x00, 0x44, 0xbf, 0xc4, - 0x00, 0x00, 0x4c, 0xb9, 0x86, - 0x00, 0x00, 0x4d, 0x4e, 0x47, - 0x00, 0x00, 0x41, 0x1c, 0xc7, - 0x00, 0x00, 0x5c, 0xd7, 0x09, - 0x00, 0x00, 0x51, 0xfc, 0x45, - 0x00, 0x00, 0x4c, 0xaf, 0xc4, - 0x00, 0x00, 0x4c, 0xc9, 0x4a, - 0x00, 0x00, 0x4d, 0x2b, 0x89, - 0x00, 0x00, 0x56, 0x5d, 0x07, - 0x00, 0x00, 0x56, 0x45, 0xc6, - 0x00, 0x00, 0x54, 0x0e, 0xc6, - 0x00, 0x00, 0x49, 0x82, 0x06, - 0x00, 0x00, 0x46, 0x7f, 0x86, - 0x00, 0x00, 0x56, 0x57, 0xcf, - 0x00, 0x00, 0x4e, 0xdd, 0xc9, - 0x00, 0x00, 0x44, 0xd6, 0xc6, - 0x00, 0x00, 0x46, 0x8c, 0x86, - 0x00, 0x00, 0x5d, 0xb2, 0x09, - 0x00, 0x00, 0x4c, 0xb7, 0xc7, - 0x00, 0x00, 0x40, 0x0e, 0x83, - 0x00, 0x00, 0x42, 0x2f, 0xc6, - 0x00, 0x00, 0x41, 0x3b, 0x83, - 0x00, 0x00, 0x56, 0x02, 0x48, - 0x00, 0x00, 0x47, 0xd5, 0x07, - 0x00, 0x00, 0x4b, 0x1a, 0x49, - 0x00, 0x00, 0x4b, 0x39, 0x48, - 0x00, 0x00, 0x41, 0x0c, 0x08, - 0x00, 0x00, 0x56, 0x0a, 0xc6, - 0x00, 0x00, 0x42, 0x9e, 0xc9, - 0x00, 0x00, 0x45, 0xe1, 0x85, - 0x00, 0x00, 0x42, 0xf4, 0xc4, - 0x00, 0x00, 0x4f, 0x6f, 0x47, - 0x00, 0x00, 0x58, 0x9a, 0xc5, - 0x00, 0x00, 0x40, 0x85, 0x84, - 0x00, 0x00, 0x43, 0x39, 0xc8, - 0x00, 0x00, 0x41, 0x5a, 0xc4, - 0x00, 0x00, 0x4c, 0xb5, 0x07, - 0x00, 0x00, 0x4d, 0xd8, 0x86, - 0x00, 0x00, 0x47, 0x11, 0x05, - 0x00, 0x00, 0x4a, 0xa0, 0x08, - 0x00, 0x00, 0x54, 0x0d, 0x8b, - 0x00, 0x00, 0x51, 0x4f, 0x87, - 0x00, 0x00, 0x44, 0x05, 0xc6, - 0x00, 0x00, 0x4e, 0x15, 0xc4, - 0x00, 0x00, 0x5d, 0x33, 0xc6, - 0x00, 0x00, 0x47, 0x9a, 0x45, - 0x00, 0x00, 0x5b, 0x61, 0x45, - 0x00, 0x00, 0x48, 0xe8, 0x49, - 0x00, 0x00, 0x49, 0x1c, 0xc9, - 0x00, 0x00, 0x42, 0x76, 0x04, - 0x00, 0x00, 0x42, 0x76, 0x45, - 0x00, 0x00, 0x41, 0x0c, 0xc5, - 0x00, 0x00, 0x44, 0xd8, 0x46, - 0x00, 0x00, 0x51, 0x4b, 0x88, - 0x00, 0x00, 0x4d, 0x65, 0x46, - 0x00, 0x00, 0x40, 0xdf, 0x4b, - 0x00, 0x00, 0x4c, 0x49, 0x4a, - 0x00, 0x00, 0x4d, 0x14, 0x45, - 0x00, 0x00, 0x49, 0xae, 0xc6, - 0x00, 0x00, 0x42, 0xf9, 0x85, - 0x00, 0x00, 0x52, 0x68, 0x85, - 0x00, 0x00, 0x44, 0x21, 0xc7, - 0x00, 0x00, 0x5b, 0xdc, 0x48, - 0x00, 0x00, 0x47, 0x2f, 0x44, - 0x00, 0x00, 0x59, 0x3d, 0x46, - 0x00, 0x00, 0x49, 0xe7, 0x06, - 0x00, 0x00, 0x40, 0xb1, 0x07, - 0x00, 0x00, 0x52, 0xb3, 0x84, - 0x00, 0x00, 0x48, 0xd4, 0x86, - 0x00, 0x00, 0x4f, 0xd0, 0x85, - 0x00, 0x00, 0x4f, 0xd0, 0x89, - 0x00, 0x00, 0x5d, 0x64, 0x04, - 0x00, 0x00, 0x51, 0x11, 0x49, - 0x00, 0x00, 0x48, 0xa2, 0xc6, - 0x00, 0x00, 0x4d, 0x87, 0xc8, - 0x00, 0x00, 0x41, 0x0c, 0xc5, - 0x00, 0x00, 0x59, 0x9f, 0x05, - 0x00, 0x00, 0x5c, 0xf2, 0x06, - 0x00, 0x00, 0x4f, 0x77, 0x09, - 0x00, 0x00, 0x40, 0xec, 0xc9, - 0x00, 0x00, 0x48, 0x89, 0x86, - 0x00, 0x00, 0x4e, 0x8a, 0xc8, - 0x00, 0x00, 0x49, 0xc8, 0x88, - 0x00, 0x00, 0x42, 0xf9, 0x44, - 0x00, 0x00, 0x4c, 0xd1, 0x04, - 0x00, 0x00, 0x4c, 0xd1, 0x08, - 0x00, 0x00, 0x5c, 0x54, 0x88, - 0x00, 0x00, 0x55, 0xf9, 0x09, - 0x00, 0x00, 0x4a, 0xb8, 0x46, - 0x00, 0x00, 0x41, 0x36, 0x86, - 0x00, 0x00, 0x54, 0x03, 0x4d, - 0x00, 0x00, 0x50, 0xef, 0xc6, - 0x00, 0x00, 0x57, 0x11, 0xc9, - 0x00, 0x00, 0x4f, 0xd5, 0x05, - 0x00, 0x00, 0x59, 0xe6, 0x86, - 0x00, 0x00, 0x5d, 0xcc, 0x08, - 0x00, 0x00, 0x53, 0xc9, 0xc5, - 0x00, 0x00, 0x5b, 0x5f, 0xc4, - 0x00, 0x00, 0x47, 0x9a, 0x45, - 0x00, 0x00, 0x49, 0x16, 0xc8, - 0x00, 0x00, 0x4a, 0xaf, 0xc9, - 0x00, 0x00, 0x48, 0x72, 0x04, - 0x00, 0x00, 0x4c, 0xdf, 0x06, - 0x00, 0x00, 0x4e, 0xb7, 0x8a, - 0x00, 0x00, 0x51, 0x8e, 0xc8, - 0x00, 0x00, 0x47, 0xef, 0xc9, - 0x00, 0x00, 0x48, 0xab, 0x4a, - 0x00, 0x00, 0x53, 0x47, 0x86, - 0x00, 0x00, 0x4a, 0x9a, 0xc8, - 0x00, 0x00, 0x57, 0x8e, 0x45, - 0x00, 0x00, 0x49, 0xa1, 0xc8, - 0x00, 0x00, 0x50, 0x89, 0x05, - 0x00, 0x00, 0x41, 0x33, 0x49, - 0x00, 0x00, 0x54, 0x29, 0xc9, - 0x00, 0x00, 0x42, 0x69, 0x42, - 0x00, 0x00, 0x4d, 0x04, 0x85, - 0x00, 0x00, 0x48, 0xed, 0x86, - 0x00, 0x00, 0x48, 0xa2, 0x07, - 0x00, 0x00, 0x45, 0x75, 0x05, - 0x00, 0x00, 0x4f, 0x6b, 0xc6, - 0x00, 0x00, 0x58, 0x33, 0xc8, - 0x00, 0x00, 0x4a, 0xa8, 0x06, - 0x00, 0x00, 0x57, 0x00, 0x09, - 0x00, 0x00, 0x48, 0x95, 0x46, - 0x00, 0x00, 0x46, 0x30, 0x48, - 0x00, 0x00, 0x4b, 0xc8, 0x05, - 0x00, 0x00, 0x45, 0x53, 0x46, - 0x00, 0x00, 0x5d, 0xc1, 0x08, - 0x00, 0x00, 0x49, 0x0e, 0x08, - 0x00, 0x00, 0x58, 0x56, 0xc8, - 0x00, 0x00, 0x52, 0x19, 0x48, - 0x00, 0x00, 0x41, 0x81, 0x44, - 0x00, 0x00, 0x42, 0xbc, 0x83, - 0x00, 0x00, 0x57, 0x02, 0x44, - 0x00, 0x00, 0x49, 0x00, 0x86, - 0x00, 0x00, 0x56, 0x0e, 0x04, - 0x00, 0x00, 0x43, 0xd2, 0x87, - 0x00, 0x00, 0x4a, 0x69, 0x09, - 0x00, 0x00, 0x4e, 0x0e, 0xc5, - 0x00, 0x00, 0x43, 0x65, 0xc6, - 0x00, 0x00, 0x42, 0x2f, 0xc6, - 0x00, 0x00, 0x4a, 0x31, 0x8b, - 0x00, 0x00, 0x4c, 0xa2, 0x86, - 0x00, 0x00, 0x49, 0x42, 0x06, - 0x00, 0x00, 0x4e, 0x08, 0x08, - 0x00, 0x00, 0x44, 0x59, 0x46, - 0x00, 0x00, 0x49, 0xf8, 0x43, - 0x00, 0x00, 0x41, 0x31, 0x83, - 0x00, 0x00, 0x43, 0x90, 0xc4, - 0x00, 0x00, 0x43, 0x11, 0x05, - 0x00, 0x00, 0x4d, 0xa8, 0x07, - 0x00, 0x00, 0x48, 0x73, 0x88, - 0x00, 0x00, 0x48, 0x73, 0x8f, - 0x00, 0x00, 0x48, 0xad, 0xcb, - 0x00, 0x00, 0x51, 0x49, 0x88, - 0x00, 0x00, 0x4c, 0xdf, 0x86, - 0x00, 0x00, 0x51, 0x4c, 0x8e, - 0x00, 0x00, 0x41, 0x10, 0xc3, - 0x00, 0x00, 0x4d, 0xa7, 0x84, - 0x00, 0x00, 0x4c, 0xa2, 0x05, - 0x00, 0x00, 0x4c, 0xae, 0x46, - 0x00, 0x00, 0x49, 0xc4, 0xcb, - 0x00, 0x00, 0x4a, 0x0b, 0x46, - 0x00, 0x00, 0x41, 0xaa, 0xc9, - 0x00, 0x00, 0x47, 0x11, 0x05, - 0x00, 0x00, 0x46, 0x12, 0xc8, - 0x00, 0x00, 0x5f, 0x3c, 0x08, - 0x00, 0x00, 0x40, 0xeb, 0x8c, - 0x00, 0x00, 0x4a, 0xf5, 0x46, - 0x00, 0x00, 0x47, 0x5e, 0xc6, - 0x00, 0x00, 0x4c, 0xf1, 0x05, - 0x00, 0x00, 0x49, 0x6f, 0x08, - 0x00, 0x00, 0x48, 0xa8, 0xc5, - 0x00, 0x00, 0x47, 0x38, 0xc8, - 0x00, 0x00, 0x4a, 0xbd, 0xca, - 0x00, 0x00, 0x4a, 0xe8, 0x89, - 0x00, 0x00, 0xda, 0x24, 0xc4, - 0x00, 0x00, 0x40, 0x00, 0xc2, - 0x00, 0xaa, 0x40, 0x22, 0x02, - 0x00, 0x00, 0x40, 0x03, 0x82, - 0x00, 0x00, 0x45, 0x03, 0xc4, - 0x00, 0x00, 0x40, 0x0e, 0xc2, - 0x00, 0x00, 0x42, 0x8f, 0x84, - 0x00, 0x00, 0x40, 0x18, 0xc2, - 0x00, 0x00, 0x40, 0x03, 0xc2, - 0x00, 0x00, 0x40, 0x2e, 0xc2, - 0x00, 0x00, 0x1b, 0x96, 0x88, - 0x00, 0x00, 0x00, 0x62, 0x04, - 0x00, 0x00, 0x40, 0x66, 0x43, - 0x00, 0x00, 0x41, 0xf6, 0x03, - 0x00, 0x00, 0x40, 0x55, 0x03, - 0x00, 0x00, 0x00, 0x5c, 0xc2, - 0x00, 0x00, 0x05, 0x10, 0xc2, - 0x00, 0x00, 0x40, 0x65, 0x43, - 0x00, 0x00, 0x41, 0x09, 0xc3, - 0x00, 0x00, 0x41, 0xf1, 0x43, - 0x00, 0x00, 0x02, 0x4b, 0x42, - 0x00, 0x00, 0x00, 0x5f, 0xc2, - 0x00, 0x00, 0x00, 0x26, 0x42, - 0x00, 0x00, 0x45, 0x0b, 0x03, - 0x00, 0x00, 0x40, 0x66, 0x43, - 0x00, 0x00, 0x41, 0xf6, 0x03, - 0x00, 0x00, 0x40, 0x55, 0x03, - 0x00, 0x00, 0x45, 0x03, 0xc4, - 0x00, 0x00, 0x41, 0x09, 0xc3, - 0x00, 0x00, 0x41, 0xf1, 0x43, - 0x00, 0x00, 0x41, 0x4f, 0x03, - 0x00, 0x00, 0x41, 0x4f, 0x04, - 0x00, 0x00, 0x40, 0x66, 0x43, - 0x00, 0x00, 0x43, 0x92, 0xc4, - 0x00, 0x00, 0x41, 0xf6, 0x03, - 0x00, 0x00, 0x4e, 0x40, 0x84, - 0x00, 0x00, 0x40, 0x55, 0x03, - 0x00, 0x00, 0x45, 0x77, 0xc7, - 0x00, 0x00, 0x40, 0x65, 0x43, - 0x00, 0x00, 0x41, 0xd7, 0x83, - 0x00, 0x00, 0x43, 0xd5, 0xc8, - 0x00, 0x00, 0x41, 0xf1, 0x43, - 0x00, 0x00, 0x48, 0xcc, 0x4b, - 0x00, 0x00, 0x50, 0x9b, 0x43, - 0x00, 0x00, 0x41, 0x2f, 0xc6, - 0x00, 0x00, 0x43, 0xd9, 0x42, - 0x00, 0x00, 0x50, 0x46, 0x8b, - 0x00, 0x00, 0x41, 0xf6, 0x03, - 0x00, 0x00, 0x40, 0x55, 0x03, - 0x00, 0x00, 0x41, 0x09, 0xc3, - 0x00, 0x00, 0x41, 0xf1, 0x43, - 0x00, 0x00, 0x40, 0x66, 0x43, - 0x00, 0x00, 0x41, 0xf6, 0x03, - 0x00, 0x00, 0x40, 0x55, 0x03, - 0x00, 0x00, 0x41, 0xf1, 0x43, - 0x00, 0x00, 0x40, 0xef, 0x83, - 0x00, 0x00, 0x42, 0x4c, 0xc3, - 0x00, 0x00, 0x40, 0x00, 0xc2, - 0x00, 0x00, 0x1b, 0x96, 0x88, - 0x00, 0x00, 0x42, 0xc4, 0x45, - 0x00, 0x00, 0x5b, 0x61, 0xc8, - 0x00, 0x00, 0x4e, 0x41, 0xc8, - 0x00, 0x00, 0x40, 0x22, 0x02, - 0x00, 0x00, 0x56, 0xb1, 0x45, - 0x00, 0x00, 0x5c, 0xe9, 0x47, - 0x00, 0x00, 0x40, 0x13, 0x42, - 0x00, 0x00, 0x4d, 0x29, 0xc7, - 0x00, 0x00, 0x40, 0x03, 0x82, - 0x00, 0x00, 0x45, 0x94, 0xc7, - 0x00, 0x00, 0x43, 0xc3, 0xc9, - 0x00, 0x00, 0x47, 0xa2, 0x88, - 0x00, 0x00, 0x49, 0x45, 0xc9, - 0x00, 0x00, 0x40, 0xd8, 0x42, - 0x00, 0x00, 0x5a, 0xf9, 0xc7, - 0x00, 0x00, 0x58, 0xca, 0x04, - 0x00, 0x00, 0x5c, 0xea, 0x07, - 0x00, 0x00, 0x4c, 0x48, 0x47, - 0x00, 0x00, 0x4d, 0x57, 0x82, - 0x00, 0x00, 0x40, 0x65, 0x43, - 0x00, 0x00, 0x40, 0x3c, 0x42, - 0x00, 0x00, 0x40, 0x18, 0xc2, - 0x00, 0x00, 0x40, 0x03, 0xc2, - 0x00, 0x00, 0x40, 0x20, 0xc2, - 0x00, 0x00, 0x40, 0x09, 0x02, - 0x00, 0x00, 0x40, 0x2e, 0xc2, - 0x00, 0x00, 0x59, 0xff, 0xc5, - 0x00, 0x00, 0x41, 0x05, 0x45, - 0x00, 0x00, 0x00, 0x22, 0x02, - 0x00, 0x00, 0x01, 0xf6, 0x03, - 0x00, 0x00, 0x40, 0x66, 0x43, - 0x00, 0x00, 0x41, 0xf6, 0x03, - 0x00, 0x00, 0x42, 0xb4, 0x83, - 0x00, 0x00, 0x40, 0x55, 0x03, - 0x00, 0x00, 0x40, 0x36, 0xc3, - 0x00, 0x00, 0x41, 0x09, 0xc3, - 0x00, 0x00, 0x41, 0xf1, 0x43, - 0x00, 0x00, 0x40, 0x66, 0x43, - 0x00, 0x00, 0x41, 0xf6, 0x03, - 0x00, 0x00, 0x40, 0x55, 0x03, - 0x00, 0x00, 0x41, 0x09, 0xc3, - 0x00, 0x00, 0x41, 0xf1, 0x43, - 0x00, 0x00, 0x40, 0x66, 0x43, - 0x00, 0x00, 0x41, 0xf6, 0x03, - 0x00, 0x00, 0x40, 0x55, 0x03, - 0x00, 0x00, 0x15, 0x7f, 0x86, - 0x00, 0xaf, 0xc9, 0xdf, 0x8b, - 0x00, 0x00, 0x40, 0x65, 0x43, - 0x00, 0x00, 0x41, 0x09, 0xc3, - 0x00, 0x00, 0x41, 0xf1, 0x43, - 0x00, 0x00, 0x15, 0x72, 0x85, - 0x00, 0x00, 0x00, 0xb4, 0xc3, - 0x00, 0x00, 0x00, 0x01, 0x01, - 0x00, 0x00, 0x40, 0x66, 0x43, - 0x00, 0x00, 0x41, 0xf6, 0x03, - 0x00, 0x00, 0x40, 0x55, 0x03, - 0x00, 0x00, 0x45, 0x03, 0xc4, - 0x00, 0x00, 0x41, 0x1e, 0x43, - 0x00, 0x00, 0x41, 0x09, 0xc3, - 0x00, 0x00, 0x41, 0xf1, 0x43, - 0x00, 0x00, 0x41, 0x9d, 0xc3, - 0x00, 0xb1, 0x05, 0x49, 0x86, - 0x00, 0x00, 0x01, 0xa6, 0xc3, - 0x00, 0x00, 0x0f, 0xdd, 0x45, - 0x00, 0x00, 0x40, 0x66, 0x43, - 0x00, 0x00, 0x41, 0xf6, 0x03, - 0x00, 0x00, 0x40, 0x55, 0x03, - 0x00, 0x00, 0x41, 0x09, 0xc3, - 0x00, 0x00, 0x41, 0xf1, 0x43, - 0x00, 0x00, 0x40, 0x22, 0x02, - 0x00, 0x00, 0x40, 0x66, 0x43, - 0x00, 0x00, 0x41, 0xf6, 0x03, - 0x00, 0x00, 0x40, 0x55, 0x03, - 0x00, 0x00, 0x41, 0x09, 0xc3, - 0x00, 0x00, 0x41, 0xf1, 0x43, - 0x00, 0x00, 0x00, 0x5b, 0x82, - 0x00, 0x00, 0x1b, 0x96, 0x88, - 0x00, 0x00, 0x02, 0xf8, 0x43, - 0x00, 0x00, 0x04, 0xaf, 0xc4, - 0x00, 0x02, 0x88, 0x4a, 0xc4, - 0x00, 0x00, 0x0f, 0x68, 0x85, - 0x00, 0x00, 0x1a, 0x56, 0x43, - 0x00, 0x00, 0x40, 0x00, 0xc2, - 0x00, 0x00, 0x59, 0xab, 0x04, - 0x00, 0x00, 0x40, 0x66, 0x43, - 0x00, 0x00, 0x41, 0xf6, 0x03, - 0x00, 0x00, 0x40, 0x55, 0x03, - 0x00, 0x00, 0x45, 0x2b, 0x83, - 0x00, 0x00, 0x42, 0xf2, 0xc5, - 0x00, 0x00, 0x41, 0x1e, 0x43, - 0x00, 0x00, 0x40, 0xf7, 0x43, - 0x00, 0x00, 0x41, 0x09, 0xc3, - 0x00, 0x00, 0x42, 0xb6, 0x43, - 0x00, 0x00, 0x41, 0xf1, 0x43, - 0x00, 0x00, 0x41, 0x3d, 0xc3, - 0x00, 0x00, 0x41, 0x4f, 0x83, - 0x00, 0x00, 0x40, 0x0f, 0x83, - 0x00, 0x00, 0x0c, 0x7f, 0x03, - 0x00, 0x00, 0x00, 0x05, 0xc2, - 0x00, 0x00, 0x02, 0x32, 0xc2, - 0x00, 0x00, 0x40, 0x66, 0x43, - 0x00, 0x00, 0x41, 0xf6, 0x03, - 0x00, 0x00, 0x40, 0x55, 0x03, - 0x00, 0x00, 0x41, 0x09, 0xc3, - 0x00, 0x00, 0x41, 0xf1, 0x43, - 0x00, 0x00, 0x40, 0x00, 0xc2, - 0x00, 0x00, 0x45, 0x0b, 0x03, - 0x00, 0x00, 0x40, 0x22, 0x02, - 0x00, 0x00, 0x00, 0x23, 0xc2, - 0x00, 0x00, 0x41, 0xf6, 0x03, - 0x00, 0x00, 0x40, 0x55, 0x03, - 0x00, 0x00, 0x45, 0x03, 0xc4, - 0x00, 0x00, 0x41, 0x09, 0xc3, - 0x00, 0x00, 0x41, 0xf1, 0x43, - 0x00, 0x00, 0x40, 0x2e, 0xc2, - 0x00, 0x00, 0x1b, 0x96, 0x88, - 0x00, 0x00, 0x40, 0x55, 0x03, - 0x00, 0x00, 0x1b, 0x96, 0x88, - 0x00, 0x00, 0x47, 0x68, 0x03, - 0x00, 0x00, 0x40, 0x66, 0x43, - 0x00, 0x00, 0x43, 0x21, 0x84, - 0x00, 0x00, 0x41, 0xf6, 0x03, - 0x00, 0x00, 0x40, 0x55, 0x03, - 0x00, 0x00, 0x40, 0x30, 0x42, - 0x00, 0x00, 0x40, 0x65, 0x43, - 0x00, 0x00, 0x41, 0x09, 0xc3, - 0x00, 0x00, 0x41, 0xf1, 0x43, - 0x00, 0x00, 0x40, 0x66, 0x43, - 0x00, 0x00, 0x41, 0xf6, 0x03, - 0x00, 0x00, 0x40, 0x55, 0x03, - 0x00, 0x00, 0x40, 0x30, 0x42, - 0x00, 0x00, 0x43, 0xdd, 0xc3, - 0x00, 0x00, 0x41, 0x09, 0xc3, - 0x00, 0x00, 0x41, 0xf1, 0x43, - 0x00, 0x00, 0x50, 0x36, 0x43, - 0x00, 0x00, 0x41, 0x3d, 0xc3, - 0x00, 0x00, 0x40, 0x00, 0xc2, - 0x00, 0x00, 0x40, 0x22, 0x02, - 0x00, 0x00, 0x40, 0x55, 0x03, - 0x00, 0x00, 0x41, 0x09, 0xc3, - 0x00, 0x00, 0x41, 0xf1, 0x43, - 0x00, 0x00, 0x41, 0x2f, 0xc5, - 0x00, 0x00, 0x1f, 0x07, 0x86, - 0x00, 0x00, 0x07, 0x25, 0x44, - 0x00, 0x00, 0x0b, 0xdc, 0x04, - 0x00, 0x00, 0x41, 0x4f, 0x04, - 0x00, 0x00, 0x43, 0xd9, 0x42, - 0x00, 0x00, 0x00, 0x08, 0x82, - 0x00, 0x00, 0x1b, 0x96, 0x88, - 0x00, 0x00, 0x00, 0x23, 0xc2, - 0x00, 0x00, 0x05, 0x10, 0xc2, - 0x00, 0x00, 0x00, 0xc6, 0x42, - 0x00, 0x00, 0x40, 0x00, 0xc2, - 0x00, 0x00, 0x14, 0xcb, 0x05, - 0x00, 0x00, 0x02, 0x0e, 0x08, - 0x00, 0x00, 0x0b, 0x2c, 0x83, - 0x00, 0x00, 0x40, 0x22, 0x02, - 0x00, 0x00, 0x03, 0xfb, 0xc4, - 0x00, 0xbb, 0x95, 0xd9, 0x86, - 0x00, 0x00, 0x02, 0x60, 0x84, - 0x00, 0x00, 0x0b, 0xa9, 0x4b, - 0x00, 0x00, 0x03, 0xc7, 0x46, - 0x00, 0x00, 0x08, 0x2b, 0x87, - 0x00, 0x00, 0x0a, 0x13, 0x09, - 0x00, 0x00, 0x41, 0xf6, 0x03, - 0x00, 0x00, 0x04, 0xf6, 0x88, - 0x00, 0x00, 0x04, 0xf6, 0x8b, - 0x00, 0x00, 0x04, 0xfb, 0x0b, - 0x00, 0x00, 0x05, 0x08, 0x8b, - 0x00, 0x00, 0x05, 0x0b, 0xcb, - 0x00, 0x00, 0x05, 0x0e, 0x8b, - 0x00, 0x00, 0x05, 0x12, 0xcb, - 0x00, 0x00, 0x1c, 0x1b, 0x46, - 0x00, 0x00, 0x40, 0x55, 0x03, - 0x00, 0x00, 0x1c, 0x9f, 0x45, - 0x00, 0x00, 0x1a, 0x35, 0x04, - 0x00, 0x00, 0x41, 0xbd, 0x03, - 0x00, 0x00, 0x12, 0x17, 0x87, - 0x00, 0x00, 0x16, 0x57, 0x06, - 0x00, 0x00, 0x13, 0x75, 0x85, - 0x00, 0x00, 0x00, 0x20, 0x44, - 0x00, 0x00, 0x0f, 0x28, 0xc4, - 0x00, 0x00, 0x41, 0x09, 0xc3, - 0x00, 0x00, 0x08, 0x8a, 0x86, - 0x00, 0x00, 0x11, 0xff, 0x04, - 0x00, 0x00, 0x41, 0xf1, 0x43, - 0x00, 0x00, 0x50, 0xa9, 0x04, - 0x00, 0x00, 0x13, 0x7a, 0x47, - 0x00, 0x00, 0x1f, 0x03, 0x89, - 0x00, 0x00, 0x0b, 0xa7, 0x08, - 0x00, 0x00, 0x1e, 0x67, 0x85, - 0x00, 0x00, 0x02, 0x3d, 0xc4, - 0x00, 0x00, 0x1c, 0xeb, 0x44, - 0x00, 0x00, 0x03, 0x68, 0xc3, - 0x00, 0x00, 0x1d, 0xea, 0x03, - 0x00, 0x00, 0x05, 0x41, 0x46, - 0x00, 0x00, 0x1d, 0x78, 0x08, - 0x00, 0x00, 0x1a, 0xea, 0x85, - 0x00, 0x00, 0x1a, 0x2c, 0x89, - 0x00, 0x00, 0x01, 0xe1, 0x43, - 0x00, 0x00, 0x10, 0x0a, 0x86, - 0x00, 0x00, 0x14, 0xcb, 0x05, - 0x00, 0x00, 0x40, 0x22, 0x02, - 0x00, 0x00, 0x40, 0x66, 0x43, - 0x00, 0x00, 0x41, 0xf6, 0x03, - 0x00, 0x00, 0x40, 0x55, 0x03, - 0x00, 0x00, 0x40, 0x65, 0x43, - 0x00, 0x00, 0x41, 0xd7, 0x83, - 0x00, 0x00, 0x41, 0xf1, 0x43, - 0x00, 0x00, 0x50, 0x9b, 0x43, - 0x00, 0x00, 0x43, 0xd9, 0x42, - 0x00, 0x00, 0x1b, 0x96, 0x88, - 0x00, 0x00, 0x40, 0x66, 0x43, - 0x00, 0x00, 0x41, 0xf6, 0x03, - 0x00, 0x00, 0x40, 0x55, 0x03, - 0x00, 0x00, 0x40, 0xfc, 0x83, - 0x00, 0x00, 0x49, 0x47, 0x44, - 0x00, 0x00, 0x41, 0x09, 0xc3, - 0x00, 0x00, 0x41, 0xf1, 0x43, - 0x00, 0x00, 0x40, 0x66, 0x43, - 0x00, 0x00, 0x41, 0xf6, 0x03, - 0x00, 0x00, 0x4e, 0x40, 0x84, - 0x00, 0x00, 0x40, 0x55, 0x03, - 0x00, 0x00, 0x41, 0x09, 0xc3, - 0x00, 0x00, 0x41, 0xf1, 0x43, - 0x00, 0x00, 0x41, 0x2f, 0xc6, - 0x00, 0x00, 0x41, 0xf6, 0x03, - 0x00, 0x00, 0x40, 0x55, 0x03, - 0x00, 0x00, 0x01, 0x89, 0x03, - 0x00, 0x00, 0x41, 0xf1, 0x43, - 0x00, 0x00, 0x40, 0x66, 0x43, - 0x00, 0x00, 0x41, 0xf6, 0x03, - 0x00, 0x00, 0x40, 0x55, 0x03, - 0x00, 0x00, 0x41, 0x09, 0xc3, - 0x00, 0x00, 0x41, 0xf1, 0x43, - 0x00, 0x00, 0x14, 0xcb, 0x05, - 0x00, 0x00, 0x08, 0x2b, 0x87, - 0x00, 0x00, 0x00, 0xc0, 0x43, - 0x00, 0x00, 0x01, 0xe1, 0x43, - 0x00, 0x00, 0x00, 0x74, 0x42, - 0x00, 0x00, 0x1b, 0x96, 0x88, - 0x00, 0x00, 0x40, 0x55, 0x03, - 0x00, 0x00, 0x40, 0x66, 0x43, - 0x00, 0x00, 0x41, 0xf6, 0x03, - 0x00, 0x00, 0x40, 0x55, 0x03, - 0x00, 0x00, 0x06, 0xd7, 0xc3, - 0x00, 0x00, 0x17, 0x66, 0x08, - 0x00, 0x00, 0x41, 0x09, 0xc3, - 0x00, 0x00, 0x41, 0xf1, 0x43, - 0x00, 0xc2, 0xc0, 0x66, 0x43, - 0x00, 0x00, 0x41, 0xf6, 0x03, - 0x00, 0x00, 0x41, 0x09, 0xc3, - 0x00, 0x00, 0x41, 0xf1, 0x43, - 0x00, 0x00, 0x1b, 0x96, 0x88, - 0x00, 0x00, 0x40, 0x00, 0xc2, - 0x00, 0x00, 0x40, 0x22, 0x02, - 0x00, 0x00, 0x40, 0x66, 0x43, - 0x00, 0x00, 0x40, 0x55, 0x03, - 0x00, 0x00, 0x41, 0x09, 0xc3, - 0x00, 0x00, 0x40, 0x03, 0xc2, - 0x00, 0x00, 0x41, 0xf1, 0x43, - 0x00, 0x00, 0x54, 0x2f, 0x07, - 0x00, 0x00, 0x5b, 0xe4, 0x4b, - 0x00, 0x00, 0x42, 0xc3, 0x83, - 0x00, 0x00, 0x48, 0x7b, 0x48, - 0x00, 0x00, 0x5d, 0x5a, 0xc7, - 0x00, 0x00, 0x58, 0xba, 0xc6, - 0x00, 0x00, 0x40, 0xd1, 0xc5, - 0x00, 0x00, 0x56, 0xb2, 0x89, - 0x00, 0x00, 0x41, 0x2d, 0x48, - 0x00, 0x00, 0x45, 0x7b, 0xc9, - 0x00, 0x00, 0x45, 0x7b, 0xd0, - 0x00, 0x00, 0x58, 0x3c, 0x0b, - 0x00, 0x00, 0x5a, 0x89, 0x89, - 0x00, 0x00, 0x40, 0xc0, 0x43, - 0x00, 0x00, 0x42, 0x3a, 0xc9, - 0x00, 0x00, 0x43, 0x2f, 0x46, - 0x00, 0x00, 0x43, 0x2f, 0x4c, - 0x00, 0x00, 0x42, 0xc5, 0x08, - 0x00, 0x00, 0x5e, 0xf4, 0x08, - 0x00, 0x00, 0x5d, 0xe1, 0x09, - 0x00, 0x00, 0x4d, 0x39, 0x0e, - 0x00, 0x00, 0x43, 0xc1, 0x8b, - 0x00, 0x00, 0x4c, 0x43, 0x0c, - 0x00, 0x00, 0x40, 0x28, 0xc3, - 0x00, 0x00, 0x47, 0xcd, 0xcc, - 0x00, 0x00, 0x40, 0x28, 0xc9, - 0x00, 0x00, 0x51, 0x5a, 0x07, - 0x00, 0x00, 0x43, 0x5f, 0xcc, - 0x00, 0x00, 0x4c, 0x5d, 0x0a, - 0x00, 0x00, 0x40, 0x48, 0x84, - 0x00, 0x00, 0x4b, 0xfa, 0x0d, - 0x00, 0x00, 0x47, 0xcc, 0x88, - 0x00, 0x00, 0x53, 0x24, 0x4d, - 0x00, 0x00, 0x48, 0x23, 0x86, - 0x00, 0x00, 0x45, 0x36, 0x4b, - 0x00, 0x00, 0x5f, 0x05, 0x09, - 0x00, 0x00, 0x46, 0x8f, 0x07, - 0x00, 0x00, 0x5c, 0x3a, 0x86, - 0x00, 0x00, 0x5d, 0x3b, 0xc9, - 0x00, 0x00, 0x55, 0x8c, 0x8a, - 0x00, 0x00, 0x51, 0xed, 0x88, - 0x00, 0x00, 0x50, 0x97, 0x44, - 0x00, 0x00, 0x4c, 0x1d, 0x07, - 0x00, 0x00, 0x43, 0x1a, 0xc7, - 0x00, 0x00, 0x53, 0x5b, 0x04, - 0x00, 0x00, 0x41, 0xa5, 0x04, - 0x00, 0x00, 0x40, 0x6a, 0xc9, - 0x00, 0x00, 0x50, 0x18, 0x89, - 0x00, 0x00, 0x5c, 0xee, 0xc8, - 0x00, 0x00, 0x4c, 0xbe, 0x45, - 0x00, 0x00, 0x40, 0xd7, 0x85, - 0x00, 0x00, 0x40, 0x8b, 0x46, - 0x00, 0x00, 0x4b, 0xf8, 0xc9, - 0x00, 0x00, 0x52, 0x5b, 0x4d, - 0x00, 0x00, 0x59, 0xe7, 0x88, - 0x00, 0x00, 0x40, 0x8a, 0x47, - 0x00, 0x00, 0x40, 0xd2, 0x48, - 0x00, 0x00, 0x43, 0x79, 0x06, - 0x00, 0x00, 0x43, 0x2b, 0x84, - 0x00, 0x00, 0x46, 0x64, 0x85, - 0x00, 0x00, 0x5e, 0xa3, 0xc6, - 0x00, 0x00, 0x5e, 0xcf, 0x04, - 0x00, 0x00, 0x40, 0x27, 0xc7, - 0x00, 0x00, 0x40, 0x4e, 0x4a, - 0x00, 0x00, 0x40, 0xea, 0xc4, - 0x00, 0x00, 0x41, 0x56, 0xc6, - 0x00, 0x00, 0x41, 0x75, 0x09, - 0x00, 0x00, 0x41, 0x75, 0x0f, - 0x00, 0x00, 0x41, 0x82, 0xcd, - 0x00, 0x00, 0x41, 0x88, 0x06, - 0x00, 0x00, 0x42, 0x0a, 0x10, - 0x00, 0x00, 0x42, 0x0e, 0x06, - 0x00, 0x00, 0x42, 0x27, 0xc7, - 0x00, 0x00, 0x42, 0x34, 0x07, - 0x00, 0x00, 0x42, 0x34, 0x0f, - 0x00, 0x00, 0x42, 0x3e, 0xc9, - 0x00, 0x00, 0x42, 0x70, 0xc6, - 0x00, 0x00, 0x42, 0x7b, 0x47, - 0x00, 0x00, 0x42, 0x7b, 0x48, - 0x00, 0x00, 0x42, 0x7e, 0x89, - 0x00, 0x00, 0x5c, 0x19, 0x88, - 0x00, 0x00, 0x51, 0xc6, 0x07, - 0x00, 0x00, 0x42, 0x9a, 0x03, - 0x00, 0x00, 0x42, 0xe3, 0xc6, - 0x00, 0x00, 0x53, 0x6a, 0xc8, - 0x00, 0x00, 0x4d, 0x3b, 0xca, - 0x00, 0x00, 0x40, 0x2f, 0x09, - 0x00, 0x00, 0x41, 0x2e, 0x83, - 0x00, 0x00, 0x56, 0xb0, 0x46, - 0x00, 0x00, 0x59, 0x3b, 0x8a, - 0x00, 0x00, 0x43, 0x45, 0xc7, - 0x00, 0x00, 0x51, 0x58, 0x4a, - 0x00, 0x00, 0x57, 0x3e, 0x4e, - 0x00, 0x00, 0x42, 0x40, 0x06, - 0x00, 0x00, 0x52, 0x1d, 0x07, - 0x00, 0x00, 0x45, 0xe5, 0x86, - 0x00, 0x00, 0x40, 0x29, 0x86, - 0x00, 0x00, 0x5c, 0xb8, 0xcb, - 0x00, 0x00, 0x5c, 0x1c, 0x4a, - 0x00, 0x00, 0x5f, 0x38, 0x4d, - 0x00, 0x00, 0x5d, 0x62, 0xc7, - 0x00, 0x00, 0x4f, 0xff, 0x88, - 0x00, 0x00, 0x4f, 0xff, 0x89, - 0x00, 0x00, 0x4f, 0xff, 0x8f, - 0x00, 0x00, 0x4b, 0x95, 0x4c, - 0x00, 0x00, 0x58, 0x11, 0x49, - 0x00, 0x00, 0x4b, 0xb0, 0x4e, - 0x00, 0x00, 0x45, 0x78, 0xca, - 0x00, 0x00, 0x57, 0x96, 0xc6, - 0x00, 0x00, 0x4f, 0xbb, 0x86, - 0x00, 0x00, 0x52, 0x3e, 0x8c, - 0x00, 0x00, 0x5f, 0x15, 0x8c, - 0x00, 0x00, 0x52, 0xb9, 0x88, - 0x00, 0x00, 0x55, 0xe8, 0x47, - 0x00, 0x00, 0x41, 0xc2, 0x85, - 0x00, 0x00, 0x5c, 0xeb, 0xc4, - 0x00, 0x00, 0x40, 0x22, 0x0e, - 0x00, 0x00, 0x41, 0xca, 0x44, - 0x00, 0x00, 0x5d, 0x39, 0x07, - 0x00, 0x00, 0x5b, 0x3a, 0x8a, - 0x00, 0x00, 0x5e, 0xbf, 0xd4, - 0x00, 0x00, 0x42, 0xd6, 0xcf, - 0x00, 0x00, 0x42, 0x35, 0xc8, - 0x00, 0x00, 0x42, 0xe2, 0x88, - 0x00, 0x00, 0x40, 0xf3, 0x8d, - 0x00, 0x00, 0x40, 0xf3, 0x8e, - 0x00, 0x00, 0x42, 0xe7, 0x09, - 0x00, 0x00, 0x54, 0x92, 0x08, - 0x00, 0x00, 0x54, 0x92, 0x0f, - 0x00, 0x00, 0x43, 0x5c, 0xcc, - 0x00, 0x00, 0x43, 0x5c, 0xcf, - 0x00, 0x00, 0x43, 0x6d, 0x07, - 0x00, 0x00, 0x43, 0xa0, 0x8a, - 0x00, 0x00, 0x43, 0xaf, 0xcb, - 0x00, 0x00, 0x43, 0xb9, 0x88, - 0x00, 0x00, 0x43, 0xdc, 0x87, - 0x00, 0x00, 0x47, 0x1d, 0x8d, - 0x00, 0x00, 0x50, 0x22, 0xc6, - 0x00, 0x00, 0x4b, 0xfb, 0xc6, - 0x00, 0x00, 0x44, 0x25, 0x09, - 0x00, 0x00, 0x47, 0x23, 0x48, - 0x00, 0x00, 0x44, 0x82, 0x48, - 0x00, 0x00, 0x44, 0x82, 0x4e, - 0x00, 0x00, 0x46, 0xd4, 0x47, - 0x00, 0x00, 0x50, 0xd0, 0x45, - 0x00, 0x00, 0x44, 0xa4, 0x85, - 0x00, 0x00, 0x41, 0xa3, 0x84, - 0x00, 0x00, 0x58, 0xbd, 0x86, - 0x00, 0x00, 0x5c, 0xed, 0xc8, - 0x00, 0x00, 0x45, 0xf1, 0xc3, - 0x00, 0x00, 0x4c, 0x54, 0x4e, - 0x00, 0x00, 0x47, 0x21, 0x48, - 0x00, 0x00, 0x41, 0xe2, 0x0b, - 0x00, 0x00, 0x47, 0x69, 0xc7, - 0x00, 0x00, 0x55, 0xf3, 0x85, - 0x00, 0x00, 0x47, 0xcf, 0x46, - 0x00, 0x00, 0x4b, 0xe7, 0x07, - 0x00, 0x00, 0x54, 0xe5, 0x08, - 0x00, 0x00, 0x57, 0x52, 0x09, - 0x00, 0x00, 0x43, 0x29, 0xc5, - 0x00, 0x00, 0x49, 0x51, 0x48, - 0x00, 0x00, 0x50, 0xf3, 0x86, - 0x00, 0x00, 0x5b, 0x31, 0xca, - 0x00, 0x00, 0x40, 0x21, 0x09, - 0x00, 0x00, 0x43, 0x60, 0x89, - 0x00, 0x00, 0x43, 0x60, 0x8b, - 0x00, 0x00, 0x54, 0x73, 0x08, - 0x00, 0x00, 0x53, 0x59, 0xc9, - 0x00, 0x00, 0x4c, 0x8a, 0x46, - 0x00, 0x00, 0x47, 0xb2, 0x8a, - 0x00, 0x00, 0x48, 0x53, 0xca, - 0x00, 0x00, 0x43, 0xa2, 0x8c, - 0x00, 0x00, 0x47, 0x34, 0x07, - 0x00, 0x00, 0x47, 0xa0, 0x8a, - 0x00, 0x00, 0x5c, 0x4d, 0x0b, - 0x00, 0x00, 0x5c, 0x4d, 0x19, - 0x00, 0x00, 0x4d, 0x66, 0xc8, - 0x00, 0x00, 0x41, 0x30, 0x45, - 0x00, 0x00, 0x47, 0x1f, 0x46, - 0x00, 0x00, 0x57, 0x98, 0xc9, - 0x00, 0x00, 0x55, 0xdf, 0x86, - 0x00, 0x00, 0x4e, 0x48, 0x8a, - 0x00, 0x00, 0x40, 0x64, 0xc6, - 0x00, 0x00, 0x4e, 0x25, 0x04, - 0x00, 0x00, 0x4e, 0x25, 0x0d, - 0x00, 0x00, 0x53, 0xb4, 0x87, - 0x00, 0x00, 0x55, 0xee, 0x09, - 0x00, 0x00, 0x44, 0xec, 0x45, - 0x00, 0x00, 0x44, 0xef, 0x08, - 0x00, 0x00, 0x44, 0xf4, 0x49, - 0x00, 0x00, 0x45, 0x16, 0x04, - 0x00, 0x00, 0x45, 0x1c, 0xc7, - 0x00, 0x00, 0x45, 0x1c, 0xc8, - 0x00, 0x00, 0x45, 0x20, 0x07, - 0x00, 0x00, 0x47, 0x7d, 0xc8, - 0x00, 0x00, 0x45, 0xca, 0x47, - 0x00, 0x00, 0x46, 0x92, 0x85, - 0x00, 0x00, 0x46, 0x5b, 0x8c, - 0x00, 0x00, 0x46, 0x5f, 0x89, - 0x00, 0x00, 0x52, 0x92, 0x0a, - 0x00, 0x00, 0x46, 0x87, 0x09, - 0x00, 0x00, 0x42, 0x3b, 0xc9, - 0x00, 0x00, 0x46, 0x8a, 0x4c, - 0x00, 0x00, 0x46, 0xc1, 0x8b, - 0x00, 0x00, 0x46, 0xd0, 0x08, - 0x00, 0x00, 0x46, 0xd9, 0x48, - 0x00, 0x00, 0x47, 0x0d, 0x04, - 0x00, 0x00, 0x49, 0x26, 0x48, - 0x00, 0x00, 0x49, 0x33, 0x49, - 0x00, 0x00, 0x4c, 0x5d, 0xc7, - 0x00, 0x00, 0x41, 0x77, 0x46, - 0x00, 0x00, 0x4a, 0xd4, 0x87, - 0x00, 0x00, 0x57, 0x0d, 0x89, - 0x00, 0x00, 0x44, 0x5d, 0xcb, - 0x00, 0x00, 0x5a, 0xef, 0x07, - 0x00, 0x00, 0x4a, 0x08, 0x87, - 0x00, 0x00, 0x45, 0x66, 0x87, - 0x00, 0x00, 0x53, 0x23, 0xc4, - 0x00, 0x00, 0x53, 0x23, 0xc5, - 0x00, 0x00, 0x5a, 0xb0, 0x45, - 0x00, 0x00, 0x55, 0xbe, 0x4b, - 0x00, 0x00, 0x5e, 0x4b, 0xc4, - 0x00, 0x00, 0x4d, 0xc6, 0x88, - 0x00, 0x00, 0x4b, 0xd0, 0xca, - 0x00, 0x00, 0x50, 0xf4, 0x47, - 0x00, 0x00, 0x5e, 0xf0, 0x07, - 0x00, 0x00, 0x49, 0xba, 0xd2, - 0x00, 0x00, 0x48, 0xcf, 0x06, - 0x00, 0x00, 0x43, 0x13, 0x86, - 0x00, 0x00, 0x5d, 0xa7, 0x4e, - 0x00, 0x00, 0x49, 0x8b, 0x06, - 0x00, 0x00, 0x4a, 0x1c, 0x08, - 0x00, 0x00, 0x4a, 0x2c, 0x8f, - 0x00, 0x00, 0x53, 0x28, 0x08, - 0x00, 0x00, 0x49, 0x69, 0x88, - 0x00, 0x00, 0x51, 0x2b, 0xca, - 0x00, 0x00, 0x51, 0x2b, 0xd1, - 0x00, 0x00, 0x4b, 0x36, 0x0e, - 0x00, 0x00, 0x47, 0xb9, 0xca, - 0x00, 0x00, 0x47, 0xb9, 0xcc, - 0x00, 0x00, 0x45, 0xd9, 0x47, - 0x00, 0x00, 0x54, 0x94, 0x10, - 0x00, 0x00, 0x5d, 0x32, 0x08, - 0x00, 0x00, 0x4b, 0x38, 0x05, - 0x00, 0x00, 0x4b, 0xef, 0xca, - 0x00, 0x00, 0x5e, 0xcf, 0x4c, - 0x00, 0x00, 0x40, 0xbf, 0x0d, - 0x00, 0x00, 0x5c, 0xd9, 0x06, - 0x00, 0x00, 0x5c, 0xd9, 0x07, - 0x00, 0x00, 0x5c, 0xd9, 0x0c, - 0x00, 0x00, 0x5f, 0x3d, 0xcc, - 0x00, 0x00, 0x41, 0x1e, 0x4c, - 0x00, 0x00, 0x52, 0xcf, 0x0b, - 0x00, 0x00, 0x5a, 0x5b, 0xc4, - 0x00, 0x00, 0x41, 0xd9, 0x84, - 0x00, 0x00, 0x4c, 0x3b, 0xc9, - 0x00, 0x00, 0x53, 0x87, 0x87, - 0x00, 0x00, 0x42, 0xe0, 0x49, - 0x00, 0x00, 0x48, 0x52, 0x09, - 0x00, 0x00, 0x4c, 0x59, 0xc7, - 0x00, 0x00, 0x4c, 0x5b, 0x86, - 0x00, 0x00, 0x4c, 0x5b, 0x89, - 0x00, 0x00, 0x4c, 0x5f, 0x83, - 0x00, 0x00, 0x4a, 0xa9, 0x0a, - 0x00, 0x00, 0x53, 0x69, 0x87, - 0x00, 0x00, 0x5d, 0xd2, 0x4b, - 0x00, 0x00, 0x5f, 0x36, 0xca, - 0x00, 0x00, 0x45, 0x96, 0x04, - 0x00, 0x00, 0x5e, 0xe6, 0x86, - 0x00, 0x00, 0x49, 0x01, 0x09, - 0x00, 0x00, 0x5b, 0xf3, 0xc4, - 0x00, 0x00, 0x4e, 0xbc, 0xca, - 0x00, 0x00, 0x50, 0x7c, 0xc5, - 0x00, 0x00, 0x4d, 0x50, 0x05, - 0x00, 0x00, 0x4d, 0x50, 0x0d, - 0x00, 0x00, 0x4d, 0x53, 0x4e, - 0x00, 0x00, 0x56, 0x35, 0x45, - 0x00, 0x00, 0x54, 0x1b, 0xc6, - 0x00, 0x00, 0x41, 0x2b, 0xc7, - 0x00, 0x00, 0x43, 0x88, 0x4a, - 0x00, 0x00, 0x41, 0xcd, 0x46, - 0x00, 0x00, 0x4f, 0x46, 0xc4, - 0x00, 0x00, 0x4f, 0x8c, 0x47, - 0x00, 0x00, 0x5e, 0x11, 0x4b, - 0x00, 0x00, 0x4f, 0xe2, 0x47, - 0x00, 0x00, 0x48, 0xc2, 0x84, - 0x00, 0x00, 0x51, 0x80, 0x46, - 0x00, 0x00, 0x51, 0x80, 0x4d, - 0x00, 0x00, 0x4f, 0x12, 0x0c, - 0x00, 0x00, 0x41, 0x08, 0x86, - 0x00, 0x00, 0x59, 0xe9, 0x8a, - 0x00, 0x00, 0x41, 0xd4, 0x06, - 0x00, 0x00, 0x42, 0x24, 0x88, - 0x00, 0x00, 0x43, 0xa9, 0x47, - 0x00, 0x00, 0x46, 0x65, 0xca, - 0x00, 0x00, 0x55, 0x19, 0x86, - 0x00, 0x00, 0x48, 0xd5, 0x03, - 0x00, 0x00, 0x5c, 0xa1, 0x06, - 0x00, 0x00, 0x44, 0xa6, 0xc8, - 0x00, 0x00, 0x57, 0x5d, 0x0a, - 0x00, 0x00, 0x49, 0xa3, 0x47, - 0x00, 0x00, 0x49, 0xa3, 0x48, - 0x00, 0x00, 0x49, 0xc0, 0x44, - 0x00, 0x00, 0x48, 0xd1, 0x07, - 0x00, 0x00, 0x58, 0x70, 0xc8, - 0x00, 0x00, 0x43, 0x58, 0x48, - 0x00, 0x00, 0x4c, 0xc7, 0x48, - 0x00, 0x00, 0x4c, 0xcb, 0x4a, - 0x00, 0x00, 0x4d, 0xfa, 0x85, - 0x00, 0x00, 0x43, 0xdd, 0xc7, - 0x00, 0x00, 0x47, 0xb8, 0x13, - 0x00, 0x00, 0x48, 0x64, 0x46, - 0x00, 0x00, 0x43, 0x5a, 0xc8, - 0x00, 0x00, 0x42, 0x54, 0x49, - 0x00, 0x00, 0x4d, 0x28, 0x88, - 0x00, 0x00, 0x56, 0x0b, 0x4b, - 0x00, 0x00, 0x4c, 0xe4, 0xc8, - 0x00, 0x00, 0x50, 0xce, 0x84, - 0x00, 0x00, 0x51, 0x60, 0x46, - 0x00, 0x00, 0x52, 0xc5, 0x86, - 0x00, 0x00, 0x59, 0xb3, 0xc9, - 0x00, 0x00, 0x4d, 0xfe, 0x47, - 0x00, 0x00, 0x46, 0x5c, 0x88, - 0x00, 0x00, 0x56, 0xaa, 0x46, - 0x00, 0x00, 0x58, 0xd0, 0x84, - 0x00, 0x00, 0x53, 0x63, 0x05, - 0x00, 0x00, 0x5d, 0x74, 0x08, - 0x00, 0x00, 0x40, 0x15, 0x0a, - 0x00, 0x00, 0x4e, 0x21, 0x88, - 0x00, 0x00, 0x4e, 0x77, 0x86, - 0x00, 0x00, 0x4a, 0x9c, 0xca, - 0x00, 0x00, 0x40, 0x33, 0x08, - 0x00, 0x00, 0x5a, 0x9d, 0xc8, - 0x00, 0x00, 0x4e, 0xbf, 0x48, - 0x00, 0x00, 0x4e, 0xc4, 0xc6, - 0x00, 0x00, 0x4e, 0xe1, 0x06, - 0x00, 0x00, 0x5a, 0xc9, 0xcc, - 0x00, 0x00, 0x4e, 0xe6, 0xd0, - 0x00, 0x00, 0x4e, 0xea, 0xc5, - 0x00, 0x00, 0x52, 0x06, 0x88, - 0x00, 0x00, 0x52, 0x06, 0x90, - 0x00, 0x00, 0x53, 0x26, 0x10, - 0x00, 0x00, 0x45, 0x7a, 0x4e, - 0x00, 0x00, 0x5a, 0xc6, 0x4e, - 0x00, 0x00, 0x5a, 0xc6, 0x54, - 0x00, 0x00, 0x5b, 0x0b, 0x0f, - 0x00, 0x00, 0x5b, 0x0e, 0xc6, - 0x00, 0x00, 0x5e, 0xfd, 0x91, - 0x00, 0x00, 0x54, 0x74, 0xd3, - 0x00, 0x00, 0x5c, 0x3c, 0x08, - 0x00, 0x00, 0x5c, 0x32, 0x05, - 0x00, 0x00, 0x48, 0x97, 0x88, - 0x00, 0x00, 0x5e, 0xab, 0xc5, - 0x00, 0x00, 0x54, 0xf1, 0x0c, - 0x00, 0x00, 0x41, 0x23, 0x49, - 0x00, 0x00, 0x41, 0xc8, 0x89, - 0x00, 0x00, 0x42, 0x97, 0x47, - 0x00, 0x00, 0x5b, 0x35, 0xc9, - 0x00, 0x00, 0x55, 0xdb, 0x47, - 0x00, 0x00, 0x5a, 0x30, 0x46, - 0x00, 0x00, 0x46, 0x62, 0x87, - 0x00, 0x00, 0x48, 0xb3, 0x45, - 0x00, 0x00, 0x40, 0xb5, 0x03, - 0x00, 0x00, 0x41, 0x89, 0x03, - 0x00, 0x00, 0x47, 0xfb, 0x84, - 0x00, 0x00, 0x5d, 0x22, 0x8d, - 0x00, 0x00, 0x5f, 0x1d, 0xcf, - 0x00, 0x00, 0x58, 0xd0, 0xc5, - 0x00, 0x00, 0x41, 0x22, 0x46, - 0x00, 0x00, 0x5b, 0x74, 0xc7, - 0x00, 0x00, 0x42, 0xc2, 0x87, - 0x00, 0x00, 0x4d, 0x0c, 0x46, - 0x00, 0x00, 0x4d, 0x0c, 0x4b, - 0x00, 0x00, 0x4b, 0x47, 0x85, - 0x00, 0x00, 0x41, 0xe0, 0xc6, - 0x00, 0x00, 0x5b, 0x1d, 0x87, - 0x00, 0x00, 0x45, 0xdc, 0x49, - 0x00, 0x00, 0x56, 0x9d, 0xc6, - 0x00, 0x00, 0x41, 0xe6, 0xc5, - 0x00, 0x00, 0x53, 0xbc, 0xcb, - 0x00, 0x00, 0x5c, 0xd2, 0x06, - 0x00, 0x00, 0x42, 0x2b, 0x85, - 0x00, 0x00, 0x45, 0x2c, 0x08, - 0x00, 0x00, 0x49, 0xd4, 0xc8, - 0x00, 0x00, 0x4b, 0x48, 0xcc, - 0x00, 0x00, 0x4b, 0x48, 0xd0, - 0x00, 0x00, 0x4b, 0x6f, 0x49, - 0x00, 0x00, 0x4c, 0x77, 0x47, - 0x00, 0x00, 0x4c, 0xc2, 0x8b, - 0x00, 0x00, 0x4f, 0x69, 0x86, - 0x00, 0x00, 0x51, 0xc4, 0xca, - 0x00, 0x00, 0x4b, 0x05, 0x4b, - 0x00, 0x00, 0x54, 0xe7, 0x4a, - 0x00, 0x00, 0x57, 0x19, 0x46, - 0x00, 0x00, 0x50, 0x35, 0x05, - 0x00, 0x00, 0x53, 0x66, 0xc6, - 0x00, 0x00, 0x49, 0x3d, 0x08, - 0x00, 0x00, 0x49, 0xe1, 0x4a, - 0x00, 0x00, 0x40, 0xf0, 0x1c, - 0x00, 0x00, 0x50, 0x9c, 0x0c, - 0x00, 0x00, 0x50, 0x9f, 0x08, - 0x00, 0x00, 0x41, 0x2f, 0xc5, - 0x00, 0x00, 0x41, 0xf8, 0x07, - 0x00, 0x00, 0x4b, 0x2b, 0x46, - 0x00, 0x00, 0x4d, 0x3f, 0xc5, - 0x00, 0x00, 0x41, 0xb8, 0x86, - 0x00, 0x00, 0x4d, 0x0e, 0x08, - 0x00, 0x00, 0x4d, 0x2e, 0x07, - 0x00, 0x00, 0x4d, 0x38, 0x08, - 0x00, 0x00, 0x48, 0x65, 0x0a, - 0x00, 0x00, 0x4f, 0x60, 0xcc, - 0x00, 0x00, 0x45, 0xf4, 0x49, - 0x00, 0x00, 0x41, 0xf2, 0x47, - 0x00, 0x00, 0x42, 0x82, 0xc4, - 0x00, 0x00, 0x42, 0x46, 0x06, - 0x00, 0x00, 0x49, 0x65, 0x0a, - 0x00, 0x00, 0x48, 0x53, 0x05, - 0x00, 0x00, 0x41, 0xa1, 0x8c, - 0x00, 0x00, 0x41, 0xa8, 0x48, - 0x00, 0x00, 0x42, 0xd0, 0xc8, - 0x00, 0x00, 0x42, 0xab, 0xcc, - 0x00, 0x00, 0x59, 0x59, 0x8c, - 0x00, 0x00, 0x42, 0xdc, 0x09, - 0x00, 0x00, 0x42, 0xde, 0x47, - 0x00, 0x00, 0x44, 0x74, 0x4c, - 0x00, 0x00, 0x43, 0x3d, 0xc4, - 0x00, 0x00, 0x44, 0xb4, 0x8a, - 0x00, 0x00, 0x41, 0x7d, 0x0c, - 0x00, 0x00, 0x48, 0x27, 0x4b, - 0x00, 0x00, 0x59, 0x45, 0x0b, - 0x00, 0x00, 0x5a, 0x63, 0x86, - 0x00, 0x00, 0x45, 0xc1, 0xc7, - 0x00, 0x00, 0x45, 0xd4, 0x47, - 0x00, 0x00, 0x54, 0x96, 0x4f, - 0x00, 0x00, 0x51, 0x70, 0x51, - 0x00, 0x00, 0x4f, 0x37, 0xd2, - 0x00, 0x00, 0x45, 0xd4, 0x4d, - 0x00, 0x00, 0x45, 0xd4, 0x4e, - 0x00, 0x00, 0x45, 0xd7, 0x8e, - 0x00, 0x00, 0x5b, 0x0c, 0xc8, - 0x00, 0x00, 0x5b, 0x0c, 0xd2, - 0x00, 0x00, 0x44, 0x18, 0x48, - 0x00, 0x00, 0x45, 0x01, 0xc7, - 0x00, 0x00, 0x45, 0x6e, 0xca, - 0x00, 0x00, 0x44, 0xb2, 0xc8, - 0x00, 0x00, 0x49, 0x8a, 0xc5, - 0x00, 0x00, 0x5b, 0xa8, 0xca, - 0x00, 0x00, 0x42, 0x13, 0x47, - 0x00, 0x00, 0x4e, 0x31, 0x84, - 0x00, 0x00, 0x44, 0xe5, 0x83, - 0x00, 0x00, 0x58, 0xff, 0x05, - 0x00, 0x00, 0x51, 0x2e, 0x47, - 0x00, 0x00, 0x4f, 0x99, 0x47, - 0x00, 0x00, 0x40, 0xc1, 0x0e, - 0x00, 0x00, 0x51, 0x61, 0x8d, - 0x00, 0x00, 0x51, 0x7d, 0x09, - 0x00, 0x00, 0x40, 0xe7, 0xc5, - 0x00, 0x00, 0x52, 0x64, 0x03, - 0x00, 0x00, 0x54, 0x42, 0x06, - 0x00, 0x00, 0x46, 0xa9, 0x45, - 0x00, 0x00, 0x41, 0xe4, 0x48, - 0x00, 0x00, 0x53, 0xc1, 0x49, - 0x00, 0x00, 0x47, 0x1f, 0x85, - 0x00, 0x00, 0x47, 0x1f, 0x8f, - 0x00, 0x00, 0x4b, 0xaa, 0x47, - 0x00, 0x00, 0x40, 0xd0, 0x45, - 0x00, 0x00, 0x47, 0x73, 0x8a, - 0x00, 0x00, 0x40, 0xae, 0x06, - 0x00, 0x00, 0x4a, 0x8c, 0x49, - 0x00, 0x00, 0x55, 0x96, 0x4c, - 0x00, 0x00, 0x57, 0xe9, 0x09, - 0x00, 0x00, 0x41, 0x25, 0xc6, - 0x00, 0x00, 0x4b, 0xce, 0xcc, - 0x00, 0x00, 0x57, 0xf8, 0x46, - 0x00, 0x00, 0x5e, 0x68, 0x88, - 0x00, 0x00, 0x51, 0x55, 0x46, - 0x00, 0x00, 0x47, 0xae, 0xc6, - 0x00, 0x00, 0x4c, 0xa4, 0x04, - 0x00, 0x00, 0x42, 0x23, 0x83, - 0x00, 0x00, 0x4d, 0xfb, 0xca, - 0x00, 0x00, 0x49, 0xca, 0xd1, - 0x00, 0x00, 0x58, 0x13, 0x0a, - 0x00, 0x00, 0x46, 0x57, 0x45, - 0x00, 0x00, 0x46, 0x82, 0x87, - 0x00, 0x00, 0x46, 0x2a, 0x47, - 0x00, 0x00, 0x4d, 0x00, 0x44, - 0x00, 0x00, 0x58, 0x71, 0xcb, - 0x00, 0x00, 0x49, 0x44, 0x48, - 0x00, 0x00, 0x4d, 0x0a, 0x06, - 0x00, 0x00, 0x43, 0x36, 0x05, - 0x00, 0x00, 0x47, 0x3d, 0x04, - 0x00, 0x00, 0x47, 0x53, 0x89, - 0x00, 0x00, 0x40, 0x08, 0xc4, - 0x00, 0x00, 0x5e, 0xd8, 0x87, - 0x00, 0x00, 0x58, 0x7e, 0x05, - 0x00, 0x00, 0x58, 0x7e, 0x07, - 0x00, 0x00, 0x5d, 0xa9, 0x85, - 0x00, 0x00, 0x46, 0x0a, 0xc3, - 0x00, 0x00, 0x45, 0x00, 0x88, - 0x00, 0x00, 0x47, 0x7a, 0x0a, - 0x00, 0x00, 0x40, 0x48, 0x03, - 0x00, 0x00, 0x42, 0xc4, 0x8a, - 0x00, 0x00, 0x40, 0x48, 0x06, - 0x00, 0x00, 0x47, 0x1d, 0x0f, - 0x00, 0x00, 0x46, 0xd3, 0xc9, - 0x00, 0x00, 0x4c, 0x53, 0xd0, - 0x00, 0x00, 0x5a, 0x76, 0x48, - 0x00, 0x00, 0x4e, 0x7c, 0x89, - 0x00, 0x00, 0x4a, 0x79, 0x07, - 0x00, 0x00, 0x51, 0x7f, 0xcf, - 0x00, 0x00, 0x53, 0x4b, 0xc4, - 0x00, 0x00, 0x4e, 0x41, 0x04, - 0x00, 0x00, 0x42, 0x0c, 0x86, - 0x00, 0x00, 0x5b, 0x6d, 0x46, - 0x00, 0x00, 0x54, 0xfd, 0x4a, - 0x00, 0x00, 0x47, 0x37, 0x06, - 0x00, 0x00, 0x4c, 0x28, 0xc7, - 0x00, 0x00, 0x51, 0xc9, 0x48, - 0x00, 0x00, 0x51, 0xcb, 0x47, - 0x00, 0x00, 0x51, 0xdc, 0x47, - 0x00, 0x00, 0x52, 0x0b, 0xca, - 0x00, 0x00, 0x51, 0xe6, 0x4b, - 0x00, 0x00, 0x50, 0x20, 0x45, - 0x00, 0x00, 0x4f, 0x34, 0x08, - 0x00, 0x00, 0x41, 0xff, 0x83, - 0x00, 0x00, 0x5d, 0x11, 0x8c, - 0x00, 0x00, 0x41, 0xc0, 0x0f, - 0x00, 0x00, 0x43, 0xcc, 0x0d, - 0x00, 0x00, 0x49, 0xab, 0x07, - 0x00, 0x00, 0x42, 0xce, 0x09, - 0x00, 0x00, 0x48, 0x41, 0x07, - 0x00, 0x00, 0x4d, 0x91, 0xc8, - 0x00, 0x00, 0x5e, 0xc1, 0xcc, - 0x00, 0x00, 0x50, 0xcd, 0x88, - 0x00, 0x00, 0x44, 0xd4, 0x08, - 0x00, 0x00, 0x53, 0x82, 0x0e, - 0x00, 0x00, 0x54, 0xba, 0x94, - 0x00, 0x00, 0x54, 0xbf, 0xa4, - 0x00, 0x00, 0x56, 0x72, 0xca, - 0x00, 0x00, 0x58, 0x42, 0x0b, - 0x00, 0x00, 0x55, 0xdc, 0x04, - 0x00, 0x00, 0x55, 0xdc, 0x09, - 0x00, 0x00, 0x4c, 0xba, 0x08, - 0x00, 0x00, 0x44, 0xb7, 0x45, - 0x00, 0x00, 0x5d, 0x58, 0xca, - 0x00, 0x00, 0x49, 0x62, 0x87, - 0x00, 0x00, 0x42, 0xff, 0xc4, - 0x00, 0x00, 0x45, 0x0b, 0x03, - 0x00, 0x00, 0x40, 0x66, 0x43, - 0x00, 0x00, 0x43, 0x92, 0xc4, - 0x00, 0x00, 0x41, 0xf6, 0x03, - 0x00, 0x00, 0x40, 0x55, 0x03, - 0x00, 0x00, 0x45, 0x03, 0xc4, - 0x00, 0x00, 0x41, 0x1e, 0x43, - 0x00, 0x00, 0x40, 0x65, 0x43, - 0x00, 0x00, 0x4e, 0xe6, 0xc6, - 0x00, 0x00, 0x49, 0x47, 0x44, - 0x00, 0x00, 0x41, 0x09, 0xc3, - 0x00, 0x00, 0x41, 0xf1, 0x43, - 0x00, 0x00, 0x41, 0x96, 0x83, - 0x00, 0x00, 0x40, 0x00, 0xc2, - 0x00, 0x00, 0x45, 0x0b, 0x03, - 0x00, 0x00, 0x40, 0x22, 0x02, - 0x00, 0x00, 0x40, 0x66, 0x43, - 0x00, 0x00, 0x43, 0x92, 0xc4, - 0x00, 0x00, 0x41, 0xf6, 0x03, - 0x00, 0x00, 0x40, 0x55, 0x03, - 0x00, 0x00, 0x41, 0x1e, 0x43, - 0x00, 0x00, 0x4e, 0xe6, 0xc6, - 0x00, 0x00, 0x41, 0x09, 0xc3, - 0x00, 0x00, 0x41, 0xf1, 0x43, - 0x00, 0x00, 0x1b, 0x96, 0x88, - 0x00, 0x00, 0x40, 0x66, 0x43, - 0x00, 0x00, 0x41, 0xf6, 0x03, - 0x00, 0x00, 0x5d, 0x64, 0x03, - 0x00, 0x00, 0x41, 0x09, 0xc3, - 0x00, 0x00, 0x41, 0xf1, 0x43, - 0x00, 0x00, 0x45, 0x0b, 0x03, - 0x00, 0x00, 0x1b, 0x96, 0x88, - 0x00, 0x00, 0x40, 0x66, 0x43, - 0x00, 0x00, 0x41, 0xf6, 0x03, - 0x00, 0x00, 0x40, 0x55, 0x03, - 0x00, 0x00, 0x40, 0x65, 0x43, - 0x00, 0x00, 0x49, 0x47, 0x44, - 0x00, 0x00, 0x41, 0x09, 0xc3, - 0x00, 0x00, 0x41, 0xf1, 0x43, - 0x00, 0x00, 0x40, 0x00, 0xc2, - 0x00, 0x00, 0x58, 0xa7, 0xc3, - 0x00, 0x00, 0x40, 0x22, 0x02, - 0x00, 0x00, 0x41, 0xf6, 0x03, - 0x00, 0x00, 0x40, 0x55, 0x03, - 0x00, 0x00, 0x40, 0x65, 0x43, - 0x00, 0x00, 0x41, 0x09, 0xc3, - 0x00, 0x00, 0x41, 0xf1, 0x43, - 0x00, 0x00, 0x40, 0x17, 0x82, - 0x00, 0x00, 0x40, 0x2d, 0xc2, - 0x00, 0x00, 0x40, 0x22, 0x02, - 0x00, 0x00, 0x40, 0x66, 0x43, - 0x00, 0x00, 0x41, 0x1a, 0xc2, - 0x00, 0x00, 0x40, 0x05, 0xc2, - 0x00, 0x00, 0x45, 0x03, 0xc4, - 0x00, 0x00, 0x42, 0x8f, 0x84, - 0x00, 0x00, 0x41, 0xe0, 0x02, - 0x00, 0x00, 0x49, 0x47, 0x44, - 0x00, 0x00, 0x40, 0x03, 0xc2, - 0x00, 0x00, 0x41, 0xf1, 0x43, - 0x00, 0x00, 0x41, 0x96, 0x83, - 0x00, 0x00, 0x5a, 0x63, 0x86, - 0x00, 0x00, 0x42, 0x4b, 0x42, - 0x00, 0x00, 0x40, 0x26, 0x42, - 0x00, 0x00, 0x42, 0x58, 0x42, - 0x00, 0xc7, 0xc0, 0x3e, 0xc3, - 0x00, 0xc8, 0x45, 0x59, 0x83, - 0x00, 0x00, 0x06, 0x35, 0x86, - 0x00, 0x00, 0x06, 0x35, 0x86, - 0x00, 0x00, 0x41, 0x4f, 0x04, - 0x00, 0x00, 0x41, 0xd7, 0x83, - 0x00, 0x00, 0x1d, 0xec, 0x0d, - 0x00, 0x00, 0x1c, 0xec, 0x4a, - 0x00, 0x00, 0x1a, 0x12, 0x46, - 0x00, 0x00, 0x1d, 0x01, 0xcc, - 0x00, 0xc9, 0xd1, 0xf1, 0x4d, - 0x00, 0x00, 0x08, 0xf2, 0x8c, - 0x00, 0xca, 0x85, 0x48, 0x4f, - 0x00, 0x00, 0x1d, 0x8f, 0x0d, - 0x00, 0x00, 0x07, 0x91, 0x84, - 0x00, 0x00, 0x16, 0x90, 0x44, - 0x00, 0x00, 0x0c, 0xdc, 0x84, - 0x00, 0x00, 0x14, 0xcb, 0x05, - 0x00, 0x00, 0x09, 0x57, 0x09, - 0x00, 0x00, 0x0a, 0x0f, 0xcc, - 0x00, 0x00, 0x03, 0x42, 0xc7, - 0x00, 0x00, 0x01, 0x2a, 0xc6, - 0x00, 0x00, 0x01, 0x92, 0x88, - 0x00, 0x00, 0x01, 0xf4, 0xc7, - 0x00, 0x00, 0x02, 0x49, 0x88, - 0x00, 0x00, 0x1b, 0xb4, 0xca, - 0x00, 0x00, 0x11, 0xb4, 0x87, - 0x00, 0x00, 0x0a, 0x12, 0x09, - 0x00, 0xcb, 0x4d, 0x45, 0xc5, - 0x00, 0x00, 0x0f, 0x48, 0xc9, - 0x00, 0xcb, 0x83, 0x7e, 0x4b, - 0x00, 0x00, 0x15, 0x11, 0xcb, - 0x00, 0x00, 0x00, 0x2c, 0x4b, - 0x00, 0x00, 0x17, 0x2b, 0xc8, - 0x00, 0x00, 0x16, 0x12, 0x8a, - 0x00, 0x00, 0x17, 0xc8, 0x8e, - 0x00, 0xcc, 0x0b, 0x74, 0xca, - 0x00, 0x00, 0x0e, 0x35, 0xcd, - 0x00, 0x00, 0x02, 0xe7, 0x0d, - 0x00, 0x02, 0x8d, 0x26, 0x8b, - 0x00, 0x00, 0x0f, 0x10, 0xca, - 0x00, 0x00, 0x02, 0x60, 0x84, - 0x00, 0x00, 0x08, 0xa6, 0x46, - 0x00, 0x00, 0x18, 0x96, 0xc8, - 0x00, 0x00, 0x0c, 0x9a, 0x08, - 0x00, 0x00, 0x03, 0x81, 0x07, - 0x00, 0x00, 0x02, 0x6e, 0x45, - 0x00, 0x00, 0x1e, 0x3b, 0x07, - 0x00, 0x00, 0x0a, 0x24, 0xc9, - 0x00, 0x00, 0x1d, 0x9d, 0x47, - 0x00, 0x00, 0x00, 0x79, 0x08, - 0x00, 0x00, 0x10, 0xf8, 0x49, - 0x00, 0x00, 0x06, 0x0a, 0x04, - 0x00, 0x00, 0x06, 0x85, 0xc5, - 0x00, 0x00, 0x15, 0x44, 0x0e, - 0x00, 0x00, 0x14, 0x55, 0xc7, - 0x00, 0xcc, 0xc2, 0x71, 0xc6, - 0x00, 0x00, 0x0b, 0xc8, 0x4d, - 0x00, 0x00, 0x1d, 0x9b, 0xc8, - 0x00, 0x00, 0x0f, 0x30, 0x08, - 0x00, 0xcd, 0x48, 0x09, 0x86, - 0x00, 0xce, 0x8b, 0x27, 0x88, - 0x00, 0x00, 0x18, 0x2c, 0x0a, - 0x00, 0x00, 0x06, 0x43, 0x48, - 0x00, 0x00, 0x14, 0x31, 0x10, - 0x00, 0x00, 0x06, 0x04, 0x8c, - 0x00, 0x00, 0x07, 0x2c, 0x07, - 0x00, 0x00, 0x07, 0x41, 0x07, - 0x00, 0x00, 0x07, 0x9c, 0x87, - 0x00, 0x00, 0x07, 0xfa, 0x47, - 0x00, 0x00, 0x00, 0x8b, 0x02, - 0x00, 0x00, 0x12, 0xa3, 0x87, - 0x00, 0x00, 0x1c, 0x1e, 0x0c, - 0x00, 0x00, 0x01, 0x4d, 0x05, - 0x00, 0x00, 0x0c, 0xc1, 0x07, - 0x00, 0x00, 0x0b, 0x6e, 0x06, - 0x00, 0x00, 0x0b, 0x78, 0xc9, - 0x00, 0x00, 0x0b, 0xac, 0x08, - 0x00, 0x00, 0x01, 0x5f, 0xc2, - 0x00, 0x00, 0x00, 0x05, 0xc2, - 0x00, 0x00, 0x11, 0x6a, 0x86, - 0x00, 0x00, 0x19, 0x4e, 0x0b, - 0x00, 0x00, 0x17, 0x3c, 0xc6, - 0x00, 0x00, 0x1d, 0xe6, 0x84, - 0x00, 0x00, 0x1c, 0xf8, 0xc7, - 0x00, 0x00, 0x08, 0x07, 0x89, - 0x00, 0x00, 0x1e, 0x0b, 0x49, - 0x00, 0x00, 0x1b, 0xa6, 0x88, - 0x00, 0x00, 0x05, 0x10, 0xc2, - 0x00, 0x00, 0x19, 0xa9, 0x89, - 0x00, 0x00, 0x01, 0x15, 0x08, - 0x00, 0x00, 0x0f, 0x0b, 0x8a, - 0x00, 0x00, 0x0c, 0xeb, 0x48, - 0x00, 0xcf, 0x4e, 0x09, 0x8b, - 0x00, 0x00, 0x1d, 0xb9, 0xc9, - 0x00, 0x00, 0x04, 0xb2, 0x06, - 0x00, 0x00, 0x0e, 0x5a, 0x49, - 0x00, 0x00, 0x0f, 0x10, 0x47, - 0x00, 0x00, 0x0f, 0x19, 0x09, - 0x00, 0x00, 0x0f, 0x2a, 0x48, - 0x00, 0x00, 0x0f, 0x40, 0x87, - 0x00, 0x00, 0x0f, 0x5a, 0x49, - 0x00, 0x00, 0x0f, 0x8e, 0x05, - 0x00, 0x00, 0x0f, 0x91, 0xd0, - 0x00, 0x00, 0x0f, 0x9d, 0x4c, - 0x00, 0x00, 0x18, 0x1b, 0x86, - 0x00, 0x00, 0x1c, 0xf8, 0x05, - 0x00, 0x00, 0x0d, 0x98, 0x07, - 0x00, 0x00, 0x04, 0x35, 0x0d, - 0x00, 0x00, 0x1b, 0x77, 0xc9, - 0x00, 0xd0, 0x4c, 0x88, 0xc3, - 0x00, 0x00, 0x04, 0x71, 0x85, - 0x00, 0x00, 0x1c, 0xbd, 0x46, - 0x00, 0x00, 0x10, 0x4a, 0xc7, - 0x00, 0x00, 0x10, 0xa9, 0x18, - 0x00, 0x00, 0x1d, 0xa0, 0xc8, - 0x00, 0x00, 0x08, 0x62, 0x4a, - 0x00, 0x00, 0x01, 0xc5, 0x8e, - 0x00, 0x00, 0x01, 0x00, 0x02, - 0x00, 0xd0, 0xc5, 0x22, 0x8b, - 0x00, 0xd1, 0x4e, 0x5b, 0x4a, - 0x00, 0x00, 0x19, 0x42, 0xca, - 0x00, 0x00, 0x06, 0x58, 0x4d, - 0x00, 0x00, 0x00, 0x10, 0x42, - 0x00, 0x00, 0x0d, 0xd0, 0xc6, - 0x00, 0x00, 0x01, 0x5d, 0x46, - 0x00, 0x00, 0x0c, 0x20, 0xc8, - 0x00, 0x00, 0x0b, 0xa0, 0xca, - 0x00, 0x00, 0x05, 0xa3, 0xc8, - 0x00, 0x00, 0x1b, 0x95, 0x49, - 0x00, 0x00, 0x11, 0xd9, 0x08, - 0x00, 0x00, 0x07, 0x4c, 0x8e, - 0x00, 0x00, 0x00, 0x63, 0x08, - 0x00, 0x00, 0x14, 0x42, 0x07, - 0x00, 0xd1, 0xcb, 0x26, 0xc4, - 0x00, 0x00, 0x0c, 0xfc, 0x4d, - 0x00, 0x00, 0x0c, 0xbd, 0x48, - 0x00, 0x00, 0x11, 0x38, 0x45, - 0x00, 0x00, 0x14, 0x6f, 0x48, - 0x00, 0xd2, 0x58, 0x1f, 0x09, - 0x00, 0x00, 0x03, 0x71, 0xc8, - 0x00, 0xd2, 0x81, 0xf7, 0x4a, - 0x00, 0x00, 0x00, 0x40, 0x42, - 0x00, 0xd3, 0x4b, 0x24, 0xc8, - 0x00, 0x00, 0x11, 0x9e, 0x46, - 0x00, 0x00, 0x00, 0x5f, 0xc2, - 0x00, 0x00, 0x0d, 0x05, 0x04, - 0x00, 0x00, 0x07, 0x4b, 0x46, - 0x00, 0xd3, 0x92, 0x3b, 0x48, - 0x00, 0x00, 0x05, 0x41, 0x46, - 0x00, 0xd4, 0x8d, 0xe5, 0x0b, - 0x00, 0x00, 0x00, 0x36, 0x42, - 0x00, 0xca, 0x43, 0xab, 0x84, - 0x00, 0x00, 0x02, 0x19, 0x43, - 0x00, 0x00, 0x16, 0xb4, 0x49, - 0x00, 0x00, 0x00, 0x19, 0x08, - 0x00, 0x00, 0x00, 0x25, 0x47, - 0x00, 0x00, 0x02, 0xc0, 0xca, - 0x00, 0x00, 0x07, 0x16, 0x87, - 0x00, 0x00, 0x00, 0x04, 0x01, - 0x00, 0x00, 0x00, 0x00, 0x81, - 0x00, 0x00, 0x18, 0x86, 0x47, - 0x00, 0x00, 0x11, 0x7e, 0x48, - 0x00, 0x00, 0x0c, 0x70, 0xc8, - 0x00, 0x00, 0x0c, 0x72, 0xc8, - 0x00, 0x00, 0x0c, 0x74, 0xc8, - 0x00, 0x00, 0x06, 0xcb, 0xc7, - 0x00, 0x00, 0x0a, 0x86, 0x43, - 0x00, 0xcd, 0xc3, 0xab, 0x84, - 0x00, 0xce, 0x4d, 0x1f, 0xc3, - 0x00, 0x00, 0x00, 0x00, 0xc1, - 0x00, 0x00, 0x0f, 0xc9, 0x86, - 0x00, 0x00, 0x00, 0x00, 0xc1, - 0x00, 0x00, 0x00, 0x02, 0x01, - 0x00, 0x00, 0x0f, 0xc9, 0x86, - 0x00, 0x00, 0x0a, 0x86, 0x43, - 0x00, 0xcf, 0xc4, 0xac, 0x44, - 0x00, 0x00, 0x19, 0x0d, 0x04, - 0x00, 0x00, 0x00, 0xe9, 0x85, - 0x00, 0x00, 0x03, 0x9f, 0x45, - 0x00, 0x00, 0x1c, 0xfa, 0x04, - 0x00, 0x00, 0x00, 0x67, 0x84, - 0x00, 0x00, 0x05, 0x15, 0x04, - 0x00, 0x02, 0x81, 0x00, 0x87, - 0x00, 0x02, 0x84, 0xab, 0x87, - 0x00, 0x00, 0x1c, 0x74, 0x48, - 0x00, 0x00, 0x1c, 0x14, 0x8c, - 0x00, 0x00, 0x00, 0x0c, 0x01, - 0x00, 0x00, 0x01, 0x4f, 0x83, - 0x00, 0x00, 0x01, 0xec, 0xc4, - 0x00, 0x00, 0x1b, 0xd0, 0x44, - 0x00, 0x00, 0x02, 0x8d, 0x45, - 0x00, 0x00, 0x1c, 0x74, 0x48, - 0x00, 0xd4, 0x5c, 0x74, 0x48, - 0x00, 0x00, 0x06, 0x8f, 0x03, - 0x00, 0x00, 0x07, 0xe5, 0x83, - 0x00, 0x00, 0x01, 0x2e, 0x03, - 0x00, 0x00, 0x02, 0x26, 0x07, - 0x00, 0x00, 0x00, 0x4a, 0x07, - 0x00, 0x02, 0x9e, 0x51, 0x45, - 0x00, 0x00, 0x05, 0x63, 0x44, - 0x00, 0x00, 0x07, 0x2d, 0x47, - 0x00, 0x00, 0x00, 0x22, 0x02, - 0x00, 0x00, 0x03, 0x9f, 0x04, - 0x00, 0x00, 0x1e, 0x0f, 0x4a, - 0x00, 0x00, 0x40, 0x48, 0x84, - 0x00, 0x00, 0x40, 0x66, 0x43, - 0x00, 0x00, 0x45, 0x54, 0xc4, - 0x00, 0x00, 0x45, 0x03, 0xc4, - 0x00, 0x00, 0x41, 0x09, 0xc3, - 0x00, 0x00, 0x42, 0x53, 0x05, - 0x00, 0x00, 0x41, 0x9d, 0xc3, - 0x00, 0x00, 0x43, 0x73, 0x43, - 0x00, 0x00, 0x53, 0xd8, 0x45, - 0x00, 0x00, 0x40, 0x0f, 0x83, - 0x00, 0x00, 0x02, 0x35, 0xc3, - 0x00, 0xd7, 0x40, 0x66, 0x43, - 0x00, 0x00, 0x41, 0xf6, 0x03, - 0x00, 0x00, 0x05, 0x54, 0xc4, - 0x00, 0x00, 0x00, 0x3b, 0x43, - 0x00, 0x00, 0x40, 0x55, 0x03, - 0x00, 0x00, 0x40, 0x01, 0x81, - 0x00, 0x00, 0x00, 0xf7, 0x43, - 0x00, 0x00, 0x40, 0x65, 0x43, - 0x00, 0x00, 0x42, 0x8f, 0x84, - 0x00, 0x00, 0x49, 0x47, 0x44, - 0x00, 0x00, 0x41, 0x09, 0xc3, - 0x00, 0x00, 0x02, 0xb6, 0x43, - 0x00, 0x00, 0x41, 0xf1, 0x43, - 0x00, 0x00, 0x41, 0x3d, 0xc3, - 0x00, 0x00, 0x1b, 0x96, 0x88, - 0x00, 0x00, 0x40, 0x00, 0xc2, - 0x00, 0x00, 0x45, 0x0b, 0x03, - 0x00, 0x00, 0x40, 0x22, 0x02, - 0x00, 0x00, 0x40, 0x66, 0x43, - 0x00, 0x00, 0x41, 0xf6, 0x03, - 0x00, 0x00, 0x5d, 0x64, 0x03, - 0x00, 0x00, 0x40, 0x05, 0xc2, - 0x00, 0x00, 0x45, 0x03, 0xc4, - 0x00, 0x00, 0x41, 0x1e, 0x43, - 0x00, 0x00, 0x40, 0x65, 0x43, - 0x00, 0x00, 0x41, 0x09, 0xc3, - 0x00, 0x00, 0x41, 0xd7, 0x83, - 0x00, 0x00, 0x41, 0xf1, 0x43, - 0x00, 0x00, 0x40, 0x0f, 0x83, - 0x00, 0x00, 0x1b, 0x96, 0x88, - 0x00, 0x00, 0x10, 0xea, 0x47, - 0x00, 0x00, 0x00, 0x22, 0x02, - 0x00, 0x00, 0x13, 0x62, 0x85, - 0x00, 0x00, 0x06, 0x05, 0xcf, - 0x00, 0x00, 0x0e, 0x32, 0x46, - 0x00, 0x00, 0x0f, 0x9d, 0x4c, - 0x00, 0x02, 0x87, 0xe2, 0x48, - 0x00, 0xd9, 0x40, 0x1b, 0xc2, - 0x00, 0x00, 0x5d, 0xae, 0x48, - 0x00, 0x00, 0x5c, 0xf3, 0x86, - 0x00, 0x00, 0x4d, 0xb1, 0x06, - 0x00, 0x00, 0x59, 0xd9, 0x47, - 0x00, 0xd9, 0xc0, 0x87, 0xc2, - 0x00, 0xda, 0x4c, 0x52, 0x48, - 0x00, 0x00, 0x42, 0x9c, 0xca, - 0x00, 0x00, 0x47, 0x26, 0x88, - 0x00, 0x00, 0x40, 0x0b, 0x02, - 0x00, 0x00, 0x53, 0x67, 0xc9, - 0x00, 0x00, 0x50, 0x20, 0x87, - 0x00, 0x00, 0x41, 0x76, 0xc6, - 0x00, 0x00, 0x44, 0xfd, 0xc9, - 0x00, 0x00, 0x43, 0xdf, 0x04, - 0x00, 0x00, 0x58, 0xb9, 0xc6, - 0x00, 0x00, 0x4d, 0xb5, 0x04, - 0x00, 0x00, 0x42, 0x00, 0x44, - 0x00, 0x00, 0x46, 0x4b, 0x09, - 0x00, 0x00, 0x51, 0xb9, 0x46, - 0x00, 0x00, 0x42, 0x7d, 0x45, - 0x00, 0x00, 0x47, 0x83, 0xc5, - 0x00, 0x00, 0x42, 0xf0, 0x07, - 0x00, 0x00, 0x53, 0x40, 0x87, - 0x00, 0x00, 0x5e, 0xdf, 0x44, - 0x00, 0x00, 0x56, 0x04, 0x06, - 0x00, 0x00, 0x4c, 0x64, 0x85, - 0x00, 0x00, 0x5f, 0x31, 0xc5, - 0x00, 0x00, 0x42, 0xf8, 0xc5, - 0x00, 0x00, 0x43, 0x7a, 0xc7, - 0x00, 0x00, 0x47, 0x68, 0x05, - 0x00, 0x00, 0x44, 0xf8, 0xc9, - 0x00, 0x00, 0x5d, 0xc5, 0x45, - 0x00, 0x00, 0x54, 0xe6, 0x44, - 0x00, 0x00, 0x41, 0xcc, 0x87, - 0x00, 0x00, 0x53, 0xb0, 0x0e, - 0x00, 0x00, 0x54, 0x6a, 0xc9, - 0x00, 0x00, 0x5d, 0xa6, 0x09, - 0x00, 0x00, 0x5b, 0xde, 0x06, - 0x00, 0x00, 0x44, 0x3f, 0x48, - 0x00, 0x00, 0x57, 0x8c, 0x0b, - 0x00, 0x00, 0x4f, 0xec, 0x8c, - 0x00, 0x00, 0x52, 0xdb, 0x46, - 0x00, 0x00, 0x4c, 0x41, 0xc7, - 0x00, 0x00, 0x4f, 0x83, 0x85, - 0x00, 0x00, 0x51, 0x3a, 0xca, - 0x00, 0x00, 0x5c, 0xef, 0xc9, - 0x00, 0x00, 0x40, 0x0a, 0xc9, - 0x00, 0x00, 0x4f, 0xbf, 0xc6, - 0x00, 0x00, 0x5b, 0x1b, 0x45, - 0x00, 0x00, 0x44, 0xb1, 0x05, - 0x00, 0x00, 0x57, 0x50, 0x09, - 0x00, 0x00, 0x42, 0xfa, 0x4b, - 0x00, 0x00, 0x5c, 0xc9, 0x86, - 0x00, 0x00, 0x55, 0x76, 0x86, - 0x00, 0x00, 0x40, 0x8a, 0x44, - 0x00, 0x00, 0x45, 0x29, 0x46, - 0x00, 0x00, 0x50, 0xd0, 0xc8, - 0x00, 0x00, 0x5d, 0x00, 0xc6, - 0x00, 0x00, 0x47, 0xda, 0x46, - 0x00, 0x00, 0x40, 0x42, 0x48, - 0x00, 0x00, 0x40, 0x5a, 0x47, - 0x00, 0x00, 0x40, 0x68, 0x89, - 0x00, 0x00, 0x40, 0x74, 0x05, - 0x00, 0x00, 0x1b, 0x96, 0x88, - 0x00, 0x00, 0x5e, 0x3a, 0x84, - 0x00, 0x00, 0x51, 0xe2, 0xc4, - 0x00, 0x00, 0x40, 0xd6, 0x05, - 0x00, 0x00, 0x54, 0xa8, 0x09, - 0x00, 0x00, 0x40, 0xda, 0x07, - 0x00, 0x00, 0x40, 0xda, 0x0b, - 0x00, 0x00, 0x42, 0x62, 0x0a, - 0x00, 0x00, 0x42, 0x96, 0x85, - 0x00, 0xda, 0xc0, 0x51, 0x82, - 0x00, 0x00, 0x5f, 0x35, 0x87, - 0x00, 0xdb, 0x42, 0x9a, 0x08, - 0x00, 0x00, 0x5c, 0x58, 0x07, - 0x00, 0x00, 0x4d, 0xf7, 0x45, - 0x00, 0x00, 0x43, 0xb3, 0xca, - 0x00, 0x00, 0x00, 0x22, 0x02, - 0x00, 0x00, 0x48, 0xb0, 0x0b, - 0x00, 0x00, 0x48, 0xd5, 0x8a, - 0x00, 0x00, 0x47, 0x78, 0xc6, - 0x00, 0x00, 0x55, 0xf3, 0x83, - 0x00, 0x00, 0x40, 0x37, 0x4d, - 0x00, 0x00, 0x5d, 0x7c, 0xcc, - 0x00, 0x00, 0x40, 0xdc, 0x8d, - 0x00, 0x00, 0x43, 0x65, 0x05, - 0x00, 0x00, 0x41, 0x11, 0x85, - 0x00, 0x00, 0x45, 0xf2, 0x07, - 0x00, 0x00, 0x41, 0x8d, 0x49, - 0x00, 0x00, 0x42, 0x9b, 0xc6, - 0x00, 0x00, 0x47, 0x35, 0x85, - 0x00, 0x00, 0x52, 0xac, 0x08, - 0x00, 0x00, 0x43, 0xa7, 0x83, - 0x00, 0x00, 0x4e, 0x44, 0xc8, - 0x00, 0x00, 0x45, 0x28, 0x48, - 0x00, 0x00, 0x5c, 0x49, 0x87, - 0x00, 0x00, 0x43, 0xa7, 0x88, - 0x00, 0x00, 0x43, 0xe2, 0x89, - 0x00, 0x00, 0x57, 0xd0, 0x47, - 0x00, 0x00, 0x5b, 0xdf, 0xc7, - 0x00, 0x00, 0x5e, 0x4f, 0xc8, - 0x00, 0x00, 0x41, 0x18, 0x84, - 0x00, 0x00, 0x41, 0x18, 0x87, - 0x00, 0x00, 0x48, 0x22, 0x88, - 0x00, 0x00, 0x56, 0x7e, 0x86, - 0x00, 0x00, 0x5c, 0x5f, 0xcf, - 0x00, 0x00, 0x44, 0x4b, 0xc7, - 0x00, 0x00, 0x55, 0xff, 0x06, - 0x00, 0x00, 0x42, 0xdf, 0x85, - 0x00, 0x00, 0x42, 0x59, 0xc3, - 0x00, 0x00, 0x44, 0xd0, 0xc7, - 0x00, 0x00, 0x58, 0xf6, 0x43, - 0x00, 0x00, 0x45, 0x2f, 0xc6, - 0x00, 0x00, 0x45, 0x62, 0x46, - 0x00, 0x00, 0x45, 0x9a, 0x46, - 0x00, 0x00, 0x49, 0xfe, 0x05, - 0x00, 0x00, 0x47, 0x7d, 0xc3, - 0x00, 0x00, 0x59, 0xa6, 0x08, - 0x00, 0x00, 0x5a, 0x38, 0x89, - 0x00, 0x00, 0x45, 0xa0, 0x8b, - 0x00, 0x00, 0x45, 0xb5, 0x88, - 0x00, 0x00, 0x45, 0xc7, 0x05, - 0x00, 0x00, 0x45, 0xe8, 0x05, - 0x00, 0xdb, 0xc5, 0x96, 0xc2, - 0x00, 0x00, 0x46, 0x63, 0x49, - 0x00, 0x00, 0x5d, 0x1c, 0x87, - 0x00, 0x00, 0x41, 0xe1, 0x45, - 0x00, 0x00, 0x46, 0x4a, 0x07, - 0x00, 0x00, 0x46, 0x6e, 0x86, - 0x00, 0x00, 0x46, 0x7e, 0x45, - 0x00, 0x00, 0x46, 0xa7, 0x8b, - 0x00, 0x00, 0x46, 0xd0, 0x04, - 0x00, 0x00, 0x47, 0x18, 0x45, - 0x00, 0x00, 0x47, 0x19, 0x87, - 0x00, 0x00, 0x48, 0x5a, 0x46, - 0x00, 0x00, 0x48, 0x67, 0x85, - 0x00, 0x00, 0x49, 0x2a, 0x87, - 0x00, 0x00, 0x49, 0x2f, 0xc7, - 0x00, 0x00, 0x4c, 0x6b, 0x84, - 0x00, 0x00, 0x4a, 0x0d, 0xca, - 0x00, 0x00, 0x4b, 0x76, 0xc8, - 0x00, 0x00, 0x57, 0x8e, 0xc9, - 0x00, 0x00, 0x52, 0x01, 0x05, - 0x00, 0x00, 0x47, 0x5a, 0x06, - 0x00, 0x00, 0x50, 0xd2, 0x8a, - 0x00, 0x00, 0x47, 0x82, 0xc6, - 0x00, 0x00, 0x5e, 0xc5, 0x87, - 0x00, 0x00, 0x47, 0xa4, 0x0d, - 0x00, 0x00, 0x4b, 0x42, 0xc9, - 0x00, 0x00, 0x58, 0x45, 0x45, - 0x00, 0x00, 0x5c, 0x3f, 0x07, - 0x00, 0x00, 0x5d, 0xb5, 0x08, - 0x00, 0x00, 0x5d, 0xbe, 0xc8, - 0x00, 0x00, 0x53, 0xab, 0xc7, - 0x00, 0x00, 0x5c, 0x2e, 0x06, - 0x00, 0x00, 0x41, 0x61, 0x07, - 0x00, 0x00, 0x45, 0x56, 0xc3, - 0x00, 0x00, 0x51, 0xb8, 0xc4, - 0x00, 0x00, 0x58, 0x5d, 0x45, - 0x00, 0x00, 0x5b, 0x02, 0x07, - 0x00, 0x00, 0x5b, 0xa2, 0x89, - 0x00, 0x00, 0x42, 0x5d, 0xc8, - 0x00, 0x00, 0x5e, 0xc4, 0x85, - 0x00, 0x00, 0x47, 0x38, 0x44, - 0x00, 0x00, 0x44, 0xf3, 0x05, - 0x00, 0x00, 0x45, 0xea, 0x4d, - 0x00, 0x00, 0x40, 0x70, 0x02, - 0x00, 0x00, 0x4d, 0x62, 0x46, - 0x00, 0x00, 0x4c, 0x89, 0x46, - 0x00, 0x00, 0x50, 0xe2, 0xca, - 0x00, 0x00, 0x5a, 0x16, 0x06, - 0x00, 0x00, 0x5a, 0xdc, 0x85, - 0x00, 0x00, 0x58, 0xc3, 0xc5, - 0x00, 0x00, 0x58, 0xc3, 0xc7, - 0x00, 0x00, 0x5b, 0x30, 0x0c, - 0x00, 0x00, 0x46, 0x41, 0xca, - 0x00, 0x00, 0x49, 0xb0, 0x46, - 0x00, 0x00, 0x4e, 0x0d, 0xc5, - 0x00, 0x00, 0x45, 0x27, 0x86, - 0x00, 0x00, 0x49, 0xb9, 0x07, - 0x00, 0x00, 0x49, 0xde, 0x46, - 0x00, 0x00, 0x49, 0xfd, 0x0c, - 0x00, 0x00, 0x44, 0xff, 0x09, - 0x00, 0xdc, 0x44, 0x44, 0x47, - 0x00, 0x00, 0x4a, 0x30, 0x45, - 0x00, 0x00, 0x4a, 0x30, 0x46, - 0x00, 0x00, 0x4a, 0x35, 0x48, - 0x00, 0x00, 0x44, 0x96, 0x85, - 0x00, 0x00, 0x4b, 0x4f, 0x85, - 0x00, 0x00, 0x4b, 0x57, 0x08, - 0x00, 0x00, 0x4b, 0x59, 0x0a, - 0x00, 0xdc, 0xc0, 0xbd, 0x82, - 0x00, 0xdd, 0x40, 0x9b, 0x02, - 0x00, 0x00, 0x4a, 0xfc, 0x05, - 0x00, 0x00, 0x51, 0xc7, 0x03, - 0x00, 0x00, 0x51, 0xdf, 0x88, - 0x00, 0x00, 0x48, 0x5e, 0x43, - 0x00, 0x00, 0x4b, 0x5b, 0x84, - 0x00, 0x00, 0x4a, 0x8d, 0x8b, - 0x00, 0x00, 0x4b, 0x90, 0xc8, - 0x00, 0x00, 0x53, 0x3d, 0x88, - 0x00, 0xdd, 0xd4, 0xda, 0x49, - 0x00, 0x00, 0x4b, 0xbe, 0x09, - 0x00, 0x00, 0x4b, 0xc7, 0x46, - 0x00, 0x00, 0x4b, 0xe3, 0x88, - 0x00, 0x00, 0x4b, 0xe5, 0x89, - 0x00, 0x00, 0x4c, 0x02, 0x06, - 0x00, 0x00, 0x4c, 0x03, 0x85, - 0x00, 0x00, 0x44, 0xe1, 0x86, - 0x00, 0x00, 0x4c, 0x08, 0x09, - 0x00, 0x00, 0x4d, 0x7e, 0xc7, - 0x00, 0x00, 0x45, 0x52, 0x06, - 0x00, 0x00, 0x55, 0x85, 0x87, - 0x00, 0x00, 0x55, 0x8e, 0x47, - 0x00, 0x00, 0x5a, 0x0e, 0x04, - 0x00, 0xde, 0x5e, 0x4e, 0x09, - 0x00, 0x00, 0x4d, 0x42, 0x08, - 0x00, 0x00, 0x4c, 0x51, 0x48, - 0x00, 0x00, 0x58, 0xd2, 0xc7, - 0x00, 0x00, 0x4e, 0x1e, 0x06, - 0x00, 0x00, 0x5c, 0xc1, 0x89, - 0x00, 0x00, 0x4d, 0xb7, 0xc7, - 0x00, 0x00, 0x5a, 0xf3, 0xca, - 0x00, 0x00, 0x5e, 0xdb, 0x48, - 0x00, 0x00, 0x47, 0x75, 0xc7, - 0x00, 0x00, 0x4e, 0x4d, 0x86, - 0x00, 0x00, 0x5e, 0x0d, 0x4a, - 0x00, 0x00, 0x54, 0x7c, 0x08, - 0x00, 0x00, 0x4e, 0x88, 0x45, - 0x00, 0x00, 0x4b, 0xa4, 0x85, - 0x00, 0x00, 0x50, 0xa5, 0x47, - 0x00, 0x00, 0x51, 0x85, 0x49, - 0x00, 0x00, 0x51, 0x8a, 0x4b, - 0x00, 0x00, 0x52, 0xee, 0x08, - 0x00, 0x00, 0x5d, 0xc5, 0xc9, - 0x00, 0x00, 0x45, 0xbc, 0x07, - 0x00, 0x00, 0x4c, 0xed, 0x4c, - 0x00, 0x00, 0x4c, 0xf2, 0x4c, - 0x00, 0x00, 0x4c, 0xf5, 0x4a, - 0x00, 0x00, 0x4c, 0xf7, 0xcc, - 0x00, 0x00, 0x4d, 0xb0, 0x88, - 0x00, 0x00, 0x4d, 0xb2, 0x88, - 0x00, 0x00, 0x4d, 0xb4, 0x84, - 0x00, 0x00, 0x4d, 0xc8, 0x89, - 0x00, 0x00, 0x4d, 0xca, 0xc9, - 0x00, 0x00, 0x4d, 0xcd, 0x0a, - 0x00, 0x00, 0x4d, 0xcf, 0x89, - 0x00, 0x00, 0x4d, 0xd3, 0x07, - 0x00, 0x00, 0x5c, 0x5b, 0xcc, - 0x00, 0x00, 0x5c, 0xab, 0x06, - 0x00, 0x00, 0x47, 0x9d, 0xc8, - 0x00, 0x00, 0x47, 0x83, 0x86, - 0x00, 0x00, 0x51, 0x84, 0x06, - 0x00, 0x00, 0x58, 0x44, 0x47, - 0x00, 0x00, 0x59, 0x6b, 0xc8, - 0x00, 0x00, 0x58, 0xbf, 0x8b, - 0x00, 0x00, 0x4f, 0xc0, 0xc7, - 0x00, 0x00, 0x46, 0x47, 0xc9, - 0x00, 0x00, 0x46, 0x83, 0xc9, - 0x00, 0x00, 0x48, 0xf5, 0x07, - 0x00, 0x00, 0x4d, 0xb7, 0x44, - 0x00, 0x00, 0x46, 0x73, 0x07, - 0x00, 0x00, 0x4e, 0x92, 0x46, - 0x00, 0x00, 0x41, 0x3f, 0x86, - 0x00, 0x00, 0x54, 0xff, 0x05, - 0x00, 0x00, 0x43, 0x0e, 0x48, - 0x00, 0x00, 0x55, 0xda, 0x44, - 0x00, 0x00, 0x55, 0xda, 0x46, - 0x00, 0x00, 0x46, 0x40, 0x8b, - 0x00, 0x00, 0x4a, 0xac, 0x09, - 0x00, 0x00, 0x43, 0x79, 0xc6, - 0x00, 0x00, 0x42, 0x65, 0x09, - 0x00, 0x00, 0x40, 0xd6, 0xc6, - 0x00, 0x00, 0x58, 0x78, 0xc8, - 0x00, 0x00, 0x40, 0x77, 0x83, - 0x00, 0x00, 0x5b, 0x1c, 0xc5, - 0x00, 0x00, 0x41, 0x40, 0xc9, - 0x00, 0x00, 0x40, 0x58, 0x05, - 0x00, 0x00, 0x4f, 0xa4, 0xc4, - 0x00, 0x00, 0x44, 0x49, 0x46, - 0x00, 0x00, 0x47, 0xdb, 0x85, - 0x00, 0x00, 0x46, 0x08, 0x06, - 0x00, 0x00, 0x52, 0x30, 0x07, - 0x00, 0x00, 0x5b, 0xee, 0xc6, - 0x00, 0x00, 0x43, 0x4b, 0xcb, - 0x00, 0x00, 0x47, 0xb1, 0x87, - 0x00, 0x00, 0x48, 0x90, 0x46, - 0x00, 0x00, 0x49, 0x2e, 0x46, - 0x00, 0x00, 0x42, 0xf0, 0xc6, - 0x00, 0x00, 0x5e, 0xdf, 0x09, - 0x00, 0x00, 0x4b, 0x3d, 0x4a, - 0x00, 0x00, 0x56, 0xd4, 0x05, - 0x00, 0x00, 0x44, 0x51, 0x4d, - 0x00, 0x00, 0x4b, 0x5a, 0x06, - 0x00, 0x00, 0x4d, 0x00, 0xc6, - 0x00, 0x00, 0x5a, 0x75, 0x46, - 0x00, 0x00, 0x42, 0x24, 0x05, - 0x00, 0x00, 0x4f, 0x94, 0xc7, - 0x00, 0x00, 0x47, 0xc2, 0x47, - 0x00, 0x00, 0x51, 0xbc, 0xce, - 0x00, 0x00, 0x40, 0x65, 0x43, - 0x00, 0x00, 0x4e, 0x1d, 0xc9, - 0x00, 0x00, 0x5a, 0x29, 0x49, - 0x00, 0x00, 0x51, 0x3e, 0xc7, - 0x00, 0x00, 0x47, 0xc7, 0x07, - 0x00, 0x00, 0x43, 0x59, 0xc5, - 0x00, 0x00, 0x57, 0xb2, 0x05, - 0x00, 0xde, 0xc0, 0x6c, 0x0f, - 0x00, 0x00, 0x4e, 0x7e, 0xc7, - 0x00, 0x00, 0x4e, 0x80, 0x88, - 0x00, 0x00, 0x4e, 0x84, 0xc4, - 0x00, 0x00, 0x4e, 0x87, 0x06, - 0x00, 0xdf, 0x44, 0xa5, 0x02, - 0x00, 0x00, 0x4e, 0xc7, 0x46, - 0x00, 0x00, 0x4e, 0xe6, 0xc6, - 0x00, 0x00, 0x0f, 0x9d, 0x4c, - 0x00, 0x00, 0x40, 0x1b, 0x8e, - 0x00, 0x00, 0x4e, 0x43, 0x0a, - 0x00, 0x00, 0x40, 0x3b, 0xc6, - 0x00, 0x00, 0x41, 0x1b, 0x8a, - 0x00, 0x00, 0x5c, 0xb2, 0xc9, - 0x00, 0x00, 0x43, 0xb8, 0x45, - 0x00, 0x00, 0x57, 0x1b, 0x48, - 0x00, 0x00, 0x51, 0x64, 0x46, - 0x00, 0x00, 0x4c, 0x3d, 0xc8, - 0x00, 0x00, 0x50, 0x03, 0x08, - 0x00, 0x00, 0x49, 0x4b, 0x8b, - 0x00, 0x00, 0x59, 0xda, 0x45, - 0x00, 0x00, 0x47, 0x68, 0x88, - 0x00, 0x00, 0x40, 0x43, 0x8c, - 0x00, 0x00, 0x4d, 0xf6, 0x07, - 0x00, 0x00, 0x45, 0x6e, 0x06, - 0x00, 0x00, 0x4e, 0x4a, 0xc8, - 0x00, 0x00, 0x58, 0xbc, 0x48, - 0x00, 0xdf, 0xc1, 0x22, 0x82, - 0x00, 0x00, 0x5d, 0x4d, 0xcb, - 0x00, 0x00, 0x54, 0xf5, 0x89, - 0x00, 0x00, 0x58, 0xb8, 0x09, - 0x00, 0x00, 0x40, 0x76, 0x07, - 0x00, 0x00, 0x5c, 0xbb, 0x88, - 0x00, 0xe0, 0x43, 0xeb, 0x48, - 0x00, 0x00, 0x53, 0x2a, 0x8b, - 0x00, 0x00, 0x45, 0x43, 0x89, - 0x00, 0x00, 0x46, 0x6b, 0x4d, - 0x00, 0x00, 0x54, 0xd4, 0xc8, - 0x00, 0x00, 0x4d, 0x07, 0x08, - 0x00, 0xe0, 0xc0, 0x15, 0x82, - 0x00, 0x00, 0x41, 0xe7, 0xc4, - 0x00, 0xe1, 0x42, 0x32, 0xc2, - 0x00, 0x00, 0x56, 0xcf, 0x46, - 0x00, 0xe1, 0xc0, 0xb7, 0xc2, - 0x00, 0x00, 0x50, 0x79, 0x4a, - 0x00, 0x00, 0x46, 0xc0, 0x06, - 0x00, 0x00, 0x42, 0x6b, 0x88, - 0x00, 0x00, 0x45, 0x06, 0x88, - 0x00, 0x00, 0x46, 0x1b, 0xc6, - 0x00, 0x00, 0x4c, 0x46, 0xc6, - 0x00, 0x00, 0x50, 0xdb, 0x86, - 0x00, 0x00, 0x41, 0xe3, 0xc5, - 0x00, 0x00, 0x43, 0xbd, 0x04, - 0x00, 0xe2, 0x58, 0x78, 0x44, - 0x00, 0x00, 0x55, 0xcb, 0xc6, - 0x00, 0x00, 0x45, 0x9e, 0xc7, - 0x00, 0xe2, 0xc8, 0x8b, 0x47, - 0x00, 0x00, 0x59, 0x79, 0xcb, - 0x00, 0x00, 0x5c, 0x5a, 0x09, - 0x00, 0x00, 0x41, 0x11, 0xca, - 0x00, 0x00, 0x58, 0xc5, 0x04, - 0x00, 0x00, 0x4d, 0xba, 0x88, - 0x00, 0x00, 0x45, 0x4f, 0xcd, - 0x00, 0x00, 0x50, 0x82, 0x49, - 0x00, 0x00, 0x50, 0x84, 0x88, - 0x00, 0x00, 0x50, 0x87, 0x09, - 0x00, 0x00, 0x50, 0xa9, 0x04, - 0x00, 0x00, 0x44, 0x17, 0x44, - 0x00, 0x00, 0x48, 0x39, 0x05, - 0x00, 0x00, 0x5b, 0x64, 0x4b, - 0x00, 0x00, 0x4b, 0x90, 0x46, - 0x00, 0x00, 0x55, 0xca, 0x05, - 0x00, 0x00, 0x59, 0x00, 0x89, - 0x00, 0x00, 0x56, 0x04, 0xc8, - 0x00, 0x00, 0x46, 0x7e, 0x84, - 0x00, 0x00, 0x51, 0x3c, 0x49, - 0x00, 0x00, 0x43, 0x4b, 0x05, - 0x00, 0x00, 0x53, 0x40, 0xc8, - 0x00, 0x00, 0x5d, 0xaa, 0x07, - 0x00, 0x00, 0x52, 0x0d, 0x88, - 0x00, 0x00, 0x49, 0x03, 0x06, - 0x00, 0x00, 0x5c, 0x18, 0x47, - 0x00, 0x00, 0x4f, 0x26, 0x89, - 0x00, 0x00, 0x53, 0xbe, 0x49, - 0x00, 0x00, 0x42, 0x2c, 0x05, - 0x00, 0x00, 0x45, 0x74, 0x45, - 0x00, 0xe3, 0x41, 0xcd, 0x02, - 0x00, 0x00, 0x54, 0xe4, 0x04, - 0x00, 0x00, 0x4f, 0x63, 0x45, - 0x00, 0x00, 0x59, 0xd8, 0x46, - 0x00, 0x00, 0x58, 0x33, 0x05, - 0x00, 0x00, 0x45, 0xe8, 0xc7, - 0x00, 0x00, 0x4d, 0xaa, 0xc5, - 0x00, 0x00, 0x48, 0x3e, 0x04, - 0x00, 0x00, 0x5b, 0xde, 0xc6, - 0x00, 0x00, 0x47, 0x36, 0x07, - 0x00, 0x00, 0x44, 0xa5, 0x46, - 0x00, 0x00, 0x5b, 0x21, 0x85, - 0x00, 0x00, 0x40, 0xc8, 0x88, - 0x00, 0x00, 0x5c, 0xf5, 0x85, - 0x00, 0x00, 0x40, 0xf6, 0xc7, - 0x00, 0x00, 0x41, 0xce, 0x89, - 0x00, 0x00, 0x4a, 0xad, 0x4a, - 0x00, 0x00, 0x42, 0x67, 0x07, - 0x00, 0x00, 0x42, 0x67, 0x0c, - 0x00, 0x00, 0x42, 0x7d, 0x06, - 0x00, 0x00, 0x43, 0xf5, 0x09, - 0x00, 0x00, 0x44, 0x7c, 0xc5, - 0x00, 0x00, 0x44, 0x95, 0xc8, - 0x00, 0x00, 0x41, 0x5d, 0x43, - 0x00, 0x00, 0x4c, 0x8a, 0x05, - 0x00, 0x00, 0x4f, 0x5e, 0x05, - 0x00, 0x00, 0x49, 0x0b, 0x47, - 0x00, 0xe3, 0xc0, 0x0b, 0x82, - 0x00, 0x00, 0x50, 0x42, 0x07, - 0x00, 0x00, 0x4d, 0xd6, 0x86, - 0x00, 0x00, 0x5e, 0x34, 0x06, - 0x00, 0x00, 0x4e, 0x85, 0x86, - 0x00, 0x00, 0x58, 0xbb, 0x86, - 0x00, 0x00, 0x44, 0xcb, 0xc8, - 0x00, 0x00, 0x48, 0x98, 0xc5, - 0x00, 0x00, 0x55, 0xff, 0xc7, - 0x00, 0x00, 0x55, 0xff, 0xcd, - 0x00, 0x00, 0x44, 0xe5, 0x83, - 0x00, 0x00, 0x5c, 0xaf, 0xc5, - 0x00, 0x00, 0x47, 0x71, 0x47, - 0x00, 0x00, 0x50, 0x45, 0x48, - 0x00, 0x00, 0x47, 0x6d, 0x05, - 0x00, 0x00, 0x41, 0x98, 0xc8, - 0x00, 0x00, 0x42, 0x8a, 0x46, - 0x00, 0x00, 0x51, 0x6b, 0x87, - 0x00, 0x00, 0x4f, 0x44, 0xc5, - 0x00, 0x00, 0x59, 0xda, 0xc6, - 0x00, 0x00, 0x59, 0xab, 0x85, - 0x00, 0x00, 0x5c, 0xcd, 0x4a, - 0x00, 0x00, 0x4f, 0x6a, 0xc6, - 0x00, 0x00, 0x4d, 0x76, 0x47, - 0x00, 0x00, 0x42, 0x7a, 0x05, - 0x00, 0x00, 0x4f, 0x7f, 0x47, - 0x00, 0x00, 0x4f, 0x8b, 0xc4, - 0x00, 0x00, 0x4f, 0xa4, 0x46, - 0x00, 0x00, 0x57, 0x1a, 0x85, - 0x00, 0x00, 0x42, 0xc9, 0x8b, - 0x00, 0x00, 0x4e, 0x90, 0xc9, - 0x00, 0x00, 0x58, 0xa8, 0xca, - 0x00, 0x00, 0x42, 0x2c, 0x88, - 0x00, 0x00, 0x50, 0xb5, 0x88, - 0x00, 0x00, 0x51, 0x0b, 0x8c, - 0x00, 0x00, 0x51, 0x14, 0x07, - 0x00, 0x00, 0x51, 0x47, 0x88, - 0x00, 0x00, 0x55, 0xc5, 0x08, - 0x00, 0x00, 0x56, 0xd0, 0x85, - 0x00, 0x00, 0x52, 0x9a, 0x4a, - 0x00, 0x00, 0x52, 0x64, 0x09, - 0x00, 0xe4, 0x40, 0x19, 0x82, - 0x00, 0x00, 0x4a, 0x06, 0x86, - 0x00, 0x00, 0x43, 0x0c, 0x84, - 0x00, 0x00, 0x43, 0x0c, 0x89, - 0x00, 0x00, 0x42, 0x86, 0xc9, - 0x00, 0x00, 0x51, 0x9a, 0x47, - 0x00, 0x00, 0x47, 0xf8, 0x87, - 0x00, 0x00, 0x48, 0x50, 0x89, - 0x00, 0x00, 0x4c, 0xcd, 0x48, - 0x00, 0x00, 0x4c, 0xcd, 0x4f, - 0x00, 0x00, 0x41, 0x6b, 0x06, - 0x00, 0x00, 0x4f, 0x04, 0x8b, - 0x00, 0x00, 0x45, 0xf9, 0xc5, - 0x00, 0x00, 0x45, 0xf9, 0xc7, - 0x00, 0x00, 0x55, 0x4f, 0xc9, - 0x00, 0x00, 0x42, 0x4c, 0x86, - 0x00, 0x00, 0x51, 0x3b, 0xc7, - 0x00, 0x00, 0x4f, 0x3b, 0x45, - 0x00, 0x00, 0x43, 0x27, 0xc4, - 0x00, 0x00, 0x5b, 0x6a, 0x46, - 0x00, 0x00, 0x40, 0xdb, 0xc4, - 0x00, 0x00, 0x4c, 0xd5, 0x07, - 0x00, 0x00, 0x53, 0x98, 0x48, - 0x00, 0xe4, 0xdb, 0x1a, 0x48, - 0x00, 0x00, 0x5c, 0x70, 0x05, - 0x00, 0x00, 0x5e, 0x52, 0x47, - 0x00, 0x00, 0x4d, 0x68, 0x49, - 0x00, 0x00, 0x40, 0xe2, 0x04, - 0x00, 0x00, 0x44, 0x6d, 0x48, - 0x00, 0xe5, 0x50, 0xa3, 0x88, - 0x00, 0x00, 0x4d, 0x00, 0x44, - 0x00, 0x00, 0x50, 0x0d, 0x08, - 0x00, 0x00, 0x5c, 0x3b, 0x44, - 0x00, 0x00, 0x5b, 0x71, 0x49, - 0x00, 0x00, 0x5a, 0x74, 0x85, - 0x00, 0xe5, 0xc3, 0xd9, 0x42, - 0x00, 0x00, 0x41, 0x6b, 0x45, - 0x00, 0x00, 0x4e, 0xa7, 0x85, - 0x00, 0x00, 0x53, 0xb7, 0x88, - 0x00, 0x00, 0x43, 0x6b, 0x47, - 0x00, 0xe6, 0x40, 0x08, 0xc2, - 0x00, 0x00, 0x5c, 0xc5, 0x45, - 0x00, 0x00, 0x4e, 0xaf, 0xc6, - 0x00, 0x00, 0x46, 0x7b, 0x06, - 0x00, 0x00, 0x54, 0xe3, 0xc8, - 0x00, 0x00, 0x55, 0x0c, 0x88, - 0x00, 0x00, 0x58, 0x32, 0xc6, - 0x00, 0x00, 0x58, 0x3e, 0x86, - 0x00, 0x00, 0x50, 0xeb, 0x09, - 0x00, 0x00, 0x5e, 0x33, 0x46, - 0x00, 0x00, 0x42, 0x4b, 0x4b, - 0x00, 0x00, 0x4f, 0xf3, 0xc5, - 0x00, 0x00, 0x5a, 0x65, 0x86, - 0x00, 0x00, 0x4a, 0xc8, 0x48, - 0x00, 0x00, 0x50, 0x23, 0xc6, - 0x00, 0x00, 0x4a, 0x23, 0x46, - 0x00, 0x00, 0x41, 0xb0, 0x0a, - 0x00, 0x00, 0x5a, 0x00, 0x8a, - 0x00, 0x00, 0x45, 0xed, 0x45, - 0x00, 0x00, 0x49, 0xb7, 0x47, - 0x00, 0x00, 0x48, 0x34, 0x86, - 0x00, 0xe6, 0xc0, 0x46, 0xc2, - 0x00, 0x00, 0x47, 0x72, 0x87, - 0x00, 0x00, 0x5e, 0x49, 0x05, - 0x00, 0x00, 0x50, 0xd2, 0x04, - 0x00, 0x00, 0x50, 0xd2, 0x05, - 0x00, 0x00, 0x4d, 0xb9, 0x86, - 0x00, 0x00, 0x58, 0x89, 0x47, - 0x00, 0x00, 0x42, 0x0c, 0x85, - 0x00, 0x00, 0x42, 0x87, 0x84, - 0x00, 0x00, 0x4c, 0x61, 0x88, - 0x00, 0x00, 0x4a, 0x24, 0x05, - 0x00, 0x00, 0x4f, 0x52, 0x47, - 0x00, 0x00, 0x53, 0x6d, 0x05, - 0x00, 0x00, 0x58, 0x17, 0x85, - 0x00, 0x00, 0x41, 0x27, 0x84, - 0x00, 0x00, 0x54, 0x66, 0x09, - 0x00, 0x00, 0x4c, 0x62, 0xc8, - 0x00, 0x00, 0x44, 0x9d, 0x86, - 0x00, 0x00, 0x5a, 0xaa, 0xc6, - 0x00, 0x00, 0x53, 0xc3, 0xc6, - 0x00, 0xe7, 0x52, 0xd1, 0x48, - 0x00, 0x00, 0x50, 0xb4, 0x07, - 0x00, 0x00, 0x59, 0x15, 0xcd, - 0x00, 0x00, 0x56, 0x6a, 0x0c, - 0x00, 0x00, 0x5e, 0x00, 0x89, - 0x00, 0x00, 0x5e, 0x91, 0x09, - 0x00, 0xe7, 0xd7, 0xd9, 0x42, - 0x00, 0x00, 0x5e, 0x84, 0x43, - 0x00, 0x00, 0x42, 0x81, 0x83, - 0x00, 0x00, 0x4e, 0x93, 0x05, - 0x00, 0x00, 0x5b, 0x03, 0x0a, - 0x00, 0x00, 0x54, 0x46, 0x06, - 0x00, 0x00, 0x5e, 0xc8, 0xc5, - 0x00, 0x00, 0x52, 0x34, 0x04, - 0x00, 0x00, 0x52, 0x34, 0x0b, - 0x00, 0x00, 0x53, 0x91, 0x0c, - 0x00, 0x00, 0x53, 0x9a, 0x4c, - 0x00, 0x00, 0x53, 0x9d, 0x55, - 0x00, 0x00, 0x53, 0xc7, 0x4d, - 0x00, 0x00, 0x53, 0xeb, 0x8f, - 0x00, 0x00, 0x53, 0xef, 0x52, - 0x00, 0x00, 0x53, 0xf3, 0xcf, - 0x00, 0x00, 0x53, 0xf7, 0x92, - 0x00, 0x00, 0x53, 0xfc, 0x13, - 0x00, 0x00, 0x54, 0x00, 0xcd, - 0x00, 0x00, 0x54, 0x06, 0x8d, - 0x00, 0x00, 0x54, 0x0a, 0x0e, - 0x00, 0x00, 0x54, 0x13, 0x0e, - 0x00, 0x00, 0x54, 0x19, 0x8c, - 0x00, 0x00, 0x54, 0x1d, 0x4c, - 0x00, 0x00, 0x54, 0x21, 0x8b, - 0x00, 0x00, 0x54, 0x2c, 0x0e, - 0x00, 0x00, 0x54, 0x35, 0x12, - 0x00, 0x00, 0x54, 0x43, 0xcc, - 0x00, 0x00, 0x54, 0x48, 0xd0, - 0x00, 0x00, 0x55, 0x1b, 0x12, - 0x00, 0x00, 0x55, 0x27, 0x8c, - 0x00, 0x00, 0x55, 0x2e, 0x4d, - 0x00, 0x00, 0x55, 0x31, 0x8c, - 0x00, 0x00, 0x55, 0x64, 0x91, - 0x00, 0x00, 0x55, 0x78, 0x0d, - 0x00, 0x00, 0x55, 0x9f, 0x8d, - 0x00, 0x00, 0x55, 0xa5, 0x8a, - 0x00, 0x00, 0x55, 0xa8, 0x0c, - 0x00, 0x00, 0x55, 0xbc, 0x0c, - 0x00, 0x00, 0x55, 0xc7, 0x0c, - 0x00, 0x00, 0x55, 0xd1, 0x8c, - 0x00, 0x00, 0x56, 0x22, 0x13, - 0x00, 0x00, 0x56, 0x2c, 0x10, - 0x00, 0x00, 0x56, 0x30, 0x10, - 0x00, 0x00, 0x56, 0x36, 0x8d, - 0x00, 0x00, 0x56, 0x3c, 0x8c, - 0x00, 0x00, 0x56, 0x70, 0x09, - 0x00, 0x00, 0x56, 0x91, 0x4d, - 0x00, 0x00, 0x56, 0x94, 0x93, - 0x00, 0x00, 0x56, 0xba, 0x11, - 0x00, 0x00, 0x56, 0xc2, 0x13, - 0x00, 0x00, 0x56, 0xd5, 0x4f, - 0x00, 0x00, 0x56, 0xd9, 0x0c, - 0x00, 0x00, 0x56, 0xdc, 0x0f, - 0x00, 0x00, 0x56, 0xdf, 0xcd, - 0x00, 0x00, 0x56, 0xe5, 0xcf, - 0x00, 0x00, 0x56, 0xe9, 0x90, - 0x00, 0x00, 0x56, 0xf4, 0x0e, - 0x00, 0x00, 0x57, 0x56, 0x4e, - 0x00, 0x00, 0x57, 0x5f, 0x90, - 0x00, 0x00, 0x57, 0x6a, 0xcd, - 0x00, 0x00, 0x57, 0x74, 0x4e, - 0x00, 0x00, 0x57, 0x77, 0xcc, - 0x00, 0x00, 0x57, 0x86, 0x93, - 0x00, 0x00, 0x57, 0xab, 0xce, - 0x00, 0x00, 0x57, 0xb7, 0x10, - 0x00, 0x00, 0x57, 0xbb, 0x11, - 0x00, 0x00, 0x57, 0xbf, 0x4f, - 0x00, 0x00, 0x57, 0xc3, 0x13, - 0x00, 0x00, 0x57, 0xd4, 0xcd, - 0x00, 0x00, 0x57, 0xd8, 0x0f, - 0x00, 0x00, 0x57, 0xdb, 0xce, - 0x00, 0x00, 0x57, 0xe1, 0x50, - 0x00, 0x00, 0x57, 0xe5, 0x49, - 0x00, 0x00, 0x57, 0xf9, 0xd0, - 0x00, 0x00, 0x57, 0xfe, 0xcf, - 0x00, 0x00, 0x58, 0x05, 0x4f, - 0x00, 0x00, 0x58, 0x09, 0x12, - 0x00, 0x00, 0x58, 0x24, 0x8e, - 0x00, 0x00, 0x58, 0x2f, 0x4d, - 0x00, 0x00, 0x58, 0x35, 0xcd, - 0x00, 0x00, 0x58, 0x39, 0x0d, - 0x00, 0x00, 0x58, 0x46, 0x8d, - 0x00, 0x00, 0x58, 0x49, 0xcd, - 0x00, 0x00, 0x58, 0x4d, 0x10, - 0x00, 0x00, 0x58, 0x51, 0x0b, - 0x00, 0x00, 0x58, 0x5b, 0x0c, - 0x00, 0x00, 0x58, 0x5e, 0x8c, - 0x00, 0x00, 0x58, 0x64, 0x8c, - 0x00, 0x00, 0x58, 0x67, 0x8e, - 0x00, 0x00, 0x59, 0x47, 0xd0, - 0x00, 0x00, 0x59, 0x65, 0x12, - 0x00, 0x00, 0x59, 0x69, 0x8b, - 0x00, 0x00, 0x59, 0x6d, 0xce, - 0x00, 0x00, 0x59, 0x71, 0x4e, - 0x00, 0x00, 0x59, 0x80, 0x4e, - 0x00, 0x00, 0x59, 0x85, 0xcb, - 0x00, 0xe8, 0x59, 0x89, 0x56, - 0x00, 0x00, 0x59, 0x98, 0x8d, - 0x00, 0x00, 0x59, 0xa1, 0x54, - 0x00, 0x00, 0x59, 0xae, 0x4d, - 0x00, 0x00, 0x59, 0xd0, 0x95, - 0x00, 0x00, 0x59, 0xf2, 0x8d, - 0x00, 0x00, 0x59, 0xfc, 0x0f, - 0x00, 0x00, 0x5a, 0x04, 0x0f, - 0x00, 0x00, 0x5a, 0x3a, 0xcf, - 0x00, 0x00, 0x5a, 0x3e, 0x8e, - 0x00, 0x00, 0x5a, 0x42, 0x0d, - 0x00, 0x00, 0x5a, 0x57, 0x51, - 0x00, 0x00, 0x5a, 0x8e, 0xcc, - 0x00, 0x00, 0x5a, 0x91, 0xcc, - 0x00, 0x00, 0x5a, 0x94, 0xcb, - 0x00, 0x00, 0x5a, 0x97, 0x8c, - 0x00, 0x00, 0x5a, 0x9f, 0xcf, - 0x00, 0x00, 0x5a, 0xa3, 0x92, - 0x00, 0x00, 0x5a, 0xb1, 0x8d, - 0x00, 0x00, 0x5a, 0xc3, 0xcc, - 0x00, 0x00, 0x5a, 0xcc, 0xcc, - 0x00, 0x00, 0x5a, 0xcf, 0xcd, - 0x00, 0x00, 0x5a, 0xd3, 0x0f, - 0x00, 0x00, 0x5a, 0xd6, 0xce, - 0x00, 0x00, 0x5a, 0xff, 0xcc, - 0x00, 0x00, 0x5b, 0x05, 0x8d, - 0x00, 0x00, 0x5b, 0x08, 0xcb, - 0x00, 0x00, 0x5b, 0x15, 0x4c, - 0x00, 0x00, 0x5b, 0x26, 0x8d, - 0x00, 0x00, 0x5b, 0x29, 0xce, - 0x00, 0x00, 0x5b, 0x2d, 0x49, - 0x00, 0x00, 0x5b, 0x3d, 0x13, - 0x00, 0x00, 0x5b, 0x44, 0xcd, - 0x00, 0x00, 0x5b, 0x4b, 0xcd, - 0x00, 0x00, 0x5b, 0x51, 0xcc, - 0x00, 0x00, 0x5b, 0x58, 0x8e, - 0x00, 0x00, 0x5b, 0x7c, 0x4f, - 0x00, 0x00, 0x5b, 0x80, 0x0c, - 0x00, 0x00, 0x5b, 0x83, 0x0d, - 0x00, 0x00, 0x5b, 0x86, 0x4f, - 0x00, 0x00, 0x5b, 0x8a, 0x0c, - 0x00, 0x00, 0x5b, 0x90, 0x0c, - 0x00, 0x00, 0x5b, 0x9d, 0x4c, - 0x00, 0x00, 0x5b, 0xa0, 0x4c, - 0x00, 0x00, 0x5b, 0xac, 0x4d, - 0x00, 0x00, 0x5b, 0xaf, 0x92, - 0x00, 0x00, 0x5b, 0xba, 0x0c, - 0x00, 0x00, 0x5b, 0xbd, 0x0c, - 0x00, 0x00, 0x5b, 0xc0, 0x11, - 0x00, 0x00, 0x5b, 0xc4, 0x4f, - 0x00, 0x00, 0x5b, 0xc8, 0x0f, - 0x00, 0x00, 0x5b, 0xcb, 0xd3, - 0x00, 0x00, 0x5b, 0xf8, 0x4e, - 0x00, 0x00, 0x5b, 0xfb, 0xcf, - 0x00, 0x00, 0x5b, 0xff, 0x8c, - 0x00, 0xe8, 0xdc, 0x06, 0x4e, - 0x00, 0x00, 0x5c, 0x09, 0xcf, - 0x00, 0x00, 0x5c, 0x0d, 0x96, - 0x00, 0x00, 0x5c, 0x44, 0xd2, - 0x00, 0x00, 0x5c, 0x7a, 0x8c, - 0x00, 0x00, 0x5c, 0x81, 0x8f, - 0x00, 0x00, 0x5c, 0x88, 0x0d, - 0x00, 0x00, 0x5d, 0xf1, 0x0f, - 0x00, 0x00, 0x5d, 0xf4, 0xcc, - 0x00, 0x00, 0x5d, 0xf7, 0xcd, - 0x00, 0x00, 0x5d, 0xfb, 0x0d, - 0x00, 0x00, 0x5e, 0x16, 0x8e, - 0x00, 0x00, 0x5e, 0x2b, 0x8c, - 0x00, 0x00, 0x5e, 0x5b, 0x4c, - 0x00, 0x00, 0x5e, 0x5e, 0x50, - 0x00, 0x00, 0x5e, 0x77, 0xd1, - 0x00, 0x00, 0x5e, 0x7c, 0x0b, - 0x00, 0x00, 0x5e, 0x80, 0x4c, - 0x00, 0x00, 0x5e, 0x83, 0x4e, - 0x00, 0x00, 0x5e, 0x96, 0x51, - 0x00, 0x00, 0x5e, 0x9a, 0x8e, - 0x00, 0x00, 0x5e, 0x9e, 0x0d, - 0x00, 0x00, 0x5e, 0xfb, 0x4b, - 0x00, 0x00, 0x5f, 0x0c, 0x4f, - 0x00, 0x00, 0x5f, 0x18, 0x94, - 0x00, 0x00, 0x40, 0x62, 0xc2, - 0x00, 0x00, 0x40, 0x62, 0xc2, - 0x00, 0x00, 0x40, 0x43, 0x83, - 0x00, 0x00, 0x40, 0x62, 0xc2, - 0x00, 0x00, 0x40, 0x43, 0x83, - 0x00, 0x00, 0x40, 0x62, 0xc2, - 0x00, 0x00, 0x40, 0x3c, 0xc2, - 0x00, 0x00, 0x44, 0xe1, 0xc5, - 0x00, 0x00, 0x5e, 0x93, 0x4c, - 0x00, 0x00, 0x40, 0x62, 0xc2, - 0x00, 0x00, 0x40, 0x62, 0xc2, - 0x00, 0x00, 0x40, 0x3c, 0xc2, - 0x00, 0x00, 0x40, 0x62, 0xc2, - 0x00, 0x00, 0x4a, 0x43, 0xc5, - 0x00, 0x00, 0x4a, 0xad, 0x45, - 0x00, 0x00, 0x40, 0x62, 0xc2, - 0x00, 0x00, 0x40, 0x62, 0xc2, - 0x00, 0x00, 0x40, 0xb7, 0x82, - 0x00, 0x00, 0x4a, 0x43, 0xc5, - 0x00, 0x00, 0x53, 0xcd, 0x09, - 0x00, 0x00, 0x56, 0xb7, 0x0c, - 0x00, 0x00, 0x40, 0x62, 0xc2, - 0x00, 0x00, 0x40, 0x62, 0xc2, - 0x00, 0x00, 0x40, 0x62, 0xc2, - 0x00, 0x00, 0x40, 0x62, 0xc2, - 0x00, 0x00, 0x44, 0xe1, 0xc5, - 0x00, 0x00, 0x40, 0x62, 0xc2, - 0x00, 0x00, 0x40, 0x62, 0xc2, - 0x00, 0x00, 0x40, 0x62, 0xc2, - 0x00, 0x00, 0x40, 0x62, 0xc2, - 0x00, 0x00, 0x40, 0xb7, 0x82, - 0x00, 0x00, 0x53, 0xcd, 0x09, - 0x00, 0x00, 0x40, 0x62, 0xc2, - 0x00, 0x00, 0x40, 0x62, 0xc2, - 0x00, 0x00, 0x40, 0x62, 0xc2, - 0x00, 0x00, 0x4a, 0xad, 0x45, - 0x00, 0x00, 0x40, 0x62, 0xc2, - 0x00, 0x00, 0x4a, 0xad, 0x45, - 0x00, 0x00, 0x56, 0xb7, 0x0c, - 0x00, 0x00, 0x5e, 0x93, 0x4c, - 0x00, 0x00, 0x45, 0x0b, 0x03, - 0x00, 0x00, 0x40, 0x66, 0x43, - 0x00, 0x00, 0x41, 0xf6, 0x03, - 0x00, 0x00, 0x40, 0x55, 0x03, - 0x00, 0x00, 0x45, 0x03, 0xc4, - 0x00, 0x00, 0x41, 0x09, 0xc3, - 0x00, 0x00, 0x41, 0xf1, 0x43, - 0x00, 0x00, 0x00, 0x29, 0xcf, - 0x00, 0x00, 0x13, 0xb5, 0x48, - 0x00, 0x00, 0x07, 0x4d, 0xc4, - 0x00, 0x00, 0x0e, 0x70, 0x08, - 0x00, 0x00, 0x40, 0x00, 0xc2, - 0x00, 0xea, 0xc0, 0x22, 0x02, - 0x00, 0x00, 0x44, 0x57, 0xc3, - 0x00, 0x00, 0x4f, 0x16, 0x84, - 0x00, 0x00, 0x40, 0x3b, 0x43, - 0x00, 0x00, 0x40, 0x55, 0x04, - 0x00, 0x00, 0x43, 0x13, 0x86, - 0x00, 0x00, 0x44, 0x48, 0x43, - 0x00, 0x00, 0x44, 0x48, 0x04, - 0x00, 0x00, 0x49, 0xeb, 0xc5, - 0x00, 0x00, 0x40, 0x65, 0x43, - 0x00, 0x00, 0x41, 0x09, 0xc3, - 0x00, 0x00, 0x41, 0xf1, 0x43, - 0x00, 0x00, 0x5b, 0x6f, 0x0a, - 0x00, 0x00, 0x5a, 0x63, 0x86, - 0x00, 0x00, 0x59, 0x74, 0xcc, - 0x00, 0x00, 0x1b, 0x96, 0x88, - 0x00, 0x00, 0x40, 0x22, 0x02, - 0x00, 0x00, 0x40, 0x66, 0x43, - 0x00, 0x00, 0x41, 0xf6, 0x03, - 0x00, 0x00, 0x40, 0x55, 0x03, - 0x00, 0x00, 0x43, 0xdd, 0xc3, - 0x00, 0x00, 0x4e, 0xe6, 0xc6, - 0x00, 0x00, 0x41, 0x09, 0xc3, - 0x00, 0x00, 0x41, 0xf1, 0x43, - 0x00, 0x00, 0x41, 0x96, 0x83, - 0x00, 0x00, 0x01, 0xe1, 0x43, - 0x00, 0x00, 0x0b, 0x71, 0x88, - 0x00, 0xec, 0x1e, 0xd1, 0xc5, - 0x00, 0x00, 0x07, 0xe6, 0x07, - 0x00, 0x00, 0x05, 0x00, 0x85, - 0x00, 0x00, 0x01, 0x79, 0x47, - 0x00, 0x00, 0x14, 0xcb, 0x05, - 0x00, 0x00, 0x0a, 0x2a, 0x04, - 0x00, 0x00, 0x0a, 0x2a, 0x0a, - 0x00, 0x00, 0x00, 0x2d, 0x89, - 0x00, 0x00, 0x00, 0x1a, 0xc2, - 0x00, 0x00, 0x1c, 0x92, 0x8a, - 0x00, 0xed, 0xdd, 0xd7, 0xc5, - 0x00, 0x00, 0x14, 0xcb, 0x05, - 0x00, 0x00, 0x03, 0x42, 0xc7, - 0x00, 0x00, 0x00, 0x62, 0x08, - 0x00, 0x00, 0x00, 0x99, 0x0e, - 0x00, 0x00, 0x09, 0x78, 0x52, - 0x00, 0x00, 0x13, 0x60, 0x8b, - 0x00, 0x00, 0x11, 0xb5, 0x86, - 0x00, 0xee, 0x4d, 0x45, 0xc5, - 0x00, 0xee, 0xcd, 0x45, 0xcc, - 0x00, 0x00, 0x1e, 0x4a, 0x87, - 0x00, 0x00, 0x0f, 0x08, 0xc7, - 0x00, 0x00, 0x0d, 0xc2, 0x4a, - 0x00, 0x00, 0x03, 0xf1, 0x50, - 0x00, 0x00, 0x14, 0xdc, 0x45, - 0x00, 0x00, 0x0b, 0xa9, 0x4b, - 0x00, 0x00, 0x0c, 0x9a, 0x08, - 0x00, 0x00, 0x03, 0x81, 0x07, - 0x00, 0x00, 0x12, 0xbc, 0xcb, - 0x00, 0x00, 0x0a, 0x24, 0xc9, - 0x00, 0x00, 0x04, 0xe3, 0x87, - 0x00, 0x00, 0x1d, 0x9d, 0x47, - 0x00, 0x00, 0x1c, 0xcb, 0xc7, - 0x00, 0x00, 0x03, 0x80, 0x46, - 0x00, 0x00, 0x00, 0x79, 0x08, - 0x00, 0xef, 0x83, 0x41, 0x06, - 0x00, 0x00, 0x05, 0xa3, 0x07, - 0x00, 0x00, 0x02, 0x8b, 0x86, - 0x00, 0x00, 0x0b, 0xc8, 0x4d, - 0x00, 0x00, 0x0d, 0xbc, 0x10, - 0x00, 0xf0, 0x00, 0x4c, 0x02, - 0x00, 0x00, 0x1d, 0x9b, 0xc8, - 0x00, 0x00, 0x19, 0x30, 0x90, - 0x00, 0x00, 0x19, 0x37, 0xcc, - 0x00, 0xf0, 0xda, 0x4a, 0x0d, - 0x00, 0x00, 0x06, 0xb4, 0xc8, - 0x00, 0x00, 0x06, 0xbd, 0xcb, - 0x00, 0x00, 0x07, 0xb6, 0xc7, - 0x00, 0x00, 0x10, 0x30, 0xc9, - 0x00, 0x00, 0x06, 0x36, 0x46, - 0x00, 0x00, 0x0a, 0x37, 0x48, - 0x00, 0x00, 0x01, 0x73, 0x82, - 0x00, 0x00, 0x06, 0x80, 0x8a, - 0x00, 0x00, 0x03, 0xee, 0xc7, - 0x00, 0x00, 0x0c, 0xc1, 0x07, - 0x00, 0x00, 0x0b, 0x78, 0xc9, - 0x00, 0x00, 0x0b, 0xac, 0x08, - 0x00, 0x00, 0x1c, 0x9f, 0x45, - 0x00, 0x00, 0x06, 0xba, 0x47, - 0x00, 0x00, 0x11, 0x6a, 0x86, - 0x00, 0x00, 0x17, 0x3c, 0xc6, - 0x00, 0x00, 0x10, 0x97, 0xce, - 0x00, 0x00, 0x04, 0x8b, 0xce, - 0x00, 0x00, 0x05, 0xe4, 0x4f, - 0x00, 0x00, 0x08, 0x07, 0x89, - 0x00, 0x00, 0x1e, 0x0b, 0x49, - 0x00, 0x00, 0x0a, 0xf7, 0x8b, - 0x00, 0x00, 0x0d, 0xe0, 0x4f, - 0x00, 0x00, 0x19, 0xcd, 0x8c, - 0x00, 0x00, 0x0d, 0x84, 0x4b, - 0x00, 0x00, 0x12, 0x91, 0x48, - 0x00, 0x00, 0x19, 0x78, 0xc7, - 0x00, 0x00, 0x1a, 0x51, 0xc8, - 0x00, 0x00, 0x0c, 0x1b, 0x0b, - 0x00, 0x00, 0x0c, 0x26, 0x8c, - 0x00, 0x00, 0x0c, 0x2a, 0x8c, - 0x00, 0x00, 0x0c, 0x2e, 0x8c, - 0x00, 0x00, 0x0c, 0x31, 0x8d, - 0x00, 0x00, 0x1b, 0xa6, 0x88, - 0x00, 0x00, 0x07, 0xe5, 0xc2, - 0x00, 0x00, 0x19, 0xa9, 0x89, - 0x00, 0x00, 0x0a, 0x8a, 0xc8, - 0x00, 0x00, 0x0d, 0xe9, 0x4b, - 0x00, 0x00, 0x0e, 0x20, 0x06, - 0x00, 0x00, 0x0e, 0xa8, 0xcb, - 0x00, 0x00, 0x14, 0x30, 0x4b, - 0x00, 0x00, 0x0f, 0x32, 0x8a, - 0x00, 0x00, 0x0f, 0x42, 0x45, - 0x00, 0x00, 0x0f, 0x91, 0xd0, - 0x00, 0x00, 0x10, 0x09, 0x86, - 0x00, 0x00, 0x1b, 0xf0, 0x06, - 0x00, 0x00, 0x1c, 0xf8, 0x05, - 0x00, 0x00, 0x0d, 0x98, 0x07, - 0x00, 0x00, 0x10, 0x10, 0x48, - 0x00, 0x00, 0x10, 0x4a, 0xc7, - 0x00, 0x00, 0x10, 0x4d, 0x87, - 0x00, 0x00, 0x17, 0x2e, 0x07, - 0x00, 0x00, 0x02, 0x02, 0x86, - 0x00, 0x00, 0x16, 0xcd, 0x8a, - 0x00, 0x00, 0x0b, 0x4c, 0x0a, - 0x00, 0x00, 0x01, 0x5d, 0x46, - 0x00, 0x00, 0x0c, 0xbe, 0xcd, - 0x00, 0x00, 0x05, 0xa3, 0xc8, - 0x00, 0x00, 0x11, 0xd9, 0x08, - 0x00, 0x00, 0x01, 0x26, 0xc9, - 0x00, 0x00, 0x08, 0x60, 0x09, - 0x00, 0x00, 0x0d, 0xd5, 0x85, - 0x00, 0x00, 0x16, 0x7f, 0xcc, - 0x00, 0x00, 0x0c, 0x33, 0x8b, - 0x00, 0x00, 0x01, 0xf0, 0x09, - 0x00, 0x00, 0x11, 0x89, 0x84, - 0x00, 0x00, 0x11, 0x9c, 0x09, - 0x00, 0x00, 0x11, 0x9e, 0x46, - 0x00, 0x00, 0x01, 0x32, 0x06, - 0x00, 0x00, 0x00, 0x26, 0x42, - 0x00, 0x00, 0x05, 0x41, 0x46, - 0x00, 0x00, 0x08, 0x61, 0x8b, - 0x00, 0x00, 0x12, 0x60, 0xc7, - 0x00, 0x00, 0x12, 0x62, 0x87, - 0x00, 0x00, 0x00, 0x36, 0x42, - 0x00, 0x00, 0x0e, 0x3d, 0xc5, - 0x00, 0x00, 0x00, 0x63, 0x84, - 0x00, 0x00, 0x00, 0x01, 0x01, - 0x00, 0x00, 0x05, 0xc1, 0x83, - 0x00, 0xef, 0x56, 0x0f, 0xc6, - 0x00, 0x00, 0x0d, 0x1f, 0xc3, - 0x00, 0x00, 0x00, 0x03, 0x82, - 0x00, 0x00, 0x00, 0x0e, 0x44, - 0x00, 0x00, 0x00, 0x0b, 0x02, - 0x00, 0x00, 0x01, 0x4f, 0x04, - 0x00, 0x00, 0x00, 0x08, 0x82, - 0x00, 0x00, 0x00, 0x8b, 0x82, - 0x00, 0x00, 0x00, 0x8a, 0x42, - 0x00, 0x00, 0x06, 0x97, 0x82, - 0x00, 0x00, 0x00, 0x17, 0x82, - 0x00, 0x00, 0x02, 0x19, 0x42, - 0x00, 0x00, 0x00, 0x34, 0x02, - 0x00, 0x00, 0x15, 0x47, 0xc2, - 0x00, 0x00, 0x03, 0x19, 0x82, - 0x00, 0x00, 0x05, 0x43, 0x02, - 0x00, 0x00, 0x00, 0x23, 0xc2, - 0x00, 0x00, 0x05, 0x64, 0x42, - 0x00, 0x00, 0x01, 0xf6, 0x03, - 0x00, 0x00, 0x00, 0x09, 0x42, - 0x00, 0x00, 0x00, 0x13, 0x42, - 0x00, 0x00, 0x00, 0xfd, 0x02, - 0x00, 0x00, 0x00, 0x81, 0x02, - 0x00, 0x00, 0x00, 0x06, 0x42, - 0x00, 0x00, 0x02, 0x96, 0x02, - 0x00, 0x00, 0x01, 0x5f, 0xc2, - 0x00, 0x00, 0x00, 0x14, 0x42, - 0x00, 0x00, 0x00, 0x41, 0x42, - 0x00, 0x00, 0x00, 0x05, 0xc2, - 0x00, 0x00, 0x01, 0x1e, 0x43, - 0x00, 0x00, 0x00, 0x2b, 0x82, - 0x00, 0x00, 0x00, 0x4b, 0x02, - 0x00, 0x00, 0x05, 0x10, 0xc2, - 0x00, 0x00, 0x00, 0x69, 0x82, - 0x00, 0x00, 0x00, 0x6b, 0x42, - 0x00, 0x00, 0x00, 0x95, 0x82, - 0x00, 0x00, 0x01, 0xa2, 0x02, - 0x00, 0x00, 0x00, 0x20, 0x42, - 0x00, 0x00, 0x00, 0x0e, 0xc2, - 0x00, 0x00, 0x19, 0x4c, 0xc2, - 0x00, 0x00, 0x07, 0xd2, 0x02, - 0x00, 0x00, 0x00, 0x70, 0xc2, - 0x00, 0x00, 0x01, 0x09, 0xc3, - 0x00, 0x00, 0x00, 0x06, 0x02, - 0x00, 0x00, 0x01, 0x22, 0x82, - 0x00, 0x00, 0x00, 0x1f, 0x42, - 0x00, 0x00, 0x01, 0x62, 0x82, - 0x00, 0x00, 0x02, 0x2b, 0x85, - 0x00, 0x00, 0x00, 0x4f, 0x82, - 0x00, 0x00, 0x01, 0xa0, 0x02, - 0x00, 0x00, 0x1d, 0xea, 0x83, - 0x00, 0x00, 0x00, 0x06, 0x82, - 0x00, 0x00, 0x01, 0x00, 0x02, - 0x00, 0x00, 0x00, 0x10, 0x42, - 0x00, 0x00, 0x00, 0x1a, 0x42, - 0x00, 0x00, 0x01, 0x0a, 0x82, - 0x00, 0x00, 0x00, 0x08, 0xc2, - 0x00, 0x00, 0x00, 0x5f, 0xc2, - 0x00, 0x00, 0x00, 0x26, 0x42, - 0x00, 0x00, 0x00, 0x2c, 0x45, - 0x00, 0xf1, 0x40, 0x3c, 0xc2, - 0x00, 0xf1, 0xd0, 0x93, 0x43, - 0x00, 0x00, 0x01, 0x5c, 0x43, - 0x00, 0xf2, 0x40, 0x3c, 0xc2, - 0x00, 0x00, 0x01, 0x5c, 0x43, - 0x00, 0x00, 0x0e, 0x18, 0xc7, - 0x00, 0x00, 0x40, 0xd5, 0xc3, - 0x00, 0x00, 0x40, 0x00, 0xc2, - 0x00, 0x00, 0x40, 0x66, 0x43, - 0x00, 0x00, 0x41, 0xf6, 0x03, - 0x00, 0x00, 0x5d, 0x64, 0x03, - 0x00, 0x00, 0x40, 0x05, 0xc3, - 0x00, 0x00, 0x43, 0xdd, 0xc3, - 0x00, 0x00, 0x41, 0x09, 0xc3, - 0x00, 0x00, 0x41, 0xd7, 0x83, - 0x00, 0x00, 0x41, 0xf1, 0x43, - 0x00, 0x00, 0x4d, 0x20, 0x03, - 0x00, 0x00, 0x1a, 0x56, 0x43, - 0x00, 0x00, 0x1a, 0x56, 0x44, - 0x00, 0x00, 0x17, 0x97, 0xc6, - 0x00, 0x00, 0x0d, 0xd5, 0xc4, - 0x00, 0x00, 0x10, 0x05, 0x05, - 0x00, 0x00, 0x10, 0xcf, 0x85, - 0x00, 0x00, 0x1c, 0x36, 0xc3, - 0x00, 0x00, 0x1b, 0x96, 0x88, - 0x00, 0x00, 0x40, 0x66, 0x43, - 0x00, 0x00, 0x41, 0xf6, 0x03, - 0x00, 0x00, 0x5d, 0x64, 0x03, - 0x00, 0x00, 0x40, 0x65, 0x43, - 0x00, 0x00, 0x41, 0x09, 0xc3, - 0x00, 0x00, 0x41, 0xd7, 0x83, - 0x00, 0x00, 0x41, 0xf1, 0x43, - 0x00, 0x00, 0x40, 0x66, 0x43, - 0x00, 0x00, 0x41, 0xf6, 0x03, - 0x00, 0x00, 0x41, 0xf1, 0x43, - 0x00, 0x00, 0x40, 0x66, 0x43, - 0x00, 0x00, 0x41, 0xf6, 0x03, - 0x00, 0x00, 0x40, 0x55, 0x03, - 0x00, 0x00, 0x40, 0x01, 0x81, - 0x00, 0x00, 0x40, 0x65, 0x43, - 0x00, 0x00, 0x41, 0x09, 0xc3, - 0x00, 0x00, 0x42, 0xb6, 0x43, - 0x00, 0x00, 0x41, 0xf1, 0x43, - 0x00, 0x00, 0x1d, 0xf0, 0x04, - 0x00, 0x00, 0x45, 0x0b, 0x03, - 0x00, 0x00, 0x40, 0x66, 0x43, - 0x00, 0x00, 0x41, 0xf6, 0x03, - 0x00, 0x00, 0x40, 0x64, 0xc3, - 0x00, 0x00, 0x5d, 0x64, 0x03, - 0x00, 0x00, 0x49, 0x0a, 0x43, - 0x00, 0x00, 0x43, 0x45, 0x03, - 0x00, 0x00, 0x4b, 0x48, 0x43, - 0x00, 0x00, 0x44, 0xc8, 0xc3, - 0x00, 0x00, 0x40, 0x55, 0x03, - 0x00, 0x00, 0x45, 0x03, 0xc4, - 0x00, 0x00, 0x41, 0x09, 0xc3, - 0x00, 0x00, 0x41, 0xf1, 0x43, - 0x00, 0x00, 0x40, 0x0f, 0x83, - 0x00, 0x00, 0x5c, 0x7f, 0x44, - 0x00, 0x00, 0x41, 0x11, 0x03, - 0x00, 0x00, 0x00, 0x28, 0xc3, - 0x00, 0x00, 0x44, 0xa6, 0x43, - 0x00, 0x00, 0x53, 0x36, 0x48, - 0x00, 0x00, 0x55, 0x8c, 0x84, - 0x00, 0x00, 0x40, 0x02, 0x0a, - 0x00, 0x00, 0x45, 0xef, 0xc6, - 0x00, 0x00, 0x0d, 0x66, 0x44, - 0x00, 0x00, 0x5b, 0x41, 0x87, - 0x00, 0x00, 0x42, 0x37, 0x0a, - 0x00, 0x00, 0x41, 0x69, 0xc9, - 0x00, 0x00, 0x5c, 0x91, 0x07, - 0x00, 0x00, 0x5c, 0xe4, 0x8a, - 0x00, 0x00, 0x45, 0x0b, 0x03, - 0x00, 0x00, 0x4a, 0xfc, 0x8b, - 0x00, 0x00, 0x57, 0x94, 0x49, - 0x00, 0x00, 0x58, 0x6f, 0xc5, - 0x00, 0x00, 0x5b, 0x93, 0x07, - 0x00, 0x00, 0x00, 0x22, 0x02, - 0x00, 0x00, 0x40, 0x66, 0x43, - 0x00, 0x00, 0x46, 0xa5, 0xc7, - 0x00, 0x00, 0x50, 0xfe, 0xc5, - 0x00, 0x00, 0x4d, 0xb6, 0x09, - 0x00, 0x00, 0x01, 0xb9, 0x8e, - 0x00, 0x00, 0x41, 0xf6, 0x03, - 0x00, 0x00, 0x43, 0xbf, 0xc6, - 0x00, 0x00, 0x4d, 0x96, 0xc3, - 0x00, 0x00, 0x0d, 0xd7, 0x03, - 0x00, 0x00, 0x12, 0x25, 0x06, - 0x00, 0x00, 0x1d, 0xd6, 0x86, - 0x00, 0x00, 0x1f, 0x41, 0x47, - 0x00, 0x00, 0x41, 0x42, 0xc6, - 0x00, 0x00, 0x41, 0xaa, 0x05, - 0x00, 0x00, 0x40, 0x74, 0xc7, - 0x00, 0x00, 0x4e, 0xf9, 0xc7, - 0x00, 0xf7, 0xc0, 0x55, 0x03, - 0x00, 0x00, 0x55, 0x29, 0xc7, - 0x00, 0x00, 0x48, 0x5f, 0xc3, - 0x00, 0x00, 0x0b, 0xa3, 0x49, - 0x00, 0x00, 0x50, 0x1f, 0x85, - 0x00, 0x00, 0x45, 0x03, 0xc4, - 0x00, 0x00, 0x4c, 0x7b, 0xc8, - 0x00, 0x00, 0x5e, 0x86, 0x8c, - 0x00, 0x00, 0x4c, 0x6e, 0xc5, - 0x00, 0x00, 0x4b, 0x44, 0x46, - 0x00, 0x00, 0x50, 0xfd, 0x87, - 0x00, 0x00, 0x41, 0xf3, 0x07, - 0x00, 0x00, 0x48, 0x91, 0x87, - 0x00, 0x00, 0x48, 0x9c, 0x08, - 0x00, 0x00, 0x52, 0x11, 0x8f, - 0x00, 0x00, 0x5b, 0xec, 0x05, - 0x00, 0x00, 0x40, 0x52, 0x47, - 0x00, 0x00, 0x4d, 0x4d, 0x07, - 0x00, 0x00, 0x5d, 0x84, 0x8a, - 0x00, 0x00, 0x52, 0xaa, 0x49, - 0x00, 0x00, 0x52, 0x26, 0x45, - 0x00, 0x00, 0x53, 0x39, 0x0a, - 0x00, 0x00, 0x12, 0x70, 0xc6, - 0x00, 0x00, 0x0c, 0xdd, 0x87, - 0x00, 0x00, 0x4d, 0x97, 0x45, - 0x00, 0x00, 0x59, 0x13, 0xc4, - 0x00, 0x00, 0x54, 0x57, 0x86, - 0x00, 0x00, 0x18, 0x20, 0xc6, - 0x00, 0x00, 0x59, 0x3a, 0x47, - 0x00, 0x00, 0x4d, 0xff, 0x87, - 0x00, 0x00, 0x53, 0xad, 0x48, - 0x00, 0x00, 0x40, 0xf8, 0x45, - 0x00, 0x00, 0x46, 0xa4, 0xc6, - 0x00, 0x00, 0x02, 0x05, 0x08, - 0x00, 0x00, 0x47, 0xd9, 0xc5, - 0x00, 0x00, 0x02, 0x64, 0x46, - 0x00, 0x00, 0x47, 0x15, 0x85, - 0x00, 0x00, 0x44, 0x30, 0x04, - 0x00, 0x00, 0x44, 0x0f, 0xc7, - 0x00, 0x00, 0x44, 0xca, 0x0a, - 0x00, 0x00, 0x4a, 0xdd, 0x88, - 0x00, 0x00, 0x40, 0x5e, 0x46, - 0x00, 0x00, 0x03, 0xdd, 0xc3, - 0x00, 0x00, 0x4d, 0xfa, 0x85, - 0x00, 0x00, 0x4b, 0x00, 0x06, - 0x00, 0x00, 0x5c, 0x5e, 0x06, - 0x00, 0x00, 0x40, 0x1e, 0x46, - 0x00, 0x00, 0x40, 0x65, 0x43, - 0x00, 0x00, 0x5a, 0xb4, 0x07, - 0x00, 0x00, 0x0f, 0x9d, 0x4c, - 0x00, 0x00, 0x4d, 0x4c, 0x85, - 0x00, 0x00, 0x41, 0x09, 0xc3, - 0x00, 0x00, 0x4f, 0x35, 0x4d, - 0x00, 0x00, 0x41, 0xd7, 0x83, - 0x00, 0x00, 0x53, 0xae, 0x48, - 0x00, 0x00, 0x47, 0xfc, 0x04, - 0x00, 0x00, 0x4b, 0x03, 0x05, - 0x00, 0x00, 0x4b, 0x5b, 0xc6, - 0x00, 0x00, 0x5d, 0x4b, 0x46, - 0x00, 0x00, 0x5a, 0x64, 0x87, - 0x00, 0x00, 0x45, 0x42, 0x47, - 0x00, 0x00, 0x47, 0xe9, 0x45, - 0x00, 0x00, 0x41, 0xf1, 0x43, - 0x00, 0x00, 0x56, 0xac, 0x87, - 0x00, 0x00, 0x5a, 0x2e, 0x09, - 0x00, 0x00, 0x52, 0x3c, 0x89, - 0x00, 0x00, 0x58, 0x93, 0x4a, - 0x00, 0x00, 0x40, 0x72, 0x02, - 0x00, 0x00, 0x50, 0x1f, 0x44, - 0x00, 0x00, 0x52, 0x44, 0x44, - 0x00, 0x00, 0x50, 0x3f, 0x07, - 0x00, 0x00, 0x50, 0x40, 0xc8, - 0x00, 0x00, 0x50, 0x5b, 0x49, - 0x00, 0x00, 0x5c, 0xae, 0x89, - 0x00, 0x00, 0x50, 0x67, 0x87, - 0x00, 0x00, 0x11, 0x16, 0x09, - 0x00, 0x00, 0x40, 0xbc, 0x06, - 0x00, 0x00, 0x10, 0x95, 0x46, - 0x00, 0x00, 0x50, 0xa9, 0x04, - 0x00, 0x00, 0x42, 0xe9, 0x8a, - 0x00, 0x00, 0x50, 0xcb, 0xc8, - 0x00, 0x00, 0x50, 0xda, 0x49, - 0x00, 0x00, 0x50, 0xde, 0x86, - 0x00, 0x00, 0x4c, 0xb1, 0x45, - 0x00, 0x00, 0x4a, 0xdc, 0x48, - 0x00, 0x00, 0x4e, 0x22, 0x8a, - 0x00, 0x00, 0x47, 0xb4, 0x03, - 0x00, 0x00, 0x53, 0x58, 0x46, - 0x00, 0x00, 0x50, 0x68, 0x87, - 0x00, 0x00, 0x55, 0xeb, 0x45, - 0x00, 0x00, 0x08, 0x2b, 0x48, - 0x00, 0x00, 0x5b, 0xd3, 0x45, - 0x00, 0x00, 0x41, 0x30, 0xc3, - 0x00, 0x00, 0x41, 0xbc, 0x04, - 0x00, 0x00, 0x04, 0xd5, 0x09, - 0x00, 0x00, 0x4b, 0xa4, 0x45, - 0x00, 0x00, 0x49, 0x30, 0xc7, - 0x00, 0x00, 0x4c, 0x64, 0x05, - 0x00, 0x00, 0x4f, 0x0a, 0x46, - 0x00, 0x00, 0x10, 0x62, 0xc5, - 0x00, 0x00, 0x40, 0x3c, 0x83, - 0x00, 0x00, 0x40, 0x3c, 0x89, - 0x00, 0x00, 0x4b, 0x00, 0xcc, - 0x00, 0x00, 0x4d, 0x72, 0x0c, - 0x00, 0x00, 0x51, 0x42, 0xc8, - 0x00, 0x00, 0x4a, 0x3b, 0xc7, - 0x00, 0x00, 0x51, 0x56, 0xc8, - 0x00, 0x00, 0x11, 0x5d, 0x07, - 0x00, 0x00, 0x51, 0x68, 0x8a, - 0x00, 0x00, 0x51, 0x6e, 0x8b, - 0x00, 0x00, 0x57, 0x95, 0x88, - 0x00, 0x00, 0x5d, 0x4c, 0x48, - 0x00, 0x00, 0x43, 0x87, 0x46, - 0x00, 0x00, 0x5e, 0x19, 0x85, - 0x00, 0x00, 0x54, 0x71, 0x0a, - 0x00, 0x00, 0x42, 0x98, 0xc5, - 0x00, 0x00, 0x43, 0xd9, 0x42, - 0x00, 0x00, 0x4e, 0x0f, 0x47, - 0x00, 0x00, 0x48, 0xe5, 0x06, - 0x00, 0x00, 0x57, 0xf2, 0x05, - 0x00, 0x00, 0x51, 0x8d, 0x09, - 0x00, 0x00, 0x5b, 0xe7, 0x85, - 0x00, 0x00, 0x1d, 0x7b, 0x08, - 0x00, 0x00, 0x4b, 0xc3, 0x85, - 0x00, 0x00, 0x50, 0x1b, 0x49, - 0x00, 0x00, 0x52, 0xba, 0xc6, - 0x00, 0x00, 0x5d, 0x3a, 0x08, - 0x00, 0x00, 0x4b, 0x03, 0xc3, - 0x00, 0x00, 0x40, 0xb5, 0x86, - 0x00, 0x00, 0x44, 0x48, 0x86, - 0x00, 0x00, 0x52, 0x56, 0xc5, - 0x00, 0x00, 0x52, 0x56, 0xc9, - 0x00, 0x00, 0x48, 0x3f, 0x09, - 0x00, 0x00, 0x46, 0x99, 0xc7, - 0x00, 0x00, 0x12, 0x98, 0x04, - 0x00, 0x00, 0x52, 0x98, 0x07, - 0x00, 0x00, 0x5c, 0xad, 0x89, - 0x00, 0x00, 0x42, 0x39, 0x05, - 0x00, 0x00, 0x03, 0xbe, 0x08, - 0x00, 0x00, 0x5c, 0x2b, 0x85, - 0x00, 0x00, 0x5d, 0x56, 0x85, - 0x00, 0x00, 0x5d, 0xbc, 0x09, - 0x00, 0x00, 0x40, 0x61, 0x82, - 0x00, 0x00, 0x50, 0xf5, 0xc4, - 0x00, 0x00, 0x40, 0x16, 0x02, - 0x00, 0x00, 0x40, 0x2b, 0x82, - 0x00, 0x00, 0x4e, 0xcd, 0x85, - 0x00, 0x00, 0x52, 0x58, 0xc8, - 0x00, 0x00, 0x4c, 0xdb, 0x45, - 0x00, 0x00, 0x4d, 0xd4, 0xc3, - 0x00, 0x00, 0x4d, 0xd4, 0xc5, - 0x00, 0x00, 0x4e, 0xc9, 0x43, - 0x00, 0x00, 0x40, 0xa7, 0x02, - 0x00, 0x00, 0x42, 0xb3, 0x84, - 0x00, 0x00, 0x40, 0x32, 0x83, - 0x00, 0x00, 0x40, 0x67, 0x02, - 0x00, 0x00, 0x50, 0x17, 0xc4, - 0x00, 0x00, 0x51, 0xda, 0xc3, - 0x00, 0x00, 0x40, 0xbc, 0x02, - 0x00, 0x00, 0x45, 0x4b, 0x83, - 0x00, 0x00, 0x41, 0x5c, 0xc4, - 0x00, 0x00, 0x50, 0xe0, 0x03, - 0x00, 0x00, 0x45, 0x94, 0x44, - 0x00, 0x00, 0x40, 0x48, 0x42, - 0x00, 0x00, 0x41, 0x95, 0x83, - 0x00, 0x00, 0x41, 0x1c, 0x83, - 0x00, 0x00, 0x40, 0x3c, 0x82, - 0x00, 0x00, 0x4b, 0x26, 0xc2, - 0x00, 0x00, 0x48, 0x3d, 0x49, - 0x00, 0x00, 0x40, 0x74, 0x82, - 0x00, 0x00, 0x49, 0x86, 0x84, - 0x00, 0x00, 0x40, 0x20, 0x02, - 0x00, 0x00, 0x46, 0x16, 0x44, - 0x00, 0x00, 0x40, 0xbb, 0xc4, - 0x00, 0x00, 0x50, 0xba, 0x04, - 0x00, 0x00, 0x40, 0x26, 0x42, - 0x00, 0x00, 0x43, 0x83, 0x82, - 0x00, 0x00, 0x42, 0xdd, 0xc3, - 0x00, 0x00, 0x51, 0xf0, 0x43, - 0x00, 0x00, 0x4c, 0xd7, 0xc4, - 0x00, 0x00, 0x50, 0x6a, 0x04, - 0x00, 0x00, 0x52, 0x99, 0x84, - 0x00, 0x00, 0x53, 0x38, 0x04, - 0x00, 0x00, 0x52, 0x50, 0x43, - 0x00, 0x00, 0x57, 0x05, 0xc3, - 0x00, 0x00, 0x52, 0x70, 0x44, - 0x00, 0x00, 0x52, 0xb3, 0x44, - 0x00, 0x00, 0x52, 0xb4, 0x86, - 0x00, 0x00, 0x5d, 0x55, 0x02, - 0x00, 0x00, 0x00, 0x22, 0x02, - 0x00, 0x00, 0x04, 0x71, 0x83, - 0x00, 0x00, 0x40, 0x22, 0x02, - 0x00, 0x00, 0x41, 0xf6, 0x03, - 0x00, 0x00, 0x40, 0x55, 0x03, - 0x00, 0x00, 0x41, 0x09, 0xc3, - 0x00, 0x00, 0x41, 0xf1, 0x43, - 0x00, 0x00, 0x00, 0x36, 0xc5, - 0x00, 0x00, 0x40, 0x00, 0xc2, - 0x00, 0x00, 0x45, 0x0b, 0x03, - 0x00, 0x00, 0x40, 0x66, 0x43, - 0x00, 0x00, 0x41, 0xf6, 0x03, - 0x00, 0x00, 0x40, 0x4d, 0x03, - 0x00, 0x00, 0x40, 0x55, 0x03, - 0x00, 0x00, 0x45, 0x03, 0xc4, - 0x00, 0x00, 0x48, 0x40, 0x04, - 0x00, 0x00, 0x49, 0x47, 0x44, - 0x00, 0x00, 0x41, 0x09, 0xc3, - 0x00, 0x00, 0x41, 0xf1, 0x43, - 0x00, 0x00, 0x41, 0x96, 0x83, - 0x00, 0x00, 0x50, 0xaf, 0x04, - 0x00, 0x00, 0x53, 0x0b, 0x03, - 0x00, 0x00, 0x43, 0x75, 0xc3, - 0x00, 0x00, 0x58, 0x32, 0x04, - 0x00, 0x00, 0x5c, 0x29, 0x86, - 0x00, 0x00, 0x40, 0x78, 0x43, - 0x00, 0x00, 0x14, 0xcb, 0x05, - 0x00, 0x00, 0x0f, 0x08, 0xc7, - 0x00, 0x00, 0x41, 0xda, 0xc3, - 0x00, 0xfb, 0x42, 0x4f, 0x08, - 0x00, 0x00, 0x45, 0x34, 0xc3, - 0x00, 0x00, 0x4c, 0x90, 0xc3, - 0x00, 0x00, 0x47, 0x21, 0xc3, - 0x00, 0x00, 0x43, 0xdd, 0xc3, - 0x00, 0x00, 0x5c, 0xc4, 0x45, - 0x00, 0x00, 0x1b, 0x92, 0xc3, - 0x00, 0x00, 0x40, 0x66, 0x43, - 0x00, 0x00, 0x41, 0xf6, 0x03, - 0x00, 0x00, 0x40, 0x55, 0x03, - 0x00, 0x00, 0x41, 0x09, 0xc3, - 0x00, 0x00, 0x41, 0xf1, 0x43, - 0x00, 0x00, 0x46, 0xa4, 0x83, - 0x00, 0x00, 0x40, 0x2b, 0xc3, - 0x00, 0x00, 0x1b, 0x96, 0x88, - 0x00, 0x00, 0x40, 0x66, 0x43, - 0x00, 0x00, 0x41, 0xf6, 0x03, - 0x00, 0x00, 0x40, 0x55, 0x03, - 0x00, 0x00, 0x41, 0x1e, 0x43, - 0x00, 0x00, 0x41, 0x09, 0xc3, - 0x00, 0x00, 0x46, 0x27, 0x84, - 0x00, 0x00, 0x41, 0xf1, 0x43, - 0x00, 0x00, 0x4b, 0x2b, 0x44, - 0x00, 0x00, 0x14, 0xcb, 0x05, - 0x00, 0x00, 0x51, 0xaf, 0x85, - 0x00, 0x00, 0x0f, 0x08, 0xc7, - 0x00, 0x00, 0x40, 0x22, 0x02, - 0x00, 0x00, 0x40, 0x14, 0x82, - 0x00, 0x00, 0x40, 0x03, 0x82, - 0x00, 0x00, 0x40, 0x18, 0xc2, - 0x00, 0x00, 0x40, 0x03, 0xc2, - 0x00, 0x00, 0x1d, 0x46, 0x44, - 0x00, 0x00, 0x40, 0x66, 0x43, - 0x00, 0x00, 0x43, 0x92, 0xc4, - 0x00, 0x00, 0x41, 0xf6, 0x03, - 0x00, 0x00, 0x40, 0x55, 0x03, - 0x00, 0x00, 0x40, 0x65, 0x43, - 0x00, 0x00, 0x41, 0x09, 0xc3, - 0x00, 0x00, 0x41, 0xf1, 0x43, - 0x00, 0x00, 0x1b, 0x96, 0x88, - 0x00, 0x00, 0x40, 0x66, 0x43, - 0x00, 0x00, 0x41, 0xf6, 0x03, - 0x00, 0x00, 0x40, 0x55, 0x03, - 0x00, 0x00, 0x40, 0x65, 0x43, - 0x00, 0x00, 0x49, 0x47, 0x44, - 0x00, 0x00, 0x41, 0x09, 0xc3, - 0x00, 0x00, 0x41, 0xf1, 0x43, - 0x00, 0x00, 0x41, 0x3d, 0xc3, - 0x00, 0x00, 0x41, 0x4f, 0x04, - 0x00, 0x00, 0x1b, 0x96, 0x88, - 0x00, 0x00, 0x40, 0x66, 0x43, - 0x00, 0x00, 0x41, 0xd7, 0x83, - 0x00, 0x00, 0x1c, 0x36, 0xc3, - 0x00, 0x00, 0x12, 0xd9, 0xc4, - 0x00, 0x00, 0x40, 0x48, 0x84, - 0x00, 0x00, 0x14, 0xcb, 0x05, - 0x00, 0x00, 0x1b, 0x96, 0x88, - 0x00, 0x00, 0x00, 0x22, 0x02, - 0x00, 0x00, 0x40, 0x66, 0x43, - 0x00, 0x00, 0x45, 0x54, 0xc4, - 0x00, 0x00, 0x45, 0x03, 0xc4, - 0x00, 0x00, 0x41, 0xd7, 0x83, - 0x00, 0x00, 0x40, 0x15, 0x82, - 0x00, 0x00, 0x41, 0xf1, 0x43, - 0x00, 0x00, 0x43, 0x73, 0x43, - 0x00, 0x00, 0x01, 0xbc, 0x04, - 0x00, 0x00, 0x53, 0xd8, 0x45, - 0x00, 0x00, 0x43, 0xd9, 0x42, - 0x00, 0x00, 0x5d, 0xe9, 0x83, - 0x00, 0x00, 0x1a, 0x23, 0x89, - 0x00, 0x00, 0x0f, 0x15, 0x06, - 0x00, 0x00, 0x08, 0x4b, 0x08, - 0x00, 0x00, 0x40, 0x00, 0xc2, - 0x00, 0x00, 0x1b, 0x96, 0x88, - 0x01, 0x01, 0xdb, 0xed, 0x87, - 0x00, 0x00, 0x40, 0x22, 0x02, - 0x00, 0x00, 0x41, 0xf6, 0x03, - 0x00, 0x00, 0x40, 0x55, 0x03, - 0x00, 0x00, 0x40, 0x05, 0xc2, - 0x00, 0x00, 0x41, 0xf1, 0x43, - 0x00, 0x00, 0x00, 0x8f, 0x42, - 0x00, 0x00, 0x00, 0x00, 0x82, - 0x00, 0x00, 0x01, 0xbc, 0x04, - 0x00, 0x00, 0x00, 0x00, 0xc2, - 0x00, 0x00, 0x1c, 0xe6, 0x47, - 0x00, 0x00, 0x01, 0x72, 0xc9, - 0x00, 0x00, 0x00, 0x27, 0xc3, - 0x00, 0x00, 0x1b, 0x96, 0x88, - 0x00, 0x00, 0x06, 0x97, 0x43, - 0x01, 0x02, 0xd2, 0xe8, 0x87, - 0x00, 0x00, 0x00, 0x66, 0x43, - 0x00, 0x00, 0x0a, 0x05, 0x88, - 0x00, 0x00, 0x01, 0xf6, 0x03, - 0x00, 0x00, 0x05, 0x82, 0x87, - 0x00, 0x00, 0x00, 0x55, 0x03, - 0x00, 0x00, 0x03, 0xfa, 0x46, - 0x00, 0x00, 0x01, 0x1e, 0x43, - 0x00, 0x00, 0x04, 0x23, 0x08, - 0x00, 0x00, 0x0d, 0x89, 0xc8, - 0x00, 0x00, 0x1d, 0x14, 0x83, - 0x00, 0x00, 0x08, 0x7f, 0x86, - 0x01, 0x03, 0x13, 0x75, 0x85, - 0x00, 0x00, 0x1d, 0xb6, 0xc5, - 0x00, 0x00, 0x00, 0x65, 0x43, - 0x00, 0x00, 0x09, 0xb1, 0x08, - 0x00, 0x00, 0x0e, 0x5d, 0xc8, - 0x00, 0x00, 0x05, 0xe9, 0x43, - 0x01, 0x03, 0x8f, 0x4f, 0x06, - 0x00, 0x00, 0x0f, 0xa8, 0x85, - 0x00, 0x00, 0x1a, 0x2b, 0x04, - 0x00, 0x00, 0x03, 0x62, 0x87, - 0x00, 0x00, 0x01, 0x09, 0xc3, - 0x00, 0x00, 0x00, 0x46, 0x43, - 0x00, 0x00, 0x01, 0xf1, 0x43, - 0x00, 0x00, 0x01, 0x5c, 0x82, - 0x00, 0x00, 0x18, 0xfd, 0x0a, - 0x00, 0x00, 0x02, 0x0e, 0x43, - 0x01, 0x04, 0x40, 0xff, 0x4c, - 0x00, 0x00, 0x0c, 0xdc, 0x03, - 0x00, 0x00, 0x01, 0x50, 0xc4, - 0x00, 0x00, 0x12, 0x0f, 0x8b, - 0x00, 0x00, 0x12, 0x15, 0x48, - 0x00, 0x00, 0x09, 0xcf, 0xc2, - 0x00, 0x00, 0x12, 0x3b, 0x43, - 0x00, 0x02, 0x81, 0x00, 0x87, - 0x00, 0x02, 0x93, 0xb2, 0x87, - 0x00, 0x02, 0x91, 0xa8, 0x88, - 0x00, 0x02, 0x92, 0x3b, 0x43, - 0x00, 0x00, 0x1c, 0x74, 0x48, - 0x00, 0x02, 0x8e, 0x9e, 0x04, - 0x00, 0x00, 0x0f, 0xd6, 0xcb, - 0x00, 0x00, 0x00, 0xd8, 0x42, - 0x00, 0x00, 0x13, 0x7a, 0x47, - 0x00, 0x00, 0x14, 0xe6, 0xc4, - 0x00, 0x00, 0x0f, 0x0c, 0x87, - 0x00, 0x00, 0x40, 0x00, 0xc2, - 0x00, 0x00, 0x40, 0x22, 0x02, - 0x00, 0x00, 0x43, 0x92, 0xc4, - 0x00, 0x00, 0x40, 0x55, 0x03, - 0x00, 0x00, 0x40, 0x65, 0x43, - 0x00, 0x00, 0x41, 0x09, 0xc3, - 0x00, 0x00, 0x41, 0xf1, 0x43, - 0x00, 0x00, 0x40, 0x66, 0x43, - 0x00, 0x00, 0x41, 0xf6, 0x03, - 0x00, 0x00, 0x40, 0x55, 0x03, - 0x00, 0x00, 0x43, 0xdd, 0xc3, - 0x00, 0x00, 0x41, 0x09, 0xc3, - 0x00, 0x00, 0x41, 0xf1, 0x43, - 0x00, 0x00, 0x42, 0x02, 0x83, - 0x00, 0x00, 0x41, 0x3d, 0xc3, - 0x00, 0x00, 0x01, 0xe1, 0x43, - 0x00, 0x00, 0x40, 0x66, 0x43, - 0x00, 0x00, 0x41, 0xf6, 0x03, - 0x00, 0x00, 0x40, 0x55, 0x03, - 0x00, 0x00, 0x41, 0x09, 0xc3, - 0x00, 0x00, 0x41, 0xf1, 0x43, - 0x00, 0x00, 0x40, 0x66, 0x43, - 0x00, 0x00, 0x41, 0xf6, 0x03, - 0x00, 0x00, 0x40, 0x55, 0x03, - 0x00, 0x00, 0x41, 0x09, 0xc3, - 0x00, 0x00, 0x41, 0xf1, 0x43, - 0x00, 0x00, 0x1c, 0x36, 0xc3, - 0x00, 0x00, 0x01, 0xf6, 0x03, - 0x01, 0x08, 0x80, 0x55, 0x03, - 0x00, 0x00, 0x07, 0xe6, 0x07, - 0x00, 0x00, 0x40, 0x66, 0x43, - 0x00, 0x00, 0x41, 0xf6, 0x03, - 0x00, 0x00, 0x40, 0x55, 0x03, - 0x00, 0x00, 0x45, 0x03, 0xc4, - 0x00, 0x00, 0x43, 0xdd, 0xc3, - 0x00, 0x00, 0x41, 0x09, 0xc3, - 0x00, 0x00, 0x41, 0xf1, 0x43, - 0x00, 0x00, 0x42, 0x4b, 0x42, - 0x00, 0x00, 0x40, 0x00, 0xc1, - 0x00, 0x00, 0x40, 0x00, 0xc2, - 0x00, 0x00, 0x40, 0x02, 0x01, - 0x00, 0x00, 0x53, 0xec, 0x82, - 0x00, 0x00, 0x1b, 0x96, 0x88, - 0x00, 0x00, 0x42, 0x0a, 0x05, - 0x00, 0x00, 0x40, 0x01, 0x01, - 0x00, 0x00, 0x00, 0x66, 0x43, - 0x00, 0x00, 0x03, 0x21, 0x84, - 0x00, 0x00, 0x40, 0x0c, 0xc1, - 0x00, 0x00, 0x40, 0x05, 0x01, - 0x00, 0x00, 0x40, 0x0b, 0xc1, - 0x00, 0x00, 0x44, 0xe1, 0x42, - 0x00, 0x00, 0x58, 0xf6, 0x44, - 0x00, 0x00, 0x44, 0xe1, 0x43, - 0x00, 0x00, 0x40, 0x00, 0x41, - 0x00, 0x00, 0x40, 0x08, 0x01, - 0x00, 0x00, 0x40, 0x01, 0x81, - 0x00, 0x00, 0x02, 0xda, 0xc6, - 0x00, 0x00, 0x1e, 0x3c, 0x4c, - 0x00, 0x00, 0x40, 0x07, 0x01, - 0x00, 0x00, 0x56, 0x8e, 0xc7, - 0x00, 0x00, 0x50, 0x52, 0x4f, - 0x00, 0x00, 0x5e, 0x53, 0xc6, - 0x00, 0x00, 0x40, 0x04, 0xc1, - 0x00, 0x00, 0x52, 0xda, 0x06, - 0x00, 0x00, 0x40, 0x0e, 0xc1, - 0x00, 0x00, 0x0f, 0x9d, 0x4c, - 0x00, 0x00, 0x40, 0x05, 0x81, - 0x00, 0x00, 0x5b, 0x8c, 0x8e, - 0x00, 0x00, 0x40, 0x03, 0xc1, - 0x00, 0x00, 0x41, 0xf1, 0x43, - 0x00, 0x00, 0x40, 0x14, 0x01, - 0x01, 0x0a, 0x4c, 0xbd, 0xc4, - 0x00, 0x00, 0x44, 0x1c, 0x05, - 0x00, 0x00, 0x41, 0x5c, 0x82, - 0x00, 0x00, 0x41, 0x2f, 0xc5, - 0x00, 0x00, 0x40, 0x04, 0x01, - 0x00, 0x00, 0x40, 0x07, 0x41, - 0x00, 0x00, 0x40, 0x07, 0xc1, - 0x00, 0x00, 0x43, 0xd9, 0x42, - 0x00, 0x00, 0x40, 0x00, 0x81, - 0x00, 0x00, 0x40, 0x0f, 0x81, - 0x00, 0x00, 0x40, 0x8f, 0x81, - 0x00, 0x00, 0x40, 0x53, 0x81, - 0x00, 0x00, 0x40, 0x18, 0x41, - 0x00, 0x00, 0x00, 0x56, 0x82, - 0x00, 0x00, 0x05, 0xc4, 0xc9, - 0x00, 0x00, 0x1b, 0x96, 0x88, - 0x00, 0x00, 0x40, 0x66, 0x43, - 0x00, 0x00, 0x41, 0xf6, 0x03, - 0x00, 0x00, 0x05, 0x8a, 0x88, - 0x00, 0x00, 0x40, 0x55, 0x03, - 0x00, 0x00, 0x41, 0x09, 0xc3, - 0x00, 0x00, 0x41, 0xf1, 0x43, - 0x00, 0x00, 0x41, 0x9d, 0xc3, - 0x00, 0x00, 0x1f, 0x2c, 0x83, - 0x00, 0x00, 0x40, 0x66, 0x43, - 0x00, 0x00, 0x40, 0x55, 0x03, - 0x00, 0x00, 0x09, 0xcf, 0x08, - 0x00, 0x00, 0x40, 0x65, 0x43, - 0x00, 0x00, 0x41, 0x09, 0xc3, - 0x00, 0x00, 0x00, 0x3d, 0x43, - 0x00, 0x00, 0x41, 0xf1, 0x43, - 0x01, 0x0c, 0x5d, 0xdc, 0x88, - 0x00, 0x00, 0x1f, 0x29, 0x43, - 0x00, 0x00, 0x1d, 0x78, 0x08, - 0x00, 0x00, 0x08, 0x86, 0xc2, - 0x00, 0x00, 0x00, 0x29, 0xc3, - 0x00, 0x00, 0x00, 0x4c, 0x02, - 0x00, 0x00, 0x00, 0x26, 0x42, - 0x00, 0x00, 0x14, 0xcb, 0x05, - 0x00, 0x00, 0x1b, 0x96, 0x88, - 0x00, 0x00, 0x09, 0xda, 0x06, - 0x00, 0x00, 0x13, 0xb9, 0x47, - 0x00, 0x00, 0x14, 0xcb, 0x05, - 0x00, 0x00, 0x0f, 0xc2, 0x04, - 0x00, 0x02, 0x99, 0x33, 0x48, - 0x00, 0x00, 0x04, 0xaf, 0xc4, - 0x00, 0x00, 0x12, 0xae, 0x87, - 0x00, 0x00, 0x06, 0x14, 0xc4, - 0x00, 0x00, 0x05, 0x04, 0x4c, - 0x00, 0x00, 0x1e, 0x86, 0x84, - 0x00, 0x00, 0x06, 0x65, 0x45, - 0x00, 0x00, 0x05, 0xc4, 0xc9, - 0x00, 0x00, 0x1a, 0x7f, 0x47, - 0x00, 0x00, 0x0d, 0x0b, 0x08, - 0x00, 0x00, 0x02, 0xb6, 0xc6, - 0x00, 0x00, 0x1c, 0x20, 0x8a, - 0x00, 0x02, 0x9e, 0x71, 0xca, - 0x00, 0x00, 0x13, 0x0e, 0x44, - 0x00, 0x02, 0x98, 0x2c, 0xc3, - 0x00, 0x00, 0x1b, 0x96, 0x88, - 0x00, 0x00, 0x40, 0x66, 0x43, - 0x00, 0x00, 0x41, 0xf6, 0x03, - 0x00, 0x00, 0x40, 0x55, 0x03, - 0x00, 0x00, 0x41, 0x09, 0xc3, - 0x00, 0x00, 0x41, 0xf1, 0x43, - 0x00, 0x00, 0x40, 0x28, 0xc3, - 0x00, 0x00, 0x1b, 0x96, 0x88, - 0x00, 0x00, 0x40, 0x66, 0x43, - 0x00, 0x00, 0x41, 0xf6, 0x03, - 0x00, 0x00, 0x4e, 0x40, 0x84, - 0x00, 0x00, 0x41, 0xf1, 0x43, - 0x00, 0x00, 0x49, 0xf0, 0x85, - 0x00, 0x00, 0x47, 0x7a, 0x04, - 0x00, 0x00, 0x40, 0x66, 0x43, - 0x00, 0x00, 0x41, 0xf6, 0x03, - 0x00, 0x00, 0x40, 0x55, 0x03, - 0x00, 0x00, 0x40, 0x0e, 0xc2, - 0x00, 0x00, 0x41, 0x09, 0xc3, - 0x00, 0x00, 0x41, 0xf1, 0x43, - 0x00, 0x00, 0x01, 0x3d, 0xc3, - 0x00, 0x02, 0x96, 0x8c, 0x05, - 0x00, 0x00, 0x0f, 0x2f, 0x86, - 0x00, 0x00, 0x0c, 0x15, 0x04, - 0x00, 0x00, 0x12, 0xd5, 0x06, - 0x00, 0x00, 0x45, 0x0b, 0x03, - 0x00, 0x00, 0x40, 0x66, 0x43, - 0x00, 0x00, 0x41, 0xf6, 0x03, - 0x00, 0x00, 0x40, 0x55, 0x03, - 0x00, 0x00, 0x40, 0x0e, 0xc2, - 0x00, 0x00, 0x41, 0x09, 0xc3, - 0x00, 0x00, 0x41, 0xf1, 0x43, - 0x00, 0x00, 0x41, 0x3d, 0xc3, - 0x00, 0x00, 0x40, 0x22, 0x02, - 0x00, 0x00, 0x40, 0x66, 0x43, - 0x00, 0x00, 0x43, 0x27, 0x09, - 0x00, 0x00, 0x41, 0xf6, 0x03, - 0x00, 0x00, 0x4b, 0xb7, 0x89, - 0x00, 0x00, 0x40, 0x65, 0x43, - 0x00, 0x00, 0x41, 0x09, 0xc3, - 0x00, 0x00, 0x08, 0x8a, 0x84, - 0x00, 0x00, 0x41, 0xf1, 0x43, - 0x00, 0x00, 0x50, 0xa7, 0x08, - 0x00, 0x00, 0x43, 0x8c, 0x07, - 0x00, 0x00, 0x53, 0xd8, 0x45, - 0x00, 0x00, 0x0a, 0x0c, 0xc6, - 0x00, 0x00, 0x13, 0x3f, 0x48, - 0x00, 0x00, 0x13, 0xd8, 0x49, - 0x00, 0x00, 0x1e, 0x7e, 0x48, - 0x00, 0x00, 0x1c, 0xe6, 0x47, - 0x00, 0x00, 0x10, 0x43, 0x4a, - 0x00, 0x00, 0x07, 0x6a, 0xcb, - 0x00, 0x00, 0x12, 0xdc, 0x47, - 0x00, 0x00, 0x04, 0x3e, 0x08, - 0x00, 0x00, 0x1e, 0x4c, 0x4a, - 0x00, 0x00, 0x0c, 0x87, 0x48, - 0x00, 0x00, 0x01, 0x72, 0xc9, - 0x00, 0x00, 0x02, 0x89, 0x07, - 0x00, 0x00, 0x1b, 0x63, 0x07, - 0x00, 0x00, 0x1b, 0xda, 0x88, - 0x00, 0x00, 0x0a, 0x05, 0x88, - 0x00, 0x00, 0x04, 0x6a, 0x4f, - 0x00, 0x00, 0x0a, 0xdf, 0x45, - 0x00, 0x00, 0x0a, 0x08, 0x87, - 0x00, 0x00, 0x03, 0xfa, 0x46, - 0x00, 0x00, 0x1e, 0xc7, 0x87, - 0x00, 0x00, 0x12, 0x27, 0x86, - 0x00, 0x00, 0x04, 0x23, 0x08, - 0x00, 0x00, 0x0f, 0xb0, 0x06, - 0x00, 0x00, 0x1d, 0x38, 0x07, - 0x00, 0x00, 0x14, 0x58, 0xc9, - 0x00, 0x00, 0x1b, 0x79, 0xc7, - 0x00, 0x00, 0x1c, 0x78, 0x49, - 0x00, 0x00, 0x0c, 0xe6, 0xc9, - 0x00, 0x00, 0x0d, 0x63, 0xc6, - 0x00, 0x00, 0x0d, 0x89, 0xc8, - 0x00, 0x00, 0x13, 0x42, 0x05, - 0x00, 0x00, 0x07, 0x62, 0x8a, - 0x00, 0x00, 0x0e, 0x5d, 0xc8, - 0x00, 0x00, 0x05, 0xe9, 0x43, - 0x00, 0x00, 0x0e, 0xcb, 0xc8, - 0x00, 0x00, 0x03, 0x62, 0x87, - 0x00, 0x00, 0x0f, 0xe6, 0x05, - 0x00, 0x00, 0x16, 0x28, 0x10, - 0x00, 0x00, 0x00, 0x46, 0x43, - 0x00, 0x00, 0x1a, 0xf2, 0x47, - 0x00, 0x00, 0x01, 0x62, 0x05, - 0x00, 0x00, 0x10, 0x50, 0x88, - 0x00, 0x00, 0x0f, 0xff, 0x05, - 0x00, 0x00, 0x0c, 0xdc, 0x03, - 0x00, 0x00, 0x0f, 0xd9, 0x48, - 0x00, 0x00, 0x1d, 0x53, 0xc6, - 0x00, 0x00, 0x05, 0xe2, 0x49, - 0x00, 0x00, 0x0b, 0xe7, 0x87, - 0x00, 0x00, 0x1a, 0x26, 0x4b, - 0x00, 0x00, 0x11, 0x83, 0x84, - 0x00, 0x00, 0x11, 0x98, 0x04, - 0x00, 0x00, 0x12, 0x0f, 0x8b, - 0x00, 0x00, 0x12, 0x15, 0x48, - 0x00, 0x00, 0x12, 0x24, 0x07, - 0x00, 0x00, 0x14, 0xcb, 0x05, - 0x00, 0x00, 0x40, 0x66, 0x43, - 0x00, 0x00, 0x41, 0xf6, 0x03, - 0x00, 0x00, 0x5d, 0x64, 0x03, - 0x00, 0x00, 0x41, 0xf1, 0x43, - 0x00, 0x00, 0x44, 0x31, 0x43, - 0x00, 0x00, 0x40, 0x55, 0x03, - 0x00, 0x00, 0x40, 0x66, 0x43, - 0x00, 0x00, 0x41, 0xf6, 0x03, - 0x00, 0x00, 0x40, 0x55, 0x03, - 0x00, 0x00, 0x40, 0x65, 0x43, - 0x00, 0x00, 0x41, 0x09, 0xc3, - 0x00, 0x00, 0x41, 0xf1, 0x43, - 0x00, 0x00, 0x0a, 0xf8, 0xcb, - 0x00, 0x00, 0x40, 0x00, 0xc2, - 0x00, 0x00, 0x40, 0x22, 0x02, - 0x00, 0x00, 0x41, 0xf1, 0x43, - 0x00, 0x00, 0x00, 0x34, 0x02, - 0x00, 0x00, 0x00, 0x0e, 0xc2, - 0x00, 0x00, 0x00, 0x0f, 0x82, - 0x00, 0x00, 0x1b, 0x96, 0x88, - 0x00, 0x00, 0x13, 0x2d, 0x09, - 0x00, 0x00, 0x1c, 0x74, 0x48, - 0x00, 0x00, 0x00, 0x22, 0x02, - 0x00, 0x00, 0x40, 0x00, 0xc2, - 0x00, 0x00, 0x40, 0x22, 0x02, - 0x00, 0x00, 0x40, 0x03, 0x82, - 0x00, 0x00, 0x40, 0x05, 0xc2, - 0x00, 0x00, 0x40, 0x1e, 0x42, - 0x00, 0x00, 0x41, 0x09, 0xc3, - 0x00, 0x00, 0x01, 0x22, 0x46, - 0x00, 0x00, 0x40, 0x03, 0xc2, - 0x00, 0x00, 0x01, 0xbc, 0x04, - 0x00, 0x00, 0x40, 0x00, 0xc2, - 0x00, 0x00, 0x45, 0x0b, 0x03, - 0x00, 0x00, 0x40, 0x22, 0x02, - 0x00, 0x00, 0x40, 0x66, 0x43, - 0x00, 0x00, 0x41, 0xf6, 0x03, - 0x00, 0x00, 0x40, 0x03, 0x82, - 0x00, 0x00, 0x40, 0x55, 0x03, - 0x00, 0x00, 0x41, 0x1e, 0x43, - 0x00, 0x00, 0x40, 0x65, 0x43, - 0x00, 0x00, 0x49, 0x47, 0x44, - 0x00, 0x00, 0x41, 0x09, 0xc3, - 0x00, 0x00, 0x40, 0xf4, 0xc3, - 0x00, 0x00, 0x41, 0xf1, 0x43, - 0x00, 0x00, 0x41, 0x50, 0xc4, - 0x00, 0x00, 0x40, 0x0f, 0x83, - 0x00, 0x00, 0x40, 0x55, 0x03, - 0x00, 0x00, 0x40, 0x22, 0x02, - 0x00, 0x00, 0x40, 0x66, 0x43, - 0x00, 0x00, 0x41, 0xf6, 0x03, - 0x00, 0x00, 0x40, 0x55, 0x03, - 0x00, 0x00, 0x40, 0x65, 0x43, - 0x00, 0x00, 0x41, 0x09, 0xc3, - 0x00, 0x00, 0x41, 0xd7, 0x83, - 0x00, 0x00, 0x41, 0xf1, 0x43, - 0x00, 0x00, 0x40, 0x66, 0x43, - 0x00, 0x00, 0x41, 0x41, 0x83, - 0x00, 0x00, 0x40, 0xfd, 0x03, - 0x00, 0x00, 0x40, 0x55, 0x03, - 0x00, 0x00, 0x40, 0x36, 0xc3, - 0x00, 0x00, 0x45, 0x03, 0xc4, - 0x00, 0x00, 0x49, 0x65, 0x84, - 0x00, 0x00, 0x52, 0x1b, 0x86, - 0x00, 0x00, 0x44, 0x1f, 0x83, - 0x00, 0x00, 0x41, 0x09, 0xc3, - 0x00, 0x00, 0x1d, 0xd9, 0xcb, - 0x00, 0x00, 0x41, 0xf1, 0x43, - 0x00, 0x00, 0x49, 0xf0, 0x85, - 0x00, 0x00, 0x4e, 0x0f, 0x47, - 0x00, 0x00, 0x1d, 0x6c, 0x43, - 0x00, 0x00, 0x40, 0x66, 0x43, - 0x00, 0x00, 0x41, 0xf6, 0x03, - 0x00, 0x00, 0x40, 0x55, 0x03, - 0x00, 0x00, 0x40, 0x65, 0x43, - 0x00, 0x00, 0x41, 0x09, 0xc3, - 0x00, 0x00, 0x1b, 0xd4, 0x04, - 0x00, 0x00, 0x41, 0xf1, 0x43, - 0x00, 0x00, 0x01, 0x9a, 0x43, - 0x01, 0x1b, 0x51, 0x30, 0x0c, - 0x00, 0x00, 0x0d, 0xb9, 0x03, - 0x00, 0x00, 0x07, 0x1b, 0xc7, - 0x00, 0x00, 0x08, 0x62, 0xc6, - 0x00, 0x00, 0x1d, 0xb7, 0x4c, - 0x00, 0x00, 0x0d, 0x98, 0x07, - 0x00, 0x00, 0x1d, 0x3f, 0x85, - 0x00, 0x00, 0x41, 0x03, 0x42, - 0x00, 0x00, 0x45, 0xa5, 0x03, - 0x00, 0x00, 0x4d, 0x9c, 0x43, - 0x00, 0x00, 0x45, 0x0b, 0x03, - 0x01, 0x1d, 0x40, 0x66, 0x43, - 0x00, 0x00, 0x41, 0x1a, 0xc2, - 0x00, 0x00, 0x41, 0xf6, 0x03, - 0x00, 0x00, 0x40, 0x3b, 0x43, - 0x00, 0x00, 0x40, 0x55, 0x03, - 0x00, 0x00, 0x45, 0x03, 0xc4, - 0x00, 0x00, 0x53, 0xc6, 0x83, - 0x00, 0x00, 0x5b, 0xec, 0x03, - 0x00, 0x00, 0x40, 0x65, 0x43, - 0x00, 0x00, 0x49, 0x47, 0x44, - 0x01, 0x1d, 0xc0, 0x24, 0xc2, - 0x00, 0x00, 0x41, 0x09, 0xc3, - 0x00, 0x00, 0x41, 0xf1, 0x43, - 0x00, 0x00, 0x43, 0x30, 0xc3, - 0x00, 0x00, 0x40, 0x63, 0x83, - 0x00, 0x00, 0x41, 0x0a, 0x43, - 0x00, 0x00, 0x42, 0x4b, 0x42, - 0x00, 0x00, 0x40, 0x0f, 0x83, - 0x00, 0x00, 0x1b, 0x96, 0x88, - 0x00, 0x00, 0x40, 0x55, 0x03, - 0x00, 0x00, 0x1c, 0x36, 0xc3, - 0x00, 0x00, 0x42, 0xff, 0xc4, - 0x00, 0x00, 0x45, 0x0b, 0x03, - 0x00, 0x00, 0x40, 0x22, 0x02, - 0x00, 0x00, 0x40, 0x66, 0x43, - 0x00, 0x00, 0x43, 0x92, 0xc4, - 0x00, 0x00, 0x41, 0xf6, 0x03, - 0x00, 0x00, 0x40, 0x55, 0x03, - 0x00, 0x00, 0x45, 0x03, 0xc4, - 0x00, 0x00, 0x41, 0x1e, 0x43, - 0x00, 0x00, 0x42, 0x1e, 0x44, - 0x00, 0x00, 0x42, 0x8f, 0x84, - 0x00, 0x00, 0x4e, 0xe6, 0xc6, - 0x00, 0x00, 0x49, 0x47, 0x44, - 0x00, 0x00, 0x41, 0x09, 0xc3, - 0x00, 0x00, 0x41, 0xf1, 0x43, - 0x00, 0x00, 0x41, 0x96, 0x83, - 0x00, 0x00, 0x48, 0xe5, 0x06, - 0x00, 0x00, 0x03, 0xc9, 0x0b, - 0x00, 0x00, 0x03, 0x41, 0x06, - 0x00, 0x00, 0x04, 0x36, 0xca, - 0x00, 0x00, 0x12, 0x6b, 0x8a, - 0x00, 0x00, 0x1b, 0x96, 0x88, - 0x00, 0x00, 0x42, 0x04, 0xc4, - 0x01, 0x20, 0x40, 0x66, 0x43, - 0x00, 0x00, 0x54, 0xd2, 0x84, - 0x00, 0x00, 0x41, 0xf6, 0x03, - 0x00, 0x00, 0x41, 0x28, 0x04, - 0x00, 0x00, 0x40, 0x55, 0x03, - 0x00, 0x00, 0x52, 0x5e, 0x03, - 0x00, 0x00, 0x40, 0x65, 0x43, - 0x00, 0x00, 0x41, 0x09, 0xc3, - 0x00, 0x00, 0x41, 0xf1, 0x43, - 0x00, 0x00, 0x01, 0xcc, 0xc3, - 0x00, 0x00, 0x54, 0xec, 0x4b, - 0x00, 0x00, 0x5d, 0xfe, 0x4a, - 0x00, 0x00, 0x5f, 0x24, 0x4c, - 0x00, 0x00, 0x0f, 0x58, 0x48, - 0x00, 0x00, 0x40, 0x00, 0xc2, - 0x00, 0x00, 0x40, 0x22, 0x02, - 0x00, 0x00, 0x40, 0x03, 0x82, - 0x00, 0x00, 0x42, 0xf2, 0xc5, - 0x00, 0x00, 0x45, 0x03, 0xc4, - 0x00, 0x00, 0x40, 0x0e, 0xc2, - 0x00, 0x00, 0x40, 0x65, 0x43, - 0x00, 0x00, 0x42, 0x8f, 0x84, - 0x00, 0x00, 0x40, 0x18, 0xc2, - 0x00, 0x00, 0x40, 0x03, 0xc2, - 0x00, 0x00, 0x40, 0x2e, 0xc2, - 0x00, 0x00, 0x42, 0x4b, 0x42, - 0x00, 0x00, 0x05, 0x0b, 0x03, - 0x00, 0x00, 0x00, 0x2d, 0xc2, - 0x00, 0x00, 0x4d, 0xa3, 0x09, - 0x00, 0x00, 0x47, 0xad, 0x48, - 0x00, 0x00, 0x43, 0x9b, 0x49, - 0x00, 0x00, 0x5a, 0x0c, 0x49, - 0x00, 0x00, 0x40, 0x3e, 0x8a, - 0x00, 0x00, 0x41, 0x89, 0x8a, - 0x00, 0x00, 0x40, 0x52, 0x02, - 0x00, 0x00, 0x55, 0x47, 0xc2, - 0x00, 0x00, 0x00, 0x22, 0x02, - 0x00, 0x00, 0x40, 0x66, 0x43, - 0x00, 0x00, 0x42, 0xdd, 0x42, - 0x00, 0x00, 0x44, 0x69, 0x46, - 0x00, 0x00, 0x53, 0x0c, 0x02, - 0x00, 0x00, 0x04, 0x14, 0x02, - 0x00, 0x00, 0x40, 0x0d, 0x82, - 0x00, 0x00, 0x47, 0x6e, 0x4e, - 0x00, 0x00, 0x41, 0x95, 0xce, - 0x00, 0x00, 0x41, 0x09, 0x47, - 0x00, 0x00, 0x41, 0x17, 0x42, - 0x00, 0x00, 0x41, 0xf6, 0x03, - 0x00, 0x00, 0x40, 0x55, 0x03, - 0x00, 0x00, 0x40, 0xc7, 0xc2, - 0x00, 0x00, 0x40, 0x05, 0xc2, - 0x00, 0x00, 0x00, 0xfc, 0x83, - 0x00, 0x00, 0x43, 0x94, 0xcf, - 0x00, 0x00, 0x44, 0x6c, 0x82, - 0x00, 0x00, 0x4c, 0x60, 0x07, - 0x00, 0x00, 0x4c, 0xac, 0x07, - 0x00, 0x00, 0x52, 0xef, 0xc7, - 0x00, 0x00, 0x4c, 0xa4, 0xcc, - 0x00, 0x00, 0x4e, 0x01, 0x0c, - 0x00, 0x00, 0x42, 0xfc, 0x84, - 0x00, 0x00, 0x48, 0x37, 0x4a, - 0x00, 0x00, 0x41, 0x95, 0x02, - 0x00, 0x00, 0x40, 0x69, 0x82, - 0x00, 0x00, 0x4d, 0x02, 0x44, - 0x00, 0x00, 0x40, 0x07, 0x02, - 0x00, 0x00, 0x43, 0x7b, 0x42, - 0x00, 0x00, 0x4e, 0x03, 0x44, - 0x00, 0x00, 0x41, 0x77, 0x02, - 0x00, 0x00, 0x40, 0x6b, 0x42, - 0x00, 0x00, 0x00, 0xf7, 0x43, - 0x00, 0x00, 0x4f, 0xb0, 0x87, - 0x00, 0x00, 0x4e, 0x4c, 0x85, - 0x00, 0x00, 0x41, 0xa2, 0x02, - 0x00, 0x00, 0x51, 0xe5, 0x84, - 0x00, 0x00, 0x59, 0x4c, 0xc2, - 0x00, 0x00, 0x4f, 0x50, 0x88, - 0x00, 0x00, 0x41, 0x09, 0xc3, - 0x00, 0x00, 0x57, 0xf5, 0x88, - 0x00, 0x00, 0x40, 0x1f, 0x82, - 0x00, 0x00, 0x42, 0xfe, 0x45, - 0x00, 0x00, 0x59, 0xe4, 0x46, - 0x00, 0x00, 0x41, 0xf1, 0x43, - 0x00, 0x00, 0x40, 0x4f, 0x82, - 0x00, 0x00, 0x50, 0x5d, 0x87, - 0x00, 0x00, 0x01, 0x5c, 0x82, - 0x00, 0x00, 0x44, 0xc4, 0xc5, - 0x00, 0x00, 0x54, 0xd7, 0x85, - 0x00, 0x00, 0x40, 0x10, 0xc2, - 0x00, 0x00, 0x43, 0xf6, 0x02, - 0x00, 0x00, 0x49, 0x43, 0x0a, - 0x00, 0x00, 0x47, 0xe7, 0xca, - 0x00, 0x00, 0x47, 0xcc, 0xc2, - 0x00, 0x00, 0x4a, 0xd3, 0x44, - 0x00, 0x00, 0x40, 0x2a, 0x42, - 0x00, 0x00, 0x50, 0x1e, 0x08, - 0x00, 0x00, 0x41, 0x81, 0x82, - 0x00, 0x00, 0x5d, 0x20, 0x48, - 0x00, 0x00, 0x00, 0x11, 0x01, - 0x00, 0x00, 0x51, 0xb3, 0x47, - 0x00, 0x00, 0x51, 0xc0, 0x49, - 0x00, 0x00, 0x44, 0xc5, 0x42, - 0x00, 0x00, 0x52, 0x2f, 0x85, - 0x00, 0x00, 0x47, 0x5c, 0x45, - 0x00, 0x00, 0x40, 0xf9, 0x0b, - 0x00, 0x00, 0x52, 0x21, 0x0c, - 0x00, 0x00, 0x42, 0xd4, 0x08, - 0x00, 0x00, 0x53, 0x78, 0x88, - 0x00, 0x00, 0x5d, 0x55, 0x02, - 0x00, 0x00, 0x49, 0xe0, 0x02, - 0x00, 0x00, 0x40, 0x00, 0xc2, - 0x00, 0x00, 0x1b, 0x96, 0x88, - 0x00, 0x00, 0x40, 0x22, 0x02, - 0x00, 0x00, 0x40, 0x66, 0x43, - 0x00, 0x00, 0x40, 0x03, 0x82, - 0x00, 0x00, 0x40, 0x18, 0xc2, - 0x00, 0x00, 0x40, 0x03, 0xc2, - 0x00, 0x00, 0x41, 0xf1, 0x43, - 0x00, 0x00, 0x40, 0x2e, 0xc2, - 0x00, 0x00, 0x40, 0x00, 0xc2, - 0x00, 0x00, 0x14, 0xcb, 0x05, - 0x01, 0x22, 0xc0, 0x22, 0x02, - 0x00, 0x00, 0x11, 0x31, 0x44, - 0x00, 0x00, 0x03, 0xab, 0x05, - 0x01, 0x24, 0xc0, 0x55, 0x03, - 0x00, 0x00, 0x0b, 0xd5, 0x04, - 0x00, 0x00, 0x40, 0xf7, 0x43, - 0x00, 0x00, 0x40, 0x0e, 0xc2, - 0x00, 0x00, 0x41, 0x09, 0xc3, - 0x00, 0x00, 0x58, 0x1c, 0xc3, - 0x01, 0x25, 0x41, 0xf1, 0x43, - 0x00, 0x00, 0x50, 0x36, 0x43, - 0x00, 0x00, 0x4e, 0x19, 0xc6, - 0x00, 0x00, 0x19, 0x14, 0x45, - 0x00, 0x02, 0xc1, 0x3d, 0xc3, - 0x00, 0x00, 0x1a, 0x28, 0x85, - 0x00, 0x00, 0x14, 0xcb, 0x05, - 0x00, 0x00, 0x14, 0xee, 0xcb, - 0x00, 0x00, 0x1b, 0x96, 0x88, - 0x01, 0x23, 0x53, 0xc4, 0xc8, - 0x00, 0x00, 0x06, 0x71, 0xc7, - 0x01, 0x23, 0xcd, 0x24, 0x0a, - 0x00, 0x00, 0x0f, 0x9d, 0x4c, - 0x00, 0x00, 0x1b, 0x94, 0x87, - 0x00, 0x00, 0x1c, 0xf8, 0x05, - 0x01, 0x24, 0x59, 0x18, 0x89, - 0x00, 0x00, 0x02, 0x06, 0xcd, - 0x00, 0x00, 0x03, 0xf8, 0x42, - 0x00, 0x00, 0x12, 0x1b, 0x42, - 0x00, 0x00, 0x00, 0x0c, 0x01, - 0x00, 0x00, 0x0f, 0xbc, 0x44, - 0x00, 0x00, 0x0b, 0x7d, 0x8a, - 0x00, 0x00, 0x07, 0xe6, 0x07, - 0x00, 0x00, 0x13, 0x55, 0x0f, - 0x00, 0x00, 0x01, 0x6f, 0x44, - 0x00, 0x00, 0x01, 0x6f, 0x83, - 0x00, 0x00, 0x01, 0x6f, 0x84, - 0x00, 0x00, 0x06, 0xa0, 0x8b, - 0x00, 0x00, 0x00, 0xa7, 0x4d, - 0x01, 0x26, 0x40, 0xbb, 0x02, - 0x01, 0x26, 0xc0, 0x0b, 0x02, - 0x01, 0x27, 0x40, 0x28, 0xc2, - 0x01, 0x27, 0xc0, 0x19, 0x42, - 0x01, 0x28, 0x40, 0x36, 0x02, - 0x01, 0x28, 0xc0, 0x17, 0x82, - 0x00, 0x00, 0x0f, 0x08, 0xc7, - 0x01, 0x29, 0x40, 0x22, 0x02, - 0x01, 0x29, 0xc1, 0x18, 0x02, - 0x01, 0x2a, 0x42, 0x3f, 0xc2, - 0x01, 0x2a, 0xc0, 0x23, 0xc2, - 0x00, 0x00, 0x41, 0x95, 0xc3, - 0x00, 0x00, 0x1b, 0x73, 0x44, - 0x01, 0x2b, 0x45, 0x8a, 0x88, - 0x00, 0x00, 0x42, 0xdf, 0x83, - 0x01, 0x2b, 0xc1, 0x3f, 0x42, - 0x00, 0x00, 0x06, 0xb4, 0xc8, - 0x01, 0x2c, 0x40, 0x87, 0x82, - 0x00, 0x00, 0x05, 0x5d, 0xc7, - 0x00, 0x00, 0x1b, 0x54, 0x07, - 0x01, 0x2c, 0xc0, 0x00, 0x42, - 0x01, 0x2d, 0x40, 0x35, 0x82, - 0x01, 0x2d, 0xc0, 0x01, 0x82, - 0x01, 0x2e, 0x40, 0x30, 0x42, - 0x01, 0x2e, 0xc0, 0x41, 0x42, - 0x01, 0x2f, 0x40, 0x05, 0xc2, - 0x00, 0x00, 0x18, 0x6f, 0x05, - 0x00, 0x00, 0x41, 0x36, 0xc3, - 0x00, 0x00, 0x5b, 0xf3, 0xc4, - 0x01, 0x2f, 0xc0, 0x07, 0x02, - 0x01, 0x30, 0x43, 0x98, 0x42, - 0x01, 0x30, 0xc0, 0x4f, 0xc2, - 0x00, 0x00, 0x09, 0x3e, 0x0b, - 0x01, 0x31, 0x40, 0x5e, 0x42, - 0x01, 0x32, 0x44, 0xe4, 0x42, - 0x01, 0x32, 0xc0, 0x0e, 0xc2, - 0x01, 0x33, 0x40, 0x1e, 0x42, - 0x00, 0x00, 0x09, 0xb1, 0x08, - 0x01, 0x33, 0xc1, 0xcf, 0x02, - 0x01, 0x34, 0x40, 0x15, 0x02, - 0x01, 0x34, 0xc0, 0x3c, 0x42, - 0x01, 0x35, 0x47, 0xd2, 0x02, - 0x01, 0x35, 0xc0, 0x24, 0xc2, - 0x01, 0x36, 0x40, 0x37, 0x02, - 0x01, 0x36, 0xc0, 0x18, 0xc2, - 0x01, 0x37, 0x41, 0xe3, 0x42, - 0x01, 0x37, 0xc0, 0xab, 0xc2, - 0x01, 0x38, 0x43, 0x9e, 0x02, - 0x00, 0x00, 0x11, 0xff, 0x04, - 0x00, 0x00, 0x5c, 0xcd, 0x03, - 0x01, 0x38, 0xc3, 0x6d, 0x82, - 0x01, 0x39, 0x40, 0x67, 0x82, - 0x01, 0x39, 0xc0, 0xae, 0xc2, - 0x01, 0x3a, 0x40, 0x06, 0xc2, - 0x01, 0x3a, 0xc0, 0x03, 0xc2, - 0x01, 0x3b, 0x40, 0x67, 0x02, - 0x00, 0x00, 0x10, 0x2a, 0xc8, - 0x00, 0x00, 0x0a, 0xfa, 0x47, - 0x01, 0x3b, 0xc0, 0x2b, 0x02, - 0x01, 0x3c, 0x40, 0x2b, 0x42, - 0x01, 0x3c, 0xc0, 0x2e, 0xc2, - 0x01, 0x3d, 0x40, 0x6e, 0xc2, - 0x00, 0x00, 0x16, 0x7f, 0xcc, - 0x01, 0x3d, 0xc0, 0x1b, 0x42, - 0x01, 0x3e, 0x42, 0x72, 0xc2, - 0x01, 0x3e, 0xc1, 0x60, 0x02, - 0x01, 0x3f, 0x40, 0x46, 0xc2, - 0x01, 0x3f, 0xc0, 0xc3, 0x02, - 0x01, 0x40, 0x40, 0x40, 0x02, - 0x01, 0x40, 0xc0, 0x59, 0xc2, - 0x01, 0x41, 0x40, 0x3d, 0xc2, - 0x01, 0x41, 0xc8, 0x4e, 0x42, - 0x01, 0x42, 0x48, 0x57, 0x82, - 0x00, 0x00, 0x40, 0x2d, 0xc2, - 0x00, 0x00, 0x53, 0xc6, 0x83, - 0x00, 0x00, 0x41, 0xa4, 0x03, - 0x00, 0x00, 0x40, 0x2d, 0xc2, - 0x00, 0x00, 0x53, 0xc6, 0x83, - 0x00, 0x00, 0x41, 0xa4, 0x03, - 0x00, 0x00, 0x40, 0x2d, 0xc2, - 0x00, 0x00, 0x53, 0xc6, 0x83, - 0x00, 0x00, 0x41, 0xa4, 0x03, - 0x00, 0x00, 0x40, 0x2d, 0xc2, - 0x00, 0x00, 0x53, 0xc6, 0x83, - 0x00, 0x00, 0x41, 0xa4, 0x03, - 0x00, 0x00, 0x40, 0x2d, 0xc2, - 0x00, 0x00, 0x53, 0xc6, 0x83, - 0x00, 0x00, 0x41, 0xa4, 0x03, - 0x00, 0x00, 0x40, 0x2d, 0xc2, - 0x00, 0x00, 0x53, 0xc6, 0x83, - 0x00, 0x00, 0x41, 0xa4, 0x03, - 0x00, 0x00, 0x40, 0x2d, 0xc2, - 0x00, 0x00, 0x53, 0xc6, 0x83, - 0x00, 0x00, 0x41, 0xa4, 0x03, - 0x00, 0x00, 0x40, 0x2d, 0xc2, - 0x00, 0x00, 0x53, 0xc6, 0x83, - 0x00, 0x00, 0x41, 0xa4, 0x03, - 0x00, 0x00, 0x40, 0x2d, 0xc2, - 0x00, 0x00, 0x53, 0xc6, 0x83, - 0x00, 0x00, 0x41, 0xa4, 0x03, - 0x00, 0x00, 0x40, 0x2d, 0xc2, - 0x00, 0x00, 0x53, 0xc6, 0x83, - 0x00, 0x00, 0x01, 0xa4, 0x03, - 0x00, 0x00, 0x0d, 0x58, 0xc3, - 0x00, 0x00, 0x40, 0x2d, 0xc2, - 0x00, 0x00, 0x53, 0xc6, 0x83, - 0x00, 0x00, 0x41, 0xa4, 0x03, - 0x00, 0x00, 0x40, 0x2d, 0xc2, - 0x00, 0x00, 0x53, 0xc6, 0x83, - 0x00, 0x00, 0x41, 0xa4, 0x03, - 0x00, 0x00, 0x40, 0x2d, 0xc2, - 0x00, 0x00, 0x53, 0xc6, 0x83, - 0x00, 0x00, 0x41, 0xa4, 0x03, - 0x00, 0x00, 0x40, 0x2d, 0xc2, - 0x00, 0x00, 0x41, 0xa4, 0x03, - 0x00, 0x00, 0x40, 0x2d, 0xc2, - 0x00, 0x00, 0x53, 0xc6, 0x83, - 0x00, 0x00, 0x41, 0xa4, 0x03, - 0x00, 0x00, 0x40, 0x2d, 0xc2, - 0x00, 0x00, 0x53, 0xc6, 0x83, - 0x00, 0x00, 0x41, 0xa4, 0x03, - 0x00, 0x00, 0x40, 0x2d, 0xc2, - 0x00, 0x00, 0x53, 0xc6, 0x83, - 0x00, 0x00, 0x41, 0xa4, 0x03, - 0x00, 0x00, 0x40, 0x2d, 0xc2, - 0x00, 0x00, 0x53, 0xc6, 0x83, - 0x00, 0x00, 0x41, 0xa4, 0x03, - 0x00, 0x00, 0x40, 0x2d, 0xc2, - 0x00, 0x00, 0x53, 0xc6, 0x83, - 0x00, 0x00, 0x41, 0xa4, 0x03, - 0x00, 0x00, 0x40, 0x2d, 0xc2, - 0x00, 0x00, 0x53, 0xc6, 0x83, - 0x00, 0x00, 0x41, 0xa4, 0x03, - 0x00, 0x00, 0x40, 0x2d, 0xc2, - 0x00, 0x00, 0x53, 0xc6, 0x83, - 0x00, 0x00, 0x41, 0xa4, 0x03, - 0x00, 0x00, 0x40, 0x2d, 0xc2, - 0x01, 0x31, 0xd3, 0xc6, 0x83, - 0x00, 0x00, 0x41, 0xa4, 0x03, - 0x00, 0x00, 0x5c, 0xc4, 0xc4, - 0x00, 0x00, 0x43, 0x9a, 0x46, - 0x00, 0x00, 0x50, 0xe5, 0x43, - 0x00, 0x00, 0x40, 0x2d, 0xc2, - 0x00, 0x00, 0x53, 0xc6, 0x83, - 0x00, 0x00, 0x41, 0xa4, 0x03, - 0x00, 0x00, 0x40, 0x2d, 0xc2, - 0x00, 0x00, 0x53, 0xc6, 0x83, - 0x00, 0x00, 0x41, 0xa4, 0x03, - 0x00, 0x00, 0x5d, 0xe0, 0x09, - 0x00, 0x00, 0x40, 0x2d, 0xc2, - 0x00, 0x00, 0x5d, 0xbe, 0x43, - 0x00, 0x00, 0x4c, 0xe9, 0xc3, - 0x00, 0x00, 0x53, 0xb7, 0x05, - 0x00, 0x00, 0x40, 0x3b, 0x43, - 0x00, 0x00, 0x53, 0xc6, 0x83, - 0x00, 0x00, 0x41, 0xa4, 0x03, - 0x00, 0x00, 0x4e, 0xdd, 0xc3, - 0x00, 0x00, 0x44, 0x0b, 0x83, - 0x00, 0x00, 0x42, 0x16, 0x49, - 0x00, 0x00, 0x40, 0x2d, 0xc2, - 0x00, 0x00, 0x53, 0xc6, 0x83, - 0x00, 0x00, 0x41, 0xa4, 0x03, - 0x00, 0x00, 0x40, 0x2d, 0xc2, - 0x00, 0x00, 0x53, 0xc6, 0x83, - 0x00, 0x00, 0x41, 0xa4, 0x03, - 0x00, 0x00, 0x40, 0x2d, 0xc2, - 0x00, 0x00, 0x53, 0xc6, 0x83, - 0x00, 0x00, 0x41, 0xa4, 0x03, - 0x00, 0x00, 0x40, 0x2d, 0xc2, - 0x00, 0x00, 0x53, 0xc6, 0x83, - 0x00, 0x00, 0x41, 0xa4, 0x03, - 0x00, 0x00, 0x40, 0x2d, 0xc2, - 0x00, 0x00, 0x53, 0xc6, 0x83, - 0x00, 0x00, 0x41, 0xa4, 0x03, - 0x00, 0x00, 0x40, 0x2d, 0xc2, - 0x00, 0x00, 0x41, 0xa4, 0x03, - 0x00, 0x00, 0x40, 0x2d, 0xc2, - 0x00, 0x00, 0x53, 0xc6, 0x83, - 0x00, 0x00, 0x41, 0xa4, 0x03, - 0x00, 0x00, 0x40, 0x2d, 0xc2, - 0x00, 0x00, 0x53, 0xc6, 0x83, - 0x00, 0x00, 0x41, 0xa4, 0x03, - 0x00, 0x00, 0x40, 0x2d, 0xc2, - 0x00, 0x00, 0x53, 0xc6, 0x83, - 0x00, 0x00, 0x41, 0xa4, 0x03, - 0x00, 0x00, 0x40, 0x2d, 0xc2, - 0x00, 0x00, 0x53, 0xc6, 0x83, - 0x00, 0x00, 0x41, 0xa4, 0x03, - 0x00, 0x00, 0x40, 0x2d, 0xc2, - 0x00, 0x00, 0x53, 0xc6, 0x83, - 0x00, 0x00, 0x41, 0xa4, 0x03, - 0x00, 0x00, 0x40, 0x2d, 0xc2, - 0x00, 0x00, 0x53, 0xc6, 0x83, - 0x00, 0x00, 0x41, 0xa4, 0x03, - 0x00, 0x00, 0x40, 0x2d, 0xc2, - 0x00, 0x00, 0x53, 0xc6, 0x83, - 0x00, 0x00, 0x41, 0xa4, 0x03, - 0x00, 0x00, 0x40, 0x2d, 0xc2, - 0x00, 0x00, 0x53, 0xc6, 0x83, - 0x00, 0x00, 0x41, 0xa4, 0x03, - 0x00, 0x00, 0x40, 0x2d, 0xc2, - 0x00, 0x00, 0x53, 0xc6, 0x83, - 0x00, 0x00, 0x41, 0xa4, 0x03, - 0x00, 0x00, 0x40, 0x2d, 0xc2, - 0x00, 0x00, 0x53, 0xc6, 0x83, - 0x00, 0x00, 0x41, 0xa4, 0x03, - 0x00, 0x00, 0x40, 0x2d, 0xc2, - 0x00, 0x00, 0x53, 0xc6, 0x83, - 0x00, 0x00, 0x41, 0xa4, 0x03, - 0x00, 0x00, 0x40, 0x2d, 0xc2, - 0x00, 0x00, 0x41, 0xa4, 0x03, - 0x00, 0x00, 0x40, 0x2d, 0xc2, - 0x00, 0x00, 0x53, 0xc6, 0x83, - 0x00, 0x00, 0x41, 0xa4, 0x03, - 0x00, 0x00, 0x40, 0x2d, 0xc2, - 0x00, 0x00, 0x41, 0xa4, 0x03, - 0x00, 0x00, 0x40, 0x2d, 0xc2, - 0x00, 0x00, 0x53, 0xc6, 0x83, - 0x00, 0x00, 0x41, 0xa4, 0x03, - 0x00, 0x00, 0x40, 0x2d, 0xc2, - 0x00, 0x00, 0x53, 0xc6, 0x83, - 0x00, 0x00, 0x41, 0xa4, 0x03, - 0x00, 0x00, 0x40, 0x2d, 0xc2, - 0x00, 0x00, 0x53, 0xc6, 0x83, - 0x00, 0x00, 0x41, 0xa4, 0x03, - 0x00, 0x00, 0x40, 0x2d, 0xc2, - 0x00, 0x00, 0x53, 0xc6, 0x83, - 0x00, 0x00, 0x41, 0xa4, 0x03, - 0x00, 0x00, 0x40, 0x2d, 0xc2, - 0x00, 0x00, 0x53, 0xc6, 0x83, - 0x00, 0x00, 0x41, 0xa4, 0x03, - 0x00, 0x00, 0x40, 0x2d, 0xc2, - 0x00, 0x00, 0x53, 0xc6, 0x83, - 0x00, 0x00, 0x41, 0xa4, 0x03, - 0x00, 0x00, 0x40, 0x2d, 0xc2, - 0x00, 0x00, 0x53, 0xc6, 0x83, - 0x00, 0x00, 0x41, 0xa4, 0x03, - 0x00, 0x00, 0x40, 0x2d, 0xc2, - 0x00, 0x00, 0x53, 0xc6, 0x83, - 0x00, 0x00, 0x41, 0xa4, 0x03, - 0x00, 0x00, 0x40, 0x2d, 0xc2, - 0x00, 0x00, 0x40, 0x2d, 0xc2, - 0x00, 0x00, 0x53, 0xc6, 0x83, - 0x00, 0x00, 0x41, 0xa4, 0x03, - 0x01, 0x43, 0x40, 0x66, 0x43, - 0x00, 0x00, 0x41, 0xf6, 0x03, - 0x00, 0x00, 0x5a, 0x0e, 0x83, - 0x00, 0x00, 0x40, 0x65, 0x43, - 0x00, 0x00, 0x41, 0x09, 0xc3, - 0x00, 0x00, 0x41, 0xf1, 0x43, - 0x00, 0x00, 0x1b, 0x96, 0x88, - 0x00, 0x00, 0x40, 0x22, 0x02, - 0x00, 0x00, 0x40, 0x66, 0x43, - 0x00, 0x00, 0x41, 0x09, 0xc3, - 0x00, 0x00, 0x41, 0xf1, 0x43, - 0x00, 0x00, 0x14, 0xb7, 0x42, - 0x00, 0x00, 0x40, 0x66, 0x43, - 0x00, 0x00, 0x41, 0xf6, 0x03, - 0x00, 0x00, 0x40, 0x55, 0x03, - 0x01, 0x44, 0x90, 0x0d, 0xc2, - 0x00, 0x00, 0x40, 0x65, 0x43, - 0x00, 0x00, 0x41, 0x09, 0xc3, - 0x00, 0x00, 0x41, 0xf1, 0x43, - 0x00, 0x00, 0x00, 0x0c, 0xc1, - 0x00, 0x00, 0x40, 0x48, 0x84, - 0x00, 0x00, 0x46, 0x64, 0x83, - 0x00, 0x00, 0x40, 0x22, 0x02, - 0x00, 0x00, 0x40, 0x66, 0x43, - 0x00, 0x00, 0x5a, 0x31, 0x83, - 0x00, 0x00, 0x41, 0xf6, 0x03, - 0x00, 0x00, 0x45, 0x54, 0xc4, - 0x00, 0x00, 0x5d, 0x64, 0x03, - 0x00, 0x00, 0x40, 0x55, 0x03, - 0x00, 0x00, 0x45, 0x03, 0xc4, - 0x00, 0x00, 0x41, 0x1e, 0x43, - 0x00, 0x00, 0x40, 0x65, 0x43, - 0x00, 0x00, 0x41, 0x09, 0xc3, - 0x00, 0x00, 0x41, 0xd7, 0x83, - 0x00, 0x00, 0x41, 0xf1, 0x43, - 0x00, 0x00, 0x43, 0x5e, 0xc3, - 0x00, 0x00, 0x43, 0x73, 0x43, - 0x00, 0x00, 0x53, 0xd8, 0x45, - 0x00, 0x00, 0x44, 0x0b, 0x83, - 0x00, 0x00, 0x40, 0x0f, 0x83, - 0x00, 0x00, 0x00, 0x08, 0x82, - 0x00, 0x00, 0x40, 0x22, 0x02, - 0x00, 0x00, 0x40, 0x66, 0x43, - 0x00, 0x00, 0x53, 0xc6, 0x83, - 0x00, 0x00, 0x41, 0x09, 0xc3, - 0x00, 0x00, 0x41, 0xf1, 0x43, - 0x00, 0x00, 0x40, 0x00, 0xc2, - 0x00, 0x00, 0x45, 0x0b, 0x03, - 0x00, 0x00, 0x1b, 0x96, 0x88, - 0x00, 0x00, 0x40, 0x66, 0x43, - 0x00, 0x00, 0x41, 0xf6, 0x03, - 0x00, 0x00, 0x40, 0x55, 0x03, - 0x00, 0x00, 0x43, 0x13, 0x86, - 0x00, 0x00, 0x45, 0x03, 0xc4, - 0x00, 0x00, 0x41, 0x1e, 0x43, - 0x00, 0x00, 0x49, 0x47, 0x44, - 0x00, 0x00, 0x41, 0x09, 0xc3, - 0x00, 0x00, 0x41, 0xf1, 0x43, - 0x00, 0x00, 0x41, 0x96, 0x83, - 0x00, 0x00, 0x00, 0x62, 0x04, - 0x00, 0x00, 0x15, 0x47, 0xc2, - 0x00, 0x00, 0x40, 0x66, 0x43, - 0x00, 0x00, 0x01, 0xa6, 0xc3, - 0x00, 0x00, 0x41, 0xf6, 0x03, - 0x00, 0x00, 0x00, 0x0e, 0xc2, - 0x00, 0x00, 0x41, 0x09, 0xc3, - 0x00, 0x00, 0x41, 0xf1, 0x43, - 0x00, 0x00, 0x07, 0x2e, 0x84, - 0x00, 0x00, 0x07, 0x25, 0x44, - 0x00, 0x00, 0x00, 0xc6, 0x42, - 0x00, 0x02, 0x98, 0xa7, 0xc7, - 0x00, 0x00, 0x00, 0x72, 0x47, - 0x00, 0x00, 0x40, 0x66, 0x43, - 0x00, 0x00, 0x03, 0x41, 0x06, - 0x00, 0x00, 0x41, 0xf6, 0x03, - 0x00, 0x00, 0x40, 0x55, 0x03, - 0x00, 0x00, 0x0f, 0x7e, 0x06, - 0x00, 0x00, 0x41, 0x09, 0xc3, - 0x00, 0x00, 0x41, 0xf1, 0x43, - 0x00, 0x00, 0x53, 0x34, 0xc8, - 0x00, 0x00, 0x53, 0x76, 0xc9, - 0x00, 0x00, 0x54, 0x81, 0x09, - 0x00, 0x00, 0x55, 0x0a, 0xc8, - 0x00, 0x00, 0x5a, 0x0a, 0x88, - 0x00, 0x00, 0x5a, 0x0a, 0x89, - 0x00, 0x00, 0x52, 0xe0, 0xca, - 0x00, 0x00, 0x56, 0x49, 0xca, - 0x00, 0x00, 0x59, 0xb1, 0x8a, - 0x00, 0x00, 0x5a, 0x1a, 0x4a, - 0x00, 0x00, 0x5d, 0xfe, 0x4a, - 0x00, 0x00, 0x5e, 0xba, 0xcb, - 0x00, 0x00, 0x44, 0x14, 0x4d, - 0x00, 0x00, 0x44, 0x2a, 0x0f, - 0x00, 0x00, 0x44, 0x61, 0x50, - 0x00, 0x00, 0x56, 0x89, 0x4d, - 0x00, 0x00, 0x58, 0x61, 0x8c, - 0x00, 0x00, 0x5a, 0x17, 0x8b, - 0x00, 0x00, 0x17, 0x84, 0xc7, - 0x00, 0x00, 0x13, 0x09, 0x8e, - 0x00, 0x00, 0x13, 0x53, 0x0a, - 0x00, 0x00, 0x13, 0x73, 0xc9, - 0x00, 0x00, 0x14, 0x81, 0x09, - 0x00, 0x00, 0x16, 0x77, 0x09, - 0x00, 0x00, 0x16, 0x79, 0x4a, - 0x00, 0x00, 0x17, 0x17, 0x49, - 0x00, 0x00, 0x17, 0x24, 0xc9, - 0x00, 0x00, 0x17, 0x2f, 0xcb, - 0x00, 0x00, 0x00, 0x62, 0x08, - 0x00, 0x00, 0x10, 0x0c, 0x08, - 0x00, 0x00, 0x00, 0x17, 0x09, - 0x00, 0x02, 0x89, 0x56, 0x07, - 0x00, 0x00, 0x0e, 0x3d, 0xc5, - 0x00, 0x00, 0x40, 0x66, 0x43, - 0x00, 0x00, 0x41, 0xf6, 0x03, - 0x00, 0x00, 0x40, 0x55, 0x03, - 0x00, 0x00, 0x40, 0x65, 0x43, - 0x00, 0x00, 0x41, 0x09, 0xc3, - 0x00, 0x00, 0x41, 0xf1, 0x43, - 0x00, 0x00, 0x01, 0xf1, 0x43, - 0x00, 0x00, 0x40, 0x00, 0xc2, - 0x00, 0x00, 0x5b, 0xe4, 0x45, - 0x00, 0x00, 0x40, 0x6b, 0x03, - 0x01, 0x4d, 0x40, 0x22, 0x02, - 0x00, 0x00, 0x41, 0xf6, 0x03, - 0x00, 0x00, 0x40, 0x55, 0x03, - 0x00, 0x00, 0x59, 0x07, 0xc7, - 0x00, 0x00, 0x47, 0x21, 0xc3, - 0x00, 0x00, 0x40, 0x65, 0x43, - 0x00, 0x00, 0x41, 0x09, 0xc3, - 0x00, 0x00, 0x42, 0xb6, 0x43, - 0x00, 0x00, 0x40, 0xf4, 0xc3, - 0x00, 0x00, 0x40, 0x34, 0xc3, - 0x00, 0x00, 0x41, 0xd7, 0x83, - 0x00, 0x00, 0x41, 0xf1, 0x43, - 0x00, 0x00, 0x5a, 0x63, 0x86, - 0x00, 0x00, 0x43, 0xd9, 0x42, - 0x00, 0x00, 0x40, 0x0f, 0x83, - 0x00, 0x00, 0x1b, 0x96, 0x88, - 0x00, 0x00, 0x40, 0x00, 0xc2, - 0x00, 0x00, 0x45, 0x0b, 0x03, - 0x00, 0x00, 0x40, 0x22, 0x02, - 0x00, 0x00, 0x40, 0x66, 0x43, - 0x00, 0x00, 0x41, 0xf6, 0x03, - 0x00, 0x00, 0x40, 0x55, 0x03, - 0x00, 0x00, 0x45, 0x03, 0xc4, - 0x00, 0x00, 0x40, 0x65, 0x43, - 0x00, 0x00, 0x41, 0x09, 0xc3, - 0x00, 0x00, 0x41, 0xf1, 0x43, - 0x00, 0x00, 0x41, 0x3d, 0xc3, - 0x00, 0x00, 0x00, 0x72, 0x47, - 0x00, 0x00, 0x00, 0xd8, 0x42, - 0x00, 0x00, 0x13, 0xad, 0x44, - 0x00, 0x02, 0x94, 0x47, 0x46, - 0x00, 0x00, 0x40, 0x00, 0xc2, - 0x00, 0x00, 0x40, 0x22, 0x02, - 0x00, 0x00, 0x40, 0x55, 0x03, - 0x00, 0x00, 0x40, 0x65, 0x43, - 0x00, 0x00, 0x41, 0xf1, 0x43, -} +// +//go:embed data/nodes +var nodes uint40String // children is the list of nodes' children, the parent's wildcard bit and the // parent's node type. If a node has no children then their children index @@ -9906,681 +59,12 @@ var nodes = [...]uint8{ // [ 2 bits] node type // [14 bits] high nodes index (exclusive) of children // [14 bits] low nodes index (inclusive) of children -var children = [...]uint32{ - 0x0, - 0x10000000, - 0x20000000, - 0x40000000, - 0x50000000, - 0x60000000, - 0x179c5e0, - 0x17a05e7, - 0x17a45e8, - 0x17c45e9, - 0x191c5f1, - 0x1930647, - 0x194464c, - 0x1958651, - 0x1974656, - 0x199865d, - 0x19b0666, - 0x1a0066c, - 0x1a04680, - 0x1a3c681, - 0x1a4068f, - 0x1a58690, - 0x1a5c696, - 0x1a60697, - 0x1aa4698, - 0x1aa86a9, - 0x1aac6aa, - 0x21ab06ab, - 0x61ab86ac, - 0x21ac06ae, - 0x1b086b0, - 0x1b146c2, - 0x21b186c5, - 0x1b3c6c6, - 0x1b406cf, - 0x1b546d0, - 0x1b586d5, - 0x1b786d6, - 0x1ba86de, - 0x1bc86ea, - 0x1bd06f2, - 0x1bf86f4, - 0x1c146fe, - 0x21c18705, - 0x21c1c706, - 0x1c20707, - 0x1cb8708, - 0x1ccc72e, - 0x1ce0733, - 0x1d18738, - 0x1d28746, - 0x1d3c74a, - 0x1d5474f, - 0x1df8755, - 0x202c77e, - 0x203480b, - 0x2203880d, - 0x2203c80e, - 0x20a880f, - 0x211482a, - 0x212c845, - 0x214084b, - 0x2144850, - 0x2148851, - 0x2150852, - 0x2168854, - 0x216c85a, - 0x218885b, - 0x21dc862, - 0x21e0877, - 0x221e4878, - 0x2208879, - 0x2220c882, - 0x2210883, - 0x2214884, - 0x2244885, - 0x62248891, - 0x22250892, - 0x22254894, - 0x2298895, - 0x6229c8a6, - 0x22b08a7, - 0x23108ac, - 0x223148c4, - 0x223188c5, - 0x223208c6, - 0x223248c8, - 0x223288c9, - 0x232c8ca, - 0x23348cb, - 0x23388cd, - 0x223448ce, - 0x2234c8d1, - 0x235c8d3, - 0x236c8d7, - 0x24208db, - 0x2424908, - 0x22434909, - 0x2243890d, - 0x2244090e, - 0x249c910, - 0x24a0927, - 0x24a4928, - 0x24a8929, - 0x2a9c92a, - 0x2aa0aa7, - 0x22b48aa8, - 0x22b4cad2, - 0x22b50ad3, - 0x22b5cad4, - 0x22b60ad7, - 0x22b6cad8, - 0x22b70adb, - 0x22b74adc, - 0x22b78add, - 0x22b7cade, - 0x22b80adf, - 0x22b8cae0, - 0x22b90ae3, - 0x22b9cae4, - 0x22ba0ae7, - 0x22ba4ae8, - 0x22ba8ae9, - 0x22bb4aea, - 0x22bb8aed, - 0x22bc4aee, - 0x22bc8af1, - 0x22bccaf2, - 0x22bd0af3, - 0x2bd4af4, - 0x22bd8af5, - 0x22be4af6, - 0x22be8af9, - 0x2becafa, - 0x2bf4afb, - 0x62c00afd, - 0x22c08b00, - 0x2c4cb02, - 0x22c6cb13, - 0x22c70b1b, - 0x22c74b1c, - 0x22c7cb1d, - 0x22c84b1f, - 0x22c88b21, - 0x22c8cb22, - 0x22c94b23, - 0x22c98b25, - 0x22c9cb26, - 0x22ca0b27, - 0x2ca4b28, - 0x22cd0b29, - 0x22cd4b34, - 0x22cd8b35, - 0x2cdcb36, - 0x22ce0b37, - 0x22ce4b38, - 0x22cf0b39, - 0x22cf4b3c, - 0x2cf8b3d, - 0x2d00b3e, - 0x2d0cb40, - 0x2d14b43, - 0x2d30b45, - 0x2d48b4c, - 0x2d60b52, - 0x2d70b58, - 0x2d7cb5c, - 0x2db0b5f, - 0x2db8b6c, - 0x22dbcb6e, - 0x2dd4b6f, - 0x22ddcb75, - 0x22de0b77, - 0x22de8b78, - 0x2ef8b7a, - 0x22efcbbe, - 0x2f04bbf, - 0x2f08bc1, - 0x22f0cbc2, - 0x22f10bc3, - 0x22f14bc4, - 0x2f18bc5, - 0x2f64bc6, - 0x2f68bd9, - 0x2f6cbda, - 0x2f88bdb, - 0x2f9cbe2, - 0x2fc4be7, - 0x2fecbf1, - 0x2ff0bfb, - 0x62ff4bfc, - 0x3024bfd, - 0x3028c09, - 0x2302cc0a, - 0x3030c0b, - 0x3058c0c, - 0x305cc16, - 0x3080c17, - 0x3084c20, - 0x309cc21, - 0x30a0c27, - 0x30a4c28, - 0x30c4c29, - 0x30e4c31, - 0x230e8c39, - 0x30ecc3a, - 0x230f0c3b, - 0x30f4c3c, - 0x30f8c3d, - 0x30fcc3e, - 0x3100c3f, - 0x3120c40, - 0x23124c48, - 0x2312cc49, - 0x3130c4b, - 0x3158c4c, - 0x316cc56, - 0x31ecc5b, - 0x31f4c7b, - 0x31f8c7d, - 0x3214c7e, - 0x322cc85, - 0x3230c8b, - 0x3244c8c, - 0x325cc91, - 0x3278c97, - 0x3290c9e, - 0x329cca4, - 0x32b8ca7, - 0x32d0cae, - 0x32d4cb4, - 0x32fccb5, - 0x331ccbf, - 0x3338cc7, - 0x333ccce, - 0x33a0ccf, - 0x33bcce8, - 0x33e4cef, - 0x33e8cf9, - 0x3400cfa, - 0x3444d00, - 0x34c4d11, - 0x3504d31, - 0x3508d41, - 0x350cd42, - 0x3518d43, - 0x3538d46, - 0x3544d4e, - 0x3564d51, - 0x356cd59, - 0x35b0d5b, - 0x3604d6c, - 0x3608d81, - 0x371cd82, - 0x23724dc7, - 0x23728dc9, - 0x2372cdca, - 0x23730dcb, - 0x23734dcc, - 0x23738dcd, - 0x2373cdce, - 0x23740dcf, - 0x3744dd0, - 0x3748dd1, - 0x2374cdd2, - 0x2375cdd3, - 0x23764dd7, - 0x2376cdd9, - 0x23770ddb, - 0x23778ddc, - 0x2377cdde, - 0x23780ddf, - 0x3798de0, - 0x37bcde6, - 0x37dcdef, - 0x3e54df7, - 0x23e58f95, - 0x23e5cf96, - 0x23e60f97, - 0x23e64f98, - 0x3e74f99, - 0x3e94f9d, - 0x4054fa5, - 0x4125015, - 0x4195049, - 0x41ed065, - 0x42d507b, - 0x432d0b5, - 0x43690cb, - 0x44650da, - 0x4531119, - 0x45c914c, - 0x4659172, - 0x46bd196, - 0x48f51af, - 0x49ad23d, - 0x4a7926b, - 0x4ac529e, - 0x4b4d2b1, - 0x4b892d3, - 0x4bd92e2, - 0x4c512f6, - 0x64c55314, - 0x64c59315, - 0x64c5d316, - 0x4cd9317, - 0x4d35336, - 0x4db134d, - 0x4e2936c, - 0x4ea938a, - 0x4f153aa, - 0x50413c5, - 0x5099410, - 0x6509d426, - 0x5135427, - 0x513d44d, - 0x2514144f, - 0x51c9450, - 0x5215472, - 0x527d485, - 0x532549f, - 0x53ed4c9, - 0x54554fb, - 0x5569515, - 0x6556d55a, - 0x6557155b, - 0x55cd55c, - 0x5629573, - 0x56b958a, - 0x57355ae, - 0x57795cd, - 0x585d5de, - 0x5891617, - 0x58f1624, - 0x596563c, - 0x59ed659, - 0x5a2d67b, - 0x5a9d68b, - 0x65aa16a7, - 0x5ac56a8, - 0x5ac96b1, - 0x5af96b2, - 0x5b156be, - 0x5b596c5, - 0x5b696d6, - 0x5b816da, - 0x5bf96e0, - 0x5c016fe, - 0x5c1d700, - 0x5c31707, - 0x5c5170c, - 0x25c55714, - 0x5c7d715, - 0x5c8171f, - 0x5c89720, - 0x5c9d722, - 0x5cb9727, - 0x5cc172e, - 0x5ccd730, - 0x5cd1733, - 0x5d0d734, - 0x5d11743, - 0x5d19744, - 0x5d2d746, - 0x5d5574b, - 0x5d5d755, - 0x5d61757, - 0x5d85758, - 0x5da9761, - 0x5dc176a, - 0x5dc5770, - 0x5dcd771, - 0x5dd5773, - 0x5de9775, - 0x5ea177a, - 0x5ea57a8, - 0x5ead7a9, - 0x5eb17ab, - 0x5ed57ac, - 0x5ef57b5, - 0x5f117bd, - 0x5f217c4, - 0x5f357c8, - 0x5f3d7cd, - 0x5f457cf, - 0x5f497d1, - 0x5f517d2, - 0x5f6d7d4, - 0x5f7d7db, - 0x5f817df, - 0x5f9d7e0, - 0x68257e7, - 0x685da09, - 0x6889a17, - 0x68a1a22, - 0x68c5a28, - 0x68e5a31, - 0x6929a39, - 0x6931a4a, - 0x26935a4c, - 0x26939a4d, - 0x6941a4e, - 0x6b89a50, - 0x26b8dae2, - 0x26b91ae3, - 0x6ba5ae4, - 0x26ba9ae9, - 0x6badaea, - 0x6bb5aeb, - 0x26bc1aed, - 0x26bd1af0, - 0x26bd9af4, - 0x26be5af6, - 0x6be9af9, - 0x26bedafa, - 0x26c05afb, - 0x26c0db01, - 0x26c15b03, - 0x26c19b05, - 0x26c21b06, - 0x26c25b08, - 0x6c29b09, - 0x26c2db0a, - 0x6c31b0b, - 0x26c3db0c, - 0x6c45b0f, - 0x6c59b11, - 0x6c5db16, - 0x6c85b17, - 0x6cc1b21, - 0x6cc5b30, - 0x6cfdb31, - 0x6d1db3f, - 0x7879b47, - 0x787de1e, - 0x7881e1f, - 0x27885e20, - 0x7889e21, - 0x2788de22, - 0x7891e23, - 0x2789de24, - 0x78a1e27, - 0x78a5e28, - 0x278a9e29, - 0x78ade2a, - 0x278b5e2b, - 0x78b9e2d, - 0x78bde2e, - 0x278cde2f, - 0x78d1e33, - 0x78d5e34, - 0x78d9e35, - 0x78dde36, - 0x278e1e37, - 0x78e5e38, - 0x78e9e39, - 0x78ede3a, - 0x78f1e3b, - 0x278f9e3c, - 0x78fde3e, - 0x7901e3f, - 0x7905e40, - 0x27909e41, - 0x790de42, - 0x27915e43, - 0x27919e45, - 0x7935e46, - 0x7945e4d, - 0x7985e51, - 0x7989e61, - 0x79ade62, - 0x79c1e6b, - 0x79c5e70, - 0x79d1e71, - 0x7b99e74, - 0x27b9dee6, - 0x27ba5ee7, - 0x27ba9ee9, - 0x27badeea, - 0x7bb5eeb, - 0x7c91eed, - 0x27c9df24, - 0x27ca1f27, - 0x27ca5f28, - 0x27ca9f29, - 0x7cadf2a, - 0x7cd9f2b, - 0x7cf1f36, - 0x7cf5f3c, - 0x7d15f3d, - 0x7d21f45, - 0x7d41f48, - 0x7d45f50, - 0x7d7df51, - 0x8045f5f, - 0x8102011, - 0x8106040, - 0x810a041, - 0x811e042, - 0x8122047, - 0x8156048, - 0x818e055, - 0x28192063, - 0x81ae064, - 0x81d206b, - 0x81d6074, - 0x81f6075, - 0x821207d, - 0x8236084, - 0x824608d, - 0x824a091, - 0x824e092, - 0x828a093, - 0x82960a2, - 0x82be0a5, - 0x282c20af, - 0x835e0b0, - 0x283620d7, - 0x83660d8, - 0x83760d9, - 0x2837a0dd, - 0x83920de, - 0x83ae0e4, - 0x83ce0eb, - 0x83d20f3, - 0x83e60f4, - 0x83fa0f9, - 0x83fe0fe, - 0x84060ff, - 0x840a101, - 0x842a102, - 0x84e210a, - 0x284e6138, - 0x84ea139, - 0x850a13a, - 0x8536142, - 0x2854614d, - 0x854a151, - 0x8556152, - 0x859a155, - 0x859e166, - 0x85b2167, - 0x85d216c, - 0x85ee174, - 0x85f217b, - 0x85fe17c, - 0x861e17f, - 0x864e187, - 0x865a193, - 0x872a196, - 0x872e1ca, - 0x87421cb, - 0x87461d0, - 0x875e1d1, - 0x87621d7, - 0x876e1d8, - 0x877a1db, - 0x877e1de, - 0x87861df, - 0x878a1e1, - 0x87ae1e2, - 0x87ea1eb, - 0x87ee1fa, - 0x880e1fb, - 0x8846203, - 0x8876211, - 0x2887a21d, - 0x887e21e, - 0x888621f, - 0x88de221, - 0x88e2237, - 0x88e6238, - 0x88ea239, - 0x892e23a, - 0x893e24b, - 0x897a24f, - 0x897e25e, - 0x89ae25f, - 0x8afa26b, - 0x8b1e2be, - 0x8b5e2c7, - 0x8b8e2d7, - 0x28b962e3, - 0x28b9a2e5, - 0x28b9e2e6, - 0x8ba62e7, - 0x8bbe2e9, - 0x8ce22ef, - 0x8cee338, - 0x8cfa33b, - 0x8d0633e, - 0x8d12341, - 0x8d1e344, - 0x8d2a347, - 0x8d3634a, - 0x8d4234d, - 0x8d4e350, - 0x8d5a353, - 0x28d5e356, - 0x8d6a357, - 0x8d7635a, - 0x8d8235d, - 0x8d8a360, - 0x8d96362, - 0x8da2365, - 0x8dae368, - 0x8dba36b, - 0x8dc636e, - 0x8dd2371, - 0x8dde374, - 0x8dea377, - 0x8df637a, - 0x8e0237d, - 0x8e0e380, - 0x8e3a383, - 0x8e4638e, - 0x8e52391, - 0x8e5e394, - 0x8e6a397, - 0x8e7639a, - 0x8e7e39d, - 0x8e8a39f, - 0x8e963a2, - 0x8ea23a5, - 0x8eae3a8, - 0x8eba3ab, - 0x8ec63ae, - 0x8ed23b1, - 0x8ede3b4, - 0x8eea3b7, - 0x8ef63ba, - 0x8f023bd, - 0x8f0a3c0, - 0x8f163c2, - 0x8f1e3c5, - 0x8f2a3c7, - 0x8f363ca, - 0x8f423cd, - 0x8f4e3d0, - 0x8f5a3d3, - 0x8f663d6, - 0x8f723d9, - 0x8f7e3dc, - 0x8f823df, - 0x8f8e3e0, - 0x8fa63e3, - 0x8faa3e9, - 0x8fba3ea, - 0x8fda3ee, - 0x8fde3f6, - 0x902e3f7, - 0x903240b, - 0x904640c, - 0x907a411, - 0x909a41e, - 0x909e426, - 0x90a6427, - 0x90ca429, - 0x90e2432, - 0x90fa438, - 0x911243e, - 0x913a444, - 0x914e44e, - 0x9166453, - 0x916a459, - 0x291b245a, - 0x91b646c, - 0x91e246d, - 0x91f2478, - 0x920647c, -} +// +//go:embed data/children +var children uint32String -// max children 669 (capacity 1023) -// max text offset 32017 (capacity 65535) +// max children 718 (capacity 1023) +// max text offset 32976 (capacity 65535) // max text length 36 (capacity 63) -// max hi 9345 (capacity 16383) -// max lo 9340 (capacity 16383) +// max hi 9656 (capacity 16383) +// max lo 9651 (capacity 16383) diff --git a/vendor/golang.org/x/sys/execabs/execabs_go119.go b/vendor/golang.org/x/sys/execabs/execabs_go119.go @@ -7,9 +7,11 @@ package execabs -import "strings" +import ( + "errors" + "os/exec" +) func isGo119ErrDot(err error) bool { - // TODO: return errors.Is(err, exec.ErrDot) - return strings.Contains(err.Error(), "current directory") + return errors.Is(err, exec.ErrDot) } diff --git a/vendor/golang.org/x/sys/windows/syscall_windows.go b/vendor/golang.org/x/sys/windows/syscall_windows.go @@ -367,6 +367,7 @@ func NewCallbackCDecl(fn interface{}) uintptr { //sys IsWindowUnicode(hwnd HWND) (isUnicode bool) = user32.IsWindowUnicode //sys IsWindowVisible(hwnd HWND) (isVisible bool) = user32.IsWindowVisible //sys GetGUIThreadInfo(thread uint32, info *GUIThreadInfo) (err error) = user32.GetGUIThreadInfo +//sys GetLargePageMinimum() (size uintptr) // Volume Management Functions //sys DefineDosDevice(flags uint32, deviceName *uint16, targetPath *uint16) (err error) = DefineDosDeviceW diff --git a/vendor/golang.org/x/sys/windows/zsyscall_windows.go b/vendor/golang.org/x/sys/windows/zsyscall_windows.go @@ -252,6 +252,7 @@ var ( procGetFileType = modkernel32.NewProc("GetFileType") procGetFinalPathNameByHandleW = modkernel32.NewProc("GetFinalPathNameByHandleW") procGetFullPathNameW = modkernel32.NewProc("GetFullPathNameW") + procGetLargePageMinimum = modkernel32.NewProc("GetLargePageMinimum") procGetLastError = modkernel32.NewProc("GetLastError") procGetLogicalDriveStringsW = modkernel32.NewProc("GetLogicalDriveStringsW") procGetLogicalDrives = modkernel32.NewProc("GetLogicalDrives") @@ -2180,6 +2181,12 @@ func GetFullPathName(path *uint16, buflen uint32, buf *uint16, fname **uint16) ( return } +func GetLargePageMinimum() (size uintptr) { + r0, _, _ := syscall.Syscall(procGetLargePageMinimum.Addr(), 0, 0, 0, 0) + size = uintptr(r0) + return +} + func GetLastError() (lasterr error) { r0, _, _ := syscall.Syscall(procGetLastError.Addr(), 0, 0, 0, 0) if r0 != 0 { diff --git a/vendor/modules.txt b/vendor/modules.txt @@ -134,7 +134,7 @@ github.com/gin-contrib/sessions/memstore # github.com/gin-contrib/sse v0.1.0 ## explicit; go 1.12 github.com/gin-contrib/sse -# github.com/gin-gonic/gin v1.8.1 +# github.com/gin-gonic/gin v1.8.2 ## explicit; go 1.18 github.com/gin-gonic/gin github.com/gin-gonic/gin/binding @@ -323,12 +323,13 @@ github.com/oklog/ulid # github.com/pelletier/go-toml v1.9.5 ## explicit; go 1.12 github.com/pelletier/go-toml -# github.com/pelletier/go-toml/v2 v2.0.5 +# github.com/pelletier/go-toml/v2 v2.0.6 ## explicit; go 1.16 github.com/pelletier/go-toml/v2 -github.com/pelletier/go-toml/v2/internal/ast +github.com/pelletier/go-toml/v2/internal/characters github.com/pelletier/go-toml/v2/internal/danger github.com/pelletier/go-toml/v2/internal/tracker +github.com/pelletier/go-toml/v2/unstable # github.com/pkg/errors v0.9.1 ## explicit github.com/pkg/errors @@ -686,7 +687,7 @@ golang.org/x/image/webp # golang.org/x/mod v0.6.0-dev.0.20220907135952-02c991387e35 ## explicit; go 1.17 golang.org/x/mod/semver -# golang.org/x/net v0.0.0-20221014081412-f15817d10f9b +# golang.org/x/net v0.4.0 ## explicit; go 1.17 golang.org/x/net/bpf golang.org/x/net/context @@ -707,7 +708,7 @@ golang.org/x/net/publicsuffix ## explicit; go 1.17 golang.org/x/oauth2 golang.org/x/oauth2/internal -# golang.org/x/sys v0.2.0 +# golang.org/x/sys v0.3.0 ## explicit; go 1.17 golang.org/x/sys/cpu golang.org/x/sys/execabs